diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 248b5dea178a45a071c45095ee9eba7b8e589db9..97887c90552b40c034f463eff250248365499ae2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,35085 +1,5 @@ -2022-12-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - Iain Sandoe <iain@sandoe.co.uk> - - PR modula2/107612 - * Makefile.in: Make the configured libintl includes avaiable in INCINTL. - (BUILD_CPPFLAGS): Use INCINTL. - -2022-12-30 Alexandre Oliva <oliva@adacore.com> - - * hash-table.h (check_complete_insertion, check_insert_slot): - New hash_table methods. - (m_inserting_slot): New hash_table field. - (begin, hash_table ctors, ~hash_table): Check previous insert. - (expand, empty_slow, clear_slot, find_with_hash): Likewise. - (remote_elt_with_hash, traverse_noresize): Likewise. - (gt_pch_nx): Likewise. - (find_slot_with_hash): Likewise. Record requested insert. - -2022-12-30 Stam Markianos-Wright <stam.markianos-wright@arm.com> - - PR target/107714 - * config/arm/arm-protos.h (mve_struct_mem_operand): New protoype. - * config/arm/arm.cc (mve_struct_mem_operand): New function. - * config/arm/constraints.md (Ug): New constraint. - * config/arm/mve.md (mve_vst4q<mode>): Change constraint. - (mve_vst2q<mode>): Likewise. - (mve_vld4q<mode>): Likewise. - (mve_vld2q<mode>): Likewise. - * config/arm/predicates.md (mve_struct_operand): New predicate. - -2022-12-29 Alexandre Oliva <oliva@adacore.com> - - * hash-map.h (put, get_or_insert): Check that added entry - doesn't look deleted either. - * hash-set.h (add): Likewise. - -2022-12-29 Alexandre Oliva <oliva@adacore.com> - - * tree-parloops.cc (take_address_of): Skip INSERT if !gsi. - -2022-12-29 Alexandre Oliva <oliva@adacore.com> - - * hash-map.h (put, get_or_insert): Check that entry does not - look empty after insertion. - -2022-12-29 Alexandre Oliva <oliva@adacore.com> - - * hash-set.h (add): Check that the inserted entry does not - look empty. - -2022-12-29 Alexandre Oliva <oliva@adacore.com> - - * trans-mem.cc (split_bb_make_tm_edge): Record new node in - tm_restart. - -2022-12-29 Alexandre Oliva <oliva@adacore.com> - - * postreload-gcse.cc (lookup_expr_in_table): Use NO_INSERT. - -2022-12-29 Alexandre Oliva <oliva@adacore.com> - - * tree-inline.cc (declare_return_variable): Don't remap NULL - default def of result. - -2022-12-29 Alexandre Oliva <oliva@adacore.com> - - * tree-ssa-loop-niter.cc (expand_simple_operands): Refrain - from caching NULL TREE_OPERANDs. - -2022-12-29 Alexandre Oliva <oliva@adacore.com> - - * tree-inline.cc (insert_decl_map): Skip mapping a NULL decl - as value to itself. - -2022-12-29 Alexandre Oliva <oliva@adacore.com> - - * varpool.cc (symbol_table::remove_unreferenced_decls): Do not - add NULL vnodes to referenced table. - -2022-12-29 Alexandre Oliva <oliva@adacore.com> - - * tree-ssa-scopedtables.cc - (avail_exprs_stack::lookup_avail_expr): Finish hash table - insertion before further lookups. - -2022-12-29 Max Filippov <jcmvbkbc@gmail.com> - - * config/xtensa/xtensa.cc (xtensa_return_in_memory): Use - GP_RETURN_* instead of magic constant. - -2022-12-29 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_expand_prologue): Fix to check - DF availability before use of DF_* macros. - -2022-12-28 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.md (*clzsi2_lzcnt_zext_2): define_insn_and_split - to match ZERO_EXTEND form of *clzsi2_lzcnt_zext. - (*clzsi2_lzcnt_zext_2_falsedep): Likewise, new define_insn to match - ZERO_EXTEND form of *clzsi2_lzcnt_zext_falsedep. - (*bmi2_bzhi_zero_extendsidi_5): Likewise, new define_insn to match - ZERO_EXTEND form of *bmi2_bzhi_zero_extendsidi. - (*popcountsi2_zext_2): Likewise, new define_insn_and_split to match - ZERO_EXTEND form of *popcountsi2_zext. - (*popcountsi2_zext_2_falsedep): Likewise, new define_insn to match - ZERO_EXTEND form of *popcountsi2_zext_falsedep. - (*popcounthi2_2): Likewise, new define_insn_and_split to match - ZERO_EXTEND form of *popcounthi2. - (define_peephole2): ZERO_EXTEND variant of HImode popcount&1 using - parity flag peephole2. - -2022-12-28 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-expand.cc (ix86_split_ashl): Call - ix86_expand_clear to generate an xor instruction. - -2022-12-28 Martin Liska <mliska@suse.cz> - - PR tree-optimization/108137 - * tree-ssa-strlen.cc (get_range_strlen_phi): Reject anything - different from INTEGER_CST. - -2022-12-28 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/riscv-vsetvl.h (vl_vtype_info::get_avl_info): - Return const reference rather than value. - -2022-12-27 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.md: Add missing modes to last patch.t - -2022-12-27 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - PR target/95632 - PR target/106602 - * config/riscv/riscv.md: New pattern to simulate complex - const_int loads. - -2022-12-27 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv.cc (riscv_next_saved_reg): New function. - (riscv_is_eh_return_data_register): New function. - (riscv_for_each_saved_reg): Restructure loop. - -2022-12-27 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv.md: Sync comments with code. - -2022-12-27 jinma <jinma@linux.alibaba.com> - - * common/config/riscv/riscv-common.cc: - -2022-12-27 Jonathan Yong <10walls@gmail.com> - - * configure.ac: use grep -i for case insensitive test. - * configure: Regenerate. - -2022-12-27 Max Filippov <jcmvbkbc@gmail.com> - - * config/xtensa/xtensa.md (unspec): Extract UNSPEC_* constants - into this enum. - (unspecv): Extract UNSPECV_* constants into this enum. - -2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (set_frame_ptr): Fix to reflect - TARGET_DENSITY. - -2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.h (GP_RETURN, GP_RETURN_REG_COUNT): - Change to GP_RETURN_FIRST and GP_RETURN_LAST, respectively. - * config/xtensa/xtensa.cc (xtensa_function_value, - xtensa_libcall_value, xtensa_function_value_regno_p): Ditto. - -2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_expand_prologue): Modify to - exit the inspection loops as soon as the necessity of stack - pointer is found. - -2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/elf.h: Tabify, and trim trailing spaces. - * config/xtensa/linux.h: Likewise. - * config/xtensa/uclinux.h: Likewise. - * config/xtensa/xtensa-dynconfig.c: Likewise. - * config/xtensa/xtensa.cc: Likewise. - * config/xtensa/xtensa.h: Likewise. - * config/xtensa/xtensa.md: Likewise. - -2022-12-27 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vsetvl.cc - (pass_vsetvl::compute_global_backward_infos): Change to visit CFG. - (pass_vsetvl::prune_expressions): Ditto. - -2022-12-27 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vsetvl.cc (change_insn): Remove pp_print. - (avl_info::avl_info): Add copy function. - (vector_insn_info::dump): Remove pp_print. - * config/riscv/riscv-vsetvl.h: Add copy function. - -2022-12-27 Kewen Lin <linkw@linux.ibm.com> - - PR target/106680 - * common/config/rs6000/rs6000-common.cc (rs6000_handle_option): Remove - the adjustment for option powerpc64 in -m64 handling, and remove the - whole -m32 handling. - * config/rs6000/rs6000.cc (rs6000_option_override_internal): When no - explicit powerpc64 option is provided, enable it for -m64. For 32 bit - and OS_MISSING_POWERPC64, disable powerpc64 if it's enabled but not - specified explicitly. - -2022-12-26 liuhongt <hongtao.liu@intel.com> - - PR target/55522 - PR target/36821 - * config/i386/gnu-user-common.h (GNU_USER_TARGET_MATHFILE_SPEC): - Link crtfastmath.o whenever -mdaz-ftz is specified. Don't link - crtfastmath.o when -share or -mno-daz-ftz is specified. - * config/i386/i386.opt (mdaz-ftz): New option. - * doc/invoke.texi (x86 options): Document mftz-daz. - -2022-12-25 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/i386-builtin.def (__builtin_ia32_movss): Update - CODE_FOR_sse_movss to CODE_FOR_sse_movss_v4sf. - (__builtin_ia32_movsd): Likewise, update CODE_FOR_sse2_movsd to - CODE_FOR_sse2_movsd_v2df. - * config/i386/i386-expand.cc (split_convert_uns_si_sse): Update - gen_sse_movss call to gen_sse_movss_v4sf, and gen_sse2_movsd call - to gen_sse2_movsd_v2df. - (expand_vec_perm_movs): Also allow V4SImode with TARGET_SSE and - V2DImode with TARGET_SSE2. - * config/i386/sse.md - (avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>): Update - gen_sse_movss call to gen_sse_movss_v4sf. - (avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>): Likewise. - (sse_movss_<mode>): Renamed from sse_movss using VI4F_128 mode - iterator to handle both V4SF and V4SI. - (sse2_movsd_<mode>): Likewise, renamed from sse2_movsd using - VI8F_128 mode iterator to handle both V2DF and V2DI. - -2022-12-23 Jakub Jelinek <jakub@redhat.com> - Aldy Hernandez <aldyh@redhat.com> - - * tree-ssa-phiopt.cc (value_replacement): Instead of resetting - phires range info, union it with carg. - -2022-12-23 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/108068 - * tree.h (real_maybe_zerop): Declare. - * tree.cc (real_maybe_zerop): Define. - * tree-ssa-dom.cc (record_edge_info): Use it instead of - real_zerop or TREE_CODE (op1) == SSA_NAME || real_zerop. Always set - can_infer_simple_equiv to false for decimal floating point types. - -2022-12-23 Roger Sayle <roger@nextmovesoftware.com> - - PR target/107548 - * config/i386/i386-features.cc (scalar_chain::add_insn): The - operands of a VEC_SELECT don't need to added to the scalar chain. - (general_scalar_chain::compute_convert_gain) <case VEC_SELECT>: - Provide gains for performing STV on a VEC_SELECT. - (general_scalar_chain::convert_insn): Convert VEC_SELECT to pshufd, - psrldq or no-op. - (general_scalar_to_vector_candidate_p): Handle VEC_SELECT of a - single element from a vector register to a scalar register. - -2022-12-23 H.J. Lu <hjl.tools@gmail.com> - Roger Sayle <roger@nextmovesoftware.com> - - PR target/106933 - PR target/106959 - * config/i386/i386-features.cc (single_def_chain_p): New predicate - function to check that a pseudo's use-def chain is in SSA form. - (timode_scalar_to_vector_candidate_p): Check that TImode regs that - are SET_DEST or SET_SRC of an insn match/are single_def_chain_p. - -2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/vector.md: Fix contraints. - -2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-protos.h (get_avl_type_rtx): New function. - * config/riscv/riscv-v.cc (get_avl_type_rtx): Ditto. - * config/riscv/riscv-vector-builtins-bases.cc (class loadstore): New - class. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vle): Ditto. - (vse): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (build_one): Ditto. - (struct loadstore_def): Ditto. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_U_OPS): New - macro. - (DEF_RVV_F_OPS): Ditto. - (vuint8mf8_t): Add corresponding mask type. - (vuint8mf4_t): Ditto. - (vuint8mf2_t): Ditto. - (vuint8m1_t): Ditto. - (vuint8m2_t): Ditto. - (vuint8m4_t): Ditto. - (vuint8m8_t): Ditto. - (vuint16mf4_t): Ditto. - (vuint16mf2_t): Ditto. - (vuint16m1_t): Ditto. - (vuint16m2_t): Ditto. - (vuint16m4_t): Ditto. - (vuint16m8_t): Ditto. - (vuint32mf2_t): Ditto. - (vuint32m1_t): Ditto. - (vuint32m2_t): Ditto. - (vuint32m4_t): Ditto. - (vuint32m8_t): Ditto. - (vuint64m1_t): Ditto. - (vuint64m2_t): Ditto. - (vuint64m4_t): Ditto. - (vuint64m8_t): Ditto. - (vfloat32mf2_t): Ditto. - (vfloat32m1_t): Ditto. - (vfloat32m2_t): Ditto. - (vfloat32m4_t): Ditto. - (vfloat32m8_t): Ditto. - (vfloat64m1_t): Ditto. - (vfloat64m2_t): Ditto. - (vfloat64m4_t): Ditto. - (vfloat64m8_t): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Adjust for new - macro. - (DEF_RVV_I_OPS): Ditto. - (DEF_RVV_U_OPS): New macro. - (DEF_RVV_F_OPS): New macro. - (use_real_mask_p): New function. - (use_real_merge_p): Ditto. - (get_tail_policy_for_pred): Ditto. - (get_mask_policy_for_pred): Ditto. - (function_builder::apply_predication): Ditto. - (function_builder::append_base_name): Ditto. - (function_builder::append_sew): Ditto. - (function_expander::add_vundef_operand): Ditto. - (function_expander::add_mem_operand): Ditto. - (function_expander::use_contiguous_load_insn): Ditto. - (function_expander::use_contiguous_store_insn): Ditto. - * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Adjust for - adding mask type. - (vbool64_t): Ditto. - (vbool32_t): Ditto. - (vbool16_t): Ditto. - (vbool8_t): Ditto. - (vbool4_t): Ditto. - (vbool2_t): Ditto. - (vbool1_t): Ditto. - (vint8mf8_t): Ditto. - (vint8mf4_t): Ditto. - (vint8mf2_t): Ditto. - (vint8m1_t): Ditto. - (vint8m2_t): Ditto. - (vint8m4_t): Ditto. - (vint8m8_t): Ditto. - (vint16mf4_t): Ditto. - (vint16mf2_t): Ditto. - (vint16m1_t): Ditto. - (vint16m2_t): Ditto. - (vint16m4_t): Ditto. - (vint16m8_t): Ditto. - (vint32mf2_t): Ditto. - (vint32m1_t): Ditto. - (vint32m2_t): Ditto. - (vint32m4_t): Ditto. - (vint32m8_t): Ditto. - (vint64m1_t): Ditto. - (vint64m2_t): Ditto. - (vint64m4_t): Ditto. - (vint64m8_t): Ditto. - (vfloat32mf2_t): Ditto. - (vfloat32m1_t): Ditto. - (vfloat32m2_t): Ditto. - (vfloat32m4_t): Ditto. - (vfloat32m8_t): Ditto. - (vfloat64m1_t): Ditto. - (vfloat64m4_t): Ditto. - * config/riscv/riscv-vector-builtins.h - (function_expander::add_output_operand): New function. - (function_expander::add_all_one_mask_operand): Ditto. - (function_expander::add_fixed_operand): Ditto. - (function_expander::vector_mode): Ditto. - (function_base::apply_vl_p): Ditto. - (function_base::can_be_overloaded_p): Ditto. - * config/riscv/riscv-vsetvl.cc (get_vl): Remove restrict of supporting - AVL is not VLMAX. - * config/riscv/t-riscv: Add include file. - -2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-builtins-shapes.cc (struct vsetvl_def): Add - "__riscv_" prefix. - -2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-builtins-bases.cc: Change it to no side effects. - * config/riscv/vector.md (@vsetvl<mode>_no_side_effects): New pattern. - -2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-builtins-bases.cc: Remove side effects. - -2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vsetvl.cc (anticipatable_occurrence_p): Fix - incorrect annotations. - (available_occurrence_p): Ditto. - (backward_propagate_worthwhile_p): Ditto. - (can_backward_propagate_p): Ditto. - -2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vsetvl.cc (vlmax_avl_insn_p): Fix multi-line - conditional. - (vsetvl_insn_p): Ditto. - (same_bb_and_before_p): Ditto. - (same_bb_and_after_or_equal_p): Ditto. - -2022-12-22 Andrew Carlotti <andrew.carlotti@arm.com> - - * doc/md.texi: Move example code remark next to it's code block. - -2022-12-22 Andrew Carlotti <andrew.carlotti@arm.com> - - * doc/md.texi: Fix inconsistent example name. - -2022-12-22 Andrew Carlotti <andrew.carlotti@arm.com> - - * doc/md.texi: Fix incorrect pxref. - -2022-12-22 Richard Biener <rguenther@suse.de> - - PR bootstrap/106482 - * doc/install.texi (ISO C++11 Compiler): Document GCC version - known to work. - -2022-12-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/108166 - * tree-ssa-phiopt.cc (value_replacement): For the maybe_equal_p - case turned into equal_p reset SSA_NAME_RANGE_INFO of phi result. - -2022-12-22 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/108193 - * cse.cc (compute_const_anchors): Change n type to - unsigned HOST_WIDE_INT, adjust comparison against it to avoid - warnings. Formatting fix. - (insert_const_anchor): Use gen_int_mode instead of GEN_INT. - -2022-12-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107451 - * tree-vect-stmts.cc (vectorizable_load): Avoid loading - SLP group members from group numbers in excess of the - vectorization factor. - -2022-12-22 Jakub Jelinek <jakub@redhat.com> - - * config/aarch64/t-aarch64 (TM_H): Don't add aarch64-cores.def, - add aarch64-fusion-pairs.def, aarch64-tuning-flags.def and - aarch64-option-extensions.def. - (OPTIONS_H_EXTRA): Don't add aarch64-fusion-pairs.def nor - aarch64-tuning-flags.def. - -2022-12-22 Jan Hubicka <hubicka@ucw.cz> - - * config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Add - TARGET_AVX512_SPLIT_REGS - * config/i386/i386-options.cc (ix86_option_override_internal): - Honor x86_TONE_AVOID_256FMA_CHAINS. - * config/i386/i386.cc (ix86_vec_cost): Honor TARGET_AVX512_SPLIT_REGS. - (ix86_reassociation_width): Likewise. - * config/i386/i386.h (TARGET_AVX512_SPLIT_REGS): New tune. - * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable - for znver4. - (X86_TUNE_USE_GATHER_4PARTS): Likewise. - (X86_TUNE_AVOID_256FMA_CHAINS): Set for znver4. - (X86_TUNE_AVOID_512FMA_CHAINS): New utne; set for znver4. - (X86_TUNE_AVX256_OPTIMAL): Add znver4. - (X86_TUNE_AVX512_SPLIT_REGS): New tune. - (X86_TUNE_AVX256_MOVE_BY_PIECES): Add znver1-3. - (X86_TUNE_AVX256_STORE_BY_PIECES): Add znver1-3. - (X86_TUNE_AVX512_MOVE_BY_PIECES): Add znver4. - (X86_TUNE_AVX512_STORE_BY_PIECES): Add znver4. - -2022-12-22 Jan Hubicka <hubicka@ucw.cz> - - * config/i386/x86-tune-costs.h (znver4_cost): Upate costs of FP and SSE - moves, division multiplication, gathers, L2 cache size, and more - complex FP instrutions. - -2022-12-21 Andrew Pinski <apinski@marvell.com> - - PR tree-optimization/105532 - * match.pd (~(X >> Y) -> ~X >> Y): Check if it is an integral - type before calling tree_nonzero_bits. - (popcount(X) + popcount(Y)): Likewise. - (popcount(X&C1)): Likewise. - -2022-12-21 Chung-Lin Tang <cltang@codesourcery.com> - - * config/nvptx/nvptx.cc (nvptx_print_operand): Add 'p' case, adjust - comments. - (enum nvptx_builtins): Add NVPTX_BUILTIN_BAR_RED_AND, - NVPTX_BUILTIN_BAR_RED_OR, and NVPTX_BUILTIN_BAR_RED_POPC. - (nvptx_expand_bar_red): New function. - (nvptx_init_builtins): - Add DEFs of __builtin_nvptx_bar_red_[and/or/popc]. - (nvptx_expand_builtin): Use nvptx_expand_bar_red to expand - NVPTX_BUILTIN_BAR_RED_[AND/OR/POPC] cases. - * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add - UNSPECV_BARRED_AND, UNSPECV_BARRED_OR, and UNSPECV_BARRED_POPC. - (BARRED): New int iterator. - (barred_op,barred_mode,barred_ptxtype): New int attrs. - (nvptx_barred_<barred_op>): New define_insn. - -2022-12-21 Richard Biener <rguenther@suse.de> - - PR middle-end/107994 - * gimplify.cc (gimplify_expr): Catch errorneous comparison - operand. - -2022-12-21 Jan Hubicka <hubicka@ucw.cz> - - * lto-opts.cc (lto_write_options): Also skip -fwhole-program. - -2022-12-21 Jan Hubicka <jh@suse.cz> - - * lto-cgraph.cc (lto_output_node): When doing WPA in incremental link - pass down resolution info. - -2022-12-21 Jan Hubicka <hubicka@ucw.cz> - - * doc/invoke.texi: Fix documentation of -fwhole-program with LTO - and document behaviour for incremental linking. - -2022-12-21 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Fix the - location for OPTION_MASK_P10_FUSION flag setting. - -2022-12-21 Kewen Lin <linkw@linux.ibm.com> - - * fold-const.cc (fold_convert_const_real_from_real): Treat floating - point conversion to a type with same mode as copy instead of normal - convertFormat. - -2022-12-21 Kewen Lin <linkw@linux.ibm.com> - - PR target/106736 - * config/rs6000/mma.md (define_expand movoo): Call function - rs6000_opaque_type_invalid_use_p to check and emit error message for - the invalid use of opaque type. - (define_expand movxo): Likewise. - * config/rs6000/rs6000-protos.h - (rs6000_opaque_type_invalid_use_p): New function declaration. - (currently_expanding_gimple_stmt): New extern declaration. - * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): New - function. - -2022-12-21 Jason Merrill <jason@redhat.com> - - * fold-const.cc (fold_convert_loc): Check return value of - protected_set_expr_location_unshare. - -2022-12-21 Jason Merrill <jason@redhat.com> - - PR c++/84471 - PR c++/107504 - * fold-const.cc (protected_set_expr_location_unshare): Not static. - * tree.h: Declare it. - * tree.cc (decl_value_expr_insert): Use it. - -2022-12-20 Patrick Palka <ppalka@redhat.com> - - PR c++/101886 - * tree.cc (walk_tree_1) <case TREE_VEC>: Walk the elements - in forward instead of reverse order. - <case VECTOR_CST>: Likewise. - -2022-12-20 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/108139 - * gimple-range-cache.cc (ranger_cache::fill_block_cache): Do not - use equivalences originating from PHIS. - -2022-12-20 Richard Biener <rguenther@suse.de> - - PR d/104749 - * doc/install.texi (GDC): Document GDC 9.4 or later is required - to build the D language frontend. - -2022-12-20 Jiufu Guo <guojiufu@linux.ibm.com> - - PR target/103743 - * config/rs6000/rs6000-protos.h (can_be_rotated_to_lowbits): New. - (can_be_rotated_to_positive_16bits): New. - (can_be_rotated_to_negative_15bits): New. - * config/rs6000/rs6000.cc (can_be_rotated_to_lowbits): New definition. - (can_be_rotated_to_positive_16bits): New definition. - (can_be_rotated_to_negative_15bits): New definition. - * config/rs6000/rs6000.md (*rotate_on_cmpdi): New define_insn_and_split. - (eqne): Move earlier. - -2022-12-19 Jason Merrill <jason@redhat.com> - - * sort.cc: Disable -Wconditionally-supported in - CHECKING_P code. - -2022-12-19 Jason Merrill <jason@redhat.com> - - PR c++/64867 - * configure.ac (strict_warn): Add -Wconditionally-supported. - * configure: Regenerate. - -2022-12-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/108164 - * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer): - Perform vect_step_op_add update in the appropriate type. - -2022-12-19 Richard Earnshaw <rearnsha@arm.com> - - * config/arm/arm-c.cc (__ARM_FEATURE_CLZ): Fix definition of - preprocessor macro when target has CLZ in another ISA. - -2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/vector.md: Remove vste. - -2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config.gcc: Add riscv-vsetvl.o. - * config/riscv/riscv-passes.def (INSERT_PASS_BEFORE): Add VSETVL PASS - location. - * config/riscv/riscv-protos.h (make_pass_vsetvl): New function. - (enum avl_type): New enum. - (get_ta): New function. - (get_ma): Ditto. - (get_avl_type): Ditto. - (calculate_ratio): Ditto. - (enum tail_policy): New enum. - (enum mask_policy): Ditto. - * config/riscv/riscv-v.cc (calculate_ratio): New function. - (emit_pred_op): change the VLMAX mov codgen. - (get_ta): New function. - (get_ma): Ditto. - (enum tail_policy): Change enum. - (get_prefer_tail_policy): New function. - (enum mask_policy): Change enum. - (get_prefer_mask_policy): New function. - * config/riscv/t-riscv: Add riscv-vsetvl.o - * config/riscv/vector.md: Adjust attribute and pattern for VSETVL - PASS. - (@vlmax_avl<mode>): Ditto. - (@vsetvl<mode>_no_side_effects): Delete. - (vsetvl_vtype_change_only): New MD pattern. - (@vsetvl_discard_result<mode>): Ditto. - * config/riscv/riscv-vsetvl.cc: New file. - * config/riscv/riscv-vsetvl.h: New file. - -2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-switch.def (ENTRY): Correct attributes. - -2022-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - PR target/108140 - * config/aarch64/aarch64-builtins.cc - (aarch64_expand_builtin_data_intrinsic): Handle NULL target. - -2022-12-19 Jakub Jelinek <jakub@redhat.com> - - * config/gnu-user.h (LIBHWASAN_EARLY_SPEC): Add libhwasan_preinit.o - to link spec if not -shared. - -2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-v.cc (emit_vlmax_vsetvl): Pass through VLMUL enum - instead of machine mode. - * config/riscv/riscv-vector-builtins-bases.cc: Ditto. - * config/riscv/riscv.cc (riscv_print_operand): Print LMUL by enum vlmul - instead of machine mode. - -2022-12-19 Jiufu Guo <guojiufu@linux.ibm.com> - - PR target/106708 - * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Add using - "li; x?oris" to build constant. - -2022-12-19 liuhongt <hongtao.liu@intel.com> - - PR target/55522 - * config/i386/gnu-user-common.h (GNU_USER_TARGET_MATHFILE_SPEC): - Don't add crtfastmath.o for -shared. - * doc/invoke.texi (-shared): Add related documentation. - -2022-12-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * config.gcc: Determine Solaris minor version. - Obsolete *-*-solaris2.11.[0-3]*. - * doc/install.texi (Specific, *-*-solaris2*): Document it. - -2022-12-17 Segher Boessenkool <segher@kernel.crashing.org> - - * config/rs6000/rs6000-logue.cc (rs6000_output_function_epilogue): - Handle GNU Rust for the tbtab lang field. - -2022-12-16 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.cc (pa_option_override): Disable -fstack-protector. - -2022-12-16 Vladimir N. Makarov <vmakarov@redhat.com> - - Revert: - 2022-12-15 Vladimir N. Makarov <vmakarov@redhat.com> - - * ira-costs.cc: Include print-rtl.h. - (record_reg_classes, scan_one_insn): Add code to print debug info. - * ira.cc (ira_init_register_move_cost): Check that at least one hard - reg of the mode are in the class contents to calculate the - register move costs. - -2022-12-16 Qing Zhao <qing.zhao@oracle.com> - - * doc/invoke.texi: Document -Wstrict-flex-arrays option. - * gimple-array-bounds.cc (check_out_of_bounds_and_warn): Add two more - arguments. - (array_bounds_checker::check_array_ref): Issue warnings for - -Wstrict-flex-arrays. - * opts.cc (finish_options): Issue warning for unsupported combination - of -Wstrict_flex_arrays and -fstrict-flex-array. - * tree-vrp.cc (execute_ranger_vrp): Enable the pass when - warn_strict_flex_array is true. - -2022-12-16 Palmer Dabbelt <palmer@rivosinc.com> - - * config/riscv/riscv.cc (riscv_option_override): Fix comment - wording. - -2022-12-16 Palmer Dabbelt <palmer@rivosinc.com> - - * doc/extend.texi (__builtin_riscv_pause): Imply - Xgnuzihintpausestate. - -2022-12-16 Richard Biener <rguenther@suse.de> - - PR middle-end/108086 - * tree-inline.cc (remap_ssa_name): Do not unshare the - result from the decl_map. - -2022-12-16 Richard Biener <rguenther@suse.de> - - PR middle-end/108086 - * tree-inline.cc (copy_bb): Remove handling of (foo *)&this->m - substitution which is done in remap_gimple_op_r via - re-gimplifying. - -2022-12-16 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/106751 - * loop-invariant.cc (move_invariant_reg): If preheader bb ends - with a JUMP_INSN, split the preheader edge and emit invariants - into the new preheader basic block. - -2022-12-16 Richard Biener <rguenther@suse.de> - - PR middle-end/108086 - * tree-inline.cc (remap_gimple_stmt): Add stmts to the - sequence without updating them. Simplify x == x detection. - -2022-12-16 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/cmpccxaddintrin.h - (__cmpccxadd_epi32): Rename to _cmpccxadd_epi32. - (__cmpccxadd_epi64): Rename to _cmpccxadd_epi64. - -2022-12-15 Vladimir N. Makarov <vmakarov@redhat.com> - - * ira-costs.cc: Include print-rtl.h. - (record_reg_classes, scan_one_insn): Add code to print debug info. - * ira.cc (ira_init_register_move_cost): Check that at least one hard - reg of the mode are in the class contents to calculate the - register move costs. - -2022-12-15 Siddhesh Poyarekar <siddhesh@gotplt.org> - - * doc/extend.texi (__builtin_dynamic_object_size): Document - builtin. - * doc/passes.texi - (Optimize calls to @code{__builtin_object_size}): Also mention - __builtin_dynamic_object_size. - -2022-12-15 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR middle-end/70090 - * doc/invoke.texi (-fsanitize=object-size): Use - __builtin_dynamic_object_size instead of - __builtin_object_size. - -2022-12-15 Richard Biener <rguenther@suse.de> - - PR middle-end/108086 - * tree-inline.cc (copy_edges_for_bb): Walk stmts backwards for - splitting the block to avoid quadratic behavior with setting - stmts BB on multliple splits. - -2022-12-15 Spacetown <michael.foerderer@gmx.de> - - PR gcov-profile/107537 - * gcov.cc (output_branch_count): Add annotation '(fallthrough)' - or '(throw)' also to uncovered branches. - -2022-12-15 Richard Biener <rguenther@suse.de> - - PR middle-end/108086 - * tree-inline.cc (copy_edges_for_bb): Do not update all - stmts again. - -2022-12-15 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/108095 - * tree-into-ssa.cc (maybe_register_def): Insert debug stmt - on all non-EH edges from asm goto if they have a single - predecessor rather than asserting there is at most one such edge. - Test whether there are no PHI nodes next to the single predecessor - test. - -2022-12-14 David Faust <david.faust@oracle.com> - - PR target/106773 - * btfout.cc (get_section_name): New function. - (btf_collect_datasec): Use it here. Process functions, marking them - 'extern' and generating DATASEC entries for them as appropriate. Move - creation of BTF_KIND_FUNC records to here... - (btf_dtd_emit_preprocess_cb): ... from here. - -2022-12-14 David Faust <david.faust@oracle.com> - - PR target/106773 - * btfout.cc (btf_collect_datasec): Correct size of void entries. - (btf_dvd_emit_preprocess_cb): Do not skip emitting variables which - refer to void types. - (btf_init_postprocess): Create 'const void' type record if needed and - adjust variables to refer to it as appropriate. - -2022-12-14 David Faust <david.faust@oracle.com> - - PR target/106773 - * btfout.cc (btf_collect_datasec): Mark extern variables as such. - (btf_dvd_emit_preprocess_cb): Skip non-defining extern variable decl - if there is a defining decl for the same variable. - (btf_asm_varent): Accomodate 'extern' linkage. - -2022-12-14 Martin Jambor <mjambor@suse.cz> - - * ipa-sra.cc (create_parameter_descriptors): Consider the first - parameter of a method safe to dereference. - -2022-12-14 Martin Jambor <mjambor@suse.cz> - - * ipa-sra.cc (loaded_decls): Adjust comment. - (scan_expr_access): Also detect assignments of address of local - variables to a variable. Bail out early on SSA_NAMEs and - constants as an optimization. - -2022-12-14 Gaius Mulley <gaiusmod2@gmail.com> - - * configure.ac (HAVE_PYTHON): Test for Python3 added. - * dwarf2out.cc (gen_compile_unit_die): Check language_string - and language to DW_LANG_Modula2. - * doc/install.texi: Add m2 as a language. - (--disable-libgm2): Documented. Add make check-m2 to testing selected - tests. - * doc/sourcebuild.texi (GM2): New prerequisite item. - (Python3 modules) New item. - (libgm2) Added. - (gcc/m2) Added. - * configure: Rebuilt. - * config.in: Rebuilt. - * doc/gm2.texi: New file. - -2022-12-14 Martin Jambor <mjambor@suse.cz> - - * doc/invoke.texi (ipa-sra-ptrwrap-growth-factor): Fix the - description. - * params.opt (ipa-sra-ptrwrap-growth-factor): Likewise. - -2022-12-14 Tamar Christina <tamar.christina@arm.com> - - PR target/107988 - * config/aarch64/aarch64.cc - (aarch64_vectorize_can_special_div_by_constant): Ensure input and output - RTL are registers. - -2022-12-14 Martin Liska <mliska@suse.cz> - - * doc/invoke.texi: Document ipa-sra-ptrwrap-growth-factor. - -2022-12-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107617 - * tree-ssa-sccvn.cc (vn_walk_cb_data::push_partial_def): - Handle negative pd.rhs_off. - (vn_reference_lookup_3): Properly provide pd.rhs_off - for .LEN_STORE on big-endian targets. - -2022-12-13 Martin Jambor <mjambor@suse.cz> - - * ipa-param-manipulation.cc - (ipa_param_body_adjustments::modify_expression): Bail out early if - there are no replacements. - (ipa_param_body_adjustments::modify_assignment): Likewise. - -2022-12-13 Martin Jambor <mjambor@suse.cz> - - * ipa-sra.cc (isra_param_desc): New fields safe_size, - conditionally_dereferenceable and safe_size_set. - (struct gensum_param_desc): New field conditionally_dereferenceable. - (struct isra_param_flow): Updated comment of field unit_size. - (ipa_sra_function_summaries::duplicate): Copy the new fields. - (isra_call_summary::dump): Dump unit_size when representing safe_size. - (dump_gensum_param_descriptor): Dump new flag. - (dump_isra_param_descriptor): Dump new fields. - (isra_analyze_call): Fill unit_size when it represents known safe - size. - (check_gensum_access): Instead of disqualifying pointers which are not - always dereference, mark them as conditionally dereferencable if loads - are frequent enough. - (process_scan_results): Copy the conditionally_dereferenceable flag. - (isra_write_node_summary): Stream new fields, or assert they are not - initialized yet. - (isra_read_node_info): Stream new fields. - (update_safe_size): New function. - (propagate_param_hints_accross_call): Propagate safe_sizes. - (propagate_hints_to_all_callees): New function. - (adjust_parameter_descriptions): Check conditionally_dereferenceable - candidates, rework dumping. - (ipa_sra_analysis): Move most of hint propagation for one node to - propagate_hints_to_all_callees. Add another loop to stabilize within - SCCs and another one to verify. - -2022-12-13 Martin Jambor <mjambor@suse.cz> - - * ipa-sra.cc (isra_param_desc): New field not_specially_constructed. - (struct isra_param_flow): New field constructed_for_calls. - (isra_call_summary::dump): Dump the new flag. - (loaded_decls): New variable. - (dump_isra_param_descriptor): New parameter hints, dump - not_specially_constructed if it is true. - (dump_isra_param_descriptors): New parameter hints, pass it to - dump_isra_param_descriptor. - (ipa_sra_function_summaries::duplicate): Duplicate new flag. - (create_parameter_descriptors): Adjust comment. - (get_gensum_param_desc): Bail out when decl2desc is NULL. - (scan_expr_access): Add loaded local variables to loaded_decls. - (scan_function): Survive if final_bbs is NULL. - (isra_analyze_call): Compute constructed_for_calls flag. - (process_scan_results): Be optimistic about size limits. Do not dump - computed param hints when dumpint IPA-SRA structures. - (isra_write_edge_summary): Stream constructed_for_calls. - (isra_read_edge_summary): Likewise. - (ipa_sra_dump_all_summaries): New parameter hints, pass it to - dump_isra_param_descriptor. - (flip_all_hints_pessimistic): New function. - (flip_all_param_hints_pessimistic): Likewise. - (propagate_param_hints): Likewise. - (disable_unavailable_parameters): Renamed to - adjust_parameter_descriptions. Expand size limits for parameters - which are specially contstructed by all callers. Check limits again.p - (ipa_sra_analysis): Pass required hints to ipa_sra_dump_all_summaries. - Add hint propagation. - (ipa_sra_summarize_function): Initialize and destory loaded_decls, - rearrange so that scan_function is called even when there are no - candidates. - * params.opt (ipa-sra-ptrwrap-growth-factor): New parameter. - -2022-12-13 Martin Jambor <mjambor@suse.cz> - - * ipa-sra.cc (ipa_sra_analysis): Move top-down analysis before - bottom-up analysis. Replace FOR_EACH_VEC_ELT with C++11 iteration. - -2022-12-13 Martin Jambor <mjambor@suse.cz> - - PR ipa/103585 - * params.opt (ipa-sra-deref-prob-threshold): New parameter. - * doc/invoke.texi (ipa-sra-deref-prob-threshold): Document it. - * ipa-sra.cc (struct gensum_param_access): New field load_count. - (struct gensum_param_desc): New field safe_ref, adjusted comments. - (by_ref_count): Renamed to unsafe_by_ref_count, adjusted all uses. - (dump_gensum_access): Dump the new field. - (dump_gensum_param_descriptor): Likewise. - (create_parameter_descriptors): Set safe_ref field, move setting - by_ref forward. Only increment unsafe_by_ref_count for unsafe - by_ref parameters. - (allocate_access): Initialize new field. - (mark_param_dereference): Adjust indentation. Only add data to - bb_dereferences for unsafe by_ref parameters. - (scan_expr_access): For loads, accumulate BB counts. - (dereference_probable_p): New function. - (check_gensum_access): Fix leading comment, add parameter FUN. - Check cumulative counts of loads for safe by_ref accesses instead - of dereferences. - (process_scan_results): Do not propagate dereference distances for - safe by_ref parameters. Pass fun to check_gensum_access. Safe - by_ref params do not need the postdominance check. - -2022-12-13 Martin Jambor <mjambor@suse.cz> - - * ipa-cp.cc (clone_for_param_removal_p): New function. - (estimate_local_effects): Call it before considering cloning - just to remove unused parameters. - -2022-12-13 Martin Jambor <mjambor@suse.cz> - - PR ipa/103227 - * ipa-param-manipulation.h (class ipa_param_adjustments): Removed - member function get_updated_index_or_split. - (class ipa_param_body_adjustments): New overload of - register_replacement, new member function append_init_stmts, new - member m_split_agg_csts_inits. - * ipa-param-manipulation.cc: Include ipa-prop.h. - (ipa_param_adjustments::get_updated_index_or_split): Removed. - (ipa_param_body_adjustments::register_replacement): New overload, use - it from the older one. - (ipa_param_body_adjustments::common_initialization): Added the - capability to create replacements for conflicting IPA-CP discovered - constants. - (ipa_param_body_adjustments::ipa_param_body_adjustments): Construct - the new member. - (ipa_param_body_adjustments::append_init_stmts): New function. - * ipa-sra.cc: Include ipa-prop.h. - (push_param_adjustments_for_index): Require IPA-CP transformation - summary as a parameter, do not create replacements which are known to - have constant values. - (process_isra_node_results): Find and pass to the above function the - IPA-CP transformation summary. - * ipa-prop.cc (adjust_agg_replacement_values): Remove the - functionality replacing IPA-SRA created scalar parameters with - constants. Simplify, do not require parameter descriptors, do not - return anything. - (ipcp_transform_function): Simplify now that - adjust_agg_replacement_values does not change cfg. Move definition - and initialization of descriptors lower. - * tree-inline.cc (tree_function_versioning): Call append_init_stmts of - param_body_adjs, if there are any. - -2022-12-13 Martin Jambor <mjambor@suse.cz> - - * ipa-prop.cc (useful_ipcp_transformation_info_p): New function. - (write_ipcp_transformation_info): Added a parameter, simplified - given that is known not to be NULL. - (ipcp_write_transformation_summaries): Write out all useful - transformation summaries. - (read_ipcp_transformation_info): Simplify given that some info - will be read. - (read_replacements_section): Remove assert. - * lto-cgraph.cc (add_node_to): Also set encode_body for clones. - * lto-streamer-out.cc (lto_output): Do not output virtual clones. - -2022-12-13 Jakub Jelinek <jakub@redhat.com> - - PR target/108044 - * config/i386/i386.md (*concat<half><mode>3_5, *concat<mode><dwi>3_6, - *concat<mode><dwi>3_7): Split alternative with =ro output constraint - into =r,o,o and use Wd input constraint for the last alternative which - is enabled for TARGET_64BIT. Reject ix86_endbr_immediate_operand - in the input constant. - -2022-12-13 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64.md (tbranch_<code><mode>3): Use gen_int_mode. - -2022-12-13 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/108064 - * tree-vect-patterns.cc (vect_recog_rotate_pattern): Pass uvectype - as 4th argument to append_pattern_def_seq for statements with lhs - with utype type. - -2022-12-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105801 - * tree-ssa-ccp.cc (likely_value): .DEFERRED_INIT produces - UNDEFINED. - * doc/invoke.texi (ftrivial-auto-var-init): Explicitely - mention we treat variables without an initializer as - undefined also for optimization purposes. - -2022-12-13 Tom Tromey <tom@tromey.com> - Mark Wielaard <mark@klomp.org> - Marc Poulhiès <dkm@kataplop.net> - - * dwarf2out.cc (is_rust): New. - (base_type_die): Use DW_ATE_UTF for the Rust 'char' type. - (gen_compile_unit_die): Handle "GNU Rust". - -2022-12-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/108076 - * tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks - with non-local or forced labels that we later remove - labels from. - -2022-12-13 Haochen Gui <guihaoc@gcc.gnu.org> - - * config/rs6000/rs6000.md (cbranchcc4): New expander. - -2022-12-13 Haochen Gui <guihaoc@gcc.gnu.org> - - * optabs.cc (prepare_cmp_insn): Return a NULL rtx other than - assertion failure when targets don't have cbranch optab or - predicate check fails. - -2022-12-12 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64.cc (aarch64_rtx_costs): Add correct costs - for 24-bit and 12-bit shifted immediate add/sub. - (TARGET_CONST_ANCHOR): Define. - * config/aarch64/predicates.md (aarch64_pluslong_immediate): - Fix range check. - -2022-12-12 Tamar Christina <tamar.christina@arm.com> - - * match.pd: Add new rule. - -2022-12-12 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64.cc (aarch64_can_change_mode_class): Restrict - conversions between partial struct types properly. - -2022-12-12 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64.md (*tb<optab><mode>1): Rename to... - (*tb<optab><ALLI:mode><GPI:mode>1): ... this. - (tbranch_<code><mode>4): New. - * config/aarch64/iterators.md(ZEROM, zerom): New. - -2022-12-12 Tamar Christina <tamar.christina@arm.com> - - * dojump.cc (do_jump): Pass along value. - (do_jump_by_parts_greater_rtx): Likewise. - (do_jump_by_parts_zero_rtx): Likewise. - (do_jump_by_parts_equality_rtx): Likewise. - (do_compare_rtx_and_jump): Likewise. - (do_compare_and_jump): Likewise. - * dojump.h (do_compare_rtx_and_jump): New. - * optabs.cc (emit_cmp_and_jump_insn_1): Refactor to take optab to check. - (validate_test_and_branch): New. - (emit_cmp_and_jump_insns): Optiobally take a value, and when value is - supplied then check if it's suitable for tbranch. - * optabs.def (tbranch_eq$a4, tbranch_ne$a4): New. - * doc/md.texi (tbranch_@var{op}@var{mode}4): Document it. - * optabs.h (emit_cmp_and_jump_insns): New. - * tree.h (tree_zero_one_valued_p): New. - -2022-12-12 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-simd.md (*aarch64_simd_movv2hf): New. - (mov<mode>, movmisalign<mode>, aarch64_dup_lane<mode>, - aarch64_store_lane0<mode>, aarch64_simd_vec_set<mode>, - @aarch64_simd_vec_copy_lane<mode>, vec_set<mode>, - reduc_<optab>_scal_<mode>, reduc_<fmaxmin>_scal_<mode>, - aarch64_reduc_<optab>_internal<mode>, aarch64_get_lane<mode>, - vec_init<mode><Vel>, vec_extract<mode><Vel>): Support V2HF. - (aarch64_simd_dupv2hf): New. - * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): - Add E_V2HFmode. - * config/aarch64/iterators.md (VHSDF_P): New. - (V2F, VMOVE, nunits, Vtype, Vmtype, Vetype, stype, VEL, - Vel, q, vp): Add V2HF. - * config/arm/types.md (neon_fp_reduc_add_h): New. - -2022-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define - __ARM_FEATURE_PAUTH and __ARM_FEATURE_BTI when appropriate. - * config/aarch64/aarch64.h (TARGET_BTI): Define. - -2022-12-12 Richard Biener <rguenther@suse.de> - - * genmatch.cc (dt_simplify::gen): Revert last change. - * match.pd: Revert simplification of CONSTUCTOR leaf handling. - (&x cmp SSA_NAME): Handle ADDR_EXPR in SSA defs. - * fold-const.cc (split_address_to_core_and_offset): Handle - ADDR_EXPRs in SSA defs. - (address_compare): Likewise. - -2022-12-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/89317 - * tree-ssa-ccp.cc (ccp_fold): Handle GIMPLE_COND via - gimple_fold_stmt_to_constant_1. - * match.pd (&a != &a + c): Apply to pointer_plus with non-ADDR_EXPR - base as well. - -2022-12-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/89317 - * match.pd ((p + b) - &p->c -> b - offsetof(c)): New patterns. - -2022-12-11 Richard Biener <rguenther@suse.de> - - * genmatch.cc (dt_node::gen_kids): Handle ADDR_EXPR in both - the GENERIC and GIMPLE op position. - (dt_simplify::gen): Capture both GENERIC and GIMPLE op - position for ADDR_EXPR and CONSTRUCTOR. - * match.pd: Simplify CONSTRUCTOR leaf handling. - -2022-12-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106904 - * tree.h (strip_zero_offset_components): Declare. - * tree.cc (strip_zero_offset_components): Define. - * tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref): - Strip zero offset components before building the address. - -2022-12-10 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107997 - * tree-ssa-loop-ivopts.cc: Include cfganal.h. - (create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends - with a stmt which ends bb, instead of adding iv update after it split - the latch edge and insert iterator into the new latch bb. - -2022-12-09 Jiufu Guo <guojiufu@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_emit_set_const): Remove copy_rtx. - (rs6000_emit_set_long_const): Likewise. - -2022-12-09 Martin Liska <mliska@suse.cz> - - * config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path - as for PR103661. - * doc/extend.texi: Fix "x86-64" use. - -2022-12-09 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * config/rtems.h (SUBTARGET_CC1_SPEC): Rename to... - (OS_CC1_SPEC): ...this. - * gcc.cc (SUBTARGET_CC1_SPEC): Rename to... - (OS_CC1_SPEC): ...this. - -2022-12-09 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (ANALYZER_OBJS): Update for renaming of - analyzer/region-model-impl-calls.cc to analyzer/kf.cc. - -2022-12-09 liuhongt <hongtao.liu@intel.com> - - * doc/invoke.texi (x86 options): Document - -mlam={none,u48,u57}. - * config/i386/i386-opts.h (enum lam_type): New enum. - * config/i386/i386.cc (ix86_memtag_can_tag_addresses): New. - (ix86_memtag_set_tag): Ditto. - (ix86_memtag_extract_tag): Ditto. - (ix86_memtag_add_tag): Ditto. - (ix86_memtag_tag_size): Ditto. - (ix86_memtag_untagged_pointer): Ditto. - (TARGET_MEMTAG_CAN_TAG_ADDRESSES): New. - (TARGET_MEMTAG_ADD_TAG): Ditto. - (TARGET_MEMTAG_SET_TAG): Ditto. - (TARGET_MEMTAG_EXTRACT_TAG): Ditto. - (TARGET_MEMTAG_UNTAGGED_POINTER): Ditto. - (TARGET_MEMTAG_TAG_SIZE): Ditto. - (IX86_HWASAN_SHIFT): Ditto. - (IX86_HWASAN_TAG_SIZE): Ditto. - * config/i386/i386-expand.cc (ix86_expand_call): Untag code - pointer. - * config/i386/i386-options.cc (ix86_option_override_internal): - Error when enable -mlam=[u48|u57] for 32-bit code. - * config/i386/i386.opt: Add -mlam=[none|u48|u57]. - * config/i386/i386-protos.h (ix86_memtag_untagged_pointer): - Declare. - (ix86_memtag_can_tag_addresses): Ditto. - -2022-12-08 Marek Polacek <polacek@redhat.com> - - * doc/invoke.texi (-fsanitize=address): Suggest options to improve - stack traces. - -2022-12-08 Eugene Rozenfeld <erozen@microsoft.com> - - PR ipa/108000 - * ipa-cp.cc (ipcp_propagate_stage): Fix profile count comparison - -2022-12-08 David Faust <david.faust@oracle.com> - - * config/bpf/bpf.md (bswap<mode>2): New define_insn. - -2022-12-08 Sebastian Pop <spop@amazon.com> - - PR target/98776 - * config/aarch64/aarch64-protos.h (aarch64_output_patchable_area): - Declared. - * config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry): - Emit an UNSPECV_PATCHABLE_AREA pseudo instruction. - (aarch64_output_patchable_area): New. - * config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New. - (patchable_area): Define. - -2022-12-08 Jakub Jelinek <jakub@redhat.com> - - PR debug/106719 - * cfgbuild.cc (find_bb_boundaries): If there are NOTEs in between - debug_insn (seen after flow_transfer_insn) and insn, move NOTEs - before all the DEBUG_INSNs and split after NOTEs. If there are - other insns like jump table data, clear debug_insn. - -2022-12-08 Jakub Jelinek <jakub@redhat.com> - - PR target/107627 - * config/i386/i386.md (HALF, half): New mode attributes. - (*concat<half><mode>3_5, *concat<mode><dwi>3_6, - *concat<mode><dwi>3_7): New define_insn_and_split patterns. - -2022-12-08 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/107985 - * gimple-range-op.cc - (gimple_range_op_handler::gimple_range_op_handler): Check if type - of the operands is supported. - * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Do - not assert if here is no range-op handler. - -2022-12-08 Jiufu Guo <guojiufu@linux.ibm.com> - - * config/rs6000/predicates.md: Use sext_hwi. - * config/rs6000/rs6000.cc (num_insns_constant_gpr): Likewise. - (darwin_rs6000_legitimate_lo_sum_const_p): Likewise. - (mem_operand_gpr): Likewise. - (mem_operand_ds_form): Likewise. - (rs6000_legitimize_address): Likewise. - (rs6000_emit_set_const): Likewise. - (rs6000_emit_set_long_const): Likewise. - (print_operand): Likewise. - (constant_generates_xxspltiw): Remove unnecessary expressions. - * config/rs6000/rs6000.md: Use sext_hwi. - -2022-12-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107699 - * match.pd (&a !=/== &a.b + c -> (&a - &a.b) !=/== c): New - pattern variant. - -2022-12-08 Jakub Jelinek <jakub@redhat.com> - - * range-op-float.cc (frange_nextafter): For MODE_COMPOSITE_P from - denormal or zero, use real_nextafter on DFmode with conversions - around it. - (frange_arithmetic): For mode_composite, on top of rounding in the - right direction accept extra 1ulp error for PLUS/MINUS_EXPR, extra - 2ulps error for MULT_EXPR and extra 3ulps error for RDIV_EXPR. - -2022-12-08 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107967 - * range-op-float.cc (frange_arithmetic): Fix a thinko - if - inf is negative, use nextafter if !real_less (&result, &value) - rather than if real_less (&result, &value). If result is +-INF - while value is finite and -fno-rounding-math, don't do rounding - if !inexact or if result is significantly above max representable - value or below min representable value. - -2022-12-07 Max Filippov <jcmvbkbc@gmail.com> - - * config.gcc (xtensa*-*-*): Add xtensa-dynconfig.o to extra_objs. - * config/xtensa/t-xtensa (TM_H): Add xtensa-dynconfig.h. - (xtensa-dynconfig.o): New rule. - * config/xtensa/xtensa-dynconfig.c: New file. - * config/xtensa/xtensa-protos.h (xtensa_get_config_strings): New - declaration. - * config/xtensa/xtensa.h (xtensa-config.h): Replace #include - with xtensa-dynconfig.h - (XCHAL_HAVE_MUL32_HIGH, XCHAL_HAVE_RELEASE_SYNC) - (XCHAL_HAVE_S32C1I, XCHAL_HAVE_THREADPTR) - (XCHAL_HAVE_FP_POSTINC): Drop definitions. - (TARGET_DIV32): Replace with __XCHAL_HAVE_DIV32. - (TARGET_CPU_CPP_BUILTINS): Add new 'builtin' variable and loop - through string array returned by the xtensa_get_config_strings - function call. - -2022-12-07 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/108006 - * config/aarch64/aarch64.cc (aarch64_expand_sve_const_vector): - Fix call to aarch64_move_imm to use SI/DI. - -2022-12-07 Richard Biener <rguenther@suse.de> - - PR ipa/105676 - * ipa-pure-const.cc (ipa_make_function_pure): Skip also - for functions already being const. - -2022-12-07 Hongyu Wang <hongyu.wang@intel.com> - - * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add - m_SAPPHIRERAPIDS, m_ALDERLAKE and m_CORE_ATOM. - -2022-12-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - PR target/107920 - * config/aarch64/aarch64-sve-builtins-base.cc: Use - gsi_replace_with_seq_vops to handle virtual operands, and gate - the transform on !flag_non_call_exceptions. - * gimple-fold.cc (gsi_replace_with_seq_vops): Make function non static. - * gimple-fold.h (gsi_replace_with_seq_vops): Declare. - -2022-12-07 liuhongt <hongtao.liu@intel.com> - - PR target/107970 - * config/i386/mmx.md (btruncv2sf2): Add TARGET_MMX_WITH_SSE to - the condition. - -2022-12-06 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64.cc (aarch64_bitmask_imm): Use unsigned type. - (aarch64_is_mov_xn_imm): New function. - (aarch64_move_imm): Refactor, assert mode is SImode or DImode. - (aarch64_internal_mov_immediate): Assert mode is SImode or DImode. - Simplify special cases. - (aarch64_uimm12_shift): Simplify code. - (aarch64_clamp_to_uimm12_shift): Likewise. - (aarch64_movw_imm): Rename to aarch64_is_movz. - (aarch64_float_const_rtx_p): Pass either SImode or DImode to - aarch64_internal_mov_immediate. - (aarch64_rtx_costs): Likewise. - * config/aarch64/aarch64.md (movdi_aarch64): Merge 'N' and 'M' - constraints into single 'O'. - (mov<mode>_aarch64): Likewise. - * config/aarch64/aarch64-protos.h (aarch64_move_imm): Use unsigned. - (aarch64_bitmask_imm): Likewise. - (aarch64_uimm12_shift): Likewise. - (aarch64_is_mov_xn_imm): New prototype. - * config/aarch64/constraints.md: Add 'O' for 32/64-bit immediates, - limit 'N' to 64-bit only moves. - -2022-12-06 Qing Zhao <qing.zhao@oracle.com> - - * attribs.cc (strict_flex_array_level_of): New function. - * attribs.h (strict_flex_array_level_of): Prototype for new function. - * doc/invoke.texi: Update -Warray-bounds by specifying the impact from - -fstrict-flex-arrays. Also update -Warray-bounds=2 by eliminating its - impact on treating trailing arrays as flexible array members. - * gimple-array-bounds.cc (get_up_bounds_for_array_ref): New function. - (check_out_of_bounds_and_warn): New function. - (array_bounds_checker::check_array_ref): Update with call to the above - new functions. - * tree.cc (array_ref_flexible_size_p): Add one new argument. - (component_ref_sam_type): New function. - (component_ref_size): Control with level of strict-flex-array. - * tree.h (array_ref_flexible_size_p): Update prototype. - (enum struct special_array_member): Add two new enum values. - (component_ref_sam_type): New prototype. - -2022-12-06 David Malcolm <dmalcolm@redhat.com> - - * doc/analyzer.texi: Drop out-of-date ideas for other checkers. - -2022-12-06 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (ANALYZER_OBJS): Add analyzer/call-details.o, - analyzer/kf-analyzer.o, and kf-lang-cp.o. - -2022-12-06 Marcel Vollweiler <marcel@codesourcery.com> - - * gimplify.cc (optimize_target_teams): Set initial num_teams_upper - to "-2" instead of "1" for non-existing num_teams clause in order to - disambiguate from the case of an existing num_teams clause with value 1. - -2022-12-06 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR target/107987 - * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>, - @mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar - operand. - -2022-12-06 Jakub Jelinek <jakub@redhat.com> - - PR target/107969 - * config/i386/i386.md (cbranchbf4, cstorebf4): Guard expanders - with the same condition as cbranchsf4 or cstoresf4 expanders. - -2022-12-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104475 - * pointer-query.h (access_ref::ref_nullptr_p): New flag. - * pointer-query.cc (access_ref::access_ref): Initialize - ref_nullptr_p. - (compute_objsize_r): Set ref_nullptr_p if we treat it that way. - (access_ref::inform_access): If ref was treated as nullptr - based, indicate that. - -2022-12-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107972 - * range-op-float.cc (frange_drop_infs): New function. - (float_binary_op_range_finish): Add DIV_OP2 argument. If DIV_OP2 is - false and lhs is finite or if DIV_OP2 is true and lhs is non-zero and - not NAN, r must be finite too. - (foperator_div::op2_range): Pass true to DIV_OP2 of - float_binary_op_range_finish. - -2022-12-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107975 - * range-op-float.cc (foperator_mult::op1_range, - foperator_div::op1_range, foperator_div::op2_range): Just - return float_binary_op_range_finish result if lhs is known - NAN, or the other operand is known NAN or UNDEFINED. - -2022-12-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Use dup - and zip1 for interleaving elements in vector initializer. - -2022-12-05 Richard Biener <rguenther@suse.de> - - PR middle-end/40635 - * tree-into-ssa.cc (rewrite_update_phi_arguments): Only - update the argument when the reaching definition is different - from the current argument. Keep an existing argument - location. - -2022-12-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106868 - * gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref): - Inline into single user ... - (pass_waccess::check_dangling_uses): ... here and adjust the - call and the PHI case to require that ref.aref is the address - of the decl. - -2022-12-05 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/106805 - * match.pd (cmp @0 REAL_CST@1): Don't optimize x cmp NaN - or NaN cmp x to false/true for cmp >/>=/</<= if -ftrapping-math. - -2022-12-05 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107879 - * range-op-float.cc (foperator_mult::op1_range): If both - lhs and op2 ranges contain zero or both ranges contain - some infinity, set r range to zero_to_inf_range depending on - signbit_known_p. - (foperator_div::op2_range): Similarly for lhs and op1 ranges. - (foperator_div::op1_range): If lhs range contains zero and op2 - range contains some infinity or vice versa, set r range to - zero_to_inf_range depending on signbit_known_p. - (foperator_div::rv_fold): Fix up condition for returning known NAN. - -2022-12-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107833 - PR tree-optimization/107839 - * cfghooks.cc: Include tree.h. - * tree-ssa-loop-im.cc (movement_possibility): Wrap and - make stmts using any ssa_name_maybe_undef_p operand - to preserve execution. - (loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs - to init maybe-undefined status. - * tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p, - ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p, - mark_ssa_maybe_undefs): Move ... - * tree-ssa.cc: ... here. - * tree-ssa.h (ssa_name_any_use_dominates_bb_p, - mark_ssa_maybe_undefs): Declare. - (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define. - -2022-12-05 Andrew Pinski <pinskia@gmail.com> - - PR tree-optimization/107956 - * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern): - Check for NULL LHS on masked loads. - -2022-12-05 Kewen Lin <linkw@linux.ibm.com> - Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/107412 - * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use - untruncated type for the length, and avoid to_constant and tree - arithmetic for subtraction. - -2022-12-02 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> - Jason Merrill <jason@redhat.com> - - * function.cc (init_function_start): Use DECL_RESULT location - for -Waggregate-return warning. - -2022-12-02 Andrew MacLeod <amacleod@redhat.com> - - * fold-const.cc (fold_unary_loc): Check TREE_TYPE of node. - (tree_invalid_nonnegative_warnv_p): Likewise. - -2022-12-02 Jason Merrill <jason@redhat.com> - - * gcc.cc (validate_switches): Reset suffix/starred on loop. - -2022-12-02 Vladimir N. Makarov <vmakarov@redhat.com> - - * lra-constraints.cc (curr_insn_transform): Check available hard - regs for pseudo and its subreg to decide what to reload. - -2022-12-02 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386-expand.cc - (ix86_expand_fast_convert_bf_to_sf): Use extendbfsf2_1 for - nonimmediate operand. - -2022-12-02 Martin Liska <mliska@suse.cz> - - * configure: Regenerate. - -2022-12-02 Jakub Jelinek <jakub@redhat.com> - - PR target/106577 - * config/i386/i386-expand.cc (ix86_vector_duplicate_value): Save/restore - recog_data around recog_memoized calls. - -2022-12-02 Michael Collison <collison@rivosinc.com> - - * match.pd ((x & 0x1) == 0) ? y : z <op> y - -> (-(typeof(y))(x & 0x1) & z) <op> y. - -2022-12-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107946 - * params.opt (-param=max-unswitch-depth=): New. - * doc/invoke.texi (--param=max-unswitch-depth): Document. - * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): Honor - --param=max-unswitch-depth - -2022-12-02 Eric Gallager <egallager@gcc.gnu.org> - - PR bootstrap/59447 - * configure: Regenerate. - * configure.ac: Document --with-dwarf2 flag as also - applying to later DWARF standards. - * doc/install.texi: Likewise. - -2022-12-02 liuhongt <hongtao.liu@intel.com> - - PR target/107934 - * config/i386/i386.md (extendbfsf2_1): Change type from - sseishft to sseishft1. - -2022-12-01 Alex Coplan <alex.coplan@arm.com> - - * varasm.cc (assemble_variable): Fix type confusion bug when - checking for ".vtable_map_vars" section. - -2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-v.cc (emit_pred_op): Adapt for mask mode. - * config/riscv/vector.md: Remove Tail && make policy operand for mask mode mov. - -2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-protos.h (enum vlmul_type): New enum. - (get_vlmul): New function. - (get_ratio): Ditto. - * config/riscv/riscv-v.cc (struct mode_vtype_group): New struct. - (ENTRY): Adapt for attributes. - (enum vlmul_type): New enum. - (get_vlmul): New function. - (get_ratio): New function. - * config/riscv/riscv-vector-switch.def (ENTRY): Adapt for attributes. - * config/riscv/riscv.cc (ENTRY): Ditto. - * config/riscv/vector.md (false,true): Add attributes. - -2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/constraints.md (Wdm): New constraint. - * config/riscv/predicates.md (direct_broadcast_operand): New predicate. - * config/riscv/riscv-protos.h (RVV_VLMAX): New macro. - (emit_pred_op): Refine function. - * config/riscv/riscv-selftests.cc (run_const_vector_selftests): New function. - (run_broadcast_selftests): Ditto. - (BROADCAST_TEST): New tests. - (riscv_run_selftests): More tests. - * config/riscv/riscv-v.cc (emit_pred_move): Refine function. - (emit_vlmax_vsetvl): Ditto. - (emit_pred_op): Ditto. - (expand_const_vector): New function. - (legitimize_move): Add constant vector support. - * config/riscv/riscv.cc (riscv_print_operand): New asm print rule for const vector. - * config/riscv/riscv.h (X0_REGNUM): New macro. - * config/riscv/vector-iterators.md: New attribute. - * config/riscv/vector.md (vec_duplicate<mode>): New pattern. - (@pred_broadcast<mode>): New pattern. - -2022-12-01 Paul-Antoine Arras <pa@codesourcery.com> - - * config/gcn/gcn-opts.h (TARGET_FIJI): -march=fiji. - (TARGET_VEGA10): -march=gfx900. - (TARGET_VEGA20): -march=gfx906. - (TARGET_GFX908): -march=gfx908. - (TARGET_GFX90a): -march=gfx90a. - * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Define a builtin that - uniquely maps to '-march'. - -2022-12-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107937 - * gimple-predicate-analysis.h (predicate::is_true): New. - (predicate::is_false): Likewise. - (predicate::empty_val): Likewise. - (uninit_analysis::uninit_analysis): Properly initialize - def_preds. - * gimple-predicate-analysis.cc (simplify_1b): Indicate - whether the chain became empty. - (predicate::simplify): Release emptied chain before removing it. - (predicate::normalize): Replace temporary object with assertion. - (uninit_analysis::is_use_guarded): Deal with predicates - that simplify to true/false. - -2022-12-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107935 - * tree-ssa-sccvn.cc (visit_phi): Honor forced VARYING on - backedges. - -2022-12-01 Jakub Jelinek <jakub@redhat.com> - - PR target/107627 - * config/i386/i386.md (*concat<mode><dwi>3_1, *concat<mode><dwi>3_2): - For operands which are zero_extend arguments allow memory if - output operand is a register. - (*concat<mode><dwi>3_3, *concat<mode><dwi>3_4): Likewise. If - both input operands are memory, use early clobber on output operand. - * config/i386/i386-expand.cc (split_double_concat): Deal with corner - cases where one input is memory and the other is not and the address - of the memory input uses a register we'd overwrite before loading - the memory into a register. - -2022-12-01 Haochen Gui <guihaoc@gcc.gnu.org> - - * config/rs6000/rs6000-call.cc (swap_endian_selector_for_mode): - Corrects comments of this function and make them clear. - -2022-12-01 liuhongt <hongtao.liu@intel.com> - - PR target/107863 - * config/i386/i386-expand.cc (ix86_expand_vec_set_builtin): - Convert op1 to target mode whenever mode mismatch. - -2022-12-01 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106626 - * diagnostic-path.h - (diagnostic_path::get_first_event_in_a_function): New decl. - * diagnostic.cc (diagnostic_path::get_first_event_in_a_function): - New. - (diagnostic_path::interprocedural_p): Ignore leading events that - are outside of any function. - -2022-12-01 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (ANALYZER_OBJS): Add analyzer/bounds-checking.o. - -2022-12-01 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/100866 - * config/rs6000/rs6000-call.cc (swap_endian_selector_for_mode): - Generate permute index directly for little endian targets. - * config/rs6000/vsx.md (revb_<mode>): Call vprem directly with - corresponding permute indexes. - -2022-11-30 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.md (addvdi3): Force operand 2 to a register. - Remove "addi,tsv,*" instruction from unamed pattern. - (subvdi3): Force operand 1 to a register. - Remove "subi,tsv" instruction from from unamed pattern. - -2022-11-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * config/aarch64/aarch64.md (aarch64_cpymemdi): Specify clobber of CC reg. - (*aarch64_cpymemdi): Likewise. - (aarch64_movmemdi): Likewise. - (aarch64_setmemdi): Likewise. - (*aarch64_setmemdi): Likewise. - -2022-11-30 Martin Liska <mliska@suse.cz> - - * tree-switch-conversion.cc (bit_test_cluster::emit): Remove - dead variable bt_range. - -2022-11-30 Iskander Shakirzyanov <iskander@ispras.ru> - Franz Sirl <Franz.Sirl-kernel@lauterbach.com> - - PR driver/107787 - * common.opt (Warray-bounds): Turn into alias of - -Warray-bounds=1. - * builtins.cc (c_strlen): Use OPT_Warray_bounds_ - instead of OPT_Warray_bounds. - * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Ditto. - * gimple-array-bounds.cc (array_bounds_checker::check_array_ref, - array_bounds_checker::check_mem_ref, - array_bounds_checker::check_addr_expr, - array_bounds_checker::check_array_bounds): Ditto. - * gimple-ssa-warn-restrict.cc (maybe_diag_access_bounds): Ditto. - -2022-11-30 Martin Liska <mliska@suse.cz> - - PR tree-optimization/101301 - PR tree-optimization/103680 - * tree-switch-conversion.cc (bit_test_cluster::emit): - Handle correctly remaining probability. - (switch_decision_tree::try_switch_expansion): Fix BB's count - where a cluster expansion happens. - (switch_decision_tree::emit_cmp_and_jump_insns): Fill up also - BB count. - (switch_decision_tree::do_jump_if_equal): Likewise. - (switch_decision_tree::emit_case_nodes): Handle special case - for BT expansion which can also fallback to a default BB. - * tree-switch-conversion.h (cluster::cluster): Add - m_default_prob probability. - -2022-11-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107919 - * gimple-predicate-analysis.cc (simplify_1): Rename to ... - (simplify_1a): .. this. - (simplify_1b): New. - (predicate::simplify): Call both simplify_1a and simplify_1b. - -2022-11-30 Richard Biener <rguenther@suse.de> - - * tree-ssa-uninit.cc (find_uninit_use): Dump the edge for a - PHI node. - -2022-11-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107919 - * gimple-predicate-analysis.cc (predicate::simplify_2): - Handle predicates of arbitrary length. - -2022-11-30 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107835 - * tree-chrec.cc (chrec_apply): Don't handle "{a, +, a} (x-1)" - as "a*x" if type is a pointer type. - -2022-11-30 Paul-Antoine Arras <pa@codesourcery.com> - - * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Add gfx803. - * config/gcn/t-omp-device: Add gfx803. - -2022-11-30 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/linux.h (STACK_CHECK_MOVING_SP): - Define this macro to 1. - * config/loongarch/loongarch.cc (STACK_CLASH_PROTECTION_GUARD_SIZE): - Size of guard page. - (loongarch_first_stack_step): Return the size of the first drop stack - according to whether stack checking is performed. - (loongarch_emit_probe_stack_range): Adjust the method of stack checking in prologue. - (loongarch_output_probe_stack_range): Delete useless code. - (loongarch_expand_prologue): Adjust the method of stack checking in prologue. - (loongarch_option_override_internal): Enforce that interval is the same - size as size so the mid-end does the right thing. - * config/loongarch/loongarch.h (STACK_CLASH_MAX_UNROLL_PAGES): - New macro decide whether to loop stack detection. - -2022-11-30 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/103546 - * doc/invoke.texi (Static Analyzer Options): Add isatty, ferror, - fileno, and getc to the list of functions known to the analyzer. - -2022-11-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107852 - * tree-ssa-sccvn.cc (visit_phi): Use equivalences recorded - as predicated values to elide more redundant PHIs. - -2022-11-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106995 - * tree-if-conv.cc (pass_if_conversion::execute): Also redirect the - versioning condition to the original loop if this very loop - vanished during CFG cleanup. - -2022-11-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107898 - * gimple-ssa-warn-alloca.cc (alloca_call_type): Check - the type of the alloca argument is compatible with size_t - before querying ranges. - -2022-11-29 Richard Biener <rguenther@suse.de> - - PR ipa/107897 - * multiple_target.cc (pass_target_clone::gate): Disable - after errors. - -2022-11-29 Martin Liska <mliska@suse.cz> - - * configure: Regenerate. - -2022-11-29 YunQiang Su <yunqiang.su@cipunited.com> - - * configure.ac: add description for - AC_DEFINE(ENABLE_MULTIARCH, 1) - -2022-11-28 Andrew Pinski <apinski@marvell.com> - - * match.pd ((A / (1 << B)) -> (A >> B).): - Fix comment. - -2022-11-28 Sinan <sinan.lin@linux.alibaba.com> - - * config/riscv/riscv.cc (riscv_build_integer): Improve some cases - of loading 64bit constants for rv32. - -2022-11-28 Maciej W. Rozycki <macro@embecosm.com> - - * config/riscv/riscv.cc (riscv_emit_int_order_test): Use EQ 0 - rather that XOR 1 for LE and LEU operations. - -2022-11-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107896 - * tree-vect-stmts.cc (supportable_widening_operation): - Handle non-vector mode intermediate mode. - -2022-11-28 Frolov Daniil <frolov.da@phystech.edu> - - * gimple-ssa-sprintf.cc (fmtresult::type_max_digits): Handle - base == 2. - (tree_digits): Likewise. - (format_integer): Likewise. - (parse_directive): Add cases for %b and %B directives. - -2022-11-28 Fei Gao <gaofei@eswincomputing.com> - - * config/riscv/riscv.cc (riscv_first_stack_step): Fix computation - of MIN_FIRST_STEP to cover FP save area too. - -2022-11-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107493 - * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr): - Only handle no-op and sign-changing conversions. - -2022-11-28 Tobias Burnus <tobias@codesourcery.com> - - * config/gcn/gcn.cc (gcn_expand_builtin_1): Work on s1 instead - of s[0:1] and use USE to prevent removal of setting that register. - * config/gcn/gcn.md (prologue_use_di): Remove. - -2022-11-28 Yuri Gribov <y.gribov@samsung.com> - - PR sanitizer/106558 - * sanopt.cc: Do not optimize out checks for non-SSA addresses. - -2022-11-28 Jakub Jelinek <jakub@redhat.com> - - PR target/106875 - * config/i386/i386.opt (x_ix86_abi): Remove TargetSave. - (ix86_abi): Replace it with TargetVariable. - * config/i386/i386-options.cc (ix86_function_specific_save, - ix86_function_specific_restore): Don't save and restore x_ix86_abi. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * config/arm/mve.md (mve_vrmlaldavhq_<supf>v4si, - mve_vrmlaldavhaq_<supf>v4si): Fix spacing vs tabs. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * config/arm/mve.md (mve_vmlaldavaq_<supf><mode>) - (mve_vmlaldavaxq_s<mode>, mve_vmlaldavaxq_p_<supf><mode>): Fix - spacing vs tabs. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * config/arm/mve.md (mve_vsubq_n_f<mode>): Fix spacing. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * config/arm/mve.md (mve_vaddlvq_p_<supf>v4si) - (mve_vaddq_n_<supf><mode>, mve_vaddvaq_<supf><mode>) - (mve_vaddlvaq_<supf>v4si, mve_vaddq_n_f<mode>) - (mve_vaddlvaq_p_<supf>v4si, mve_vaddq<mode>, mve_vaddq_f<mode>): - Fix spacing. - -2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> - - * config/arm/arm_mve.h (__arm_vsubq_x FP): New overloads. - (__arm_vsubq_x Integer): New. - -2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> - - PR target/107515 - * config/arm/arm_mve.h (__ARM_mve_typeid): Add float types. - -2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> - - PR target/96795 - * config/arm/arm_mve.h (__arm_vaddq): Fix Overloading. - (__arm_vmulq): Likewise. - (__arm_vcmpeqq): Likewise. - (__arm_vcmpneq): Likewise. - (__arm_vmaxnmavq): Likewise. - (__arm_vmaxnmvq): Likewise. - (__arm_vminnmavq): Likewise. - (__arm_vsubq): Likewise. - (__arm_vminnmvq): Likewise. - (__arm_vrshlq): Likewise. - (__arm_vqsubq): Likewise. - (__arm_vqdmulltq): Likewise. - (__arm_vqdmullbq): Likewise. - (__arm_vqdmulhq): Likewise. - (__arm_vqaddq): Likewise. - (__arm_vhaddq): Likewise. - (__arm_vhsubq): Likewise. - (__arm_vqdmlashq): Likewise. - (__arm_vqrdmlahq): Likewise. - (__arm_vmlasq): Likewise. - (__arm_vqdmlahq): Likewise. - (__arm_vmaxnmavq_p): Likewise. - (__arm_vmaxnmvq_p): Likewise. - (__arm_vminnmavq_p): Likewise. - (__arm_vminnmvq_p): Likewise. - (__arm_vfmasq_m): Likewise. - (__arm_vsetq_lane): Likewise. - (__arm_vcmpneq_m): Likewise. - (__arm_vhaddq_x): Likewise. - (__arm_vhsubq_x): Likewise. - (__arm_vqrdmlashq_m): Likewise. - (__arm_vqdmlashq_m): Likewise. - (__arm_vmlaldavaxq_p): Likewise. - (__arm_vmlasq_m): Likewise. - (__arm_vqdmulhq_m): Likewise. - (__arm_vqdmulltq_m): Likewise. - (__arm_viwdupq_m): Likewise. - (__arm_viwdupq_u16): Likewise. - (__arm_viwdupq_u32): Likewise. - (__arm_viwdupq_u8): Likewise. - (__arm_vdwdupq_m): Likewise. - (__arm_vdwdupq_u16): Likewise. - (__arm_vdwdupq_u32): Likewise. - (__arm_vdwdupq_u8): Likewise. - (__arm_vaddlvaq): Likewise. - (__arm_vaddlvaq_p): Likewise. - (__arm_vaddvaq): Likewise. - (__arm_vaddvaq_p): Likewise. - (__arm_vcmphiq_m): Likewise. - (__arm_vmladavaq_p): Likewise. - (__arm_vmladavaxq): Likewise. - (__arm_vmlaldavaxq): Likewise. - (__arm_vrmlaldavhaq_p): Likewise. - -2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> - - PR target/96795 - * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Change types. - (__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): Fix Overloading. - (__ARM_mve_coerce3): New. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * config/arm/mve.md (mve_vabsq_f<mode>): Fix spacing. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>): Fix - spacing. - * config/arm/arm_mve.h (__arm_vcmpgtq_m, __arm_vcmpleq_m) - (__arm_vcmpltq_m, __arm_vcmpneq_m): Add missing defines. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * config/arm/mve.md (mve_vdupq_n_f<mode>) - (mve_vdupq_n_<supf><mode>, mve_vdupq_m_n_<supf><mode>) - (mve_vdupq_m_n_f<mode>): Fix spacing. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * config/arm/mve.md (mve_vdwdupq_m_wb_u<mode>_insn): Fix spacing. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * config/arm/mve.md (mve_vddupq_u<mode>_insn): Fix 'vddup.u' - spacing. - (mve_vddupq_m_wb_u<mode>_insn): Likewise. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Fix - 'vmsr' spacing and reg capitalization. - -2022-11-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107876 - * tree-ssa-loop-unswitch.cc (clean_up_after_unswitching): Wipe - dominator info if we removed an edge. - -2022-11-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107867 - * tree-ssa-forwprop.cc (pass_forwprop::execute): Handle - abnormal cleanup after substitution. - -2022-11-28 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.cc (enum loongarch_load_imm_method): - Remove the member METHOD_INSV that is not currently used. - (struct loongarch_integer_op): Define a new member curr_value, - that records the value of the number stored in the destination - register immediately after the current instruction has run. - (loongarch_build_integer): Assign a value to the curr_value member variable. - (loongarch_move_integer): Adds information for the immediate load instruction. - * config/loongarch/loongarch.md (*movdi_32bit): Redefine as define_insn_and_split. - (*movdi_64bit): Likewise. - (*movsi_internal): Likewise. - (*movhi_internal): Likewise. - * config/loongarch/predicates.md: Return true as long as it is CONST_INT, ensure - that the immediate number is not optimized by decomposition during expand - optimization loop. - -2022-11-28 liuhongt <hongtao.liu@intel.com> - - PR target/107748 - * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Refined. - * config/i386/i386-builtin-types.def (FLOAT_FTYPE_BFLOAT16): - New function type. - * config/i386/i386-builtin.def (BDESC): New builtin. - * config/i386/i386-expand.cc (ix86_expand_args_builtin): - Handle the builtin. - * config/i386/i386.md (extendbfsf2): New expander. - (extendbfsf2_1): New define_insn. - (truncsfbf2): Ditto. - -2022-11-26 Andrew Pinski <apinski@marvell.com> - - PR tree-optimization/103356 - * match.pd: ((~a) == b -> a ^ b): New pattern. - -2022-11-25 Sandra Loosemore <sandra@codesourcery.com> - - * common.opt (fopenmp-target-simd-clone): New option. - (target_simd_clone_device): New enum to go with it. - * doc/invoke.texi (-fopenmp-target-simd-clone): Document. - * flag-types.h (enum omp_target_simd_clone_device_kind): New. - * omp-simd-clone.cc (auto_simd_fail): New function. - (auto_simd_check_stmt): New function. - (plausible_type_for_simd_clone): New function. - (ok_for_auto_simd_clone): New function. - (simd_clone_create): Add force_local argument, make the symbol - have internal linkage if it is true. - (expand_simd_clones): Also check for cloneable functions with - "omp declare target". Pass explicit_p argument to - simd_clone.compute_vecsize_and_simdlen target hook. - * opts.cc (default_options_table): Add -fopenmp-target-simd-clone. - * target.def (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): - Add bool explicit_p argument. - * doc/tm.texi: Regenerated. - * config/aarch64/aarch64.cc - (aarch64_simd_clone_compute_vecsize_and_simdlen): Update. - * config/gcn/gcn.cc - (gcn_simd_clone_compute_vecsize_and_simdlen): Update. - * config/i386/i386.cc - (ix86_simd_clone_compute_vecsize_and_simdlen): Update. - -2022-11-25 Tamar Christina <tamar.christina@arm.com> - - PR target/107830 - * config/aarch64/aarch64.cc - (aarch64_vectorize_can_special_div_by_constant): Check validity during - codegen phase as well. - -2022-11-25 Eric Botcazou <ebotcazou@adacore.com> - - * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko. - -2022-11-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107865 - * tree-cfg.cc (move_sese_region_to_fn): Free the number of - iterations of moved loops. - -2022-11-25 Kewen.Lin <linkw@gcc.gnu.org> - - PR target/99889 - * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): - Adjust to call function default_print_patchable_function_entry. - * targhooks.cc (default_print_patchable_function_entry_1): Remove and - move the flags preparation ... - (default_print_patchable_function_entry): ... here, adjust to use - current_function_funcdef_no for label no. - * targhooks.h (default_print_patchable_function_entry_1): Remove. - * varasm.cc (default_elf_asm_named_section): Adjust code for - __patchable_function_entries section support with LPFE label. - -2022-11-24 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR tree-optimization/107413 - * config/aarch64/aarch64.cc (struct tune_params): Add - fma_reassoc_width to all CPU tuning structures. - (aarch64_reassociation_width): Use fma_reassoc_width. - * config/aarch64/aarch64-protos.h (struct tune_params): Add - fma_reassoc_width. - -2022-11-24 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/107317 - * asan.cc: Include diagnostic-core.h. - (asan_emit_stack_protection): Return NULL early if seen_error (). - -2022-11-24 Aldy Hernandez <aldyh@redhat.com> - - * vr-values.cc (simplify_using_ranges::compare_names): Remove. - (vrp_evaluate_conditional_warnv_with_ops): Remove call to - compare_names. - (simplify_using_ranges::vrp_visit_cond_stmt): Remove use_equiv_p - argument to vrp_evaluate_conditional_warnv_with_ops. - * vr-values.h (class simplify_using_ranges): Remove - compare_names. - Remove use_equiv_p to vrp_evaluate_conditional_warnv_with_ops. - -2022-11-24 Aldy Hernandez <aldyh@redhat.com> - - * tree-vrp.cc (overflow_comparison_p_1): Remove follow_assert_exprs. - (overflow_comparison_p): Remove use_equiv_p. - * tree-vrp.h (overflow_comparison_p): Same. - * vr-values.cc (vrp_evaluate_conditional_warnv_with_ops): Remove - use_equiv_p argument to overflow_comparison_p. - -2022-11-24 Aldy Hernandez <aldyh@redhat.com> - - * doc/gimple.texi: Remove ASSERT_EXPR references. - * fold-const.cc (tree_expr_nonzero_warnv_p): Same. - (fold_binary_loc): Same. - (tree_expr_nonnegative_warnv_p): Same. - * gimple-array-bounds.cc (get_base_decl): Same. - * gimple-pretty-print.cc (dump_unary_rhs): Same. - * gimple.cc (get_gimple_rhs_num_ops): Same. - * pointer-query.cc (handle_ssa_name): Same. - * tree-cfg.cc (verify_gimple_assign_single): Same. - * tree-pretty-print.cc (dump_generic_node): Same. - * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr):Same. - (interpret_rhs_expr): Same. - * tree-ssa-operands.cc (operands_scanner::get_expr_operands): Same. - * tree-ssa-propagate.cc - (substitute_and_fold_dom_walker::before_dom_children): Same. - * tree-ssa-threadedge.cc: Same. - * tree-vrp.cc (overflow_comparison_p): Same. - * tree.def (ASSERT_EXPR): Add note. - * tree.h (ASSERT_EXPR_VAR): Remove. - (ASSERT_EXPR_COND): Remove. - * vr-values.cc (simplify_using_ranges::vrp_visit_cond_stmt): - Remove comment. - -2022-11-24 Aldy Hernandez <aldyh@redhat.com> - - * Makefile.in: Remove value-range-equiv.o - * gimple-array-bounds.cc - (array_bounds_checker::array_bounds_checker): Remove comment. - * tree-vrp.cc (supported_types_p): Remove use of value_range_equiv. - * value-query.cc (class equiv_allocator): Same. - (range_query::allocate_value_range_equiv): Remove. - (range_query::free_value_range_equiv): Remove. - (range_query::get_value_range): Remove. - * value-query.h (class range_query): Remove get_value_range. - Remove allocate_value_range_equiv. - Remove free_value_range_equiv. - * vr-values.cc (compare_ranges): Replace value_range_equiv with - value_range. - (simplify_using_ranges::get_vr_for_comparison): Same. - (simplify_using_ranges::compare_names): Same. - * vr-values.h: Remove value_range_equiv references. - * value-range-equiv.cc: Removed. - * value-range-equiv.h: Removed. - -2022-11-24 Aldy Hernandez <aldyh@redhat.com> - - * doc/invoke.texi: Remove docs for max-vrp-switch-assertions, - vrp1-mode, and vrp2-mode. - * params.opt: Same. - * range-op.cc (masked_increment): Move from tree-vrp.cc. - * tree-vrp.cc (class live_names): Remove. - (live_names::init_bitmap_if_needed): Remove. - (live_names::block_has_live_names_p): Remove. - (live_names::clear_block): Remove. - (live_names::merge): Remove. - (live_names::set): Remove. - (live_names::clear): Remove. - (live_names::live_names): Remove. - (live_names::~live_names): Remove. - (live_names::live_on_block_p): Remove. - (live_names::live_on_edge_p): Remove. - (get_single_symbol): Make static. - (build_symbolic_expr): Remove. - (adjust_symbolic_bound): Remove. - (combine_bound): Remove. - (set_value_range_with_overflow): Remove. - (extract_range_from_pointer_plus_expr): Remove. - (extract_range_from_plus_minus_expr): Remove. - (drop_undefines_to_varying): Remove. - (range_fold_binary_symbolics_p): Remove. - (range_fold_unary_symbolics_p): Remove. - (range_fold_binary_expr): Remove. - (infer_value_range): Remove. - (dump_assert_info): Remove. - (dump_asserts_info): Remove. - (add_assert_info): Remove. - (extract_code_and_val_from_cond_with_ops): Remove. - (masked_increment): Move to range-op.cc. - (register_edge_assert_for_2): Remove. - (find_case_label_index): Remove. - (find_case_label_range): Remove. - (register_edge_assert_for_1): Remove. - (is_masked_range_test): Remove. - (register_edge_assert_for): Remove. - (stmt_interesting_for_vrp): Remove. - (struct case_info): Remove. - (struct assert_locus): Remove. - (class vrp_asserts): Remove. - (vrp_asserts::build_assert_expr_for): Remove. - (vrp_asserts::dump): Remove. - (vrp_asserts::register_new_assert_for): Remove. - (vrp_asserts::finish_register_edge_assert_for): Remove. - (vrp_asserts::find_conditional_asserts): Remove. - (vrp_asserts::compare_case_labels): Remove. - (vrp_asserts::find_switch_asserts): Remove. - (vrp_asserts::find_assert_locations_in_bb): Remove. - (vrp_asserts::find_assert_locations): Remove. - (vrp_asserts::process_assert_insertions_for): Remove. - (vrp_asserts::compare_assert_loc): Remove. - (vrp_asserts::process_assert_insertions): Remove. - (vrp_asserts::insert_range_assertions): Remove. - (vrp_asserts::all_imm_uses_in_stmt_or_feed_cond): Remove. - (vrp_asserts::remove_range_assertions): Remove. - (class vrp_prop): Remove. - (vrp_prop::initialize): Remove. - (enum ssa_prop_result): Remove. - (vrp_prop::visit_stmt): Remove. - (vrp_prop::visit_phi): Remove. - (vrp_prop::finalize): Remove. - (class vrp_folder): Remove. - (vrp_folder::fold_predicate_in): Remove. - (vrp_folder::fold_stmt): Remove. - (vrp_folder::simplify_casted_conds): Remove. - (execute_vrp): Remove. - * tree-vrp.h (struct assert_info): Remove. - (register_edge_assert_for): Remove. - (stmt_interesting_for_vrp): Remove. - (infer_value_range): Remove. - (get_single_symbol): Remove. - (masked_increment): Remove. - (execute_ranger_vrp): Remove. - * vr-values.cc (set_value_range_to_nonnegative): Remove. - (set_value_range_to_truthvalue): Remove. - (vr_values::get_lattice_entry): Remove. - (vr_values::get_value_range): Remove. - (vr_values::range_of_expr): Remove. - (vr_values::value_of_expr): Remove. - (vr_values::value_on_edge): Remove. - (vr_values::value_of_stmt): Remove. - (vr_values::set_def_to_varying): Remove. - (vr_values::set_defs_to_varying): Remove. - (vr_values::update_value_range): Remove. - (symbolic_range_based_on_p): Remove. - (gimple_assign_nonzero_p): Remove. - (gimple_stmt_nonzero_p): Remove. - (vr_values::vrp_stmt_computes_nonzero): Remove. - (vr_values::op_with_constant_singleton_value_range): Remove. - (vr_values::extract_range_for_var_from_comparison_expr): Remove. - (vr_values::extract_range_from_assert): Remove. - (vr_values::extract_range_from_ssa_name): Remove. - (vr_values::extract_range_from_binary_expr): Remove. - (vr_values::extract_range_from_unary_expr): Remove. - (vr_values::extract_range_from_cond_expr): Remove. - (vr_values::extract_range_from_comparison): Remove. - (vr_values::extract_range_from_ubsan_builtin): Remove. - (vr_values::extract_range_basic): Remove. - (vr_values::extract_range_from_assignment): Remove. - (vr_values::adjust_range_with_scev): Remove. - (vr_values::dump): Remove. - (vr_values::vr_values): Remove. - (vr_values::~vr_values): Remove. - (vrp_valueize): Remove. - (vrp_valueize_1): Remove. - (get_output_for_vrp): Remove. - (vr_values::vrp_visit_assignment_or_call): Remove. - (simplify_using_ranges::vrp_evaluate_conditional): Remove. - (vr_values::vrp_visit_switch_stmt): Remove. - (vr_values::extract_range_from_stmt): Remove. - (vr_values::extract_range_from_phi_node): Remove. - (simplify_using_ranges::fold_cond): Add FIXME note. - (vr_values::set_vr_value): Remove. - (vr_values::swap_vr_value): Remove. - * vr-values.h (class vr_values): Remove. - (get_output_for_vrp): Remove. - -2022-11-24 Hongyu Wang <hongyu.wang@intel.com> - - PR target/107692 - * common/config/i386/i386-common.cc (ix86_optimization_table): - Enable loop unroll O2, disable -fweb and -frename-registers - by default. - * config/i386/i386-options.cc - (ix86_override_options_after_change): - Disable small loop unroll when funroll-loops enabled, reset - cunroll_grow_size when it is not explicitly enabled. - (ix86_option_override_internal): Call - ix86_override_options_after_change instead of calling - ix86_recompute_optlev_based_flags and ix86_default_align - separately. - * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll - factor if -munroll-only-small-loops enabled. - * loop-init.cc (pass_rtl_unroll_loops::gate): Do not enable - loop unrolling for -O2-speed. - (pass_rtl_unroll_loops::execute): Rmove - targetm.loop_unroll_adjust check. - -2022-11-23 Ramana Radhakrishnan <ramana.gcc@gmail.com> - - * config/arm/types.md: Update comment. - (is_neon_type): Add neon_fcmla, neon_fcadd. - -2022-11-23 Jonathan Wakely <jwakely@redhat.com> - - * doc/invoke.texi (C++ Dialect Options): Recommend using - -Wdelete-non-virtual-dtor instead of -Wnon-virtual-dtor. - -2022-11-23 Jakub Jelinek <jakub@redhat.com> - - PR bootstrap/107722 - * diagnostic.cc (test_diagnostic_get_location_text): Test - special_fname_builtin () rather than "<built-in>" and expect - special_fname_builtin () concatenated with ":" for it. - -2022-11-23 Martin Liska <mliska@suse.cz> - - * Makefile.in: Set DO_LINK_MUTEX. - -2022-11-23 Lulu Cheng <chenglulu@loongson.cn> - xujiahao <xujiahao@loongson.cn> - - * config/loongarch/constraints.md (ZD): New constraint. - * config/loongarch/loongarch-def.c: Initial number of parallel prefetch. - * config/loongarch/loongarch-tune.h (struct loongarch_cache): - Define number of parallel prefetch. - * config/loongarch/loongarch.cc (loongarch_option_override_internal): - Set up parameters to be used in prefetching algorithm. - * config/loongarch/loongarch.md (prefetch): New template. - -2022-11-23 Marek Polacek <polacek@redhat.com> - - Revert: - 2022-11-23 Marek Polacek <polacek@redhat.com> - - * Makefile.in: Set LD_PICFLAG. Use it. Set enable_host_pie. - Remove NO_PIE_CFLAGS and NO_PIE_FLAG. Pass LD_PICFLAG to - ALL_LINKERFLAGS. Use the "pic" build of libiberty if --enable-host-pie. - * configure.ac (--enable-host-shared): Don't set PICFLAG here. - (--enable-host-pie): New check. Set PICFLAG and LD_PICFLAG after this - check. - * configure: Regenerate. - * doc/install.texi: Document --enable-host-pie. - -2022-11-23 Marek Polacek <polacek@redhat.com> - - Revert: - 2022-11-23 Marek Polacek <polacek@redhat.com> - - * configure.ac (--enable-host-bind-now): New check. Add - -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now. - * configure: Regenerate. - * doc/install.texi: Document --enable-host-bind-now. - -2022-11-23 Marek Polacek <polacek@redhat.com> - - * configure.ac (--enable-host-bind-now): New check. Add - -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now. - * configure: Regenerate. - * doc/install.texi: Document --enable-host-bind-now. - -2022-11-23 Marek Polacek <polacek@redhat.com> - - * Makefile.in: Set LD_PICFLAG. Use it. Set enable_host_pie. - Remove NO_PIE_CFLAGS and NO_PIE_FLAG. Pass LD_PICFLAG to - ALL_LINKERFLAGS. Use the "pic" build of libiberty if --enable-host-pie. - * configure.ac (--enable-host-shared): Don't set PICFLAG here. - (--enable-host-pie): New check. Set PICFLAG and LD_PICFLAG after this - check. - * configure: Regenerate. - * doc/install.texi: Document --enable-host-pie. - -2022-11-22 Jeff Law <jlaw@ventanamicro.com> - - * tree-ssa-dom.cc (record_edge_info): Fix thinko in last commit. - -2022-11-22 Jeff Law <jlaw@ventanamicro.com> - - * tree-ssa-dom.cc (record_edge_info): Fix comment typos. - -2022-11-22 Jeff Law <jeffreyalaw@gmail.com> - - * config/riscv/riscv.cc (riscv_get_separate_components): Do not - do shrink-wrapping for a frame with a variable size. - -2022-11-22 Siddhesh Poyarekar <siddhesh@gotplt.org> - - * tree-object-size.cc (todo): New variable. - (object_sizes_execute): Use it. - (strdup_object_size): New function. - (call_object_size): Use it. - -2022-11-22 Eric Botcazou <ebotcazou@adacore.com> - - * tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst): - Bail out if source and destination do not have the same storage order. - -2022-11-22 Martin Jambor <mjambor@suse.cz> - - * ipa-sra.cc (ipa_sra_dump_all_summaries): Dump edge summaries even - for non-candidates. - -2022-11-22 Martin Jambor <mjambor@suse.cz> - - * ipa-cp.cc (push_agg_values_from_edge): Do not consider constants - in unused aggregate parameters. - -2022-11-22 Martin Jambor <mjambor@suse.cz> - - * ipa-param-manipulation.h (ipa_param_body_adjustments): Removed - member m_split_modifications_p. - * ipa-param-manipulation.cc - (ipa_param_body_adjustments::common_initialization): Do not set - m_split_modifications_p. - (ipa_param_body_adjustments::ipa_param_body_adjustments): Remove - initializations of m_split_modifications_p. - (ipa_param_body_adjustments::modify_call_stmt): Check that - m_replacements is empty instead of m_split_modifications_p. - -2022-11-22 Martin Jambor <mjambor@suse.cz> - - PR ipa/107661 - * ipa-cp.cc (push_agg_values_from_edge): New parameter - optimize_self_recursion, use it to decide whether to pass interim to - the helper function. - (find_aggregate_values_for_callers_subset): Pass true in the new - parameter of push_agg_values_from_edge. - (cgraph_edge_brings_all_agg_vals_for_node): Pass false in the new - parameter of push_agg_values_from_edge. - -2022-11-22 Tobias Burnus <tobias@codesourcery.com> - Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn-builtins.def (FIRST_CALL_THIS_THREAD_P, - GET_STACK_LIMIT): Add new builtins. - * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand them. - * config/gcn/gcn.md (prologue_use): Add "register_operand" as - arg to match_operand. - (prologue_use_di): New; DI insn_and_split variant of the former. - -2022-11-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107803 - * tree-ssa-propagate.cc (substitute_and_fold_dom_walker): Add - need_ab_cleanup member. - (substitute_and_fold_dom_walker::before_dom_children): When - a stmt can no longer transfer control flow abnormally set - need_ab_cleanup. - (substitute_and_fold_engine::substitute_and_fold): Cleanup - abnormal control flow. - -2022-11-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107672 - * tree-vect-stmts.cc (supportable_widening_operation): Avoid - type_for_mode on vector modes. - -2022-11-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107766 - * tree-vect-slp-patterns.cc (complex_mul_pattern::matches): - Use *node to check for FP vector types. - -2022-11-22 liuhongt <hongtao.liu@intel.com> - - * config/i386/mmx.md (*mov<mode>_internal): Add - ix86_hard_reg_move_ok to condition. - -2022-11-22 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386.cc (ix86_can_change_mode_class): Also guard - size of TO. - (ix86_hard_regno_mode_ok): Remove VALID_AVX512FP16_SCALAR_MODE - * config/i386/i386.h (VALID_AVX512FP16_SCALAR_MODE): Merged to - .. - (VALID_AVX512F_SCALAR_MODE): .. this, also add HImode. - (VALID_SSE_REG_MODE): Add DI/HImode. - -2022-11-21 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * config/rtems.h (SUBTARGET_CC1_SPEC): Undef and define. - -2022-11-21 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * gcc.cc (SUBTARGET_CC1_SPEC): Define if not defined. - (cc1_spec): Append SUBTARGET_CC1_SPEC. - -2022-11-21 Dimitar Dimitrov <dimitar@dinux.eu> - - * doc/sourcebuild.texi (sockets): Document new check. - -2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> - - * tree-ssa-loop.h (tree_niter_desc): Update comment. - -2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> - - * tree-ssa-loop-niter.cc - (number_of_iterations_exit_assumptions): Modify to call... - (number_of_iterations_bitcount): ...this new function. - (number_of_iterations_popcount): Now called by the above. - Refactor, and extract popcount expression builder to... - (build_popcount_expr): this new function. - -2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> - - * tree-ssa-loop-niter.cc (ssa_defined_by_minus_one_stmt_p): Move - (number_of_iterations_popcount): Move, and remove separate prototype. - -2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> - - * tree-ssa-loop-niter.cc (number_of_iterations_exit_assumptions): - Move at_stmt assignment. - -2022-11-21 Christophe Lyon <christophe.lyon@arm.com> - - * genmultilib: Fix options and dirnames/osdirnames sanity check. - -2022-11-21 Philipp Tomsich <philipp.tomsich@vrull.eu> - - PR target/107786 - * config/riscv/riscv.md - (*branch<ANYI:mode>_shiftedarith_equals_zero): Wrap ANYI - in a subreg, as our branch instructions only supports X. - -2022-11-21 Jakub Jelinek <jakub@redhat.com> - - PR target/107748 - * config/i386/avx512fp16intrin.h (_mm512_castph512_ph128, - _mm512_castph512_ph256, _mm512_castph128_ph512, - _mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local - variables and union members. - * config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128, - _mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise. - * config/i386/smmintrin.h (_mm_extract_ps): Likewise. - -2022-11-21 Christophe Lyon <christophe.lyon@arm.com> - - * genmultilib: Add sanity check. - -2022-11-21 Eric Botcazou <ebotcazou@adacore.com> - - * config/arm/arm.cc (arm_attribute_table) <cmse_nonsecure_call>: - Change decl_required field to false. - (arm_handle_cmse_nonsecure_call): Deal with a TYPE node. - -2022-11-21 Andrew Pinski <apinski@marvell.com> - - * gimplify.cc (gimplify_modify_expr): If - either *from_p or *to_p were error_operand - return early. - -2022-11-21 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386-builtins.cc (def_builtin): Handle "shared" - avx512bf16vl-avxneconvert builtins. - -2022-11-20 Jakub Jelinek <jakub@redhat.com> - - PR target/107183 - * reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument. - If >= 0 and a DEBUG_INSN would be otherwise returned, set - DEBUG_SEEN to 1 and ignore it. - (swap_rtx_condition): Add DEBUG_SEEN argument. In >= 0 - mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs - were seen and revert all changes on success in that case. - Don't try to recog_memoized DEBUG_INSNs. - (compare_for_stack_reg): Adjust swap_rtx_condition caller. - If it returns true and debug_seen is 1, call swap_rtx_condition - again with debug_seen -1. - -2022-11-20 Jeff Law <jlaw@ventanamicro.com> - - PR other/104044 - * config/mn10300/mn10300.cc (mn10300_print_operand): Remove - extraneous semicolon. - * config/nvptx/nvptx.cc (nvptx_goacc_reduction_fini): Likewise. - -2022-11-19 Andrew Pinski <apinski@marvell.com> - - PR middle-end/14840 - * tree-core.h (tree_code_type): Constexprify - by including all-tree.def. - (tree_code_length): Likewise. - * tree.cc (tree_code_type): Remove. - (tree_code_length): Remove. - -2022-11-19 Thomas Schwinge <thomas@codesourcery.com> - - * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for - '-mmainkernel'. - -2022-11-19 Jonathan Wakely <jwakely@redhat.com> - LIU Hao <lh_mouse@126.com> - - * system.h [INCLUDE_MUTEX]: Include header for std::mutex. - -2022-11-19 Jakub Jelinek <jakub@redhat.com> - - PR target/107628 - * config/i386/i386-protos.h (ix86_expand_fast_convert_bf_to_sf): - Declare. - * config/i386/i386-expand.cc (ix86_expand_fast_convert_bf_to_sf): New - function. - * config/i386/i386.md (cbranchbf4, cstorebf4): Use it. - -2022-11-19 Jeff Chapman II <jchapman@lock3software.com> - Andrew Sutton <asutton@lock3software.com> - Andrew Marmaduke <amarmaduke@lock3software.com> - Michael Lopez <mlopez@lock3software.com> - Jason Merrill <jason@redhat.com> - - * doc/invoke.texi: Document contracts flags. - -2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/bitmanip.md (*minmax): Additional pattern for - min/max against constants that are extension-invariant. - * config/riscv/iterators.md (minmax_optab): Add an iterator - that has only min and max rtl. - -2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/bitmanip.md - (*branch<X:mode>_mask_twobits_equals_singlebit): - Handle "if ((a & T) == C)" using Zbs, when T has 2 bits set and C - has one of these tow bits set. - * config/riscv/predicates.md (const_twobits_not_arith_operand): - New predicate. - -2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/bitmanip.md (*<or_optab>i<mode>_extrabit): - New pattern for binvi+binvi/xori and bseti+bseti/ori - (*andi<mode>_extrabit): New pattern for bclri+bclri/andi - * config/riscv/iterators.md (any_or): Match or and ior - * config/riscv/predicates.md (const_twobits_operand): - New predicate. - (uimm_extra_bit_operand): New predicate. - (uimm_extra_bit_or_twobits): New predicate. - (not_uimm_extra_bit_operand): New predicate. - (not_uimm_extra_bit_or_nottwobits): New predicate. - * config/riscv/riscv.h (UIMM_EXTRA_BIT_OPERAND): - Helper for the uimm_extra_bit_operand and - not_uimm_extra_bit_operand predicates. - -2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/bitmanip.md: Handle corner-cases for combine - when chaining slli(.uw)? + addw - * config/riscv/riscv-protos.h (riscv_shamt_matches_mask_p): - Define prototype. - * config/riscv/riscv.cc (riscv_shamt_matches_mask_p): - Helper for evaluating the relationship between two operands. - -2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/bitmanip.md: Add a define_split to optimize - slliw + addiw + divw into sh[123]add + divw. - -2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/predicates.md (shifted_const_arith_operand): New predicate. - (uimm_extra_bit_operand): New predicate. - * config/riscv/riscv.md (*branch<ANYI:mode>_shiftedarith_equals_zero): - New pattern. - (*branch<ANYI:mode>_shiftedmask_equals_zero): New pattern. - -2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/bitmanip.md (*bsetidisi): New pattern. - -2022-11-18 Richard Purdie <richard.purdie@linuxfoundation.org> - - * doc/invoke.texi: Document prefix-maps don't affect directives. - -2022-11-18 Andrew Pinski <apinski@marvell.com> - - PR middle-end/107705 - * function.cc (aggregate_value_p): Return 0 if - the function type was an error operand. - -2022-11-18 Andrew Pinski <apinski@marvell.com> - - PR c/106764 - PR c/106765 - PR c/107307 - * gimplify.cc (gimplify_compound_lval): Return GS_ERROR - if gimplify_expr had return GS_ERROR. - (gimplify_call_expr): Likewise. - -2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): - Use <GPI:w> for destination format. - * config/aarch64/iterators.md (w_sz): Delete. - -2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * config/aarch64/aarch64.h (TARGET_RCPC2): Define. - * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): - Adjust output template. - (*aarch64_atomic_load<ALLX:mode>_rcpc_sex): Guard on TARGET_RCPC2. - Adjust output template. - * config/aarch64/iterators.md (w_sz): New mode attr. - -2022-11-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107647 - * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only - allow FMA generation with -ffp-contract=fast for FP types. - (complex_mul_pattern::matches): Likewise. - -2022-11-18 Jinyang He <hejinyang@loongson.cn> - - PR target/107713 - * config/loongarch/sync.md - (atomic_cas_value_exchange_7_<mode>): New define_insn. - (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of - atomic_cas_value_cmp_and_7_si. - -2022-11-17 Andrew Pinski <apinski@marvell.com> - - PR middle-end/107734 - * match.pd (perm + vector op pattern): Clear the sbitmap before - use. - -2022-11-17 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107732 - * range-op-float.cc (foperator_abs::op1_range): Early exit when - result is undefined. - -2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/bitmanip.md (*bclri<mode>_nottwobits): New pattern. - (*bclridisi_nottwobits): New pattern, handling the sign-bit. - * config/riscv/predicates.md (const_nottwobits_operand): - New predicate. - -2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/bitmanip.md: Add a splitter to generate - polarity-reversed masks from a set bit using bexti + addi. - -2022-11-17 mtsamis <manolis.tsamis@vrull.eu> - - * config/riscv/riscv.cc (struct machine_function): Add array to store - register wrapping information. - (riscv_for_each_saved_reg): Skip registers that are wrapped separetely. - (riscv_get_separate_components): New function. - (riscv_components_for_bb): Likewise. - (riscv_disqualify_components): Likewise. - (riscv_process_components): Likewise. - (riscv_emit_prologue_components): Likewise. - (riscv_emit_epilogue_components): Likewise. - (riscv_set_handled_components): Likewise. - (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS): Define. - (TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB): Likewise. - (TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS): Likewise. - (TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS): Likewise. - (TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS): Likewise. - (TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Likewise. - -2022-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): - Add mode size check to condition. - (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): Likewise. - -2022-11-17 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/68097 - * gimple-fold.cc (gimple_stmt_nonnegative_warnv_p): Call - range_of_stmt for floats. - -2022-11-17 Lili Cui <lili.cui@intel.com> - - * config/i386/x86-tune.def - (X86_TUNE_AVX256_MOVE_BY_PIECES): Add alderlake. - (X86_TUNE_AVX256_STORE_BY_PIECES): Ditto. - -2022-11-17 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/107717 - * match.pd: Ensure same SSA_NAME. - -2022-11-17 Tamar Christina <tamar.christina@arm.com> - - * match.pd: Replace GET_MODE_WIDER_MODE with - custom code. - -2022-11-17 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (range_operator_float::fold_range): Make check - for maybe_isnan more readable. - -2022-11-17 Kewen Lin <linkw@linux.ibm.com> - - * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use - tree_fits_shwi_p rather than tree_fits_uhwi_p as bias is signed. - -2022-11-17 Jia-Wei Chen <jiawei@iscas.ac.cn> - - * config/riscv/riscv.cc (riscv_expand_epilogue): - Do not emit useless add sp, sp, 0 instrutions. - -2022-11-17 Jeff Law <jlaw@ventanamicro.com> - - * config/sh/sh_treg_combine.cc: Include tm-preds.h. - (t_reg_operand): Remove bogus prototype. - (negt_reg_operand): Likewise. - -2022-11-16 Marek Polacek <polacek@redhat.com> - - PR c++/106649 - * doc/invoke.texi: Document -Winvalid-constexpr. - -2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/bitmanip.md: Add split covering - "(a & (1 << BIT_NO)) ? 0 : 1". - -2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/bitmanip.md (*bext<mode>): Add an additional - pattern that allows the 3rd argument to zero_extract to be - an Xmode register operand. - -2022-11-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107686 - * tree-ssa-forwprop.cc (optimize_vector_load): Restrict - VEC_UNPACK support to integral typed bitfield refs. - -2022-11-16 Richard Biener <rguenther@suse.de> - - PR middle-end/107679 - * tree-into-ssa.cc (maybe_register_def): Use new temporary if - we require an uninitialized value for a parameter decl. - -2022-11-16 Alexander Monakov <amonakov@ispras.ru> - - PR target/107676 - * doc/invoke.texi (-mrelax-cmpxchg-loop): Reword description. - -2022-11-16 Alexander Monakov <amonakov@ispras.ru> - - PR target/87832 - * config/i386/znver.md: (znver1_fp_op_mul): Correct cycles in - the reservation. - (znver1_fp_op_mul_load): Ditto. - (znver1_mmx_mul): Ditto. - (znver1_mmx_load): Ditto. - (znver1_ssemul_ss_ps): Ditto. - (znver1_ssemul_ss_ps_load): Ditto. - (znver1_ssemul_avx256_ps): Ditto. - (znver1_ssemul_avx256_ps_load): Ditto. - (znver1_ssemul_sd_pd): Ditto. - (znver1_ssemul_sd_pd_load): Ditto. - (znver2_ssemul_sd_pd): Ditto. - (znver2_ssemul_sd_pd_load): Ditto. - (znver1_ssemul_avx256_pd): Ditto. - (znver1_ssemul_avx256_pd_load): Ditto. - (znver1_sseimul): Ditto. - (znver1_sseimul_avx256): Ditto. - (znver1_sseimul_load): Ditto. - (znver1_sseimul_avx256_load): Ditto. - (znver1_sseimul_di): Ditto. - (znver1_sseimul_load_di): Ditto. - -2022-11-16 Alexander Monakov <amonakov@ispras.ru> - - PR target/87832 - * config/i386/znver.md (znver1_fdiv): New automaton. - (znver1-fdiv): New unit. - (znver1_fp_op_div): Correct unit and cycles in the reservation. - (znver1_fp_op_div_load): Ditto. - (znver1_fp_op_idiv_load): Ditto. - (znver2_fp_op_idiv_load): Ditto. - (znver1_ssediv_ss_ps): Ditto. - (znver1_ssediv_ss_ps_load): Ditto. - (znver1_ssediv_sd_pd): Ditto. - (znver1_ssediv_sd_pd_load): Ditto. - (znver1_ssediv_avx256_ps): Ditto. - (znver1_ssediv_avx256_ps_load): Ditto. - (znver1_ssediv_avx256_pd): Ditto. - (znver1_ssediv_avx256_pd_load): Ditto. - -2022-11-16 Tobias Burnus <tobias@codesourcery.com> - Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn-builtins.def (KERNARG_PTR): Add. - * config/gcn/gcn.cc (gcn_init_builtin_types): Change siptr_type_node, - sfptr_type_node and voidptr_type_node from FLAT to ADDR_SPACE_DEFAULT. - (gcn_expand_builtin_1): Handle GCN_BUILTIN_KERNARG_PTR. - (gcn_oacc_dim_size): Return in ADDR_SPACE_FLAT. - -2022-11-16 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (ANALYZER_OBJS): Add analyzer/checker-event.o. - -2022-11-16 Max Filippov <jcmvbkbc@gmail.com> - - PR target/107645 - * config/m68k/predicates.md (symbolic_operand): Return false - when UNSPEC is under the CONST node. - -2022-11-16 Christoph Müllner <christoph.muellner@vrull.eu> - - * doc/invoke.texi: Fix PRU/RISC-V option list formatting. - -2022-11-16 Tobias Burnus <tobias@codesourcery.com> - - * config/nvptx/mkoffload.cc (process): Recognize '$nohost$...' - besides tailing '$nohost' as being for reverse offload. - -2022-11-16 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107668 - * range-op-float.cc (float_binary_op_range_finish): Set VARYING - also when r is UNDEFINED. - -2022-11-16 Kewen Lin <linkw@linux.ibm.com> - - PR rtl-optimization/90259 - * function.cc (rest_of_handle_thread_prologue_and_epilogue): Add - parameter fun, and call function purge_all_dead_edges. - (pass_thread_prologue_and_epilogue::execute): Name unamed parameter - as fun, and use it for rest_of_handle_thread_prologue_and_epilogue. - -2022-11-15 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/riscv-builtins.cc (struct riscv_builtin_description): - add the pause machine-dependent builtin with no result and no - arguments; mark it as always present (pause is a true hint - that encodes into a fence-insn, if not supported with the new - pause semantics). - * config/riscv/riscv-ftypes.def: Add type for void -> void. - * config/riscv/riscv.md (riscv_pause): Add risc_pause and - UNSPECV_PAUSE - * doc/extend.texi: Document __builtin_riscv_pause. - * optabs.cc (maybe_gen_insn): Allow nops == 0 (void -> void). - -2022-11-15 David Faust <david.faust@oracle.com> - - * config/bpf/bpf.cc (bpf_expand_builtin): Avoid use of uninitialized - variable in error case. - -2022-11-15 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106140 - * doc/invoke.texi (Static Analyzer Options): Add - -Wanalyzer-fd-phase-mismatch and -Wanalyzer-fd-type-mismatch. Add - "socket", "bind", "listen", "accept", and "connect" to the list of - functions known to the analyzer. - -2022-11-15 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106302 - * Makefile.in (ANALYZER_OBJS): Add analyzer/analyzer-language.o. - (GTFILES): Add analyzer/analyzer-language.cc. - * doc/analyzer.texi: Document __analyzer_dump_named_constant. - -2022-11-15 Lewis Hyatt <lhyatt@gmail.com> - - * json.h (class string): Add M_LEN member to store the length of - the data. Add constructor taking an explicit length. - * json.cc (string::string): Implement the new constructor. - (string::print): Support printing strings that are not - null-terminated. Escape embdedded null bytes on output. - (test_writing_strings): Test the new null-byte-related features of - json::string. - -2022-11-15 Lewis Hyatt <lhyatt@gmail.com> - - * diagnostic.cc (diagnostic_get_location_text): Use - special_fname_builtin () rather than a hardcoded string (which was - also incorrectly left untranslated previously.) - * input.cc (special_fname_builtin): New function. - (expand_location_1): Use special_fname_builtin () rather than a - hard-coded string. - (test_builtins): Likewise. - * input.h (special_fname_builtin): Declare. - -2022-11-15 Lewis Hyatt <lhyatt@gmail.com> - - * tree-diagnostic.cc (maybe_unwind_expanded_macro_loc): Handle ad-hoc - location in return value of linemap_resolve_location(). - -2022-11-15 Jonathan Wakely <jwakely@redhat.com> - - * doc/cpp.texi (Pragmas): Use @item and @itemx for region - pragmas. - -2022-11-15 Maciej W. Rozycki <macro@embecosm.com> - - * ira-color.cc (assign_hard_reg): Remove duplicate `memset' over - `full_costs'. - -2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/aarch64/atomics.md - (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): New pattern. - (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): New pattern. - -2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com> - Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New Macro. - (TARGET_RCPC): New Macro. - * config/aarch64/atomics.md (atomic_load<mode>): Change into an expand. - (aarch64_atomic_load<mode>_rcpc): New define_insn for ldapr. - (aarch64_atomic_load<mode>): Rename of old define_insn for ldar. - * config/aarch64/iterators.md (UNSPEC_LDAP): New unspec enum value. - * doc/invoke.texi (rcpc): Ammend documentation to mention the effects - on code generation. - -2022-11-15 Hongyu Wang <hongyu.wang@intel.com> - - PR target/98167 - * match.pd: New perm + vector op patterns for int and fp vector. - -2022-11-15 Andrew Pinski <apinski@marvell.com> - - * doc/invoke.texi: Remove Score option section. - -2022-11-15 Andrew Pinski <apinski@marvell.com> - - * doc/extend.texi: Remove picoChip builtin section. - * doc/invoke.texi: Remove picoChip option section. - -2022-11-15 Andrew Pinski <apinski@marvell.com> - - * doc/extend.texi: Remove MeP documentation. - * doc/invoke.texi: Remove MeP Options documentation. - -2022-11-15 Andrew Pinski <apinski@marvell.com> - - * doc/invoke.texi: Fix opindex for mcall-aixdesc and mcall-openbsd. - -2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> - - Revert: - 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1. - (RISCV_CORE): Ditto. - * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto. - * config/riscv/riscv.cc: Add tune_info for ventana-vt1. - * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1. - -2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> - - Revert: - 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic - constants to identify supported fusion patterns. - (struct riscv_tune_param): Add fusible_op field. - (riscv_macro_fusion_p): Implement. - (riscv_fusion_enabled_p): Implement. - (riscv_macro_fusion_pair_p): Implement and recognize fusible - idioms for Ventana VT1. - (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p. - (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to - riscv_macro_fusion_pair_p. - -2022-11-14 Maciej W. Rozycki <macro@embecosm.com> - - * ira-build.cc (create_insn_allocnos): Fix documentation. - -2022-11-14 Tamar Christina <tamar.christina@arm.com> - - * match.pd: Remove returns. - -2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/bitmanip.md (orcb<mode>2): Add orc.b as an - unspec. - * config/riscv/riscv.md: Add UNSPEC_ORC_B. - -2022-11-14 Tamar Christina <tamar.christina@arm.com> - - * target.def: Fix typo. - -2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic - constants to identify supported fusion patterns. - (struct riscv_tune_param): Add fusible_op field. - (riscv_macro_fusion_p): Implement. - (riscv_fusion_enabled_p): Implement. - (riscv_macro_fusion_pair_p): Implement and recognize fusible - idioms for Ventana VT1. - (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p. - (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to - riscv_macro_fusion_pair_p. - -2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1. - (RISCV_CORE): Ditto. - * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto. - * config/riscv/riscv.cc: Add tune_info for ventana-vt1. - * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1. - -2022-11-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * config/aarch64/aarch64-option-extensions.def (cssc): Define. - * config/aarch64/aarch64.h (AARCH64_ISA_CSSC): Define. - (TARGET_CSSC): Likewise. - * config/aarch64/aarch64.md (*aarch64_abs<mode>2_cssc_ins): New define_insn. - (abs<mode>2): Adjust for the above. - (aarch64_umax<mode>3_insn): New define_insn. - (umax<mode>3): Adjust for the above. - (*aarch64_popcount<mode>2_cssc_insn): New define_insn. - (popcount<mode>2): Adjust for the above. - (<optab><mode>3): New define_insn. - * config/aarch64/constraints.md (Usm): Define. - (Uum): Likewise. - * doc/invoke.texi (AArch64 options): Document +cssc. - * config/aarch64/iterators.md (MAXMIN_NOUMAX): New code iterator. - * config/aarch64/predicates.md (aarch64_sminmax_immediate): Define. - (aarch64_sminmax_operand): Likewise. - (aarch64_uminmax_immediate): Likewise. - (aarch64_uminmax_operand): Likewise. - -2022-11-14 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-sve2.md (@aarch64_bitmask_udiv<mode>3): New. - -2022-11-14 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-simd.md (@aarch64_bitmask_udiv<mode>3): New. - * config/aarch64/aarch64.cc (aarch64_vectorize_can_special_div_by_constant): New. - -2022-11-14 Tamar Christina <tamar.christina@arm.com> - - * expmed.h (expand_divmod): Pass tree operands down in addition to RTX. - * expmed.cc (expand_divmod): Likewise. - * explow.cc (round_push, align_dynamic_address): Likewise. - * expr.cc (force_operand, expand_expr_divmod): Likewise. - * optabs.cc (expand_doubleword_mod, expand_doubleword_divmod): - Likewise. - * target.h: Include tree-core. - * target.def (can_special_div_by_const): New. - * targhooks.cc (default_can_special_div_by_const): New. - * targhooks.h (default_can_special_div_by_const): New. - * tree-vect-generic.cc (expand_vector_operation): Use it. - * doc/tm.texi.in: Document it. - * doc/tm.texi: Regenerate. - * tree-vect-patterns.cc (vect_recog_divmod_pattern): Check for support. - * tree-vect-stmts.cc (vectorizable_operation): Likewise. - -2022-11-14 Tamar Christina <tamar.christina@arm.com> - - * generic-match-head.cc: Include langooks. - * gimple-match-head.cc: Likewise. - * match.pd: Add fneg/fadd rule. - -2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com> - - * config/arm/arm-cpus.in (cortex-x1c): Define new CPU. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Likewise. - * doc/invoke.texi: Document Cortex-X1C CPU. - -2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com> - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X3 - CPU. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi: Document Cortex-X3 CPU. - -2022-11-14 Andrew Pinski <apinski@marvell.com> - - * doc/invoke.texi: Fix @opindex - for m80387 option. - -2022-11-14 Andrew Pinski <apinski@marvell.com> - - * doc/invoke.texi: Remove the front - from - some @opindex. - -2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a. - * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs. - * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR): - Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two - registers and then +1/-1). - * config/aarch64/aarch64-tune.md: Regenerate. - * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement - idiom-matcher for the new fusion pair. - * doc/invoke.texi: Add ampere1a. - -2022-11-14 Richard Biener <rguenther@suse.de> - - * match.pd: Remove duplicates. - -2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/contrib.texi: Port from Sphinx. - * doc/cpp.texi: Likewise. - * doc/install.texi: Likewise. - * doc/invoke.texi: Likewise. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/cpp/character-sets.rst: New file. - * doc/cpp/conditional-syntax.rst: New file. - * doc/cpp/conditional-uses.rst: New file. - * doc/cpp/conditionals.rst: New file. - * doc/cpp/conf.py: New file. - * doc/cpp/copyright.rst: New file. - * doc/cpp/deleted-code.rst: New file. - * doc/cpp/diagnostics.rst: New file. - * doc/cpp/environment-variables.rst: New file. - * doc/cpp/gnu-free-documentation-license.rst: New file. - * doc/cpp/header-files.rst: New file. - * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file. - * doc/cpp/header-files/computed-includes.rst: New file. - * doc/cpp/header-files/include-operation.rst: New file. - * doc/cpp/header-files/include-syntax.rst: New file. - * doc/cpp/header-files/once-only-headers.rst: New file. - * doc/cpp/header-files/search-path.rst: New file. - * doc/cpp/header-files/system-headers.rst: New file. - * doc/cpp/header-files/wrapper-headers.rst: New file. - * doc/cpp/implementation-defined-behavior.rst: New file. - * doc/cpp/implementation-details.rst: New file. - * doc/cpp/implementation-limits.rst: New file. - * doc/cpp/index.rst: New file. - * doc/cpp/indices-and-tables.rst: New file. - * doc/cpp/initial-processing.rst: New file. - * doc/cpp/invocation.rst: New file. - * doc/cpp/line-control.rst: New file. - * doc/cpp/macros.rst: New file. - * doc/cpp/macros/concatenation.rst: New file. - * doc/cpp/macros/directives-within-macro-arguments.rst: New file. - * doc/cpp/macros/function-like-macros.rst: New file. - * doc/cpp/macros/macro-arguments.rst: New file. - * doc/cpp/macros/macro-pitfalls.rst: New file. - * doc/cpp/macros/object-like-macros.rst: New file. - * doc/cpp/macros/predefined-macros.rst: New file. - * doc/cpp/macros/stringizing.rst: New file. - * doc/cpp/macros/undefining-and-redefining-macros.rst: New file. - * doc/cpp/macros/variadic-macros.rst: New file. - * doc/cpp/obsolete-features.rst: New file. - * doc/cpp/other-directives.rst: New file. - * doc/cpp/overview.rst: New file. - * doc/cpp/pragmas.rst: New file. - * doc/cpp/preprocessor-output.rst: New file. - * doc/cpp/the-preprocessing-language.rst: New file. - * doc/cpp/tokenization.rst: New file. - * doc/cpp/traditional-lexical-analysis.rst: New file. - * doc/cpp/traditional-macros.rst: New file. - * doc/cpp/traditional-miscellany.rst: New file. - * doc/cpp/traditional-mode.rst: New file. - * doc/cpp/traditional-warnings.rst: New file. - * doc/cppinternals/conf.py: New file. - * doc/cppinternals/copyright.rst: New file. - * doc/cppinternals/cppinternals.rst: New file. - * doc/cppinternals/cpplib.rst: New file. - * doc/cppinternals/files.rst: New file. - * doc/cppinternals/index.rst: New file. - * doc/cppinternals/indices-and-tables.rst: New file. - * doc/cppinternals/internal-representation-of-macros.rst: New file. - * doc/cppinternals/just-which-line-number-anyway.rst: New file. - * doc/cppinternals/lexing-a-line.rst: New file. - * doc/cppinternals/lexing-a-token.rst: New file. - * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file. - * doc/cppinternals/macro-expansion-overview.rst: New file. - * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file. - * doc/cppinternals/multiple-include-optimization.rst: New file. - * doc/cppinternals/overview.rst: New file. - * doc/cppinternals/representation-of-line-numbers.rst: New file. - * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file. - * doc/gcc/binary-compatibility.rst: New file. - * doc/gcc/c++-implementation-defined-behavior.rst: New file. - * doc/gcc/c-implementation-defined-behavior.rst: New file. - * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file. - * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file. - * doc/gcc/c-implementation-defined-behavior/characters.rst: New file. - * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file. - * doc/gcc/c-implementation-defined-behavior/environment.rst: New file. - * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file. - * doc/gcc/c-implementation-defined-behavior/hints.rst: New file. - * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file. - * doc/gcc/c-implementation-defined-behavior/integers.rst: New file. - * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file. - * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file. - * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file. - * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file. - * doc/gcc/c-implementation-defined-behavior/statements.rst: New file. - * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst: - New file. - * doc/gcc/c-implementation-defined-behavior/translation.rst: New file. - * doc/gcc/conditionally-supported-behavior.rst: New file. - * doc/gcc/conf.py: New file. - * doc/gcc/contributing-to-gcc-development.rst: New file. - * doc/gcc/contributors-to-gcc.rst: New file. - * doc/gcc/copyright.rst: New file. - * doc/gcc/exception-handling.rst: New file. - * doc/gcc/extensions-to-the-c++-language.rst: New file. - * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file. - * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file. - * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst: - New file. - * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file. - * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst: - New file. - * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file. - * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file. - * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file. - * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file. - * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst: - New file. - * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file. - * doc/gcc/extensions-to-the-c-language-family.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst: - New file. - * doc/gcc/funding.rst: New file. - * doc/gcc/gcc-command-options.rst: New file. - * doc/gcc/gcc-command-options/c++-modules.rst: New file. - * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file. - * doc/gcc/gcc-command-options/description.rst: New file. - * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file. - * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst: - New file. - * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst: - New file. - * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst: - New file. - * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file. - * doc/gcc/gcc-command-options/option-summary.rst: New file. - * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file. - * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file. - * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst: - New file. - * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file. - * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file. - * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file. - * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file. - * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file. - * doc/gcc/gcc-command-options/options-for-linking.rst: New file. - * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file. - * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file. - * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: - New file. - * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file. - * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file. - * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file. - * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst: - New file. - * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file. - * doc/gcc/gcc.rst: New file. - * doc/gcc/gcov-dump.rst: New file. - * doc/gcc/gcov-tool.rst: New file. - * doc/gcc/gcov.rst: New file. - * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file. - * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file. - * doc/gcc/gcov/introduction-to-gcov.rst: New file. - * doc/gcc/gcov/invoking-gcov.rst: New file. - * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file. - * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file. - * doc/gcc/general-public-license-3.rst: New file. - * doc/gcc/gnu-free-documentation-license.rst: New file. - * doc/gcc/gnu-objective-c-features.rst: New file. - * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file. - * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file. - * doc/gcc/gnu-objective-c-features/exceptions.rst: New file. - * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file. - * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file. - * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file. - * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file. - * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file. - * doc/gcc/gnu-objective-c-features/synchronization.rst: New file. - * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file. - * doc/gcc/gnu.rst: New file. - * doc/gcc/have-you-found-a-bug.rst: New file. - * doc/gcc/how-and-where-to-report-bugs.rst: New file. - * doc/gcc/how-to-get-help-with-gcc.rst: New file. - * doc/gcc/index.rst: New file. - * doc/gcc/indices-and-tables.rst: New file. - * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file. - * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file. - * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst: - New file. - * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst: - New file. - * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst: - New file. - * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file. - * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file. - * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file. - * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file. - * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst: - New file. - * doc/gcc/language-standards-supported-by-gcc.rst: New file. - * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file. - * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file. - * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file. - * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file. - * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst: - New file. - * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file. - * doc/gcc/lto-dump.rst: New file. - * doc/gcc/programming-languages-supported-by-gcc.rst: New file. - * doc/gcc/reporting-bugs.rst: New file. - * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst: - New file. - * doc/gccint/analysis-and-representation-of-loops.rst: New file. - * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file. - * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file. - * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file. - * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file. - * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file. - * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file. - * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst: - New file. - * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file. - * doc/gccint/analyzer-internals.rst: New file. - * doc/gccint/collect2.rst: New file. - * doc/gccint/conf.py: New file. - * doc/gccint/contributing-to-gcc-development.rst: New file. - * doc/gccint/contributors-to-gcc.rst: New file. - * doc/gccint/control-flow-graph.rst: New file. - * doc/gccint/control-flow-graph/basic-blocks.rst: New file. - * doc/gccint/control-flow-graph/edges.rst: New file. - * doc/gccint/control-flow-graph/liveness-information.rst: New file. - * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file. - * doc/gccint/control-flow-graph/profile-information.rst: New file. - * doc/gccint/copyright.rst: New file. - * doc/gccint/debugging-the-analyzer.rst: New file. - * doc/gccint/funding.rst: New file. - * doc/gccint/gcc-and-portability.rst: New file. - * doc/gccint/general-public-license-3.rst: New file. - * doc/gccint/generic.rst: New file. - * doc/gccint/generic/attributes-in-trees.rst: New file. - * doc/gccint/generic/c-and-c++-trees.rst: New file. - * doc/gccint/generic/declarations.rst: New file. - * doc/gccint/generic/deficiencies.rst: New file. - * doc/gccint/generic/expressions.rst: New file. - * doc/gccint/generic/functions.rst: New file. - * doc/gccint/generic/language-dependent-trees.rst: New file. - * doc/gccint/generic/overview.rst: New file. - * doc/gccint/generic/statements.rst: New file. - * doc/gccint/generic/types.rst: New file. - * doc/gccint/gimple-api.rst: New file. - * doc/gccint/gimple.rst: New file. - * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file. - * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file. - * doc/gccint/gimple/exception-handling.rst: New file. - * doc/gccint/gimple/gimple-instruction-set.rst: New file. - * doc/gccint/gimple/gimple-sequences.rst: New file. - * doc/gccint/gimple/manipulating-gimple-statements.rst: New file. - * doc/gccint/gimple/operands.rst: New file. - * doc/gccint/gimple/sequence-iterators.rst: New file. - * doc/gccint/gimple/statement-and-operand-traversals.rst: New file. - * doc/gccint/gimple/temporaries.rst: New file. - * doc/gccint/gimple/tuple-representation.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file. - * doc/gccint/gnu-free-documentation-license.rst: New file. - * doc/gccint/guidelines-for-diagnostics.rst: New file. - * doc/gccint/guidelines-for-options.rst: New file. - * doc/gccint/host-common.rst: New file. - * doc/gccint/host-configuration.rst: New file. - * doc/gccint/host-filesystem.rst: New file. - * doc/gccint/host-makefile-fragments.rst: New file. - * doc/gccint/host-misc.rst: New file. - * doc/gccint/index.rst: New file. - * doc/gccint/indices-and-tables.rst: New file. - * doc/gccint/interfacing-to-gcc-output.rst: New file. - * doc/gccint/introduction.rst: New file. - * doc/gccint/language-front-ends-in-gcc.rst: New file. - * doc/gccint/link-time-optimization.rst: New file. - * doc/gccint/link-time-optimization/design-overview.rst: New file. - * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file. - * doc/gccint/link-time-optimization/lto-file-sections.rst: New file. - * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file. - * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst: - New file. - * doc/gccint/machine-descriptions.rst: New file. - * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file. - * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file. - * doc/gccint/machine-descriptions/conditional-execution.rst: New file. - * doc/gccint/machine-descriptions/constant-definitions.rst: New file. - * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file. - * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file. - * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file. - * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file. - * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file. - * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file. - * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file. - * doc/gccint/machine-descriptions/instruction-attributes.rst: New file. - * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file. - * doc/gccint/machine-descriptions/iterators.rst: New file. - * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file. - * doc/gccint/machine-descriptions/operand-constraints.rst: New file. - * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file. - * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst: - New file. - * doc/gccint/machine-descriptions/predicates.rst: New file. - * doc/gccint/machine-descriptions/rtl-template.rst: New file. - * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file. - * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file. - * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file. - * doc/gccint/makefile-fragments.rst: New file. - * doc/gccint/match-and-simplify.rst: New file. - * doc/gccint/memory-management-and-type-information.rst: New file. - * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst: - New file. - * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst: - New file. - * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst: - New file. - * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file. - * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst: - New file. - * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file. - * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst: - New file. - * doc/gccint/option-file-format.rst: New file. - * doc/gccint/option-properties.rst: New file. - * doc/gccint/option-specification-files.rst: New file. - * doc/gccint/passes-and-files-of-the-compiler.rst: New file. - * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file. - * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst: - New file. - * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file. - * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file. - * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file. - * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file. - * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file. - * doc/gccint/plugins.rst: New file. - * doc/gccint/plugins/building-gcc-plugins.rst: New file. - * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file. - * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file. - * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file. - * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file. - * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file. - * doc/gccint/plugins/loading-plugins.rst: New file. - * doc/gccint/plugins/plugin-api.rst: New file. - * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file. - * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file. - * doc/gccint/rtl-representation.rst: New file. - * doc/gccint/rtl-representation/access-to-operands.rst: New file. - * doc/gccint/rtl-representation/access-to-special-operands.rst: New file. - * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file. - * doc/gccint/rtl-representation/bit-fields.rst: New file. - * doc/gccint/rtl-representation/comparison-operations.rst: New file. - * doc/gccint/rtl-representation/constant-expression-types.rst: New file. - * doc/gccint/rtl-representation/conversions.rst: New file. - * doc/gccint/rtl-representation/declarations.rst: New file. - * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file. - * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file. - * doc/gccint/rtl-representation/insns.rst: New file. - * doc/gccint/rtl-representation/machine-modes.rst: New file. - * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file. - * doc/gccint/rtl-representation/reading-rtl.rst: New file. - * doc/gccint/rtl-representation/registers-and-memory.rst: New file. - * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file. - * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file. - * doc/gccint/rtl-representation/rtl-object-types.rst: New file. - * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file. - * doc/gccint/rtl-representation/side-effect-expressions.rst: New file. - * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file. - * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file. - * doc/gccint/rtl-representation/vector-operations.rst: New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst: - New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst: - New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst: - New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst: - New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst: - New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file. - * doc/gccint/source-tree-structure-and-build-system.rst: New file. - * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst: - New file. - * doc/gccint/standard-header-file-directories.rst: New file. - * doc/gccint/static-analyzer.rst: New file. - * doc/gccint/target-macros.rst: New file. - * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file. - * doc/gccint/target-macros/addressing-modes.rst: New file. - * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file. - * doc/gccint/target-macros/anchored-addresses.rst: New file. - * doc/gccint/target-macros/c++-abi-parameters.rst: New file. - * doc/gccint/target-macros/condition-code-status.rst: New file. - * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file. - * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file. - * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file. - * doc/gccint/target-macros/d-abi-parameters.rst: New file. - * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file. - * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst: - New file. - * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file. - * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: - New file. - * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file. - * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file. - * doc/gccint/target-macros/emulating-tls.rst: New file. - * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file. - * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file. - * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file. - * doc/gccint/target-macros/miscellaneous-parameters.rst: New file. - * doc/gccint/target-macros/mode-switching-instructions.rst: New file. - * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst: - New file. - * doc/gccint/target-macros/position-independent-code.rst: New file. - * doc/gccint/target-macros/register-classes.rst: New file. - * doc/gccint/target-macros/register-usage.rst: New file. - * doc/gccint/target-macros/run-time-target-specification.rst: New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst: - New file. - * doc/gccint/target-macros/storage-layout.rst: New file. - * doc/gccint/target-macros/support-for-nested-functions.rst: New file. - * doc/gccint/target-macros/the-global-targetm-variable.rst: New file. - * doc/gccint/target-makefile-fragments.rst: New file. - * doc/gccint/testsuites.rst: New test. - * doc/gccint/testsuites/ada-language-testsuites.rst: New test. - * doc/gccint/testsuites/c-language-testsuites.rst: New test. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst: - New test. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst: - New test. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst: - New test. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst: - New test. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst: - New test. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst: - New test. - * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test. - * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test. - * doc/gccint/testsuites/support-for-testing-gcov.rst: New test. - * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test. - * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test. - * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test. - * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test. - * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test. - * doc/gccint/the-gcc-low-level-runtime-library.rst: New file. - * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst: - New file. - * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst: - New file. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst: - New file. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst: - New file. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst: - New file. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst: - New file. - * doc/gccint/the-language.rst: New file. - * doc/gccint/user-experience-guidelines.rst: New file. - * doc/install/binaries.rst: New file. - * doc/install/building.rst: New file. - * doc/install/building/building-a-cross-compiler.rst: New file. - * doc/install/building/building-a-native-compiler.rst: New file. - * doc/install/building/building-in-parallel.rst: New file. - * doc/install/building/building-the-ada-compiler.rst: New file. - * doc/install/building/building-the-d-compiler.rst: New file. - * doc/install/building/building-with-profile-feedback.rst: New file. - * doc/install/conf.py: New file. - * doc/install/configuration.rst: New file. - * doc/install/copyright.rst: New file. - * doc/install/downloading-gcc.rst: New file. - * doc/install/final-installation.rst: New file. - * doc/install/gnu-free-documentation-license.rst: New file. - * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file. - * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test. - * doc/install/how-to-interpret-test-results.rst: New file. - * doc/install/index.rst: New file. - * doc/install/indices-and-tables.rst: New file. - * doc/install/installing-gcc.rst: New file. - * doc/install/passing-options-and-running-multiple-testsuites.rst: New test. - * doc/install/prerequisites.rst: New file. - * doc/install/submitting-test-results.rst: New file. - * doc/install/testing.rst: New file. - -2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: Revert. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * common/common-target.def: Port to RST. - * target.def: Port to RST. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file. - * doc/gccint/target-macros/addressing-modes.rst: Likewise. - * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise. - * doc/gccint/target-macros/anchored-addresses.rst: Likewise. - * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise. - * doc/gccint/target-macros/condition-code-status.rst: Likewise. - * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise. - * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise. - * doc/gccint/target-macros/d-abi-parameters.rst: Likewise. - * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise. - * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: - Likewise. - * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: - Likewise. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: - Likewise. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: - Likewise. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: - Likewise. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst: - Likewise. - * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: - Likewise. - * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise. - * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise. - * doc/gccint/target-macros/emulating-tls.rst: Likewise. - * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise. - * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise. - * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise. - * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise. - * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise. - * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst: - Likewise. - * doc/gccint/target-macros/register-classes.rst: Likewise. - * doc/gccint/target-macros/register-usage.rst: Likewise. - * doc/gccint/target-macros/run-time-target-specification.rst: Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst: - Likewise. - * doc/gccint/target-macros/storage-layout.rst: Likewise. - * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * Makefile.in: Support Sphinx based documentation. - * configure: Regenerate. - * configure.ac: Support Sphinx based documentation. - * genhooks.cc (struct s_hook): Emit tm.rst.in file. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gccint/target-macros/tm.rst.in: New file. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/analyzer.texi: Removed. - * doc/avr-mmcu.texi: Removed. - * doc/bugreport.texi: Removed. - * doc/cfg.texi: Removed. - * doc/collect2.texi: Removed. - * doc/compat.texi: Removed. - * doc/configfiles.texi: Removed. - * doc/configterms.texi: Removed. - * doc/contrib.texi: Removed. - * doc/contribute.texi: Removed. - * doc/cpp.texi: Removed. - * doc/cppdiropts.texi: Removed. - * doc/cppenv.texi: Removed. - * doc/cppinternals.texi: Removed. - * doc/cppopts.texi: Removed. - * doc/cppwarnopts.texi: Removed. - * doc/extend.texi: Removed. - * doc/fragments.texi: Removed. - * doc/frontends.texi: Removed. - * doc/gcc.texi: Removed. - * doc/gccint.texi: Removed. - * doc/gcov-dump.texi: Removed. - * doc/gcov-tool.texi: Removed. - * doc/gcov.texi: Removed. - * doc/generic.texi: Removed. - * doc/gimple.texi: Removed. - * doc/gnu.texi: Removed. - * doc/gty.texi: Removed. - * doc/headerdirs.texi: Removed. - * doc/hostconfig.texi: Removed. - * doc/implement-c.texi: Removed. - * doc/implement-cxx.texi: Removed. - * doc/include/fdl.texi: Removed. - * doc/include/funding.texi: Removed. - * doc/include/gcc-common.texi: Removed. - * doc/include/gpl_v3.texi: Removed. - * doc/install.texi: Removed. - * doc/interface.texi: Removed. - * doc/invoke.texi: Removed. - * doc/languages.texi: Removed. - * doc/libgcc.texi: Removed. - * doc/loop.texi: Removed. - * doc/lto-dump.texi: Removed. - * doc/lto.texi: Removed. - * doc/makefile.texi: Removed. - * doc/match-and-simplify.texi: Removed. - * doc/md.texi: Removed. - * doc/objc.texi: Removed. - * doc/optinfo.texi: Removed. - * doc/options.texi: Removed. - * doc/passes.texi: Removed. - * doc/plugins.texi: Removed. - * doc/poly-int.texi: Removed. - * doc/portability.texi: Removed. - * doc/rtl.texi: Removed. - * doc/service.texi: Removed. - * doc/sourcebuild.texi: Removed. - * doc/standards.texi: Removed. - * doc/tm.texi: Removed. - * doc/tree-ssa.texi: Removed. - * doc/trouble.texi: Removed. - * doc/ux.texi: Removed. - * doc/tm.texi.in: Removed. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - - * target.def: Use proper lexers for target macros. - * doc/gccint/target-macros/tm.rst.in: Re-generate. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - - * Makefile.in: Support --with-sphinx-build. - * configure.ac: - * configure: Regenerate. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: - Fix cross manual refs. - * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: - Likewise. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: - Do not include tm.rst.in. - * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: - Likewise. - * doc/gccint/target-macros/run-time-target-specification.rst: - Likewise. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: - Port to RST. - * doc/gccint/target-macros/storage-layout.rst: Likewise. - * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master. - * doc/gcc/gcc-command-options/option-summary.rst: Likewise. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - - * Makefile.in: Support installation if sphinx-build is missing. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - - * Makefile.in: Add vpath default for .rst files. - * config/avr/avr-devices.cc: For port RST. - * config/avr/avr-mcus.def: Update path. - * config/avr/gen-avr-mmcu-texi.cc: Moved to... - * config/avr/gen-avr-mmcu-rst.cc: ...here. - * config/avr/t-avr: Update to rst. - * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - - * opts.cc (get_option_html_page): Port to sphinx URLs. - (get_option_url): Likewise. - (test_get_option_html_page): Likewise. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/cpp/character-sets.rst: - Add trailing newline. - * doc/cpp/conditional-syntax.rst: - Add trailing newline. - * doc/cpp/conditional-uses.rst: - Add trailing newline. - * doc/cpp/conditionals.rst: - Add trailing newline. - * doc/cpp/copyright.rst: - Add trailing newline. - * doc/cpp/deleted-code.rst: - Add trailing newline. - * doc/cpp/diagnostics.rst: - Add trailing newline. - * doc/cpp/environment-variables.rst: - Add trailing newline. - * doc/cpp/gnu-free-documentation-license.rst: - Add trailing newline. - * doc/cpp/header-files.rst: - Add trailing newline. - * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: - Add trailing newline. - * doc/cpp/header-files/computed-includes.rst: - Add trailing newline. - * doc/cpp/header-files/include-operation.rst: - Add trailing newline. - * doc/cpp/header-files/include-syntax.rst: - Add trailing newline. - * doc/cpp/header-files/once-only-headers.rst: - Add trailing newline. - * doc/cpp/header-files/search-path.rst: - Add trailing newline. - * doc/cpp/header-files/system-headers.rst: - Add trailing newline. - * doc/cpp/header-files/wrapper-headers.rst: - Add trailing newline. - * doc/cpp/implementation-defined-behavior.rst: - Add trailing newline. - * doc/cpp/implementation-details.rst: - Add trailing newline. - * doc/cpp/implementation-limits.rst: - Add trailing newline. - * doc/cpp/index.rst: - Add trailing newline. - * doc/cpp/indices-and-tables.rst: - Add trailing newline. - * doc/cpp/initial-processing.rst: - Add trailing newline. - * doc/cpp/invocation.rst: - Add trailing newline. - * doc/cpp/line-control.rst: - Add trailing newline. - * doc/cpp/macros.rst: - Add trailing newline. - * doc/cpp/macros/concatenation.rst: - Add trailing newline. - * doc/cpp/macros/directives-within-macro-arguments.rst: - Add trailing newline. - * doc/cpp/macros/function-like-macros.rst: - Add trailing newline. - * doc/cpp/macros/macro-arguments.rst: - Add trailing newline. - * doc/cpp/macros/macro-pitfalls.rst: - Add trailing newline. - * doc/cpp/macros/object-like-macros.rst: - Add trailing newline. - * doc/cpp/macros/predefined-macros.rst: - Add trailing newline. - * doc/cpp/macros/stringizing.rst: - Add trailing newline. - * doc/cpp/macros/undefining-and-redefining-macros.rst: - Add trailing newline. - * doc/cpp/macros/variadic-macros.rst: - Add trailing newline. - * doc/cpp/obsolete-features.rst: - Add trailing newline. - * doc/cpp/other-directives.rst: - Add trailing newline. - * doc/cpp/overview.rst: - Add trailing newline. - * doc/cpp/pragmas.rst: - Add trailing newline. - * doc/cpp/preprocessor-output.rst: - Add trailing newline. - * doc/cpp/the-preprocessing-language.rst: - Add trailing newline. - * doc/cpp/tokenization.rst: - Add trailing newline. - * doc/cpp/traditional-lexical-analysis.rst: - Add trailing newline. - * doc/cpp/traditional-macros.rst: - Add trailing newline. - * doc/cpp/traditional-miscellany.rst: - Add trailing newline. - * doc/cpp/traditional-mode.rst: - Add trailing newline. - * doc/cpp/traditional-warnings.rst: - Add trailing newline. - * doc/cppinternals/copyright.rst: - Add trailing newline. - * doc/cppinternals/cppinternals.rst: - Add trailing newline. - * doc/cppinternals/cpplib.rst: - Add trailing newline. - * doc/cppinternals/files.rst: - Add trailing newline. - * doc/cppinternals/index.rst: - Add trailing newline. - * doc/cppinternals/indices-and-tables.rst: - Add trailing newline. - * doc/cppinternals/internal-representation-of-macros.rst: - Add trailing newline. - * doc/cppinternals/just-which-line-number-anyway.rst: - Add trailing newline. - * doc/cppinternals/lexing-a-line.rst: - Add trailing newline. - * doc/cppinternals/lexing-a-token.rst: - Add trailing newline. - * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: - Add trailing newline. - * doc/cppinternals/macro-expansion-overview.rst: - Add trailing newline. - * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: - Add trailing newline. - * doc/cppinternals/multiple-include-optimization.rst: - Add trailing newline. - * doc/cppinternals/overview.rst: - Add trailing newline. - * doc/cppinternals/representation-of-line-numbers.rst: - Add trailing newline. - * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: - Add trailing newline. - * doc/gcc/binary-compatibility.rst: - Add trailing newline. - * doc/gcc/c++-implementation-defined-behavior.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/architecture.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/characters.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/declarators.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/environment.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/floating-point.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/hints.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/identifiers.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/integers.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/library-functions.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/statements.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/translation.rst: - Add trailing newline. - * doc/gcc/conditionally-supported-behavior.rst: - Add trailing newline. - * doc/gcc/contributing-to-gcc-development.rst: - Add trailing newline. - * doc/gcc/contributors-to-gcc.rst: - Add trailing newline. - * doc/gcc/copyright.rst: - Add trailing newline. - * doc/gcc/exception-handling.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/type-traits.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst: - Add trailing newline. - * doc/gcc/funding.rst: - Add trailing newline. - * doc/gcc/gcc-command-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/compiling-c++-programs.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/description.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/gcc-developer-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-for-directory-search.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-for-linking.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-that-control-optimization.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/program-instrumentation-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/using-precompiled-headers.rst: - Add trailing newline. - * doc/gcc/gcc.rst: - Add trailing newline. - * doc/gcc/gcov-dump.rst: - Add trailing newline. - * doc/gcc/gcov-tool.rst: - Add trailing newline. - * doc/gcc/gcov.rst: - Add trailing newline. - * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: - Add trailing newline. - * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: - Add trailing newline. - * doc/gcc/gcov/introduction-to-gcov.rst: - Add trailing newline. - * doc/gcc/gcov/invoking-gcov.rst: - Add trailing newline. - * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: - Add trailing newline. - * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: - Add trailing newline. - * doc/gcc/general-public-license-3.rst: - Add trailing newline. - * doc/gcc/gnu-free-documentation-license.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/exceptions.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/garbage-collection.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/synchronization.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/type-encoding.rst: - Add trailing newline. - * doc/gcc/gnu.rst: - Add trailing newline. - * doc/gcc/have-you-found-a-bug.rst: - Add trailing newline. - * doc/gcc/how-and-where-to-report-bugs.rst: - Add trailing newline. - * doc/gcc/how-to-get-help-with-gcc.rst: - Add trailing newline. - * doc/gcc/index.rst: - Add trailing newline. - * doc/gcc/indices-and-tables.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst: - Add trailing newline. - * doc/gcc/language-standards-supported-by-gcc.rst: - Add trailing newline. - * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: - Add trailing newline. - * doc/gcc/language-standards-supported-by-gcc/c-language.rst: - Add trailing newline. - * doc/gcc/language-standards-supported-by-gcc/d-language.rst: - Add trailing newline. - * doc/gcc/language-standards-supported-by-gcc/go-language.rst: - Add trailing newline. - * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst: - Add trailing newline. - * doc/gcc/lto-dump.rst: - Add trailing newline. - * doc/gcc/programming-languages-supported-by-gcc.rst: - Add trailing newline. - * doc/gcc/reporting-bugs.rst: - Add trailing newline. - * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: - Add trailing newline. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: - Add trailing newline. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: - Add trailing newline. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: - Add trailing newline. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: - Add trailing newline. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: - Add trailing newline. - * doc/gccint/analyzer-internals.rst: - Add trailing newline. - * doc/gccint/collect2.rst: - Add trailing newline. - * doc/gccint/contributing-to-gcc-development.rst: - Add trailing newline. - * doc/gccint/contributors-to-gcc.rst: - Add trailing newline. - * doc/gccint/control-flow-graph.rst: - Add trailing newline. - * doc/gccint/control-flow-graph/basic-blocks.rst: - Add trailing newline. - * doc/gccint/control-flow-graph/edges.rst: - Add trailing newline. - * doc/gccint/control-flow-graph/liveness-information.rst: - Add trailing newline. - * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: - Add trailing newline. - * doc/gccint/control-flow-graph/profile-information.rst: - Add trailing newline. - * doc/gccint/copyright.rst: - Add trailing newline. - * doc/gccint/debugging-the-analyzer.rst: - Add trailing newline. - * doc/gccint/funding.rst: - Add trailing newline. - * doc/gccint/gcc-and-portability.rst: - Add trailing newline. - * doc/gccint/general-public-license-3.rst: - Add trailing newline. - * doc/gccint/generic.rst: - Add trailing newline. - * doc/gccint/generic/attributes-in-trees.rst: - Add trailing newline. - * doc/gccint/generic/c-and-c++-trees.rst: - Add trailing newline. - * doc/gccint/generic/declarations.rst: - Add trailing newline. - * doc/gccint/generic/deficiencies.rst: - Add trailing newline. - * doc/gccint/generic/expressions.rst: - Add trailing newline. - * doc/gccint/generic/functions.rst: - Add trailing newline. - * doc/gccint/generic/language-dependent-trees.rst: - Add trailing newline. - * doc/gccint/generic/overview.rst: - Add trailing newline. - * doc/gccint/generic/statements.rst: - Add trailing newline. - * doc/gccint/generic/types.rst: - Add trailing newline. - * doc/gccint/gimple-api.rst: - Add trailing newline. - * doc/gccint/gimple.rst: - Add trailing newline. - * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: - Add trailing newline. - * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: - Add trailing newline. - * doc/gccint/gimple/exception-handling.rst: - Add trailing newline. - * doc/gccint/gimple/gimple-instruction-set.rst: - Add trailing newline. - * doc/gccint/gimple/gimple-sequences.rst: - Add trailing newline. - * doc/gccint/gimple/manipulating-gimple-statements.rst: - Add trailing newline. - * doc/gccint/gimple/operands.rst: - Add trailing newline. - * doc/gccint/gimple/sequence-iterators.rst: - Add trailing newline. - * doc/gccint/gimple/statement-and-operand-traversals.rst: - Add trailing newline. - * doc/gccint/gimple/temporaries.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-representation.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: - Add trailing newline. - * doc/gccint/gnu-free-documentation-license.rst: - Add trailing newline. - * doc/gccint/guidelines-for-diagnostics.rst: - Add trailing newline. - * doc/gccint/guidelines-for-options.rst: - Add trailing newline. - * doc/gccint/host-common.rst: - Add trailing newline. - * doc/gccint/host-configuration.rst: - Add trailing newline. - * doc/gccint/host-filesystem.rst: - Add trailing newline. - * doc/gccint/host-makefile-fragments.rst: - Add trailing newline. - * doc/gccint/host-misc.rst: - Add trailing newline. - * doc/gccint/index.rst: - Add trailing newline. - * doc/gccint/indices-and-tables.rst: - Add trailing newline. - * doc/gccint/interfacing-to-gcc-output.rst: - Add trailing newline. - * doc/gccint/introduction.rst: - Add trailing newline. - * doc/gccint/language-front-ends-in-gcc.rst: - Add trailing newline. - * doc/gccint/link-time-optimization.rst: - Add trailing newline. - * doc/gccint/link-time-optimization/design-overview.rst: - Add trailing newline. - * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: - Add trailing newline. - * doc/gccint/link-time-optimization/lto-file-sections.rst: - Add trailing newline. - * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: - Add trailing newline. - * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst: - Add trailing newline. - * doc/gccint/machine-descriptions.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/conditional-execution.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/constant-definitions.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/example-of-defineinsn.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/instruction-attributes.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/iterators.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/operand-constraints.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/predicates.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/rtl-template.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: - Add trailing newline. - * doc/gccint/makefile-fragments.rst: - Add trailing newline. - * doc/gccint/match-and-simplify.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst: - Add trailing newline. - * doc/gccint/option-file-format.rst: - Add trailing newline. - * doc/gccint/option-properties.rst: - Add trailing newline. - * doc/gccint/option-specification-files.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: - Add trailing newline. - * doc/gccint/plugins.rst: - Add trailing newline. - * doc/gccint/plugins/building-gcc-plugins.rst: - Add trailing newline. - * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: - Add trailing newline. - * doc/gccint/plugins/giving-information-about-a-plugin.rst: - Add trailing newline. - * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: - Add trailing newline. - * doc/gccint/plugins/interacting-with-the-pass-manager.rst: - Add trailing newline. - * doc/gccint/plugins/keeping-track-of-available-passes.rst: - Add trailing newline. - * doc/gccint/plugins/loading-plugins.rst: - Add trailing newline. - * doc/gccint/plugins/plugin-api.rst: - Add trailing newline. - * doc/gccint/plugins/recording-information-about-pass-execution.rst: - Add trailing newline. - * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: - Add trailing newline. - * doc/gccint/rtl-representation.rst: - Add trailing newline. - * doc/gccint/rtl-representation/access-to-operands.rst: - Add trailing newline. - * doc/gccint/rtl-representation/access-to-special-operands.rst: - Add trailing newline. - * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: - Add trailing newline. - * doc/gccint/rtl-representation/bit-fields.rst: - Add trailing newline. - * doc/gccint/rtl-representation/comparison-operations.rst: - Add trailing newline. - * doc/gccint/rtl-representation/constant-expression-types.rst: - Add trailing newline. - * doc/gccint/rtl-representation/conversions.rst: - Add trailing newline. - * doc/gccint/rtl-representation/declarations.rst: - Add trailing newline. - * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: - Add trailing newline. - * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: - Add trailing newline. - * doc/gccint/rtl-representation/insns.rst: - Add trailing newline. - * doc/gccint/rtl-representation/machine-modes.rst: - Add trailing newline. - * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: - Add trailing newline. - * doc/gccint/rtl-representation/reading-rtl.rst: - Add trailing newline. - * doc/gccint/rtl-representation/registers-and-memory.rst: - Add trailing newline. - * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: - Add trailing newline. - * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: - Add trailing newline. - * doc/gccint/rtl-representation/rtl-object-types.rst: - Add trailing newline. - * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: - Add trailing newline. - * doc/gccint/rtl-representation/side-effect-expressions.rst: - Add trailing newline. - * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: - Add trailing newline. - * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: - Add trailing newline. - * doc/gccint/rtl-representation/vector-operations.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst: - Add trailing newline. - * doc/gccint/standard-header-file-directories.rst: - Add trailing newline. - * doc/gccint/static-analyzer.rst: - Add trailing newline. - * doc/gccint/target-macros.rst: - Add trailing newline. - * doc/gccint/target-macros/controlling-debugging-information-format.rst: - Add trailing newline. - * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: - Add trailing newline. - * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst: - Add trailing newline. - * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: - Add trailing newline. - * doc/gccint/target-macros/layout-of-source-language-data-types.rst: - Add trailing newline. - * doc/gccint/target-macros/position-independent-code.rst: - Add trailing newline. - * doc/gccint/target-macros/register-usage.rst: - Add trailing newline. - * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: - Add trailing newline. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: - Add trailing newline. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst: - Add trailing newline. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst: - Add trailing newline. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: - Add trailing newline. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: - Add trailing newline. - * doc/gccint/target-macros/support-for-nested-functions.rst: - Add trailing newline. - * doc/gccint/target-macros/the-global-targetm-variable.rst: - Add trailing newline. - * doc/gccint/target-makefile-fragments.rst: - Add trailing newline. - * doc/gccint/testsuites.rst: - Add trailing newline. - * doc/gccint/testsuites/ada-language-testsuites.rst: - Add trailing newline. - * doc/gccint/testsuites/c-language-testsuites.rst: - Add trailing newline. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: - Add trailing newline. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst: - Add trailing newline. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst: - Add trailing newline. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst: - Add trailing newline. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst: - Add trailing newline. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst: - Add trailing newline. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst: - Add trailing newline. - * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: - Add trailing newline. - * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: - Add trailing newline. - * doc/gccint/testsuites/support-for-testing-gcov.rst: - Add trailing newline. - * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: - Add trailing newline. - * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: - Add trailing newline. - * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: - Add trailing newline. - * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: - Add trailing newline. - * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: - Add trailing newline. - * doc/gccint/the-gcc-low-level-runtime-library.rst: - Add trailing newline. - * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst: - Add trailing newline. - * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst: - Add trailing newline. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst: - Add trailing newline. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst: - Add trailing newline. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst: - Add trailing newline. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst: - Add trailing newline. - * doc/gccint/the-language.rst: - Add trailing newline. - * doc/gccint/user-experience-guidelines.rst: - Add trailing newline. - * doc/install/binaries.rst: - Add trailing newline. - * doc/install/building.rst: - Add trailing newline. - * doc/install/building/building-a-cross-compiler.rst: - Add trailing newline. - * doc/install/building/building-a-native-compiler.rst: - Add trailing newline. - * doc/install/building/building-in-parallel.rst: - Add trailing newline. - * doc/install/building/building-the-ada-compiler.rst: - Add trailing newline. - * doc/install/building/building-the-d-compiler.rst: - Add trailing newline. - * doc/install/building/building-with-profile-feedback.rst: - Add trailing newline. - * doc/install/configuration.rst: - Add trailing newline. - * doc/install/copyright.rst: - Add trailing newline. - * doc/install/downloading-gcc.rst: - Add trailing newline. - * doc/install/final-installation.rst: - Add trailing newline. - * doc/install/gnu-free-documentation-license.rst: - Add trailing newline. - * doc/install/host-target-specific-installation-notes-for-gcc.rst: - Add trailing newline. - * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: - Add trailing newline. - * doc/install/how-to-interpret-test-results.rst: - Add trailing newline. - * doc/install/index.rst: - Add trailing newline. - * doc/install/indices-and-tables.rst: - Add trailing newline. - * doc/install/installing-gcc.rst: - Add trailing newline. - * doc/install/passing-options-and-running-multiple-testsuites.rst: - Add trailing newline. - * doc/install/prerequisites.rst: - Add trailing newline. - * doc/install/submitting-test-results.rst: - Add trailing newline. - * doc/install/testing.rst: - Add trailing newline. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * Makefile.in: Use new install URL. - * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: - Use intersphinx link. - * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: - Use new URL. - * doc/gccint/source-tree-structure-and-build-system.rst: Use - intersphinx link. - * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise. - * doc/install/installing-gcc.rst: Likewise. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - Sinan <sinan.lin@linux.alibaba.com> - - * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: - Add missing variable name. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/cpp/conf.py: Add newline at last line. - * doc/cppinternals/conf.py: Add newline at last line. - * doc/gcc/conf.py: Add newline at last line. - * doc/gccint/conf.py: Add newline at last line. - * doc/install/conf.py: Add newline at last line. - -2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: - Revert. - -2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/cpp/pragmas.rst: Revert. - -2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert. - -2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert. - -2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert. - * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: Revert. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-13 Jonathan Wakely <jwakely@redhat.com> - - * doc/install/testing.rst: Remove anachronism about separate - source tarballs. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-13 Martin Liska <mliska@suse.cz> - - PR other/107620 - * configure: Regenerate. - * configure.ac: Always set sphinx-build. - -2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/gcc/gcc-command-options/option-summary.rst: Revert. - * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert. - -2022-11-14 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_AMX_INT8_SET): Add AMX-TILE dependency. - (OPTION_MASK_ISA2_AMX_BF16_SET): Ditto. - (OPTION_MASK_ISA2_AMX_FP16_SET): Ditto. - (OPTION_MASK_ISA2_AMX_TILE_UNSET): Disable AMX_{INT8, - BF16, FP16} when disable AMX_TILE. - -2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: - Revert. - * doc/gcc/gcc-command-options/option-summary.rst: - Revert. - -2022-11-14 Hongyu Wang <hongyu.wang@intel.com> - - * common/config/i386/i386-common.cc (ix86_optimization_table): - Enable small loop unroll at O2 by default. - * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll - factor if -munroll-only-small-loops enabled and -funroll-loops/ - -funroll-all-loops are disabled. - * config/i386/i386.h (struct processor_costs): Add 2 field - small_unroll_ninsns and small_unroll_factor. - * config/i386/i386.opt: Add -munroll-only-small-loops. - * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: - Document -munroll-only-small-loops. - * doc/gcc/gcc-command-options/option-summary.rst: Likewise. - * loop-init.cc (pass_rtl_unroll_loops::gate): Enable rtl - loop unrolling for -O2-speed and above if target hook - loop_unroll_adjust exists. - (pass_rtl_unroll_loops::execute): Set UAP_UNROLL flag - when target hook loop_unroll_adjust exists. - * config/i386/x86-tune-costs.h: Update all processor costs - with small_unroll_ninsns = 4 and small_unroll_factor = 2. - -2022-11-13 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106235 - * doc/gcc/gcc-command-options/option-summary.rst: Add - -Wno-analyzer-tainted-assertion. - * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: - Add -Wno-analyzer-tainted-assertion. - -2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/bitmanip.md: New define_split. - -2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/riscv.cc (riscv_rtx_costs): Recognize shNadd, - if expressed as a plus and multiplication with a power-of-2. - Split costing for MINUS from PLUS. - -2022-11-13 Martin Liska <mliska@suse.cz> - - PR other/107620 - * configure: Regenerate. - * configure.ac: Always set sphinx-build. - -2022-11-13 Joseph Myers <joseph@codesourcery.com> - - * ginclude/float.h [__STDC_VERSION__ > 201710L] - (__STDC_VERSION_FLOAT_H__): New macro. - * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] - (__STDC_VERSION_STDARG_H__): New macro. - * ginclude/stdatomic.h [__STDC_VERSION__ > 201710L] - (__STDC_VERSION_STDATOMIC_H__): New macro. - * ginclude/stddef.h [__STDC_VERSION__ > 201710L] - (__STDC_VERSION_STDDEF_H__): New macro. - * ginclude/stdint-gcc.h [__STDC_VERSION__ > 201710L] - (__STDC_VERSION_STDINT_H__): New macro. - * glimits.h [__STDC_VERSION__ > 201710L] - (__STDC_VERSION_LIMITS_H__): New macro. - -2022-11-13 Jonathan Wakely <jwakely@redhat.com> - - * doc/install/testing.rst: Remove anachronism about separate - source tarballs. - -2022-11-12 Joseph Myers <joseph@codesourcery.com> - - * dfp.cc (decimal_from_binary): Convert a canonical NaN to a - canonical NaN. - -2022-11-12 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (range_tests_signbit): Move to set from here... - (range_tests_signed_zeros): ...to here. - -2022-11-12 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (build_lt): Adjust with frange_nextafter - instead of default to a closed range. - (build_gt): Same. - -2022-11-12 Aldy Hernandez <aldyh@redhat.com> - Jakub Jelinek <jakub@redhat.com> - - * range-op-float.cc (float_binary_op_range_finish): New function. - (foperator_plus::op1_range): New. - (foperator_plus::op2_range): New. - (foperator_minus::op1_range): New. - (foperator_minus::op2_range): New. - (foperator_mult::op1_range): New. - (foperator_mult::op2_range): New. - (foperator_div::op1_range): New. - (foperator_div::op2_range): New. - -2022-11-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107569 - * range-op-float.cc (zero_p, contains_p, singleton_inf_p, - signbit_known_p, zero_range, inf_range, zero_to_inf_range): New - functions. - (foperator_mult_div_base): New class. - (foperator_mult, foperator_div): Derive from that and use - protected static method from it as well as above new functions - to simplify the code. - -2022-11-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107569 - * range-op-float.cc (foperator_div): New class. - (floating_op_table::floating_op_table): Use foperator_div - for RDIV_EXPR. - -2022-11-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107569 - PR tree-optimization/107591 - * range-op.h (range_operator_float::rv_fold): Add relation_kind - argument. - * range-op-float.cc (range_operator_float::fold_range): Name - last argument trio and pass trio.op1_op2 () as last argument to - rv_fold. - (range_operator_float::rv_fold): Add relation_kind argument. - (foperator_plus::rv_fold, foperator_minus::rv_fold): Likewise. - (foperator_mult): New class. - (floating_op_table::floating_op_table): Use foperator_mult for - MULT_EXPR. - -2022-11-12 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (UNSPEC_FLOGB): New unspec. - (type): Add flogb. - (logb_non_negative<mode>2): New instruction template. - (logb<mode>2): New define_expand. - -2022-11-12 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (UNSPEC_FSCALEB): New unspec. - (type): Add fscaleb. - (IMODE): New mode attr. - (ldexp<mode>3): New instruction template. - -2022-11-12 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (UNSPEC_FTINT): New unspec. - (UNSPEC_FTINTRM): Likewise. - (UNSPEC_FTINTRP): Likewise. - (LRINT): New define_int_iterator. - (lrint_pattern): New define_int_attr. - (lrint_submenmonic): Likewise. - (lrint_allow_inexact): Likewise. - (ANYFI): New define_mode_iterator. - (lrint<ANYF><ANYFI>): New instruction template. - -2022-11-12 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (frint_<fmt>): Rename to .. - (rint<mode>2): .. this. - -2022-11-11 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106147 - * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: - Add -Wanalyzer-infinite-recursion. - * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst - (-Winfinite-recursion): Mention -Wanalyzer-infinite-recursion. - -2022-11-11 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106147 - * Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-recursion.o. - -2022-11-11 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/107523 - * gimple-range.cc (gimple_ranger::update_stmt): Use fur_stmt - rather than fur_depend. - -2022-11-11 Andrew MacLeod <amacleod@redhat.com> - - * tree-vrp.cc (rvrp_folder::rvrp_folder): Init m_last_bb_stmt. - (rvrp_folder::pre_fold_bb): Set m_last_bb_stmt. - (rvrp_folder::pre_fold_stmt): Check for transitive inferred ranges. - (rvrp_folder::fold_stmt): Check in pre_fold_stmt instead. - -2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com> - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X1C - CPU. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: - Document Cortex-X1C CPU. - -2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com> - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A715 - CPU. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: - Document Cortex-A715 CPU. - -2022-11-11 Richard Biener <rguenther@suse.de> - Nikita Voronov <nik_1357@mail.ru> - - PR tree-optimization/107554 - * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes): - Use unsigned HOST_WIDE_INT type for the strlen. - -2022-11-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105142 - * gimple-fold.cc (fosa_unwind): New global. - (follow_outer_ssa_edges): When the SSA definition to follow - is does not dominate fosa_bb, temporarily clear flow-sensitive - info. Make sure to not expand stmts with not defined overflow. - (maybe_fold_comparisons_from_match_pd): Set up unwind stack - for follow_outer_ssa_edges and unwind flow-sensitive info - clearing after matching. - -2022-11-11 Aldy Hernandez <aldyh@redhat.com> - - * range-op.cc (operator_mult::fold_range): Remove. - (operator_div::fold_range): Remove. - (operator_bitwise_and): Remove. - -2022-11-11 Aldy Hernandez <aldyh@redhat.com> - - * range-op.cc (update_known_bitmask): Avoid unnecessary intersection. - -2022-11-11 Aldy Hernandez <aldyh@redhat.com> - - * range-op.cc (range_operator::fold_range): Call - update_known_bitmask. - (operator_bitwise_and::fold_range): Avoid setting nonzero bits - when range is undefined. - -2022-11-11 Aldy Hernandez <aldyh@redhat.com> - - * range-op.cc (class operator_div): Remove tree code. - (operator_div::wi_op_overflows): Handle EXACT_DIV_EXPR as - TRUNC_DIV_EXPR. - -2022-11-11 Aldy Hernandez <aldyh@redhat.com> - - * range-op.cc: (range_op_table::set): Set m_code. - (integral_table::integral_table): Handle shared entries. - (pointer_table::pointer_table): Same. - * range-op.h (class range_operator): Add m_code. - -2022-11-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107618 - * tree-ssa-copy.cc (stmt_may_generate_copy): Simulate all - assignments with a single SSA use. - (copy_prop_visit_assignment): Use gimple_fold_stmt_to_constant_1 - to perform simple constant folding. - (copy_prop::visit_stmt): Visit all assignments. - -2022-11-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/84646 - * tree-ssa-dce.cc (pass_dce::set_pass_param): Add param - wheter to run update-address-taken. - (pass_dce::execute): Honor it. - * passes.def: Exchange last DCE and CD-DCE invocations. - Swap pass_tail_calls and the last DCE. - -2022-11-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - Monk Chiang <monk.chiang@sifive.com> - - * config/riscv/riscv-v.cc (emit_pred_move): Adjust for scalable register spilling. - (legitimize_move): Ditto. - * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): New function. - (riscv_first_stack_step): Adjust for scalable register spilling. - (riscv_expand_prologue): Ditto. - (riscv_expand_epilogue): Ditto. - (riscv_dwarf_poly_indeterminate_value): New function. - (TARGET_DWARF_POLY_INDETERMINATE_VALUE): New target hook support for register spilling. - * config/riscv/riscv.h (RISCV_DWARF_VLENB): New macro. - (RISCV_PROLOGUE_TEMP2_REGNUM): Ditto. - (RISCV_PROLOGUE_TEMP2): Ditto. - * config/riscv/vector-iterators.md: New iterators. - * config/riscv/vector.md (*mov<mode>): Fix it for register spilling. - (*mov<mode>_whole): New pattern. - (*mov<mode>_fract): New pattern. - (@pred_mov<mode>): Fix it for register spilling. - -2022-11-11 Jonathan Wakely <jwakely@redhat.com> - - PR c/85487 - * doc/cpp/pragmas.rst (Pragmas): Document region pragmas. - -2022-11-11 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/i386-builtin.def (BDESC): Add - OPTION_MASK_ISA2_PREFETCHI for prefetchi builtin. - * config/i386/i386-expand.cc (ix86_expand_builtin): - Add ISA check before emit_insn. - * config/i386/prfchiintrin.h: Add target for intrin. - -2022-11-10 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/99671 - * tristate.h (tristate::is_unknown): New. - -2022-11-10 David Malcolm <dmalcolm@redhat.com> - - * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: - Add -Wanalyzer-deref-before-check. - -2022-11-10 Marek Polacek <polacek@redhat.com> - - * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: - Extend the description of -Wdangling-reference. - -2022-11-10 Andrew Pinski <apinski@marvell.com> - - * config/bfin/bfin.h (SLOW_SHORT_ACCESS): Delete. - * config/i386/i386.h (SLOW_SHORT_ACCESS): Delete. - * system.h: Poison SLOW_SHORT_ACCESS - -2022-11-10 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::set_nonnegative): Remove NAN sign handling. - (range_tests_signed_zeros): Adjust test. - -2022-11-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/84646 - * tree-ssa-forwprop.cc (pass_forwprop::execute): Improve - copy propagation across PHIs. - -2022-11-10 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/riscv-cores.def (RISCV_TUNE): Update - sifive-7-series to point to the sifive_7 pipeline description. - -2022-11-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/84646 - * tree-ssa-ccp.cc (set_lattice_value): Make sure we - allow a const -> copy transition and avoid using meet - in that case. - -2022-11-10 Martin Liska <mliska@suse.cz> - - * doc/cpp/conf.py: Add newline at last line. - * doc/cppinternals/conf.py: Add newline at last line. - * doc/gcc/conf.py: Add newline at last line. - * doc/gccint/conf.py: Add newline at last line. - * doc/install/conf.py: Add newline at last line. - -2022-11-10 Richard Biener <rguenther@suse.de> - - * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): First collect - candidates and determine the outermost loop to unswitch. - (tree_ssa_unswitch_loops): First perform all guard hoisting, - then perform unswitching on innermost loop predicates. - (find_unswitching_predicates_for_bb): Keep track of the - outermost loop to unswitch. - (evaluate_bbs): Adjust exit test. - (tree_unswitch_single_loop): Dump whether we unswitched an outer - loop. - (tree_unswitch_loop): Remove assert we unswitch only innermost - loops. - -2022-11-10 Jakub Jelinek <jakub@redhat.com> - - PR target/107585 - PR target/107546 - * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): Use - gen_int_mode rather than GEN_INT. - -2022-11-09 Martin Liska <mliska@suse.cz> - Sinan <sinan.lin@linux.alibaba.com> - - * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: - Add missing variable name. - -2022-11-09 Aldy Hernandez <aldyh@redhat.com> - - * value-range-storage.cc (frange_storage_slot::get_frange): Clear - NAN if appropriate. - * value-range.cc (range_tests_floats): New test. - -2022-11-09 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (class foperator_plus): Remove op[12]_range. - (class foperator_minus): Same. - -2022-11-09 Qing Zhao <qing.zhao@oracle.com> - - * gimple-array-bounds.cc (trailing_array): Replace - array_at_struct_end_p with new name and update comments. - * gimple-fold.cc (get_range_strlen_tree): Likewise. - * gimple-ssa-warn-restrict.cc (builtin_memref::builtin_memref): - Likewise. - * graphite-sese-to-poly.cc (bounds_are_valid): Likewise. - * tree-if-conv.cc (idx_within_array_bound): Likewise. - * tree-object-size.cc (addr_object_size): Likewise. - * tree-ssa-alias.cc (component_ref_to_zero_sized_trailing_array_p): - Likewise. - (stmt_kills_ref_p): Likewise. - * tree-ssa-loop-niter.cc (idx_infer_loop_bounds): Likewise. - * tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise. - * tree.cc (array_at_struct_end_p): Rename to ... - (array_ref_flexible_size_p): ... this. - (component_ref_size): Replace array_at_struct_end_p with new name. - * tree.h (array_at_struct_end_p): Rename to ... - (array_ref_flexible_size_p): ... this. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * Makefile.in: Use new install URL. - * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: - Use intersphinx link. - * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: - Use new URL. - * doc/gccint/source-tree-structure-and-build-system.rst: Use - intersphinx link. - * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise. - * doc/install/installing-gcc.rst: Likewise. - -2022-11-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/84646 - * tree-ssa-threadbackward.cc (back_threader::maybe_register_path): - Remove premature cycle rejection. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/cpp/character-sets.rst: - Add trailing newline. - * doc/cpp/conditional-syntax.rst: - Add trailing newline. - * doc/cpp/conditional-uses.rst: - Add trailing newline. - * doc/cpp/conditionals.rst: - Add trailing newline. - * doc/cpp/copyright.rst: - Add trailing newline. - * doc/cpp/deleted-code.rst: - Add trailing newline. - * doc/cpp/diagnostics.rst: - Add trailing newline. - * doc/cpp/environment-variables.rst: - Add trailing newline. - * doc/cpp/gnu-free-documentation-license.rst: - Add trailing newline. - * doc/cpp/header-files.rst: - Add trailing newline. - * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: - Add trailing newline. - * doc/cpp/header-files/computed-includes.rst: - Add trailing newline. - * doc/cpp/header-files/include-operation.rst: - Add trailing newline. - * doc/cpp/header-files/include-syntax.rst: - Add trailing newline. - * doc/cpp/header-files/once-only-headers.rst: - Add trailing newline. - * doc/cpp/header-files/search-path.rst: - Add trailing newline. - * doc/cpp/header-files/system-headers.rst: - Add trailing newline. - * doc/cpp/header-files/wrapper-headers.rst: - Add trailing newline. - * doc/cpp/implementation-defined-behavior.rst: - Add trailing newline. - * doc/cpp/implementation-details.rst: - Add trailing newline. - * doc/cpp/implementation-limits.rst: - Add trailing newline. - * doc/cpp/index.rst: - Add trailing newline. - * doc/cpp/indices-and-tables.rst: - Add trailing newline. - * doc/cpp/initial-processing.rst: - Add trailing newline. - * doc/cpp/invocation.rst: - Add trailing newline. - * doc/cpp/line-control.rst: - Add trailing newline. - * doc/cpp/macros.rst: - Add trailing newline. - * doc/cpp/macros/concatenation.rst: - Add trailing newline. - * doc/cpp/macros/directives-within-macro-arguments.rst: - Add trailing newline. - * doc/cpp/macros/function-like-macros.rst: - Add trailing newline. - * doc/cpp/macros/macro-arguments.rst: - Add trailing newline. - * doc/cpp/macros/macro-pitfalls.rst: - Add trailing newline. - * doc/cpp/macros/object-like-macros.rst: - Add trailing newline. - * doc/cpp/macros/predefined-macros.rst: - Add trailing newline. - * doc/cpp/macros/stringizing.rst: - Add trailing newline. - * doc/cpp/macros/undefining-and-redefining-macros.rst: - Add trailing newline. - * doc/cpp/macros/variadic-macros.rst: - Add trailing newline. - * doc/cpp/obsolete-features.rst: - Add trailing newline. - * doc/cpp/other-directives.rst: - Add trailing newline. - * doc/cpp/overview.rst: - Add trailing newline. - * doc/cpp/pragmas.rst: - Add trailing newline. - * doc/cpp/preprocessor-output.rst: - Add trailing newline. - * doc/cpp/the-preprocessing-language.rst: - Add trailing newline. - * doc/cpp/tokenization.rst: - Add trailing newline. - * doc/cpp/traditional-lexical-analysis.rst: - Add trailing newline. - * doc/cpp/traditional-macros.rst: - Add trailing newline. - * doc/cpp/traditional-miscellany.rst: - Add trailing newline. - * doc/cpp/traditional-mode.rst: - Add trailing newline. - * doc/cpp/traditional-warnings.rst: - Add trailing newline. - * doc/cppinternals/copyright.rst: - Add trailing newline. - * doc/cppinternals/cppinternals.rst: - Add trailing newline. - * doc/cppinternals/cpplib.rst: - Add trailing newline. - * doc/cppinternals/files.rst: - Add trailing newline. - * doc/cppinternals/index.rst: - Add trailing newline. - * doc/cppinternals/indices-and-tables.rst: - Add trailing newline. - * doc/cppinternals/internal-representation-of-macros.rst: - Add trailing newline. - * doc/cppinternals/just-which-line-number-anyway.rst: - Add trailing newline. - * doc/cppinternals/lexing-a-line.rst: - Add trailing newline. - * doc/cppinternals/lexing-a-token.rst: - Add trailing newline. - * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: - Add trailing newline. - * doc/cppinternals/macro-expansion-overview.rst: - Add trailing newline. - * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: - Add trailing newline. - * doc/cppinternals/multiple-include-optimization.rst: - Add trailing newline. - * doc/cppinternals/overview.rst: - Add trailing newline. - * doc/cppinternals/representation-of-line-numbers.rst: - Add trailing newline. - * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: - Add trailing newline. - * doc/gcc/binary-compatibility.rst: - Add trailing newline. - * doc/gcc/c++-implementation-defined-behavior.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/architecture.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/characters.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/declarators.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/environment.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/floating-point.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/hints.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/identifiers.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/integers.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/library-functions.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/statements.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst: - Add trailing newline. - * doc/gcc/c-implementation-defined-behavior/translation.rst: - Add trailing newline. - * doc/gcc/conditionally-supported-behavior.rst: - Add trailing newline. - * doc/gcc/contributing-to-gcc-development.rst: - Add trailing newline. - * doc/gcc/contributors-to-gcc.rst: - Add trailing newline. - * doc/gcc/copyright.rst: - Add trailing newline. - * doc/gcc/exception-handling.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/type-traits.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst: - Add trailing newline. - * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst: - Add trailing newline. - * doc/gcc/funding.rst: - Add trailing newline. - * doc/gcc/gcc-command-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/compiling-c++-programs.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/description.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/gcc-developer-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-for-directory-search.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-for-linking.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-that-control-optimization.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/program-instrumentation-options.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst: - Add trailing newline. - * doc/gcc/gcc-command-options/using-precompiled-headers.rst: - Add trailing newline. - * doc/gcc/gcc.rst: - Add trailing newline. - * doc/gcc/gcov-dump.rst: - Add trailing newline. - * doc/gcc/gcov-tool.rst: - Add trailing newline. - * doc/gcc/gcov.rst: - Add trailing newline. - * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: - Add trailing newline. - * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: - Add trailing newline. - * doc/gcc/gcov/introduction-to-gcov.rst: - Add trailing newline. - * doc/gcc/gcov/invoking-gcov.rst: - Add trailing newline. - * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: - Add trailing newline. - * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: - Add trailing newline. - * doc/gcc/general-public-license-3.rst: - Add trailing newline. - * doc/gcc/gnu-free-documentation-license.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/exceptions.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/garbage-collection.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/synchronization.rst: - Add trailing newline. - * doc/gcc/gnu-objective-c-features/type-encoding.rst: - Add trailing newline. - * doc/gcc/gnu.rst: - Add trailing newline. - * doc/gcc/have-you-found-a-bug.rst: - Add trailing newline. - * doc/gcc/how-and-where-to-report-bugs.rst: - Add trailing newline. - * doc/gcc/how-to-get-help-with-gcc.rst: - Add trailing newline. - * doc/gcc/index.rst: - Add trailing newline. - * doc/gcc/indices-and-tables.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: - Add trailing newline. - * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst: - Add trailing newline. - * doc/gcc/language-standards-supported-by-gcc.rst: - Add trailing newline. - * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: - Add trailing newline. - * doc/gcc/language-standards-supported-by-gcc/c-language.rst: - Add trailing newline. - * doc/gcc/language-standards-supported-by-gcc/d-language.rst: - Add trailing newline. - * doc/gcc/language-standards-supported-by-gcc/go-language.rst: - Add trailing newline. - * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst: - Add trailing newline. - * doc/gcc/lto-dump.rst: - Add trailing newline. - * doc/gcc/programming-languages-supported-by-gcc.rst: - Add trailing newline. - * doc/gcc/reporting-bugs.rst: - Add trailing newline. - * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: - Add trailing newline. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: - Add trailing newline. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: - Add trailing newline. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: - Add trailing newline. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: - Add trailing newline. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst: - Add trailing newline. - * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: - Add trailing newline. - * doc/gccint/analyzer-internals.rst: - Add trailing newline. - * doc/gccint/collect2.rst: - Add trailing newline. - * doc/gccint/contributing-to-gcc-development.rst: - Add trailing newline. - * doc/gccint/contributors-to-gcc.rst: - Add trailing newline. - * doc/gccint/control-flow-graph.rst: - Add trailing newline. - * doc/gccint/control-flow-graph/basic-blocks.rst: - Add trailing newline. - * doc/gccint/control-flow-graph/edges.rst: - Add trailing newline. - * doc/gccint/control-flow-graph/liveness-information.rst: - Add trailing newline. - * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: - Add trailing newline. - * doc/gccint/control-flow-graph/profile-information.rst: - Add trailing newline. - * doc/gccint/copyright.rst: - Add trailing newline. - * doc/gccint/debugging-the-analyzer.rst: - Add trailing newline. - * doc/gccint/funding.rst: - Add trailing newline. - * doc/gccint/gcc-and-portability.rst: - Add trailing newline. - * doc/gccint/general-public-license-3.rst: - Add trailing newline. - * doc/gccint/generic.rst: - Add trailing newline. - * doc/gccint/generic/attributes-in-trees.rst: - Add trailing newline. - * doc/gccint/generic/c-and-c++-trees.rst: - Add trailing newline. - * doc/gccint/generic/declarations.rst: - Add trailing newline. - * doc/gccint/generic/deficiencies.rst: - Add trailing newline. - * doc/gccint/generic/expressions.rst: - Add trailing newline. - * doc/gccint/generic/functions.rst: - Add trailing newline. - * doc/gccint/generic/language-dependent-trees.rst: - Add trailing newline. - * doc/gccint/generic/overview.rst: - Add trailing newline. - * doc/gccint/generic/statements.rst: - Add trailing newline. - * doc/gccint/generic/types.rst: - Add trailing newline. - * doc/gccint/gimple-api.rst: - Add trailing newline. - * doc/gccint/gimple.rst: - Add trailing newline. - * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: - Add trailing newline. - * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: - Add trailing newline. - * doc/gccint/gimple/exception-handling.rst: - Add trailing newline. - * doc/gccint/gimple/gimple-instruction-set.rst: - Add trailing newline. - * doc/gccint/gimple/gimple-sequences.rst: - Add trailing newline. - * doc/gccint/gimple/manipulating-gimple-statements.rst: - Add trailing newline. - * doc/gccint/gimple/operands.rst: - Add trailing newline. - * doc/gccint/gimple/sequence-iterators.rst: - Add trailing newline. - * doc/gccint/gimple/statement-and-operand-traversals.rst: - Add trailing newline. - * doc/gccint/gimple/temporaries.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-representation.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: - Add trailing newline. - * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: - Add trailing newline. - * doc/gccint/gnu-free-documentation-license.rst: - Add trailing newline. - * doc/gccint/guidelines-for-diagnostics.rst: - Add trailing newline. - * doc/gccint/guidelines-for-options.rst: - Add trailing newline. - * doc/gccint/host-common.rst: - Add trailing newline. - * doc/gccint/host-configuration.rst: - Add trailing newline. - * doc/gccint/host-filesystem.rst: - Add trailing newline. - * doc/gccint/host-makefile-fragments.rst: - Add trailing newline. - * doc/gccint/host-misc.rst: - Add trailing newline. - * doc/gccint/index.rst: - Add trailing newline. - * doc/gccint/indices-and-tables.rst: - Add trailing newline. - * doc/gccint/interfacing-to-gcc-output.rst: - Add trailing newline. - * doc/gccint/introduction.rst: - Add trailing newline. - * doc/gccint/language-front-ends-in-gcc.rst: - Add trailing newline. - * doc/gccint/link-time-optimization.rst: - Add trailing newline. - * doc/gccint/link-time-optimization/design-overview.rst: - Add trailing newline. - * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: - Add trailing newline. - * doc/gccint/link-time-optimization/lto-file-sections.rst: - Add trailing newline. - * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: - Add trailing newline. - * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst: - Add trailing newline. - * doc/gccint/machine-descriptions.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/conditional-execution.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/constant-definitions.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/example-of-defineinsn.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/instruction-attributes.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/iterators.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/operand-constraints.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/predicates.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/rtl-template.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: - Add trailing newline. - * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: - Add trailing newline. - * doc/gccint/makefile-fragments.rst: - Add trailing newline. - * doc/gccint/match-and-simplify.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: - Add trailing newline. - * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst: - Add trailing newline. - * doc/gccint/option-file-format.rst: - Add trailing newline. - * doc/gccint/option-properties.rst: - Add trailing newline. - * doc/gccint/option-specification-files.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: - Add trailing newline. - * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: - Add trailing newline. - * doc/gccint/plugins.rst: - Add trailing newline. - * doc/gccint/plugins/building-gcc-plugins.rst: - Add trailing newline. - * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: - Add trailing newline. - * doc/gccint/plugins/giving-information-about-a-plugin.rst: - Add trailing newline. - * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: - Add trailing newline. - * doc/gccint/plugins/interacting-with-the-pass-manager.rst: - Add trailing newline. - * doc/gccint/plugins/keeping-track-of-available-passes.rst: - Add trailing newline. - * doc/gccint/plugins/loading-plugins.rst: - Add trailing newline. - * doc/gccint/plugins/plugin-api.rst: - Add trailing newline. - * doc/gccint/plugins/recording-information-about-pass-execution.rst: - Add trailing newline. - * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: - Add trailing newline. - * doc/gccint/rtl-representation.rst: - Add trailing newline. - * doc/gccint/rtl-representation/access-to-operands.rst: - Add trailing newline. - * doc/gccint/rtl-representation/access-to-special-operands.rst: - Add trailing newline. - * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: - Add trailing newline. - * doc/gccint/rtl-representation/bit-fields.rst: - Add trailing newline. - * doc/gccint/rtl-representation/comparison-operations.rst: - Add trailing newline. - * doc/gccint/rtl-representation/constant-expression-types.rst: - Add trailing newline. - * doc/gccint/rtl-representation/conversions.rst: - Add trailing newline. - * doc/gccint/rtl-representation/declarations.rst: - Add trailing newline. - * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: - Add trailing newline. - * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: - Add trailing newline. - * doc/gccint/rtl-representation/insns.rst: - Add trailing newline. - * doc/gccint/rtl-representation/machine-modes.rst: - Add trailing newline. - * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: - Add trailing newline. - * doc/gccint/rtl-representation/reading-rtl.rst: - Add trailing newline. - * doc/gccint/rtl-representation/registers-and-memory.rst: - Add trailing newline. - * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: - Add trailing newline. - * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: - Add trailing newline. - * doc/gccint/rtl-representation/rtl-object-types.rst: - Add trailing newline. - * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: - Add trailing newline. - * doc/gccint/rtl-representation/side-effect-expressions.rst: - Add trailing newline. - * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: - Add trailing newline. - * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: - Add trailing newline. - * doc/gccint/rtl-representation/vector-operations.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst: - Add trailing newline. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst: - Add trailing newline. - * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst: - Add trailing newline. - * doc/gccint/standard-header-file-directories.rst: - Add trailing newline. - * doc/gccint/static-analyzer.rst: - Add trailing newline. - * doc/gccint/target-macros.rst: - Add trailing newline. - * doc/gccint/target-macros/controlling-debugging-information-format.rst: - Add trailing newline. - * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: - Add trailing newline. - * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: - Add trailing newline. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst: - Add trailing newline. - * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: - Add trailing newline. - * doc/gccint/target-macros/layout-of-source-language-data-types.rst: - Add trailing newline. - * doc/gccint/target-macros/position-independent-code.rst: - Add trailing newline. - * doc/gccint/target-macros/register-usage.rst: - Add trailing newline. - * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: - Add trailing newline. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: - Add trailing newline. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst: - Add trailing newline. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst: - Add trailing newline. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: - Add trailing newline. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: - Add trailing newline. - * doc/gccint/target-macros/support-for-nested-functions.rst: - Add trailing newline. - * doc/gccint/target-macros/the-global-targetm-variable.rst: - Add trailing newline. - * doc/gccint/target-makefile-fragments.rst: - Add trailing newline. - * doc/gccint/testsuites.rst: - Add trailing newline. - * doc/gccint/testsuites/ada-language-testsuites.rst: - Add trailing newline. - * doc/gccint/testsuites/c-language-testsuites.rst: - Add trailing newline. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: - Add trailing newline. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst: - Add trailing newline. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst: - Add trailing newline. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst: - Add trailing newline. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst: - Add trailing newline. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst: - Add trailing newline. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst: - Add trailing newline. - * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: - Add trailing newline. - * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: - Add trailing newline. - * doc/gccint/testsuites/support-for-testing-gcov.rst: - Add trailing newline. - * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: - Add trailing newline. - * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: - Add trailing newline. - * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: - Add trailing newline. - * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: - Add trailing newline. - * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: - Add trailing newline. - * doc/gccint/the-gcc-low-level-runtime-library.rst: - Add trailing newline. - * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst: - Add trailing newline. - * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst: - Add trailing newline. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst: - Add trailing newline. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst: - Add trailing newline. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst: - Add trailing newline. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst: - Add trailing newline. - * doc/gccint/the-language.rst: - Add trailing newline. - * doc/gccint/user-experience-guidelines.rst: - Add trailing newline. - * doc/install/binaries.rst: - Add trailing newline. - * doc/install/building.rst: - Add trailing newline. - * doc/install/building/building-a-cross-compiler.rst: - Add trailing newline. - * doc/install/building/building-a-native-compiler.rst: - Add trailing newline. - * doc/install/building/building-in-parallel.rst: - Add trailing newline. - * doc/install/building/building-the-ada-compiler.rst: - Add trailing newline. - * doc/install/building/building-the-d-compiler.rst: - Add trailing newline. - * doc/install/building/building-with-profile-feedback.rst: - Add trailing newline. - * doc/install/configuration.rst: - Add trailing newline. - * doc/install/copyright.rst: - Add trailing newline. - * doc/install/downloading-gcc.rst: - Add trailing newline. - * doc/install/final-installation.rst: - Add trailing newline. - * doc/install/gnu-free-documentation-license.rst: - Add trailing newline. - * doc/install/host-target-specific-installation-notes-for-gcc.rst: - Add trailing newline. - * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: - Add trailing newline. - * doc/install/how-to-interpret-test-results.rst: - Add trailing newline. - * doc/install/index.rst: - Add trailing newline. - * doc/install/indices-and-tables.rst: - Add trailing newline. - * doc/install/installing-gcc.rst: - Add trailing newline. - * doc/install/passing-options-and-running-multiple-testsuites.rst: - Add trailing newline. - * doc/install/prerequisites.rst: - Add trailing newline. - * doc/install/submitting-test-results.rst: - Add trailing newline. - * doc/install/testing.rst: - Add trailing newline. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * opts.cc (get_option_html_page): Port to sphinx URLs. - (get_option_url): Likewise. - (test_get_option_html_page): Likewise. - -2022-11-09 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107569 - * range-op-float.cc (foperator_abs::op1_range): Clear NaNs - from the negatives frange before unioning it into r. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * Makefile.in: Add vpath default for .rst files. - * config/avr/avr-devices.cc: For port RST. - * config/avr/avr-mcus.def: Update path. - * config/avr/gen-avr-mmcu-texi.cc: Moved to... - * config/avr/gen-avr-mmcu-rst.cc: ...here. - * config/avr/t-avr: Update to rst. - * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate. - -2022-11-09 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/riscv.cc (riscv_rtx_costs): Add BSWAP. - -2022-11-09 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.cc (loongarch_emit_int_compare): - Avoid signed overflow. - -2022-11-09 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (foperator_plus::op1_range): New. - (foperator_plus::op2_range): New. - (foperator_minus::op1_range): New. - (foperator_minus::op2_range): New. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * Makefile.in: Support installation if sphinx-build is missing. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: - Port to RST. - * doc/gccint/target-macros/storage-layout.rst: Likewise. - * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master. - * doc/gcc/gcc-command-options/option-summary.rst: Likewise. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: - Do not include tm.rst.in. - * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: - Likewise. - * doc/gccint/target-macros/run-time-target-specification.rst: - Likewise. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: - Fix cross manual refs. - * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: - Likewise. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * Makefile.in: Support --with-sphinx-build. - * configure.ac: - * configure: Regenerate. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * target.def: Use proper lexers for target macros. - * doc/gccint/target-macros/tm.rst.in: Re-generate. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/analyzer.texi: Removed. - * doc/avr-mmcu.texi: Removed. - * doc/bugreport.texi: Removed. - * doc/cfg.texi: Removed. - * doc/collect2.texi: Removed. - * doc/compat.texi: Removed. - * doc/configfiles.texi: Removed. - * doc/configterms.texi: Removed. - * doc/contrib.texi: Removed. - * doc/contribute.texi: Removed. - * doc/cpp.texi: Removed. - * doc/cppdiropts.texi: Removed. - * doc/cppenv.texi: Removed. - * doc/cppinternals.texi: Removed. - * doc/cppopts.texi: Removed. - * doc/cppwarnopts.texi: Removed. - * doc/extend.texi: Removed. - * doc/fragments.texi: Removed. - * doc/frontends.texi: Removed. - * doc/gcc.texi: Removed. - * doc/gccint.texi: Removed. - * doc/gcov-dump.texi: Removed. - * doc/gcov-tool.texi: Removed. - * doc/gcov.texi: Removed. - * doc/generic.texi: Removed. - * doc/gimple.texi: Removed. - * doc/gnu.texi: Removed. - * doc/gty.texi: Removed. - * doc/headerdirs.texi: Removed. - * doc/hostconfig.texi: Removed. - * doc/implement-c.texi: Removed. - * doc/implement-cxx.texi: Removed. - * doc/include/fdl.texi: Removed. - * doc/include/funding.texi: Removed. - * doc/include/gcc-common.texi: Removed. - * doc/include/gpl_v3.texi: Removed. - * doc/install.texi: Removed. - * doc/interface.texi: Removed. - * doc/invoke.texi: Removed. - * doc/languages.texi: Removed. - * doc/libgcc.texi: Removed. - * doc/loop.texi: Removed. - * doc/lto-dump.texi: Removed. - * doc/lto.texi: Removed. - * doc/makefile.texi: Removed. - * doc/match-and-simplify.texi: Removed. - * doc/md.texi: Removed. - * doc/objc.texi: Removed. - * doc/optinfo.texi: Removed. - * doc/options.texi: Removed. - * doc/passes.texi: Removed. - * doc/plugins.texi: Removed. - * doc/poly-int.texi: Removed. - * doc/portability.texi: Removed. - * doc/rtl.texi: Removed. - * doc/service.texi: Removed. - * doc/sourcebuild.texi: Removed. - * doc/standards.texi: Removed. - * doc/tm.texi: Removed. - * doc/tree-ssa.texi: Removed. - * doc/trouble.texi: Removed. - * doc/ux.texi: Removed. - * doc/tm.texi.in: Removed. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gccint/target-macros/tm.rst.in: New file. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * Makefile.in: Support Sphinx based documentation. - * configure: Regenerate. - * configure.ac: Support Sphinx based documentation. - * genhooks.cc (struct s_hook): Emit tm.rst.in file. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file. - * doc/gccint/target-macros/addressing-modes.rst: Likewise. - * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise. - * doc/gccint/target-macros/anchored-addresses.rst: Likewise. - * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise. - * doc/gccint/target-macros/condition-code-status.rst: Likewise. - * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise. - * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise. - * doc/gccint/target-macros/d-abi-parameters.rst: Likewise. - * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise. - * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: - Likewise. - * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: - Likewise. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: - Likewise. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: - Likewise. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: - Likewise. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst: - Likewise. - * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: - Likewise. - * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise. - * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise. - * doc/gccint/target-macros/emulating-tls.rst: Likewise. - * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise. - * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise. - * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise. - * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise. - * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise. - * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst: - Likewise. - * doc/gccint/target-macros/register-classes.rst: Likewise. - * doc/gccint/target-macros/register-usage.rst: Likewise. - * doc/gccint/target-macros/run-time-target-specification.rst: Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst: - Likewise. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst: - Likewise. - * doc/gccint/target-macros/storage-layout.rst: Likewise. - * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * common/common-target.def: Port to RST. - * target.def: Port to RST. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/cpp/character-sets.rst: New file. - * doc/cpp/conditional-syntax.rst: New file. - * doc/cpp/conditional-uses.rst: New file. - * doc/cpp/conditionals.rst: New file. - * doc/cpp/conf.py: New file. - * doc/cpp/copyright.rst: New file. - * doc/cpp/deleted-code.rst: New file. - * doc/cpp/diagnostics.rst: New file. - * doc/cpp/environment-variables.rst: New file. - * doc/cpp/gnu-free-documentation-license.rst: New file. - * doc/cpp/header-files.rst: New file. - * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file. - * doc/cpp/header-files/computed-includes.rst: New file. - * doc/cpp/header-files/include-operation.rst: New file. - * doc/cpp/header-files/include-syntax.rst: New file. - * doc/cpp/header-files/once-only-headers.rst: New file. - * doc/cpp/header-files/search-path.rst: New file. - * doc/cpp/header-files/system-headers.rst: New file. - * doc/cpp/header-files/wrapper-headers.rst: New file. - * doc/cpp/implementation-defined-behavior.rst: New file. - * doc/cpp/implementation-details.rst: New file. - * doc/cpp/implementation-limits.rst: New file. - * doc/cpp/index.rst: New file. - * doc/cpp/indices-and-tables.rst: New file. - * doc/cpp/initial-processing.rst: New file. - * doc/cpp/invocation.rst: New file. - * doc/cpp/line-control.rst: New file. - * doc/cpp/macros.rst: New file. - * doc/cpp/macros/concatenation.rst: New file. - * doc/cpp/macros/directives-within-macro-arguments.rst: New file. - * doc/cpp/macros/function-like-macros.rst: New file. - * doc/cpp/macros/macro-arguments.rst: New file. - * doc/cpp/macros/macro-pitfalls.rst: New file. - * doc/cpp/macros/object-like-macros.rst: New file. - * doc/cpp/macros/predefined-macros.rst: New file. - * doc/cpp/macros/stringizing.rst: New file. - * doc/cpp/macros/undefining-and-redefining-macros.rst: New file. - * doc/cpp/macros/variadic-macros.rst: New file. - * doc/cpp/obsolete-features.rst: New file. - * doc/cpp/other-directives.rst: New file. - * doc/cpp/overview.rst: New file. - * doc/cpp/pragmas.rst: New file. - * doc/cpp/preprocessor-output.rst: New file. - * doc/cpp/the-preprocessing-language.rst: New file. - * doc/cpp/tokenization.rst: New file. - * doc/cpp/traditional-lexical-analysis.rst: New file. - * doc/cpp/traditional-macros.rst: New file. - * doc/cpp/traditional-miscellany.rst: New file. - * doc/cpp/traditional-mode.rst: New file. - * doc/cpp/traditional-warnings.rst: New file. - * doc/cppinternals/conf.py: New file. - * doc/cppinternals/copyright.rst: New file. - * doc/cppinternals/cppinternals.rst: New file. - * doc/cppinternals/cpplib.rst: New file. - * doc/cppinternals/files.rst: New file. - * doc/cppinternals/index.rst: New file. - * doc/cppinternals/indices-and-tables.rst: New file. - * doc/cppinternals/internal-representation-of-macros.rst: New file. - * doc/cppinternals/just-which-line-number-anyway.rst: New file. - * doc/cppinternals/lexing-a-line.rst: New file. - * doc/cppinternals/lexing-a-token.rst: New file. - * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file. - * doc/cppinternals/macro-expansion-overview.rst: New file. - * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file. - * doc/cppinternals/multiple-include-optimization.rst: New file. - * doc/cppinternals/overview.rst: New file. - * doc/cppinternals/representation-of-line-numbers.rst: New file. - * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file. - * doc/gcc/binary-compatibility.rst: New file. - * doc/gcc/c++-implementation-defined-behavior.rst: New file. - * doc/gcc/c-implementation-defined-behavior.rst: New file. - * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file. - * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file. - * doc/gcc/c-implementation-defined-behavior/characters.rst: New file. - * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file. - * doc/gcc/c-implementation-defined-behavior/environment.rst: New file. - * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file. - * doc/gcc/c-implementation-defined-behavior/hints.rst: New file. - * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file. - * doc/gcc/c-implementation-defined-behavior/integers.rst: New file. - * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file. - * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file. - * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file. - * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file. - * doc/gcc/c-implementation-defined-behavior/statements.rst: New file. - * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst: - New file. - * doc/gcc/c-implementation-defined-behavior/translation.rst: New file. - * doc/gcc/conditionally-supported-behavior.rst: New file. - * doc/gcc/conf.py: New file. - * doc/gcc/contributing-to-gcc-development.rst: New file. - * doc/gcc/contributors-to-gcc.rst: New file. - * doc/gcc/copyright.rst: New file. - * doc/gcc/exception-handling.rst: New file. - * doc/gcc/extensions-to-the-c++-language.rst: New file. - * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file. - * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file. - * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst: - New file. - * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file. - * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst: - New file. - * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file. - * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file. - * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file. - * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file. - * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst: - New file. - * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file. - * doc/gcc/extensions-to-the-c-language-family.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file. - * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst: - New file. - * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst: - New file. - * doc/gcc/funding.rst: New file. - * doc/gcc/gcc-command-options.rst: New file. - * doc/gcc/gcc-command-options/c++-modules.rst: New file. - * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file. - * doc/gcc/gcc-command-options/description.rst: New file. - * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file. - * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst: - New file. - * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst: - New file. - * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst: - New file. - * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file. - * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file. - * doc/gcc/gcc-command-options/option-summary.rst: New file. - * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file. - * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file. - * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst: - New file. - * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file. - * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file. - * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file. - * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file. - * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file. - * doc/gcc/gcc-command-options/options-for-linking.rst: New file. - * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file. - * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file. - * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: - New file. - * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file. - * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file. - * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file. - * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst: - New file. - * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file. - * doc/gcc/gcc.rst: New file. - * doc/gcc/gcov-dump.rst: New file. - * doc/gcc/gcov-tool.rst: New file. - * doc/gcc/gcov.rst: New file. - * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file. - * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file. - * doc/gcc/gcov/introduction-to-gcov.rst: New file. - * doc/gcc/gcov/invoking-gcov.rst: New file. - * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file. - * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file. - * doc/gcc/general-public-license-3.rst: New file. - * doc/gcc/gnu-free-documentation-license.rst: New file. - * doc/gcc/gnu-objective-c-features.rst: New file. - * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file. - * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file. - * doc/gcc/gnu-objective-c-features/exceptions.rst: New file. - * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file. - * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file. - * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file. - * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file. - * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file. - * doc/gcc/gnu-objective-c-features/synchronization.rst: New file. - * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file. - * doc/gcc/gnu.rst: New file. - * doc/gcc/have-you-found-a-bug.rst: New file. - * doc/gcc/how-and-where-to-report-bugs.rst: New file. - * doc/gcc/how-to-get-help-with-gcc.rst: New file. - * doc/gcc/index.rst: New file. - * doc/gcc/indices-and-tables.rst: New file. - * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file. - * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file. - * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst: - New file. - * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst: - New file. - * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst: - New file. - * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file. - * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file. - * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file. - * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file. - * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst: - New file. - * doc/gcc/language-standards-supported-by-gcc.rst: New file. - * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file. - * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file. - * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file. - * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file. - * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst: - New file. - * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file. - * doc/gcc/lto-dump.rst: New file. - * doc/gcc/programming-languages-supported-by-gcc.rst: New file. - * doc/gcc/reporting-bugs.rst: New file. - * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file. - * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst: - New file. - * doc/gccint/analysis-and-representation-of-loops.rst: New file. - * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file. - * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file. - * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file. - * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file. - * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file. - * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file. - * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst: - New file. - * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file. - * doc/gccint/analyzer-internals.rst: New file. - * doc/gccint/collect2.rst: New file. - * doc/gccint/conf.py: New file. - * doc/gccint/contributing-to-gcc-development.rst: New file. - * doc/gccint/contributors-to-gcc.rst: New file. - * doc/gccint/control-flow-graph.rst: New file. - * doc/gccint/control-flow-graph/basic-blocks.rst: New file. - * doc/gccint/control-flow-graph/edges.rst: New file. - * doc/gccint/control-flow-graph/liveness-information.rst: New file. - * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file. - * doc/gccint/control-flow-graph/profile-information.rst: New file. - * doc/gccint/copyright.rst: New file. - * doc/gccint/debugging-the-analyzer.rst: New file. - * doc/gccint/funding.rst: New file. - * doc/gccint/gcc-and-portability.rst: New file. - * doc/gccint/general-public-license-3.rst: New file. - * doc/gccint/generic.rst: New file. - * doc/gccint/generic/attributes-in-trees.rst: New file. - * doc/gccint/generic/c-and-c++-trees.rst: New file. - * doc/gccint/generic/declarations.rst: New file. - * doc/gccint/generic/deficiencies.rst: New file. - * doc/gccint/generic/expressions.rst: New file. - * doc/gccint/generic/functions.rst: New file. - * doc/gccint/generic/language-dependent-trees.rst: New file. - * doc/gccint/generic/overview.rst: New file. - * doc/gccint/generic/statements.rst: New file. - * doc/gccint/generic/types.rst: New file. - * doc/gccint/gimple-api.rst: New file. - * doc/gccint/gimple.rst: New file. - * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file. - * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file. - * doc/gccint/gimple/exception-handling.rst: New file. - * doc/gccint/gimple/gimple-instruction-set.rst: New file. - * doc/gccint/gimple/gimple-sequences.rst: New file. - * doc/gccint/gimple/manipulating-gimple-statements.rst: New file. - * doc/gccint/gimple/operands.rst: New file. - * doc/gccint/gimple/sequence-iterators.rst: New file. - * doc/gccint/gimple/statement-and-operand-traversals.rst: New file. - * doc/gccint/gimple/temporaries.rst: New file. - * doc/gccint/gimple/tuple-representation.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file. - * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file. - * doc/gccint/gnu-free-documentation-license.rst: New file. - * doc/gccint/guidelines-for-diagnostics.rst: New file. - * doc/gccint/guidelines-for-options.rst: New file. - * doc/gccint/host-common.rst: New file. - * doc/gccint/host-configuration.rst: New file. - * doc/gccint/host-filesystem.rst: New file. - * doc/gccint/host-makefile-fragments.rst: New file. - * doc/gccint/host-misc.rst: New file. - * doc/gccint/index.rst: New file. - * doc/gccint/indices-and-tables.rst: New file. - * doc/gccint/interfacing-to-gcc-output.rst: New file. - * doc/gccint/introduction.rst: New file. - * doc/gccint/language-front-ends-in-gcc.rst: New file. - * doc/gccint/link-time-optimization.rst: New file. - * doc/gccint/link-time-optimization/design-overview.rst: New file. - * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file. - * doc/gccint/link-time-optimization/lto-file-sections.rst: New file. - * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file. - * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst: - New file. - * doc/gccint/machine-descriptions.rst: New file. - * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file. - * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file. - * doc/gccint/machine-descriptions/conditional-execution.rst: New file. - * doc/gccint/machine-descriptions/constant-definitions.rst: New file. - * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file. - * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file. - * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file. - * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file. - * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file. - * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file. - * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file. - * doc/gccint/machine-descriptions/instruction-attributes.rst: New file. - * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file. - * doc/gccint/machine-descriptions/iterators.rst: New file. - * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file. - * doc/gccint/machine-descriptions/operand-constraints.rst: New file. - * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file. - * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst: - New file. - * doc/gccint/machine-descriptions/predicates.rst: New file. - * doc/gccint/machine-descriptions/rtl-template.rst: New file. - * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file. - * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file. - * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file. - * doc/gccint/makefile-fragments.rst: New file. - * doc/gccint/match-and-simplify.rst: New file. - * doc/gccint/memory-management-and-type-information.rst: New file. - * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst: - New file. - * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst: - New file. - * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst: - New file. - * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file. - * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst: - New file. - * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file. - * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst: - New file. - * doc/gccint/option-file-format.rst: New file. - * doc/gccint/option-properties.rst: New file. - * doc/gccint/option-specification-files.rst: New file. - * doc/gccint/passes-and-files-of-the-compiler.rst: New file. - * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file. - * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst: - New file. - * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file. - * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file. - * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file. - * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file. - * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file. - * doc/gccint/plugins.rst: New file. - * doc/gccint/plugins/building-gcc-plugins.rst: New file. - * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file. - * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file. - * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file. - * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file. - * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file. - * doc/gccint/plugins/loading-plugins.rst: New file. - * doc/gccint/plugins/plugin-api.rst: New file. - * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file. - * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file. - * doc/gccint/rtl-representation.rst: New file. - * doc/gccint/rtl-representation/access-to-operands.rst: New file. - * doc/gccint/rtl-representation/access-to-special-operands.rst: New file. - * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file. - * doc/gccint/rtl-representation/bit-fields.rst: New file. - * doc/gccint/rtl-representation/comparison-operations.rst: New file. - * doc/gccint/rtl-representation/constant-expression-types.rst: New file. - * doc/gccint/rtl-representation/conversions.rst: New file. - * doc/gccint/rtl-representation/declarations.rst: New file. - * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file. - * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file. - * doc/gccint/rtl-representation/insns.rst: New file. - * doc/gccint/rtl-representation/machine-modes.rst: New file. - * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file. - * doc/gccint/rtl-representation/reading-rtl.rst: New file. - * doc/gccint/rtl-representation/registers-and-memory.rst: New file. - * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file. - * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file. - * doc/gccint/rtl-representation/rtl-object-types.rst: New file. - * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file. - * doc/gccint/rtl-representation/side-effect-expressions.rst: New file. - * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file. - * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file. - * doc/gccint/rtl-representation/vector-operations.rst: New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst: - New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst: - New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst: - New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst: - New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst: - New file. - * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file. - * doc/gccint/source-tree-structure-and-build-system.rst: New file. - * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst: - New file. - * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst: - New file. - * doc/gccint/standard-header-file-directories.rst: New file. - * doc/gccint/static-analyzer.rst: New file. - * doc/gccint/target-macros.rst: New file. - * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file. - * doc/gccint/target-macros/addressing-modes.rst: New file. - * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file. - * doc/gccint/target-macros/anchored-addresses.rst: New file. - * doc/gccint/target-macros/c++-abi-parameters.rst: New file. - * doc/gccint/target-macros/condition-code-status.rst: New file. - * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file. - * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file. - * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file. - * doc/gccint/target-macros/d-abi-parameters.rst: New file. - * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file. - * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst: - New file. - * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file. - * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst: - New file. - * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: - New file. - * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file. - * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file. - * doc/gccint/target-macros/emulating-tls.rst: New file. - * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file. - * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file. - * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file. - * doc/gccint/target-macros/miscellaneous-parameters.rst: New file. - * doc/gccint/target-macros/mode-switching-instructions.rst: New file. - * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst: - New file. - * doc/gccint/target-macros/position-independent-code.rst: New file. - * doc/gccint/target-macros/register-classes.rst: New file. - * doc/gccint/target-macros/register-usage.rst: New file. - * doc/gccint/target-macros/run-time-target-specification.rst: New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst: - New file. - * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst: - New file. - * doc/gccint/target-macros/storage-layout.rst: New file. - * doc/gccint/target-macros/support-for-nested-functions.rst: New file. - * doc/gccint/target-macros/the-global-targetm-variable.rst: New file. - * doc/gccint/target-makefile-fragments.rst: New file. - * doc/gccint/testsuites.rst: New test. - * doc/gccint/testsuites/ada-language-testsuites.rst: New test. - * doc/gccint/testsuites/c-language-testsuites.rst: New test. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst: - New test. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst: - New test. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst: - New test. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst: - New test. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst: - New test. - * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst: - New test. - * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test. - * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test. - * doc/gccint/testsuites/support-for-testing-gcov.rst: New test. - * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test. - * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test. - * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test. - * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test. - * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test. - * doc/gccint/the-gcc-low-level-runtime-library.rst: New file. - * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst: - New file. - * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst: - New file. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst: - New file. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst: - New file. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst: - New file. - * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst: - New file. - * doc/gccint/the-language.rst: New file. - * doc/gccint/user-experience-guidelines.rst: New file. - * doc/install/binaries.rst: New file. - * doc/install/building.rst: New file. - * doc/install/building/building-a-cross-compiler.rst: New file. - * doc/install/building/building-a-native-compiler.rst: New file. - * doc/install/building/building-in-parallel.rst: New file. - * doc/install/building/building-the-ada-compiler.rst: New file. - * doc/install/building/building-the-d-compiler.rst: New file. - * doc/install/building/building-with-profile-feedback.rst: New file. - * doc/install/conf.py: New file. - * doc/install/configuration.rst: New file. - * doc/install/copyright.rst: New file. - * doc/install/downloading-gcc.rst: New file. - * doc/install/final-installation.rst: New file. - * doc/install/gnu-free-documentation-license.rst: New file. - * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file. - * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test. - * doc/install/how-to-interpret-test-results.rst: New file. - * doc/install/index.rst: New file. - * doc/install/indices-and-tables.rst: New file. - * doc/install/installing-gcc.rst: New file. - * doc/install/passing-options-and-running-multiple-testsuites.rst: New test. - * doc/install/prerequisites.rst: New file. - * doc/install/submitting-test-results.rst: New file. - * doc/install/testing.rst: New file. - -2022-11-09 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (class foperator_minus): New. - (floating_op_table::floating_op_table): Add MINUS_EXPR entry. - -2022-11-09 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (range_operator_float::fold_range): Abstract - out from foperator_plus. - (range_operator_float::rv_fold): New. - (foperator_plus::fold_range): Remove. - (foperator_plus::rv_fold): New. - (propagate_nans): Remove. - * range-op.h (class range_operator_float): Add rv_fold. - -2022-11-09 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (foperator_plus::fold_range): Set NAN for - addition of different signed infinities. - (range_op_float_tests): New test. - -2022-11-09 liuhongt <hongtao.liu@intel.com> - - PR target/107540 - * config/i386/sse.md (avx512f_movddup512<mask_name>): Change - type from sselog to sselog1. - (avx_movddup256<mask_name>): Ditto. - -2022-11-08 David Faust <david.faust@oracle.com> - - * config/bpf/bpf.cc (struct core_walk_data): Add field `which'... - (bpf_resolve_overloaded_builtin): ... set it here. Use values of enum - bpf_builtins for error checks. - (bpf_core_walk): Use values of enum bpf_builtins. - (bpf_core_newdecl): Likewise. - (bpf_expand_builtin): Likewise. - -2022-11-08 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/24021 - * range-op-float.cc (propagate_nans): New. - (frange_nextafter): New. - (frange_arithmetic): New. - (class foperator_plus): New. - (floating_op_table::floating_op_table): Add PLUS_EXPR entry. - -2022-11-08 Aldy Hernandez <aldyh@redhat.com> - - * real.cc (real_isdenormal): New. - (encode_ieee_single): Call real_isdenormal. - (encode_ieee_double): Same. - (encode_ieee_extended): Same. - (encode_ieee_quad): Same. - (encode_ieee_half): Same. - (encode_arm_bfloat_half): Same. - * real.h (real_isdenormal): Add mode argument. Rewrite for - normalized values. - * value-range.cc (frange::flush_denormals_to_zero): Pass mode to - real_isdenormal. - -2022-11-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107389 - * gimple-low.cc (lower_builtin_assume_aligned): New. - (lower_stmt): Call it. - -2022-11-08 Aldy Hernandez <aldyh@redhat.com> - - * range-op.cc (operator_div::fold_range): Call - update_known_bitmask. - * tree-ssa-ccp.cc (bit_value_binop): Handle divisions by powers of - 2 as a right shift. - -2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com> - - * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument - of GCN_BUILTIN_LDEXPV to V64DFmode. - -2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com> - - * config/gcn/gcn-builtins.def (FABSV, FLOORVF, FLOORV): New builtins. - * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FABSV, - GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV. - -2022-11-08 Aldy Hernandez <aldyh@redhat.com> - - * range-op.cc (irange_to_masked_value): New. - (update_known_bitmask): New. - (operator_mult::fold_range): Call update_known_bitmask. - -2022-11-08 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107547 - * tree-call-cdce.cc (get_no_error_domain): Handle CASE_FLT_FN_FLOATN_NX - of BUILT_IN_{ACOS,ASIN,ACOSH,ATANH,LOG,LOG2,LOG10,LOG1P}. Handle - BUILT_IN_{COSH,SINH,EXP,EXPM1,EXP2}F{16,32,64,128}. - -2022-11-08 Jakub Jelinek <jakub@redhat.com> - - PR target/107546 - * config/i386/predicates.md (vector_or_const_vector_operand): New - predicate. - * config/i386/sse.md (vec_cmp<mode><sseintvecmodelower>, - vec_cmpv2div2di, vec_cmpu<mode><sseintvecmodelower>, - vec_cmpuv2div2di): Use nonimmediate_or_const_vector_operand - predicate instead of nonimmediate_operand and - vector_or_const_vector_operand instead of vector_operand. - * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): For - LE/LEU or GE/GEU with CONST_VECTOR cop1 try to transform those - into LE/LEU or GT/GTU with larger or smaller by one cop1 if - there is no wrap-around. Force CONST_VECTOR cop0 or cop1 into - REG. Formatting fix. - -2022-11-08 Max Filippov <jcmvbkbc@gmail.com> - - PR rtl-optimization/107482 - * ira-color.cc (assign_hard_reg): Only call - update_costs_from_copies when retry_p is false. - -2022-11-08 konglin1 <lingling.kong@intel.com> - - Revert: - 2022-11-07 konglin1 <lingling.kong@intel.com> - - * config/i386/i386.opt:Add -mprefer-remote-atomic. - * config/i386/sync.md (atomic_<plus_logic><mode>): - New define_expand. - (atomic_add<mode>): Rename to below one. - (atomic_add<mode>_1): To this. - (atomic_<logic><mode>): Ditto. - (atomic_<logic><mode>_1): Ditto. - * doc/invoke.texi: Add -mprefer-remote-atomic. - -2022-11-08 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/i386-options.cc (m_CORE_ATOM): New. - * config/i386/x86-tune.def - (X86_TUNE_SCHEDULE): Initial tune for CORE_ATOM. - (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto. - (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto. - (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto. - (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto. - (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): Ditto. - (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto. - (X86_TUNE_USE_LEAVE): Ditto. - (X86_TUNE_PUSH_MEMORY): Ditto. - (X86_TUNE_USE_INCDEC): Ditto. - (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto. - (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto. - (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto. - (X86_TUNE_USE_SAHF): Ditto. - (X86_TUNE_USE_BT): Ditto. - (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto. - (X86_TUNE_ONE_IF_CONV_INSN): Ditto. - (X86_TUNE_AVOID_MFENCE): Ditto. - (X86_TUNE_USE_SIMODE_FIOP): Ditto. - (X86_TUNE_EXT_80387_CONSTANTS): Ditto. - (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto. - (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto. - (X86_TUNE_SSE_TYPELESS_STORES): Ditto. - (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto. - (X86_TUNE_AVOID_4BYTE_PREFIXES): Ditto. - (X86_TUNE_USE_GATHER_2PARTS): Ditto. - (X86_TUNE_USE_GATHER_4PARTS): Ditto. - (X86_TUNE_USE_GATHER): Ditto. - -2022-11-08 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/104530 - * gimple-range-cache.cc (ranger_cache::register_inferred_value): - New. Split from: - (ranger_cache::apply_inferred_ranges): Move setting cache to - separate function. - * gimple-range-cache.h (register_inferred_value): New prototype. - * gimple-range-infer.cc (infer_range_manager::has_range_p): New. - * gimple-range-infer.h (has_range_p): New prototype. - * gimple-range.cc (register_transitive_inferred_ranges): New. - * gimple-range.h (register_transitive_inferred_ranges): New proto. - * tree-vrp.cc (rvrp_folder::fold_stmt): Check for transitive inferred - ranges at the end of the block before folding final stmt. - -2022-11-07 David Faust <david.faust@oracle.com> - - * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo(). - -2022-11-07 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/55157 - * range-op.cc (operator_mult::wi_fold): Optimize multiplications - by powers of 2. - -2022-11-07 H.J. Lu <hjl.tools@gmail.com> - - PR middle-end/102566 - * tree-ssa-ccp.cc (optimize_atomic_bit_test_and): Also handle - if (_5 < 0) and if (_5 >= 0). - -2022-11-07 Richard Purdie <richard.purdie@linuxfoundation.org> - - * file-prefix-map.cc (remap_filename): Handle NULL filenames. - -2022-11-07 Alexander Monakov <amonakov@ispras.ru> - - PR tree-optimization/107505 - * tree-ssa-sink.cc (statement_sink_location): Additionally - reject ECF_RETURNS_TWICE calls. - -2022-11-07 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107541 - * range-op.cc (operator_div::fold_range): Restrict power of 2 - optimization to positive numbers. - -2022-11-07 Richard Biener <rguenther@suse.de> - - * tree-ssa-loop-unswitch.cc (unswitch_predicate::count): New. - (unswitch_predicate::unswitch_predicate): Initialize count. - (init_loop_unswitch_info): First collect candidates and - determine the outermost loop to unswitch. - (tree_ssa_unswitch_loops): First perform all guard hoisting, - then perform unswitching on innermost loop predicates. - (find_unswitching_predicates_for_bb): Keep track of the - most profitable predicate to unswitch on. - (tree_unswitch_single_loop): Unswitch given predicate if - not NULL. - -2022-11-07 Martin Liska <mliska@suse.cz> - Gerald Pfeifer <gerald@pfeifer.com> - - * doc/invoke.texi: Improve wording. - -2022-11-07 Martin Liska <mliska@suse.cz> - - * range-op.cc: Add final override keywords. - -2022-11-07 Kewen Lin <linkw@linux.ibm.com> - - PR tree-optimization/107412 - * gimple-fold.cc (gimple_fold_mask_load_store_mem_ref): Rename to ... - (gimple_fold_partial_load_store_mem_ref): ... this, add one parameter - mask_p indicating it's for mask or length, and add some handlings for - IFN LEN_{LOAD,STORE}. - (gimple_fold_mask_load): Rename to ... - (gimple_fold_partial_load): ... this, add one parameter mask_p. - (gimple_fold_mask_store): Rename to ... - (gimple_fold_partial_store): ... this, add one parameter mask_p. - (gimple_fold_call): Add the handlings for IFN LEN_{LOAD,STORE}, - and adjust calls on gimple_fold_mask_load_store_mem_ref to - gimple_fold_partial_load_store_mem_ref. - -2022-11-07 Hu, Lin1 <lin1.hu@intel.com> - - * common/config/i386/cpuinfo.h - (get_intel_cpu): Handle Grand Ridge. - * common/config/i386/i386-common.cc - (processor_names): Add grandridge. - (processor_alias_table): Ditto. - * common/config/i386/i386-cpuinfo.h: - (enum processor_types): Add INTEL_GRANDRIDGE. - * config.gcc: Add -march=grandridge. - * config/i386/driver-i386.cc (host_detect_local_cpu): - Handle grandridge. - * config/i386/i386-c.cc (ix86_target_macros_internal): - Ditto. - * config/i386/i386-options.cc (m_GRANDRIDGE): New define. - (processor_cost_table): Add grandridge. - * config/i386/i386.h (enum processor_type): - Add PROCESSOR_GRANDRIDGE. - (PTA_GRANDRIDGE): Ditto. - * doc/extend.texi: Add grandridge. - * doc/invoke.texi: Ditto. - -2022-11-07 konglin1 <lingling.kong@intel.com> - - * config/i386/i386.opt:Add -mprefer-remote-atomic. - * config/i386/sync.md (atomic_<plus_logic><mode>): - New define_expand. - (atomic_add<mode>): Rename to below one. - (atomic_add<mode>_1): To this. - (atomic_<logic><mode>): Ditto. - (atomic_<logic><mode>_1): Ditto. - * doc/invoke.texi: Add -mprefer-remote-atomic. - -2022-11-07 konglin1 <lingling.kong@intel.com> - - * common/config/i386/cpuinfo.h (get_available_features): - Detect raoint. - * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_RAOINT_SET, - OPTION_MASK_ISA2_RAOINT_UNSET): New. - (ix86_handle_option): Handle -mraoint. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_RAOINT. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - raoint. - * config.gcc: Add raointintrin.h - * config/i386/cpuid.h (bit_RAOINT): New. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __RAOINT__. - * config/i386/i386-isa.def (RAOINT): Add DEF_PTA(RAOINT). - * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): - Add -mraoint. - * config/i386/sync.md (rao_a<raointop><mode>): New define insn. - * config/i386/i386.opt: Add option -mraoint. - * config/i386/x86gprintrin.h: Include raointintrin.h. - * doc/extend.texi: Document raoint. - * doc/invoke.texi: Document -mraoint. - * doc/sourcebuild.texi: Document target raoint. - * config/i386/raointintrin.h: New file. - -2022-11-07 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/cpuinfo.h - (get_intel_cpu): Handle Granite Rapids. - * common/config/i386/i386-common.cc: - (processor_names): Add graniterapids. - (processor_alias_table): Ditto. - * common/config/i386/i386-cpuinfo.h - (enum processor_subtypes): Add INTEL_GRANTIERAPIDS. - * config.gcc: Add -march=graniterapids. - * config/i386/driver-i386.cc (host_detect_local_cpu): - Handle graniterapids. - * config/i386/i386-c.cc (ix86_target_macros_internal): - Ditto. - * config/i386/i386-options.cc (m_GRANITERAPIDS): New. - (processor_cost_table): Add graniterapids. - * config/i386/i386.h (enum processor_type): - Add PROCESSOR_GRANITERAPIDS. - (PTA_GRANITERAPIDS): Ditto. - * doc/extend.texi: Add graniterapids. - * doc/invoke.texi: Ditto. - -2022-11-07 Haochen Jiang <haochen.jiang@intel.com> - Hongtao Liu <hongtao.liu@intel.com> - - * common/config/i386/cpuinfo.h (get_available_features): - Detect PREFETCHI. - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_PREFETCHI_SET, - OPTION_MASK_ISA2_PREFETCHI_UNSET): New. - (ix86_handle_option): Handle -mprefetchi. - * common/config/i386/i386-cpuinfo.h - (enum processor_features): Add FEATURE_PREFETCHI. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY - for prefetchi. - * config.gcc: Add prfchiintrin.h. - * config/i386/cpuid.h (bit_PREFETCHI): New. - * config/i386/i386-builtin-types.def: - Add DEF_FUNCTION_TYPE (VOID, PCVOID, INT) - and DEF_FUNCTION_TYPE (VOID, PCVOID, INT, INT, INT). - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-c.cc (ix86_target_macros_internal): - Define __PREFETCHI__. - * config/i386/i386-expand.cc: Handle new builtins. - * config/i386/i386-isa.def (PREFETCHI): - Add DEF_PTA(PREFETCHI). - * config/i386/i386-options.cc - (ix86_valid_target_attribute_inner_p): Handle prefetchi. - * config/i386/i386.md (prefetchi): New define_insn. - * config/i386/i386.opt: Add option -mprefetchi. - * config/i386/predicates.md (local_func_symbolic_operand): - New predicates. - * config/i386/x86gprintrin.h: Include prfchiintrin.h. - * config/i386/xmmintrin.h (enum _mm_hint): New enum for - prefetchi. - (_mm_prefetch): Handle the highest bit of enum. - * doc/extend.texi: Document prefetchi. - * doc/invoke.texi: Document -mprefetchi. - * doc/sourcebuild.texi: Document target prefetchi. - * config/i386/prfchiintrin.h: New file. - -2022-11-06 Uroš Bizjak <ubizjak@gmail.com> - - * optabs.cc (can_vec_set_var_idx_p): Use operand[2] - mode when checking vec_set_optab. - -2022-11-06 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): New unspec. - (type): Add fcopysign. - (copysign<mode>3): New instruction template. - -2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> - - * multiple_target.cc (expand_target_clones): Free memory. - -2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> - - * cgraph.cc (cgraph_node::make_local): Remove redundant set_section. - * multiple_target.cc (create_dispatcher_calls): Likewise. - -2022-11-05 Jonathan Wakely <jwakely@redhat.com> - - PR c/41041 - * doc/cppopts.texi: Document -fwide-exec-charset defaults - correctly. - -2022-11-05 Alexandre Oliva <oliva@adacore.com> - - * common.opt (fmultiflags): New. - * doc/invoke.texi: Document it. - * gcc.cc (driver_self_specs): Discard it. - * opts.cc (common_handle_option): Ignore it in the driver. - -2022-11-04 Jeff Chapman II <jchapman@lock3software.com> - Jason Merrill <jason@redhat.com> - - * input.cc (get_source_text_between): New fn. - * input.h (get_source_text_between): Declare. - -2022-11-04 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107342 - * range-op.cc (operator_mult::fold_range): New. - (operator_div::fold_range): New. - -2022-11-04 Eric Botcazou <ebotcazou@adacore.com> - - * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>: - Do not take into account operand 2. - (operand_compare::hash_operand) <COMPONENT_REF>: Likewise. - -2022-11-04 Eric Botcazou <ebotcazou@adacore.com> - - * expr.cc (emit_group_store): Do not use subword paradoxical subregs - -2022-11-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * config/aarch64/aarch64-sve2.md: Fix typo in Cryptographic - extensions comment. - -2022-11-04 Thomas Schwinge <thomas@codesourcery.com> - - * config.gcc [target *-intelmic-* | *-intelmicemul-*]: Remove. - * config/i386/i386-options.cc (ix86_omp_device_kind_arch_isa) - [ACCEL_COMPILER]: Remove. - * config/i386/intelmic-mkoffload.cc: Remove. - * config/i386/intelmic-offload.h: Likewise. - * config/i386/t-intelmic: Likewise. - * config/i386/t-omp-device: Likewise. - * configure.ac [target *-intelmic-* | *-intelmicemul-*]: Remove. - * configure: Regenerate. - * doc/install.texi (--enable-offload-targets=[...]): Update. - * doc/sourcebuild.texi: Remove 'liboffloadmic' documentation. - -2022-11-04 Thomas Schwinge <thomas@codesourcery.com> - - * Makefile.in (OBJS): Remove 'dbxout.o'. - * config/nvptx/nvptx.cc: Don't '#include "dbxout.h"'. - * dbxout.cc: Remove. - * dbxout.h: Likewise. - * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): - Default to 'default_asm_out_constructor', - 'default_asm_out_destructor'. - * targhooks.cc (default_asm_out_constructor) - (default_asm_out_destructor): New. - * targhooks.h (default_asm_out_constructor) - (default_asm_out_destructor): Declare. - -2022-11-04 Thomas Schwinge <thomas@codesourcery.com> - - * Makefile.in (OBJS): Add 'dbxout.o'. - * config/nvptx/nvptx.cc: '#include "dbxout.h"'. - * dbxout.cc: New. - * dbxout.h: Likewise. - * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): - Default to 'default_stabs_asm_out_constructor', - 'default_stabs_asm_out_destructor'. - -2022-11-04 Hongyu Wang <hongyu.wang@intel.com> - Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/cpuinfo.h (get_available_features): Detect - amx-fp16. - * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_FP16_SET, - OPTION_MASK_ISA2_AMX_FP16_UNSET): New macros. - (ix86_handle_option): Handle -mamx-fp16. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AMX_FP16. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - amx-fp16. - * config.gcc: Add amxfp16intrin.h. - * config/i386/cpuid.h (bit_AMX_FP16): New. - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __AMX_FP16__. - * config/i386/i386-isa.def: Add DEF_PTA for AMX_FP16. - * config/i386/i386-options.cc (isa2_opts): Add -mamx-fp16. - (ix86_valid_target_attribute_inner_p): Add new ATTR. - (ix86_option_override_internal): Handle AMX-FP16. - * config/i386/i386.opt: Add -mamx-fp16. - * config/i386/immintrin.h: Include amxfp16intrin.h. - * doc/extend.texi: Document -mamx-fp16. - * doc/invoke.texi: Document amx-fp16. - * doc/sourcebuild.texi: Document amx_fp16. - * config/i386/amxfp16intrin.h: New file. - -2022-11-04 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/cpuinfo.h (get_intel_cpu): - Add Sierra Forest. - * common/config/i386/i386-common.cc - (processor_names): Add Sierra Forest. - (processor_alias_table): Ditto. - * common/config/i386/i386-cpuinfo.h - (enum processor_types): Add INTEL_SIERRAFOREST. - * config.gcc: Add -march=sierraforest. - * config/i386/driver-i386.cc (host_detect_local_cpu): - Handle Sierra Forest. - * config/i386/i386-c.cc (ix86_target_macros_internal): - Ditto. - * config/i386/i386-options.cc (m_SIERRAFOREST): New define. - (processor_cost_table): Add sierra forest. - * config/i386/i386.h (enum processor_type): - Add PROCESSOR_SIERRA_FOREST. - (PTA_SIERRAFOREST): Ditto. - * doc/extend.texi: Add sierra forest. - * doc/invoke.texi: Ditto. - -2022-11-04 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/cpuinfo.h (get_available_features): - Detect cmpccxadd. - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_CMPCCXADD_SET, - OPTION_MASK_ISA2_CMPCCXADD_UNSET): New. - (ix86_handle_option): Handle -mcmpccxadd. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_CMPCCXADD. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - cmpccxadd. - * config.gcc: Add cmpccxaddintrin.h. - * config/i386/cpuid.h (bit_CMPCCXADD): New. - * config/i386/i386-builtin-types.def: - Add DEF_FUNCTION_TYPE(INT, PINT, INT, INT, INT) - and DEF_FUNCTION_TYPE(LONGLONG, PLONGLONG, LONGLONG, LONGLONG, INT). - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __CMPCCXADD__. - * config/i386/i386-expand.cc (ix86_expand_special_args_builtin): - Add new parameter to indicate constant position. - Handle INT_FTYPE_PINT_INT_INT_INT - and LONGLONG_FTYPE_PLONGLONG_LONGLONG_LONGLONG_INT. - * config/i386/i386-isa.def (CMPCCXADD): Add DEF_PTA(CMPCCXADD). - * config/i386/i386-options.cc (isa2_opts): Add -mcmpccxadd. - (ix86_valid_target_attribute_inner_p): Handle cmpccxadd. - * config/i386/i386.opt: Add option -mcmpccxadd. - * config/i386/sync.md (cmpccxadd_<mode>): New define insn. - * config/i386/x86gprintrin.h: Include cmpccxaddintrin.h. - * doc/extend.texi: Document cmpccxadd. - * doc/invoke.texi: Document -mcmpccxadd. - * doc/sourcebuild.texi: Document target cmpccxadd. - * config/i386/cmpccxaddintrin.h: New file. - -2022-11-03 Jason Merrill <jason@redhat.com> - - * doc/invoke.texi: -fconcepts no longer implies - -fconcepts-ts before C++20. - -2022-11-03 Kwok Cheung Yeung <kcy@codesourcery.com> - - * config/gcn/gcn-valu.md (math_unop_insn): New attribute. - (<math_unop><mode>2, <math_unop><mode>2<exec>, <math_unop><mode>2, - <math_unop><mode>2<exec>, *<math_unop><mode>2_insn, - *<math_unop><mode>2<exec>_insn): Use math_unop_insn to generate - assembler output. - -2022-11-03 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range.cc (gimple_ranger::update_stmt): New. - * gimple-range.h (gimple_ranger::update_stmt): New prototype. - * tree-ssa-operands.cc (update_stmt_operands): Notify range - query that stmt has changed. - * value-query.h (range_query::update_stmt): New. - -2022-11-03 David Malcolm <dmalcolm@redhat.com> - - * make-unique.h: New file. - -2022-11-03 Uroš Bizjak <ubizjak@gmail.com> - - PR target/107404 - * config/i386/i386.md (eliminate reg-reg move by inverting the - condition of a cmove #2 peephole2): Check if eliminated move - initialized a register, used in the moved instruction. - -2022-11-03 Andrew Stubbs <ams@codesourcery.com> - - PR target/107510 - * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Remove duplicate - UNSPEC_SMIN_DPP_SHR conditionals. - -2022-11-02 Christoph Müllner <christoph.muellner@vrull.eu> - - * common/config/riscv/riscv-common.cc: Add zawrs extension. - * config/riscv/riscv-opts.h (MASK_ZAWRS): New. - (TARGET_ZAWRS): New. - * config/riscv/riscv.opt: New. - -2022-11-02 Rasmus Villemoes <rv@rasmusvillemoes.dk> - - PR driver/93371 - * gcc.cc (ASM_MAP): Honour -ffile-prefix-map. - -2022-11-02 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::contains_p): Fix signed zero handling. - (range_tests_signed_zeros): New test. - -2022-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN. - -2022-11-02 Xionghu Luo <xionghuluo@tencent.com> - - PR target/100866 - * config/rs6000/altivec.md: (*altivec_vrl<VI_char>): Named to... - (altivec_vrl<VI_char>): ...this. - * config/rs6000/vsx.md (revb_<mode>): Call vspltish and vrlh when - target is Power8 and mode is V8HI. - -2022-11-01 David Seifert <soap@gentoo.org> - - * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h). - * configure: Regenerate. - -2022-11-01 Richard Purdie <richard.purdie@linuxfoundation.org> - - * file-prefix-map.cc (remap_filename): Allow remapping of relative paths. - -2022-11-01 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107490 - * range-op-float.cc (foperator_unordered_lt::op1_range): Handle - NANs. - (foperator_unordered_lt::op2_range): Same. - (foperator_unordered_le::op1_range): Same. - (foperator_unordered_le::op2_range): Same. - (foperator_unordered_gt::op1_range): Same. - (foperator_unordered_gt::op2_range): Same. - (foperator_unordered_ge::op1_range): Same. - (foperator_unordered_ge::op2_range): Same. - -2022-11-01 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/107497 - * tree-vrp.cc (remove_unreachable::remove_and_update_globals): - Check that ssa-name still exists before accessing it. - -2022-11-01 Andrew MacLeod <amacleod@redhat.com> - - * params.opt (param_vrp1_mode): Make ranger default. - -2022-11-01 Andrew MacLeod <amacleod@redhat.com> - - * tree-vrp.cc (class remove_unreachable): New. - (remove_unreachable::maybe_register_block): New. - (remove_unreachable::remove_and_update_globals): New. - (rvrp_folder::rvrp_folder): Initialize m_unreachable. - (rvrp_folder::post_fold_bb): Maybe register unreachable block. - (rvrp_folder::m_unreachable): New member. - (execute_ranger_vrp): Add final_pass flag, remove unreachables. - -2022-11-01 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::fill_block_cache): Allow - exit block to be specified. - (ranger_cache::range_from_dom): If exit block is specified, use - the immediate predecessor instead of the dominator to start. - * gimple-range.cc (gimple_ranger::range_on_exit): Allow query - for exit block. - -2022-11-01 Andrew MacLeod <amacleod@redhat.com> - - * value-range.cc (irange::intersect_nonzero_bits): If new - non-zero mask is the same as original, flag no change. - -2022-11-01 Alexander Monakov <amonakov@ispras.ru> - - PR target/87832 - * config/i386/znver.md (znver1_idiv): New automaton. - (znver1-idiv): New unit. - (znver1_idiv_DI): Correct unit and cycles in the reservation. - (znver1_idiv_SI): Ditto. - (znver1_idiv_HI): Ditto. - (znver1_idiv_QI): Ditto. - (znver1_idiv_mem_DI): Ditto. - (znver1_idiv_mem_SI): Ditto. - (znver1_idiv_mem_HI): Ditto. - (znver1_idiv_mem_QI): Ditto. - (znver3_idiv_DI): Ditto. - (znver3_idiv_SI): Ditto. - (znver3_idiv_HI): Ditto. - (znver3_idiv_QI): Ditto. - (znver3_idiv_mem_DI): Ditto. - (znver3_idiv_mem_SI): Ditto. - (znver3_idiv_mem_HI): Ditto. - (znver3_idiv_mem_QI): Ditto. - -2022-11-01 liuhongt <hongtao.liu@intel.com> - - PR target/107057 - * config/i386/sse.md (*vec_interleave_highv2df): Remove - constraint 1. - (*vec_interleave_lowv2df): Ditto. - (vec_concatv2df): Ditto. - (*avx512f_unpcklpd512<mask_name>): Ditto and renamed to .. - (avx512f_unpcklpd512<mask_name>): .. this. - (avx512f_movddup512<mask_name>): Change to define_insn. - (avx_movddup256<mask_name>): Ditto. - (*avx_unpcklpd256<mask_name>): Remove constraint 1 and renamed - to .. - (avx_unpcklpd256<mask_name>): .. this. - * config/i386/i386.cc (ix86_vec_interleave_v2df_operator_ok): - Disallow MEM_P (op1) && MEM_P (op2). - -2022-11-01 liuhongt <hongtao.liu@intel.com> - - PR target/55583 - * config/i386/i386.md (*x86_64_shld_1): Rename to .. - (x86_64_shld_1): .. this. - (*x86_shld_1): Rename to .. - (x86_shld_1): .. this. - (*x86_64_shrd_1): Rename to .. - (x86_64_shrd_1): .. this. - (*x86_shrd_1): Rename to .. - (x86_shrd_1): .. this. - (*x86_64_shld_shrd_1_nozext): New pre_reload splitter. - (*x86_shld_shrd_1_nozext): Ditto. - (*x86_64_shrd_shld_1_nozext): Ditto. - (*x86_shrd_shld_1_nozext): Ditto. - -2022-11-01 Cui,Lili <lili.cui@intel.com> - - * ipa-inline-analysis.cc (do_estimate_edge_time): Add function attribute - judgement for INLINE_HINT_known_hot hint. - -2022-10-31 Guillermo E. Martinez <guillermo.e.martinez@oracle.com> - - * btfout.cc (btf_calc_num_vbytes): Compute enumeration size depending of - enumerator type btf_enum{,64}. - (btf_asm_type): Update btf_kflag according to enumeration type sign - using dtd_enum_unsigned field for both: BTF_KIND_ENUM{,64}. - (btf_asm_enum_const): New argument to represent the size of - the BTF enum type, writing the enumerator constant value for - 32 bits, if it's 64 bits then explicitly writes lower 32-bits - value and higher 32-bits value. - (output_asm_btf_enum_list): Add enumeration size argument. - * ctfc.cc (ctf_add_enum): New argument to represent CTF enum - basic information. - (ctf_add_generic): Use of ei_{name. size, unsigned} to build the - dtd structure containing enumeration information. - (ctf_add_enumerator): Update comment mention support for BTF - enumeration in 64-bits. - * dwarf2ctf.cc (gen_ctf_enumeration_type): Extract signedness - for enumeration type and use it in ctf_add_enum. - * ctfc.h (ctf_dmdef): Update dmd_value to HOST_WIDE_INT to allow - use 32/64 bits enumerators. - information. - (ctf_dtdef): New field to describe enum signedness. - -2022-10-31 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-builtins-bases.cc: Change constexpr back to CONSTEXPR. - * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Ditto. - * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Ditto. - -2022-10-31 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn-valu.md (fminmaxop): New iterator. - (<fexpander><mode>3): New define_expand. - (<fexpander><mode>3<exec>): Likewise. - (reduc_<fexpander>_scal_<mode>): Likewise. - * config/gcn/gcn.md (fexpander): New attribute. - -2022-10-31 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn-valu.md (V64_SI): Delete iterator. - (V64_DI): Likewise. - (V64_1REG): Likewise. - (V64_INT_1REG): Likewise. - (V64_2REG): Likewise. - (V64_ALL): Likewise. - (V64_FP): Likewise. - (reduc_<reduc_op>_scal_<mode>): Use V_ALL. Use gen_vec_extract. - (fold_left_plus_<mode>): Use V_FP. - (*<reduc_op>_dpp_shr_<mode>): Use V_1REG. - (*<reduc_op>_dpp_shr_<mode>): Use V_DI. - (*plus_carry_dpp_shr_<mode>): Use V_INT_1REG. - (*plus_carry_in_dpp_shr_<mode>): Use V_SI. - (*plus_carry_dpp_shr_<mode>): Use V_DI. - (mov_from_lane63_<mode>): Delete. - (mov_from_lane63_<mode>): Delete. - * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Support partial vectors. - * config/gcn/gcn.md (unspec): Remove UNSPEC_MOV_FROM_LANE63. - -2022-10-31 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): - Set base_type as ARG_UNUSED. - -2022-10-31 Jakub Jelinek <jakub@redhat.com> - - * builtin-types.def (BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT32, - BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT32X, - BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT128X, - BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16, - BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32, - BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64, - BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128, - BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X, - BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X, - BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X, - BT_FN_FLOAT16_COMPLEX_FLOAT16, BT_FN_FLOAT32_COMPLEX_FLOAT32, - BT_FN_FLOAT64_COMPLEX_FLOAT64, BT_FN_FLOAT128_COMPLEX_FLOAT128, - BT_FN_FLOAT32X_COMPLEX_FLOAT32X, BT_FN_FLOAT64X_COMPLEX_FLOAT64X, - BT_FN_FLOAT128X_COMPLEX_FLOAT128X, - BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16_COMPLEX_FLOAT16, - BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32_COMPLEX_FLOAT32, - BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64_COMPLEX_FLOAT64, - BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128_COMPLEX_FLOAT128, - BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X, - BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X, - BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X): New. - * builtins.def (CABS_TYPE, CACOSH_TYPE, CARG_TYPE, CASINH_TYPE, - CPOW_TYPE, CPROJ_TYPE): Define and undefine later. - (BUILT_IN_CABS, BUILT_IN_CACOSH, BUILT_IN_CACOS, BUILT_IN_CARG, - BUILT_IN_CASINH, BUILT_IN_CASIN, BUILT_IN_CATANH, BUILT_IN_CATAN, - BUILT_IN_CCOSH, BUILT_IN_CCOS, BUILT_IN_CEXP, BUILT_IN_CLOG, - BUILT_IN_CPOW, BUILT_IN_CPROJ, BUILT_IN_CSINH, BUILT_IN_CSIN, - BUILT_IN_CSQRT, BUILT_IN_CTANH, BUILT_IN_CTAN): Add - DEF_EXT_LIB_FLOATN_NX_BUILTINS. - * fold-const-call.cc (fold_const_call_sc, fold_const_call_cc, - fold_const_call_ccc): Add various CASE_CFN_*_FN: cases when - CASE_CFN_* is present. - * gimple-ssa-backprop.cc (backprop::process_builtin_call_use): - Likewise. - * builtins.cc (expand_builtin, fold_builtin_1): Likewise. - * fold-const.cc (negate_mathfn_p, tree_expr_finite_p, - tree_expr_maybe_signaling_nan_p, tree_expr_maybe_nan_p, - tree_expr_maybe_real_minus_zero_p, tree_call_nonnegative_warnv_p): - Likewise. - -2022-10-31 Jakub Jelinek <jakub@redhat.com> - - * builtin-types.def (BT_FN_BFLOAT16_BFLOAT16_BFLOAT16): New. - * builtins.def (BUILT_IN_NEXTAFTERF16B): New builtin. - * fold-const-call.cc (fold_const_call_sss): Handle - CFN_BUILT_IN_NEXTAFTERF16B. - -2022-10-31 Jakub Jelinek <jakub@redhat.com> - - * builtin-types.def (BT_FLOAT16_PTR, BT_FLOAT32_PTR, BT_FLOAT64_PTR, - BT_FLOAT128_PTR, BT_FLOAT32X_PTR, BT_FLOAT64X_PTR, BT_FLOAT128X_PTR): - New DEF_PRIMITIVE_TYPE. - (BT_FN_INT_FLOAT16, BT_FN_INT_FLOAT32, BT_FN_INT_FLOAT64, - BT_FN_INT_FLOAT128, BT_FN_INT_FLOAT32X, BT_FN_INT_FLOAT64X, - BT_FN_INT_FLOAT128X, BT_FN_LONG_FLOAT16, BT_FN_LONG_FLOAT32, - BT_FN_LONG_FLOAT64, BT_FN_LONG_FLOAT128, BT_FN_LONG_FLOAT32X, - BT_FN_LONG_FLOAT64X, BT_FN_LONG_FLOAT128X, BT_FN_LONGLONG_FLOAT16, - BT_FN_LONGLONG_FLOAT32, BT_FN_LONGLONG_FLOAT64, - BT_FN_LONGLONG_FLOAT128, BT_FN_LONGLONG_FLOAT32X, - BT_FN_LONGLONG_FLOAT64X, BT_FN_LONGLONG_FLOAT128X): New - DEF_FUNCTION_TYPE_1. - (BT_FN_FLOAT16_FLOAT16_FLOAT16PTR, BT_FN_FLOAT32_FLOAT32_FLOAT32PTR, - BT_FN_FLOAT64_FLOAT64_FLOAT64PTR, BT_FN_FLOAT128_FLOAT128_FLOAT128PTR, - BT_FN_FLOAT32X_FLOAT32X_FLOAT32XPTR, - BT_FN_FLOAT64X_FLOAT64X_FLOAT64XPTR, - BT_FN_FLOAT128X_FLOAT128X_FLOAT128XPTR, BT_FN_FLOAT16_FLOAT16_INT, - BT_FN_FLOAT32_FLOAT32_INT, BT_FN_FLOAT64_FLOAT64_INT, - BT_FN_FLOAT128_FLOAT128_INT, BT_FN_FLOAT32X_FLOAT32X_INT, - BT_FN_FLOAT64X_FLOAT64X_INT, BT_FN_FLOAT128X_FLOAT128X_INT, - BT_FN_FLOAT16_FLOAT16_INTPTR, BT_FN_FLOAT32_FLOAT32_INTPTR, - BT_FN_FLOAT64_FLOAT64_INTPTR, BT_FN_FLOAT128_FLOAT128_INTPTR, - BT_FN_FLOAT32X_FLOAT32X_INTPTR, BT_FN_FLOAT64X_FLOAT64X_INTPTR, - BT_FN_FLOAT128X_FLOAT128X_INTPTR, BT_FN_FLOAT16_FLOAT16_LONG, - BT_FN_FLOAT32_FLOAT32_LONG, BT_FN_FLOAT64_FLOAT64_LONG, - BT_FN_FLOAT128_FLOAT128_LONG, BT_FN_FLOAT32X_FLOAT32X_LONG, - BT_FN_FLOAT64X_FLOAT64X_LONG, BT_FN_FLOAT128X_FLOAT128X_LONG): New - DEF_FUNCTION_TYPE_2. - (BT_FN_FLOAT16_FLOAT16_FLOAT16_INTPTR, - BT_FN_FLOAT32_FLOAT32_FLOAT32_INTPTR, - BT_FN_FLOAT64_FLOAT64_FLOAT64_INTPTR, - BT_FN_FLOAT128_FLOAT128_FLOAT128_INTPTR, - BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_INTPTR, - BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_INTPTR, - BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_INTPTR): New DEF_FUNCTION_TYPE_3. - * builtins.def (ACOSH_TYPE, ATAN2_TYPE, ATANH_TYPE, COSH_TYPE, - FDIM_TYPE, HUGE_VAL_TYPE, HYPOT_TYPE, ILOGB_TYPE, LDEXP_TYPE, - LGAMMA_TYPE, LLRINT_TYPE, LOG10_TYPE, LRINT_TYPE, MODF_TYPE, - NEXTAFTER_TYPE, REMQUO_TYPE, SCALBLN_TYPE, SCALBN_TYPE, SINH_TYPE): - Define and undefine later. - (FMIN_TYPE, SQRT_TYPE): Undefine at a later line. - (INF_TYPE): Define at a later line. - (BUILT_IN_ACOSH, BUILT_IN_ACOS, BUILT_IN_ASINH, BUILT_IN_ASIN, - BUILT_IN_ATAN2, BUILT_IN_ATANH, BUILT_IN_ATAN, BUILT_IN_CBRT, - BUILT_IN_COSH, BUILT_IN_COS, BUILT_IN_ERFC, BUILT_IN_ERF, - BUILT_IN_EXP2, BUILT_IN_EXP, BUILT_IN_EXPM1, BUILT_IN_FDIM, - BUILT_IN_FMOD, BUILT_IN_FREXP, BUILT_IN_HYPOT, BUILT_IN_ILOGB, - BUILT_IN_LDEXP, BUILT_IN_LGAMMA, BUILT_IN_LLRINT, BUILT_IN_LLROUND, - BUILT_IN_LOG10, BUILT_IN_LOG1P, BUILT_IN_LOG2, BUILT_IN_LOGB, - BUILT_IN_LOG, BUILT_IN_LRINT, BUILT_IN_LROUND, BUILT_IN_MODF, - BUILT_IN_NEXTAFTER, BUILT_IN_POW, BUILT_IN_REMAINDER, BUILT_IN_REMQUO, - BUILT_IN_SCALBLN, BUILT_IN_SCALBN, BUILT_IN_SINH, BUILT_IN_SIN, - BUILT_IN_TANH, BUILT_IN_TAN, BUILT_IN_TGAMMA): Add - DEF_EXT_LIB_FLOATN_NX_BUILTINS. - (BUILT_IN_HUGE_VAL): Use HUGE_VAL_TYPE instead of INF_TYPE in - DEF_GCC_FLOATN_NX_BUILTINS. - * fold-const-call.cc (fold_const_call_ss): Add various CASE_CFN_*_FN: - cases when CASE_CFN_* is present. - (fold_const_call_sss): Likewise. - * builtins.cc (mathfn_built_in_2): Use CASE_MATHFN_FLOATN instead of - CASE_MATHFN for various builtins in SEQ_OF_CASE_MATHFN macro. - (builtin_with_linkage_p): Add CASE_FLT_FN_FLOATN_NX for various - builtins next to CASE_FLT_FN. - * fold-const.cc (tree_call_nonnegative_warnv_p): Add CASE_CFN_*_FN: - next to CASE_CFN_*: for various builtins. - * tree-call-cdce.cc (can_test_argument_range): Add - CASE_FLT_FN_FLOATN_NX next to CASE_FLT_FN for various builtins. - (edom_only_function): Likewise. - -2022-10-31 konglin1 <lingling.kong@intel.com> - - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_AVXNECONVERT_SET, - OPTION_MASK_ISA2_AVXNECONVERT_UNSET): New. - (ix86_handle_option): Handle -mavxneconvert, unset - avxneconvert when avx2 is disabled. - * common/config/i386/i386-cpuinfo.h (processor_types): Add - FEATURE_AVXNECONVERT. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - avxneconvert. - * common/config/i386/cpuinfo.h (get_available_features): - Detect avxneconvert. - * config.gcc: Add avxneconvertintrin.h - * config/i386/avxneconvertintrin.h: New. - * config/i386/avx512bf16vlintrin.h (_mm256_cvtneps_pbh): - Unified builtin with avxneconvert. - (_mm_cvtneps_pbh): Ditto. - * config/i386/cpuid.h (bit_AVXNECONVERT): New. - * config/i386/i386-builtin-types.def: Add - DEF_POINTER_TYPE (PCV8HF, V8HF, CONST), - DEF_POINTER_TYPE (PCV8BF, V8BF, CONST), - DEF_POINTER_TYPE (PCV16HF, V16HF, CONST), - DEF_POINTER_TYPE (PCV16BF, V16BF, CONST), - DEF_FUNCTION_TYPE (V4SF, PCBFLOAT16), - DEF_FUNCTION_TYPE (V4SF, PCFLOAT16), - DEF_FUNCTION_TYPE (V8SF, PCBFLOAT16), - DEF_FUNCTION_TYPE (V8SF, PCFLOAT16), - DEF_FUNCTION_TYPE (V4SF, PCV8BF), - DEF_FUNCTION_TYPE (V4SF, PCV8HF), - DEF_FUNCTION_TYPE (V8SF, PCV16HF), - DEF_FUNCTION_TYPE (V8SF, PCV16BF), - * config/i386/i386-builtin.def: Add new builtins. - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __AVXNECONVERT__. - * config/i386/i386-expand.cc (ix86_expand_special_args_builtin): - Handle V4SF_FTYPE_PCBFLOAT16,V8SF_FTYPE_PCBFLOAT16, V4SF_FTYPE_PCFLOAT16, - V8SF_FTYPE_PCFLOAT16,V4SF_FTYPE_PCV8BF, - V4SF_FTYPE_PCV8HF,V8SF_FTYPE_PCV16BF,V8SF_FTYPE_PCV16HF. - * config/i386/i386-isa.def : Add DEF_PTA(AVXNECONVERT) New. - * config/i386/i386-options.cc (isa2_opts): Add -mavxneconvert. - (ix86_valid_target_attribute_inner_p): Handle avxneconvert. - * config/i386/i386.md: Add attr avx512bf16vl and avxneconvert. - * config/i386/i386.opt: Add option -mavxneconvert. - * config/i386/immintrin.h: Inculde avxneconvertintrin.h. - * config/i386/sse.md (vbcstnebf162ps_<mode>): New define_insn. - (vbcstnesh2ps_<mode>): Ditto. - (vcvtnee<bf16_ph>2ps_<mode>):Ditto. - (vcvtneo<bf16_ph>2ps_<mode>):Ditto. - (vcvtneps2bf16_v4sf): Ditto. - (*vcvtneps2bf16_v4sf): Ditto. - (vcvtneps2bf16_v8sf): Ditto. - * doc/invoke.texi: Document -mavxneconvert. - * doc/extend.texi: Document avxneconvert. - * doc/sourcebuild.texi: Document target avxneconvert. - -2022-10-31 konglin1 <lingling.kong@intel.com> - - * config/i386/avx512bf16intrin.h (__attribute__): Change short to bf16. - (_mm_cvtsbh_ss): Ditto. - (_mm512_cvtne2ps_pbh): Ditto. - (_mm512_mask_cvtne2ps_pbh): Ditto. - (_mm512_maskz_cvtne2ps_pbh): Ditto. - * config/i386/avx512bf16vlintrin.h (__attribute__): Ditto. - (_mm256_cvtne2ps_pbh): Ditto. - (_mm256_mask_cvtne2ps_pbh): Ditto. - (_mm256_maskz_cvtne2ps_pbh): Ditto. - (_mm_cvtne2ps_pbh): Ditto. - (_mm_mask_cvtne2ps_pbh): Ditto. - (_mm_maskz_cvtne2ps_pbh): Ditto. - (_mm_cvtness_sbh): Ditto. - * config/i386/i386-builtin-types.def (V8BF): Add new - DEF_VECTOR_TYPE for BFmode. - (V16BF): Ditto. - (V32BF): Ditto. - * config/i386/i386-builtin.def (BDESC): Fixed builtins. - * config/i386/i386-expand.cc (ix86_expand_args_builtin): Changed - avx512bf16 ix86_builtin_func_type included HI to BF. - * config/i386/immintrin.h: Add SSE2 depend for avx512bf16. - * config/i386/sse.md (TARGET_AVX512VL): Changed HI vector to BF - vector. - (avx512f_cvtneps2bf16_v4sf): New define_expand. - (*avx512f_cvtneps2bf16_v4sf): New define_insn. - (avx512f_cvtneps2bf16_v4sf_maskz):Ditto. - (avx512f_cvtneps2bf16_v4sf_mask): Ditto. - (avx512f_cvtneps2bf16_v4sf_mask_1): Ditto. - -2022-10-31 liuhongt <hongtao.liu@intel.com> - - PR target/107261 - * config/i386/i386-modes.def (VECTOR_MODE): Support V2BFmode. - * config/i386/i386.cc (classify_argument): Handle V4BFmode and - V2BFmode. - (ix86_convert_const_vector_to_integer): Ditto. - * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Remove - V2BFmode. - (VALID_SSE2_REG_MODE): Add V4BFmode and V2BFmode. - (VALID_MMX_REG_MODE): Add V4BFmode. - * config/i386/i386.md (mode): Add V4BF and V2BF. - (MODE_SIZE): Ditto. - * config/i386/mmx.md (MMXMODE) Add V4BF. - (V_32): Add V2BF. - (V_16_32_64): Add V4BF and V2BF. - (mmxinsnmode): Add V4BF and V2BF. - (*mov<mode>_internal): Hanlde V4BFmode and V2BFmode. - -2022-10-29 Eric Botcazou <ebotcazou@adacore.com> - - * configure.ac (sjlj-exceptions): Restore dropped line. - * configure: Regenerate. - -2022-10-29 Eric Botcazou <ebotcazou@adacore.com> - - * alias.cc (init_alias_analysis): Do not record sets to the hard - frame pointer if the frame pointer has not been eliminated. - -2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org> - - * config/darwin-d.cc (TARGET_D_MINFO_START_NAME): Rename to ... - (TARGET_D_MINFO_SECTION_START): ...this. - (TARGET_D_MINFO_END_NAME): Rename to ... - (TARGET_D_MINFO_SECTION_END): ... this. - * config/elfos.h (TARGET_D_MINFO_SECTION): Remove. - (TARGET_D_MINFO_START_NAME): Remove. - (TARGET_D_MINFO_END_NAME): Remove. - * config/i386/cygwin-d.cc (TARGET_D_MINFO_SECTION): Remove. - (TARGET_D_MINFO_START_NAME): Remove. - (TARGET_D_MINFO_END_NAME): Remove. - * config/i386/winnt-d.cc (TARGET_D_MINFO_SECTION): Remove. - (TARGET_D_MINFO_START_NAME): Remove. - (TARGET_D_MINFO_END_NAME): Remove. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (TARGET_D_MINFO_START_NAME): Rename to ... - (TARGET_D_MINFO_SECTION_START): ...this. - (TARGET_D_MINFO_END_NAME): Rename to ... - (TARGET_D_MINFO_SECTION_END): ...this. - -2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org> - - * config.gcc: Split out glibc-d.o into linux-d.o, kfreebsd-d.o, - kopensolaris-d.o, and gnu-d.o. Split out cygwin-d.o from winnt-d.o. - * config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. - * config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove. - * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. - * config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. - * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. - * config/i386/t-cygming: Add cygwin-d.o. - * config/i386/winnt-d.cc (winnt_d_os_builtins): Only add - MinGW-specific version condition. - * config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove. - * config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove. - * config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Remove. - * config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove. - * config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. - * config/t-glibc: Remove glibc-d.o, add gnu-d.o, kfreebsd-d.o, - kopensolaris-d.o. - * config/t-linux: Add linux-d.o. - * config/glibc-d.cc: Remove file. - * config/gnu-d.cc: New file. - * config/i386/cygwin-d.cc: New file. - * config/kfreebsd-d.cc: New file. - * config/kopensolaris-d.cc: New file. - * config/linux-d.cc: New file. - -2022-10-29 Jeff Law <jeffreyalaw@gmail.com> - - * config/h8300/h8300.cc (pre_incdec_with_reg): Make reg argument - an unsigned int - * config/h8300/h8300-protos.h (pre_incdec_with_reg): Adjust prototype. - -2022-10-28 Joseph Myers <joseph@codesourcery.com> - - * config/aarch64/aarch64.cc (aarch64_setup_incoming_varargs): - Check TYPE_NO_NAMED_ARGS_STDARG_P. - * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Likewise. - * config/arc/arc.cc (arc_setup_incoming_varargs): Likewise. - * config/arm/arm.cc (arm_setup_incoming_varargs): Likewise. - * config/csky/csky.cc (csky_setup_incoming_varargs): Likewise. - * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs): - Likewise. - * config/fr30/fr30.cc (fr30_setup_incoming_varargs): Likewise. - * config/frv/frv.cc (frv_setup_incoming_varargs): Likewise. - * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Likewise. - * config/i386/i386.cc (ix86_setup_incoming_varargs): Likewise. - * config/ia64/ia64.cc (ia64_setup_incoming_varargs): Likewise. - * config/loongarch/loongarch.cc - (loongarch_setup_incoming_varargs): Likewise. - * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Likewise. - * config/mcore/mcore.cc (mcore_setup_incoming_varargs): Likewise. - * config/mips/mips.cc (mips_setup_incoming_varargs): Likewise. - * config/mmix/mmix.cc (mmix_setup_incoming_varargs): Likewise. - * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Likewise. - * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Likewise. - * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Likewise. - * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Likewise. - * config/sh/sh.cc (sh_setup_incoming_varargs): Likewise. - * config/visium/visium.cc (visium_setup_incoming_varargs): - Likewise. - * config/vms/vms-c.cc (vms_c_common_override_options): Do not set - flag_allow_parameterless_variadic_functions. - * doc/invoke.texi (-fallow-parameterless-variadic-functions): Do - not document option. - * function.cc (assign_parms): Call assign_parms_setup_varargs for - TYPE_NO_NAMED_ARGS_STDARG_P case. - * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] (va_start): Make - variadic macro. Pass second argument of 0 to __builtin_va_start. - * target.def (setup_incoming_varargs): Update documentation. - * doc/tm.texi: Regenerate. - * tree-core.h (struct tree_type_common): Add - no_named_args_stdarg_p. - * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Unpack - TYPE_NO_NAMED_ARGS_STDARG_P. - * tree-streamer-out.cc (pack_ts_type_common_value_fields): Pack - TYPE_NO_NAMED_ARGS_STDARG_P. - * tree.cc (type_cache_hasher::equal): Compare - TYPE_NO_NAMED_ARGS_STDARG_P. - (build_function_type): Add argument no_named_args_stdarg_p. - (build_function_type_list_1, build_function_type_array_1) - (reconstruct_complex_type): Update calls to build_function_type. - (stdarg_p, prototype_p): Return true for (...) functions. - (gimple_canonical_types_compatible_p): Compare - TYPE_NO_NAMED_ARGS_STDARG_P. - * tree.h (TYPE_NO_NAMED_ARGS_STDARG_P): New. - (build_function_type): Update prototype. - -2022-10-28 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR tree-optimization/107346 - * tree-vect-data-refs.cc (vect_check_gather_scatter): Reject offsets - that aren't multiples of BITS_PER_UNIT. - -2022-10-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107407 - * tree-ssa-dse.cc (dse_classify_store): Perform backedge - varying index check when collecting PHI uses rather than - after optimizing processing of the candidate defs. - -2022-10-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107447 - * tree-ssa-loop-im.cc (determine_max_movement): Do not - hoist returns-twice calls. - -2022-10-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107435 - * tree-vect-loop.cc (vectorizable_recurr): Convert initial - value to vector component type. - -2022-10-28 Julian Brown <julian@codesourcery.com> - Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/90115 - * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not - privatization candidates. - -2022-10-28 Martin Liska <mliska@suse.cz> - - PR sanitizer/107298 - * doc/invoke.texi: Document sanitizers can trigger warnings. - -2022-10-28 Thomas Schwinge <thomas@codesourcery.com> - - * doc/makefile.texi (Makefile Targets): Document - 'distclean-stage[N]'. - -2022-10-28 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (range_tests_floats): Use HONOR_INFINITIES. - -2022-10-27 Eric Botcazou <ebotcazou@adacore.com> - - * config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete. - -2022-10-27 H.J. Lu <hjl.tools@gmail.com> - - PR target/107172 - * config/i386/i386.md (UNSPEC_CC_NE): New. - Replace ne:CCC/ne:CCO with UNSPEC_CC_NE in neg patterns. - -2022-10-27 Andrew Pinski <apinski@marvell.com> - - * tree-ssa-phiopt.cc: Include tree-ssa-dce.h - (replace_phi_edge_with_variable): - New argument, dce_ssa_names. Call simple_dce_from_worklist. - (match_simplify_replacement): If we inserted a sequence, - mark the lhs of the new sequence to be possible dce. - Always move the statement and mark the lhs (if it is a name) - as possible to remove. - -2022-10-27 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-protos.h: Replace constexpr with - CONSTEXPR. - * config/aarch64/aarch64-sve-builtins-base.cc: Likewise. - * config/aarch64/aarch64-sve-builtins-functions.h: Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise. - * config/aarch64/aarch64-sve-builtins.cc: Likewise. - * config/aarch64/aarch64.cc: Likewise. - * config/aarch64/driver-aarch64.cc: Likewise - -2022-10-27 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107394 - * value-range-storage.cc (frange_storage_slot::get_frange): Use - frange constructor. - -2022-10-27 Thomas Schwinge <thomas@codesourcery.com> - - * optc-save-gen.awk: Clarify 'Init' option property usage for - streaming optimization. - -2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * ira.cc: Resize array after reg number increased. - -2022-10-27 Jiawei <jiawei@iscas.ac.cn> - Sinan Lin <sinan@isrc.iscas.ac.cn> - - * config/riscv/constraints.md (TARGET_ZFINX ? GR_REGS): Set GPRS - use while Zfinx is enable. - * config/riscv/riscv.cc (riscv_hard_regno_mode_ok): Limit odd - registers use when Zdinx enable in RV32 cases. - (riscv_option_override): New target enable MASK_FDIV. - (riscv_libgcc_floating_mode_supported_p): New error info when - use incompatible arch&abi. - (riscv_excess_precision): New target enable FLOAT16. - -2022-10-27 Jiawei <jiawei@iscas.ac.cn> - - * config/riscv/iterators.md (TARGET_ZFINX):New target. - (TARGET_ZDINX): Ditto. - (TARGET_ZHINX): Ditto. - * config/riscv/riscv-builtins.cc (AVAIL): Ditto. - (riscv_atomic_assign_expand_fenv): Ditto. - * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Ditto. - * config/riscv/riscv.md: Ditto. - -2022-10-27 Jiawei <jiawei@iscas.ac.cn> - Sinan Lin <sinan@isrc.iscas.ac.cn> - - * common/config/riscv/riscv-common.cc: New extensions. - * config/riscv/arch-canonicalize: New imply relations. - * config/riscv/riscv-opts.h (MASK_ZFINX): New mask. - (MASK_ZDINX): Ditto. - (MASK_ZHINX): Ditto. - (MASK_ZHINXMIN): Ditto. - (TARGET_ZFINX): New target. - (TARGET_ZDINX): Ditto. - (TARGET_ZHINX): Ditto. - (TARGET_ZHINXMIN): Ditto. - * config/riscv/riscv.opt: New target variable. - -2022-10-26 David Faust <david.faust@oracle.com> - - * config/bpf/bpf.cc: Support __builtin_preserve_field_info. - (enum bpf_builtins): Add new builtin. - (bpf_init_builtins): Likewise. - (bpf_core_field_info): New function. - (bpf_expand_builtin): Accomodate new builtin. Refactor adding new - relocation to... - (maybe_make_core_relo): ... here. New function. - (bpf_resolve_overloaded_builtin): Accomodate new builtin. - (bpf_core_newdecl): Likewise. - (bpf_core_walk): Likewise. - (bpf_core_is_maybe_aggregate_access): Improve logic. - (struct core_walk_data): New. - * config/bpf/coreout.cc (bpf_core_reloc_add): Allow adding different - relocation kinds. - * config/bpf/coreout.h: Analogous change. - * doc/extend.texi: Document BPF __builtin_preserve_field_info. - -2022-10-26 Marek Polacek <polacek@redhat.com> - - PR c++/106393 - * doc/invoke.texi: Document -Wdangling-reference. - -2022-10-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (movdi): - Copy operands[0...1] to ops[0...3] and then use the latter before - calling xtensa_split_DI_reg_imm() and emitting insns. - -2022-10-26 Alexander Monakov <amonakov@ispras.ru> - - PR other/107353 - * ipa-visibility.cc (function_and_variable_visibility): - Conditionally upgrade TLS model instead of asserting. - -2022-10-26 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (fold_using_range::fold_stmt): Check if - stmt is non-negative and adjust the range. - -2022-10-26 Martin Liska <mliska@suse.cz> - - * common/config/i386/cpuinfo.h (has_cpu_feature): Add comment. - (reset_cpu_feature): New. - (get_zhaoxin_cpu): Use reset_cpu_feature. - -2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.cc (riscv_expand_epilogue): Fix statement. - -2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - PR target/107357 - * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Set to minimum size. - (ADJUST_NUNITS): Adjust according to -march. - (ADJUST_BYTESIZE): Ditto. - * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): - Remove. - (riscv_v_ext_vector_mode_p): Change function implementation. - * config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher): - Change to riscv_v_ext_vector_mode_p. - (register_builtin_type): Ditto. - * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): Change to enabled - modes. - (ENTRY): Ditto. - (riscv_v_ext_enabled_vector_mode_p): Remove. - (riscv_v_adjust_nunits): New function. - (riscv_vector_mode_supported_p): Use riscv_v_ext_vector_mode_p instead. - * config/riscv/riscv.h (riscv_v_adjust_nunits): New function. - -2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config.gcc (riscv*): Add riscv-v.o to extra_objs. - * config/riscv/constraints.md (vu): New constraint. - (vi): Ditto. - (Wc0): Ditto. - (Wc1): Ditto. - * config/riscv/predicates.md (vector_length_operand): New. - (reg_or_mem_operand): Ditto. - (vector_move_operand): Ditto. - (vector_mask_operand): Ditto. - (vector_merge_operand): Ditto. - * config/riscv/riscv-protos.h (riscv_regmode_natural_size) New. - (riscv_vector::const_vec_all_same_in_range_p): Ditto. - (riscv_vector::legitimize_move): Ditto. - (tail_policy): Ditto. - (mask_policy): Ditto. - * config/riscv/riscv-v.cc: New. - * config/riscv/riscv-vector-builtins-bases.cc - (vsetvl::expand): Refactor how LMUL encoding. - * config/riscv/riscv.cc (riscv_print_operand): Update how LMUL - print and mask operand print. - (riscv_regmode_natural_size): New. - * config/riscv/riscv.h (REGMODE_NATURAL_SIZE): New. - * config/riscv/riscv.md (mode): Add vector modes. - * config/riscv/t-riscv (riscv-v.o) New. - * config/riscv/vector-iterators.md: New. - * config/riscv/vector.md (vundefined<mode>): New. - (mov<mode>): New. - (*mov<mode>): New. - (@vsetvl<mode>_no_side_effects): New. - (@pred_mov<mode>): New. - -2022-10-26 Monk Chiang <monk.chiang@sifive.com> - - * common/config/riscv/riscv-common.cc (riscv_ext_version_table): - Add svinval and svnapot extension. - (riscv_ext_flag_table): Ditto. - * config/riscv/riscv-opts.h (MASK_SVINVAL): New. - (MASK_SVNAPOT): Ditto. - (TARGET_SVINVAL): Ditto. - (TARGET_SVNAPOT): Ditto. - * config/riscv/riscv.opt (riscv_sv_subext): New. - -2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-modes.def: Adjust table indentation in commnet. - -2022-10-26 Martin Liska <mliska@suse.cz> - - * configure: Regenerate. - -2022-10-26 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::set): Use HONOR_*. - (frange::verify_range): Same. - * value-range.h (frange_val_min): Same. - (frange_val_max): Same. - -2022-10-26 Jiufu Guo <guojiufu@linux.ibm.com> - - PR target/106460 - * config/rs6000/rs6000.cc (rs6000_cannot_force_const_mem): Return true - for HIGH code rtx. - -2022-10-26 Kito Cheng <kito.cheng@sifive.com> - - * common/config/riscv/riscv-common.cc (riscv_ext_version_table): - Add `h`. - (riscv_supported_std_ext): Ditto. - (multi_letter_subset_rank): Remove `h`. - (riscv_subset_list::parse_std_ext): Handle `h` as single letter - extension. - (riscv_subset_list::parse): Ditto. - -2022-10-25 Eugene Rozenfeld <erozen@microsoft.com> - - * auto-profile.cc (get_combined_location): Include discriminator in the - returned combined location. - (read_function_instance): Read discriminators from profiles. - -2022-10-25 H.J. Lu <hjl.tools@gmail.com> - - PR target/107304 - * expr.cc (get_inner_reference): Always use TYPE_MODE for vector - field with vector raw mode. - -2022-10-25 Segher Boessenkool <segher@kernel.crashing.org> - - * config/rs6000/rs6000.md (CCEITHER): Delete. - (CCANY): New. - (un): Delete. - (isel_<un>signed_<GPR:mode>): Rename to... - (isel_<CCANY:mode>_<GPR:mode>): ... this. Adjust. - (*isel_reversed_<un>signed_<GPR:mode>): Rename to... - (*isel_reversed_<CCANY:mode>_<GPR:mode>): ... this. Adjust. - (setbc_<un>signed_<GPR:mode>): Rename to... - (setbc_<CCANY:mode>_<GPR:mode>C): ... this. Adjust." - (*setbcr_<un>signed_<GPR:mode>): Rename to ... - (*setbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust. - (*setnbc_<un>signed_<GPR:mode>): Rename to ... - (*setnbc_<CCANY:mode>_<GPR:mode>): ... this. Adjust. - (*setnbcr_<un>signed_<GPR:mode>): Rename to ... - (*setnbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust. - (eq<mode>3 for GPR): Adjust. - (ne<mode>3 for GPR): Adjust. - * config/rs6000/rs6000-string.cc (do_isel): Adjust. - * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Adjust. - -2022-10-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107176 - PR tree-optimization/66375 - PR tree-optimization/42512 - * tree-scalar-evolution.cc (follow_ssa_edge_expr): Revert - the PR66375 fix, do not not associate PLUS_EXPR to be able - to use tail-recursion. - (follow_ssa_edge_binary): Likewise. - (interpret_loop_phi): Revert PR42512 fix, do not throw - away analyze_evolution_in_loop result after the fact. - (follow_ssa_edge_expr): When reaching halting_phi initalize - the evolution to the symbolic value of the PHI result. - (add_to_evolution_1): When adding the first evolution verify - we can handle the expression wrapping the symbolic evolution - and replace that in full using the initial condition. - (class scev_dfs): New, contains ... - (follow_ssa_edge_expr, follow_ssa_edge_binary, - follow_ssa_edge_in_condition_phi_branch, - follow_ssa_edge_in_condition_phi, - follow_ssa_edge_inner_loop_phi, - add_to_evolution, add_to_evolution_1): ... these with - loop and halting_phi arguments in class data. - (scev_dfs::get_ev): New toplevel DFS entry, start with - a chrec_dont_know evolution. - (analyze_evolution_in_loop): Use scev_dfs. - -2022-10-25 Eric Botcazou <ebotcazou@adacore.com> - - * profile.cc (branch_prob): Be prepared for ignored functions with - DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION. - -2022-10-25 Richard Biener <rguenther@suse.de> - - * tree-scalar-evolution.cc (follow_ssa_edge_expr): Move - STRIP_USELESS_TYPE_CONVERSIONS to where it matters. - -2022-10-25 Tejas Joshi <TejasSanjay.Joshi@amd.com> - - * common/config/i386/i386-common.cc (processor_alias_table): Use - CPU_ZNVER3 for znver4. - * config/i386/znver.md: Remove znver4 reservations. - -2022-10-25 Jakub Jelinek <jakub@redhat.com> - - * gimplify.cc (gimple_boolify): Fix comment typos, prduce -> produce - and There -> These. - -2022-10-25 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107368 - * gimplify.cc (gimplify_call_expr): For complex IFN_ASSUME - conditions call gimple_boolify on the condition. - -2022-10-25 YunQiang Su <yunqiang.su@cipunited.com> - - * config.gcc: add -with-compact-branches=policy build option. - * doc/install.texi: Likewise. - * config/mips/mips.h: Likewise. - -2022-10-25 YunQiang Su <yunqiang.su@cipunited.com> - - * config/mips/mips.cc (mips_option_override): not trigger error - for compact-branches=always for pre-R6. - * config/mips/mips.h (TARGET_RTP_PIC): not trigger error for - compact-branches=always for pre-R6. - (TARGET_CB_NEVER): Likewise. - (TARGET_CB_ALWAYS): Likewise. - (struct mips_cpu_info): define macros for compact branch policy. - * doc/invoke.texi: Document "always" with pre-R6. - -2022-10-25 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107369 - * gimplify.cc (gimplify_call_expr): If seen_error, handle complex - IFN_ASSUME the same as for -O0. - -2022-10-25 YunQiang Su <yunqiang.su@cipunited.com> - - * configure.ac: AC_DEFINE(ENABLE_MULTIARCH, 1) - * configure: Regenerated. - * config.in: Regenerated. - * config/mips/mips.h: don't define STANDARD_STARTFILE_PREFIX_1 - if ENABLE_MULTIARCH is defined. - * config/mips/t-linux64: define correct multiarch path when - multiarch is enabled. - -2022-10-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/100756 - * tree-ssa-loop-niter.cc (expand_simple_operations): Also - expand multiplications by invariants. - -2022-10-25 Kewen Lin <linkw@linux.ibm.com> - - PR tree-optimization/107338 - * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Move - shfit_n calculation before the adjustments for widening loads. - -2022-10-25 Martin Liska <mliska@suse.cz> - - * common/config/riscv/riscv-common.cc - (riscv_get_valid_option_values): Get out of ifdef. - -2022-10-25 Martin Liska <mliska@suse.cz> - - PR target/107364 - * common/config/i386/i386-cpuinfo.h (enum processor_vendor): - Fix pedantic warning. - -2022-10-24 Martin Liska <mliska@suse.cz> - - PR analyzer/107366 - * diagnostic-format-sarif.cc - (sarif_builder::maybe_make_physical_location_object): Gracefully - reject locations with NULL filename. - -2022-10-24 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106300 - * doc/invoke.texi (Static Analyzer Options): Add "pipe" and - "pipe2" to the list of functions the analyzer has hardcoded - knowledge of. - -2022-10-24 Jason Merrill <jason@redhat.com> - - * tree.h (build_string_literal): New one-argument overloads that - take tree (identifier) and const char *. - * builtins.cc (fold_builtin_FILE) - (fold_builtin_FUNCTION) - * gimplify.cc (gimple_add_init_for_auto_var) - * vtable-verify.cc (verify_bb_vtables): Simplify calls. - -2022-10-24 Martin Liska <mliska@suse.cz> - - PR target/107364 - * common/config/i386/i386-cpuinfo.h (enum processor_vendor): - Reorder enum values as BUILTIN_VENDOR_MAX should not point - in the middle of the valid enum values. - -2022-10-24 Marek Polacek <polacek@redhat.com> - - PR c++/107276 - * tree.cc (maybe_wrap_with_location): Don't create a location wrapper - when the type is erroneous. - -2022-10-24 Wilco Dijkstra <wdijkstr@arm.com> - - PR target/106583 - * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate) - Add support for a bitmask immediate with 2 MOVKs. - (aarch64_check_bitmask): New function after refactorization. - (aarch64_bitmask_imm): Simplify replication of small modes. - Split function into 64-bit only version for efficiency. - (aarch64_move_imm): Move near other immediate functions. - (aarch64_uimm12_shift): Likewise. - (aarch64_clamp_to_uimm12_shift): Likewise. - (aarch64_movk_shift): Likewise. - (aarch64_replicate_bitmask_imm): Likewise. - (aarch64_and_split_imm1): Likewise. - (aarch64_and_split_imm2): Likewise. - (aarch64_and_bitmask_imm): Likewise. - (aarch64_movw_imm): Likewise. - -2022-10-24 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107355 - * range-op-float.cc (foperator_abs::op1_range): Handle NAN. - -2022-10-24 Tobias Burnus <tobias@codesourcery.com> - - PR middle-end/107236 - * omp-expand.cc (expand_omp_target): Set calls_declare_variant_alt - in DECL_CONTEXT and not to cfun->decl. - * cgraphclones.cc (cgraph_node::create_clone): Copy also the - node's calls_declare_variant_alt value. - -2022-10-24 Kito Cheng <kito.cheng@sifive.com> - - * common/config/riscv/riscv-common.cc (riscv_tunes): New. - (riscv_get_valid_option_values): New. - (TARGET_GET_VALID_OPTION_VALUES): New. - * config/riscv/riscv-cores.def (RISCV_TUNE): New, define options - for tune here. - (RISCV_CORE): Fix comment. - * config/riscv/riscv.cc (riscv_tune_info_table): Move definition to - riscv-cores.def. - -2022-10-24 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107365 - * value-range.cc (frange::verify_range): Predicate NAN check in - VARYING range on HONOR_NANS instead of flag_finite_math_only. - (range_tests_floats): Same. - (range_tests_floats_various): New. - (range_tests): Call range_tests_floats_various. - -2022-10-24 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * lto-wrapper.cc: Quote paths in makefile. - -2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)). - -2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR - with constexpr throughout. - * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise. - * config/riscv/riscv-vector-builtins.cc - (struct registered_function_hasher): Likewise. - * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): - Likewise. - -2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-switch.def (ENTRY): Remove unused TI/TF vector modes. - -2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.h (REG_CLASS_CONTENTS): Fix ALL_REGS. - -2022-10-22 Michael Eager <eager@eagercon.com> - - * config/microblaze/microblaze.cc - (microblaze_legitimize_address): Initialize 'reg' to NULL, check for NULL. - (microblaze_address_insns): Replace abort() with gcc_unreachable(). - (print_operand_address): Same. - (microblaze_expand_move): Initialize 'p1' to NULL, check for NULL. - (get_branch_target): Replace abort() with gcc_unreachable(). - -2022-10-22 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (range_tests_floats): Predicate [-Inf, +Inf] test - with !flag_finite_math_only. - -2022-10-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_conditional_register_usage): - Remove register A0 from FIXED_REGS if the CALL0 ABI. - (xtensa_expand_epilogue): Change to emit '(use (reg:SI A0_REG))' - unconditionally after restoring callee-saved registers for - sibling-call functions, in order to prevent misleading that - register A0 is free to use. - -2022-10-21 Jakub Jelinek <jakub@redhat.com> - - PR target/107322 - * config/i386/i386-expand.cc (ix86_prepare_fp_compare_args): For - BFmode comparisons promote arguments to SFmode and recurse. - (ix86_expand_int_movcc, ix86_expand_fp_movcc): Return false early - if comparison operands are BFmode and operands[1] is not - ix86_fp_comparison_operator. - -2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com> - - * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4. - * common/config/i386/i386-common.cc (processor_names): Add znver4. - (processor_alias_table): Add znver4 and modularize old znvers. - * common/config/i386/i386-cpuinfo.h (processor_subtypes): - AMDFAM19H_ZNVER4. - * config.gcc (x86_64-*-* |...): Likewise. - * config/i386/driver-i386.cc (host_detect_local_cpu): Let - -march=native recognize znver4 cpus. - * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4. - * config/i386/i386-options.cc (m_ZNVER4): New definition. - (m_ZNVER): Include m_ZNVER4. - (processor_cost_table): Add znver4. - * config/i386/i386.cc (ix86_reassociation_width): Likewise. - * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4. - (PTA_ZNVER1): New definition. - (PTA_ZNVER2): Likewise. - (PTA_ZNVER3): Likewise. - (PTA_ZNVER4): Likewise. - * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename - md file. - * config/i386/x86-tune-costs.h (znver4_cost): New definition. - * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4. - (ix86_adjust_cost): Likewise. - * config/i386/znver1.md: Rename to znver.md. - * config/i386/znver.md: Add new reservations for znver4. - * doc/extend.texi: Add details about znver4. - * doc/invoke.texi: Likewise. - -2022-10-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107323 - * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs): - New function. - (loop_distribution::break_alias_scc_partitions): Revert - postorder save/restore from the PR94125 fix. Instead - make sure to not ignore edges from SCCs we are going to - merge. - -2022-10-21 Monk Chiang <monk.chiang@sifive.com> - - * config/riscv/riscv.md: Add atomic type attribute. - * config/riscv/sync.md: Add atomic type for atomic instructions. - -2022-10-21 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/54346 - * match.pd ((vec_perm (vec_perm@0 @1 @2 VECTOR_CST) @0 VECTOR_CST)): - Optimize nested VEC_PERM_EXPRs even if target can't handle the - new one provided we don't increase number of VEC_PERM_EXPRs the - target can't handle. - -2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config.gcc: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New macro. - (DEF_RVV_FUNCTION): Ditto. - (handle_pragma_vector): Add intrinsic framework. - * config/riscv/riscv.cc (riscv_print_operand): Add operand print for vsetvl/vsetvlmax. - * config/riscv/riscv.md: include vector.md. - * config/riscv/t-riscv: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o - * config/riscv/riscv-vector-builtins-bases.cc: New file. - * config/riscv/riscv-vector-builtins-bases.h: New file. - * config/riscv/riscv-vector-builtins-functions.def: New file. - * config/riscv/riscv-vector-builtins-shapes.cc: New file. - * config/riscv/riscv-vector-builtins-shapes.h: New file. - * config/riscv/riscv-vector-builtins-types.def: New file. - * config/riscv/vector.md: New file. - -2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config.gcc: Add gt files since function_instance is GTY ((user)). - * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV intrinsic framework. - (riscv_builtin_decl): Ditto. - (riscv_expand_builtin): Ditto. - * config/riscv/riscv-protos.h (builtin_decl): New function. - (expand_builtin): Ditto. - (enum riscv_builtin_class): New enum to classify RVV intrinsic and RISC-V general built-in. - * config/riscv/riscv-vector-builtins.cc (class GTY): New declaration. - (struct registered_function_hasher): New struct. - (DEF_RVV_OP_TYPE): New macro. - (DEF_RVV_TYPE): Ditto. - (DEF_RVV_PRED_TYPE): Ditto. - (GTY): New declaration. - (add_attribute): New function. - (check_required_extensions): Ditto. - (rvv_arg_type_info::get_tree_type): Ditto. - (function_instance::function_instance): Ditto. - (function_instance::operator==): Ditto. - (function_instance::any_type_float_p): Ditto. - (function_instance::get_return_type): Ditto. - (function_instance::get_arg_type): Ditto. - (function_instance::hash): Ditto. - (function_instance::call_properties): Ditto. - (function_instance::reads_global_state_p): Ditto. - (function_instance::modifies_global_state_p): Ditto. - (function_instance::could_trap_p): Ditto. - (function_builder::function_builder): Ditto. - (function_builder::~function_builder): Ditto. - (function_builder::allocate_argument_types): Ditto. - (function_builder::register_function_group): Ditto. - (function_builder::append_name): Ditto. - (function_builder::finish_name): Ditto. - (function_builder::get_attributes): Ditto. - (function_builder::add_function): Ditto. - (function_builder::add_unique_function): Ditto. - (function_call_info::function_call_info): Ditto. - (function_expander::function_expander): Ditto. - (function_expander::add_input_operand): Ditto. - (function_expander::generate_insn): Ditto. - (registered_function_hasher::hash): Ditto. - (registered_function_hasher::equal): Ditto. - (builtin_decl): Ditto. - (expand_builtin): Ditto. - (gt_ggc_mx): Define for using GCC garbage collect. - (gt_pch_nx): Define for using GCC garbage collect. - * config/riscv/riscv-vector-builtins.def (DEF_RVV_OP_TYPE): New macro. - (DEF_RVV_PRED_TYPE): Ditto. - (vbool64_t): Add suffix. - (vbool32_t): Ditto. - (vbool16_t): Ditto. - (vbool8_t): Ditto. - (vbool4_t): Ditto. - (vbool2_t): Ditto. - (vbool1_t): Ditto. - (vint8mf8_t): Ditto. - (vuint8mf8_t): Ditto. - (vint8mf4_t): Ditto. - (vuint8mf4_t): Ditto. - (vint8mf2_t): Ditto. - (vuint8mf2_t): Ditto. - (vint8m1_t): Ditto. - (vuint8m1_t): Ditto. - (vint8m2_t): Ditto. - (vuint8m2_t): Ditto. - (vint8m4_t): Ditto. - (vuint8m4_t): Ditto. - (vint8m8_t): Ditto. - (vuint8m8_t): Ditto. - (vint16mf4_t): Ditto. - (vuint16mf4_t): Ditto. - (vint16mf2_t): Ditto. - (vuint16mf2_t): Ditto. - (vint16m1_t): Ditto. - (vuint16m1_t): Ditto. - (vint16m2_t): Ditto. - (vuint16m2_t): Ditto. - (vint16m4_t): Ditto. - (vuint16m4_t): Ditto. - (vint16m8_t): Ditto. - (vuint16m8_t): Ditto. - (vint32mf2_t): Ditto. - (vuint32mf2_t): Ditto. - (vint32m1_t): Ditto. - (vuint32m1_t): Ditto. - (vint32m2_t): Ditto. - (vuint32m2_t): Ditto. - (vint32m4_t): Ditto. - (vuint32m4_t): Ditto. - (vint32m8_t): Ditto. - (vuint32m8_t): Ditto. - (vint64m1_t): Ditto. - (vuint64m1_t): Ditto. - (vint64m2_t): Ditto. - (vuint64m2_t): Ditto. - (vint64m4_t): Ditto. - (vuint64m4_t): Ditto. - (vint64m8_t): Ditto. - (vuint64m8_t): Ditto. - (vfloat32mf2_t): Ditto. - (vfloat32m1_t): Ditto. - (vfloat32m2_t): Ditto. - (vfloat32m4_t): Ditto. - (vfloat32m8_t): Ditto. - (vfloat64m1_t): Ditto. - (vfloat64m2_t): Ditto. - (vfloat64m4_t): Ditto. - (vfloat64m8_t): Ditto. - (vv): Ditto. - (vx): Ditto. - (v): Ditto. - (wv): Ditto. - (wx): Ditto. - (x_x_v): Ditto. - (vf2): Ditto. - (vf4): Ditto. - (vf8): Ditto. - (vvm): Ditto. - (vxm): Ditto. - (x_x_w): Ditto. - (v_v): Ditto. - (v_x): Ditto. - (vs): Ditto. - (mm): Ditto. - (m): Ditto. - (vf): Ditto. - (vm): Ditto. - (wf): Ditto. - (vfm): Ditto. - (v_f): Ditto. - (ta): Ditto. - (tu): Ditto. - (ma): Ditto. - (mu): Ditto. - (tama): Ditto. - (tamu): Ditto. - (tuma): Ditto. - (tumu): Ditto. - (tam): Ditto. - (tum): Ditto. - * config/riscv/riscv-vector-builtins.h (GCC_RISCV_VECTOR_BUILTINS_H): New macro. - (RVV_REQUIRE_RV64BIT): Ditto. - (RVV_REQUIRE_ZVE64): Ditto. - (RVV_REQUIRE_ELEN_FP_32): Ditto. - (RVV_REQUIRE_ELEN_FP_64): Ditto. - (enum operand_type_index): New enum. - (DEF_RVV_OP_TYPE): New macro. - (enum predication_type_index): New enum. - (DEF_RVV_PRED_TYPE): New macro. - (enum rvv_base_type): New enum. - (struct rvv_builtin_suffixes): New struct. - (struct rvv_arg_type_info): Ditto. - (struct rvv_type_info): Ditto. - (struct rvv_op_info): Ditto. - (class registered_function): New class. - (class function_base): Ditto. - (class function_shape): Ditto. - (struct function_group_info): New struct. - (class GTY): New class. - (class function_builder): Ditto. - (class function_call_info): Ditto. - (function_call_info::function_returns_void_p): New function. - (class function_expander): New class. - (function_instance::operator!=): New function. - (function_expander::expand): Ditto. - (function_expander::add_input_operand): Ditto. - (function_base::call_properties): Ditto. - -2022-10-21 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/sse.md (ssedvecmode): Rename from VI1SI. - (ssedvecmodelower): Rename from vi1si. - (sdot_prod<mode>): New define_expand. - (udot_prod<mode>): Ditto. - -2022-10-21 Kong Lingling <lingling.kong@intel.com> - Hongyu Wang <hongyu.wang@intel.com> - Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/cpuinfo.h (get_available_features): Detect - avxvnniint8. - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_AVXVNNIINT8_SET): New. - (OPTION_MASK_ISA2_AVXVNNIINT8_UNSET): Ditto. - (ix86_handle_option): Handle -mavxvnniint8. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AVXVNNIINT8. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - avxvnniint8. - * config.gcc: Add avxvnniint8intrin.h. - * config/i386/avxvnniint8intrin.h: New file. - * config/i386/cpuid.h (bit_AVXVNNIINT8): New. - * config/i386/i386-builtin.def: Add new builtins. - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __AVXVNNIINT8__. - * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint8. - (ix86_valid_target_attribute_inner_p): Handle avxvnniint8. - * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT8) New.. - * config/i386/i386.opt: Add option -mavxvnniint8. - * config/i386/immintrin.h: Include avxvnniint8intrin.h. - * config/i386/sse.md (UNSPEC_VPMADDUBSWACCD - UNSPEC_VPMADDUBSWACCSSD,UNSPEC_VPMADDWDACCD, - UNSPEC_VPMADDWDACCSSD): Rename according to new style. - (vpdp<vpdotprodtype>_<mode>): New define_insn. - * doc/extend.texi: Document avxvnniint8. - * doc/invoke.texi: Document -mavxvnniint8. - * doc/sourcebuild.texi: Document target avxvnniint8. - -2022-10-21 Hongyu Wang <hongyu.wang@intel.com> - - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA_AVXIFMA_SET, OPTION_MASK_ISA2_AVXIFMA_UNSET, - OPTION_MASK_ISA2_AVX2_UNSET): New macro. - (ix86_handle_option): Handle -mavxifma. - * common/config/i386/i386-cpuinfo.h (processor_types): Add - FEATURE_AVXIFMA. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - avxifma. - * common/config/i386/cpuinfo.h (get_available_features): - Detect avxifma. - * config.gcc: Add avxifmaintrin.h - * config/i386/avx512ifmavlintrin.h: (_mm_madd52lo_epu64): Change - to macro. - (_mm_madd52hi_epu64): Likewise. - (_mm256_madd52lo_epu64): Likewise. - (_mm256_madd52hi_epu64): Likewise. - * config/i386/avxifmaintrin.h: New header. - * config/i386/cpuid.h (bit_AVXIFMA): New. - * config/i386/i386-builtin.def: Add new builtins, and correct - pattern names for AVX512IFMA. - * config/i386/i386-builtins.cc (def_builtin): Handle AVX-IFMA - builtins like AVX-VNNI. - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __AVXIFMA__. - * config/i386/i386-expand.cc (ix86_check_builtin_isa_match): - Relax ISA masks for AVXIFMA. - * config/i386/i386-isa.def: Add AVXIFMA. - * config/i386/i386-options.cc (isa2_opts): Add -mavxifma. - (ix86_valid_target_attribute_inner_p): Handle avxifma. - * config/i386/i386.md (isa): Add attr avxifma and avxifmavl. - * config/i386/i386.opt: Add option -mavxifma. - * config/i386/immintrin.h: Inculde avxifmaintrin.h. - * config/i386/sse.md (avx_vpmadd52<vpmadd52type>_<mode>): - Remove. - (vpamdd52<vpmadd52type><mode><sd_maskz_name>): Remove. - (vpamdd52huq<mode>_maskz): Rename to ... - (vpmadd52huq<mode>_maskz): ... this. - (vpamdd52luq<mode>_maskz): Rename to ... - (vpmadd52luq<mode>_maskz): ... this. - (vpmadd52<vpmadd52type><mode>): New define_insn. - (vpmadd52<vpmadd52type>v8di): Likewise. - (vpmadd52<vpmadd52type><mode>_maskz_1): Likewise. - (vpamdd52<vpmadd52type><mode>_mask): Rename to ... - (vpmadd52<vpmadd52type><mode>_mask): ... this. - * doc/invoke.texi: Document -mavxifma. - * doc/extend.texi: Document avxifma. - * doc/sourcebuild.texi: Document target avxifma. - -2022-10-20 Aldy Hernandez <aldyh@redhat.com> - - PR c++/106654 - * value-query.cc (get_range_global): Handle non integer ranges for - default def SSA names. - -2022-10-20 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (foperator_unordered_lt::op1_range): New. - (foperator_unordered_lt::op2_range): New. - -2022-10-20 Artem Klimov <jakmobius@gmail.com> - Alexander Monakov <amonakov@gcc.gnu.org> - - PR middle-end/99619 - * ipa-visibility.cc (function_and_variable_visibility): Promote - TLS access model afer visibility optimizations. - * varasm.cc (have_optimized_refs): New helper. - (optimize_dyn_tls_for_decl_p): New helper. Use it ... - (decl_default_tls_model): ... here in place of 'optimize' check. - -2022-10-20 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (foperator_unordered_le::op1_range): Adjust - false side with a NAN operand. - (foperator_unordered_le::op2_range): Same. - (foperator_unordered_gt::op1_range): Same. - (foperator_unordered_gt::op2_range): Same. - (foperator_unordered_ge::op1_range): Same. - (foperator_unordered_ge::op2_range): Same. - (foperator_unordered_equal::op1_range): Same. - -2022-10-20 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR tree-optimization/107326 - * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Change - vectype when widening container. - -2022-10-20 Aldy Hernandez <aldyh@redhat.com> - - * value-range.h (frange::set_varying): Do not set NAN flags for - !HONOR_NANS. - * value-range.cc (frange::normalize_kind): Adjust for no NAN when - !HONOR_NANS. - (frange::verify_range): Same. - * range-op-float.cc (maybe_isnan): Remove flag_finite_math_only check. - -2022-10-20 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (finite_operand_p): Remove. - (finite_operands_p): Rename to... - (maybe_isnan): ...this. - (frelop_early_resolve): Use maybe_isnan instead of finite_operands_p. - (foperator_equal::fold_range): Same. - (foperator_equal::op1_range): Same. - (foperator_not_equal::fold_range): Same. - (foperator_lt::fold_range): Same. - (foperator_le::fold_range): Same. - (foperator_gt::fold_range): Same. - (foperator_ge::fold_range): Same. - -2022-10-20 Jakub Jelinek <jakub@redhat.com> - - * passes.cc (pass_manager::register_pass): Fix a comment - typo - copmilation -> compilation. - -2022-10-20 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): - Disallow latch PHI defs. - (vectorizable_recurr): Revert previous change. - -2022-10-20 Julian Brown <julian@codesourcery.com> - - PR target/105421 - * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer - argument forces FLAT addressing mode, not just - pointer-to-non-aggregate. - -2022-10-20 Thomas Schwinge <thomas@codesourcery.com> - - * configure.ac (AC_CONFIG_MACRO_DIRS): Instantiate. - * configure: Regenerate. - -2022-10-20 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve-builtins.h - (gimple_folder::fold_to_cstu): New member function. - * config/aarch64/aarch64-sve-builtins.cc - (gimple_folder::fold_to_cstu): Define. - * config/aarch64/aarch64-sve-builtins-base.cc - (svcnt_bhwd_impl::fold): Use it. - -2022-10-20 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve-builtins-functions.h (quiet) - (rtx_code_function, rtx_code_function_rotated, unspec_based_function) - (unspec_based_function_rotated, unspec_based_function_exact_insn) - (unspec_based_fused_function, unspec_based_fused_lane_function): - Replace constructors with using directives. - * config/aarch64/aarch64-sve-builtins-base.cc (svcnt_bhwd_pat_impl) - (svcreate_impl, svdotprod_lane_impl, svget_impl, svld1_extend_impl) - (svld1_gather_extend_impl, svld234_impl, svldff1_gather_extend) - (svset_impl, svst1_scatter_truncate_impl, svst1_truncate_impl) - (svst234_impl, svundef_impl): Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.cc - (svldnt1_gather_extend_impl, svmovl_lb_impl): Likewise. - (svstnt1_scatter_truncate_impl): Likewise. - -2022-10-20 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve-builtins-base.cc: Replace CONSTEXPR - with constexpr throughout. - * config/aarch64/aarch64-sve-builtins-functions.h: Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise. - * config/aarch64/aarch64-sve-builtins.cc: Likewise. - -2022-10-20 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove - merging alternative. - (*aarch64_brk<brk_op>_ptest): Likewise. - -2022-10-20 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/iterators.md (SVE_BRKP): New iterator. - * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern. - (*aarch64_brkn_ptest): Likewise. - (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP. - (*aarch64_brk<brk_op>_ptest): Likewise. - -2022-10-20 Richard Biener <rguenther@suse.de> - - PR c/107305 - PR c/107306 - * tree-cfg.h (verify_gimple_in_seq): Add parameter to - indicate whether to emit an ICE. Add return value. - (verify_gimple_in_cfg): Likewise. - * tree-cfg.cc (verify_gimple_in_seq): Likewise. - (verify_gimple_in_cfg): Likewise. - -2022-10-20 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107240 - * tree-vect-patterns.cc (vect_recog_bit_insert_pattern): Attempt to - simplify shifted value first. - -2022-10-20 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-gori.h (compute_operand_range): Make public. - * gimple-range-infer.cc (gimple_infer_range::check_assume_func): New. - (gimple_infer_range::gimple_infer_range): Check for assume calls. - * gimple-range-infer.h (check_assume_func): Add prototype. - * gimple-range.cc (assume_query::assume_range_p): New. - (assume_query::range_of_expr): New. - (assume_query::assume_query): New. - (assume_query::calculate_op): New. - (assume_query::calculate_phi): New. - (assume_query::check_taken_edge): New. - (assume_query::calculate_stmt): New. - (assume_query::dump): New. - * gimple-range.h (class assume_query): New. - * tree-vrp.cc (pass_assumptions::execute): Add processing. - -2022-10-19 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (build_le): Document result. - (build_lt): Same. - (build_ge): Same. - (foperator_ge::op2_range): Check result of build_*. - (foperator_unordered_le::op1_range): Same. - (foperator_unordered_le::op2_range): Same. - (foperator_unordered_gt::op1_range): Same. - (foperator_unordered_gt::op2_range): Same. - (foperator_unordered_ge::op1_range): Same. - (foperator_unordered_ge::op2_range): Same. - -2022-10-19 Marek Polacek <polacek@redhat.com> - - PR c++/85043 - * doc/invoke.texi: Update documentation of -Wuseless-cast. - -2022-10-19 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::range_from_dom): Use - Value_Range not int_range_max. - -2022-10-19 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107312 - * range.h (range_true_and_false): Special case 1-bit signed types. - * value-range.cc (range_tests_misc): New test. - -2022-10-19 LIU Hao <lh_mouse@126.com> - - * config/i386/mingw-mcfgthread.h: New file - * config/i386/mingw32.h: Add builtin macro and default libraries - for mcfgthread when thread model is `mcf` - * config.gcc: Include 'i386/mingw-mcfgthread.h' when thread model - is `mcf` - * configure.ac: Recognize `mcf` as a valid thread model - * config.in: Regenerate - * configure: Regenerate - -2022-10-19 Lewis Hyatt <lhyatt@gmail.com> - - * gengtype.cc (output_escaped_param): Add missing const. - (get_string_option): Add missing check for option type. - (walk_type): Support new "string_length" GTY option. - (write_types_process_field): Likewise. - * ggc-common.cc (gt_pch_note_object): Add optional length argument. - * ggc.h (gt_pch_note_object): Adjust prototype for new argument. - (gt_pch_n_S2): Declare... - * stringpool.cc (gt_pch_n_S2): ...new function. - * doc/gty.texi: Document new GTY((string_length)) option. - -2022-10-19 Martin Liska <mliska@suse.cz> - - * doc/extend.texi: Remove useless @tie{} directives. - -2022-10-19 Martin Jambor <mjambor@suse.cz> - - PR tree-optimization/107206 - * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs. - (analyze_access_subtree): Do not create replacements for accesses with - this flag when not toally scalarizing. - (propagate_subaccesses_from_lhs): Set the new flag. - -2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - PR target/106355 - * config/s390/s390.cc (s390_call_saved_register_used): For a - parameter with BLKmode fix determining number of consecutive - registers. - -2022-10-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa-protos.h - (xtensa_split1_finished_p, xtensa_split_DI_reg_imm): New prototypes. - * config/xtensa/xtensa.cc - (xtensa_split1_finished_p, xtensa_split_DI_reg_imm, xtensa_lra_p): - New functions. - (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p. - (xt_true_regnum): Rework. - * config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS): - Switch from CALL_USED_REGISTERS, and revise the comment. - * config/xtensa/constraints.md (Y): - Use !xtensa_split1_finished_p() instead of can_create_pseudo_p(). - * config/xtensa/predicates.md (move_operand): Ditto. - * config/xtensa/xtensa.md: Add two new split patterns: - - splits DImode immediate load into two SImode ones - - puts out-of-constraint SImode constants into the constant pool - * config/xtensa/xtensa.opt (-mlra): New target-specific option - for testing purpose. - -2022-10-19 Robin Dapp <rdapp@linux.ibm.com> - - * config/s390/s390.md: Move reload_completed and check operands for REG_P. - -2022-10-19 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/107262 - * expr.cc (convert_mode_scalar): For BFmode -> SFmode conversions - of constants, use simplify_unary_operation if fromi has VOIDmode - instead of recursive convert_mode_scalar. - -2022-10-19 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106990 - * match.pd ((~X - ~Y) -> Y - X, -x & 1 -> x & 1): Guard with - !TYPE_OVERFLOW_SANITIZED (type). - -2022-10-19 Jakub Jelinek <jakub@redhat.com> - - * config/i386/i386-builtins.cc (ix86_bf16_ptr_type_node): Remove. - (ix86_bf16_type_node): New variable. - (ix86_register_bf16_builtin_type): If bfloat16_type_node is NULL - from generic code, set only ix86_bf16_type_node to a new REAL_TYPE - rather than bfloat16_type_node, otherwise set ix86_bf16_type_node - to bfloat16_type_node. Register __bf16 on ix86_bf16_type_node - rather than bfloat16_type_node. Don't initialize unused - ix86_bf16_ptr_type_node. - * config/i386/i386-builtin-types.def (BFLOAT16): Use - ix86_bf16_type_node rather than bfloat16_type_node. - -2022-10-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106781 - * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Copy - LHS removal from fixup_noreturn_call. - -2022-10-19 liuhongt <hongtao.liu@intel.com> - - PR target/107271 - * config/i386/i386-expand.cc (ix86_vec_perm_index_canon): New. - (expand_vec_perm_shufps_shufps): Call - ix86_vec_perm_index_canon - -2022-10-18 Martin Jambor <mjambor@suse.cz> - - * ipa-prop.h (ipa_agg_value): Remove type. - (ipa_agg_value_set): Likewise. - (ipa_copy_agg_values): Remove function. - (ipa_release_agg_values): Likewise. - (ipa_auto_call_arg_values) Add a forward declaration. - (ipa_call_arg_values): Likewise. - (class ipa_argagg_value_list): New constructors, added member function - value_for_index_p. - (class ipa_auto_call_arg_values): Removed the destructor and member - function safe_aggval_at. Use ipa_argagg_values for m_known_aggs. - (class ipa_call_arg_values): Removed member function safe_aggval_at. - Use ipa_argagg_values for m_known_aggs. - (ipa_get_indirect_edge_target): Removed declaration. - (ipa_find_agg_cst_for_param): Likewise. - (ipa_find_agg_cst_from_init): New declaration. - (ipa_agg_value_from_jfunc): Likewise. - (ipa_agg_value_set_from_jfunc): Removed declaration. - (ipa_push_agg_values_from_jfunc): New declaration. - * ipa-cp.cc (ipa_agg_value_from_node): Renamed to - ipa_agg_value_from_jfunc, made public. - (ipa_agg_value_set_from_jfunc): Removed. - (ipa_push_agg_values_from_jfunc): New function. - (ipa_get_indirect_edge_target_1): Removed known_aggs parameter, use - avs for this purpose too. - (ipa_get_indirect_edge_target): Removed the overload working on - ipa_auto_call_arg_values, use ipa_argagg_value_list in the remaining - one. - (devirtualization_time_bonus): Use ipa_argagg_value_list and - ipa_get_indirect_edge_target_1 instead of - ipa_get_indirect_edge_target. - (context_independent_aggregate_values): Removed function. - (gather_context_independent_values): Work on ipa_argagg_value_list. - (estimate_local_effects): Likewise, define some iterator variables - only in the construct where necessary. - (ipcp_discover_new_direct_edges): Adjust the call to - ipa_get_indirect_edge_target_1. - (push_agg_values_for_index_from_edge): Adjust the call - ipa_agg_value_from_node which has been renamed to - ipa_agg_value_from_jfunc. - * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Work on - ipa_argagg_value_list. - (evaluate_properties_for_edge): Replace manual filling in aggregate - values with call to ipa_push_agg_values_from_jfunc. - (estimate_calls_size_and_time): Work on ipa_argagg_value_list. - (ipa_cached_call_context::duplicate_from): Likewise. - (ipa_cached_call_context::release): Likewise. - (ipa_call_context::equal_to): Likewise. - * ipa-prop.cc (ipa_find_agg_cst_from_init): Make public. - (ipa_find_agg_cst_for_param): Removed function. - (ipa_find_agg_cst_from_jfunc_items): New function. - (try_make_edge_direct_simple_call): Replace calls to - ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with - ipa_find_agg_cst_from_init and ipa_find_agg_cst_from_jfunc_items. - (try_make_edge_direct_virtual_call): Replace calls to - ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with - simple query of constant jump function and a call to - ipa_find_agg_cst_from_jfunc_items. - (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): Removed. - -2022-10-18 Martin Jambor <mjambor@suse.cz> - - * ipa-prop.h (IPA_PROP_ARG_INDEX_LIMIT_BITS): New. - (ipcp_transformation): Added forward declaration. - (ipa_argagg_value): New type. - (ipa_argagg_value_list): New type. - (ipa_agg_replacement_value): Removed type. - (ipcp_transformation): Switch from using ipa_agg_replacement_value - to ipa_argagg_value_list. - (ipa_get_agg_replacements_for_node): Removed. - (ipa_dump_agg_replacement_values): Removed declaration. - * ipa-cp.cc: Define INCLUDE_ALGORITHM. - (values_equal_for_ipcp_p): Moved up in the file. - (ipa_argagg_value_list::dump): New function. - (ipa_argagg_value_list::debug): Likewise. - (ipa_argagg_value_list::get_elt): Likewise. - (ipa_argagg_value_list::get_elt_for_index): Likewise. - (ipa_argagg_value_list::get_value): New overloaded functions. - (ipa_argagg_value_list::superset_of_p): New function. - (new ipa_argagg_value_list::push_adjusted_values): Likewise. - (push_agg_values_from_plats): Likewise. - (intersect_argaggs_with): Likewise. - (get_clone_agg_value): Removed. - (ipa_agg_value_from_node): Make last parameter const, use - ipa_argagg_value_list to search values coming from clones. - (ipa_get_indirect_edge_target_1): Use ipa_argagg_value_list to search - values coming from clones. - (ipcp_discover_new_direct_edges): Pass around a vector of - ipa_argagg_values rather than a link list of replacement values. - (cgraph_edge_brings_value_p): Use ipa_argagg_value_list to search - values coming from clones. - (create_specialized_node): Work with a vector of ipa_argagg_values - rather than a link list of replacement values. - (self_recursive_agg_pass_through_p): Make the pointer parameters - const. - (copy_plats_to_inter): Removed. - (intersect_with_plats): Likewise. - (agg_replacements_to_vector): Likewise. - (intersect_with_agg_replacements): Likewise. - (intersect_aggregates_with_edge): Likewise. - (push_agg_values_for_index_from_edge): Likewise. - (push_agg_values_from_edge): Likewise. - (find_aggregate_values_for_callers_subset): Rewrite. - (cgraph_edge_brings_all_agg_vals_for_node): Likewise. - (ipcp_val_agg_replacement_ok_p): Use ipa_argagg_value_list to search - aggregate values. - (decide_about_value): Work with a vector of ipa_argagg_values rather - than a link list of replacement values. - (decide_whether_version_node): Likewise. - (ipa_analyze_node): Check number of parameters, assert that there - are no descriptors when bailing out. - * ipa-prop.cc (ipa_set_node_agg_value_chain): Switch to a vector of - ipa_argagg_value. - (ipa_node_params_t::duplicate): Removed superfluous handling of - ipa_agg_replacement_values. Name of src parameter removed because - it is no longer used. - (ipcp_transformation_t::duplicate): Replaced duplication of - ipa_agg_replacement_values with copying vector m_agg_values. - (ipa_dump_agg_replacement_values): Removed. - (write_ipcp_transformation_info): Stream the new data-structure - instead of the old. - (read_ipcp_transformation_info): Likewise. - (adjust_agg_replacement_values): Work with ipa_argagg_values instead - of linked lists of ipa_agg_replacement_values, copy the items and - truncate the vector as necessary to keep it sorted instead of marking - items as invalid. Return one bool if CFG should be updated. - (ipcp_modif_dom_walker): Store ipcp_transformation instead of - linked list of ipa_agg_replacement_values. - (ipcp_modif_dom_walker::before_dom_children): Use - ipa_argagg_value_list instead of walking a list of - ipa_agg_replacement_values. - (ipcp_transform_function): Switch to the new data structure, adjust - dumping. - -2022-10-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107302 - * tree-vect-loop.cc (vectorizable_recurrence): Fix vec_perm - placement for a PHI latch def. - -2022-10-18 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR tree-optimization/107275 - * tree-if-conv.cc (if_convertible_loop_p_1): Move - find_data_references_in_loop call from here... - (if_convertible_loop_p): And move data-reference vector initialization - from here... - (tree_if_conversion):... to here. - -2022-10-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/106654 - * gimple.def (GIMPLE_ASSUME): New statement kind. - * gimple.h (struct gimple_statement_assume): New type. - (is_a_helper <gimple_statement_assume *>::test, - is_a_helper <const gimple_statement_assume *>::test): New. - (gimple_build_assume): Declare. - (gimple_has_substatements): Return true for GIMPLE_ASSUME. - (gimple_assume_guard, gimple_assume_set_guard, - gimple_assume_guard_ptr, gimple_assume_body_ptr, gimple_assume_body): - New inline functions. - * gsstruct.def (GSS_ASSUME): New. - * gimple.cc (gimple_build_assume): New function. - (gimple_copy): Handle GIMPLE_ASSUME. - * gimple-pretty-print.cc (dump_gimple_assume): New function. - (pp_gimple_stmt_1): Handle GIMPLE_ASSUME. - * gimple-walk.cc (walk_gimple_op): Handle GIMPLE_ASSUME. - * omp-low.cc (WALK_SUBSTMTS): Likewise. - (lower_omp_1): Likewise. - * omp-oacc-kernels-decompose.cc (adjust_region_code_walk_stmt_fn): - Likewise. - * tree-cfg.cc (verify_gimple_stmt, verify_gimple_in_seq_2): Likewise. - * function.h (struct function): Add assume_function bitfield. - * gimplify.cc (gimplify_call_expr): If the assumption isn't - simple enough, expand it into GIMPLE_ASSUME wrapped block or - for -O0 drop it. - * gimple-low.cc: Include attribs.h. - (create_assumption_fn): New function. - (struct lower_assumption_data): New type. - (find_assumption_locals_r, assumption_copy_decl, - adjust_assumption_stmt_r, adjust_assumption_stmt_op, - lower_assumption): New functions. - (lower_stmt): Handle GIMPLE_ASSUME. - * tree-ssa-ccp.cc (pass_fold_builtins::execute): Remove - IFN_ASSUME calls. - * lto-streamer-out.cc (output_struct_function_base): Pack - assume_function bit. - * lto-streamer-in.cc (input_struct_function_base): And unpack it. - * cgraphunit.cc (cgraph_node::expand): Don't verify assume_function - has TREE_ASM_WRITTEN set and don't release its body. - (symbol_table::compile): Allow assume functions not to have released - body. - * internal-fn.cc (expand_ASSUME): Remove gcc_unreachable. - * passes.cc (execute_one_pass): For TODO_discard_function don't - release body of assume functions. - * cgraph.cc (cgraph_node::verify_node): Don't verify cgraph nodes - of PROP_assumptions_done functions. - * tree-pass.h (PROP_assumptions_done): Define. - (TODO_discard_function): Adjust comment. - (make_pass_assumptions): Declare. - * passes.def (pass_assumptions): Add. - * timevar.def (TV_TREE_ASSUMPTIONS): New. - * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_ASSUME. - * tree-vrp.cc (pass_data_assumptions): New variable. - (pass_assumptions): New class. - (make_pass_assumptions): New function. - -2022-10-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107301 - * gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg): - Check whether we can duplicate the block. - (find_implicit_erroneous_behavior): Likewise. - -2022-10-18 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/107273 - * value-relation.cc (equiv_oracle::add_partial_equiv): Merge - instead of copying precison of each member. - -2022-10-17 Jeff Law <jeffreyalaw@gmail.com> - - PR target/101697 - * config/h8300/combiner.md: Replace '<' preincment constraint with - ZA/Z1..ZH/Z7 combinations. - * config/h8300/movepush.md: Similarly - -2022-10-17 Jeff Law <jeffreyalaw@gmail.com> - - * config/h8300/constraints.md (Za..Zh): New constraints for - autoinc addresses using a specific register. - * config/h8300/h8300.cc (pre_incdec_with_reg): New function. - * config/h8300/h8300-protos.h (pre_incdec_with_reg): Add prototype. - -2022-10-17 Jeff Law <jlaw@ventanamicro.com> - - * config/i386/cet.c: Remove accidental commit. - * config/i386/driver-mingw32.c: Likewise. - * config/i386/i386-builtins.c: Likewise. - * config/i386/i386-d.c: Likewise. - * config/i386/i386-expand.c: Likewise. - * config/i386/i386-features.c: Likewise. - * config/i386/i386-options.c: Likewise. - * config/i386/t-cet: Likewise. - * config/i386/x86-tune-sched-atom.c: Likewise. - * config/i386/x86-tune-sched-bd.c: Likewise. - * config/i386/x86-tune-sched-core.c: Likewise. - * config/i386/x86-tune-sched.c: Likewise. - -2022-10-17 Jeff Law <jeffreyalaw@gmail.com> - - * common/config/h8300/h8300-common.cc (h8300_option_optimization_table): - Enable redundant extension elimination at -O2 and above. - * config/i386/cet.c: New file. - * config/i386/driver-mingw32.c: New file. - * config/i386/i386-builtins.c: New file. - * config/i386/i386-d.c: New file. - * config/i386/i386-expand.c: New file. - * config/i386/i386-features.c: New file. - * config/i386/i386-options.c: New file. - * config/i386/t-cet: New file. - * config/i386/x86-tune-sched-atom.c: New file. - * config/i386/x86-tune-sched-bd.c: New file. - * config/i386/x86-tune-sched-core.c: New file. - * config/i386/x86-tune-sched.c: New file. - -2022-10-17 Jeff Law <jeffreyalaw@gmail.com> - - * config/h8300/extensions.md (CCZN setting zero extended load): Add - missing splitter. - -2022-10-17 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107293 - * tree-ssa-dom.cc - (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): - Check that condition post-dominates the definition point. - -2022-10-17 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107286 - * value-range.cc (range_tests_floats): Do not test for -Inf when - flag_finite_math_only. - -2022-10-17 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (fold_using_range::range_of_range_op): - Provide relation_trio class. - * gimple-range-gori.cc (gori_compute::refine_using_relation): - Provide relation_trio class. - (gori_compute::refine_using_relation): Ditto. - (gori_compute::compute_operand1_range): Provide lhs_op2 and - op1_op2 relations via relation_trio class. - (gori_compute::compute_operand2_range): Ditto. - * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use - relation_trio instead of relation_kind. - (gimple_range_op_handler::calc_op2): Ditto. - (*::fold_range): Ditto. - * gimple-range-op.h (gimple_range_op::calc_op1): Adjust prototypes. - (gimple_range_op::calc_op2): Adjust prototypes. - * range-op-float.cc (*::fold_range): Use relation_trio instead of - relation_kind. - (*::op1_range): Ditto. - (*::op2_range): Ditto. - * range-op.cc (*::fold_range): Use relation_trio instead of - relation_kind. - (*::op1_range): Ditto. - (*::op2_range): Ditto. - * range-op.h (class range_operator): Adjust prototypes. - (class range_operator_float): Ditto. - (class range_op_handler): Adjust prototypes. - (relop_early_resolve): Pickup op1_op2 relation from relation_trio. - * value-relation.cc (VREL_LAST): Adjust use to be one past the end of - the enum. - (relation_oracle::validate_relation): Use relation_trio in call - to fold_range. - * value-relation.h (enum relation_kind_t): Add VREL_LAST as - final element. - (class relation_trio): New. - (TRIO_VARYING, TRIO_SHIFT, TRIO_MASK): New. - -2022-10-17 Andrew MacLeod <amacleod@redhat.com> - - * range-op-float.cc (foperator_not_equal::op1_range): Check for - VREL_EQ after singleton. - (foperator_unordered::op1_range): Set VARYING before calling - clear_nan(). - (foperator_ordered::op1_range): Set rather than clear NAN if both - operands are the same. - -2022-10-17 Andrew MacLeod <amacleod@redhat.com> - - * value-relation.cc (value_relation::dump): Change message. - * value-relation.h (value_relation::set_relation): If op1 is the - same as op2 do not create a relation. - -2022-10-17 Thomas Schwinge <thomas@codesourcery.com> - - * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of - 'case QImode:', etc. - -2022-10-17 Thomas Schwinge <thomas@codesourcery.com> - - * gimple-expr.cc (mark_addressable_2): Tag as 'static'. - -2022-10-17 Richard Biener <rguenther@suse.de> - Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - PR tree-optimization/99409 - PR tree-optimization/99394 - * tree-vectorizer.h (vect_def_type::vect_first_order_recurrence): Add. - (stmt_vec_info_type::recurr_info_type): Likewise. - (vectorizable_recurr): New function. - * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): New - function. - (vect_analyze_scalar_cycles_1): Look for first order - recurrences. - (vect_analyze_loop_operations): Handle them. - (vect_transform_loop): Likewise. - (vectorizable_recurr): New function. - (maybe_set_vectorized_backedge_value): Handle the backedge value - setting in the first order recurrence PHI and the permutes. - * tree-vect-stmts.cc (vect_analyze_stmt): Handle first order - recurrences. - (vect_transform_stmt): Likewise. - (vect_is_simple_use): Likewise. - (vect_is_simple_use): Likewise. - * tree-vect-slp.cc (vect_get_and_check_slp_defs): Likewise. - (vect_build_slp_tree_2): Likewise. - (vect_schedule_scc): Handle the backedge value setting in the - first order recurrence PHI and the permutes. - -2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/t-riscv: Change Tab into 2 space. - -2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-builtins.cc (mangle_builtin_type): Move down the function. - -2022-10-17 Arsen Arsenovic <arsen@aarsen.me> - - * config.gcc: --target=*-elf --without-{newlib,headers} should - provide stdint.h. - -2022-10-17 Hu, Lin1 <lin1.hu@intel.com> - - * common/config/i386/cpuinfo.h: - (get_intel_cpu): Handle Meteorlake. - * common/config/i386/i386-common.cc: - (processor_alias_table): Add Meteorlake. - -2022-10-17 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/cpuinfo.h: - (get_intel_cpu): Handle Raptorlake. - * common/config/i386/i386-common.cc: - (processor_alias_table): Add Raptorlake. - -2022-10-16 Jeff Law <jeffreyalaw@gmail.com> - - * config/h8300/constraints.md (Z0..Z7): New register - constraints. - * config/h8300/h8300.h (reg_class): Add new classes. - (REG_CLASS_NAMES): Similarly. - (REG_CLASS_CONTENTS): Similarly. - -2022-10-16 Jeff Law <jeffreyalaw@gmail.com> - - * config/h8300/constraints.md (Zz constraint): Renamed - from "z". - * config/h8300/movepush.md (movqi_h8sx, movhi_h8sx): Adjust - constraint to use Zz instead of Z. - -2022-10-16 Jeff Law <jeffreyalaw@gmail.com> - - * config/h8300/h8300.cc (h8300_register_move_cost): Fix typo. - -2022-10-14 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::set): Implement distinction between - HONOR_SIGNED_ZEROS and MODE_HAS_SIGNED_ZEROS. - -2022-10-14 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-op.cc (class cfn_copysign): New. - (gimple_range_op_handler::maybe_builtin_call): Add - CFN_BUILT_IN_COPYSIGN*. - -2022-10-14 Aldy Hernandez <aldyh@redhat.com> - - * real.h (real_isdenormal): Check rvc_normal. - * value-range.cc (range_tests_floats): New test. - -2022-10-14 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-op.cc - (gimple_range_op_handler::maybe_builtin_call): Replace - CFN_BUILTIN_SIGNBIT* cases with CASE_FLT_FN. - -2022-10-14 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::set): Normalize ranges for both bounds. - -2022-10-14 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS. - -2022-10-14 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-op.cc - (gimple_range_op_handler::maybe_builtin_call): Add - CFN_BUILT_IN_SIGNBIT[FL]* entries. - -2022-10-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107254 - * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): - For permutes also analyze live lanes. - (vect_schedule_slp_node): For permutes also code generate - live lane extracts. - -2022-10-14 Eric Botcazou <ebotcazou@adacore.com> - - PR target/107248 - * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame - blockage for leaf functions. - (sparc_flat_expand_prologue): Emit frame instead of full blockage. - (sparc_expand_epilogue): Emit a frame blockage for leaf functions. - (sparc_flat_expand_epilogue): Emit frame instead of full blockage. - -2022-10-14 Jakub Jelinek <jakub@redhat.com> - - * tree-core.h (enum tree_index): Add TI_BFLOAT16_TYPE. - * tree.h (bfloat16_type_node): Define. - * tree.cc (excess_precision_type): Promote bfloat16_type_mode - like float16_type_mode. - (build_common_tree_nodes): Initialize bfloat16_type_node if - BFmode is supported. - * expmed.h (maybe_expand_shift): Declare. - * expmed.cc (maybe_expand_shift): No longer static. - * expr.cc (convert_mode_scalar): Don't ICE on BF -> HF or HF -> BF - conversions. If there is no optab, handle BF -> {DF,XF,TF,HF} - conversions as separate BF -> SF -> {DF,XF,TF,HF} conversions, add - -ffast-math generic implementation for BF -> SF and SF -> BF - conversions. - * builtin-types.def (BT_BFLOAT16, BT_FN_BFLOAT16_CONST_STRING): New. - * builtins.def (BUILT_IN_NANSF16B): New builtin. - * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NANSF16B. - * config/i386/i386.cc (classify_argument): Handle E_BCmode. - (ix86_libgcc_floating_mode_supported_p): Also return true for BFmode - for -msse2. - (ix86_mangle_type): Mangle BFmode as DF16b. - (ix86_invalid_conversion, ix86_invalid_unary_op, - ix86_invalid_binary_op): Remove. - (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP, - TARGET_INVALID_BINARY_OP): Don't redefine. - * config/i386/i386-builtins.cc (ix86_bf16_type_node): Remove. - (ix86_register_bf16_builtin_type): Use bfloat16_type_node rather than - ix86_bf16_type_node, only create it if still NULL. - * config/i386/i386-builtin-types.def (BFLOAT16): Likewise. - * config/i386/i386.md (cbranchbf4, cstorebf4): New expanders. - -2022-10-14 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/323 - PR c++/107097 - * doc/invoke.texi (-fexcess-precision=standard): Mention that the - option now also works in C++. - -2022-10-13 Eric Botcazou <ebotcazou@adacore.com> - - * gimple-ssa-warn-access.cc (pass_waccess::check_call): Return - early for calls made from thunks. - -2022-10-13 Eric Botcazou <ebotcazou@adacore.com> - - * expr.cc (emit_group_stote): Fix handling of modes of different - sizes for big-endian targets in latest change and add commentary. - -2022-10-13 Martin Liska <mliska@suse.cz> - - * output.h (assemble_vtv_preinit_initializer): Remove. - * varasm.cc (assemble_vtv_preinit_initializer): Remove. - -2022-10-13 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/102540 - PR tree-optimization/102872 - * gimple-range-cache.cc (ranger_cache::fill_block_cache): - Handle partial equivs. - (ranger_cache::range_from_dom): Cleanup dump output. - -2022-10-13 Andrew MacLeod <amacleod@redhat.com> - - * range-op.cc (operator_cast::lhs_op1_relation): New. - (operator_bitwise_and::lhs_op1_relation): New. - -2022-10-13 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::fill_block_cache): Use - iterator. - * value-relation.cc - (equiv_relation_iterator::equiv_relation_iterator): New. - (equiv_relation_iterator::next): New. - (equiv_relation_iterator::get_name): New. - * value-relation.h (class relation_oracle): Privatize some methods. - (class equiv_relation_iterator): New. - (FOR_EACH_EQUIVALENCE): New. - (FOR_EACH_PARTIAL_EQUIV): New. - (FOR_EACH_PARTIAL_AND_FULL_EQUIV): New. - -2022-10-13 Andrew MacLeod <amacleod@redhat.com> - - * value-relation.cc (equiv_chain::dump): Don't print empty - equivalences. - (equiv_oracle::equiv_oracle): Allocate a partial equiv table. - (equiv_oracle::~equiv_oracle): Release the partial equiv table. - (equiv_oracle::add_partial_equiv): New. - (equiv_oracle::partial_equiv_set): New. - (equiv_oracle::partial_equiv): New. - (equiv_oracle::query_relation): Check for partial equivs too. - (equiv_oracle::dump): Also dump partial equivs. - (dom_oracle::register_relation): Handle partial equivs. - (dom_oracle::query_relation): Check for partial equivs. - * value-relation.h (enum relation_kind_t): Add partial equivs. - (relation_partial_equiv_p): New. - (relation_equiv_p): New. - (class pe_slice): New. - (class equiv_oracle): Add prototypes. - (pe_to_bits): New. - (bits_to_pe): New. - (pe_min): New. - -2022-10-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107247 - * tree-vect-loop.cc (vect_create_epilog_for_reduction): - Reduce multi vector SLP reduction accumulators. Check - the adjusted number of accumulator vectors against - one for the re-use in the epilogue. - -2022-10-13 Jakub Jelinek <jakub@redhat.com> - - * genmodes.cc (emit_mode_wider): Emit previous content of - mode_wider array into mode_next array and for mode_wider - emit always VOIDmode for !CLASS_HAS_WIDER_MODES_P classes, - otherwise skip through modes with the same precision. - * machmode.h (mode_next): Declare. - (GET_MODE_NEXT_MODE): New inline function. - (mode_iterator::get_next, mode_iterator::get_known_next): New - function templates. - (FOR_EACH_MODE_IN_CLASS): Use get_next instead of get_wider. - (FOR_EACH_MODE): Use get_known_next instead of get_known_wider. - (FOR_EACH_MODE_FROM): Use get_next instead of get_wider. - (FOR_EACH_WIDER_MODE_FROM): Define. - (FOR_EACH_NEXT_MODE): Define. - * expmed.cc (emit_store_flag_1): Use FOR_EACH_WIDER_MODE_FROM - instead of FOR_EACH_MODE_FROM. - * optabs.cc (prepare_cmp_insn): Likewise. Remove redundant - !CLASS_HAS_WIDER_MODES_P check. - (prepare_float_lib_cmp): Use FOR_EACH_WIDER_MODE_FROM instead of - FOR_EACH_MODE_FROM. - * config/i386/i386-expand.cc (get_mode_wider_vector): Use - GET_MODE_NEXT_MODE instead of GET_MODE_WIDER_MODE. - -2022-10-13 Wilco Dijkstra <wdijkstr@arm.com> - - PR target/105773 - * config/aarch64/aarch64.cc (aarch64_select_cc_mode): Allow - GT/LE for merging compare with zero into AND. - (aarch64_get_condition_code_1): Add CC_NZVmode support. - * config/aarch64/aarch64-modes.def: Add CC_NZV. - * config/aarch64/aarch64.md: Use CC_NZV in cmp+and patterns. - -2022-10-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107160 - * tree-vect-loop.cc (vect_create_epilog_for_reduction): - Do not register accumulator if we failed to reduce it - to a single vector. - -2022-10-13 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (range_operator_float::op1_op2_relation): New. - (class foperator_equal): Add using. - (class foperator_not_equal): Same. - (class foperator_lt): Same. - (class foperator_le): Same. - (class foperator_gt): Same. - (class foperator_ge): Same. - * range-op.cc (range_op_handler::op1_op2_relation): New. - * range-op.h (range_operator_float::op1_op2_relation): New. - -2022-10-13 Richard Biener <rguenther@suse.de> - - * genmatch.cc (parser::parse_c_expr): Diagnose 'return'. - * match.pd: Replace 'return' statements in with expressions - with appropriate variants. - -2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR tree-optimization/107229 - * tree-if-conv.cc (get_bitfield_rep): Fix bitposition calculation. - -2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR tree-optimization/107226 - * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Reject - BITFIELD_REF's with non integral typed first operands. - -2022-10-13 Joseph Myers <joseph@codesourcery.com> - - * ginclude/float.h (FLT_IS_IEC_60559, DBL_IS_IEC_60559) - (LDBL_IS_IEC_60559): Update comment. - -2022-10-12 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (class foperator_negate): New. - (floating_op_table::floating_op_table): Add NEGATE_EXPR - (range_op_float_tests): Add negate tests. - -2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-builtins.h: Remove unused macro. - -2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Apply - clang-format. - (add_vector_type_attribute): Ditto. - * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Apply - clang-format. - * config/riscv/riscv-vector-builtins.h (DEF_RVV_TYPE): Apply - clang-format. - -2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-builtins.cc (builtin_types): Redefine - vector types. - (build_const_pointer): New function. - (register_builtin_type): Ditto. - (DEF_RVV_TYPE): Simplify macro. - (register_vector_type): Refine implementation. - * config/riscv/riscv-vector-builtins.h (rvv_builtin_types_t): New. - -2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-builtins.h (class rvv_switcher): Move to - this to .... - * config/riscv/riscv-vector-builtins.cc (class rvv_switcher): - here. - -2022-10-12 Cui,Lili <lili.cui@intel.com> - - * config/i386/driver-i386.cc (host_detect_local_cpu): - Move sapphirerapids out of AVX512_VP2INTERSECT. - * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS - * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS - -2022-10-12 Martin Liska <mliska@suse.cz> - - * gcov-io.cc (gcov_write_summary): Rename to ... - (gcov_write_object_summary): ... this. - * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY_LENGTH): Rename from ... - (GCOV_TAG_SUMMARY_LENGTH): ... this. - -2022-10-12 Martin Liska <mliska@suse.cz> - - * configure: Regenerate. - -2022-10-12 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (frange_float): New. - (range_op_float_tests): New. - * range-op.cc (range_op_tests): Call range_op_float_tests. - -2022-10-12 Aldy Hernandez <aldyh@redhat.com> - - * value-range.h (frange::nan_signbit_p): New. - -2022-10-12 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::set_nonnegative): Pass bool to - update_nan. - * value-range.h: Disallow conversion to bool in update_nan(). - -2022-10-12 Aldy Hernandez <aldyh@redhat.com> - - * value-range.h (frange::frange): Add constructor taking type. - -2022-10-12 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc: Add relation_kind = VREL_VARYING to all - methods. - -2022-10-11 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-gori.cc (gori_compute::logical_combine): Avoid - calling tracer.trailer(). - -2022-10-11 Jakub Jelinek <jakub@redhat.com> - - PR target/107185 - * config/i386/i386.md (*notxor<mode>_1): Use MASK_REG_P (x) instead of - MASK_REGNO_P (REGNO (x)). - -2022-10-11 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (class foperator_abs): New. - (floating_op_table::floating_op_table): Add ABS_EXPR entry. - -2022-10-11 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (foperator_unordered_le::op1_range): New. - (foperator_unordered_le::op2_range): New. - (foperator_unordered_gt::op1_range): New. - (foperator_unordered_gt::op2_range): New. - (foperator_unordered_ge::op1_range): New. - (foperator_unordered_ge::op2_range): New. - (foperator_unordered_equal::op1_range): New. - -2022-10-11 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (class foperator_unordered_lt): New. - (class foperator_relop_unknown): Remove - (class foperator_unordered_le): New. - (class foperator_unordered_gt): New. - (class foperator_unordered_ge): New. - (class foperator_unordered_equal): New. - (floating_op_table::floating_op_table): Replace all UN_EXPR - entries with their appropriate fop_unordered_* counterpart. - -2022-10-11 Aldy Hernandez <aldyh@redhat.com> - - * range-op.cc (operator_equal::op1_range): Move BRS_TRUE case up. - (operator_lt::op2_range): Same. - (operator_le::op2_range): Same. - (operator_gt::op2_range): Same. - (operator_ge::op2_range): Same. - -2022-10-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107212 - * tree-vect-loop.cc (vectorizable_reduction): Make sure to - set STMT_VINFO_REDUC_DEF for all live lanes in a SLP - reduction. - (vectorizable_live_operation): Do not pun to the SLP - node representative for reduction epilogue generation. - -2022-10-11 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn-valu.md (neg<mode>2): New define_expand. - -2022-10-11 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn-valu.md (vec_init<V_ALL:mode><V_ALL_ALT:mode>): New. - * config/gcn/gcn.cc (GEN_VN): Add andvNsi3, subvNsi3. - (GEN_VNM): Add gathervNm_expr. - (GEN_VN_NOEXEC): Add vec_seriesvNsi. - (gcn_expand_vector_init): Add initialization of vectors from smaller - vectors. - -2022-10-11 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn-protos.h (get_exec): Add prototypes for two variants. - * config/gcn/gcn-valu.md - (vec_extract<V_ALL:mode><V_ALL_ALT:mode>): New define_expand. - * config/gcn/gcn.cc (get_exec): Export the existing function. Add a - new overload variant. - -2022-10-11 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn-valu.md - (<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): Use MODE_VF. - (<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): Likewise. - * config/gcn/gcn.h (MODE_VF): New macro. - -2022-10-11 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn-modes.def (VECTOR_MODE): Add new modes - V32QI, V32HI, V32SI, V32DI, V32TI, V32HF, V32SF, V32DF, - V16QI, V16HI, V16SI, V16DI, V16TI, V16HF, V16SF, V16DF, - V8QI, V8HI, V8SI, V8DI, V8TI, V8HF, V8SF, V8DF, - V4QI, V4HI, V4SI, V4DI, V4TI, V4HF, V4SF, V4DF, - V2QI, V2HI, V2SI, V2DI, V2TI, V2HF, V2SF, V2DF. - (ADJUST_ALIGNMENT): Likewise. - * config/gcn/gcn-protos.h (gcn_full_exec): Delete. - (gcn_full_exec_reg): Delete. - (gcn_scalar_exec): Delete. - (gcn_scalar_exec_reg): Delete. - (vgpr_1reg_mode_p): Use inner mode to identify vector registers. - (vgpr_2reg_mode_p): Likewise. - (vgpr_vector_mode_p): Use VECTOR_MODE_P. - * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF, - V_QIHI, V_1REG, V_INT_1REG, V_INT_1REG_ALT, V_FP_1REG, V_2REG, V_noQI, - V_noHI, V_INT_noQI, V_INT_noHI, V_ALL, V_ALL_ALT, V_INT, V_FP): - Add additional vector modes. - (V64_SI, V64_DI, V64_ALL, V64_FP): New iterators. - (scalar_mode, SCALAR_MODE, vnsi, VnSI, vndi, VnDI, sdwa): - Add additional vector mode mappings. - (mov<mode>): Implement vector length conversions. - (ldexp<mode>3<exec>): Use VnSI. - (frexp<mode>_exp2<exec>): Likewise. - (VCVT_MODE, VCVT_FMODE, VCVT_IMODE): Add additional vector modes. - (reduc_<reduc_op>_scal_<mode>): Use V64_ALL. - (fold_left_plus_<mode>): Use V64_FP. - (*<reduc_op>_dpp_shr_<mode>): Use V64_1REG. - (*<reduc_op>_dpp_shr_<mode>): Use V64_DI. - (*plus_carry_dpp_shr_<mode>): Use V64_INT_1REG. - (*plus_carry_in_dpp_shr_<mode>): Use V64_SI. - (*plus_carry_dpp_shr_<mode>): Use V64_DI. - (mov_from_lane63_<mode>): Use V64_2REG. - * config/gcn/gcn.cc (VnMODE): New function. - (gcn_can_change_mode_class): Support multiple vector sizes. - (gcn_modes_tieable_p): Likewise. - (gcn_operand_part): Likewise. - (gcn_scalar_exec): Delete function. - (gcn_scalar_exec_reg): Delete function. - (gcn_full_exec): Delete function. - (gcn_full_exec_reg): Delete function. - (gcn_inline_fp_constant_p): Support multiple vector sizes. - (gcn_fp_constant_p): Likewise. - (A): New macro. - (GEN_VN_NOEXEC): New macro. - (GEN_VNM_NOEXEC): New macro. - (GEN_VN): New macro. - (GEN_VNM): New macro. - (GET_VN_FN): New macro. - (CODE_FOR): New macro. - (CODE_FOR_OP): New macro. - (gen_mov_with_exec): Delete function. - (gen_duplicate_load): Delete function. - (gcn_expand_vector_init): Support multiple vector sizes. - (strided_constant): Likewise. - (gcn_addr_space_legitimize_address): Likewise. - (gcn_expand_scalar_to_vector_address): Likewise. - (gcn_expand_scaled_offsets): Likewise. - (gcn_secondary_reload): Likewise. - (gcn_valid_cvt_p): Likewise. - (gcn_expand_builtin_1): Likewise. - (gcn_make_vec_perm_address): Likewise. - (gcn_vectorize_vec_perm_const): Likewise. - (gcn_vector_mode_supported_p): Likewise. - (gcn_autovectorize_vector_modes): New hook. - (gcn_related_vector_mode): Support multiple vector sizes. - (gcn_expand_dpp_shr_insn): Add FIXME comment. - (gcn_md_reorg): Support multiple vector sizes. - (print_reg): Likewise. - (print_operand): Likewise. - (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): New hook. - -2022-10-11 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * tree-if-conv.cc (if_convertible_loop_p_1): Move ordering of loop bb's from - here... - (tree_if_conversion): ... to here. Also call bitfield lowering when - appropriate. - (version_loop_for_if_conversion): Adapt to enable loop versioning when we only - need to lower bitfields. - (ifcvt_split_critical_edges): Relax condition of expected loop form as this is - checked earlier. - (get_bitfield_rep): New function. - (lower_bitfield): Likewise. - (bitfields_to_lower_p): Likewise. - (need_to_lower_bitfields): New global boolean. - (need_to_ifcvt): Likewise. - * tree-vect-data-refs.cc (vect_find_stmt_data_reference): Improve diagnostic - message. - * tree-vect-patterns.cc (vect_recog_temp_ssa_var): Add default value for last - parameter. - (vect_recog_bitfield_ref_pattern): New. - (vect_recog_bit_insert_pattern): New. - -2022-10-11 liuhongt <hongtao.liu@intel.com> - - PR target/107093 - * config/i386/i386.md (*notxor<mode>_1): New post_reload - define_insn_and_split. - (*notxorqi_1): Ditto. - -2022-10-11 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107195 - * value-range.cc (irange::set_range_from_nonzero_bits): Set range - to [0,0] when nonzero mask is 0. - -2022-10-11 Olivier Hainque <hainque@adacore.com> - - * configure: Regenerate. - -2022-10-11 Olivier Hainque <hainque@adacore.com> - - * config.gcc (*vxworks*): Add t-slibgcc fragment - if enable_shared. - -2022-10-11 Olivier Hainque <hainque@adacore.com> - - * config/vxworks.h (VX_LGCC_EH_SO0, VX_LGCC_EH_SO1): New - internal macros. - (VXWORKS_LIBGCC_SPEC): Use them and document. - -2022-10-11 Martin Liska <mliska@suse.cz> - - * gimple-range-op.cc: Add override keyword. - -2022-10-11 Eugene Rozenfeld <erozen@microsoft.com> - - PR debug/107193 - * tree-cfg.cc (assign_discriminators): Move declaration of cur_locus_e - out of the loop. - -2022-10-11 Liwei Xu <liwei.xu@intel.com> - liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/54346 - * match.pd: Merge the index of VCST then generates the new vec_perm. - -2022-10-11 Jeff Law <jeffreyalaw@gmail.com> - - PR rtl-optimization/107182 - * cfgrtl.cc (fixup_reorder_chain): When optimizing a jump to a - return, clear EDGE_CROSSING on the appropriate edge. - -2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-builtins.cc (struct vector_type_info): Move - from config/riscv/riscv-vector-builtins.h. - (DEF_RVV_TYPE): Change USER_NAME to NAME. - (register_vector_type): Change user_name to name. - * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Change - USER_NAME to NAME. - * config/riscv/riscv-vector-builtins.h (struct vector_type_info): Move - to riscv-vector-builtins.cc. - (DEF_RVV_TYPE): Change USER_NAME to NAME. - -2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.md: Add vsetvl instruction type. - -2022-10-10 Nathan Sidwell <nathan@acm.org> - - * common.opt (-fabi-version=): Document 18. - * doc/invoke.texi (-fabi-version): Document 18. - -2022-10-10 Andrea Corallo <andrea.corallo@arm.com> - - PR other/99723 - * toplev.cc (toplev::main): Don't run self tests in case of - previous error. - -2022-10-10 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/riscv-c.cc: Add newline to the end of file. - -2022-10-10 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (class foperator_identity): Make members public. - (class foperator_equal): Same. - (class foperator_not_equal): Same. - (class foperator_lt): Same. - (class foperator_le): Same. - (class foperator_gt): Same. - (class foperator_ge): Same. - (class foperator_unordered): Same. - (class foperator_ordered): Same. - -2022-10-10 Aldy Hernandez <aldyh@redhat.com> - - * value-range.h (frange::maybe_isnan): New. - -2022-10-10 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (foperator_not_equal::op1_range): Set NAN on - TRUE side for x != x. - -2022-10-10 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (foperator_unordered::op1_range): Set NAN when - operands are equal and result is TRUE. - -2022-10-10 Aldy Hernandez <aldyh@redhat.com> - - * range.h (range_true): Return int_range<2>. - (range_false): Same. - (range_true_and_false): Same. - -2022-10-10 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-op.cc: Add op1_range entry for __builtin_signbit. - -2022-10-10 liuhongt <hongtao.liu@intel.com> - - PR target/107185 - * config/i386/i386.md (lrint<MODEF:mode><SWI48:mode>2): Swap - predicate of operands[0] and operands[1]. - -2022-10-10 Claudiu Zissulescu <claziss@gmail.com> - - * common/config/arc/arc-common.cc (arc_option_optimization_table): - Remove Rcq and Rcw options. - * config/arc/arc.opt (mRcq): Ignore option, preserve it for - backwards compatibility. - (mRcw): Likewise. - * doc/invoke.texi (mRcw, mRcq): Update document. - -2022-10-10 Claudiu Zissulescu <claziss@gmail.com> - - * config/arc/arc.cc (arc_check_short_reg_p): New function. - (arc_address_cost): Replace satisfies_constraint_Rcq with the - above new function. - (arc_output_addsi): Likewise. - (split_addsi): Likewise. - (split_subsi): Likewise. - * config/arc/arc.md (movqi_insn): Remove Rcq constraint. - (movhi_insn): Likewise. - (movsi_insn): Likewise. - (tst_movb): Likewise. - (tst): Likewise. - (tst_bitfield): Likewise. - (abssi2): Likewise. - (addsi3_mixed): Likewise. - (mulhisi3_reg): Likewise. - (umulhisi3_reg): Likewise. - (mulsi_600): Likewise. - (mul64): Likewise. - (subsi3_insn): Likewise. - (bicsi3_insn): Likewise. - (xorsi3): Likewise. - (negsi2): Likewise. - (one_cmplsi2): Likewise. - (lshrsi3_insn): Likewise. - (cmpsi_cc_insn_mixed): Likewise. - (cmpsi_cc_zn_insn): Likewise. - (btst): Likewise. - (cmpsi_cc_z_insn): Likewise. - (cmpsi_cc_c_insn): Likewise. - (indirect_jump): Likewise. - (casesi_jump): Likewise. - (call_i): Likewise. - (call_value_i): Likewise. - (bbit): Likewise. - (abssf2): Likewise. - (ashlsi2_cnt1): Likewise. - (lshrsi3_cnt1): Likewise. - (ashrsi3_cnt1): Likewise. - * config/arc/constraints.md (Rcq): Remove. - -2022-10-10 Claudiu Zissulescu <claziss@gmail.com> - - * config/arc/arc.md (smaxsi3): Remove Rcw. - (sminsi3): Likewise. - (addsi3_mixed): Likewise. - (add_f_2): Likewise. - (subsi3_insn): Likewise. - (sub_f): Likewise. - (sub_n): Likewise. - (bset): Likewise. - (bxor): Likewise. - (bclr): Likewise. - (bset_insn): Likewise. - (bxor_insn): Likewise. - (bclr_insn): Likewise. - (bmsk_insn): Likewise. - (bicsi3_insn): Likewise. - (xorsi3): Likewise. - (negsi2): Likewise. - (lshrsi3_insn): Likewise. - (abssf2): Likewise. - (negsf2): Likewise. - * config/arc/constraints.md(Rcw): Remove it. - -2022-10-10 Claudiu Zissulescu <claziss@gmail.com> - - * config/arc/arc.md(mulsi3_700): Remove Rcr. - (mulsi3_highpart): Likewise. - (umulsi3_highpart_i): Likewise. - (umulsi3_highpart_int): Likewise. - (macd): Likewise. - (macdu): Likewise. - * config/arc/constraints.md (Rcr): Remove it. - -2022-10-10 Claudiu Zissulescu <claziss@gmail.com> - - * config/arc/arc.cc (arc_save_callee_enter): Use negative offsets. - -2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu> - - PR target/106562 - * config/pru/pru-protos.h (pru_noteq_condition): New - function declaration. - * config/pru/pru.cc (pru_noteq_condition): New function. - * config/pru/pru.md (cbranchdi4): Define new pattern. - -2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/pru/pru.md (lshrdi3): New expand pattern. - (ashldi3): Ditto. - -2022-10-09 YunQiang Su <yunqiang.su@cipunited.com> - - * config.gcc: set with_arch to default_mips_arch if no defined. - * config/mips/driver-native.cc (host_detect_local_cpu): - try getauxval(AT_BASE_PLATFORM) and _MIPS_ARCH, too. - pass -mnan=2008 if __mips_nan2008__ is defined. - * config.in: define HAVE_SYS_AUXV_H and HAVE_GETAUXVAL. - * configure.ac: detect sys/auxv.h and getauxval. - * configure: regenerated. - -2022-10-07 Eugene Rozenfeld <erozen@microsoft.com> - - * tree-cfg.cc (assign_discriminators): Set discriminators for call stmts - on the same line within the same basic block. - -2022-10-07 Qing Zhao <qing.zhao@oracle.com> - - PR tree-optimization/101836 - * tree-object-size.cc (addr_object_size): Use array_at_struct_end_p - to determine a flexible array member reference. - -2022-10-07 Qing Zhao <qing.zhao@oracle.com> - - * doc/extend.texi: Document strict_flex_array attribute. - * doc/invoke.texi: Document -fstrict-flex-arrays[=n] option. - * print-tree.cc (print_node): Print new bit decl_not_flexarray. - * tree-core.h (struct tree_decl_common): New bit field - decl_not_flexarray. - * tree-streamer-in.cc (unpack_ts_decl_common_value_fields): Stream - in new bit decl_not_flexarray. - * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream - out new bit decl_not_flexarray. - * tree.cc (array_at_struct_end_p): Update it with the new bit field - decl_not_flexarray. - * tree.h (DECL_NOT_FLEXARRAY): New flag. - -2022-10-07 Olivier Hainque <hainque@adacore.com> - - * config/vxworks/_vxworks-versions.h: Use OS specific - paths in #include of version.h. - -2022-10-07 Martin Liska <mliska@suse.cz> - - * opts.cc (finish_options): Print sorry message only - for -flive-patching=inline-only-static. - -2022-10-07 Jason Merrill <jason@redhat.com> - - * gimplify.cc (gimplify_modify_expr_rhs): Don't optimize - x = *(A*)&<expr> to x = <expr> for a TREE_ADDRESSABLE type. - -2022-10-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107153 - * tree-cfg.cc (gimple_duplicate_sese_tail): Do not update - SSA form here. - * tree-parloops.cc (gen_parallel_loop): Update SSA form - after to-exit-first transform, no PHI insertion is necessary. - (pass_parallelize_loops::execute): Force re-write of the - virtual operand SSA web. - -2022-10-07 Jonathan Wakely <jwakely@redhat.com> - - * value-range.cc (irange::irange_contains_p): Fix comment typo. - -2022-10-07 Eric Botcazou <ebotcazou@adacore.com> - - * function.cc (thread_prologue_and_epilogue_insns): Update only - entry and exit blocks when not optimizing. Remove dead statement. - -2022-10-07 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (irange::irange_set): Convert nonzero mask to - tree. - (irange::irange_set_anti_range): Same. - (irange::set): Same. - (irange::verify_range): Same. - (irange::contains_p): Same. - (irange::invert): Same. - (irange::set_range_from_nonzero_bits): Same. - (irange::set_nonzero_bits): Same. - (mask_to_wi): Same. - (irange::intersect_nonzero_bits): Same. - (irange::union_nonzero_bits): Same. - * value-range.h (irange::varying_compatible_p): Same. - (gt_ggc_mx): Same. - (gt_pch_nx): Same. - (irange::set_undefined): Same. - (irange::set_varying): Same. - -2022-10-07 Martin Liska <mliska@suse.cz> - - * config/i386/i386-protos.h (ix86_binary_operator_ok): Add array - size to function parameter. - (ix86_unary_operator_ok): Likewise. - -2022-10-07 Martin Liska <mliska@suse.cz> - - * auto-profile.cc (get_inline_stack): Remove unused variable. - -2022-10-07 Jakub Jelinek <jakub@redhat.com> - - * ipa-prop.h (ipa_constant_data): Fix comment typo. - * value-range.cc (irange::irange_contains_p): Likewise. - * value-relation.cc (dom_oracle::set_one_relation): Likewise. - * gimple-predicate-analysis.cc (predicate::simplify_4): Likewise. - * tree-inline.cc (remap_ssa_name): Likewise. - -2022-10-07 Jakub Jelinek <jakub@redhat.com> - - * attribs.h (is_attribute_namespace_p): New inline function. - (lookup_attribute): Document meaning of ATTR_NS equal to "". - * attribs.cc (remove_attribute): Use is_attribute_namespace_p. - (private_lookup_attribute): For ATTR_NS "" match either standard - attribute or "gnu" namespace one. - -2022-10-07 Olivier Hainque <hainque@adacore.com> - - * config/vxworks.h (DWARF_VERSION_DEFAULT): Adjust from - 4 to 3 for VxWorks >= 7. - -2022-10-07 Olivier Hainque <hainque@adacore.com> - - * defaults.h (DWARF_DEFAULT_VERSION): Define if not - defined already. - * common.opt (gdwarf-): Use it. - * doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document. - * doc/tm.texi: Update accordingly. - * config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine. - * config/vxworks.cc: Remove code setting dwarf_version, now - handled by the DWARF_DEFAULT_VERSION redefinition. - -2022-10-07 Olivier Hainque <hainque@adacore.com> - - * ginclude/stddef.h: #undef offsetof before #define. - -2022-10-06 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107170 - * vr-values.cc (vr_values::range_of_expr): Do not die on - unsupported types. - -2022-10-06 Joseph Myers <joseph@codesourcery.com> - - * doc/invoke.texi (-fno-asm): Update description of effects on - typeof keyword. - -2022-10-06 Eric Botcazou <ebotcazou@adacore.com> - - * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Bail out for a self - dependency that is a write-after-write if the access function is not - affine or constant. - -2022-10-06 Eric Botcazou <ebotcazou@adacore.com> - - * df-scan.cc (df_ref_create_structure): Minor cleanup. - -2022-10-06 Richard Biener <rguenther@suse.de> - - PR middle-end/107115 - * expr.cc (store_expr): Check mems_same_for_tbaa_p before - eliding a seemingly redundant store. - -2022-10-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * config/aarch64/atomics.md (*atomic_load<ALLX:mode>_zext<SD_HSDI:mode>): - New pattern. - -2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update - Ampere-1 core entry. - -2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one. - -2022-10-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107107 - * tree-ssa-sccvn.cc (visit_reference_op_store): Do not - affect value-numbering when doing the tail merging - MODIFY_EXPR lookup. - -2022-10-06 Claudiu Zissulescu <claziss@synopsys.com> - - * config/arc/linux.h (LINK_SPEC): Remove max-page-size and - common-pave-size. - -2022-10-06 Jakub Jelinek <jakub@redhat.com> - - PR c++/106654 - * internal-fn.def (ASSUME): New internal function. - * internal-fn.h (expand_ASSUME): Declare. - * internal-fn.cc (expand_ASSUME): Define. - * gimplify.cc (gimplify_call_expr): Gimplify IFN_ASSUME. - * fold-const.h (simple_condition_p): Declare. - * fold-const.cc (simple_operand_p_2): Rename to ... - (simple_condition_p): ... this. Remove forward declaration. - No longer static. Adjust function comment and fix a typo in it. - Adjust recursive call. - (simple_operand_p): Adjust function comment. - (fold_truth_andor): Adjust simple_operand_p_2 callers to call - simple_condition_p. - * doc/extend.texi: Document assume attribute. Move fallthrough - attribute example to its section. - -2022-10-06 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - PR rtl-optimization/107088 - * cselib.cc (new_cselib_val): Skip BImode while keeping track of - subvalue relations. - -2022-10-06 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::set): Call set_nan unconditionally. - (range_tests_nan): Adjust tests. - (range_tests_signed_zeros): Same. - (range_tests_floats): Same. - * value-range.h (frange::update_nan): Guard with HONOR_NANS. - (frange::set_nan): Set undefined if !HONOR_NANS. - -2022-10-06 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (foperator_lt::fold_range): Remove extra check - to finite_operands_p. - (foperator_le::fold_range): Same. - (foperator_gt::fold_range): Same. - (foperator_ge::fold_range): Same. - -2022-10-06 Aldy Hernandez <aldyh@redhat.com> - - * value-range-pretty-print.cc (vrange_printer::print_real_value): - Avoid printing INF and NAN twice. - -2022-10-05 Segher Boessenkool <segher@kernel.crashing.org> - - * config/rs6000/constraints.md (wD): Delete. - * doc/md.texi (Machine Constraints): Adjust. - -2022-10-05 Segher Boessenkool <segher@kernel.crashing.org> - - * config/rs6000/vsx.md (vsx_extract_<mode>): Replace define_insn by a - define_expand. Split the contents to... - (*vsx_extract_<mode>_0): ... this. Rewrite. - (*vsx_extract_<mode>_1): ... and this. Rewrite. - -2022-10-05 Segher Boessenkool <segher@kernel.crashing.org> - - * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of - "wD" constraint. - -2022-10-05 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107060 - * doc/analyzer.texi (__analyzer_get_unknown_ptr): Document. - -2022-10-05 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config.gcc: Add riscv_vector.h. - * config/riscv/riscv-builtins.cc: Add RVV builtin types support. - * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): New function. - (riscv_register_pragmas): Ditto. - * config/riscv/riscv-protos.h (riscv_register_pragmas): Ditto. - (init_builtins): Move declaration from riscv-vector-builtins.h to riscv-protos.h. - (mangle_builtin_type): Ditto. - (verify_type_context): Ditto. - (handle_pragma_vector): New function. - * config/riscv/riscv-vector-builtins.cc (GTY): New variable. - (register_vector_type): New function. - (init_builtins): Add RVV builtin types support. - (handle_pragma_vector): New function. - * config/riscv/riscv-vector-builtins.h (GCC_RISCV_V_BUILTINS_H): Change - name according to file name. - (GCC_RISCV_VECTOR_BUILTINS_H): Ditto. - (init_builtins): Remove declaration in riscv-vector-builtins.h. - (mangle_builtin_type): Ditto. - (verify_type_context): Ditto. - * config/riscv/riscv.cc: Adjust for RVV builtin types support. - * config/riscv/riscv.h (REGISTER_TARGET_PRAGMAS): New macro. - * config/riscv/t-riscv: Remove redundant file including. - * config/riscv/riscv_vector.h: New file. - -2022-10-05 Aldy Hernandez <aldyh@redhat.com> - - * range-op.cc (operator_cast::fold_range): Handle truncating casts - for nonzero masks. - -2022-10-05 Martin Liska <mliska@suse.cz> - - PR c/107156 - * attribs.h (lookup_attribute_by_prefix): Support the attribute - starting with underscore (_Noreturn). - -2022-10-05 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107052 - * gimple-range-op.cc (cfn_popcount::fold_range): Take into account - nonzero bit mask. - -2022-10-05 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107052 - * range-op.cc (operator_cast::fold_range): Set nonzero mask. - -2022-10-05 Eric Botcazou <ebotcazou@adacore.com> - - PR tree-optimization/106698 - * pointer-query.cc (handle_array_ref): Fix handling of low bound. - -2022-10-05 Vineet Gupta <vineetg@rivosinc.com> - - * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): - Remove __riscv_cmodel_pic, that deprecated in last version. - -2022-10-05 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107072 - * Makefile.in (ANALYZER_OBJS): Add analyzer/call-summary.o. - -2022-10-04 Jakub Jelinek <jakub@redhat.com> - - * attribs.h (remove_attribute): Declare overload with additional - attr_ns argument. - (private_lookup_attribute): Declare overload with additional - attr_ns and attr_ns_len arguments. - (lookup_attribute): New overload with additional attr_ns argument. - * attribs.cc (remove_attribute): New overload with additional - attr_ns argument. - (private_lookup_attribute): New overload with additional - attr_ns and attr_ns_len arguments. - -2022-10-04 Jakub Jelinek <jakub@redhat.com> - - * attribs.cc (handle_ignored_attributes_option, decl_attributes, - common_function_versions): Use auto_diagnostic_group. - -2022-10-04 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (irange::set_nonzero_bits): Remove assert. - -2022-10-04 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New macro. - * config/aarch64/aarch64-arches.def (armv8.3-a): Include RCPC. - * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1) - (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores. - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define - __ARM_FEATURE_RCPC when appropriate. - -2022-10-04 Tobias Burnus <tobias@codesourcery.com> - - * doc/invoke.texi (-fopenmp): Mention C++ attribut syntax. - (-fopenmp-simd): Likewise; update permitted directives. - -2022-10-04 Tobias Burnus <tobias@codesourcery.com> - - * doc/install.texi (Specific): Add missing items to bullet list. - (amdgcn): Update LLVM requirements, use version not date for newlib. - (nvptx): Use version not git hash for newlib. - -2022-10-04 Aldy Hernandez <aldyh@redhat.com> - - * value-range-storage.cc (irange_storage_slot::set_irange): Remove - special case. - * value-range.cc (irange::irange_set): Adjust for nonzero mask - being a wide int. - (irange::irange_set_anti_range): Same. - (irange::set): Same. - (irange::verify_range): Same. - (irange::legacy_equal_p): Same. - (irange::operator==): Same. - (irange::contains_p): Same. - (irange::legacy_intersect): Same. - (irange::legacy_union): Same. - (irange::irange_single_pair_union): Call union_nonzero_bits. - (irange::irange_union): Same. - (irange::irange_intersect): Call intersect_nonzero_bits. - (irange::intersect): Adjust for nonzero mask being a wide int. - (irange::invert): Same. - (irange::set_nonzero_bits): Same. - (irange::get_nonzero_bits_from_range): New. - (irange::set_range_from_nonzero_bits): New. - (irange::get_nonzero_bits): Adjust for nonzero mask being a wide - int. - (irange::intersect_nonzero_bits): Same. - (irange::union_nonzero_bits): Same. - (range_tests_nonzero_bits): Remove test. - * value-range.h (irange::varying_compatible_p): Adjust for nonzero - mask being a wide int. - (gt_ggc_mx): Same. - (gt_pch_nx): Same. - (irange::set_undefined): Same. - (irange::set_varying): Same. - (irange::normalize_kind): Same. - -2022-10-04 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107130 - * gimple-range-op.cc (class cfn_popcount): Call op_cfn_ffs. - (class cfn_ffs): New. - (gimple_range_op_handler::maybe_builtin_call): Separate out - CASE_CFN_FFS into its own case. - -2022-10-03 Sergei Trofimovich <siarheit@google.com> - - * config/i386/t-i386: Add build-time dependencies against - i386-builtin-types.inc to i386-builtins.o, i386-expand.o, - i386-features.o. - -2022-10-03 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn-valu.md (while_ultsidi): Limit mask length using - operand 3. - * doc/md.texi (while_ult): Document new operand 3 usage. - * internal-fn.cc (expand_while_optab_fn): Set operand 3 when lhs_type - maps to a non-vector mode. - -2022-10-03 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/107109 - * range-op.cc (adjust_op1_for_overflow): Don't process undefined. - -2022-10-03 Christophe Lyon <christophe.lyon@arm.com> - - * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early - clobber. - (mve_vrev64q_m_f<mode>): Likewise. - -2022-10-03 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (irange::set_nonzero_bits): Do not pessimize range. - (range_tests_nonzero_bits): New test. - -2022-10-03 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (irange::operator==): Early bail on m_num_ranges - equal to 0. - -2022-10-03 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (irange::legacy_equal_p): Remove nonozero mask - check when comparing VR_VARYING ranges. - -2022-10-03 Aldy Hernandez <aldyh@redhat.com> - - * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Do not compare - incompatible ranges in ipa-prop. - -2022-10-02 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107121 - * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics, - DEFFERED_INIT -> DEFERRED_INIT. - -2022-10-02 Marc Poulhiès <poulhies@adacore.com> - - * config/vxworks-driver.cc: New. - * config.gcc (*vxworks*): Add vxworks-driver.o in extra_gcc_objs. - * config/t-vxworks: Add vxworks-driver.o. - * config/vxworks.h (GCC_DRIVER_HOST_INITIALIZATION): New. - -2022-10-02 Olivier Hainque <hainque@adacore.com> - - * config/vxworks.h (VX_CRTBEGIN_SPEC, VX_CRTEND_SPEC): If - HAVE_INITFINI_ARRAY_SUPPORT, pick crtstuff objects regardless - of ENABLE_SHARED_LIBGCC. - -2022-10-01 Stafford Horne <shorne@gmail.com> - - * config/or1k/or1k.cc (TARGET_HAVE_TLS): Only define if - HAVE_AS_TLS is defined. - -2022-10-01 Julian Brown <julian@codesourcery.com> - - * gimplify.cc (omp_group_base): Fix IF_PRESENT (no_create) - handling. - -2022-10-01 Jeff Law <jeffreyalaw@gmail.com> - - * config/h8300/h8300.md (HSI2): New iterator. - (eqne_invert): Similarly. - * config/h8300/testcompare.md (testhi_upper_z): New pattern. - (cmpqi_z, cmphi_z, cmpsi_z): Likewise. - (store_z_qi, store_z_i_qi, store_z_hi, store_z_hi_sb): New - define_insn_and_splits and/or define_insns. - (store_z_hi_neg, store_z_hi_and, store_z_<mode>): Likewise. - (store_z_<mode>_neg, store_z_<mode>_and, store_z): Likewise. - -2022-10-01 Jeff Law <jeffreyalaw@gmail.com> - - * tree-ssa-dom.cc (record_edge_info): Install correct version of - patch. - -2022-10-01 Eugene Rozenfeld <erozen@microsoft.com> - - * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites. - -2022-09-30 Jeff Law <jeffreyalaw@gmail.com> - - * tree-ssa-dom.cc (single_block_loop_p): New function. - (record_edge_info): Also record equivalences for the outgoing - edge of a single block loop where the condition is an invariant. - -2022-09-30 Jeff Law <jeffreyalaw@gmail.com> - - * tree-ssa-dom.cc (free_dom_edge_info): Clear e->aux too. - (free_all_edge_infos): Do not clear e->aux here. - -2022-09-30 H.J. Lu <hjl.tools@gmail.com> - - * target.def (TARGET_C_EXCESS_PRECISION): Document - -fexcess-precision=16. - -2022-09-30 Palmer Dabbelt <palmer@rivosinc.com> - - * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Add 16. - -2022-09-30 Palmer Dabbelt <palmer@rivosinc.com> - - PR target/106815 - * config/riscv/riscv.cc (riscv_excess_precision): Add support - for EXCESS_PRECISION_TYPE_FLOAT16. - -2022-09-30 Jakub Jelinek <jakub@redhat.com> - - PR c++/107080 - * config/arm/arm.cc (arm_mangle_type): Mangle just __fp16 as Dh - and _Float16 as DF16_. - * config/csky/csky.cc (csky_init_builtins): Fix a comment typo. - (csky_mangle_type): Mangle __fp16 as Dh and _Float16 as DF16_ - rather than mangling __fp16 as __fp16. - -2022-09-30 Lewis Hyatt <lhyatt@gmail.com> - - PR preprocessor/69543 - * tree-ssa-uninit.cc (warn_uninit): Stop stripping macro tracking - information away from the diagnostic location. - (maybe_warn_read_write_only): Likewise. - (maybe_warn_operand): Likewise. - -2022-09-30 Jakub Jelinek <jakub@redhat.com> - - PR c++/107080 - * config/aarch64/aarch64.cc (aarch64_mangle_type): Mangle just __fp16 - as Dh and _Float16 as DF16_. - -2022-09-30 Jakub Jelinek <jakub@redhat.com> - - PR c++/107080 - * config/i386/i386.cc (ix86_mangle_type): Always return NULL - for float128_type_node or float64x_type_node, don't check - float128t_type_node later on. - * config/ia64/ia64.cc (ia64_mangle_type): Always return NULL - for float128_type_node or float64x_type_node. - * config/rs6000/rs6000.cc (rs6000_mangle_type): Likewise. - Don't check float128_type_node later on. - * config/s390/s390.cc (s390_mangle_type): Don't use - TYPE_MAIN_VARIANT on type which was set to TYPE_MAIN_VARIANT - a few lines earlier. - -2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * doc/sourcebuild.texi: Document new vma_equals_lma effective - target check. - -2022-09-30 Jiawei <jiawei@iscas.ac.cn> - - * config/riscv/riscv.cc (riscv_file_start): New .option. - * config/riscv/riscv.opt: New options. - * doc/invoke.texi: New definations. - -2022-09-30 Kewen Lin <linkw@linux.ibm.com> - - PR target/99888 - PR target/105649 - * doc/invoke.texi (option -fpatchable-function-entry): Adjust the - documentation for PowerPC ELFv2 ABI dual entry points. - * config/rs6000/rs6000-internal.h - (rs6000_print_patchable_function_entry): New function declaration. - * config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue): - Support patchable-function-entry by emitting nops before and after - local entry for the function that needs global entry. - * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): Skip - the function that needs global entry till global entry has been - emitted. - * config/rs6000/rs6000.h (struct machine_function): New bool member - global_entry_emitted. - -2022-09-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107095 - * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Use data arg - for .MASK_STORE size. - -2022-09-29 Andrew MacLeod <amacleod@redhat.com> - - * range-op.cc (plus_minus_ranges): New. - (adjust_op1_for_overflow): New. - (operator_plus::op1_range): Use new adjustment. - (operator_plus::op2_range): Ditto. - (operator_minus::op1_range): Ditto. - * value-relation.h (relation_lt_le_gt_ge_p): New. - -2022-09-29 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-gori.cc (gori_compute::refine_using_relation): New. - (gori_compute::compute_operand1_range): Invoke - refine_using_relation when applicable. - (gori_compute::compute_operand2_range): Ditto. - * gimple-range-gori.h (class gori_compute): Adjust prototypes. - -2022-09-29 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-gori.cc (ori_compute::compute_operand_range): - Create a relation record and pass it along when possible. - (gori_compute::compute_operand1_range): Pass relation along. - (gori_compute::compute_operand2_range): Ditto. - (gori_compute::compute_operand1_and_operand2_range): Ditto. - * gimple-range-gori.h (class gori_compute): Adjust prototypes. - * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Pass - relation to op1_range call. - (gimple_range_op_handler::calc_op2): Pass relation to op2_range call. - * gimple-range-op.h (class gimple_range_op_handler): Adjust - prototypes. - -2022-09-29 Andrew MacLeod <amacleod@redhat.com> - - * value-relation.cc (class value_relation): Move to .h file. - (value_relation::set_relation): Ditto. - (value_relation::value_relation): ditto. - * value-relation.h (class value_relation): Move from .cc file. - (value_relation::set_relation): Ditto - (value_relation::value_relation): Ditto. - -2022-09-29 Andrew MacLeod <amacleod@redhat.com> - - * range-op.cc (operator_minus::op2_range): Check for undefined. - (operator_mult::op1_range): Ditto. - (operator_exact_divide::op1_range): Ditto. - (operator_lshift::op1_range): Ditto. - (operator_rshift::op1_range): Ditto. - (operator_cast::op1_range): Ditto. - (operator_bitwise_and::op1_range): Ditto. - (operator_bitwise_or::op1_range): Ditto. - (operator_trunc_mod::op1_range): Ditto. - (operator_trunc_mod::op2_range): Ditto. - (operator_bitwise_not::op1_range): Ditto. - (pointer_or_operator::op1_range): Ditto. - (range_op_handler::op1_range): Ditto. - (range_op_handler::op2_range): Ditto. - -2022-09-29 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): - Remove unused elt_bits variable. - -2022-09-29 Olivier Hainque <hainque@adacore.com> - - * config/vxworks.h: Add comment on our use of - HAVE_INITFINI_ARRAY_SUPPORT. - -2022-09-29 Olivier Hainque <hainque@adacore.com> - - * config/aarch64/t-aarch64-vxworks: Request multilib - variants for mcmodel=large. - -2022-09-29 Olivier Hainque <hainque@adacore.com> - - * config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove - resetting to 0. - -2022-09-29 Olivier Hainque <hainque@adacore.com> - - * config/vx-common.h (DWARF2_UNWIND_INFO): #define to 0 - when ARM_UNWIND_INFO is set. - -2022-09-29 Julian Brown <julian@codesourcery.com> - - PR middle-end/107028 - * gimplify.cc (omp_check_mapping_compatibility, - oacc_resolve_clause_dependencies): New functions. - (omp_accumulate_sibling_list): Remove redundant duplicate clause - detection for OpenACC. - (build_struct_sibling_lists): Skip deleted groups. Don't build sibling - list for struct variables that are fully mapped on the same directive - for OpenACC. - (gimplify_scan_omp_clauses): Call oacc_resolve_clause_dependencies. - -2022-09-29 Jose E. Marchesi <jose.marchesi@oracle.com> - - PR middle-end/25521 - * varasm.cc (categorize_decl_for_section): Place `const volatile' - objects in read-only sections. - (default_select_section): Likewise. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead - of to_widest. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.h (TARGET_CRYPTO, TARGET_SHA3, TARGET_SM4) - (TARGET_DOTPROD): Don't depend on TARGET_SIMD. - (TARGET_AES, TARGET_SHA2): Likewise. Remove TARGET_CRYPTO test. - (TARGET_FP_F16INST): Don't depend on TARGET_FLOAT. - (TARGET_SVE2, TARGET_SVE_F32MM, TARGET_SVE_F64MM): Don't depend - on TARGET_SVE. - (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3) - (TARGET_SVE2_SM4): Don't depend on TARGET_SVE2. - (TARGET_F32MM, TARGET_F64MM): Delete. - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Guard - float macros with just TARGET_FLOAT rather than TARGET_FLOAT - || TARGET_SIMD. - * config/aarch64/aarch64-simd.md (copysign<mode>3): Depend - only on TARGET_SIMD, rather than TARGET_FLOAT && TARGET_SIMD. - (aarch64_crypto_aes<aes_op>v16qi): Depend only on TARGET_AES, - rather than TARGET_SIMD && TARGET_AES. - (aarch64_crypto_aes<aesmc_op>v16qi): Likewise. - (*aarch64_crypto_aese_fused): Likewise. - (*aarch64_crypto_aesd_fused): Likewise. - (aarch64_crypto_pmulldi): Likewise. - (aarch64_crypto_pmullv2di): Likewise. - (aarch64_crypto_sha1hsi): Likewise TARGET_SHA2. - (aarch64_crypto_sha1hv4si): Likewise. - (aarch64_be_crypto_sha1hv4si): Likewise. - (aarch64_crypto_sha1su1v4si): Likewise. - (aarch64_crypto_sha1<sha1_op>v4si): Likewise. - (aarch64_crypto_sha1su0v4si): Likewise. - (aarch64_crypto_sha256h<sha256_op>v4si): Likewise. - (aarch64_crypto_sha256su0v4si): Likewise. - (aarch64_crypto_sha256su1v4si): Likewise. - (aarch64_crypto_sha512h<sha512_op>qv2di): Likewise TARGET_SHA3. - (aarch64_crypto_sha512su0qv2di): Likewise. - (aarch64_crypto_sha512su1qv2di, eor3q<mode>4): Likewise. - (aarch64_rax1qv2di, aarch64_xarqv2di, bcaxq<mode>4): Likewise. - (aarch64_sm3ss1qv4si): Likewise TARGET_SM4. - (aarch64_sm3tt<sm3tt_op>qv4si): Likewise. - (aarch64_sm3partw<sm3part_op>qv4si): Likewise. - (aarch64_sm4eqv4si, aarch64_sm4ekeyqv4si): Likewise. - * config/aarch64/aarch64.md (<FLOATUORS:optab>dihf2) - (copysign<GPF:mode>3, copysign<GPF:mode>3_insn) - (xorsign<mode>3): Remove redundant TARGET_FLOAT condition. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.opt (aarch64_asm_isa_flags): New variable. - * config/aarch64/aarch64.h (aarch64_asm_isa_flags) - (aarch64_isa_flags): Redefine as read-only macros. - (TARGET_SIMD, TARGET_FLOAT, TARGET_SVE): Don't depend on - !TARGET_GENERAL_REGS_ONLY. - * common/config/aarch64/aarch64-common.cc - (aarch64_set_asm_isa_flags): New function. - (aarch64_handle_option): Call it when updating -mgeneral-regs. - * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Replace - m_old_isa_flags with m_old_asm_isa_flags. - (aarch64_set_asm_isa_flags): Declare. - * config/aarch64/aarch64-builtins.cc - (aarch64_simd_switcher::aarch64_simd_switcher) - (aarch64_simd_switcher::~aarch64_simd_switcher): Save and restore - aarch64_asm_isa_flags instead of aarch64_isa_flags. - * config/aarch64/aarch64-sve-builtins.cc - (check_required_extensions): Use aarch64_asm_isa_flags instead - of aarch64_isa_flags. - * config/aarch64/aarch64.cc (aarch64_set_asm_isa_flags): New function. - (aarch64_override_options, aarch64_handle_attr_arch) - (aarch64_handle_attr_cpu, aarch64_handle_attr_isa_flags): Use - aarch64_set_asm_isa_flags to set the ISA flags. - (aarch64_option_print, aarch64_declare_function_name) - (aarch64_start_file): Use aarch64_asm_isa_flags instead - of aarch64_isa_flags. - (aarch64_can_inline_p): Check aarch64_asm_isa_flags as well as - aarch64_isa_flags. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * common/config/aarch64/aarch64-common.cc (all_extensions): - Include the feature flag in flags_on and flags_off. - (aarch64_parse_extension): Update accordingly. - (aarch64_get_extension_string_for_isa_flags): Likewise. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * common/config/aarch64/aarch64-common.cc: Use aarch64_feature_flags - for feature flags throughout. - * config/aarch64/aarch64-protos.h: Likewise. - * config/aarch64/aarch64-sve-builtins.h: Likewise. - * config/aarch64/aarch64-sve-builtins.cc: Likewise. - * config/aarch64/aarch64.cc: Likewise. - * config/aarch64/aarch64.opt: Likewise. - * config/aarch64/driver-aarch64.cc: Likewise. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * common/config/aarch64/aarch64-common.cc (aarch64_option_extension) - (processor_name_to_arch, arch_to_arch_name): Remove const from - member variables. - (all_extensions, all_cores, all_architectures): Make a constexpr. - * config/aarch64/aarch64.cc (processor): Remove const from - member variables. - (all_architectures): Make a constexpr. - * config/aarch64/driver-aarch64.cc (aarch64_core_data) - (aarch64_arch_driver_info): Remove const from member variables. - (aarch64_cpu_data, aarch64_arches): Make a constexpr. - (get_arch_from_id): Return a pointer to const. - (host_detect_local_cpu): Update accordingly. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * common/config/aarch64/aarch64-common.cc (processor_name_to_arch) - (arch_to_arch_name): Use const char * instead of std::string. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * common/config/aarch64/aarch64-common.cc - (TARGET_OPTION_INIT_STRUCT): Delete. - (aarch64_option_extension): Remove is_synthetic_flag. - (all_extensions): Update accordingly. - (all_extensions_by_on, opt_ext, opt_ext_cmp): Delete. - (aarch64_option_init_struct, aarch64_contains_opt): Delete. - (aarch64_get_extension_string_for_isa_flags): Rewrite to use - all_extensions instead of all_extensions_on. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-option-extensions.def: Switch to a new format. - * config/aarch64/aarch64-cores.def: Use the same format to specify - lists of features. - * config/aarch64/aarch64-arches.def: Likewise, moving that information - from aarch64.h. - * config/aarch64/aarch64-opts.h (aarch64_feature_flags): New typedef. - * config/aarch64/aarch64.h (aarch64_feature): New class enum. - Turn AARCH64_FL_* macros into constexprs, getting the definitions - from aarch64-option-extensions.def. Remove AARCH64_FL_FOR_* macros. - * common/config/aarch64/aarch64-common.cc: Include - aarch64-feature-deps.h. - (all_extensions): Update for new .def format. - (all_extensions_by_on, all_cores, all_architectures): Likewise. - * config/aarch64/driver-aarch64.cc: Include aarch64-feature-deps.h. - (aarch64_extensions): Update for new .def format. - (aarch64_cpu_data, aarch64_arches): Likewise. - * config/aarch64/aarch64.cc: Include aarch64-feature-deps.h. - (all_architectures, all_cores): Update for new .def format. - * config/aarch64/aarch64-sve-builtins.cc - (check_required_extensions): Likewise. - * config/aarch64/aarch64-feature-deps.h: New file. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-option-extensions.def: Move crypto - after sha2. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-option-extensions.def (dotprod): Depend - on fp as well as simd. - (sha3): Likewise. - (aes): Likewise. Make +noaes disable crypto. - (sha2): Likewise +nosha2. Also make +nosha2 disable sha3 and - sve2-sha3. - (sve2-sha3): Depend on sha2 as well as sha3. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - PR target/107025 - * config/aarch64/aarch64.h (oAARCH64_FL_RCPC8_4): Delete. - (AARCH64_FL_FOR_V8_4A): Update accordingly. - (AARCH64_ISA_RCPC8_4): Use AARCH64_FL_V8_4A directly. - * config/aarch64/aarch64-cores.def (thunderx3t110): Remove - AARCH64_FL_RCPC8_4. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-cores.def: Remove AARCH64_FL_FOR_<ARCH> - from the flags field. - * common/config/aarch64/aarch64-common.cc (all_cores): Add it - here instead. - * config/aarch64/aarch64.cc (all_cores): Likewise. - * config/aarch64/driver-aarch64.cc (all_cores): Likewise. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * config.gcc: Remove dead aarch64-option-extensions.def code. - * config/aarch64/aarch64-arches.def: Update comment. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-arches.def: Add a leading "V" to the - ARCH_IDENT fields. - * config/aarch64/aarch64-cores.def: Update accordingly. - * common/config/aarch64/aarch64-common.cc (all_cores): Likewise. - * config/aarch64/aarch64.cc (all_cores): Likewise. - * config/aarch64/driver-aarch64.cc (aarch64_arches): Skip the - leading "V". - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8): Rename to... - (AARCH64_FL_FOR_V8A): ...this. - (AARCH64_FL_FOR_ARCH8_1): Rename to... - (AARCH64_FL_FOR_V8_1A): ...this. - (AARCH64_FL_FOR_ARCH8_2): Rename to... - (AARCH64_FL_FOR_V8_2A): ...this. - (AARCH64_FL_FOR_ARCH8_3): Rename to... - (AARCH64_FL_FOR_V8_3A): ...this. - (AARCH64_FL_FOR_ARCH8_4): Rename to... - (AARCH64_FL_FOR_V8_4A): ...this. - (AARCH64_FL_FOR_ARCH8_5): Rename to... - (AARCH64_FL_FOR_V8_5A): ...this. - (AARCH64_FL_FOR_ARCH8_6): Rename to... - (AARCH64_FL_FOR_V8_6A): ...this. - (AARCH64_FL_FOR_ARCH8_7): Rename to... - (AARCH64_FL_FOR_V8_7A): ...this. - (AARCH64_FL_FOR_ARCH8_8): Rename to... - (AARCH64_FL_FOR_V8_8A): ...this. - (AARCH64_FL_FOR_ARCH8_R): Rename to... - (AARCH64_FL_FOR_V8R): ...this. - (AARCH64_FL_FOR_ARCH9): Rename to... - (AARCH64_FL_FOR_V9A): ...this. - (AARCH64_FL_FOR_ARCH9_1): Rename to... - (AARCH64_FL_FOR_V9_1A): ...this. - (AARCH64_FL_FOR_ARCH9_2): Rename to... - (AARCH64_FL_FOR_V9_2A): ...this. - (AARCH64_FL_FOR_ARCH9_3): Rename to... - (AARCH64_FL_FOR_V9_3A): ...this. - * common/config/aarch64/aarch64-common.cc (all_cores): Update - accordingly. - * config/aarch64/aarch64-arches.def: Likewise. - * config/aarch64/aarch64-cores.def: Likewise. - * config/aarch64/aarch64.cc (all_cores): Likewise. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.h (AARCH64_FL_V8_1, AARCH64_FL_V8_2) - (AARCH64_FL_V8_3, AARCH64_FL_V8_4, AARCH64_FL_V8_5, AARCH64_FL_V8_6) - (AARCH64_FL_V9, AARCH64_FL_V8_7, AARCH64_FL_V8_8, AARCH64_FL_V9_1) - (AARCH64_FL_V9_2, AARCH64_FL_V9_3): Add "A" to the end of the name. - (AARCH64_FL_V8_R): Rename to AARCH64_FL_V8R. - (AARCH64_FL_FOR_ARCH8_1, AARCH64_FL_FOR_ARCH8_2): Update accordingly. - (AARCH64_FL_FOR_ARCH8_3, AARCH64_FL_FOR_ARCH8_4): Likewise. - (AARCH64_FL_FOR_ARCH8_5, AARCH64_FL_FOR_ARCH8_6): Likewise. - (AARCH64_FL_FOR_ARCH8_7, AARCH64_FL_FOR_ARCH8_8): Likewise. - (AARCH64_FL_FOR_ARCH8_R, AARCH64_FL_FOR_ARCH9): Likewise. - (AARCH64_FL_FOR_ARCH9_1, AARCH64_FL_FOR_ARCH9_2): Likewise. - (AARCH64_FL_FOR_ARCH9_3, AARCH64_ISA_V8_2A, AARCH64_ISA_V8_3A) - (AARCH64_ISA_V8_4A, AARCH64_ISA_V8_5A, AARCH64_ISA_V8_6A): Likewise. - (AARCH64_ISA_V8R, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A): Likewise. - (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A): Likewise. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.h (AARCH64_ISA_V8_2, AARCH64_ISA_V8_3) - (AARCH64_ISA_V8_4, AARCH64_ISA_V8_5, AARCH64_ISA_V8_6) - (AARCH64_ISA_V9, AARCH64_ISA_V9_1, AARCH64_ISA_V9_2) - (AARCH64_ISA_V9_3): Add "A" to the end of the name. - (AARCH64_ISA_V8_R): Rename to AARCH64_ISA_V8R. - (TARGET_ARMV8_3, TARGET_JSCVT, TARGET_FRINT, TARGET_MEMTAG): Update - accordingly. - * common/config/aarch64/aarch64-common.cc - (aarch64_get_extension_string_for_isa_flags): Likewise. - * config/aarch64/aarch64-c.cc - (aarch64_define_unconditional_macros): Likewise. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * Makefile.in (GTFILES): Add OPTIONS_H_EXTRA. - -2022-09-29 Jakub Jelinek <jakub@redhat.com> - - PR bootstrap/107059 - * cppdefault.cc (cpp_include_defaults): If SYSROOT_HEADERS_SUFFIX_SPEC - isn't defined, add FIXED_INCLUDE_DIR entry with multilib flag 2 - before FIXED_INCLUDE_DIR entry with multilib flag 0. - * gcc.cc (do_spec_1): If multiarch_dir, add - include-fixed/multiarch_dir paths before include-fixed paths. - -2022-09-29 Martin Liska <mliska@suse.cz> - - PR driver/106897 - * common.opt: Add -gz=zstd value. - * configure.ac: Detect --compress-debug-sections=zstd - for both linker and assembler. - * configure: Regenerate. - * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Handle -gz=zstd. - (ASM_COMPRESS_DEBUG_SPEC): Likewise. - -2022-09-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105646 - * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute - the set of fallthru reachable blocks from function entry - and use that to determine wlims.always_executed. - -2022-09-29 liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/107055 - * tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for - nonlinear induction variables. - * tree-vect-loop.cc (vect_can_peel_nonlinear_iv_p): New - functions. - (vectorizable_nonlinear_induction): Put part codes into - vect_can_peel_nonlinear_iv_p. - * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Declare. - -2022-09-28 Eugene Rozenfeld <erozen@microsoft.com> - - * basic-block.h: Remove discriminator from basic blocks. - * cfghooks.cc (split_block_1): Remove discriminator from basic blocks. - * final.cc (final_start_function_1): Switch from per-bb to per statement - discriminator. - (final_scan_insn_1): Don't keep track of basic block discriminators. - (compute_discriminator): Switch from basic block discriminators to - instruction discriminators. - (insn_discriminator): New function to return instruction discriminator. - (notice_source_line): Use insn_discriminator. - * gimple-pretty-print.cc (dump_gimple_bb_header): Remove dumping of - basic block discriminators. - * gimple-streamer-in.cc (input_bb): Remove reading of basic block - discriminators. - * gimple-streamer-out.cc (output_bb): Remove writing of basic block - discriminators. - * input.cc (make_location): Pass 0 discriminator to COMBINE_LOCATION_DATA. - (location_with_discriminator): New function to combine locus with - a discriminator. - (has_discriminator): New function to check if a location has a discriminator. - (get_discriminator_from_loc): New function to get the discriminator - from a location. - * input.h: Declarations of new functions. - * lto-streamer-in.cc (cmp_loc): Use discriminators in location comparison. - (apply_location_cache): Keep track of current discriminator. - (input_location_and_block): Read discriminator from stream. - * lto-streamer-out.cc (clear_line_info): Set current discriminator to - UINT_MAX. - (lto_output_location_1): Write discriminator to stream. - * lto-streamer.h: Add discriminator to cached_location. - Add current_discr to lto_location_cache. - Add current_discr to output_block. - * print-rtl.cc (print_rtx_operand_code_i): Print discriminator. - * rtl.h: Add extern declaration of insn_discriminator. - * tree-cfg.cc (assign_discriminator): New function to assign a unique - discriminator value to all statements in a basic block that have the given - line number. - (assign_discriminators): Assign discriminators to statement locations. - * tree-pretty-print.cc (dump_location): Dump discriminators. - * tree.cc (set_block): Preserve discriminator when setting block. - (set_source_range): Preserve discriminator when setting source range. - -2022-09-28 H.J. Lu <hjl.tools@gmail.com> - - PR target/107061 - * config/i386/predicates.md (encodekey128_operation): Check - XMM4-XMM6 as clobbered. - (encodekey256_operation): Likewise. - * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6. - (encodekey256u32): Likewise. - -2022-09-28 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * config.gcc: Add riscv-vector-builtins.o. - * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV builtin function. - * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): New function. - * config/riscv/riscv.cc (ENTRY): New macro. - (riscv_v_ext_enabled_vector_mode_p): New function. - (riscv_mangle_type): Add RVV mangle. - (riscv_vector_mode_supported_p): Adjust RVV machine mode. - (riscv_verify_type_context): Add context check for RVV. - (riscv_vector_alignment): Add RVV alignment target hook support. - (TARGET_VECTOR_MODE_SUPPORTED_P): New target hook support. - (TARGET_VERIFY_TYPE_CONTEXT): Ditto. - (TARGET_VECTOR_ALIGNMENT): Ditto. - * config/riscv/t-riscv: Add riscv-vector-builtins.o - * config/riscv/riscv-vector-builtins.cc: New file. - * config/riscv/riscv-vector-builtins.def: New file. - * config/riscv/riscv-vector-builtins.h: New file. - * config/riscv/riscv-vector-switch.def: New file. - -2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * var-tracking.cc (vt_add_function_parameter): Add entry values - up to maximal register mode. - -2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * cselib.cc (new_cselib_val): Keep track of further subvalue - relations. - -2022-09-28 Andrea Corallo <andrea.corallo@arm.com> - - * config/arm/arm-c.cc (arm_cpu_builtins): Define - __ARM_FEATURE_AES and __ARM_FEATURE_SHA2. - -2022-09-28 Xi Ruoyao <xry111@xry111.site> - - PR tree-optimization/105414 - * config/loongarch/loongarch.md (UNSPEC_FMAX): New unspec. - (UNSPEC_FMIN): Likewise. - (fmax<mode>3): Use UNSPEC_FMAX instead of smax. - (fmin<mode>3): Use UNSPEC_FMIN instead of smin. - -2022-09-28 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): - Fixed typo in "asan_mapping.h". - -2022-09-28 H.J. Lu <hjl.tools@gmail.com> - - PR middle-end/58245 - * calls.cc: Include "tree-eh.h". - (expand_call): Check stack canary before throwing exception. - -2022-09-27 Eugene Rozenfeld <erozen@microsoft.com> - - * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison. - -2022-09-27 Kim Kuparinen <kim.kuparinen@rightware.com> - - * doc/invoke.texi: Update ABI version info. - -2022-09-27 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a - singleton. - -2022-09-27 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (irange::set_nonzero_bits): Set range when known. - -2022-09-27 Aldy Hernandez <aldyh@redhat.com> - - * value-range.h (irange::set): New version taking wide_int_ref. - -2022-09-27 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107029 - * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): Treat - OFFSET_TYPE like POINTER_TYPE, except that OFFSET_TYPE may be - signed and so can trigger even the (b % 4) == 3 case. - -2022-09-27 Jeff Law <jeffreyalaw@gmail.com> - - * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return - and return are available before trying to use them. - -2022-09-27 Jakub Jelinek <jakub@redhat.com> - - PR c++/106652 - PR c++/85518 - * tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE - enumerator. - * tree.h (float128t_type_node): Define. - * tree.cc (build_common_tree_nodes): Initialize float128t_type_node. - * builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that - _Float<N> is supported in C++ too. - * config/i386/i386.cc (ix86_mangle_type): Only mangle as "g" - float128t_type_node. - * config/i386/i386-builtins.cc (ix86_init_builtin_types): Use - float128t_type_node for __float128 instead of float128_type_node - and create it if NULL. - * config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph, - _mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of - 0.0f. - * config/ia64/ia64.cc (ia64_init_builtins): Use - float128t_type_node for __float128 instead of float128_type_node - and create it if NULL. - * config/rs6000/rs6000-c.cc (is_float128_p): Also return true - for float128t_type_node if non-NULL. - * config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle - float128_type_node as "u9__ieee128". - * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use - float128t_type_node for __float128 instead of float128_type_node - and create it if NULL. - -2022-09-26 Martin Liska <mliska@suse.cz> - - * doc/invoke.texi: Add missing dash for - Wanalyzer-exposure-through-uninit-copy. - -2022-09-26 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107009 - * range-op.cc (operator_bitwise_and::op1_range): Optimize 0 = x & MASK. - (range_op_bitwise_and_tests): New test. - -2022-09-26 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107009 - * tree-ssa-dom.cc - (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): - Iterate over exports. - -2022-09-26 Thomas Schwinge <thomas@codesourcery.com> - - * config.gcc (with_arch) [nvptx]: Allow '--with-arch' to override - the default. - * config/nvptx/gen-multilib-matches.sh: New. - * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES) - (MULTILIB_EXCEPTIONS): Handle this. - * doc/install.texi (Specific) <nvptx-*-none>: Document this. - * doc/invoke.texi (Nvidia PTX Options): Likewise. - -2022-09-26 Thomas Schwinge <thomas@codesourcery.com> - - * config.gcc (TM_MULTILIB_CONFIG) [nvptx]: Set to '$with_arch'. - * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES) - (MULTILIB_EXCEPTIONS): Handle it. - -2022-09-26 Thomas Schwinge <thomas@codesourcery.com> - - * config.gcc (with_arch) [nvptx]: Set to 'sm_30'. - * config/nvptx/nvptx.cc (nvptx_option_override): Assert that - '-misa' appeared. - * config/nvptx/nvptx.h (OPTION_DEFAULT_SPECS): Define. - * config/nvptx/nvptx.opt (misa=): Remove 'Init'. - -2022-09-26 Thomas Schwinge <thomas@codesourcery.com> - - * config/nvptx/nvptx.h (ASM_SPEC): Define. - -2022-09-26 Jeff Law <jeffreyalaw@gmail.com> - - * cfgcleanup.cc (bb_is_just_return): No longer static. - * cfgcleanup.h (bb_is_just_return): Add prototype. - * cfgrtl.cc (fixup_reorder_chain): Do not create an - unconditional jump to a return block. Conditionally - remove unreachable blocks. - -2022-09-26 Tobias Burnus <tobias@codesourcery.com> - - PR middle-end/106982 - * omp-low.cc (lower_oacc_reductions): Add some unshare_expr. - -2022-09-26 Martin Liska <mliska@suse.cz> - - * config/s390/s390.cc (s390_rtx_costs): Remove dest variable - and use only dst. - -2022-09-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * config/aarch64/aarch64-arches.def (armv9.1-a): Define. - (armv9.2-a): Likewise. - (armv9.3-a): Likewise. - * config/aarch64/aarch64.h (AARCH64_FL_V9_1): Likewise. - (AARCH64_FL_V9_2): Likewise. - (AARCH64_FL_V9_3): Likewise. - (AARCH64_FL_FOR_ARCH9_1): Likewise. - (AARCH64_FL_FOR_ARCH9_2): Likewise. - (AARCH64_FL_FOR_ARCH9_3): Likewise. - (AARCH64_ISA_V9_1): Likewise. - (AARCH64_ISA_V9_2): Likewise. - (AARCH64_ISA_V9_3): Likewise. - * doc/invoke.texi (AArch64 Options): Document armv9.1-a, armv9.2-a, - armv9.3-a values to -march. - -2022-09-26 Martin Liska <mliska@suse.cz> - - * value-range.cc (tree_compare): Remove unused function. - -2022-09-26 Kewen Lin <linkw@linux.ibm.com> - - PR target/96072 - * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the - condition for adding REG_CFA_DEF_CFA reg note with - frame_pointer_needed_indeed. - -2022-09-26 Kewen Lin <linkw@linux.ibm.com> - - PR target/100645 - * config/rs6000/vector.md (vec_shr_<mode>): Replace condition - TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P. - -2022-09-26 Hongtao Liu <hongtao.liu@intel.com> - Liwei Xu <liwei.xu@intel.com> - - PR target/53346 - * config/i386/i386-expand.cc (expand_vec_perm_shufps_shufps): - New function. - (ix86_expand_vec_perm_const_1): Insert - expand_vec_perm_shufps_shufps at the end of 2-instruction - expand sequence. - -2022-09-25 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * doc/sourcebuild.texi: Fix chapter level. - -2022-09-24 Jakub Jelinek <jakub@redhat.com> - - PR c/107001 - * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement - at the end. - * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA - is not stand-alone directive. For GIMPLE_OMP_TASKGROUP, also don't - update parent. - (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset - cur_region back after new_omp_region. - -2022-09-23 Vineet Gupta <vineetg@rivosinc.com> - - * config/riscv/riscv.h (LOCAL_SYM_P): New. - (USE_LOAD_ADDRESS_MACRO): Simplify by calling LOCAL_SYM_P. - -2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add RVV mask modes. - (ADJUST_NUNITS): Adjust nunits using riscv_vector_chunks. - (ADJUST_ALIGNMENT): Adjust alignment. - (ADJUST_BYTESIZE): Adjust bytesize using riscv_vector_chunks. - (RVV_MODES): New macro. - (VECTOR_MODE_WITH_PREFIX): Add RVV vector modes. - (VECTOR_MODES_WITH_PREFIX): Add RVV vector modes. - -2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai> - - * common/config/riscv/riscv-common.cc: Change "static void" to "void". - * config.gcc: Add riscv-selftests.o - * config/riscv/predicates.md: Allow const_poly_int. - * config/riscv/riscv-protos.h (riscv_reinit): New function. - (riscv_parse_arch_string): change as exten function. - (riscv_run_selftests): New function. - * config/riscv/riscv.cc (riscv_cannot_force_const_mem): Don't allow poly - into const pool. - (riscv_report_v_required): New function. - (riscv_expand_op): New function. - (riscv_expand_mult_with_const_int): New function. - (riscv_legitimize_poly_move): Ditto. - (riscv_legitimize_move): New function. - (riscv_hard_regno_mode_ok): Add VL/VTYPE register allocation and fix - vector RA. - (riscv_convert_vector_bits): Fix riscv_vector_chunks configuration for - -marh no 'v'. - (riscv_reinit): New function. - (TARGET_RUN_TARGET_SELFTESTS): New target hook support. - * config/riscv/t-riscv: Add riscv-selftests.o. - * config/riscv/riscv-selftests.cc: New file. - -2022-09-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106922 - * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow - an arbitrary number of same valued skipped stores. - -2022-09-23 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::set): Swap setters such that the one - accepting REAL_VALUE_TYPE does all the work. - -2022-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * config/aarch64/aarch64-cores.def (neoverse-v2): New entry. - (demeter): Update tunings to neoversev2. - * config/aarch64/aarch64-tune.md: Regenerate. - * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to - neoversev2_addrcost_table. - (demeter_regmove_cost): Rename to neoversev2_addrcost_table. - (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost. - (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost. - (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info. - (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info. - (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info. - (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info. - Update references to above. - (demeter_vector_cost): Rename to neoversev2_vector_cost. - (demeter_tunings): Rename to neoversev2_tunings. - (aarch64_vec_op_count::rename_cycles_per_iter): Use - neoversev2_sve_issue_info instead of demeter_sve_issue_info. - * doc/invoke.texi (AArch64 Options): Document neoverse-v2. - -2022-09-23 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (build_le): Use vrp_val_*. - (build_lt): Same. - (build_ge): Same. - (build_gt): Same. - * value-range.cc (frange::set): Chop ranges outside of the - representable numbers for -ffinite-math-only. - (frange::normalize_kind): Use vrp_val*. - (frange::verify_range): Same. - (frange::set_nonnegative): Same. - (range_tests_floats): Remove tests that depend on -INF and +INF. - * value-range.h (real_max_representable): Add prototype. - (real_min_representable): Same. - (vrp_val_max): Set max representable number for - -ffinite-math-only. - (vrp_val_min): Same but for min. - (frange::set_varying): Use vrp_val*. - -2022-09-23 Aldy Hernandez <aldyh@redhat.com> - - * real.cc (debug): New. - -2022-09-23 Aldy Hernandez <aldyh@redhat.com> - - * value-range-pretty-print.cc (vrange_printer::print_real_value): New. - (vrange_printer::visit): Call print_real_value. - * value-range-pretty-print.h: New print_real_value. - -2022-09-23 Martin Liska <mliska@suse.cz> - - * common.opt: Update -flto-compression-level documentation. - * opts.cc (print_filtered_help): Do not append range to an - option that uses \t syntax. - -2022-09-23 Jakub Jelinek <jakub@redhat.com> - - * attribs.cc (decl_attributes): Improve diagnostics, instead of - saying expected between 1 and 1, found 2 just say expected 1, found 2. - -2022-09-23 Hu, Lin1 <lin1.hu@intel.com> - - PR target/94962 - * config/i386/constraints.md (BH): New define_constraint. - * config/i386/i386.cc (standard_sse_constant_p): Add return - 3/4 when operand matches new predicate. - (standard_sse_constant_opcode): Add new alternative branch to - return "vpcmpeqd". - * config/i386/predicates.md - (vector_all_ones_zero_extend_half_operand): New define_predicate. - (vector_all_ones_zero_extend_quarter_operand): Ditto. - * config/i386/sse.md: Add constraint to insn "mov<mode>_internal". - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (range_of_range_op): Handle no operands. - (range_of_call): Do not check for builtins. - (fold_using_range::range_of_builtin_call): Delete. - (fold_using_range::range_of_builtin_int_call): Delete. - * gimple-range-fold.h: Adjust prototypes. - * gimple-range-op.cc (class cfn_parity): New. - (gimple_range_op_handler::maybe_builtin_call): Set arguments. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (range_of_builtin_int_call): Remove case - for CFN_GOACC_DIM_*. - * gimple-range-op.cc (class cfn_goacc_dim): New. - (gimple_range_op_handler::maybe_builtin_call): Set arguments. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (range_of_builtin_int_call): Remove case - for CFN_BUILT_IN_STRLEN. - * gimple-range-op.cc (class cfn_strlen): New. - (gimple_range_op_handler::maybe_builtin_call): Set arguments. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (range_of_builtin_ubsan_call): Delete. - (range_of_builtin_int_call): Remove cases for - CFN_BUILT_IN_UBSAN_CHECK. - * gimple-range-op.cc (class cfn_ubsan): New. - (gimple_range_op_handler::maybe_builtin_call): Set arguments. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (range_of_builtin_int_call): Remove case - for CFN_BUILT_IN_CLRSB. - * gimple-range-op.cc (class cfn_clrsb): New. - (gimple_range_op_handler::maybe_builtin_call): Set arguments. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (range_of_builtin_int_call): Remove case - for CFN_CTZ. - * gimple-range-op.cc (class cfn_ctz): New. - (gimple_range_op_handler::maybe_builtin_call): Set arguments. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (range_of_builtin_int_call): Remove case - for CFN_CLZ. - * gimple-range-op.cc (class cfn_clz): New. - (gimple_range_op_handler::maybe_builtin_call): Set arguments. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (range_of_builtin_int_call): Remove case - for CFN_FFS and CFN_POPCOUNT. - * gimple-range-op.cc (class cfn_pocount): New. - (gimple_range_op_handler::maybe_builtin_call): Set arguments. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (get_letter_range): Move to new class. - (range_of_builtin_int_call): Remove case for CFN_BUILT_IN_TOUPPER - and CFN_BUILT_IN_TOLOWER. - * gimple-range-op.cc (class cfn_toupper_tolower): New. - (gimple_range_op_handler::maybe_builtin_call): Set arguments. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (range_of_builtin_int_call): Remove case - for CFN_BUILT_IN_SIGNBIT. - * gimple-range-op.cc (class cfn_signbit): New. - (gimple_range_op_handler::maybe_builtin_call): Set arguments. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc - (fold_using_range::range_of_builtin_int_call): Remove case for - CFN_BUILT_IN_CONSTANT_P. - * gimple-range-op.cc (gimple_range_op_handler::supported_p): - Check if a call also creates a range-op object. - (gimple_range_op_handler): Also check builtin calls. - (class cfn_constant_float_p): New. Float CFN_BUILT_IN_CONSTANT_P. - (class cfn_constant_p): New. Integral CFN_BUILT_IN_CONSTANT_P. - (gimple_range_op_handler::maybe_builtin_call): Set arguments and - handler for supported built-in calls. - * gimple-range-op.h (maybe_builtin_call): New prototype. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (range_of_range_op): Set result to - VARYING if the call to fold_range fails. - * tree-data-ref.cc (compute_distributive_range): Ditto. - * tree-vrp.cc (range_fold_binary_expr): Ditto. - (range_fold_unary_expr): Ditto. - * value-query.cc (range_query::get_tree_range): Ditto. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * range-op-float.cc (range_operator_float::fold_range): New base - method for "int = float op int". - * range-op.cc (range_op_handler::fold_range): New case. - * range-op.h: Update prototypes. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use - operand 1 for second range if there is no operand 2. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * Makefile.in (OBJS): Add gimple-range-op.o. - * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Use - gimple_range_op_handler. - * gimple-range-fold.cc (gimple_range_base_of_assignment): Move - to a method in gimple_range_op_handler. - (gimple_range_operand1): Ditto. - (gimple_range_operand2): Ditto. - (fold_using_range::fold_stmt): Use gimple_range_op_handler. - (fold_using_range::range_of_range_op): Ditto. - (fold_using_range::relation_fold_and_or): Ditto. - (fur_source::register_outgoing_edges): Ditto. - (gimple_range_ssa_names): Relocate to gimple-range-op.cc. - * gimple-range-fold.h: Adjust prototypes. - * gimple-range-gori.cc (gimple_range_calc_op1): Move - to a method in gimple_range_op_handler. - (gimple_range_calc_op2): Ditto. - (gori_compute::compute_operand_range): Use - gimple_range_op_handler. - (gori_compute::compute_logical_operands): Ditto. - (compute_operand1_range): Ditto. - (gori_compute::compute_operand2_range): Ditto. - (gori_compute::compute_operand1_and_operand2_range): Ditto. - * gimple-range-gori.h: Adjust protoypes. - * gimple-range-op.cc: New. Supply gimple_range_op_handler methods. - * gimple-range-op.h: New. Supply gimple_range_op_handler class. - * gimple-range.cc (gimple_ranger::prefill_name): Use - gimple_range_op_handler. - (gimple_ranger::prefill_stmt_dependencies): Ditto. - * gimple-range.h: Include gimple-range-op.h. - * range-op.cc (range_op_handler::range_op_handler): Adjust and - remove gimple * parameter option. - * range-op.h: Adjust prototypes. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * range-op.cc (range_op_handler::set_op_handler): Set new fields. - (ange_op_handler::range_op_handler): Likewise. - (range_op_handler::operator bool): Remove. - (range_op_handler::fold_range): Use appropriate handler. - (range_op_handler::op1_range): Likewise. - (range_op_handler::op2_range): Likewise. - (range_op_handler::lhs_op1_relation): Likewise. - (range_op_handler::lhs_op2_relation): Likewise. - (range_op_handler::op1_op2_relation): Likewise. - * range-op.h (class range_op_handler): Store handler pointers. - (range_op_handler:: operator bool): Inline. - -2022-09-22 Andrew MacLeod <amacleod@redhat.com> - - * tree-ssa-threadbackward.cc - (back_threader::find_paths_to_names): Replace sequence with - a call to gimple_range_ssa_names. - -2022-09-22 Martin Liska <mliska@suse.cz> - Fangrui Song <i@maskray.me> - - * configure: Regenerate. - * configure.ac: Simplify to gcc_cv_ld_compress_debug={0,1} - and gcc_cv_as_compress_debug={0,1}. - * doc/invoke.texi: Document the removal. - * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Simplify and ignore - zlib-gnu. - (ASM_COMPRESS_DEBUG_SPEC): Likewise. - -2022-09-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106922 - * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member. - (vn_walk_cb_data::finish): Perform delayed verification of - a skipped may-alias. - (vn_reference_lookup_pieces): Likewise. - (vn_reference_lookup): Likewise. - (vn_reference_lookup_3): When skipping stores of the same - value also handle constant stores that are more than a - single VDEF away by delaying the verification. - -2022-09-22 Max Filippov <jcmvbkbc@gmail.com> - - * config/xtensa/xtensa.cc (TARGET_MAX_ANCHOR_OFFSET): New - definition. - -2022-09-22 Max Filippov <jcmvbkbc@gmail.com> - - * config/xtensa/xtensa.cc (xtensa_can_output_mi_thunk) - (xtensa_output_mi_thunk): New functions. - (TARGET_ASM_CAN_OUTPUT_MI_THUNK) - (TARGET_ASM_OUTPUT_MI_THUNK): New macro definitions. - (xtensa_prepare_expand_call): Use fixed register a8 as temporary - when called with reload_completed set to 1. - -2022-09-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/99407 - * tree-ssa-dse.cc (dse_stmt_to_dr_map): New global. - (dse_classify_store): Use data-ref analysis to disambiguate more uses. - (pass_dse::use_dr_analysis_p): New pass parameter. - (pass_dse::set_pass_param): Implement. - (pass_dse::execute): Allocate and deallocate dse_stmt_to_dr_map. - * passes.def: Allow DR analysis for the DSE pass before loop. - -2022-09-22 Richard Biener <rguenther@suse.de> - - * tree-ssa-sccvn.cc (can_track_predicate_on_edge): New - function split out from ... - (vn_nary_op_insert_pieces_predicated): ... here. - -2022-09-22 liuhongt <hongtao.liu@intel.com> - - PR target/106994 - * config/i386/mmx.md (floorv2sf2): Fix typo, use - register_operand instead of vector_operand for operands[1]. - -2022-09-21 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/106967 - * value-range.cc (frange::set): Set known NANs to undefined for - flag_finite_math_only. - -2022-09-21 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::combine_zeros): Call set_undefined. - (frange::intersect_nans): Same. - (frange::intersect): Same. - (frange::verify_range): Undefined ranges do not have a type. - * value-range.h (frange::set_undefined): Clear NAN flags and type. - -2022-09-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106984 - * tsan.cc (instrument_builtin_call): Build the COND_EXPR condition in - a separate statement. - -2022-09-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT, - EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS): Move definitions up before - OPTION_DEFAULT_SPECS. - (MCPU_MTUNE_NATIVE_SPECS): Pass "cpu" to - local_cpu_detect when rewriting -march=native and no -mcpu or -mtune - is given. - (CONFIG_TUNE_SPEC): Define. - (OPTION_DEFAULT_SPECS): Use CONFIG_TUNE_SPEC for "tune". - -2022-09-21 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/106967 - * range-op-float.cc (foperator_equal::fold_range): Adjust for NAN. - (foperator_equal::op1_range): Same. - (foperator_not_equal::fold_range): Same. - (foperator_not_equal::op1_range): Same. - (foperator_lt::fold_range): Same. - (foperator_lt::op1_range): Same. - (foperator_lt::op2_range): Same. - (foperator_le::fold_range): Same. - (foperator_le::op1_range): Same. - (foperator_le::op2_range): Same. - (foperator_gt::fold_range): Same. - (foperator_gt::op1_range): Same. - (foperator_gt::op2_range): Same. - (foperator_ge::fold_range): Same. - (foperator_ge::op1_range): Same. - (foperator_ge::op2_range): Same. - (foperator_unordered::op1_range): Same. - (foperator_ordered::fold_range): Same. - (foperator_ordered::op1_range): Same. - (build_le): Assert that we don't have a NAN. - (build_lt): Same. - (build_gt): Same. - (build_ge): Same. - -2022-09-21 liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/106963 - * tree-vect-loop.cc (vect_create_nonlinear_iv_init): Use - vec_gen_perm_mask_any instead of vec_gen_perm_mask_check. - -2022-09-20 Aldy Hernandez <aldyh@redhat.com> - - * value-range.h (frange::maybe_isnan): Return false for - undefined ranges. - -2022-09-20 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::set_nonnegative): Set +NAN. - (range_tests_signed_zeros): New test. - * value-range.h (frange::update_nan): New overload to set NAN sign. - -2022-09-20 Richard Sandiford <richard.sandiford@arm.com> - - PR target/106491 - * config/aarch64/aarch64-sve-builtins.cc (scalar_types) - (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY - markup to (new) extern declarations instead of to the main - definition. - -2022-09-20 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/106794 - PR tree-optimization/106914 - * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost): - Only consider loads that already have a permutation. - (vect_optimize_slp_pass::start_choosing_layouts): Assert that - loads with permutations are leaf nodes. Prevent any kind of grouped - access from changing layout if it doesn't have a load permutation. - -2022-09-20 Richard Sandiford <richard.sandiford@arm.com> - - * tree-vect-data-refs.cc (vect_check_gather_scatter): Restrict - early-out optimisation to SSA_NAMEs. - -2022-09-20 Martin Liska <mliska@suse.cz> - - * ctfc.cc (ctf_add_string): Replace "the the" with "the". - * doc/md.texi: Likewise. - * gimple-range-infer.cc (non_null_loadstore): Likewise. - -2022-09-20 liuhongt <hongtao.liu@intel.com> - - PR target/106910 - * config/i386/mmx.md (nearbyintv2sf2): New expander. - (rintv2sf2): Ditto. - (ceilv2sf2): Ditto. - (lceilv2sfv2si2): Ditto. - (floorv2sf2): Ditto. - (lfloorv2sfv2si2): Ditto. - (btruncv2sf2): Ditto. - (lrintv2sfv2si2): Ditto. - (roundv2sf2): Ditto. - (lroundv2sfv2si2): Ditto. - (*mmx_roundv2sf2): New define_insn. - -2022-09-20 konglin1 <lingling.kong@intel.com> - - PR middle-end/105735 - * tree-scalar-evolution.cc - (analyze_and_compute_bitop_with_inv_effect): New function. - (final_value_replacement_loop): Enhanced to handle bitop - with inv induction. - -2022-09-20 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): For - -static-pie, pass -static -pie --no-dynamic-linker -z text to - the linker, and do not pass --dynamic-linker. - -2022-09-20 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::flush_denormals_to_zero): New. - (frange::set): Call flush_denormals_to_zero. - * value-range.h (class frange): Add flush_denormals_to_zero. - -2022-09-20 liuhongt <hongtao.liu@intel.com> - - * config/i386/x86-tune-sched.cc (ix86_issue_rate): Adjust for - latest Intel processors. - -2022-09-20 konglin1 <lingling.kong@intel.com> - - PR target/106887 - * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): - Fixed V16BF mode case. - -2022-09-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * targhooks.cc (default_zero_call_used_regs): Improve sorry - message. - -2022-09-18 Julian Brown <julian@codesourcery.com> - - * gimplify.cc (omp_segregate_mapping_groups): Update comment. - (gimplify_adjust_omp_clauses): Move ATTACH and - ATTACH_ZERO_LENGTH_ARRAY_SECTION nodes to the end of the clause list - for offloaded OpenMP regions. - -2022-09-18 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/106831 - * value-range.cc (frange::singleton_p): Avoid propagating long - doubles that may have multiple representations. - -2022-09-18 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (frange_add_zeros): Replace set_signbit with - union of zero. - * value-query.cc (range_query::get_tree_range): Remove set_signbit - use. - * value-range-pretty-print.cc (vrange_printer::print_frange_prop): - Remove. - (vrange_printer::print_frange_nan): New. - * value-range-pretty-print.h (print_frange_prop): Remove. - (print_frange_nan): New. - * value-range-storage.cc (frange_storage_slot::set_frange): Set - kind and NAN fields. - (frange_storage_slot::get_frange): Restore kind and NAN fields. - * value-range-storage.h (class frange_storage_slot): Add kind and - NAN fields. - * value-range.cc (frange::update_nan): Remove. - (frange::set_signbit): Remove. - (frange::set): Adjust for NAN fields. - (frange::normalize_kind): Remove m_props. - (frange::combine_zeros): New. - (frange::union_nans): New. - (frange::union_): Handle new NAN fields. - (frange::intersect_nans): New. - (frange::intersect): Handle new NAN fields. - (frange::operator=): Same. - (frange::operator==): Same. - (frange::contains_p): Same. - (frange::singleton_p): Remove special case for signed zeros. - (frange::verify_range): Adjust for new NAN fields. - (frange::set_zero): Handle signed zeros. - (frange::set_nonnegative): Same. - (range_tests_nan): Adjust tests. - (range_tests_signed_zeros): Same. - (range_tests_signbit): Same. - (range_tests_floats): Same. - * value-range.h (class fp_prop): Remove. - (FP_PROP_ACCESSOR): Remove. - (class frange_props): Remove - (frange::lower_bound): NANs don't have endpoints. - (frange::upper_bound): Same. - (frange_props::operator==): Remove. - (frange_props::union_): Remove. - (frange_props::intersect): Remove. - (frange::update_nan): New. - (frange::clear_nan): New. - (frange::undefined_p): New. - (frange::set_nan): New. - (frange::known_finite): Adjust for new NAN representation. - (frange::maybe_isnan): Same. - (frange::known_isnan): Same. - (frange::signbit_p): Same. - * gimple-range-fold.cc (range_of_builtin_int_call): Rename - known_signbit_p into signbit_p. - -2022-09-17 Jan-Benedict Glaw <jbglaw@lug-owl.de> - - * config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int) - to prevent warning. - -2022-09-17 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106958 - * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): If - id >= l, cast op to type1, otherwise to pointer_sized_int_node. - If type has pointer type, cast exp to pointer_sized_int_node - even when id < l. - -2022-09-16 liuhongt <hongtao.liu@intel.com> - - PR target/106910 - * config/i386/i386-builtins.cc - (ix86_builtin_vectorized_function): Modernized with - corresponding expanders. - * config/i386/sse.md (lrint<mode><sseintvecmodelower>2): New - expander. - (floor<mode>2): Ditto. - (lfloor<mode><sseintvecmodelower>2): Ditto. - (ceil<mode>2): Ditto. - (lceil<mode><sseintvecmodelower>2): Ditto. - (btrunc<mode>2): Ditto. - (lround<mode><sseintvecmodelower>2): Ditto. - (exp2<mode>2): Ditto. - -2022-09-15 Joseph Myers <joseph@codesourcery.com> - - * ginclude/float.h (INFINITY): Define only if - [__FLT_HAS_INFINITY__]. - -2022-09-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106922 - * tree-ssa-pre.cc (translate_vuse_through_block): Only - keep the VUSE if its def dominates PHIBLOCK. - (prune_clobbered_mems): Rewrite logic so we check whether - a value dies in a block when the VUSE def doesn't dominate it. - -2022-09-15 Richard Biener <rguenther@suse.de> - - * tree.cc (build_common_tree_nodes): Initialize void_list_node - here. - -2022-09-15 Jiufu Guo <guojiufu@linux.ibm.com> - - PR target/106550 - * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Use pli. - -2022-09-14 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (frange_add_zeros): New. - (build_le): Call frange_add_zeros. - (build_ge): Same. - (foperator_equal::op1_range): Same. - (foperator_not_equal::op1_range): Same. - -2022-09-14 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (build_le): Accept frange instead of number. - (build_lt): Same. - (build_ge): Same. - (build_gt): Same. - (foperator_lt::op1_range): Pass full range to build_*. - (foperator_lt::op2_range): Same. - (foperator_le::op1_range): Same. - (foperator_le::op2_range): Same. - (foperator_gt::op1_range): Same. - (foperator_gt::op2_range): Same. - (foperator_ge::op1_range): Same. - (foperator_ge::op2_range): Same. - -2022-09-14 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::set): Use set_nan. - * value-range.h (frange::set_nan): Inline code originally in - set(). - -2022-09-14 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (frange_set_nan): Remove. - (build_lt): Use set_nan, update_nan, clear_nan. - (build_gt): Same. - (foperator_equal::op1_range): Same. - (foperator_not_equal::op1_range): Same. - (foperator_lt::op1_range): Same. - (foperator_lt::op2_range): Same. - (foperator_le::op1_range): Same. - (foperator_le::op2_range): Same. - (foperator_gt::op1_range): Same. - (foperator_gt::op2_range): Same. - (foperator_ge::op1_range): Same. - (foperator_ge::op2_range): Same. - (foperator_unordered::op1_range): Same. - (foperator_ordered::op1_range): Same. - * value-query.cc (range_query::get_tree_range): Same. - * value-range.cc (frange::set_nan): Same. - (frange::update_nan): Same. - (frange::union_): Same. - (frange::intersect): Same. - (range_tests_nan): Same. - (range_tests_signed_zeros): Same. - (range_tests_signbit): Same. - (range_tests_floats): Same. - * value-range.h (class frange): Add update_nan and clear_nan. - (frange::set_nan): New. - -2022-09-14 Aldy Hernandez <aldyh@redhat.com> - - * value-query.cc (range_query::get_tree_range): Remove check for overflow. - * value-range-pretty-print.cc (vrange_printer::visit): Move read - of type until after undefined_p is checked. - * value-range.cc (frange::set): Remove asserts for REAL_CST. - (frange::contains_p): Tidy up. - (range_tests_nan): Add comment. - * value-range.h (frange::type): Check for undefined_p. - (frange::set_undefined): Remove set of endpoints. - -2022-09-14 Julian Brown <julian@codesourcery.com> - - * gimplify.cc (omp_group_last): Allow GOMP_MAP_ATTACH_DETACH after - GOMP_MAP_STRUCT (for reindexing). - (omp_gather_mapping_groups): Reimplement using... - (omp_gather_mapping_groups_1): This new function. Stop processing at - GATHER_SENTINEL. - (omp_group_base): Allow GOMP_MAP_TO_PSET without any following node. - (omp_index_mapping_groups): Reimplement using... - (omp_index_mapping_groups_1): This new function. Handle - REINDEX_SENTINEL. - (omp_reindex_mapping_groups, omp_mapped_by_containing_struct): New - functions. - (omp_tsort_mapping_groups_1): Adjust handling of base group being the - same as current group. Use omp_mapped_by_containing_struct. - (omp_build_struct_sibling_lists): Use omp_mapped_by_containing_struct - and omp_reindex_mapping_groups. Robustify group deletion for reordered - lists. - (gimplify_scan_omp_clauses): Update calls to - omp_build_struct_sibling_lists. - -2022-09-14 Julian Brown <julian@codesourcery.com> - - * gimplify.cc (gimplify_omp_var_data): Remove GOVD_MAP_HAS_ATTACHMENTS. - (GOMP_FIRSTPRIVATE_IMPLICIT): Renumber. - (insert_struct_comp_map): Refactor function into... - (build_omp_struct_comp_nodes): This new function. Remove list handling - and improve self-documentation. - (extract_base_bit_offset): Remove BASE_REF, OFFSETP parameters. Move - code to strip outer parts of address out of function, but strip no-op - conversions. - (omp_mapping_group): Add DELETED field for use during reindexing. - (omp_strip_components_and_deref, omp_strip_indirections): New functions. - (omp_group_last, omp_group_base): Add GOMP_MAP_STRUCT handling. - (omp_gather_mapping_groups): Initialise DELETED field for new groups. - (omp_index_mapping_groups): Notice DELETED groups when (re)indexing. - (omp_siblist_insert_node_after, omp_siblist_move_node_after, - omp_siblist_move_nodes_after, omp_siblist_move_concat_nodes_after): New - helper functions. - (omp_accumulate_sibling_list): New function to build up GOMP_MAP_STRUCT - node groups for sibling lists. Outlined from gimplify_scan_omp_clauses. - (omp_build_struct_sibling_lists): New function. - (gimplify_scan_omp_clauses): Remove struct_map_to_clause, - struct_seen_clause, struct_deref_set. Call - omp_build_struct_sibling_lists as pre-pass instead of handling sibling - lists in the function's main processing loop. - (gimplify_adjust_omp_clauses_1): Remove GOVD_MAP_HAS_ATTACHMENTS - handling, unused now. - * omp-low.cc (scan_sharing_clauses): Handle pointer-type indirect - struct references, and references to pointers to structs also. - -2022-09-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106938 - * tree-cfg.cc (execute_fixup_cfg): Purge dead abnormal - edges for all last stmts in a block. Do EH cleanup - only on the last stmt in a block. - -2022-09-14 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/106936 - * value-query.cc (range_query::get_value_range): Remove assert. - -2022-09-14 Jan-Benedict Glaw <jbglaw@lug-owl.de> - - * config/mips/mips.cc (mips_option_override): Drop unused variable. - -2022-09-14 Julian Brown <julian@codesourcery.com> - - * gimplify.cc (is_or_contains_p, omp_target_reorder_clauses): Delete - functions. - (omp_tsort_mark): Add enum. - (omp_mapping_group): Add struct. - (debug_mapping_group, omp_get_base_pointer, omp_get_attachment, - omp_group_last, omp_gather_mapping_groups, omp_group_base, - omp_index_mapping_groups, omp_containing_struct, - omp_tsort_mapping_groups_1, omp_tsort_mapping_groups, - omp_segregate_mapping_groups, omp_reorder_mapping_groups): New - functions. - (gimplify_scan_omp_clauses): Call above functions instead of - omp_target_reorder_clauses, unless we've seen an error. - * omp-low.cc (scan_sharing_clauses): Avoid strict test if we haven't - sorted mapping groups. - -2022-09-14 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106878 - * tree-cfg.cc (verify_gimple_assign_binary): Disallow pointer, - reference or OFFSET_TYPE BIT_IOR_EXPR, BIT_XOR_EXPR or, unless - the second argument is INTEGER_CST, BIT_AND_EXPR. - * match.pd ((type) X op CST -> (type) (X op ((type-x) CST)), - (type) (((type2) X) op Y) -> (X op (type) Y)): Punt for - POINTER_TYPE_P or OFFSET_TYPE. - * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): For - pointers cast them to pointer sized integers first. - -2022-09-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106934 - * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs - of bitfields. - (maybe_rewrite_mem_ref_base): Likewise. - -2022-09-14 liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/106905 - * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return - false when !vect_use_loop_mask_for_alignment_p (loop_vinfo) && - LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) < 0. - -2022-09-13 Roger Sayle <roger@nextmovesoftware.com> - - PR target/106877 - * reg-stack.cc (move_for_stack_reg): Check for any_malformed_asm - in gcc_assert. - -2022-09-13 Max Filippov <jcmvbkbc@gmail.com> - - Revert: - 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P): - New macro definition. - (xtensa_constant_ok_for_cprop_p): - Implement the hook as mentioned above. - -2022-09-13 Kewen Lin <linkw@linux.ibm.com> - - PR target/104482 - * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix - the equality check for argument number, and move this hunk ahead. - -2022-09-13 Kewen.Lin <linkw@gcc.gnu.org> - - PR target/105485 - * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add - the handling for unresolved overloaded builtin function. - (rs6000_expand_builtin): Likewise. - -2022-09-13 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.cc (class rs6000_cost_data): Add new members - m_nstores, m_reduc_factor, m_gather_load and member function - determine_suggested_unroll_factor. - (rs6000_cost_data::update_target_cost_per_stmt): Update for m_nstores, - m_reduc_factor and m_gather_load. - (rs6000_cost_data::determine_suggested_unroll_factor): New function. - (rs6000_cost_data::finish_cost): Use determine_suggested_unroll_factor. - * config/rs6000/rs6000.opt (rs6000-vect-unroll-limit): New parameter. - (rs6000-vect-unroll-issue): Likewise. - (rs6000-vect-unroll-reduc-threshold): Likewise. - * doc/invoke.texi (rs6000-vect-unroll-limit): Document new parameter. - -2022-09-13 Richard Biener <rguenther@suse.de> - - PR middle-end/106909 - * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering - flag of a unreachable call. - -2022-09-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106913 - * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set - ft_reachable on EXIT_BLOCK. - -2022-09-13 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Use - TARGET_FLOAT instead of TARGET_SIMD. - (aarch64_vectorize_related_mode): Restrict ADVSIMD handling to - TARGET_SIMD. - (aarch64_hard_regno_mode_ok): Don't allow tuples of 2 64-bit vectors - in GPRs. - (aarch64_classify_address): Treat little-endian structure moves - like big-endian for TARGET_FLOAT && !TARGET_SIMD. - (aarch64_secondary_memory_needed): New function. - (aarch64_secondary_reload): Handle 128-bit Advanced SIMD vectors - in the same way as TF, TI and TD. - (aarch64_rtx_mult_cost): Restrict ADVSIMD handling to TARGET_SIMD. - (aarch64_rtx_costs): Likewise. - (aarch64_register_move_cost): Treat a pair of 64-bit vectors - separately from a single 128-bit vector. Handle the cost implied - by aarch64_secondary_memory_needed. - (aarch64_simd_valid_immediate): Restrict ADVSIMD handling to - TARGET_SIMD. - (aarch64_expand_vec_perm_const_1): Likewise. - (TARGET_SECONDARY_MEMORY_NEEDED): New macro. - * config/aarch64/iterators.md (VTX): New iterator. - * config/aarch64/aarch64.md (arches): Add fp_q as a synonym of simd. - (arch_enabled): Adjust accordingly. - (@aarch64_reload_mov<TX:mode>): Extend to... - (@aarch64_reload_mov<VTX:mode>): ...this. - * config/aarch64/aarch64-simd.md (mov<mode>): Require TARGET_FLOAT - rather than TARGET_SIMD. - (movmisalign<mode>): Likewise. - (load_pair<DREG:mode><DREG2:mode>): Likewise. - (vec_store_pair<DREG:mode><DREG2:mode>): Likewise. - (load_pair<VQ:mode><VQ2:mode>): Likewise. - (vec_store_pair<VQ:mode><VQ2:mode>): Likewise. - (@aarch64_split_simd_mov<mode>): Likewise. - (aarch64_get_low<mode>): Likewise. - (aarch64_get_high<mode>): Likewise. - (aarch64_get_half<mode>): Likewise. Canonicalize to a move for - lowpart extracts. - (*aarch64_simd_mov<VDMOV:mode>): Require TARGET_FLOAT rather than - TARGET_SIMD. Use different w<-w and r<-w instructions for - !TARGET_SIMD. Disable immediate moves for !TARGET_SIMD but - add an alternative specifically for w<-Z. - (*aarch64_simd_mov<VQMOV:mode>): Require TARGET_FLOAT rather than - TARGET_SIMD. Likewise for the associated define_splits. Disable - FPR moves and immediate moves for !TARGET_SIMD but add an alternative - specifically for w<-Z. - (aarch64_simd_mov_from_<mode>high): Require TARGET_FLOAT rather than - TARGET_SIMD. Restrict the existing alternatives to TARGET_SIMD - but add a new r<-w one for !TARGET_SIMD. - (*aarch64_get_high<mode>): New pattern. - (load_pair_lanes<mode>): Require TARGET_FLOAT rather than TARGET_SIMD. - (store_pair_lanes<mode>): Likewise. - (*aarch64_combine_internal<mode>): Likewise. Restrict existing - w<-w, w<-r and w<-m alternatives to TARGET_SIMD but add a new w<-r - alternative for !TARGET_SIMD. - (*aarch64_combine_internal_be<mode>): Likewise. - (aarch64_combinez<mode>): Require TARGET_FLOAT rather than TARGET_SIMD. - Remove bogus arch attribute. - (*aarch64_combinez_be<mode>): Likewise. - (@aarch64_vec_concat<mode>): Require TARGET_FLOAT rather than - TARGET_SIMD. - (aarch64_combine<mode>): Likewise. - (aarch64_rev_reglist<mode>): Likewise. - (mov<mode>): Likewise. - (*aarch64_be_mov<VSTRUCT_2D:mode>): Extend to TARGET_FLOAT && - !TARGET_SIMD, regardless of endianness. Extend associated - define_splits in the same way, both for this pattern and the - ones below. - (*aarch64_be_mov<VSTRUCT_2Qmode>): Likewise. Restrict w<-w - alternative to TARGET_SIMD. - (*aarch64_be_movoi): Likewise. - (*aarch64_be_movci): Likewise. - (*aarch64_be_movxi): Likewise. - (*aarch64_be_mov<VSTRUCT_4QD:mode>): Extend to TARGET_FLOAT - && !TARGET_SIMD, regardless of endianness. Restrict w<-w alternative - to TARGET_SIMD for tuples of 128-bit vectors. - (*aarch64_be_mov<VSTRUCT_4QD:mode>): Likewise. - * config/aarch64/aarch64-ldpstp.md: Remove TARGET_SIMD condition - from DREG STP peephole. Change TARGET_SIMD to TARGET_FLOAT in - the VQ and VP_2E LDP and STP peepholes. - -2022-09-13 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-simd.md (movv8di): Remove TARGET_SIMD - condition. Likewise for the related define_split. Tweak formatting. - -2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P): - New macro definition. - (xtensa_constant_ok_for_cprop_p): - Implement the hook as mentioned above. - -2022-09-12 Joseph Myers <joseph@codesourcery.com> - - * ginclude/stdatomic.h [defined __STDC_VERSION__ && - __STDC_VERSION__ > 201710L] (ATOMIC_VAR_INIT): Do not define. - -2022-09-12 Tobias Burnus <tobias@codesourcery.com> - - * config/nvptx/mkoffload.cc (process): Replace a fatal_error by - a warning + not enabling offloading if -misa=sm_30 prevents - reverse offload. - (main): Use tool_name as progname for diagnostic. - * config/gcn/mkoffload.cc (main): Likewise. - -2022-09-12 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::set_signbit): Avoid changing sign when - already in the correct sign. - -2022-09-12 Max Filippov <jcmvbkbc@gmail.com> - - * config/xtensa/xtensa.cc (xtensa_function_value_regno_p): - Recognize all 4 return registers. - * config/xtensa/xtensa.h (GP_RETURN_REG_COUNT): New definition. - * config/xtensa/xtensa.md (untyped_call): New pattern. - -2022-09-12 Jonathan Wakely <jwakely@redhat.com> - - * doc/extend.texi (Floating Types): Fix "_float128" typo. - -2022-09-10 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_constantsynth): - Add new pattern for the abovementioned case. - -2022-09-10 Akari Takahashi <akaritakahashioss@gmail.com> - Segher Boessenkool <segher@kernel.crashing.org> - - * config/rs6000/rs6000.cc (get_memref_parts): Regularize some code. - -2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md: Rewrite the split pattern that performs - the abovementioned process so that insns that overwrite clobbered - register no longer need to be contiguous. - (DSC): Remove as no longer needed. - -2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (machine_function): New boolean member as - a flag that controls whether to emit the insns for stack pointer - adjustment inside of the pro/epilogue. - (xtensa_emit_adjust_stack_ptr): New function to share the common - codes and to emit insns if not inhibited. - (xtensa_expand_epilogue): Change to use the function mentioned - above when using the CALL0 ABI. - (xtensa_expand_prologue): Ditto. - And also change to set the inhibit flag used by - xtensa_emit_adjust_stack_ptr() to true if the stack pointer is only - used for its own adjustment. - -2022-09-09 David Malcolm <dmalcolm@redhat.com> - - * doc/invoke.texi (Static Analyzer Options): Add - -Wanalyzer-exposure-through-uninit-copy. - -2022-09-09 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (ANALYZER_OBJS): Add - analyzer/known-function-manager.o. - -2022-09-09 Tobias Burnus <tobias@codesourcery.com> - - * config/nvptx/mkoffload.cc (struct id_map): Add 'dim' member. - (record_id): Store func name without quotes, store dim separately. - (process): For GOMP_REQUIRES_REVERSE_OFFLOAD, check that -march is - at least sm_35, create '$offload_func_table' global array and init - with reverse-offload function addresses. - * config/nvptx/nvptx.cc (write_fn_proto_1, write_fn_proto): New - force_public attribute to force .visible. - (nvptx_declare_function_name): For "omp target - device_ancestor_nohost" attribut, force .visible/TREE_PUBLIC. - -2022-09-09 Tobias Burnus <tobias@codesourcery.com> - - * config/gcn/mkoffload.cc (process_asm): Create .offload_func_table, - similar to pre-existing .offload_var_table. - -2022-09-09 Joseph Myers <joseph@codesourcery.com> - - * ginclude/stddef.h [__STDC_VERSION__ > 201710L] (unreachable): - New macro. - -2022-09-09 Kewen Lin <linkw@linux.ibm.com> - - PR middle-end/106833 - * tree.cc (verify_opaque_type): New function. - (verify_type): Call verify_opaque_type for OPAQUE_TYPE. - -2022-09-09 Kwok Cheung Yeung <kcy@codesourcery.com> - - * config/gcn/gcn-builtins.def (FABSVF, LDEXPVF, LDEXPV, FREXPVF_EXP, - FREXPVF_MANT, FREXPV_EXP, FREXPV_MANT): Add new builtins. - * config/gcn/gcn-protos.h (gcn_dconst1over2pi): New prototype. - * config/gcn/gcn-valu.md (MATH_UNOP_1OR2REG, MATH_UNOP_1REG, - MATH_UNOP_TRIG): New iterators. - (math_unop): New attributes. - (<math_unop><mode>2, <math_unop><mode>2<exec>, - <math_unop><mode>2, <math_unop><mode>2<exec>, - *<math_unop><mode>2_insn, *<math_unop><mode>2<exec>_insn, - ldexp<mode>3, ldexp<mode>3<exec>, - frexp<mode>_exp2, frexp<mode>_mant2, - frexp<mode>_exp2<exec>, frexp<mode>_mant2<exec>): New instructions. - (<math_unop><mode>2, <math_unop><mode>2<exec>): New expanders. - * config/gcn/gcn.cc (init_ext_gcn_constants): Update definition of - dconst1over2pi. - (gcn_dconst1over2pi): New. - (gcn_builtin_type_index): Add entry for v64df type. - (v64df_type_node): New. - (gcn_init_builtin_types): Initialize v64df_type_node. - (gcn_expand_builtin_1): Expand new builtins to instructions. - (print_operand): Fix assembler output for 1/(2*PI) constant. - * config/gcn/gcn.md (unspec): Add new entries. - -2022-09-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106722 - * tree-predcom.cc (ref_at_iteration): Do not associate the - constant part of the offset into the MEM_REF offset - operand, across a non-zero offset. - -2022-09-09 Kito Cheng <kito.cheng@sifive.com> - - * common/config/riscv/riscv-common.cc (RISCV_USE_CUSTOMISED_MULTI_LIB): - Move forward for cover all all necessary functions for suppress - unused function warnings. - (riscv_multi_lib_check): Move forward, and tweak message to suppress - -Werror=format-diag warning. - -2022-09-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106881 - * gimple-predicate-analysis.cc (simple_control_dep_chain): - Add only non-fallthru edges and avoid the same set of edges - as compute_control_dep_chain_pdom does. - -2022-09-09 Jan-Benedict Glaw <jbglaw@lug-owl.de> - - * doc/tm.texi.in (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Document requirement - of TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT being defined as well. - * doc/tm.texi: Regenerate. - -2022-09-09 Martin Liska <mliska@suse.cz> - - * optc-save-gen.awk: Always compare array option values with memcmp. - -2022-09-08 Jonathan Wakely <jwakely@redhat.com> - - PR c++/106838 - * doc/extend.texi (Type Traits): Fix requirements. Document - __is_aggregate and __is_final. - -2022-09-08 Tim Lange <mail@tim-lange.me> - - PR analyzer/106625 - * doc/invoke.texi: - State that the checker also reasons about symbolic values. - -2022-09-08 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/106886 - * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout): - Fix copying of scalar stmts. - -2022-09-08 Chung-Lin Tang <cltang@codesourcery.com> - - * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define. - -2022-09-08 Richard Biener <rguenther@suse.de> - - PR middle-end/106870 - * gimple-harden-conditionals.cc (insert_check_and_trap): - Set the control-altering flag on the built IFN_TRAP. - * gimple.cc (gimple_build_builtin_unreachable): Likewise. - * tree-cfg.cc (handle_abnormal_edges): Set the control-altering - flag on the .ABNORMAL_DISPATCHER call. - * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid - resetting the control altering flag for ECF_NORETURN calls. - (cleanup_control_flow_bb): Set the control altering flag on - discovered noreturn calls. - * symtab-thunks.cc (expand_thunk): Set the control altering - flag for the noreturn tailcall case. - * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume - calls. - -2022-09-08 Jakub Jelinek <jakub@redhat.com> - - * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument. - Add doacross(sink:omp_cur_iteration-1) support. - (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1]. - Adjust expand_omp_ordered_sink caller. - (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is - non-NULL, set that variable to true at the start of outermost - non-collapsed loop and set it to false at the end of innermost - ordered loop. - (expand_omp_for_generic): If fd->ordered, allocate - 1 + (fd->ordered - fd->collapse) further elements in counts array. - Copy to counts + 2 + fd->ordered the counts of fd->collapse .. - fd->ordered - 1 loop if any. - -2022-09-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106881 - * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom): - Add only non-fallthru edges and avoid the same set of edges - as the caller does. - -2022-09-08 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-fold.cc - (fold_using_range::range_of_builtin_int_call): Use fpclassify like API. - * range-op-float.cc (finite_operand_p): Same. - (finite_operands_p): Same. - (foperator_lt::fold_range): Same. - (foperator_le::fold_range): Same. - (foperator_gt::fold_range): Same. - (foperator_ge::fold_range): Same. - (foperator_unordered::fold_range): Same. - (foperator_unordered::op1_range): Same. - (foperator_ordered::fold_range): Same. - * value-range.cc (frange::set_nan): Same. - (frange::set_signbit): Same. - (frange::union_): Same. - (frange::intersect): Same. - (frange::operator==): Same. - (frange::singleton_p): Same. - (frange::verify_range): Same. - (range_tests_nan): Same. - (range_tests_floats): Same. - * value-range.h(frange::known_finite): New. - (frange::maybe_inf): New. - (frange::known_inf): New. - (frange::maybe_nan): New. - (frange::known_nan): New. - (frange::known_signbit): New. - -2022-09-08 Iain Buclaw <ibuclaw@gdcproject.org> - - * config/darwin-d.cc: Include tm.h. - * config/dragonfly-d.cc: Likewise. - * config/freebsd-d.cc: Remove memmodel.h. - * config/glibc-d.cc: Likewise. - * config/netbsd-d.cc: Include tm.h. - * config/openbsd-d.cc: Likewise. - * config/sol2-d.cc: Likewise. - -2022-09-08 Christophe Lyon <christophe.lyon@arm.com> - - * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use - MVE_pred/MVE_constraint instead of mve_imm_7/Ra. - (mve_vqshluq_m_n_s<mode>): Likewise. - (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3 - instead of mve_imm_8/Rb. - (mve_vqrshrunbq_n_s<mode>): Likewise. - (mve_vqrshrntq_n_<supf><mode>): Likewise. - (mve_vqrshruntq_n_s<mode>): Likewise. - (mve_vrshrnbq_n_<supf><mode>): Likewise. - (mve_vrshrntq_n_<supf><mode>): Likewise. - (mve_vqrshrnbq_m_n_<supf><mode>): Likewise. - (mve_vqrshrntq_m_n_<supf><mode>): Likewise. - (mve_vrshrnbq_m_n_<supf><mode>): Likewise. - (mve_vrshrntq_m_n_<supf><mode>): Likewise. - (mve_vqrshrunbq_m_n_s<mode>): Likewise. - (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead - of mve_imm_selective_upto_8/Rg. - (mve_vsriq_m_n_<supf><mode>): Likewise. - -2022-09-08 Jiufu Guo <guojiufu@linux.ibm.com> - - * config/rs6000/rs6000.md (splitter for set to and_mask constants): - Use int_reg_operand (instead of int_reg_operand_not_pseudo). - (splitter for multi-insn constant loads): Ditto. - -2022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if - -mvrsave is present. - * config/rs6000/t-rtems: Add -mvrsave multilib variants for - -mcpu=e6500. - -2022-09-07 Martin Liska <mliska@suse.cz> - - * configure.ac: Restore detection of HAVE_XCOFF_DWARF_EXTRAS. - * config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it. - * configure: Regenerate. - * config.in: Regenerate. - -2022-09-07 Surya Kumari Jangala <jskumari@linux.ibm.com> - - PR rtl-optimization/105586 - * sched-rgn.cc (save_state_for_fallthru_edge): New function. - (schedule_region): Use it for all blocks. - -2022-09-07 Joseph Myers <joseph@codesourcery.com> - - * ginclude/stdalign.h [defined __STDC_VERSION__ && - __STDC_VERSION__ > 201710L]: Disable all content. - * ginclude/stdbool.h [defined __STDC_VERSION__ && __STDC_VERSION__ - > 201710L] (bool, true, false): Do not define. - -2022-09-07 Martin Liska <mliska@suse.cz> - - PR bootstrap/106855 - * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO. - * config/rs6000/rs6000.cc (rs6000_option_override_internal): - Restore usage of XCOFF_DEBUGGING_INFO. - * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore. - * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for - XCOFF_DEBUGGING_INFO. - (dw2_asm_output_nstring): Likewise. - (USE_LINKONCE_INDIRECT): Likewise. - * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise. - (HAVE_XCOFF_DWARF_EXTRAS): Likewise. - (output_fde): Likewise. - (output_call_frame_info): Likewise. - (have_macinfo): Likewise. - (add_AT_loc_list): Likewise. - (add_AT_view_list): Likewise. - (output_compilation_unit_header): Likewise. - (output_pubnames): Likewise. - (output_aranges): Likewise. - (output_line_info): Likewise. - (output_macinfo): Likewise. - (dwarf2out_finish): Likewise. - (dwarf2out_early_finish): Likewise. - -2022-09-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106866 - * tree-ssa-dce.cc (eliminate_unnecessary_stmts): When - we changed cfun->calls_setjmp make sure to purge all - abnormal call edges. - -2022-09-07 Xianmiao Qu <cooper.qu@linux.alibaba.com> - - * config/csky/csky.cc (csky_emit_compare_float): Fix the expanding of - float LE comparing with zero for fpuv3. - * config/csky/csky.h (TARGET_SUPPORT_FPV2): New, true if any fpuv2 - features are enabled. - -2022-09-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106860 - * tree-ssa-loop-split.cc (split_loop): Find the exit to - latch edge from the loop exit edge instead of from the - latch. Verify we're going to find it. - -2022-09-07 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (dfs_mark_dominating_region): - Adjust to take the region exit source as argument. - (uninit_analysis::init_from_phi_def): Adjust. - (uninit_analysis::init_use_preds): Mark the dominating region - before computing control dependences. - -2022-09-07 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.md (*mov<SHORT:mode>_aarch64): Extend - w<-w, r<-w and w<-r alternatives to !simd, using 32-bit moves - in that case. Extend w<-r to w<-Z. - (*mov<HFBF:mode>_aarch64): Likewise, but with Y instead of Z. - (*movti_aarch64): Use an FMOV from XZR for w<-Z if MOVI is not - available. - (define_split): Do not apply the floating-point immediate-to-register - split to zeros, even if MOVI is not available. - -2022-09-07 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.cc (aarch64_conditional_register_usage): - Disallow use of FPRs in register asms for !TARGET_FLOAT. - -2022-09-07 Lulu Cheng <chenglulu@loongson.cn> - - PR target/106828 - * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New. - (TARGET_ASAN_SHADOW_OFFSET): New. - -2022-09-07 Jakub Jelinek <jakub@redhat.com> - - * doc/invoke.texi (-Wno-unicode): Document. - -2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com> - - * config/rs6000/rs6000.md (const_scalar_int splitter): Remove. - -2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com> - - * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the - replacements. - -2022-09-07 liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/103144 - * tree-vect-loop.cc (vect_is_nonlinear_iv_evolution): New function. - (vect_analyze_scalar_cycles_1): Detect nonlinear iv by upper function. - (vect_create_nonlinear_iv_init): New function. - (vect_peel_nonlinear_iv_init): Ditto. - (vect_create_nonlinear_iv_step): Ditto - (vect_create_nonlinear_iv_vec_step): Ditto - (vect_update_nonlinear_iv): Ditto - (vectorizable_nonlinear_induction): Ditto. - (vectorizable_induction): Call - vectorizable_nonlinear_induction when induction_type is not - vect_step_op_add. - * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer): - Update nonlinear iv for epilogue loop. - * tree-vectorizer.h (enum vect_induction_op_type): New enum. - (STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE): New Macro. - -2022-09-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106754 - * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom): - New function, split out from compute_control_dep_chain. Handle - loop-exit like conditions here by pushing to the control vector. - (compute_control_dep_chain): Adjust and streamline dumping. - In the wrapper perform a post-dominator walk as well. - (uninit_analysis::init_use_preds): Remove premature early exit. - -2022-09-06 Max Filippov <jcmvbkbc@gmail.com> - - * config/xtensa/linux.h (LINK_SPEC): Add static-pie. - -2022-09-06 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (build_le): Handle NANs and going past infinity. - (build_lt): Same. - (build_ge): Same. - (build_gt): Same. - (foperator_lt::op1_range): Avoid adjustments to range if build_* - returned false. - (foperator_lt::op2_range): Same. - (foperator_le::op1_range): Same. - (foperator_le::op2_range): Same. - (foperator_gt::op1_range): Same. - (foperator_gt::op2_range): Same. - -2022-09-06 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (compute_control_dep_chain): - Add output flag to indicate whether we possibly have dropped - any chains. Return whether the info is complete from the - wrapping overload. - (uninit_analysis::init_use_preds): Adjust accordingly, with - a workaround for PR106754. - (uninit_analysis::init_from_phi_def): Properly guard the - case where we complete an empty chain. - -2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de> - - * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument. - -2022-09-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - * tree-ssa-forwprop.cc (simplify_permutation): Set res_type to a vector - type with same element type as arg0, and length as op2. - -2022-09-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106844 - * gimple-predicate-analysis.cc (compute_control_dep_chain): - Return whether we found a chain. - -2022-09-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106841 - * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process - scatter/gather offset. - -2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de> - - * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void). - -2022-09-06 Jakub Jelinek <jakub@redhat.com> - - * gimple.h (enum gf_mask): Add GF_OMP_ORDERED_STANDALONE enumerator. - (gimple_omp_subcode): Use GIMPLE_OMP_ORDERED instead of - GIMPLE_OMP_TEAMS as upper bound. - (gimple_omp_ordered_standalone_p, gimple_omp_ordered_standalone): New - inline functions. - * gimplify.cc (find_standalone_omp_ordered): Look for OMP_ORDERED with - NULL OMP_ORDERED_BODY rather than with OMP_DOACROSS clause. - (gimplify_expr): Call gimple_omp_ordered_standalone for OMP_ORDERED - with NULL OMP_ORDERED_BODY. - * omp-low.cc (check_omp_nesting_restrictions): Use - gimple_omp_ordered_standalone_p test instead of - omp_find_clause (..., OMP_CLAUSE_DOACROSS). - (lower_omp_ordered): Likewise. - * omp-expand.cc (expand_omp, build_omp_regions_1, - omp_make_gimple_edges): Likewise. - -2022-09-06 Xianmiao Qu <cooper.qu@linux.alibaba.com> - - * config/csky/csky.md (cskyv2_addcc): Fix missing operand. - (cskyv2_addcc_invert): Likewise. - -2022-09-06 Jose E. Marchesi <jose.marchesi@oracle.com> - - * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic - `insn'. - (bpf_expand_epilogue): Likewise. - -2022-09-06 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386-builtin.def (IX86_BUILTIN_CVTPS2PH512): - Map to CODE_FOR_avx512f_vcvtps2ph512_mask_sae. - * config/i386/sse.md (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Extend to .. - (<mask_codefor>avx512f_vcvtps2ph512<mask_name><round_saeonly_name>): .. this. - (avx512f_vcvtps2ph512_mask_sae): New expander - -2022-09-05 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-fold.cc - (fold_using_range::range_of_builtin_int_call): Ignore sign bit - when there's the possibility of a NAN. - -2022-09-05 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-fold.cc - (fold_using_range::range_of_builtin_int_call): Fold a set signbit - in __builtin_signbit to nonzero. - -2022-09-05 Alexander Monakov <amonakov@ispras.ru> - - PR target/106453 - * config/i386/i386.md (sse4_2_crc32di): Model that only low 32 - bits of operand 0 are consumed, and the result is zero-extended - to 64 bits. - -2022-09-05 Aldy Hernandez <aldyh@redhat.com> - - PR middle-end/106831 - * value-range.h (frange::supports_p): Disable decimal floats. - * range-op-float.cc (frange_drop_inf): Remove DECIMAL_FLOAT_MODE_P - check. - (frange_drop_ninf): Same. - -2022-09-05 Aldy Hernandez <aldyh@redhat.com> - - PR middle-end/106824 - * value-range.cc (frange::set_nan): Set undefined when updating a - NAN to a non-NAN. - -2022-09-05 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/riscv.cc (riscv_option_override): Fix wrong - condition for MASK_DIV and simplify incompatible checking. - * config/riscv/riscv.md (muldi3): Adding parentheses. - -2022-09-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch - string is a valid -mcpu string and emit hint. - -2022-09-05 LiaoShihua <shihua@iscas.ac.cn> - - * common/config/riscv/riscv-common.cc: Add Zmmul. - * config/riscv/riscv-opts.h (MASK_ZMMUL): New. - (TARGET_ZMMUL): Ditto. - * config/riscv/riscv.cc (riscv_option_override):Ditto. - * config/riscv/riscv.md: Add Zmmul - * config/riscv/riscv.opt: Ditto. - -2022-09-05 Richard Biener <rguenther@suse.de> - - * tree-cfg.h (get_cases_for_edge): Declare. - * tree-cfg.cc (get_cases_for_edge): Export. - * tree-ssa-uninit.cc (execute_late_warn_uninitialized): - Start and end recording case labels. - * gimple-predicate-analysis.cc (MAX_SWITCH_CASES): Remove. - (predicate::init_from_control_deps): Use get_cases_for_edge. - -2022-09-05 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (MAX_POSTDOM_CHECK): Remove. - (compute_control_dep_chain): Move uninit-control-dep-attempts - checking where it also counts the post-dominator check - invocations. - -2022-09-05 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.h (predicate::debug): New. - (predicate::dump): Add FILE * argument, add base overload. - * gimple-predicate-analysis.cc (debug): New. - (dump_pred_info): Add FILE * argument. - (dump_pred_chain): Likewise. - (predicate::dump): Split out preamble into overload. Add - FILE * argument. - (predicate::debug): New. - (predicate::simplify): Adjust. - (predicate::normalize): Likewise. - (predicate::init_from_control_deps): Likewise. - -2022-09-05 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-protos.h - (aarch64_init_simd_builtins): Remove prototype. - * config/aarch64/aarch64-builtins.cc - (aarch64_simd_builtins_initialized_p): Delete. - (aarch64_init_simd_builtins): Make static. Remove protection - against multiple calls. - * config/aarch64/aarch64-c.cc (aarch64_pragma_target_parse): Remove - lazy SIMD builtin initialization. - * config/aarch64/aarch64.cc - (aarch64_option_valid_attribute_p): Likewise. - -2022-09-05 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/genopts/loongarch.opt.in: Add - -mdirect-extern-access option. - * config/loongarch/loongarch.opt: Regenerate. - * config/loongarch/loongarch.cc - (loongarch_symbol_binds_local_p): Return true if - TARGET_DIRECT_EXTERN_ACCESS. - (loongarch_option_override_internal): Complain if - -mdirect-extern-access is used with -fPIC or -fpic. - * doc/invoke.texi: Document -mdirect-extern-access for - LoongArch. - -2022-09-05 Martin Liska <mliska@suse.cz> - - * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to - DEBUGGER_REGNO. - * doc/tm.texi: Regenerate. - -2022-09-05 Martin Liska <mliska@suse.cz> - - * config/aarch64/aarch64-protos.h (aarch64_dbx_regno): - Rename DBX_REGISTER_NUMBER to DEBUGGER_REGNO. - (aarch64_debugger_regno): Likewise. - * config/aarch64/aarch64.cc (aarch64_dbx_regno): Likewise. - (aarch64_debugger_regno): Likewise. - * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - (DWARF_FRAME_REGNUM): Likewise. - * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Likewise. - * config/arc/arc.cc (arc_init_reg_tables): Likewise. - * config/arc/arc.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/arm/arm-protos.h (arm_dbx_regno): Likewise. - (arm_debugger_regno): Likewise. - * config/arm/arm.cc (arm_dbx_regno): Likewise. - (arm_debugger_regno): Likewise. - * config/arm/arm.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/bfin/bfin.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/c6x/c6x.cc: Likewise. - * config/c6x/c6x.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/cris/cris.h (enum reg_class): Likewise. - (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/csky/csky.cc (enum reg_class): Likewise. - * config/csky/csky.h (DWARF_FRAME_REGNUM): Likewise. - (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/frv/frv.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/gcn/gcn.cc (print_operand): Likewise. - * config/i386/bsd.h (ASM_QUAD): Likewise. - * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - (DWARF_FRAME_REGNUM): Likewise. - * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/i386/djgpp.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/i386/dragonfly.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/i386/freebsd.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/i386/gas.h: Likewise. - * config/i386/gnu-user.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/i386/i386.cc (enum reg_class): Likewise. - * config/i386/i386.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/i386/i386elf.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/i386/iamcu.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/i386/lynx.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/i386/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/i386/nto.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/i386/openbsdelf.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/i386/sysv4.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/i386/x86-64.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/ia64/ia64-protos.h (ia64_dbx_regno): Likewise. - (ia64_debugger_regno): Likewise. - * config/ia64/ia64.cc (ia64_output_function_prologue): Likewise. - (ia64_dbx_regno): Likewise. - (ia64_debugger_regno): Likewise. - (process_cfa_adjust_cfa): Likewise. - (process_cfa_register): Likewise. - (ia64_asm_unwind_emit): Likewise. - * config/ia64/ia64.h: Likewise. - * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/lm32/lm32.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/m32c/m32c.cc (m32c_eh_return_stackadj_rtx): Likewise. - * config/m32c/m32c.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/m68k/linux.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/m68k/m68k.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - (__transfer_from_trampoline): Likewise. - * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise. - (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/microblaze/microblaze.cc (microblaze_option_override): Likewise. - * config/microblaze/microblaze.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - (GP_DBX_FIRST): Likewise. - (GP_DEBUGGER_FIRST): Likewise. - * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/mmix/mmix-protos.h (mmix_dbx_regno): Likewise. - (mmix_debugger_regno): Likewise. - * config/mmix/mmix.cc (mmix_dbx_regno): Likewise. - (mmix_debugger_regno): Likewise. - * config/mmix/mmix.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/nds32/nds32-protos.h (nds32_dbx_regno): Likewise. - (nds32_debugger_regno): Likewise. - * config/nds32/nds32.cc (nds32_dbx_regno): Likewise. - (nds32_debugger_regno): Likewise. - (nds32_use_blocks_for_constant_p): Likewise. - * config/nds32/nds32.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/nvptx/nvptx.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/or1k/or1k.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/pa/pa32-regs.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/pa/pa64-regs.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/rs6000/rs6000-protos.h (rs6000_dbx_regno): Likewise. - (rs6000_debugger_regno): Likewise. - * config/rs6000/rs6000.cc (rs6000_dbx_regno): Likewise. - (rs6000_debugger_regno): Likewise. - * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - (DWARF2_FRAME_REG_OUT): Likewise. - * config/s390/s390.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/sh/linux.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/sh/sh.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - (SH_DBX_REGISTER_NUMBER): Likewise. - (SH_DEBUGGER_REGNO): Likewise. - * config/visium/visium.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/xtensa/elf.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/xtensa/linux.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/xtensa/uclinux.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * config/xtensa/xtensa-protos.h (xtensa_dbx_regno): Likewise. - (xtensa_debugger_regno): Likewise. - * config/xtensa/xtensa.cc (xtensa_dbx_regno): Likewise. - (xtensa_debugger_regno): Likewise. - * config/xtensa/xtensa.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - * defaults.h (DBX_REGISTER_NUMBER): Likewise. - (DEBUGGER_REGNO): Likewise. - (DWARF_FRAME_REGNUM): Likewise. - * doc/tm.texi: Likewise. - * doc/tm.texi.in: Likewise. - * dwarf2out.cc (dbx_reg_number): Likewise. - (debugger_reg_number): Likewise. - (reg_loc_descriptor): Likewise. - (multiple_reg_loc_descriptor): Likewise. - (mem_loc_descriptor): Likewise. - * except.cc: Likewise. - -2022-09-05 konglin1 <lingling.kong@intel.com> - - PR target/106742 - * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): - Handle V8BF mode. - (expand_vec_perm_broadcast_1): Ditto. - * config/i386/sse.md (avx512fmaskhalfmode): Add BF vector mode. - (vec_set<mode>_0): Add @ to it. - (@vec_set<mode>_0): Ditto. - (vec_interleave_high<mode><mask_name>): Ditto. - (@vec_interleave_high<mode><mask_name>): Ditto. - (vec_interleave_low<mode><mask_name>): Ditto. - (@vec_interleave_low<mode><mask_name>): Ditto. - * config/i386/subst.md (SUBST_V): Add BF vector mode. - -2022-09-05 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (early_nan_resolve): Remove. - (frange::intersect): Handle NANs. - -2022-09-04 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::union_): Do not drop properties when - unioning a NAN with something else. - (range_tests_signed_zeros): Add tests. - -2022-09-04 Aldy Hernandez <aldyh@redhat.com> - - * real.cc (encode_ieee_single): Use real_isdenormal. - (encode_ieee_double): Same. - (encode_ieee_extended): Same. - (encode_ieee_quad): Same. - (encode_ieee_half): Same. - (encode_arm_bfloat_half): Same. - * real.h (real_isdenormal): New. - -2022-09-03 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::singleton_p): Move NAN check to the top. - -2022-09-03 Jan-Benedict Glaw <jbglaw@lug-owl.de> - - * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments. - -2022-09-03 Jakub Jelinek <jakub@redhat.com> - - * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DOACROSS. - (enum omp_clause_depend_kind): Remove OMP_CLAUSE_DEPEND_SOURCE - and OMP_CLAUSE_DEPEND_SINK, add OMP_CLAUSE_DEPEND_INVALID. - (enum omp_clause_doacross_kind): New type. - (struct tree_omp_clause): Add subcode.doacross_kind member. - * tree.h (OMP_CLAUSE_DEPEND_SINK_NEGATIVE): Remove. - (OMP_CLAUSE_DOACROSS_KIND): Define. - (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE): Define. - (OMP_CLAUSE_DOACROSS_DEPEND): Define. - (OMP_CLAUSE_ORDERED_DOACROSS): Define. - * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add - OMP_CLAUSE_DOACROSS entries. - * tree-nested.cc (convert_nonlocal_omp_clauses, - convert_local_omp_clauses): Handle OMP_CLAUSE_DOACROSS. - * tree-pretty-print.cc (dump_omp_clause): Don't handle - OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. Handle - OMP_CLAUSE_DOACROSS. - * gimplify.cc (gimplify_omp_depend): Don't handle - OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. - (gimplify_scan_omp_clauses): Likewise. Handle OMP_CLAUSE_DOACROSS. - (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_DOACROSS. - (find_standalone_omp_ordered): New function. - (gimplify_omp_for): When OMP_CLAUSE_ORDERED is present, search - body for OMP_ORDERED with OMP_CLAUSE_DOACROSS and if found, - set OMP_CLAUSE_ORDERED_DOACROSS. - (gimplify_omp_ordered): Don't handle OMP_CLAUSE_DEPEND_SINK or - OMP_CLAUSE_DEPEND_SOURCE, instead check OMP_CLAUSE_DOACROSS, adjust - diagnostics that presence or absence of ordered clause parameter - is irrelevant. Handle doacross(sink:omp_cur_iteration-1). Use - actual user name of the clause - doacross or depend - in diagnostics. - * omp-general.cc (omp_extract_for_data): Don't set fd->ordered - if !OMP_CLAUSE_ORDERED_DOACROSS (t). If - OMP_CLAUSE_ORDERED_DOACROSS (t) but !OMP_CLAUSE_ORDERED_EXPR (t), - set fd->ordered to -1 and set it after the loop in that case to - fd->collapse. - * omp-low.cc (check_omp_nesting_restrictions): Don't handle - OMP_CLAUSE_DEPEND_SOURCE nor OMP_CLAUSE_DEPEND_SINK, instead check - OMP_CLAUSE_DOACROSS. Use actual user name of the clause - doacross - or depend - in diagnostics. Diagnose mixing of stand-alone and - block associated ordered constructs binding to the same loop. - (lower_omp_ordered_clauses): Don't handle OMP_CLAUSE_DEPEND_SINK, - instead handle OMP_CLAUSE_DOACROSS. - (lower_omp_ordered): Look for OMP_CLAUSE_DOACROSS instead of - OMP_CLAUSE_DEPEND. - (lower_depend_clauses): Don't handle OMP_CLAUSE_DEPEND_SOURCE and - OMP_CLAUSE_DEPEND_SINK. - * omp-expand.cc (expand_omp_ordered_sink): Emit a sorry for - doacross(sink:omp_cur_iteration-1). - (expand_omp_ordered_source_sink): Use - OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of - OMP_CLAUSE_DEPEND_SINK_NEGATIVE. Use actual user name of the clause - - doacross or depend - in diagnostics. - (expand_omp): Look for OMP_CLAUSE_DOACROSS clause instead of - OMP_CLAUSE_DEPEND. - (build_omp_regions_1): Likewise. - (omp_make_gimple_edges): Likewise. - * lto-streamer-out.cc (hash_tree): Handle OMP_CLAUSE_DOACROSS. - * tree-streamer-in.cc (unpack_ts_omp_clause_value_fields): Likewise. - * tree-streamer-out.cc (pack_ts_omp_clause_value_fields): Likewise. - -2022-09-02 David Malcolm <dmalcolm@redhat.com> - - PR c/90885 - * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow. - -2022-09-02 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/105659 - * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h. - * config/aarch64/aarch64-d.cc: Include tm_d.h. - * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to - config/aarch64/aarch64-d.h. - (aarch64_d_register_target_info): Likewise. - * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise. - (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. - * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of - tm_p.h. - * config/arm/arm-protos.h (arm_d_target_versions): Move to - config/arm/arm-d.h. - (arm_d_register_target_info): Likewise. - * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise. - (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. - * config/default-d.cc: Remove memmodel.h include. - * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h. - * config/glibc-d.cc: Likewise. - * config/i386/i386-d.cc: Include tm_d.h. - * config/i386/i386-protos.h (ix86_d_target_versions): Move to - config/i386/i386-d.h. - (ix86_d_register_target_info): Likewise. - (ix86_d_has_stdcall_convention): Likewise. - * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise. - (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. - (TARGET_D_HAS_STDCALL_CONVENTION): Likewise. - * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h. - * config/mips/mips-d.cc: Include tm_d.h. - * config/mips/mips-protos.h (mips_d_target_versions): Move to - config/mips/mips-d.h. - (mips_d_register_target_info): Likewise. - * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise. - (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. - * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h. - * config/openbsd-d.cc: Likewise. - * config/pa/pa-d.cc: Include tm_d.h. - * config/pa/pa-protos.h (pa_d_target_versions): Move to - config/pa/pa-d.h. - (pa_d_register_target_info): Likewise. - * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise. - (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. - * config/riscv/riscv-d.cc: Include tm_d.h. - * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to - config/riscv/riscv-d.h. - (riscv_d_register_target_info): Likewise. - * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise. - (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. - * config/rs6000/rs6000-d.cc: Include tm_d.h. - * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to - config/rs6000/rs6000-d.h. - (rs6000_d_register_target_info): Likewise. - * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.: - (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.: - * config/s390/s390-d.cc: Include tm_d.h. - * config/s390/s390-protos.h (s390_d_target_versions): Move to - config/s390/s390-d.h. - (s390_d_register_target_info): Likewise. - * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise. - (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. - * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h. - * config/sparc/sparc-d.cc: Include tm_d.h. - * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to - config/sparc/sparc-d.h. - (sparc_d_register_target_info): Likewise. - * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise. - (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. - * configure: Regenerate. - * configure.ac (tm_d_file): Remove defaults.h. - (tm_d_include_list): Remove options.h and insn-constants.h. - * config/aarch64/aarch64-d.h: New file. - * config/arm/arm-d.h: New file. - * config/i386/i386-d.h: New file. - * config/mips/mips-d.h: New file. - * config/pa/pa-d.h: New file. - * config/riscv/riscv-d.h: New file. - * config/rs6000/rs6000-d.h: New file. - * config/s390/s390-d.h: New file. - * config/sparc/sparc-d.h: New file. - -2022-09-02 Aldy Hernandez <aldyh@redhat.com> - - * builtins.cc (fold_builtin_inf): Convert use of real_info to dconstinf. - (fold_builtin_fpclassify): Same. - * fold-const-call.cc (fold_const_call_cc): Same. - * match.pd: Same. - * omp-low.cc (omp_reduction_init_op): Same. - * realmpfr.cc (real_from_mpfr): Same. - * tree.cc (build_complex_inf): Same. - -2022-09-02 Peter Bergner <bergner@linux.ibm.com> - - * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use - NOP_EXPR for MMA pointer casting. - -2022-09-02 Richard Sandiford <richard.sandiford@arm.com> - - * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost): - Reduce the fallback cost to 1. Only use it if the number of - input lanes is equal to the number of output lanes. - -2022-09-02 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/106787 - * tree-vect-slp.cc (vect_map_to_instance): New function, split out - from... - (vect_bb_partition_graph_r): ...here. Replace the visited set - with a map from nodes to instances. Ensure that a node only - appears in one partition. - (vect_bb_partition_graph): Update accordingly. - -2022-09-02 Richard Biener <rguenther@suse.de> - - * timevar.def (TV_TREE_RPO_VN): New. - * tree-ssa-sccvn.h (do_rpo_vn): Remove one overload. - * tree-ssa-sccvn.cc (do_rpo_vn_1): Rename the worker. - (do_rpo_vn): Unify the public API, track with TV_TREE_RPO_VN. - (pass_fre::execute): Adjust. - * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust. - -2022-09-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106809 - * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have - more than one successor before doing extra work. - -2022-09-02 Kito Cheng <kito.cheng@sifive.com> - - * common/config/riscv/riscv-common.cc: Include <vector>. - (struct riscv_multi_lib_info_t): New. - (riscv_subset_list::match_score): Ditto. - (find_last_appear_switch): Ditto. - (prefixed_with): Ditto. - (struct multi_lib_info_t): Ditto. - (riscv_current_arch_str): Ditto. - (riscv_current_abi_str): Ditto. - (riscv_multi_lib_info_t::parse): Ditto. - (riscv_check_cond): Ditto. - (riscv_check_conds): Ditto. - (riscv_compute_multilib): Ditto. - (TARGET_COMPUTE_MULTILIB): Defined. - * config/riscv/elf.h (LIB_SPEC): Call riscv_multi_lib_check if - doing link. - (RISCV_USE_CUSTOMISED_MULTI_LIB): New. - * config/riscv/riscv.h (riscv_multi_lib_check): New. - (EXTRA_SPEC_FUNCTIONS): Add riscv_multi_lib_check. - * config/riscv/riscv-subset.h (riscv_subset_list::match_score): New. - -2022-09-02 Kito Cheng <kito.cheng@sifive.com> - - * common/common-target.def (compute_multilib): New. - * common/common-targhooks.h (default_compute_multilib): New. - * common/common-targhooks.cc (default_compute_multilib): New. - * doc/tm.texi.in (TARGET_COMPUTE_MULTILIB): New. - * doc/tm.texi: Regen. - * gcc.cc: Include common/common-target.h. - (set_multilib_dir) Call targetm_common.compute_multilib. - (SWITCH_LIVE): Move to opts.h. - (SWITCH_FALSE): Ditto. - (SWITCH_IGNORE): Ditto. - (SWITCH_IGNORE_PERMANENTLY): Ditto. - (SWITCH_KEEP_FOR_GCC): Ditto. - (struct switchstr): Ditto. - * opts.h (SWITCH_LIVE): Move from gcc.c. - (SWITCH_FALSE): Ditto. - (SWITCH_IGNORE): Ditto. - (SWITCH_IGNORE_PERMANENTLY): Ditto. - (SWITCH_KEEP_FOR_GCC): Ditto. - (struct switchstr): Ditto. - -2022-09-02 Martin Liska <mliska@suse.cz> - - * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable - debugging format. - -2022-09-02 Martin Liska <mliska@suse.cz> - - * Makefile.in: Remove -gstabs option support, DBX-related - macros and DBX debugging info support. - * collect2.cc (scan_prog_file): Likewise. - * common.opt: Likewise. - * config.gcc: Likewise. - * config.in: Likewise. - * config/aarch64/aarch64-elf.h (DBX_DEBUGGING_INFO): Likewise. - * config/alpha/alpha.cc: Likewise. - * config/alpha/elf.h (ASM_SPEC): Likewise. - * config/arc/arc.h (DBX_DEBUGGING_INFO): Likewise. - (DBX_CONTIN_LENGTH): Likewise. - * config/arm/aout.h (DBX_DEBUGGING_INFO): Likewise. - (DBX_CONTIN_LENGTH): Likewise. - * config/arm/netbsd-elf.h (DBX_CONTIN_LENGTH): Likewise. - * config/darwin.h (DSYMUTIL_SPEC): Likewise. - (ASM_DEBUG_SPEC): Likewise. - (DBX_DEBUGGING_INFO): Likewise. - (DBX_USE_BINCL): Likewise. - (DBX_CONTIN_LENGTH): Likewise. - (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise. - * config/epiphany/epiphany.h (DBX_DEBUGGING_INFO): Likewise. - (DBX_CONTIN_LENGTH): Likewise. - * config/i386/bsd.h (DBX_NO_XREFS): Likewise. - (DBX_CONTIN_LENGTH): Likewise. - * config/i386/gas.h (DBX_NO_XREFS): Likewise. - (DBX_CONTIN_LENGTH): Likewise. - * config/ia64/ia64.h: Likewise. - * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Likewise. - * config/m68k/linux.h (DBX_CONTIN_LENGTH): Likewise. - * config/m68k/openbsd.h (DBX_DEBUGGING_INFO): Likewise. - (DBX_CONTIN_LENGTH): Likewise. - (DBX_CONTIN_CHAR): Likewise. - * config/mips/mips.cc (mips_output_filename): Likewise. - (mips_option_override): Likewise. - * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Likewise. - (DBX_DEBUGGING_INFO): Likewise. - (DBX_CONTIN_LENGTH): Likewise. - (DBX_REGISTER_NUMBER): Likewise. - (GP_DBX_FIRST): Likewise. - (FP_DBX_FIRST): Likewise. - (MD_DBX_FIRST): Likewise. - * config/nvptx/nvptx.cc: Likewise. - * config/openbsd.h (DBX_NO_XREFS): Likewise. - * config/pa/pa-64.h (DBX_DEBUGGING_INFO): Likewise. - * config/pa/pa.h (ASSEMBLER_DIALECT): Likewise. - (DBX_CONTIN_LENGTH): Likewise. - * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Likewise. - (DBX_USE_BINCL): Likewise. - (DBX_LINES_FUNCTION_RELATIVE): Likewise. - (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise. - * config/pdp11/pdp11.cc: Likewise. - * config/pdp11/pdp11.h (DBX_DEBUGGING_INFO): Likewise. - (PREFERRED_DEBUGGING_TYPE): Likewise. - (DBX_CONTIN_LENGTH): Likewise. - * config/rs6000/rs6000-builtin.cc: Likewise. - * config/rs6000/rs6000-call.cc: Likewise. - * config/rs6000/rs6000-logue.cc (defined): Likewise. - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise. - (HAVE_XCOFF_DWARF_EXTRAS): Likewise. - (rs6000_xcoff_declare_function_name): Likewise. - * config/rs6000/sysv4.h (DBX_DEBUGGING_INFO): Likewise. - (DBX_FUNCTION_FIRST): Likewise. - * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Likewise. - * config/rx/rx.h (DBX_DEBUGGING_INFO): Likewise. - * config/sh/elf.h (DBX_LINES_FUNCTION_RELATIVE): Likewise. - (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise. - * config/sol2.h (NO_DBX_BNSYM_ENSYM): Likewise. - * config/sparc/freebsd.h (DBX_CONTIN_CHAR): Likewise. - * config/sparc/netbsd-elf.h (DBX_CONTIN_CHAR): Likewise. - * config/sparc/sparc.h (DBX_CONTIN_LENGTH): Likewise. - * config/vax/vax.cc (vax_file_start): Likewise. - * config/vax/vax.h (DBX_DEBUGGING_INFO): Likewise. - (DBX_CONTIN_LENGTH): Likewise. - (DBX_CONTIN_CHAR): Likewise. - (DBX_NO_XREFS): Likewise. - (DBX_STATIC_STAB_DATA_SECTION): Likewise. - * config/vx-common.h (DBX_DEBUGGING_INFO): Likewise. - (XCOFF_DEBUGGING_INFO): Likewise. - * configure: Regenerate. Likewise. - * configure.ac: Likewise. - * debug.h: Likewise. - * doc/install.texi: Likewise. - * doc/invoke.texi: Likewise. - * doc/passes.texi: Likewise. - * doc/tm.texi: Likewise. - * doc/tm.texi.in: Likewise. - * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Likewise. - (dw2_asm_output_nstring): Likewise. - (USE_LINKONCE_INDIRECT): Likewise. - * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise. - (HAVE_XCOFF_DWARF_EXTRAS): Likewise. - (output_fde): Likewise. - (output_call_frame_info): Likewise. - (have_macinfo): Likewise. - (add_AT_loc_list): Likewise. - (add_AT_view_list): Likewise. - (output_compilation_unit_header): Likewise. - (output_pubnames): Likewise. - (output_aranges): Likewise. - (output_line_info): Likewise. - (output_macinfo): Likewise. - (dwarf2out_finish): Likewise. - (dwarf2out_early_finish): Likewise. - * final.cc (final_scan_insn_1): Likewise. - (rest_of_handle_final): Likewise. - * flag-types.h (enum debug_info_type): Likewise. - (DBX_DEBUG): Likewise. - (XCOFF_DEBUG): Likewise. - * function.cc (defined): Likewise. - * gcc.cc (defined): Likewise. - (ASM_DEBUG_SPEC): Likewise. - (ASM_DEBUG_OPTION_SPEC): Likewise. - * opts.cc (common_handle_option): Likewise. - (set_debug_level): Likewise. - * system.h (fancy_abort): Likewise. - * target-def.h (TARGET_ASM_CONSTRUCTOR): Likewise. - (TARGET_ASM_DESTRUCTOR): Likewise. - * toplev.cc (defined): Likewise. - * varasm.cc: Likewise. - * config/dbxcoff.h: Removed. - * config/dbxelf.h: Removed. - * dbxout.cc: Removed. - * dbxout.h: Removed. - * gstab.h: Removed. - * stab.def: Removed. - * xcoffout.cc: Removed. - * xcoffout.h: Removed. - -2022-09-02 Simon Rainer <gcc.gnu@vvalter.com> - - PR ipa/106627 - * config/i386/i386-features.cc (ix86_get_function_versions_dispatcher): - Set TREE_NOTHROW correctly for dispatcher declaration. - * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher): - Likewise. - -2022-09-01 Tamar Christina <tamar.christina@arm.com> - - PR other/106782 - * config/aarch64/aarch64.cc - (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with - HOST_WIDE_INT_PRINT_UNSIGNED. - -2022-09-01 Richard Sandiford <richard.sandiford@arm.com> - - * tree-vect-slp.cc (vect_build_slp_tree_2): When building a - VEC_PERM_EXPR of an existing vector, set the SLP_TREE_LANES - to the number of vector elements, if that's a known constant. - (vect_optimize_slp_pass::is_compatible_layout): Remove associated - comment about zero SLP_TREE_LANES. - (vect_optimize_slp_pass::start_choosing_layouts): Iterate over - all partition members when looking for potential layouts. - Handle existing permutes of fixed-length vectors. - -2022-09-01 Uroš Bizjak <ubizjak@gmail.com> - - PR target/106707 - * config/i386/i386.md (moves to/from AX_REG into xchg peephole2): - Do not convert a move pattern where both operands are AX_REG. - -2022-09-01 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (build_le): Convert to dconst*inf. - (build_ge): Same. - * value-range.cc (frange::set_signbit): Same. - (frange::normalize_kind): Same. - (range_tests_floats): Same. - * value-range.h (vrp_val_max): Same. - (vrp_val_min): Same. - (frange::set_varying): Same. - -2022-09-01 Aldy Hernandez <aldyh@redhat.com> - - * emit-rtl.cc (init_emit_once): Initialize dconstinf and - dconstninf. - * real.h: Add dconstinf and dconstninf. - -2022-09-01 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (compute_control_dep_chain): - Remove cycle detection, instead avoid walking backedges. - -2022-09-01 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (compute_control_dep_chain): - New wrapping overload. - (uninit_analysis::init_use_preds): Simplify. - (uninit_analysis::init_from_phi_def): Likewise. - -2022-09-01 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-fold.cc - (fold_using_range::range_of_builtin_int_call): Add case for - CFN_BUILT_IN_SIGNBIT. - -2022-09-01 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (foperator_equal::op1_range): Do not copy sign - bit. - (foperator_not_equal::op1_range): Same. - * value-query.cc (range_query::get_tree_range): Set sign bit. - * value-range-pretty-print.cc (vrange_printer::visit): Dump sign bit. - * value-range.cc (frange::set_signbit): New. - (frange::set): Adjust for sign bit. - (frange::normalize_kind): Same. - (frange::union_): Remove useless comment. - (frange::intersect): Same. - (frange::contains_p): Adjust for sign bit. - (frange::singleton_p): Same. - (frange::verify_range): Same. - (range_tests_signbit): New tests. - (range_tests_floats): Call range_tests_signbit. - * value-range.h (class frange_props): Add signbit - (class frange): Same. - -2022-09-01 Jakub Jelinek <jakub@redhat.com> - - PR other/106782 - * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4) - instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0). - * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to - derived types of gimple to gimple * to avoid -Wformat warnings. - * tree-vect-loop-manip.cc (vect_set_loop_condition, - vect_update_ivs_after_vectorizer): Likewise. - * tree-vect-stmts.cc (vectorizable_load): Likewise. - * tree-vect-patterns.cc (vect_split_statement, - vect_recog_mulhs_pattern, vect_recog_average_pattern, - vect_determine_precisions_from_range, - vect_determine_precisions_from_users): Likewise. - * gimple-loop-versioning.cc - (loop_versioning::analyze_term_using_scevs): Likewise. - * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise. - (vect_build_slp_tree): Cast slp_tree to void * to avoid - -Wformat warnings. - (optimize_load_redistribution_1, vect_match_slp_patterns, - vect_build_slp_instance, vect_optimize_slp_pass::materialize, - vect_optimize_slp_pass::dump, vect_slp_convert_to_external, - vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise. - (vect_print_slp_tree): Likewise. Also use - HOST_WIDE_INT_PRINT_UNSIGNED instead of %u. - * tree-vect-loop.cc (vect_determine_vectorization_factor, - vect_analyze_scalar_cycles_1, vect_analyze_loop_operations, - vectorizable_induction, vect_transform_loop): Cast pointers to derived - types of gimple to gimple * to avoid -Wformat warnings. - (vect_analyze_loop_2): Cast slp_tree to void * to avoid - -Wformat warnings. - (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED - instead of %d. - * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G - instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node)) - instead of SLP_TREE_DEF_TYPE (node). - -2022-09-01 Jakub Jelinek <jakub@redhat.com> - - PR c++/106655 - * doc/invoke.texi (-Winvalid-utf8): Document it. - -2022-09-01 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/106785 - * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS. - (range_tests_floats): Same. - -2022-09-01 konglin1 <lingling.kong@intel.com> - - * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR - recognition. - -2022-09-01 Peter Bergner <bergner@linux.ibm.com> - - PR target/101322 - * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): - Enforce the use of a valid MMA pointer type. - -2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector - registers. - -2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.cc (riscv_const_insns): Add cost of poly_int. - (riscv_output_move): Add csrr vlenb assembly. - * config/riscv/riscv.md (move_type): Add csrr vlenb type. - (ext): New attribute. - (ext_enabled): Ditto. - (enabled): Ditto. - -2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> - - * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Add - "vr" constraint. - (TARGET_VECTOR ? VD_REGS : NO_REGS): Add "vd" constraint. - (TARGET_VECTOR ? VM_REGS : NO_REGS): Add "vm" constraint. - (vp): Add poly constraint. - -2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.h (enum reg_class): Change vype to vtype. - -2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.cc (riscv_convert_vector_bits): Change - configuration according to TARGET_MIN_VLEN. - * config/riscv/riscv.h (UNITS_PER_FP_REG): Fix comment. - -2022-08-31 Martin Liska <mliska@suse.cz> - - * config.build: Remove deprecated ports. - * config.gcc: Likewise. - * config.host: Likewise. - * configure.ac: Likewise. - * configure: Regenerate. - * config/pa/pa-hpux10.h: Removed. - * config/pa/pa-hpux10.opt: Removed. - * config/pa/t-dce-thr: Removed. - -2022-08-31 Martin Liska <mliska@suse.cz> - - * Makefile.in: Always install limits.h and syslimits.h to - include folder. - * configure.ac: Assign STMP_FIXINC blank if - --disable-fixincludes is used. - * configure: Regenerate. - -2022-08-31 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (predicate::init_from_control_deps): - Assert the guard_bb isn't empty and has more than one successor. - Drop appropriate parts of the predicate when an edge fails to - register a predicate. - (predicate::dump): Dump empty predicate as TRUE. - -2022-08-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/90994 - * gimple-predicate-analysis.cc (predicate::init_from_control_deps): - Ignore exceptional control flow and skip the edge for the purpose of - predicate generation also for non-calls. - -2022-08-31 Aldy Hernandez <aldyh@redhat.com> - - * value-range-storage.cc (frange_storage_slot::set_frange): Save - endpoints. - (frange_storage_slot::get_frange): Restore endpoints. - * value-range-storage.h (class frange_storage_slot): Add endpoint - fields. - -2022-08-31 Martin Liska <mliska@suse.cz> - - PR tree-optimization/106789 - * range-op-float.cc (default_frelop_fold_range): Remove the - function. - -2022-08-31 Martin Liska <mliska@suse.cz> - - * value-range.h: Add more override keywords. - -2022-08-31 Martin Liska <mliska@suse.cz> - - * value-range.h: Add override. - -2022-08-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/65244 - * gimple-predicate-analysis.h (predicate::init_from_control_deps): - Add argument to specify whether the predicate is for the USE. - * gimple-predicate-analysis.cc (predicate::init_from_control_deps): - Also include predicates effective fallthru control edges when - the predicate is for the USE. - -2022-08-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/73550 - * gimple-predicate-analysis.cc (predicate::init_from_control_deps): - Sanitize debug dumping. Handle case labels with a CASE_HIGH. - (predicate::dump): Adjust for better readability. - -2022-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - Jakub Jelinek <jakub@redhat.com> - - * omp-simd-clone.cc (simd_clone_adjust_return_type, - simd_clone_adjust_argument_types): Use known_eq (veclen, 0U) - instead of known_eq (veclen, 0) to avoid -Wsign-compare warnings. - -2022-08-31 Richard Sandiford <richard.sandiford@arm.com> - - * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus - argument. - -2022-08-31 zhongjuzhe <juzhe.zhong@rivai.ai> - - * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply - initialize const_vf to 0. - -2022-08-31 Martin Liska <mliska@suse.cz> - - * config.gcc: Remove cr16. - -2022-08-30 Martin Jambor <mjambor@suse.cz> - - * vec.h (array_slice): Add constructors for non-const reference to - heap vector and pointers to heap vectors. - -2022-08-30 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (early_nan_resolve): Change comment. - (frange::union_): Handle union when one side is a NAN. - (range_tests_nan): Add tests for NAN union. - -2022-08-30 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): New. - (gcn_simd_clone_adjust): New. - (gcn_simd_clone_usable): New. - (TARGET_SIMD_CLONE_ADJUST): New. - (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New. - (TARGET_SIMD_CLONE_USABLE): New. - -2022-08-30 Andrew Stubbs <ams@codesourcery.com> - - * doc/tm.texi: Regenerate. - * omp-simd-clone.cc (simd_clone_adjust_return_type): Allow zero - vecsize. - (simd_clone_adjust_argument_types): Likewise. - * target.def (compute_vecsize_and_simdlen): Document the new - vecsize_int and vecsize_float semantics. - -2022-08-30 Richard Sandiford <richard.sandiford@arm.com> - - * expmed.cc (store_bit_field_1): Fix byte offset calculation - for undefined structures. - -2022-08-30 Richard Sandiford <richard.sandiford@arm.com> - - * params.opt (-param=vect-max-layout-candidates=): New parameter. - * doc/invoke.texi (vect-max-layout-candidates): Document it. - * tree-vectorizer.h (auto_lane_permutation_t): New typedef. - (auto_load_permutation_t): Likewise. - * tree-vect-slp.cc (vect_slp_node_weight): New function. - (slpg_layout_cost): New class. - (slpg_vertex): Replace perm_in and perm_out with partition, - out_degree, weight and out_weight. - (slpg_partition_info, slpg_partition_layout_costs): New classes. - (vect_optimize_slp_pass): Likewise, cannibalizing some part of - the previous vect_optimize_slp. - (vect_optimize_slp): Use it. - -2022-08-30 Richard Sandiford <richard.sandiford@arm.com> - - * hash-traits.h (vec_hash_base): New class. - (vec_free_hash_base): Likewise. - -2022-08-30 Richard Sandiford <richard.sandiford@arm.com> - - * hash-traits.h (int_hash_base): New struct, split out from... - (int_hash): ...this class, which now inherits from int_hash_base. - * hash-map-traits.h (unbounded_hashmap_traits): Take a template - parameter for the key that provides hash and equality functions. - (unbounded_int_hashmap_traits): Turn into a type alias of - unbounded_hashmap_traits. - -2022-08-30 Richard Sandiford <richard.sandiford@arm.com> - - * graphds.cc (graphds_scc): Add a pass-back parameter for the - final node order. - * graphds.h (graphds_scc): Update prototype accordingly. - -2022-08-30 Richard Sandiford <richard.sandiford@arm.com> - - * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Split out from... - (vect_transform_slp_perm_load): ...here. Use SLP_TREE_VECTYPE instead - of STMT_VINFO_VECTYPE. - -2022-08-30 Richard Sandiford <richard.sandiford@arm.com> - - * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from... - (vectorizable_slp_permutation): ...here. - -2022-08-30 Richard Sandiford <richard.sandiford@arm.com> - - * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): Check - that the requested number of units is interoperable with the requested - prevailing mode. - -2022-08-30 Martin Liska <mliska@suse.cz> - - * config.gcc: Remove the port. - * config/m32c/rtems.h: Removed. - -2022-08-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/73550 - * gimple-predicate-analysis.cc (predicate::init_from_control_deps): - Do not apply MAX_NUM_CHAINS again. - -2022-08-30 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (format_edge_vec): Dump - both source and destination. - (dump_dep_chains): Remove. - (uninit_analysis::init_use_preds): Remove redundant - dumping of chains. - -2022-08-30 Aldy Hernandez <aldyh@redhat.com> - - * value-range-storage.cc (frange_storage_slot::get_frange): Use - frange_nan. - * value-range.cc (frange::set_nan): New. - (frange_nan): Move to header file. - (range_tests_nan): Adjust frange_nan callers to pass type. - New test. - * value-range.h (FRANGE_PROP_ACCESSOR): Remove. - (frange_nan): New. - -2022-08-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/67196 - * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded): - Simplify and normalize use prediates before first use. - -2022-08-30 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (dump_pred_chain): Fix - parentizing and AND prepending. - (predicate::dump): Do not dump the GENERIC expanded - predicate, properly parentize and prepend ORs to the - piecewise predicate dump. - (build_pred_expr): Remove. - -2022-08-30 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (finite_operand_p): New. - (build_le): New. - (build_lt): New. - (build_ge): New. - (build_gt): New. - (foperator_equal::fold_range): New implementation with endpoints. - (foperator_equal::op1_range): Same. - (foperator_not_equal::fold_range): Same. - (foperator_not_equal::op1_range): Same. - (foperator_lt::fold_range): Same. - (foperator_lt::op1_range): Same. - (foperator_lt::op2_range): Same. - (foperator_le::fold_range): Same. - (foperator_le::op1_range): Same. - (foperator_le::op2_range): Same. - (foperator_gt::fold_range): Same. - (foperator_gt::op1_range): Same. - (foperator_gt::op2_range): Same. - (foperator_ge::fold_range): Same. - (foperator_ge::op1_range): Same. - (foperator_ge::op2_range): Same. - -2022-08-30 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (frange_set_nan): New. - (frange_drop_inf): New. - (frange_drop_ninf): New. - (foperator_equal::op1_range): Adjust for endpoints. - (foperator_lt::op1_range): Same. - (foperator_lt::op2_range): Same. - (foperator_gt::op1_range): Same. - (foperator_gt::op2_range): Same. - (foperator_unordered::op1_range): Same. - * value-query.cc (range_query::get_tree_range): Same. - * value-range-pretty-print.cc (vrange_printer::visit): Same. - * value-range-storage.cc (frange_storage_slot::get_frange): Same. - * value-range.cc (frange::set): Same. - (frange::normalize_kind): Same. - (frange::union_): Same. - (frange::intersect): Same. - (frange::operator=): Same. - (early_nan_resolve): New. - (frange::contains_p): New. - (frange::singleton_p): New. - (frange::set_nonzero): New. - (frange::nonzero_p): New. - (frange::set_zero): New. - (frange::zero_p): New. - (frange::set_nonnegative): New. - (frange_float): New. - (frange_nan): New. - (range_tests_nan): New. - (range_tests_signed_zeros): New. - (range_tests_floats): New. - (range_tests): New. - * value-range.h (frange::lower_bound): New. - (frange::upper_bound): New. - (vrp_val_min): Use real_inf with a sign instead of negating inf. - (frange::frange): New. - (frange::set_varying): Adjust for endpoints. - (real_max_representable): New. - (real_min_representable): New. - -2022-08-30 Aldy Hernandez <aldyh@redhat.com> - - * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant - for real zero. - -2022-08-30 Martin Liska <mliska@suse.cz> - - * config/s390/s390.cc (s390_rtx_costs): Use proper type as - argument. - -2022-08-30 Richard Biener <rguenther@suse.de> - - * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute - the set of fallthru reachable blocks from function entry - and use that to determine wlims.always_executed. - -2022-08-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/56654 - * tree-ssa-uninit.cc (cand_cmp): New. - (find_uninit_use): First process all PHIs and collect candidate - stmts, then sort those after RPO. - (warn_uninitialized_phi): Pass on bb_to_rpo. - (execute_late_warn_uninitialized): Compute and pass on - reverse lookup of RPO number from basic block index. - -2022-08-30 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.h (uninit_analysis::operator()): - Remove. - * gimple-predicate-analysis.cc - (uninit_analysis::collect_phi_def_edges): Use phi_arg_set, - simplify a bit. - * tree-ssa-uninit.cc (defined_args): New global. - (compute_uninit_opnds_pos): Mask with the recorded set - of guarded maybe-uninitialized uses. - (uninit_undef_val_t::operator()): Remove. - (find_uninit_use): Process all PHI uses, recording the - guarded ones and marking the PHI result as uninitialized - consistently. - (warn_uninitialized_phi): Adjust. - (execute_late_warn_uninitialized): Get rid of the PHI worklist - and instead walk the function in RPO order. - * spellcheck.h (best_match::m_best_candidate_len): Initialize. - -2022-08-30 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/106744 - * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments. - -2022-08-30 Tamar Christina <tamar.christina@arm.com> - - * expmed.cc (store_bit_field_1): Initialize regnum to 0. - -2022-08-29 David Faust <david.faust@oracle.com> - - PR target/106745 - * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix - computation of index for anonymous members. - -2022-08-29 Jose E. Marchesi <jose.marchesi@oracle.com> - - * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a - target macro. - -2022-08-29 H.J. Lu <hjl.tools@gmail.com> - - PR target/106748 - * config/i386/i386-expand.cc - (ix86_avx256_split_vector_move_misalign): Handle E_V16BFmode. - * config/i386/sse.md (V_256H): Add V16BF. - -2022-08-29 Robin Dapp <rdapp@linux.ibm.com> - - * config/s390/s390.cc (s390_address_cost): Declare. - (s390_hard_regno_nregs): Declare. - (s390_rtx_costs): Add handling for REG and MEM in SET. - -2022-08-29 Robin Dapp <rdapp@linux.ibm.com> - - * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern. - (is_reverse_perm_mask): New function. - (expand_perm_with_rot): Recognize reverse pattern. - (expand_perm_with_vstbrq): New function. - (expand_perm_with_vster): Use vler/vster for element reversal on z15. - (vectorize_vec_perm_const_1): Use. - (s390_vectorize_vec_perm_const): Add expand functions. - * config/s390/vx-builtins.md: Prefer vster over vler. - -2022-08-29 Robin Dapp <rdapp@linux.ibm.com> - - * config/s390/s390.md: Remove UNSPEC_VEC_EXTRACT. - * config/s390/vector.md: Rewrite patterns to use vec_select. - * config/s390/vx-builtins.md (vec_scatter_element<V_HW_2:mode>_SI): - Likewise. - -2022-08-29 Robin Dapp <rdapp@linux.ibm.com> - - PR target/100869 - * config/s390/vector.md (@vpdi4_2<mode>): New pattern. - (rotl<mode>3_di): New pattern. - * config/s390/vx-builtins.md: Use vpdi and verll for reversing - elements. - -2022-08-29 Robin Dapp <rdapp@linux.ibm.com> - - * config/s390/s390.cc (s390_issue_rate): Add z15. - -2022-08-29 Robin Dapp <rdapp@linux.ibm.com> - - * common/config/s390/s390-common.cc: Enable -funroll-loops and - -munroll-only-small-loops for OPT_LEVELS_2_PLUS_SPEED_ONLY. - * config/s390/s390.cc (s390_loop_unroll_adjust): Do not unroll - loops larger than 12 instructions. - (s390_override_options_after_change): Set unroll options. - (s390_option_override_internal): Likewise. - * config/s390/s390.opt: Document munroll-only-small-loops. - -2022-08-29 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (is_loop_exit, - find_control_equiv_block): Inline into single caller ... - (uninit_analysis::init_use_preds): ... here and refactor. - -2022-08-29 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (compute_control_dep_chain): - Inline is_loop_exit and refactor, add comment about - loop exits. - -2022-08-29 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/riscv.cc (riscv_frame_info): Introduce `reset(void)`; - (riscv_frame_info::reset(void)): New. - (riscv_compute_frame_info): Use riscv_frame_info::reset instead - of memset when clean frame. - -2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): New function. - (riscv_classify_address): Disallow PLUS/LO_SUM/CONST_INT address types for RVV. - (riscv_address_insns): Add RVV modes condition. - (riscv_binary_cost): Ditto. - (riscv_rtx_costs): Adjust cost for RVV. - (riscv_secondary_memory_needed): Add RVV modes condition. - (riscv_hard_regno_nregs): Add RVV register allocation. - (riscv_hard_regno_mode_ok): Add RVV register allocation. - (riscv_class_max_nregs): Add RVV register allocation. - * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Add VL/VTYPE and vector registers in Dwarf. - (UNITS_PER_V_REG): New macro. - (FIRST_PSEUDO_REGISTER): Adjust first pseudo num for RVV. - (V_REG_FIRST): New macro. - (V_REG_LAST): Ditto. - (V_REG_NUM): Ditto. - (V_REG_P): Ditto. - (VL_REG_P): Ditto. - (VTYPE_REG_P): Ditto. - (RISCV_DWARF_VL): Ditto. - (RISCV_DWARF_VTYPE): Ditto. - (enum reg_class): Add RVV register types. - (REG_CLASS_CONTENTS): Add RVV register types. - * config/riscv/riscv.md: Add VL/VTYPE register number constants. - -2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.md: Add new type for vector instructions. - -2022-08-28 Peter Bergner <bergner@linux.ibm.com> - - PR target/106017 - * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling - of MMA pointer conversions. - -2022-08-27 Xi Ruoyao <xry111@xry111.site> - - * config/i386/gcc-auto-profile: Regenerate. - -2022-08-26 Aldy Hernandez <aldyh@redhat.com> - - * real.cc (real_iszero): New. - * real.h (real_iszero): New. - -2022-08-26 Aldy Hernandez <aldyh@redhat.com> - - * real.cc (real_isinf): New overload. - (real_inf): Add sign argument. - * real.h (real_isinf): New overload. - (real_inf): Add sign argument. - -2022-08-26 Marek Polacek <polacek@redhat.com> - - PR c++/81159 - * doc/invoke.texi: Document -Wself-move. - -2022-08-26 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (vrange::set): Set varying. - (vrange::set_nonzero): Same. - (vrange::set_zero): Same. - (vrange::set_nonnegative): Same. - -2022-08-26 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (foperator_equal::op1_range): Do not blindly - copy op2 range when honoring signed zeros. - -2022-08-26 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always - add newline. - (profitable_path_p): Same. - -2022-08-26 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.h - (uninit_analysis::use_cannot_happen): Remove. - * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove. - (uninit_analysis::use_cannot_happen): Likewise. - (uninit_analysis::is_use_guarded): Do not call - use_cannot_happen. - (dump_predicates): Remove. - (simple_control_dep_chain): Remove edge overload. - -2022-08-26 Tobias Burnus <tobias@codesourcery.com> - - * internal-fn.cc (expand_GOMP_TARGET_REV): New. - * internal-fn.def (GOMP_TARGET_REV): New. - * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark - 'omp target device_ancestor_host' as in_other_partition and don't - error if absent. - * omp-low.cc (create_omp_child_function): Mark as 'noclone'. - * omp-expand.cc (expand_omp_target): For reverse offload, remove - sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create - empty-body nohost function. - * omp-offload.cc (execute_omp_device_lower): Handle - IFN_GOMP_TARGET_REV. - (pass_omp_target_link::execute): For ACCEL_COMPILER, don't - nullify fn argument for reverse offload - -2022-08-26 Jakub Jelinek <jakub@redhat.com> - - * builtins.def (BUILT_IN_ISSIGNALING): New built-in. - * builtins.cc (expand_builtin_issignaling): New function. - (expand_builtin_signbit): Don't overwrite target. - (expand_builtin): Handle BUILT_IN_ISSIGNALING. - (fold_builtin_classify): Likewise. - (fold_builtin_1): Likewise. - * optabs.def (issignaling_optab): New. - * fold-const-call.cc (fold_const_call_ss): Handle - BUILT_IN_ISSIGNALING. - * config/i386/i386.md (issignalingxf2): New expander. - * doc/extend.texi (__builtin_issignaling): Document. - (__builtin_isinf, __builtin_isnan): Clarify behavior with - -ffinite-math-only. - * doc/md.texi (issignaling<mode>2): Likewise. - -2022-08-26 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106099 - * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag. - * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of - __builtin_trap to avoid the need of vops. - -2022-08-26 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (dfs_mark_dominating_region): - New helper. - (compute_control_dep_chain): Adjust to honor marked region - if provided. - (uninit_analysis::init_from_phi_def): Pre-mark the dominating - region to improve compute_control_dep_chain walking. - * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder. - -2022-08-26 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc - (uninit_analysis::collect_phi_def_edges): Only expand a - PHI def edge when it is possibly undefined. - -2022-08-26 Martin Liska <mliska@suse.cz> - - * doc/extend.texi: Remove cr16 related stuff. - * doc/install.texi: Likewise. - * doc/invoke.texi: Likewise. - * doc/md.texi: Likewise. - * function-tests.cc (test_expansion_to_rtl): Likewise. - * common/config/cr16/cr16-common.cc: Removed. - * config/cr16/constraints.md: Removed. - * config/cr16/cr16-protos.h: Removed. - * config/cr16/cr16.cc: Removed. - * config/cr16/cr16.h: Removed. - * config/cr16/cr16.md: Removed. - * config/cr16/cr16.opt: Removed. - * config/cr16/predicates.md: Removed. - * config/cr16/t-cr16: Removed. - -2022-08-26 liuhongt <hongtao.liu@intel.com> - - PR target/106704 - * config/i386/i386-builtin.def (BDESC): Add - CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to - corresponding builtins. - * config/i386/i386.cc (ix86_gimple_fold_builtin): - Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256, - IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2. - -2022-08-25 Marek Polacek <polacek@redhat.com> - - * ginclude/stddef.h: Define nullptr_t. - -2022-08-25 Joseph Myers <joseph@codesourcery.com> - - * gimplify.cc (gimplify_modify_expr): Convert initialization from - a variable-size CONSTRUCTOR to memset before call to - gimplify_modify_expr_rhs. - -2022-08-25 Jason Merrill <jason@redhat.com> - - * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t. - -2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com> - - PR target/106101 - * config/s390/predicates.md (subreg_register_operand): New - predicate. - * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New - function prototype. - * config/s390/s390.cc (s390_gen_lowpart_subreg): New function. - (s390_expand_insv): Use s390_gen_lowpart_subreg instead of - gen_lowpart. - * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31") - ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise. - ("movstrictqi", "movstricthi", "movstrictsi"): Use the - subreg_register_operand predicate instead of register_operand. - -2022-08-25 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch-protos.h (loongarch_symbol_type): - Add SYMBOL_PCREL64 and change the description for SYMBOL_PCREL. - * config/loongarch/loongarch.cc (loongarch_attribute_table): - New attribute table. - (TARGET_ATTRIBUTE_TABLE): Define the target hook. - (loongarch_handle_model_attribute): New static function. - (loongarch_classify_symbol): Take TARGET_CMODEL_EXTREME and the - model attribute of SYMBOL_REF_DECL into account returning - SYMBOL_PCREL or SYMBOL_PCREL64. - (loongarch_use_anchors_for_symbol_p): New static function. - (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define the target hook. - (loongarch_symbol_extreme_p): New static function. - (loongarch_symbolic_constant_p): Handle SYMBOL_PCREL64. - (loongarch_symbol_insns): Likewise. - (loongarch_split_symbol_type): Likewise. - (loongarch_split_symbol): Check SYMBOL_PCREL64 instead of - TARGET_CMODEL_EXTREME for PC-relative addressing. - (loongarch_print_operand_reloc): Likewise. - * doc/extend.texi (Variable Attributes): Document new - LoongArch specific attribute. - -2022-08-25 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.cc (loongarch_classify_symbol): - Return early if the rtx is not SYMBOL_REF. - -2022-08-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106737 - * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not - verify SSA form. - -2022-08-25 Chenghua Xu <xuchenghua@loongson.cn> - - PR target/106459 - * config/loongarch/loongarch.cc (loongarch_build_integer): - Use HOST_WIDE_INT. - * config/loongarch/loongarch.h (IMM_REACH): Likewise. - (HWIT_1U): New Defined. - (LU12I_OPERAND): Use HOST_WIDE_INT. - (LU32I_OPERAND): Likewise. - (LU52I_OPERAND): Likewise. - (HWIT_UC_0xFFF): Likwise. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - PR target/106632 - PR target/106588 - * config/riscv/bitmanip.md (*shNadduw): Use n constraint - instead of i. - (*slliuw): Likewise. - (*bexti): Likewise. Also add a check for operands[2] to be less - than the mode bitsize. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - * config/riscv/constraints.md (DbS): New constraint. - (DnS): New constraint. - * config/riscv/bitmanip.md (*bset<mode>_1_mask): Use new constraint. - (*bclr<mode>): Likewise. - (*binvi<mode>): Likewise. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - PR target/106586 - * config/riscv/predicates.md (single_bit_mask_operand): - Use SINGLE_BIT_MASK_OPERAND instead of directly calling pow2p_hwi. - (not_single_bit_mask_operand): Likewise. - * config/riscv/riscv.cc (riscv_build_integer_1): Don't special case - 1<<31 for 32bits as it is already handled. - Call trunc_int_for_mode on the upper part after the subtraction. - (riscv_move_integer): Call trunc_int_for_mode before generating - the integer just make sure the constant has been sign extended - corectly. - (riscv_emit_int_compare): Call trunc_int_for_mode after doing the - addition for the new rhs. - * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): If !TARGET64BIT, - then mask off the upper 32bits of the HWI as it will be sign extended. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - * config/riscv/constraints.md (DsS): New constraint. - (DsD): New constraint. - * config/riscv/iterators.md (shiftm1c): New iterator. - * config/riscv/bitmanip.md (*bset<mode>_mask): - Use shiftm1c. - (*bset<mode>_1_mask): Likewise. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - * config/riscv/constraints.md (Ds3): New constraint. - * config/riscv/predicates.md (imm123_operand): New predicate. - * config/riscv/bitmanip.md (*shNadd): Use Ds3 and imm123_operand. - (*shNadduw): Likewise. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - * config/riscv/riscv.cc (riscv_print_operand): - Handle '~'. - (riscv_print_operand_punct_valid_p): New function - (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define. - * config/riscv/bitmanip.md (<bitmanip_optab>si2/clz_ctz_pcnt): - Use %~ instead of conditional the pattern on TARGET_64BIT. - (rotrsi3): Likewise. - (rotlsi3): Likewise. - * config/riscv/riscv.md: Add ~ to the list of modifiers. - (addsi3): Use %~ instead of conditional the pattern on TARGET_64BIT. - (subsi3): Likewise. - (negsi2): Likewise. - (mulsi3): Likewise. - (optab>si3/any_div): Likewise. - (*add<mode>hi3): Likewise. - (<optab>si3/any_shift): Likewise. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - * config/riscv/riscv.cc (riscv_print_operand): Make a mention to - keep the list in riscv.md in sync with this list. - * config/riscv/riscv.md: Add list of modifiers as comments. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - * config/riscv/sync.md (any_atomic, atomic_optab): Move to ... - * config/riscv/iterators.md: Here. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - * config/riscv/bitmanip.md - (bitmanip_bitwise, bitmanip_minmax, clz_ctz_pcna, - tbitmanip_optab, bitmanip_insn, shiftm1): Move to ... - * config/riscv/iterators.md: Here. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - * config/riscv/riscv.md (GPR): Move to new file. - (P, X, BR): Likewise. - (MOVE32, MOVE64, SHORT): Likewise. - (HISI, SUPERQI, SUBX): Likewise. - (ANYI, ANYF, SOFTF): Likewise. - (size, load, default_load): Likewise. - (softload, store, softstore): Likewise. - (reg, fmt, ifmt, amo): Likewise. - (UNITMODE, HALFMODE): Likewise. - (RINT, rint_pattern, rint_rm): Likewise. - (QUIET_COMPARISON, quiet_pattern, QUIET_PATTERN): Likewise. - (any_extend, any_shiftrt, any_shift): Likewise. - (any_bitwise): Likewise. - (any_div, any_mod): Likewise. - (any_gt, any_ge, any_lt, any_le): Likewise. - (u, su): Likewise. - (optab, insn): Likewise. - * config/riscv/iterators.md: New file. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - PR target/106601 - * config/riscv/bitmanip.md (bswaphi2): New pattern. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - PR target/106600 - * config/riscv/bitmanip.md (bswap<mode>2): Remove - condition on TARGET_64BIT as X is already conditional there. - -2022-08-24 Joseph Myers <joseph@codesourcery.com> - - * tree.cc (build_real): Give DFP dconst0 the minimum quantum - exponent for the type. - -2022-08-24 Jose E. Marchesi <jose.marchesi@oracle.com> - - PR target/106733 - * config/bpf/bpf.cc (bpf_legitimate_address_p): Recognize integer - constants as legitimate addresses for functions. - (bpf_small_register_classes_for_mode_p): Define target hook. - -2022-08-24 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc: Move predicate normalization - after the comment documenting it. - -2022-08-24 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.h (predicate): Split out - non-predicate related functionality into .. - (uninit_analysis): .. this new class. - * gimple-predicate-analysis.cc: Refactor into two classes. - * tree-ssa-uninit.cc (find_uninit_use): Use uninit_analysis. - -2022-08-24 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (predicate::use_cannot_happen): - Do simple_control_dep_chain only up to cd_root, add the PHI - operand edge to the chains like init_from_phi_def does. - (predicate::is_use_guarded): Speedup early out, avoid half-way - initializing the PHI def predicate. - -2022-08-24 Jakub Jelinek <jakub@redhat.com> - - PR target/106721 - * config/i386/sse.md (shuffletype): Add V32BF, V16BF and V8BF entries. - Change V32HF, V16HF and V8HF entries from "f" to "i". - (iptr): Add V32BF, V16BF, V8BF and BF entries. - (i128vldq): Add V16HF and V16BF entries. - (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo, - mask_opernad3 -> mask_operand3. - -2022-08-24 Martin Liska <mliska@suse.cz> - Jørgen Kvalsvik <j@lambda.is> - - * gcov.cc (add_line_counts): Add group functions to coverage - summary. - (accumulate_line_counts): Similarly for files. - -2022-08-24 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/genopts/loongarch-strings: Support code model medium. - * config/loongarch/genopts/loongarch.opt.in: Likewise. - * config/loongarch/loongarch-def.c: Likewise. - * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise. - (CMODEL_EXTREME): Likewise. - (N_CMODEL_TYPES): Likewise. - (CMODEL_MEDIUM): Likewise. - * config/loongarch/loongarch-opts.cc: Likewise. - * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise. - * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise. - * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr): - Tls symbol Loading support medium mode. - (loongarch_legitimize_call_address): When medium mode, make a symbolic - jump with two instructions. - (loongarch_option_override_internal): Support medium. - * config/loongarch/loongarch.md (@pcalau12i<mode>): New template. - (@sibcall_internal_1<mode>): New function call templates added to support - medium mode. - (@sibcall_value_internal_1<mode>): Likewise. - (@sibcall_value_multiple_internal_1<mode>): Likewise. - (@call_internal_1<mode>): Likewise. - (@call_value_internal_1<mode>): Likewise. - (@call_value_multiple_internal_1<mode>): Likewise. - * config/loongarch/loongarch.opt: Support medium. - * config/loongarch/predicates.md: Add processing about medium mode. - * doc/invoke.texi: Document for '-mcmodel=medium'. - -2022-08-24 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (predicate::use_cannot_happen): - Start the compute_control_dep_chain walk from the immediate - dominator of the PHI. - -2022-08-23 H.J. Lu <hjl.tools@gmail.com> - - PR target/106714 - * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to - __PTRDIFF_TYPE__. - (_tile_stream_loadd_internal): Likewise. - (_tile_stored_internal): Likewise. - -2022-08-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106722 - * gimple-predicate-analysis.h (MAX_NUM_CHAINS, MAX_CHAIN_LEN, - MAX_POSTDOM_CHECK, MAX_SWITCH_CASES): Move ... - * gimple-predicate-analysis.cc: ... here and document. - (simple_control_dep_chain): New function, factored from - predicate::use_cannot_happen. - (predicate::use_cannot_happen): Adjust. - (predicate::predicate): Use simple_control_dep_chain as fallback. - -2022-08-23 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (foperator_equal::op1_range): Set range to - range of op2. - -2022-08-23 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (is_loop_exit): Split out - from ... - (is_non_loop_exit_postdominating): ... here. Remove after - inlining ... - (find_control_equiv_block): ... here. - (compute_control_dep_chain): ... and here. - (predicate::is_use_guarded): Do not excempt loop exits - from short-cutting the case of the use post-dominating the - PHI definition. - -2022-08-23 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106687 - * range-op.cc (operator_minus::lhs_op1_relation): Return VREL_LE - for the VREL_GT case as well. - -2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/pru/pru.md (pru_<code>di3): New alternative for - two operands but without earlyclobber. - -2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/pru/pru.md (prumov<mode>, mov<mode>): Add - variants for loading -1 consts. - -2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> - - PR target/106564 - * config/pru/constraints.md (Um): New constraint for -1. - (Uf): New constraint for IOR fill-bytes constants. - (Uz): New constraint for AND zero-bytes constants. - * config/pru/predicates.md (const_fillbytes_operand): New - predicate for IOR fill-bytes constants. - (const_zerobytes_operand): New predicate for AND zero-bytes - constants. - * config/pru/pru-protos.h (pru_output_sign_extend): Remove. - (struct pru_byterange): New struct to describe a byte range. - (pru_calc_byterange): New declaration. - * config/pru/pru.cc (pru_rtx_costs): Add penalty for - 64-bit zero-extend. - (pru_output_sign_extend): Remove. - (pru_calc_byterange): New helper function to extract byte - range info from a constant. - (pru_print_operand): Remove 'y' and 'z' print modifiers. - * config/pru/pru.md (zero_extendqidi2): New pattern. - (zero_extendhidi2): New pattern. - (zero_extendsidi2): New pattern. - (extend<EQS0:mode><EQD:mode>2): Rewrite as an expand. - (@pru_ior_fillbytes<mode>): New pattern. - (@pru_and_zerobytes<mode>): New pattern. - (<code>di3): Rewrite as an expand and handle ZERO and FILL - special cases. - (pru_<code>di3): New name for <code>di3. - (@cbranch_qbbx_const_<BIT_TEST:code><HIDI:mode>): New pattern to - handle bit-test for 64-bit registers. - -2022-08-22 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.h (predicate::m_use_expr): Remove. - (predicate::def_expr): Likewise. - (predicate::use_expr): Likewise. - (predicate::expr): Likewise. - * gimple-predicate-analysis.cc (predicate::def_expr): Remove. - (predicate::use_expr): Likewise. - (predicate::expr): Likewise. - (predicate::is_use_guarded): Do not build m_use_expr. - -2022-08-22 Martin Liska <mliska@suse.cz> - - PR lto/106700 - * configure.ac: Detect O_NONBLOCK flag for open. - * config.in: Regenerate. - * configure: Regenerate. - * opts-common.cc (jobserver_info::connect): Set is_connected - properly based on O_NONBLOCK. - * opts-jobserver.h (struct jobserver_info): Add is_connected - member variable. - -2022-08-22 zhongjuzhe <juzhe.zhong@rivai.ai> - - * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value - and repeat value different. - -2022-08-22 Tobias Burnus <tobias@codesourcery.com> - - PR lto/106686 - * lto-wrapper.cc (free_array_of_ptrs): Move before tool_cleanup. - (tool_cleanup): Unlink offload_names. - (compile_offload_image): Take filename argument to set it early. - (compile_images_for_offload_targets): Update call; set - offload_names to NULL after freeing the array. - -2022-08-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105937 - * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs - on backedges. - (execute_late_warn_uninitialized): Mark backedges. - -2022-08-22 Richard Biener <rguenther@suse.de> - - * gimple-predicate-analysis.cc (predicate::use_cannot_happen): - If the use is guarded with multiple predicate paths compute - the predicates intersection before going forward. When - compute_control_dep_chain wasn't able to come up with at - least one path from function entry to the PHI edge compute - a conservative sparse path instead. - -2022-08-20 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch-opts.cc: Allow cmodel to be extreme. - * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr): - Add extreme support for TLS GD and LD types. - (loongarch_legitimize_tls_address): Add extreme support for TLS LE - and IE. - (loongarch_split_symbol): When compiling with -mcmodel=extreme, - the symbol address will be obtained through five instructions. - (loongarch_print_operand_reloc): Add support. - (loongarch_print_operand): Add support. - (loongarch_print_operand_address): Add support. - (loongarch_option_override_internal): Set '-mcmodel=extreme' option - incompatible with '-mno-explicit-relocs'. - * config/loongarch/loongarch.md (@lui_l_hi20<mode>): - Loads bits 12-31 of data into registers. - (lui_h_lo20): Load bits 32-51 of the data and spell bits 0-31 of - the source register. - (lui_h_hi12): Load bits 52-63 of the data and spell bits 0-51 of - the source register. - * config/loongarch/predicates.md: Symbols need to be decomposed - when defining the macro TARGET_CMODEL_EXTREME - * doc/invoke.texi: Modify the description information of cmodel in the document. - Document -W[no-]extreme-plt. - -2022-08-19 Tobias Burnus <tobias@codesourcery.com> - - * config/gcn/mkoffload.cc (main): Add omp_requires_file and dbgobj to - files_to_cleanup. - * config/i386/intelmic-mkoffload.cc (prepare_target_image): Add - omp_requires_file to temp_files. - * config/nvptx/mkoffload.cc (omp_requires_file): New global static var. - (main): Remove local omp_requires_file var. - (tool_cleanup): Handle omp_requires_file. - -2022-08-19 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-path.cc (path_range_query::path_range_query): - Remove constructor that takes edge. - * gimple-range-path.h (class path_range_query): Same. - * tree-ssa-loop-ch.cc (edge_range_query): New. - (entry_loop_condition_is_static): Call edge_range_query. - -2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.h - (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): - Add new register class "ISC_REGS". - * config/xtensa/constraints.md (c): Add new register constraint. - * config/xtensa/xtensa.md (define_constants): Remove "A11_REG". - (sibcall_internal, sibcall_value_internal): - Change to use the new register constraint, and remove two split - patterns for fixups that are no longer needed. - -2022-08-18 Maciej W. Rozycki <macro@embecosm.com> - - * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output - pattern formatting. - -2022-08-18 Tim Lange <mail@tim-lange.me> - - PR analyzer/106181 - * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic. - -2022-08-18 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-path.cc (path_range_query::path_range_query): Add - various constructors to take a path. - (path_range_query::~path_range_query): Remove m_alloced_ranger. - (path_range_query::range_on_path_entry): Adjust for m_ranger being - a reference. - (path_range_query::set_path): Rename to... - (path_range_query::reset_path): ...this and call compute_ranges. - (path_range_query::ssa_range_in_phi): Adjust for m_ranger - reference. - (path_range_query::range_defined_in_block): Same. - (path_range_query::compute_ranges_in_block): Same. - (path_range_query::adjust_for_non_null_uses): Same. - (path_range_query::compute_exit_dependencies): Use m_path instead - of argument. - (path_range_query::compute_ranges): Remove path argument. - (path_range_query::range_of_stmt): Adjust for m_ranger reference. - (path_range_query::compute_outgoing_relations): Same. - * gimple-range-path.h (class path_range_query): Add various - constructors. - Make compute_ranges and compute_exit_dependencies private. - Rename set_path to reset_path. - Make m_ranger a reference. - Remove m_alloced_ranger. - * tree-ssa-dom.cc (pass_dominator::execute): Adjust constructor to - path_range_query. - * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Take a - ranger and instantiate a new path_range_query every time. - (ch_base::copy_headers): Pass ranger instead of path_range_query. - * tree-ssa-threadbackward.cc (class back_threader): Remove m_solver. - (back_threader::~back_threader): Remove m_solver. - (back_threader::find_taken_edge_switch): Adjust for m_ranger - reference. - (back_threader::find_taken_edge_cond): Same. - (back_threader::dump): Remove m_solver. - (back_threader::back_threader): Move verify_marked_backedges - here from the path_range_query constructor. - * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Move - some code from compute_ranges_from_state here. - (hybrid_jt_simplifier::compute_ranges_from_state): Rename... - (hybrid_jt_simplifier::compute_exit_dependencies): ...to this. - * tree-ssa-threadedge.h (class hybrid_jt_simplifier): Rename - compute_ranges_from_state to compute_exit_dependencies. - Remove m_path. - -2022-08-18 Richard Biener <rguenther@suse.de> - - PR middle-end/106617 - * match.pd ((a ? b : c) > d -> a ? (b > d) : (c > d)): Fix - guard, disable on GENERIC to not cause quadratic behavior - with the fold-const.cc implementation and the use of ! - -2022-08-18 Andrew Pinski <apinski@marvell.com> - - PR gcov-profile/106659 - * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with - INCLUDE_VECTOR. - -2022-08-18 konglin1 <lingling.kong@intel.com> - - * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle vector - BFmode. - (ix86_expand_vector_init_duplicate): Support vector BFmode. - (ix86_expand_vector_init_one_nonzero): Ditto. - (ix86_expand_vector_init_one_var): Ditto. - (ix86_expand_vector_init_concat): Ditto. - (ix86_expand_vector_init_interleave): Ditto. - (ix86_expand_vector_init_general): Ditto. - (ix86_expand_vector_init): Ditto. - (ix86_expand_vector_set_var): Ditto. - (ix86_expand_vector_set): Ditto. - (ix86_expand_vector_extract): Ditto. - * config/i386/i386.cc (classify_argument): Add BF vector modes. - (function_arg_64): Ditto. - (ix86_gimplify_va_arg): Ditto. - (ix86_get_ssemov): Ditto. - * config/i386/i386.h (VALID_AVX256_REG_MODE): Add BF vector modes. - (VALID_AVX512F_REG_MODE): Ditto. - (host_detect_local_cpu): Ditto. - (VALID_SSE2_REG_MODE): Ditto. - * config/i386/i386.md: Add BF vector modes. - (MODE_SIZE): Ditto. - (ssemodesuffix): Add bf suffix for BF vector modes. - (ssevecmode): Ditto. - * config/i386/sse.md (VMOVE): Adjust for BF vector modes. - (VI12HFBF_AVX512VL): Ditto. - (V_256_512): Ditto. - (VF_AVX512HFBF16): Ditto. - (VF_AVX512BWHFBF16): Ditto. - (VIHFBF): Ditto. - (avx512): Ditto. - (VIHFBF_256): Ditto. - (VIHFBF_AVX512BW): Ditto. - (VI2F_256_512):Ditto. - (V8_128):Ditto. - (V16_256): Ditto. - (V32_512): Ditto. - (sseinsnmode): Ditto. - (sseconstm1): Ditto. - (sseintmodesuffix): New mode_attr. - (avx512fmaskmode): Ditto. - (avx512fmaskmodelower): Ditto. - (ssedoublevecmode): Ditto. - (ssehalfvecmode): Ditto. - (ssehalfvecmodelower): Ditto. - (ssescalarmode): Add vector BFmode mapping. - (ssescalarmodelower): Ditto. - (ssexmmmode): Ditto. - (ternlogsuffix): Ditto. - (ssescalarsize): Ditto. - (sseintprefix): Ditto. - (i128): Ditto. - (xtg_mode): Ditto. - (bcstscalarsuff): Ditto. - (<avx512>_blendm<mode>): New define_insn for BFmode. - (<avx512>_store<mode>_mask): Ditto. - (vcond_mask_<mode><avx512fmaskmodelower>): Ditto. - (vec_set<mode>_0): New define_insn for BF vector set. - (V8BFH_128): New mode_iterator for BFmode. - (avx512fp16_mov<mode>): Ditto. - (vec_set<mode>): New define_insn for BF vector set. - (@vec_extract_hi_<mode>): Ditto. - (@vec_extract_lo_<mode>): Ditto. - (vec_set_hi_<mode>): Ditto. - (vec_set_lo_<mode>): Ditto. - (*vec_extract<mode>_0): New define_insn_and_split for BF - vector extract. - (*vec_extract<mode>): New define_insn. - (VEC_EXTRACT_MODE): Add BF vector modes. - (PINSR_MODE): Add V8BF. - (sse2p4_1): Ditto. - (pinsr_evex_isa): Ditto. - (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support - insert for V8BFmode. - (pbroadcast_evex_isa): Add BF vector modes. - (AVX2_VEC_DUP_MODE): Ditto. - (VEC_INIT_MODE): Ditto. - (VEC_INIT_HALF_MODE): Ditto. - (avx2_pbroadcast<mode>): Adjust to support BF vector mode - broadcast. - (avx2_pbroadcast<mode>_1): Ditto. - (<avx512>_vec_dup<mode>_1): Ditto. - (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>): - Ditto. - -2022-08-18 Martin Liska <mliska@suse.cz> - - * configure: Regenerate. - -2022-08-18 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/103109 - * config/rs6000/rs6000.md (<u>maddditi4): New pattern for multiply-add. - (<u>madddi4_highpart): New. - (<u>madddi4_highpart_le): New. - -2022-08-18 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-path.cc - (path_range_query::compute_exit_dependencies): Use - gimple_range_ssa_names. - -2022-08-18 zhongjuzhe <juzhe.zhong@rivai.ai> - - * config/riscv/predicates.md: Adjust runtime invariant. - * config/riscv/riscv-modes.def (MAX_BITSIZE_MODE_ANY_MODE): New. - (NUM_POLY_INT_COEFFS): New. - * config/riscv/riscv-protos.h (riscv_initial_elimination_offset):Adjust - runtime invariant. - * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls): - Adjust runtime invariant. - * config/riscv/riscv.cc (struct riscv_frame_info): Adjust runtime - invariant. - (enum riscv_microarchitecture_type): Ditto. - (riscv_valid_offset_p): Ditto. - (riscv_valid_lo_sum_p): Ditto. - (riscv_address_insns): Ditto. - (riscv_load_store_insns): Ditto. - (riscv_legitimize_move): Ditto. - (riscv_binary_cost): Ditto. - (riscv_rtx_costs): Ditto. - (riscv_output_move): Ditto. - (riscv_extend_comparands): Ditto. - (riscv_flatten_aggregate_field): Ditto. - (riscv_get_arg_info): Ditto. - (riscv_pass_by_reference): Ditto. - (riscv_elf_select_rtx_section): Ditto. - (riscv_stack_align): Ditto. - (riscv_compute_frame_info): Ditto. - (riscv_initial_elimination_offset): Ditto. - (riscv_set_return_address): Ditto. - (riscv_for_each_saved_reg): Ditto. - (riscv_first_stack_step): Ditto. - (riscv_expand_prologue): Ditto. - (riscv_expand_epilogue): Ditto. - (riscv_can_use_return_insn): Ditto. - (riscv_secondary_memory_needed): Ditto. - (riscv_hard_regno_nregs): Ditto. - (riscv_convert_vector_bits): New. - (riscv_option_override): Adjust runtime invariant. - (riscv_promote_function_mode): Ditto. - * config/riscv/riscv.h (POLY_SMALL_OPERAND_P): New. - (BITS_PER_RISCV_VECTOR): New. - (BYTES_PER_RISCV_VECTOR): New. - * config/riscv/riscv.md: Adjust runtime invariant. - -2022-08-18 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr): - Get __tls_get_addr address through got table when disable plt. - -2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_expand_prologue): - Use an "addmi" machine instruction for updating the stack pointer - rather than addition/subtraction via hard register A9, if the amount - of change satisfies the literal value conditions of that instruction - when the CALL0 ABI is used. - (xtensa_expand_epilogue): Ditto. - And also inhibit the stack pointer addition of constant zero. - -2022-08-17 Roger Sayle <roger@nextmovesoftware.com> - - PR target/106640 - * config/i386/i386-features.cc - (timde_scalar_chain::compute_convert_gain): Replace incorrect use - of XINT with INTVAL (XEXP (src, 1)). - -2022-08-17 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-path.cc - (path_range_query::compute_ranges_in_block): Remove - set_root_oracle call. - (path_range_query::compute_ranges): Pass ranger oracle to - reset_path. - * value-relation.cc (path_oracle::reset_path): Set root oracle. - * value-relation.h (path_oracle::reset_path): Add root oracle - argument. - -2022-08-17 Marek Polacek <polacek@redhat.com> - - PR c++/89780 - * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Handle - OPT_Wpessimizing_move and OPT_Wredundant_move. - * diagnostic-spec.h (nowarn_spec_t): Add NW_REDUNDANT enumerator. - -2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - Jakub Jelinek <jakub@redhat.com> - - PR fortran/46539 - * common.opt (static-libquadmath): New option. - * gcc.cc (driver_handle_option): Always accept -static-libquadmath. - * config/darwin.h (LINK_SPEC): Handle -static-libquadmath. - -2022-08-17 Tobias Burnus <tobias@codesourcery.com> - - * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic - when filenames come out identically. - -2022-08-17 Tobias Burnus <tobias@codesourcery.com> - - PR middle-end/106548 - * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref - for 'simd' linear-step values that are variable. - -2022-08-17 Tobias Burnus <tobias@codesourcery.com> - Chung-Lin Tang <cltang@codesourcery.com> - - PR c++/104493 - * gimplify.cc (omp_notice_variable): Call omp_mappable_type - instead of removed langhook. - * omp-general.h (omp_mappable_type): New prototype. - * omp-general.cc (omp_mappable_type): New; moved from ... - * langhooks.cc (lhd_omp_mappable_type): ... here. - * langhooks-def.h (lhd_omp_mappable_type, - LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove. - (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remote the latter. - * langhooks.h (struct lang_hooks_for_types): Remove - omp_mappable_type. - -2022-08-17 Christophe Lyon <christophe.lyon@arm.com> - - * config.gcc (arm): Define with_float to hard if target name ends - with 'hf'. - -2022-08-17 Richard Biener <rguenther@suse.de> - - * tree-ssa-threadbackward.cc - (back_threader_profitability): Split profitable_path_p - into possibly_profitable_path_p and itself, keep state - as new members. - (back_threader::m_profit): Remove. - (back_threader::find_paths): Likewise. - (back_threader::maybe_register_path): Take profitability - instance as parameter. - (back_threader::find_paths_to_names): Likewise. Use - possibly_profitable_path_p and avoid the path range query - when the path is currently too large. - (back_threader::find_paths): Fold into ... - (back_threader::maybe_thread_block): ... this. - (get_gimple_control_stmt): Remove. - (back_threader_profitability::possibly_profitable_path_p): - Split out from profitable_path_p, do early profitability - checks. - (back_threader_profitability::profitable_path_p): Do final - profitability path after the taken edge has been determined. - -2022-08-17 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern. - (fmin<mode>3): Likewise. - -2022-08-17 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (gimple_range_ssa_names): New. - * gimple-range-fold.h (gimple_range_ssa_names): New prototype. - * gimple-range-gori.cc (range_def_chain::get_def_chain): Move - code to new routine. - -2022-08-16 Martin Liska <mliska@suse.cz> - - PR target/106637 - * doc/install.texi: Remove link to www.bullfreeware.com - -2022-08-16 Kito Cheng <kito.cheng@sifive.com> - - * common/config/riscv/riscv-common.cc (riscv_implied_info): Add - zfh and zfhmin. - (riscv_ext_version_table): Ditto. - (riscv_ext_flag_table): Ditto. - * config/riscv/riscv-opts.h (MASK_ZFHMIN): New. - (MASK_ZFH): Ditto. - (TARGET_ZFHMIN): Ditto. - (TARGET_ZFH): Ditto. - * config/riscv/riscv.cc (riscv_output_move): Handle HFmode move - for zfh and zfhmin. - (riscv_emit_float_compare): Handle HFmode. - * config/riscv/riscv.md (ANYF): Add HF. - (SOFTF): Add HF. - (load): Ditto. - (store): Ditto. - (truncsfhf2): New. - (truncdfhf2): Ditto. - (extendhfsf2): Ditto. - (extendhfdf2): Ditto. - (*movhf_hardfloat): Ditto. - (*movhf_softfloat): Make sure not ZFHMIN. - * config/riscv/riscv.opt (riscv_zf_subext): New. - -2022-08-16 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/riscv-builtins.cc: include stringpool.h - (riscv_float16_type_node): New. - (riscv_init_builtin_types): Ditto. - (riscv_init_builtins): Call riscv_init_builtin_types. - * config/riscv/riscv-modes.def (HF): New. - * config/riscv/riscv.cc (riscv_output_move): Handle HFmode. - (riscv_mangle_type): New. - (riscv_scalar_mode_supported_p): Ditto. - (riscv_libgcc_floating_mode_supported_p): Ditto. - (riscv_excess_precision): Ditto. - (riscv_floatn_mode): Ditto. - (riscv_init_libfuncs): Ditto. - (TARGET_MANGLE_TYPE): Ditto. - (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto. - (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Ditto. - (TARGET_INIT_LIBFUNCS): Ditto. - (TARGET_C_EXCESS_PRECISION): Ditto. - (TARGET_FLOATN_MODE): Ditto. - * config/riscv/riscv.md (mode): Add HF. - (softload): Add HF. - (softstore): Ditto. - (fmt): Ditto. - (UNITMODE): Ditto. - (movhf): New. - (*movhf_softfloat): New. - -2022-08-16 Richard Biener <rguenther@suse.de> - - * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names): - Do not walk further if we are leaving the current loop. - -2022-08-16 Sergei Trofimovich <siarheit@google.com> - - PR driver/106624 - * gcc.cc (driver::detect_jobserver): Allocate storage xputenv() - argument using xstrdup(). - -2022-08-16 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-path.cc (path_range_query::import_p): Rename to... - (path_range_query::exit_dependency_p): ...this. - (path_range_query::dump): Rename imports to exit dependencies. - (path_range_query::compute_ranges_in_phis): Same. - (path_range_query::compute_ranges_in_block): Same. - (path_range_query::adjust_for_non_null_uses): Same. - (path_range_query::compute_ranges): Same. - (path_range_query::compute_phi_relations): Same. - (path_range_query::add_to_imports): Rename to... - (path_range_query::add_to_exit_dependencies): ...this. - (path_range_query::compute_imports): Rename to... - (path_range_query::compute_exit_dependencies): ...this. - * gimple-range-path.h (class path_range_query): Rename imports to - exit dependencies. - -2022-08-16 Martin Liska <mliska@suse.cz> - - * value-range-storage.h (class obstack_vrange_allocator): Mark - the class as final. - (class ggc_vrange_allocator): Likewise. - -2022-08-16 Martin Liska <mliska@suse.cz> - - * value-range-equiv.h (class value_range_equiv): Add virtual - destructor. - * value-range.h: Likewise. - -2022-08-16 Richard Biener <rguenther@suse.de> - - PR middle-end/106630 - * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to - narrowing conversions. - -2022-08-16 Martin Liska <mliska@suse.cz> - - * value-range-equiv.h (class value_range_equiv): - -2022-08-16 Martin Liska <mliska@suse.cz> - - * config/i386/i386-features.h (class general_scalar_chain): Add - final override for a method. - (class timode_scalar_chain): Likewise. - -2022-08-16 Richard Biener <rguenther@suse.de> - - * doc/invoke.texi (max-jump-thread-paths): Adjust. - -2022-08-16 Martin Liska <mliska@suse.cz> - - * opts-common.cc (jobserver_info::connect): Open fifo - in non-blocking mode. - -2022-08-16 Kewen.Lin <linkw@gcc.gnu.org> - - PR target/103353 - * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition - check to preparation statements and add handlings for !TARGET_MMA. - (define_expand movxo): Likewise. - -2022-08-16 Kewen Lin <linkw@linux.ibm.com> - - PR tree-optimization/106322 - * tree-vect-stmts.cc (vectorizable_call): Don't allow - vect_emulated_vector_p type for both vectype_in and vectype_out. - -2022-08-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * common/config/xtensa/xtensa-common.cc - (xtensa_option_optimization_table): Add OPT_fsplit_wide_types_early - for OPT_LEVELS_ALL in order to restore pre-GCC10 behavior. - -2022-08-15 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106621 - * value-range.cc (irange::set): Check for POLY_INT_CST early. - -2022-08-15 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-features.cc - (timode_scalar_chain::compute_convert_gain): Provide costs for - shifts and rotates. - (timode_scalar_chain::convert_insn): Handle ASHIFTRT, ROTATERT - and ROTATE just like existing ASHIFT and LSHIFTRT cases. - (timode_scalar_to_vector_candidate_p): Handle all shifts and - rotates by integer constants between 0 and 127. - -2022-08-15 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-features.cc - (timode_scalar_chain::compute_convert_gain): Provide gains for - comparisons against 0/-1, including "*testti" patterns. - -2022-08-15 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/64992 - PR tree-optimization/98956 - * match.pd (ne (lshift @0 @1) 0): Simplify (X << C) != 0 to X - when X is zero_one_valued_p and the shift constant C is valid. - (eq (lshift @0 @1) 0): Likewise, simplify (X << C) == 0 to !X - when X is zero_one_valued_p and the shift constant C is valid. - -2022-08-15 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/71343 - * match.pd (op (lshift @0 @1) (lshift @2 @1)): Optimize the - expression (X<<C) + (Y<<C) to (X+Y)<<C for multiple operators. - (op (rshift @0 @1) (rshift @2 @1)): Likewise, simplify (X>>C)^(Y>>C) - to (X^Y)>>C for binary logical operators, AND, IOR and XOR. - -2022-08-15 Richard Biener <rguenther@suse.de> - - * gimple-range-path.cc (range_on_path_entry): Just - call range_on_entry. - -2022-08-15 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/106590 - * ifcvt.cc (check_for_cc_cmp_clobbers): New function. - (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs - mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any - further conditional moves. - -2022-08-15 konglin1 <lingling.kong@intel.com> - - * config/i386/i386-builtin-types.def (BFLOAT16): New primitive type. - * config/i386/i386-builtins.cc : Support __bf16 type for i386 backend. - (ix86_register_bf16_builtin_type): New function. - (ix86_bf16_type_node): New. - (ix86_bf16_ptr_type_node): Ditto. - (ix86_init_builtin_types): Add ix86_register_bf16_builtin_type function call. - * config/i386/i386-modes.def (FLOAT_MODE): Add BFmode. - (ADJUST_FLOAT_FORMAT): Ditto. - * config/i386/i386.cc (classify_argument): Handle BFmode. - (construct_container): Ditto. - (function_value_32): Return __bf16 by %xmm0. - (function_value_64): Return __bf16 by SSE register. - (ix86_output_ssemov): Handle BFmode. - (ix86_legitimate_constant_p): Disable BFmode constant double. - (ix86_secondary_reload): Require gpr as intermediate register - to store __bf16 from sse register when sse4 is not available. - (ix86_scalar_mode_supported_p): Enable __bf16 under sse2. - (ix86_mangle_type): Add manlging for __bf16 type. - (ix86_invalid_conversion): New function for target hook. - (ix86_invalid_unary_op): Ditto. - (ix86_invalid_binary_op): Ditto. - (TARGET_INVALID_CONVERSION): New define for target hook. - (TARGET_INVALID_UNARY_OP): Ditto. - (TARGET_INVALID_BINARY_OP): Ditto. - * config/i386/i386.h (host_detect_local_cpu): Add BFmode. - * config/i386/i386.md ("mode"): Add BFmode. - (MODE_SIZE): Ditto. - (X87MODEFH): Ditto. - (HFBF): Add new define_mode_iterator. - (*pushhf_rex64): Change for BFmode. - (*push<mode>_rex64): Ditto. - (*pushhf): Ditto. - (*push<mode>): Ditto. - (MODESH): Ditto. - (hfbfconstf): Add new define_mode_attr. - (*mov<mode>_internal): Add BFmode. - -2022-08-13 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/predicates.md (const_0_to_255_not_mul_8_operand): - New predicate for values between 0/1 and 255, not multiples of 8. - * config/i386/sse.md (ashlv1ti3): Delay lowering of logical left - shifts by constant bit counts. - (*ashlvti3_internal): New define_insn_and_split that lowers - logical left shifts by constant bit counts, that aren't multiples - of 8, before reload. - (lshrv1ti3): Delay lowering of logical right shifts by constant. - (*lshrv1ti3_internal): New define_insn_and_split that lowers - logical right shifts by constant bit counts, that aren't multiples - of 8, before reload. - (ashrv1ti3):: Delay lowering of arithmetic right shifts by - constant bit counts. - (*ashrv1ti3_internal): New define_insn_and_split that lowers - arithmetic right shifts by constant bit counts before reload. - (rotlv1ti3): Delay lowering of rotate left by constant. - (*rotlv1ti3_internal): New define_insn_and_split that lowers - rotate left by constant bits counts before reload. - (rotrv1ti3): Delay lowering of rotate right by constant. - (*rotrv1ti3_internal): New define_insn_and_split that lowers - rotate right by constant bits counts before reload. - -2022-08-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com> - - * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options. - -2022-08-12 Jan Hubicka <hubicka@ucw.cz> - - PR middle-end/106057 - * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New - function. - (possible_polymorphic_call_targets): Use it. - -2022-08-12 Andrew Carlotti <andrew.carlotti@arm.com> - - * tree-ssa-loop.h: Improve comment - -2022-08-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106506 - * tree-ssa-phiopt.cc (spaceship_replacement): Don't punt for - is_cast or orig_use_lhs cases if phi_bb has 3 predecessors. - -2022-08-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106593 - * tree-ssa-threadbackward.cc (back_threader::find_paths): - If the imports from the conditional do not satisfy - gimple_range_ssa_p don't try to thread anything. - -2022-08-12 Tamar Christina <tamar.christina@arm.com> - - PR target/106524 - * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine, - *fcmuo<mode>_bic_combine): Don't accept comparisons against zero. - -2022-08-12 Tim Lange <mail@tim-lange.me> - - PR analyzer/106000 - * doc/invoke.texi: Add Wanalyzer-out-of-bounds. - -2022-08-12 Andrew Pinski <apinski@marvell.com> - - * config/aarch64/aarch64.md: Remove comment - about MD_INCLUDES as it is out of date and not needed. - -2022-08-11 Richard Biener <rguenther@suse.de> - - * gimple-range-path.cc (path_range_query::compute_imports): - Restrict walking SSA defs to blocks inside the path. Track - the same operands as range_def_chain::get_def_chain does. - -2022-08-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106514 - * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names): - Compute and unwind both m_imports and interesting on the fly during - path discovery. - (back_threader::find_paths): Compute the original m_imports - from just the SSA uses of the exit conditional. Drop - handling single_succ_to_potentially_threadable_block. - * gimple-range-path.cc (path_range_query::ssa_range_in_phi): Handle - constant PHI arguments without crashing. Use PHI_ARG_DEF_FROM_EDGE. - -2022-08-11 Richard Biener <rguenther@suse.de> - - * gimple-range-path.h (path_range_query::compute_imports): - Take path as argument, not the exit block. - * gimple-range-path.cc (path_range_query::compute_imports): - Likewise, and adjust, avoiding possibly stale m_path. - (path_range_query::compute_outgoing_relations): Register - relations for all conditionals. - * tree-ssa-threadbackward.cc (back_threader::find_paths): - Adjust. - -2022-08-11 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Fix the - oversight on ENB_CELL by simplifying with rs6000_builtin_is_supported. - (rs6000_expand_builtin): Simplify with rs6000_builtin_is_supported. - -2022-08-11 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p): - Remove function declaration. - -2022-08-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106513 - * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t - for head_marker. - -2022-08-10 Martin Liska <mliska@suse.cz> - - PR lto/106328 - * opts-jobserver.h (struct jobserver_info): Add pipefd. - (jobserver_info::connect): New. - (jobserver_info::disconnect): Likewise. - (jobserver_info::get_token): Likewise. - (jobserver_info::return_token): Likewise. - * opts-common.cc: Implement the new functions. - -2022-08-10 Martin Liska <mliska@suse.cz> - - * opts-jobserver.h: Add one member. - * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO - format of --jobserver-auth. - -2022-08-10 Martin Liska <mliska@suse.cz> - - * gcc.cc (driver::detect_jobserver): Remove and move to - jobserver.h. - * lto-wrapper.cc (jobserver_active_p): Likewise. - (run_gcc): Likewise. - * opts-jobserver.h: New file. - * opts-common.cc (jobserver_info::jobserver_info): New function. - -2022-08-09 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-features.cc (scalar_chain::convert_compare): - Create new pseudos only when/if needed. Add support for TEST, - i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST. - When broadcasting V2DImode and V4SImode use new pseudo register. - (timode_scalar_chain::convert_op): Do nothing if operand is - already V1TImode. Avoid generating useless SUBREG conversions, - i.e. (SUBREG:V1TImode (REG:V1TImode) 0). Handle CONST_WIDE_INT - in addition to CONST_INT by using CONST_SCALAR_INT_P. - (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both - CONST_WIDE_INT and CONST_INT. Recognize new *testti_doubleword - pattern as an STV candidate. - (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P - operands in binary logic operations. - * config/i386/i386.cc (ix86_rtx_costs) <case UNSPEC>: Add costs - for UNSPEC_PTEST; a PTEST that performs an AND has the same cost - as regular PTEST, i.e. cost->sse_op. - * config/i386/i386.md (*testti_doubleword): New pre-reload - define_insn_and_split that recognizes comparison of TI mode AND - against zero. - * config/i386/sse.md (*ptest<mode>_and): New pre-reload - define_insn_and_split that recognizes UNSPEC_PTEST of identical - AND operands. - -2022-08-09 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR middle-end/21137 - PR tree-optimization/98954 - * fold-const.cc (fold_binary_loc): Remove optimizations to - optimize ((X >> C1) & C2) ==/!= 0. - * match.pd (cmp (bit_and (lshift @0 @1) @2) @3): Remove wi::ctz - check, and handle all values of INTEGER_CSTs @2 and @3. - (cmp (bit_and (rshift @0 @1) @2) @3): Likewise, remove wi::clz - checks, and handle all values of INTEGER_CSTs @2 and @3. - -2022-08-09 David Malcolm <dmalcolm@redhat.com> - - * doc/invoke.texi (Static Analyzer Options): Add notes on which - functions the analyzer has hardcoded knowledge of. - -2022-08-09 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn.cc (gcn_function_value): Allow vector return values. - (num_arg_regs): Allow vector arguments. - (gcn_function_arg): Likewise. - (gcn_function_arg_advance): Likewise. - (gcn_arg_partial_bytes): Likewise. - (gcn_return_in_memory): Likewise. - (gcn_expand_epilogue): Get return value from v8. - * config/gcn/gcn.h (RETURN_VALUE_REG): Set to v8. - (FIRST_PARM_REG): USE FIRST_SGPR_REG for clarity. - (FIRST_VPARM_REG): New. - (FUNCTION_ARG_REGNO_P): Allow vector parameters. - (struct gcn_args): Add vnum field. - (LIBCALL_VALUE): All vector return values. - * config/gcn/gcn.md (gcn_call_value): Add vector constraints. - (gcn_call_value_indirect): Likewise. - -2022-08-09 Richard Biener <rguenther@suse.de> - - * omp-expand.cc (expand_omp_atomic_load): Emit GIMPLE - directly. Avoid update_ssa when in SSA form. - (expand_omp_atomic_store): Likewise. - (expand_omp_atomic_fetch_op): Avoid update_ssa when in SSA - form. - (expand_omp_atomic_pipeline): Likewise. - (expand_omp_atomic_mutex): Likewise. - * tree-parloops.cc (gen_parallel_loop): Use - TODO_update_ssa_no_phi after loop_version. - -2022-08-09 Richard Biener <rguenther@suse.de> - - * doc/invoke.texi (max-fsm-thread-length): Remove. - * params.opt (max-fsm-thread-length): Likewise. - * tree-ssa-threadbackward.cc - (back_threader_profitability::profitable_path_p): Do not - check max-fsm-thread-length. - -2022-08-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106514 - * params.opt (max-jump-thread-paths): New. - * doc/invoke.texi (max-jump-thread-paths): Document. - * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names): - Honor max-jump-thread-paths, take overall_path argument. - (back_threader::find_paths): Pass 1 as initial overall_path. - -2022-08-09 Tobias Burnus <tobias@codesourcery.com> - - PR middle-end/106492 - * omp-low.cc (lower_rec_input_clauses): Add missing folding - to data type of linear-clause list item. - -2022-08-08 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106556 - * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use the - type of the cond_expr operands being evaluted. - -2022-08-08 Tom Honermann <tom@honermann.net> - - * ginclude/stdatomic.h (atomic_char8_t, - ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro. - -2022-08-08 Andrew Pinski <apinski@marvell.com> - - PR middle-end/103645 - * gimplify.cc (gimplify_init_constructor): Don't build/add - gimple assignment of an empty type. - -2022-08-08 Richard Biener <rguenther@suse.de> - - PR lto/106540 - PR lto/106334 - * dwarf2out.cc (dwarf2out_register_external_die): Restore - original assert. - * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1 - to input DECL_INITIAL, avoiding to commit drefs. - -2022-08-07 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.md (*cmp<dwi>_doubleword): Change predicate - for x86_64_hilo_general_operand to general operand. Call - force_reg on parts that are not x86_64_immediate_operand. - -2022-08-05 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105947 - * doc/invoke.texi: Add -Wanalyzer-jump-through-null. - -2022-08-05 Roger Sayle <roger@nextmovesoftware.com> - - * expmed.cc (emit_store_flag_1): Move code to expand double word - equality and inequality against zero or -1, using word operations, - to after trying to use the backend's cstore<mode>4 optab/expander. - -2022-08-05 Tamar Christina <tamar.christina@arm.com> - - PR middle-end/106534 - * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the - value_replacement and store_elim from diamonds. - -2022-08-05 Richard Biener <rguenther@suse.de> - - * tree-ssa-threadbackward.cc (back_threader::maybe_register_path): - Check whether the registry register_path rejected the path. - (back_threader_registry::register_path): Return whether - register_jump_thread succeeded. - -2022-08-05 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/106514 - * value-range.cc (unsupported_range::unsupported_range): Move... - * value-range.h (unsupported_range::unsupported_range): ...here. - (unsupported_range::set_undefined): New. - -2022-08-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106533 - * tree-loop-distribution.cc (loop_distribution::execute): Continue - analyzing the inner loops when find_seed_stmts_for_distribution - fails. - -2022-08-05 Andrew Pinski <apinski@marvell.com> - - * config/riscv/predicates.md (splittable_const_int_operand): - Remove the check for TARGET_64BIT for single bit const values. - -2022-08-04 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106514 - * gimple-range-path.cc (path_range_query::compute_ranges_in_block): - Use EXECUTE_IF_AND_IN_BITMAP to loop over 2 bitmaps. - -2022-08-04 Tamar Christina <tamar.christina@arm.com> - - * match.pd: New bit_not rule. - -2022-08-04 Tamar Christina <tamar.christina@arm.com> - - PR middle-end/106519 - * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for - diamond shapes. - -2022-08-04 Sam Feifer <sfeifer@redhat.com> - - PR tree-optimization/106243 - * match.pd (-x & 1): New simplification. - -2022-08-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106521 - * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Perform - CFG cleanup manually before rewriting into LC SSA. - -2022-08-04 Richard Biener <rguenther@suse.de> - - * tree-ssa-threadbackward.cc (populate_worklist): Remove. - (back_threader::resolve_phi): Likewise. - (back_threader::find_paths_to_names): Rewrite greedy search. - -2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com> - - * config/s390/vector.md (V_HW_FT): New iterator. - * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead - of V_HW. - -2022-08-03 Michael Meissner <meissner@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code - setting -mblock-ops-vector-pair. - -2022-08-03 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106514 - * value-relation.cc (path_oracle::killing_def) Do not walk the - equivalence set clearing bits. - -2022-08-03 Tamar Christina <tamar.christina@arm.com> - - * tree-ssa-phiopt.cc (minmax_replacement): Optionally search for the phi - sequence of a three-way conditional. - (replace_phi_edge_with_variable): Support diamonds. - (tree_ssa_phiopt_worker): Detect diamond phi structure for three-way - min/max. - (strip_bit_not, invert_minmax_code): New. - -2022-08-03 Richard Earnshaw <rearnsha@arm.com> - - PR rtl-optimization/106187 - * alias.h (mems_same_for_tbaa_p): Declare. - * alias.cc (mems_same_for_tbaa_p): New function. - * dse.cc (record_store): Use it instead of open-coding - alias check. - * cselib.h (cselib_redundant_set_p): Declare. - * cselib.cc: Include alias.h - (cselib_redundant_set_p): New function. - * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead - of rtx_equal_for_cselib_p. - * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p. - (reload_cse_noop_set_p): Delete. - -2022-08-03 Martin Liska <mliska@suse.cz> - - * doc/gcov-dump.texi: Document the new option. - * gcov-dump.cc (main): Parse the new option. - (print_usage): Show the option. - (tag_counters): Sort key:value pairs of TOP N counter. - -2022-08-03 Martin Liska <mliska@suse.cz> - - * profile.cc (compute_branch_probabilities): Do not collect - stats unless TDF_DETAILS. - -2022-08-03 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - PR target/47949 - * config/i386/i386.md (peephole2): New peephole2 to convert - SWI48 moves to/from %rax/%eax where the src is dead to xchg, - when optimizing for minimal size with -Oz. - -2022-08-03 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case - to split comparisons against -1 using AND and CMP -1 instructions. - -2022-08-03 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-features.cc (compute_convert_gain): Add gain - for converting suitable TImode shift to a V1TImode shift. - (timode_scalar_chain::convert_insn): Add support for converting - suitable ASHIFT and LSHIFTRT. - (timode_scalar_to_vector_candidate_p): Consider logical shifts - by integer constants that are multiples of 8 to be candidates. - -2022-08-03 Roger Sayle <roger@nextmovesoftware.com> - Segher Boessenkool <segher@kernel.crashing.org> - Richard Sandiford <richard.sandiford@arm.com> - - * simplify-rtx.cc (simplify_unary_operation_1) <ABS>: Add - optimizations for CLRSB, PARITY, POPCOUNT, SS_ABS and LSHIFTRT - that are all positive to complement the existing FFS and - idempotent ABS simplifications. - <SIGN_EXTEND>: Canonicalize SIGN_EXTEND to ZERO_EXTEND when - val_signbit_known_clear_p is true of the operand. - Simplify sign extensions of SUBREG truncations of operands - that are already suitably (zero) extended. - <ZERO_EXTEND>: Simplify zero extensions of SUBREG truncations - of operands that are already suitably zero extended. - -2022-08-02 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106510 - * gimple-range-fold.cc (fur_source::register_outgoing_edges): - Check for unsupported statements early. - -2022-08-02 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106474 - * gimple-range-cache.cc (ranger_cache::fill_block_cache): Query - range of equivalences that may contribute to the range. - -2022-08-02 Jose E. Marchesi <jose.marchesi@oracle.com> - - * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR - encoding bit in BTF. - -2022-08-02 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-fold.cc (fold_using_range::range_of_phi): Remove - irange check. - (tree_lower_bound): New. - (tree_upper_bound): New. - (fold_using_range::range_of_ssa_name_with_loop_info): Convert to - vrange. - * gimple-range-fold.h (range_of_ssa_name_with_loop_info): Change - argument to vrange. - -2022-08-02 Richard Biener <rguenther@suse.de> - - * tree-ssa-threadbackward.cc - (back_threader_profitability::profitable_path_p): Apply - size constraints to all paths again. - -2022-08-02 Aldy Hernandez <aldyh@redhat.com> - - * range-op-float.cc (finite_operands_p): New. - (frelop_early_resolve): New. - (default_frelop_fold_range): New. - (class foperator_equal): New. - (class foperator_not_equal): New. - (class foperator_lt): New. - (class foperator_le): New. - (class foperator_gt): New. - (class foperator_ge): New. - (class foperator_unordered): New. - (class foperator_ordered): New. - (class foperator_relop_unknown): New. - (floating_op_table::floating_op_table): Add above classes to - floating op table. - * value-range.h (frange::supports_p): Enable. - -2022-08-02 Aldy Hernandez <aldyh@redhat.com> - - * tree-core.h (struct tree_ssa_name): Add frange_info and - reshuffle the rest. - * value-range-storage.cc (vrange_storage::alloc_slot): Add case - for frange. - (vrange_storage::set_vrange): Same. - (vrange_storage::get_vrange): Same. - (vrange_storage::fits_p): Same. - (frange_storage_slot::alloc_slot): New. - (frange_storage_slot::set_frange): New. - (frange_storage_slot::get_frange): New. - (frange_storage_slot::fits_p): New. - * value-range-storage.h (class frange_storage_slot): New. - -2022-08-02 Aldy Hernandez <aldyh@redhat.com> - - * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger - query to integrals. - -2022-08-02 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (frange::set): Initialize m_props and cleanup. - -2022-08-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106497 - * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg): - Also verify we can copy EDGE_COPY_SRC_JOINER_BLOCK. - -2022-08-02 Martin Liska <mliska@suse.cz> - - * profile.cc (compute_branch_probabilities): Dump details only - if TDF_DETAILS. - * symtab.cc (symtab_node::dump_base): Do not dump pointer unless - TDF_ADDRESS is used, it makes comparison harder. - -2022-08-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106498 - * omp-expand.cc (expand_omp_taskreg): Do not perform virtual - SSA update here. - (expand_omp_for): Or here. - (execute_expand_omp): Instead schedule it here together - with CFG cleanup via TODO. - -2022-08-02 Richard Biener <rguenther@suse.de> - - PR lto/106334 - * dwarf2out.cc (dwarf2out_register_external_die): Adjust - assert. - -2022-08-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106495 - * tree-ssa-threadbackward.cc - (back_threader_profitability::profitable_path_p): If known_edge - is probably never executed avoid threading. - -2022-08-01 David Malcolm <dmalcolm@redhat.com> - - * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste - error. - -2022-08-01 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - PR target/106481 - * config/i386/i386-features.cc (timode_scalar_chain::convert_insn): - Convert a CONST_SCALAR_INT_P in a REG_EQUAL note into a V1TImode - CONST_VECTOR. - -2022-08-01 H.J. Lu <hjl.tools@gmail.com> - - PR target/83782 - * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New. - (TARGET_IFUNC_REF_LOCAL_OK): Use it. - -2022-08-01 Jose E. Marchesi <jose.marchesi@oracle.com> - - PR debug/106263 - * ctfc.h (struct ctf_dtdef): Add field linkage. - * ctfc.cc (ctf_add_function): Set ctti_linkage. - * dwarf2ctf.cc (gen_ctf_function_type): Pass a linkage for - function types and subprograms. - * btfout.cc (btf_asm_func_type): Emit linkage information for the - function. - (btf_dtd_emit_preprocess_cb): Propagate the linkage information - for functions. - -2022-08-01 Andrew Stubbs <ams@codesourcery.com> - Jakub Jelinek <jakub@redhat.com> - - * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match - the mask type. - -2022-08-01 Sam Feifer <sfeifer@redhat.com> - - PR tree-optimization/104992 - * match.pd (x / y * y == x): New simplification. - -2022-08-01 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (tree_compare): New. - (frange::set): Make more general. - (frange::normalize_kind): Cleanup and return bool. - (frange::union_): Use normalize_kind return value. - (frange::intersect): Same. - (frange::verify_range): Remove unnecessary else. - * value-range.h (vrp_val_max): Move before frange class. - (vrp_val_min): Same. - (frange::frange): Remove set to m_type. - -2022-08-01 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (vrange::supports_type_p): Use const_tree. - (irange::supports_type_p): Same. - (frange::supports_type_p): Same. - * value-range.h (Value_Range::supports_type_p): Same. - (irange::supports_p): Same. - -2022-08-01 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-fold.cc (fold_using_range::range_of_phi): Only - query SCEV for integers. - (fold_using_range::range_of_ssa_name_with_loop_info): Remove - irange check. - -2022-07-31 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.md (define_expand <any_rotate>ti3): For - rotations by 64 bits use new rot[lr]64ti2_doubleword pattern. - (rot[lr]64ti2_doubleword): New post-reload splitter. - -2022-07-31 Roger Sayle <roger@nextmovesoftware.com> - H.J. Lu <hjl.tools@gmail.com> - - PR target/106450 - * config/i386/i386-features.cc (timode_check_non_convertible_regs): - Do nothing if REGNO is set in the REGS bitmap, or is a hard reg. - (timode_remove_non_convertible_regs): Update comment. - Call timode_check_non_convertible_reg on all TImode register - DEFs and USEs in each instruction. - -2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md: Change hard register number used in - the split patterns for indirect sibling call fixups from 10 to 11, - the last free one for the CALL0 ABI. - -2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_rtx_costs): - Add new case for IF_THEN_ELSE. - -2022-07-29 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn-valu.md (V_INT_noHI): New iterator. - (<expander><mode>3<exec>): Use V_INT_noHI. - (v<expander><mode>3<exec>): Likewise. - -2022-07-29 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn.md (one_cmpldi2): New. - -2022-07-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105679 - * tree-ssa-threadbackward.cc - (back_threader_profitability::profitable_path_p): Avoid threading - when the entry edge is probably never executed. - -2022-07-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106422 - * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg): - Check whether we can copy thread blocks and cancel the thread if not. - -2022-07-29 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/106449 - * omp-expand.cc (expand_omp_simd): Fix up handling of pointer - iterators in non-rectangular simd loops. Unshare fd->loops[i].n2 - or n2 before regimplifying it inside of a condition. - -2022-07-29 Jakub Jelinek <jakub@redhat.com> - - * omp-expand.cc (expand_omp_for_init_counts, expand_omp_for_init_vars, - extract_omp_for_update_vars, expand_omp_for_ordered_loops, - expand_omp_simd): Don't fold_convert second argument to - fold_build_pointer_plus to sizetype. - -2022-07-29 Lulu Cheng <chenglulu@loongson.cn> - - * config.in: Regenerate. - * config/loongarch/loongarch.h (ASM_PREFERRED_EH_DATA_FORMAT): - Select the value of the macro definition according to whether - HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT is defined. - * configure: Regenerate. - * configure.ac: Reinstate HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT test. - -2022-07-29 Richard Biener <rguenther@suse.de> - - * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset): - Use CONVERT_EXPR_CODE_P. - -2022-07-29 Richard Biener <rguenther@suse.de> - - * tree-vect-patterns.cc (vect_recog_bool_pattern): Use - get_vectype_for_scalar_type instead of - vect_get_vector_types_for_stmt. - -2022-07-28 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105893 - * doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var. - -2022-07-28 David Malcolm <dmalcolm@redhat.com> - - * doc/invoke.texi (-fdiagnostics-show-cwe): Use uref rather than - url. - (Static Analyzer Options): Likewise. Add urefs for all of the - warnings that have associated CWE identifiers. - -2022-07-28 Maciej W. Rozycki <macro@embecosm.com> - - * doc/implement-c.texi (Floating point implementation): Mention - `-fno-trapping-math' in the context of FENV_ACCESS pragma. - * doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma - implication in the descriptions of `-fno-trapping-math' and - `-frounding-math'. - -2022-07-28 Maciej W. Rozycki <macro@embecosm.com> - - * config/riscv/riscv.md (UNSPECV_FSNVSNAN): New constant. - (QUIET_PATTERN): New int attribute. - (f<quiet_pattern>_quiet<ANYF:mode><X:mode>4): Emit the intended - RTL insns entirely within the preparation statements. - (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default) - (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Remove - insns. - (*riscv_fsnvsnan<mode>2): New insn. - -2022-07-28 Richard Biener <rguenther@suse.de> - - PR middle-end/106457 - * tree.cc (array_at_struct_end_p): Handle array objects - specially. - -2022-07-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106099 - * internal-fn.def (TRAP): New internal fn. - * internal-fn.h (expand_TRAP): Declare. - * internal-fn.cc (expand_TRAP): Define. - * gimple.cc (gimple_build_builtin_unreachable): For BUILT_IN_TRAP, - use internal fn rather than builtin. - -2022-07-27 Andrew Carlotti <andrew.carlotti@arm.com> - - * doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead. - -2022-07-27 WANG Xuerui <i@xen0n.name> - - * doc/invoke.texi: Document -m[no-]explicit-relocs for - LoongArch. - -2022-07-27 Maciej W. Rozycki <macro@embecosm.com> - - * config/riscv/riscv.md (stack_protect_set_<mode>): Remove - duplicate backslashes. - -2022-07-27 Maciej W. Rozycki <macro@embecosm.com> - - * config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New - case. - -2022-07-27 Jakub Jelinek <jakub@redhat.com> - - PR debug/106261 - * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't - output asm thunks for -dx. - -2022-07-27 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/106332 - * opts-common.cc (candidates_list_and_hint): Add gcc_assert - that candidates is not an empty vector. - -2022-07-27 Xi Ruoyao <xry111@xry111.site> - - * configure.ac (HAVE_AS_EXPLICIT_RELOCS): Define to 1 if the - assembler supports explicit relocation for LoongArch. - * configure: Regenerate. - * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS): - Define to 0 if not defined. - * config/loongarch/genopts/loongarch.opt.in - (TARGET_EXPLICIT_RELOCS): Default to HAVE_AS_EXPLICIT_RELOCS. - * config/loongarch/loongarch.opt: Regenerate. - -2022-07-26 Peter Bergner <bergner@linux.ibm.com> - - PR c/106016 - * expr.cc (count_type_elements): Handle OPAQUE_TYPE. - -2022-07-26 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch-opts.cc: Modify the output message string - of the warning. - -2022-07-26 Martin Liska <mliska@suse.cz> - - * doc/tm.texi.in: Fix placement of defmac. - * doc/tm.texi: Copy. - -2022-07-26 Martin Liska <mliska@suse.cz> - - * doc/tm.texi.in: Fix cross @defmac and @hook. - * doc/tm.texi: Copy. - -2022-07-26 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/106444 - * value-range-pretty-print.cc (vrange_printer::visit): Handle - legacy ranges. - (vrange_printer::print_irange_bound): Work on wide_int's. - * value-range-pretty-print.h (print_irange_bound): Same. - * value-range.cc (irange::get_nonzero_bits): Handle legacy ranges. - -2022-07-26 Richard Biener <rguenther@suse.de> - - * tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1 - points to a constant continue checking ptr2. - -2022-07-26 Andrew Carlotti <Andrew.Carlotti@arm.com> - - * config/aarch64/aarch64-builtins.cc - (MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8) - (MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16) - (MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64) - (MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8) - (MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16) - (MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64) - (MODE_q_p128): Define macro to map to corresponding mode name. - (QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16) - (QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64) - (QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to - corresponding qualifier name. - (LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix. - (SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro - functions for the above mappings - (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS) - (VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1) - (VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN) - (AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions - for all vreinterpret intrinsics - (enum aarch64_builtins): Add vreinterpret function codes - (aarch64_init_simd_intrinsics): New - (handle_arm_neon_h): Improved comment. - (aarch64_general_fold_builtin): Fold vreinterpret calls - * config/aarch64/arm_neon.h - (vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8) - (vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64) - (vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16) - (vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16) - (vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8) - (vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64) - (vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8) - (vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64) - (vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128) - (vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8) - (vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64) - (vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16) - (vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8) - (vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8) - (vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64) - (vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8) - (vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64) - (vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128) - (vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8) - (vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64) - (vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16) - (vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8) - (vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8) - (vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64) - (vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128) - (vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16) - (vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8) - (vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16) - (vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64) - (vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16) - (vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16) - (vreinterpretq_p128_u32, vreinterpret_f16_f64, vreinterpret_f16_s8) - (vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64) - (vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16) - (vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8) - (vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64) - (vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32) - (vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8) - (vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64) - (vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16) - (vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64) - (vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32) - (vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16) - (vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8) - (vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16) - (vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16) - (vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8) - (vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64) - (vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64) - (vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32) - (vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64) - (vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32) - (vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16) - (vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16) - (vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16) - (vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16) - (vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8) - (vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64) - (vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8) - (vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32) - (vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32) - (vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16) - (vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8) - (vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16) - (vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16) - (vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8) - (vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128) - (vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8) - (vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64) - (vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16) - (vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16) - (vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8) - (vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64) - (vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8) - (vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8) - (vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128) - (vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16) - (vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32) - (vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32) - (vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16) - (vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16) - (vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16) - (vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16) - (vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8) - (vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128) - (vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8) - (vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32) - (vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32) - (vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16) - (vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8) - (vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16) - (vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16) - (vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8) - (vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128) - (vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8) - (vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32) - (vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32) - (vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16) - (vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8) - (vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16) - (vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16) - (vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8) - (vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128) - (vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8) - (vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64) - (vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32) - (vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16) - (vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8) - (vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64) - (vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16) - (vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8) - (vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128) - (vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8) - (vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64) - (vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32) - (vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16) - (vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8) - (vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64) - (vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8) - (vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8) - (vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128) - (vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8) - (vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64) - (vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16) - (vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16) - (vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8) - (vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64) - (vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8) - (vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8) - (vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128) - (vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8) - (vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64) - (vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32) - (vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16) - (vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32) - (vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16) - (vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8) - (vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64) - (vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64) - (vreinterpretq_bf16_p128, vreinterpretq_bf16_f16) - (vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16) - (vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16) - (vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16) - (vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16) - (vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16) - (vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16) - (vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16) - (vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16) - (vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16) - (vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16) - (vreinterpretq_p128_bf16): Delete - -2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-builtins.cc - (aarch64_simd_builtin_std_type): Rename to... - (aarch64_int_or_fp_type): ...this, and allow irrelevant qualifiers. - (aarch64_lookup_simd_builtin_type): Rename to... - (aarch64_simd_builtin_type): ...this. Add const/pointer - support, and extract table lookup to... - (aarch64_lookup_simd_type_in_table): ...this function. - (aarch64_init_crc32_builtins): Update to use aarch64_simd_builtin_type. - (aarch64_init_fcmla_laneq_builtins): Ditto. - (aarch64_init_simd_builtin_functions): Ditto. - -2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-builtins.cc - (aarch64_general_gimple_fold_builtin): Add combine. - -2022-07-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106189 - * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref): - Divide using offset_ints. - -2022-07-26 Lulu Cheng <chenglulu@loongson.cn> - - * common/config/loongarch/loongarch-common.cc: - Enable '-fsection-anchors' when O1 and more advanced optimization. - * config/loongarch/genopts/loongarch.opt.in: Add new option - '-mexplicit-relocs', and enable by default. - * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p): - Delete function declaration. - (loongarch_split_move_insn): Delete function declaration. - (loongarch_split_symbol_type): Add function declaration. - * config/loongarch/loongarch.cc (enum loongarch_address_type): - Add new address type 'ADDRESS_LO_SUM'. - (loongarch_classify_symbolic_expression): New function definitions. - Classify the base of symbolic expression X, given that X appears in - context CONTEXT. - (loongarch_symbol_insns): Add a judgment condition TARGET_EXPLICIT_RELOCS. - (loongarch_split_symbol_type): New function definitions. - Determines whether the symbol load should be split into two instructions. - (loongarch_valid_lo_sum_p): New function definitions. - Return true if a LO_SUM can address a value of mode MODE when the LO_SUM - symbol has type SYMBOL_TYPE. - (loongarch_classify_address): Add handling of 'LO_SUM'. - (loongarch_address_insns): Add handling of 'ADDRESS_LO_SUM'. - (loongarch_signed_immediate_p): Sort code. - (loongarch_12bit_offset_address_p): Return true if address type is ADDRESS_LO_SUM. - (loongarch_const_insns): Add handling of 'HIGH'. - (loongarch_split_move_insn_p): Add the static attribute to the function. - (loongarch_emit_set): New function definitions. - (loongarch_call_tls_get_addr): Add symbol handling when defining TARGET_EXPLICIT_RELOCS. - (loongarch_legitimize_tls_address): Add symbol handling when defining the - TARGET_EXPLICIT_RELOCS macro. - (loongarch_split_symbol): New function definitions. Split symbol. - (loongarch_legitimize_address): Add codes see if the address can split into a high part - and a LO_SUM. - (loongarch_legitimize_const_move): Add codes split moves of symbolic constants into - high and low. - (loongarch_split_move_insn): Delete function definitions. - (loongarch_output_move): Add support for HIGH and LO_SUM. - (loongarch_print_operand_reloc): New function definitions. - Print symbolic operand OP, which is part of a HIGH or LO_SUM in context CONTEXT. - (loongarch_memmodel_needs_release_fence): Sort code. - (loongarch_print_operand): Rearrange alphabetical order and add H and L to support HIGH - and LOW output. - (loongarch_print_operand_address): Add handling of 'ADDRESS_LO_SUM'. - (TARGET_MIN_ANCHOR_OFFSET): Define macro to -IMM_REACH/2. - (TARGET_MAX_ANCHOR_OFFSET): Define macro to IMM_REACH/2-1. - * config/loongarch/loongarch.md (movti): Delete the template. - (*movti): Delete the template. - (movtf): Delete the template. - (*movtf): Delete the template. - (*low<mode>): New template of normal symbol low address. - (@tls_low<mode>): New template of tls symbol low address. - (@ld_from_got<mode>): New template load address from got table. - (@ori_l_lo12<mode>): New template. - * config/loongarch/loongarch.opt: Update from loongarch.opt.in. - * config/loongarch/predicates.md: Add support for symbol_type HIGH. - -2022-07-26 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/constraints.md (a): Delete the constraint. - (b): A constant call not local address. - (h): Delete the constraint. - (t): Delete the constraint. - * config/loongarch/loongarch-opts.cc (loongarch_config_target): - Remove cModel type support other than normal. - * config/loongarch/loongarch-protos.h (enum loongarch_symbol_type): - Add new symbol type 'SYMBOL_PCREL', 'SYMBOL_TLS_IE' and 'SYMBOL_TLS_LE'. - (loongarch_split_symbol): Delete useless function declarations. - (loongarch_split_symbol_type): Delete useless function declarations. - * config/loongarch/loongarch.cc (enum loongarch_address_type): - Delete unnecessary comment information. - (loongarch_symbol_binds_local_p): Modified the judgment order of label - and symbol. - (loongarch_classify_symbol): Return symbol type. If symbol is a label, - or symbol is a local symbol return SYMBOL_PCREL. If is a tls symbol, - return SYMBOL_TLS. If is a not local symbol return SYMBOL_GOT_DISP. - (loongarch_symbolic_constant_p): Add handling of 'SYMBOL_TLS_IE' - 'SYMBOL_TLS_LE' and 'SYMBOL_PCREL'. - (loongarch_symbol_insns): Add handling of 'SYMBOL_TLS_IE' 'SYMBOL_TLS_LE' - and 'SYMBOL_PCREL'. - (loongarch_address_insns): Sort code. - (loongarch_12bit_offset_address_p): Sort code. - (loongarch_14bit_shifted_offset_address_p): Sort code. - (loongarch_call_tls_get_addr): Sort code. - (loongarch_legitimize_tls_address): Sort code. - (loongarch_output_move): Remove schema support for cmodel other than normal. - (loongarch_memmodel_needs_release_fence): Sort code. - (loongarch_print_operand): Sort code. - * config/loongarch/loongarch.h (LARCH_U12BIT_OFFSET_P): - Rename to LARCH_12BIT_OFFSET_P. - (LARCH_12BIT_OFFSET_P): New macro. - * config/loongarch/loongarch.md: Reimplement the function call. Remove schema - support for cmodel other than normal. - * config/loongarch/predicates.md (is_const_call_weak_symbol): Delete this predicate. - (is_const_call_plt_symbol): Delete this predicate. - (is_const_call_global_noplt_symbol): Delete this predicate. - (is_const_call_no_local_symbol): New predicate, determines whether it is a local - symbol or label. - -2022-07-26 Kewen Lin <linkw@linux.ibm.com> - - PR target/106091 - * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy - REG_EH_REGION when replacing one store insn having it. - (replace_swapped_aligned_load): Likewise. - -2022-07-25 Aldy Hernandez <aldyh@redhat.com> - - * Makefile.in (OBJS): Add range-op-float.o. - * range-op.cc (get_float_handler): New. - (range_op_handler::range_op_handler): Save code and type for - delayed querying. - (range_op_handler::oeprator bool): Move from header file, and - add support for floats. - (range_op_handler::fold_range): Add support for floats. - (range_op_handler::op1_range): Same. - (range_op_handler::op2_range): Same. - (range_op_handler::lhs_op1_relation): Same. - (range_op_handler::lhs_op2_relation): Same. - (range_op_handler::op1_op2_relation): Same. - * range-op.h (class range_operator_float): New. - (class floating_op_table): New. - * value-query.cc (range_query::get_tree_range): Add case for - REAL_CST. - * range-op-float.cc: New file. - -2022-07-25 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - PR target/91681 - * config/i386/i386-expand.cc (split_double_concat): A new helper - function for setting a double word value from two word values. - * config/i386/i386-protos.h (split_double_concat): Prototype here. - * config/i386/i386.md (zero_extendditi2): New define_insn_and_split. - (*add<dwi>3_doubleword_zext): New define_insn_and_split. - (*sub<dwi>3_doubleword_zext): New define_insn_and_split. - (*concat<mode><dwi>3_1): New define_insn_and_split replacing - previous define_split for implementing DST = (HI<<32)|LO as - pair of move instructions, setting lopart and hipart. - (*concat<mode><dwi>3_2): Likewise. - (*concat<mode><dwi>3_3): Likewise, where HI is zero_extended. - (*concat<mode><dwi>3_4): Likewise, where HI is zero_extended. - -2022-07-25 Aldy Hernandez <aldyh@redhat.com> - - PR middle-end/106432 - * gimple-range.cc (gimple_ranger::range_on_edge): Return false - when the result range type is unsupported. - -2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef. - -2022-07-25 Richard Biener <rguenther@suse.de> - - PR middle-end/106414 - * match.pd (~(x ^ y) -> x == y): Restrict to single bit - precision types. - -2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/aarch64/aarch64.md (rbit<mode>2): Rename this ... - (@aarch64_rbit<mode>): ... to this and change it in... - (ffs<mode>2,ctz<mode>2): ... here. - (@aarch64_rev16<mode>): New. - * config/aarch64/aarch64-builtins.cc: (aarch64_builtins): - Define the following enum AARCH64_REV16, AARCH64_REV16L, - AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL. - (aarch64_init_data_intrinsics): New. - (aarch64_general_init_builtins): Add call to - aarch64_init_data_intrinsics. - (aarch64_expand_builtin_data_intrinsic): New. - (aarch64_general_expand_builtin): Add call to - aarch64_expand_builtin_data_intrinsic. - * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl, - __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16, - __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New. - -2022-07-25 Martin Liska <mliska@suse.cz> - - * doc/extend.texi: Remove trailing whitespaces. - * doc/invoke.texi: Likewise. - -2022-07-25 Aldy Hernandez <aldyh@redhat.com> - - * value-range-pretty-print.cc (vrange_printer::visit): New. - (vrange_printer::print_frange_prop): New. - * value-range-pretty-print.h (class vrange_printer): Add visit and - print_frange_prop. - * value-range-storage.h (vrange_allocator::alloc_vrange): Handle frange. - (vrange_allocator::alloc_frange): New. - * value-range.cc (vrange::operator=): Handle frange. - (vrange::operator==): Same. - (frange::accept): New. - (frange::set): New. - (frange::normalize_kind): New. - (frange::union_): New. - (frange::intersect): New. - (frange::operator=): New. - (frange::operator==): New. - (frange::supports_type_p): New. - (frange::verify_range): New. - * value-range.h (enum value_range_discriminator): Handle frange. - (class fp_prop): New. - (FP_PROP_ACCESSOR): New. - (class frange_props): New. - (FRANGE_PROP_ACCESSOR): New. - (class frange): New. - (Value_Range::init): Handle frange. - (Value_Range::operator=): Same. - (Value_Range::supports_type_p): Same. - (frange_props::operator==): New. - (frange_props::union_): New. - (frange_props::intersect): New - (frange::frange): New. - (frange::type): New. - (frange::set_varying): New. - (frange::set_undefined): New. - -2022-07-25 Peter Bergner <bergner@linux.ibm.com> - Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/106345 - * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu - to filter out all -mtune options. - -2022-07-24 Aldy Hernandez <aldyh@redhat.com> - - * value-query.cc (range_query::get_value_range): Add assert. - * vr-values.cc (vr_values::range_of_expr): Make sure we don't ICE - on unsupported types in vr_values. - (simplify_using_ranges::simplify): Same. - -2022-07-24 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssanames.cc (get_nonzero_bits): Return -1 for unsupported - types. - * value-query.cc (get_ssa_name_range_info): Remove precision check. - -2022-07-24 Aldy Hernandez <aldyh@redhat.com> - - * value-relation.cc (value_relation::set_relation): Remove assert. - (path_oracle::register_relation): Exit when trying to register - same SSA name relations. - -2022-07-24 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-cache.cc (ranger_cache::edge_range): Convert to vrange. - (ranger_cache::range_from_dom): Same. - * tree-ssa-dom.cc - (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same. - -2022-07-24 Roger Sayle <roger@nextmovesoftware.com> - H.J. Lu <hjl.tools@gmail.com> - - PR target/106303 - PR target/106347 - * config/i386/i386-features.cc (make_vector_copies): Move from - general_scalar_chain to scalar_chain. - (convert_reg): Likewise. - (convert_insn_common): New scalar_chain method split out from - general_scalar_chain convert_insn. - (convert_registers): Move from general_scalar_chain to - scalar_chain. - (scalar_chain::convert): Call convert_insn_common before calling - convert_insn. - (timode_remove_non_convertible_regs): Iterate until there are - no further changes to the candidates. - * config/i386/i386-features.h (scalar_chain::hash_map): Move - from general_scalar_chain. - (scalar_chain::convert_reg): Likewise. - (scalar_chain::convert_insn_common): New shared method. - (scalar_chain::make_vector_copies): Move from general_scalar_chain. - (scalar_chain::convert_registers): Likewise. No longer virtual. - (general_scalar_chain::hash_map): Delete. Moved to scalar_chain. - (general_scalar_chain::convert_reg): Likewise. - (general_scalar_chain::make_vector_copies): Likewise. - (general_scalar_chain::convert_registers): Delete virtual method. - (timode_scalar_chain::convert_registers): Likewise. - -2022-07-23 Immad Mir <mirimmad@outlook.com> - - * doc/extend.texi: Add fd_arg, fd_arg_read and fd_arg_write under - "Common Function Attributes" section. - * doc/invoke.texi: Add docs to -Wanalyzer-fd-access-mode-mismatch, - -Wanalyzer-use-after-close, -Wanalyzer-fd-use-without-check that these - warnings may be emitted through usage of three function attributes used - for static analysis of file descriptors namely fd_arg, fd_arg_read and - fd_arg_write. - -2022-07-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (*masktrue_const_bitcmpl): - Add a new insn_and_split pattern, and a few split patterns for - spacial cases. - -2022-07-22 Richard Sandiford <richard.sandiford@arm.com> - - * graphds.cc (graphds_scc): Fix algorithm attribution. - -2022-07-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106403 - * tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored - value valueization after check for IFN_MASKED_STORE or - IFN_LEN_STORE. - -2022-07-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106397 - * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do - not update SSA form here. - (mark_nontemporal_stores): Return whether we marked any - non-temporal stores and inserted mfence. - (loop_prefetch_arrays): Note when we need to update SSA. - (tree_ssa_prefetch_arrays): Perform required (LC) SSA update - at the end of the pass. - -2022-07-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106387 - * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name - if ptr is not an SSA name. - -2022-07-22 liuhongt <hongtao.liu@intel.com> - - PR target/106038 - * config/i386/mmx.md (<code><mode>3): New define_expand, it's - original "<code><mode>3". - (*<code><mode>3): New define_insn, it's original - "<code><mode>3" be extended to handle memory and immediate - operand with ix86_binary_operator_ok. Also adjust define_split - after it. - (mmxinsnmode): New mode attribute. - (*mov<mode>_imm): Refactor with mmxinsnmode. - * config/i386/predicates.md - (register_or_x86_64_const_vector_operand): New predicate. - -2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com> - - * config/rs6000/altivec.md: - (vstrir_code_<mode>): Rename to... - (vstrir_direct_<mode>): ... this. - (vstrir_p_code_<mode>): Rename to... - (vstrir_p_direct_<mode>): ... this. - (vstril_code_<mode>): Rename to... - (vstril_direct_<mode>): ... this. - (vstril_p_code_<mode>): Rename to... - (vstril_p_direct_<mode>): ... this. - -2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com> - - * config/rs6000/rs6000-c.cc: Update comments. - (rs6000_target_modify_macros): Remove bu_mask references. - (rs6000_define_or_undefine_macro): Replace bu_mask reference - with a rs6000_cpu value check. - (rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate() - parameter from call to rs6000_target_modify_macros. - * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros, - rs6000_target_modify_macros_ptr): Remove parameter from extern - for the prototype. - * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove - parameter from prototype, update calls to this function. - (rs6000_print_builtin_options): Remove prototype, call and function. - (rs6000_builtin_mask_calculate): Remove function. - (rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options. - (rs6000_option_override_internal): Remove rs6000_builtin_mask var - and builtin_mask debug output. - (rs6000_builtin_mask_names): Remove. - (rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask, - diff_bumask references; Update calls to rs6000_target_modify_ptr. - * config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove. - -2022-07-21 Sam Feifer <sfeifer@redhat.com> - - PR tree-optimization/94920 - * match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification. - (x <= 0 ? -x : 0): New simplification. - -2022-07-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - Revert: - 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type - instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR. - -2022-07-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106379 - * match.pd (~(a ^ b) -> a == b): New pattern. - -2022-07-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106378 - * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle - LEN_STORE, add mode to initialize a may-def and handle - MASK_STORE that way. - (dse_optimize_stmt): Query may-defs. Handle internal - functions LEN_STORE and MASK_STORE similar to how - we handle memory builtins but without byte tracking. - -2022-07-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106365 - * tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining - the offset to start encoding of RHS from. - (vn_walk_cb_data::vn_walk_cb_data): Initialize it. - (vn_walk_cb_data::push_partial_def): Allow the first partial - definition to be fully providing the def. Offset RHS - before encoding if requested. - (vn_reference_lookup_3): Initialize def_rhs everywhere. - Add support for .MASK_STORE and .LEN_STORE (partial) definitions. - -2022-07-21 Richard Biener <rguenther@suse.de> - - * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case - store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD - and IFN_MASK_LOAD_LANES. - (call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE, - IFN_LEN_STORE and IFN_MASK_STORE_LANES. - -2022-07-20 Alexander Monakov <amonakov@ispras.ru> - - PR rtl-optimization/101347 - * builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move - population of nonlocal_goto_handler_labels from here ... - (expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here. - * rtlanal.cc (remove_node_from_insn_list): Verify that a - duplicate is not present in the remainder of the list. - -2022-07-20 Alexander Monakov <amonakov@ispras.ru> - - * rtl.h (remove_node_from_expr_list): Remove declaration. - * rtlanal.cc (remove_node_from_expr_list): Remove (no uses). - -2022-07-20 Richard Biener <rguenther@suse.de> - - * tree-vect-data-refs.cc (bump_vector_ptr): Return an - invariant updated address when the input was invariant. - -2022-07-20 liuhongt <hongtao.liu@intel.com> - - * passes.def: (Split pass_cse_sincos to pass_expand_powcabs - and pass_cse_sincos, and move pass_cse_sincos after vectorizer). - * timevar.def (TV_TREE_POWCABS): New timevar. - * tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos. - * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto. - (class pass_expand_powcabs): Ditto. - (pass_expand_powcabs::execute): Ditto. - (make_pass_expand_powcabs): Ditto. - (pass_cse_sincos::execute): Remove pow/cabs expand part. - (make_pass_cse_sincos): Ditto. - -2022-07-20 Richard Biener <richard.guenther@gmail.com> - Hongtao Liu <hongtao.liu@intel.com> - - PR tree-optimization/106010 - * tree-complex.cc (init_dont_simulate_again): Lower complex - type move. - (expand_complex_move): Also expand COMPLEX_CST for rhs. - -2022-07-19 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::range_from_dom): Check - for incoming ranges on join nodes and add to worklist. - -2022-07-19 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::resolve_dom): New. - (ranger_cache::range_from_dom): Put all nodes to be calculated - in the worklist and resolve after the dom walk. - * gimple-range-cache.h (resolve_dom): New prototype. - -2022-07-19 Alexander Monakov <amonakov@ispras.ru> - - * tree-cfg.cc (gimple_verify_flow_info): Check placement of - returns_twice calls. - -2022-07-19 Alexander Monakov <amonakov@ispras.ru> - - * cfghooks.cc (duplicate_block): Expand comment. - * tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with - calls that may return twice. - -2022-07-19 Alexander Monakov <amonakov@ispras.ru> - - * tree-ssa-sink.cc (select_best_block): Punt if selected block - has incoming abnormal edges. - -2022-07-19 Martin Liska <mliska@suse.cz> - - * doc/extend.texi: Remove trailing :. - -2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type - instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR. - -2022-07-19 Richard Biener <rguenther@suse.de> - - PR middle-end/106331 - * builtins.cc (get_memory_rtx): Compute alignment from - the original address and set MEM_OFFSET to unknown when - we create a MEM_EXPR from the base object of the address. - -2022-07-19 Richard Biener <rguenther@suse.de> - - PR lto/106334 - * dwarf2out.cc (dwarf2out_register_external_die): Allow - map entry re-use during WPA. - -2022-07-19 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR c/106264 - * builtins.cc (fold_builtin_frexp): Call suppress_warning on - COMPOUND_EXPR to silence spurious warning if result isn't used. - (fold_builtin_modf): Likewise. - (do_mpfr_remquo): Likewise. - -2022-07-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_rtx_costs): - Change the relative cost of '(set (reg) (const_int N))' where - N fits into signed 12-bit from 4 to 0 if optimizing for size. - And use the appropriate macro instead of the bare number 4. - -2022-07-18 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106280 - * value-relation.cc (dom_oracle::register_relation): Register - transitives only when it is possible for there to be one. - (dom_oracle::set_one_relation): Return NULL if this is an - existing relation. - -2022-07-18 Maciej W. Rozycki <macro@embecosm.com> - - * doc/invoke.texi (RISC-V Options): Add index references for - `mrelax' and `mriscv-attribute'. - -2022-07-18 Maciej W. Rozycki <macro@embecosm.com> - - * doc/invoke.texi (Option Summary): Add missing second space - around `-mstack-protector-guard-reg='. - -2022-07-18 Maciej W. Rozycki <macro@embecosm.com> - - * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'. - (RISC-V Options): Likewise, and `-mriscv-attribute'. - -2022-07-18 Claudiu Zissulescu <claziss@gmail.com> - - * config/arc/arc-arch.h (arc_tune_attr): Add - ARC_TUNE_ARCHS4X_REL31A variant. - * config/arc/arc.cc (arc_override_options): Tune options for - release 310a. - (arc_sched_issue_rate): Use correct enum. - (arc600_corereg_hazard): Textual change. - (arc_hazard): Add release 310a tunning. - * config/arc/arc.md (tune): Update and take into consideration new - tune option. - (tune_dspmpy): Likewise. - (tune_store): New attribute. - * config/arc/arc.opt (mtune): New tune option. - * config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units. - (hs4x_brcc_op): New instruction rezervation. - (hs4x_data_store_1_op): Likewise. - * config/arc/arc-cpus.def (hs4x_rel31): New cpu variant. - * config/arc/arc-tables.opt: Regenerate. - * config/arc/t-multilib: Likewise. - * doc/invoke.texi (ARC): Update mcpu and tune sections. - -2022-07-18 Richard Biener <rguenther@suse.de> - - * tree-loop-distribution.cc (loop_distribution::distribute_loop): - When computing cost-based merging do not disregard builtin - classified partitions in some cases. - -2022-07-18 Richard Sandiford <richard.sandiford@arm.com> - - PR target/106253 - * config/arm/arm-builtins.cc (arm_builtin_vectorized_function): - Delete. - * config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete. - * config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): - Delete. - * config/arm/arm_neon_builtins.def (copysignf): Delete. - * config/arm/iterators.md (nvrint_pattern): New attribute. - * config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2): - New pattern. - (l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2): - Likewise. - (neon_copysignf<mode>): Rename to... - (copysign<mode>3): ...this. - -2022-07-18 Claudiu Zissulescu <claziss@gmail.com> - - * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame - pointer first when in interrupts. - -2022-07-18 Richard Biener <rguenther@suse.de> - - * tree-loop-distribution.cc (copy_loop_before): Add - the ability to replace the original LC PHI defs. - (generate_loops_for_partition): Pass through a flag - whether to redirect original LC PHI defs. - (generate_code_for_partition): Likewise. - (loop_distribution::distribute_loop): Compute the partition - that should provide the LC PHI defs for common reductions - and pass that down. - -2022-07-18 Richard Ball <richard.ball@arm.com> - - * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap. - (aarch64_evpc_uzp): Likewise. - (aarch64_evpc_zip): Likewise. - -2022-07-18 Roger Sayle <roger@nextmovesoftware.com> - - PR target/106231 - * config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split - to recognize any_extend:DI of ctz:SI which is implicitly extended. - (*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode - extended ctz:SI that has preceding xor to break false dependency. - -2022-07-18 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/predicates.md (x86_64_const_vector_operand): - Check the operand's mode matches the specified mode argument. - -2022-07-18 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec. - (kunpcksi): Likewise, add UNSPEC_MASKOP unspec. - (kunpckdi): Likewise, add UNSPEC_MASKOP unspec. - (vec_pack_trunc_qi): Update to specify the now required - UNSPEC_MASKOP unspec. - (vec_pack_trunc_<mode>): Likewise. - -2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md - (*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2, - *masktrue_const_shifted_mask): If the immediate for bitwise AND is - represented as '-(1 << N)', decrease the lower bound of N from 12 - to 1. And the other immediate for conditional branch is now no - longer limited to zero, but also one of some positive integers. - Finally, remove the checks of some conditions, because the comparison - expressions that don't satisfy such checks are determined as - compile-time constants and thus will be optimized away before - RTL expansion. - -2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove. - (xtensa_constantsynth_2insn): Change to try all three synthetic - methods and to use the one that fits the immediate value of - the seed into a Narrow Move Immediate instruction "MOVI.N" - when the Code Density Option is configured. - -2022-07-15 H.J. Lu <hjl.tools@gmail.com> - - PR target/85620 - * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return - false if callee has indirect_return attribute and caller - doesn't. - -2022-07-15 Roger Sayle <roger@nextmovesoftware.com> - - PR target/106273 - * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the - constraints to reflect the output is earlyclobber, unless it is - the same register (pair) as one of the operands. - -2022-07-15 David Malcolm <dmalcolm@redhat.com> - - * doc/invoke.texi (Static Analyzer Options): Add the new fd - warnings to the initial gccoptlist, and to the list of those - disabled by -fanalyzer-checker=taint. - -2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-builtins.cc - (enum aarch64_type_qualifiers): Remove qualifier_internal. - (aarch64_init_simd_builtin_functions): Remove qualifier_internal check. - -2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-builtins.cc - (v1di_UP): Add V1DI mode to _UP macros. - * config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode. - * config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode. - * config/aarch64/aarch64-simd.md - (vec_extractv2dfv1df): Replace with... - (vec_extract<mode><V1half>): ...this. - * config/aarch64/aarch64.cc - (aarch64_classify_vector_mode): Add V1DI mode. - * config/aarch64/iterators.md - (VQ_2E, V1HALF, V1half): New. - (nunits): Add V1DI mode. - -2022-07-15 Roger Sayle <roger@nextmovesoftware.com> - - PR target/106278 - * config/i386/i386-features.cc (general_scalar_chain::convert_insn): - Fix indentation whitespace. - (timode_scalar_chain::fix_debug_reg_uses): Likewise. - (timode_scalar_chain::convert_insn): Delete dead code. - Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI. - Fix indentation whitespace. - (convertible_comparison_p): Likewise. - (timode_scalar_to_vector_candidate_p): Likewise. - -2022-07-15 Aldy Hernandez <aldyh@redhat.com> - - * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange. - -2022-07-15 Aldy Hernandez <aldyh@redhat.com> - - * Makefile.in (OBJS): Add value-range-pretty-print.o. - * pretty-print.h (pp_vrange): New. - * value-range.cc (vrange::dump): Call pp version. - (unsupported_range::dump): Move to its own file. - (dump_bound_with_infinite_markers): Same. - (irange::dump): Same. - (irange::dump_bitmasks): Same. - (vrange::debug): Remove. - * value-range.h: Remove virtual designation for dump methods. - Remove dump_bitmasks method. - * value-range-pretty-print.cc: New file. - * value-range-pretty-print.h: New file. - -2022-07-15 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (irange::accept): New. - (unsupported_range::accept): New. - * value-range.h (class vrange_visitor): New. - (class vrange): Add accept method. - (class unsupported_range): Same. - (class Value_Range): Same. - -2022-07-15 Jonathan Wakely <jwakely@redhat.com> - - * diagnostic-format-json.cc (json_from_location_range): Adjust - to new label_text API. - * diagnostic-format-sarif.cc (sarif_builder::make_location_object): - Likewise. - * diagnostic-show-locus.cc (struct pod_label_text): Likewise. - (layout::print_any_labels): Likewise. - * tree-diagnostic-path.cc (class path_label): Likewise. - (struct event_range): Likewise. - (default_tree_diagnostic_path_printer): Likewise. - (default_tree_make_json_for_path): Likewise. - -2022-07-15 konglin1 <lingling.kong@intel.com> - - PR target/106113 - * config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd} - comparison due to intrinsics changed over time. - * config/i386/i386-expand.cc (ix86_ssecom_setcc): - Add unordered check and mode for sse comi codegen. - (ix86_expand_sse_comi): Add unordered check and check a different - CCmode. - (ix86_expand_sse_comi_round):Extract unordered check and mode part - in ix86_ssecom_setcc. - -2022-07-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use - op_mode instead of vmode in calls to force_reg for op0 and op1. - -2022-07-14 H.J. Lu <hjl.tools@gmail.com> - - PR tree-optimization/103798 - * tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h". - (simplify_builtin_call): Inline memchr with constant strings of - no more than the bytes of a word. - * tree-ssa-strlen.cc (use_in_zero_equality): Make it global. - * tree-ssa-strlen.h (use_in_zero_equality): New. - -2022-07-14 Eric Botcazou <ebotcazou@adacore.com> - - * gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter - and set DECL_NOT_GIMPLE_REG_P on the variable according to it. - (internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and - pass it in the call to lookup_tmp_var. - (get_formal_tmp_var): Pass false in the call to lookup_tmp_var. - (get_initialized_tmp_var): Likewise. - (prepare_gimple_addressable): Call internal_get_tmp_var instead of - get_initialized_tmp_var with NOT_GIMPLE_REG set to true. - -2022-07-14 Martin Liska <mliska@suse.cz> - - * doc/gimple.texi: Close properly a deftypefn. - -2022-07-14 Martin Liska <mliska@suse.cz> - - * doc/gimple.texi: Close properly a deftypefn. - -2022-07-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md: - In FP constant synthesis split pattern, subcontract to - avoid_constant_pool_reference() as in the case of integer, - because it can handle well too. And cast to int32_t before - calling xtensa_constantsynth() in order to ignore upper 32-bit. - -2022-07-13 Aldy Hernandez <aldyh@redhat.com> - - * range-op.cc (operator_lt::fold_range): Use nonzero bits. - -2022-07-13 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (irange::copy_to_legacy): Set nonzero mask. - (irange::legacy_intersect): Clear nonzero mask. - (irange::legacy_union): Same. - (irange::invert): Same. - -2022-07-13 Richard Biener <rguenther@suse.de> - - * tree-ssa-dom.h (record_temporary_equivalences): Remove. - * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New. - (dom_jt_state::get_blocks_on_stack): Likewise. - (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state. - (back_propagate_equivalences): Remove dominator bitmap - compute and instead use passed in m_blocks_on_stack. - (record_temporary_equivalences): Likewise. - (record_equivalences_from_incoming_edge): Likewise. - (dom_opt_dom_walker::before_dom_children): Maintain and - pass down blocks on stack. - (dom_opt_dom_walker::after_dom_children): Likewise. - -2022-07-13 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-builtins.cc - (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE. - -2022-07-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106249 - * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): - Only verify LC SSA of the new_loop if we created it. - Use TODO_update_ssa_nophi for the SSA update after versioning - the loop. - -2022-07-12 Aldy Hernandez <aldyh@redhat.com> - - * range-op.cc (unsigned_singleton_p): Remove. - (operator_bitwise_and::remove_impossible_ranges): Remove. - (operator_bitwise_and::fold_range): Set nonzero bits. * - * value-range.cc (irange::get_nonzero_bits): Remove - legacy_mode_p assert. - (irange::dump_bitmasks): Remove legacy_mode_p check. - -2022-07-12 Richard Sandiford <richard.sandiford@arm.com> - - PR target/106253 - * predict.h (insn_optimization_type): Declare. - * predict.cc (insn_optimization_type): New function. - * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND) - (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL) - (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions. - * internal-fn.cc (unary_convert_direct): New macro. - (expand_convert_optab_fn): New function. - (expand_unary_convert_optab_fn): New macro. - (direct_unary_convert_optab_supported_p): Likewise. - * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to - convert_optab_handler. - * config/aarch64/aarch64-protos.h - (aarch64_builtin_vectorized_function): Delete. - * config/aarch64/aarch64-builtins.cc - (aarch64_builtin_vectorized_function): Delete. - * config/aarch64/aarch64.cc - (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete. - * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab. - * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove - optimize_insn_for_size_p test. - -2022-07-12 Richard Biener <rguenther@suse.de> - - * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi): - Remove. - (vect_do_peeling): Do not call it, adjust comment. - -2022-07-12 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-builtins.cc - (aarch64_builtin_vectorized_function): Remove handling of - floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz. - -2022-07-11 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106234 - * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator - cache value before recursively resolving it. - -2022-07-11 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-features.h (scalar_chain): Add fields - insns_conv, n_sse_to_integer and n_integer_to_sse to this - parent class, moved from general_scalar_chain. - (scalar_chain::convert_compare): Protected method moved - from general_scalar_chain. - (mark_dual_mode_def): Make protected, not private virtual. - (scalar_chain:convert_op): New private virtual method. - (general_scalar_chain::general_scalar_chain): Simplify constructor. - (general_scalar_chain::~general_scalar_chain): Delete destructor. - (general_scalar_chain): Move insns_conv, n_sse_to_integer and - n_integer_to_sse fields to parent class, scalar_chain. - (general_scalar_chain::mark_dual_mode_def): Delete prototype. - (general_scalar_chain::convert_compare): Delete prototype. - (timode_scalar_chain::compute_convert_gain): Remove simplistic - implementation, convert to a method prototype. - (timode_scalar_chain::mark_dual_mode_def): Delete prototype. - (timode_scalar_chain::convert_op): Prototype new virtual method. - * config/i386/i386-features.cc (scalar_chain::scalar_chain): - Allocate insns_conv and initialize n_sse_to_integer and - n_integer_to_sse fields in constructor. - (scalar_chain::scalar_chain): Free insns_conv in destructor. - (general_scalar_chain::general_scalar_chain): Delete - constructor, now defined in the class declaration. - (general_scalar_chain::~general_scalar_chain): Delete destructor. - (scalar_chain::mark_dual_mode_def): Renamed from - general_scalar_chain::mark_dual_mode_def. - (timode_scalar_chain::mark_dual_mode_def): Delete. - (scalar_chain::convert_compare): Renamed from - general_scalar_chain::convert_compare. - (timode_scalar_chain::compute_convert_gain): New method to - determine the gain from converting a TImode chain to V1TImode. - (timode_scalar_chain::convert_op): New method to convert an - operand from TImode to V1TImode. - (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE - on REG_EQUAL notes that were originally TImode (not CONST_INT). - Handle AND, ANDN, XOR, IOR, NOT and COMPARE. - (timode_mem_p): Helper predicate to check where operand is - memory reference with sufficient alignment for TImode STV. - (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p - to check whether COMPARE is convertible. Handle SET_DESTs that - that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT, - CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT. - -2022-07-11 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/106250 - * tree-vect-loop.cc (vectorizable_reduction): Reinstate final - argument to directly_supported_p. - -2022-07-11 Richard Biener <rguenther@suse.de> - - * tree-into-ssa.cc (update_ssa): Do not forcefully - re-compute dominance fast queries for TODO_update_ssa_no_phi. - -2022-07-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106228 - * tree-vect-data-refs.cc (vect_setup_realignment): Adjust - VUSE compute for the non-loop case. - -2022-07-11 Richard Biener <rguenther@suse.de> - - * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New. - (rewrite_update_dom_walker::rewrite_update_dom_walker): Update. - (rewrite_update_dom_walker::m_in_region_flag): New. - (rewrite_update_dom_walker::before_dom_children): If the region - to update is marked, STOP at exits. - (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region - to be updated. - (dump_update_ssa): Use bitmap_empty_p. - (update_ssa): Likewise. Use REWRITE_UPDATE_REGION when - TODO_update_ssa_no_phi. - * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account - pending update_ssa to the caller. - -2022-07-11 Richard Biener <rguenthert@suse.de> - - PR target/105459 - * config/i386/i386-options.cc (ix86_set_current_function): - Rebuild the target optimization node whenever necessary, - not only when the optimization node didn't change. - -2022-07-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106228 - * tree-vect-data-refs.cc (vect_setup_realignment): Properly - set a VUSE operand on the emitted load. - -2022-07-11 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range.cc (gimple_ranger::export_global_ranges): Remove - verification against legacy value_range. - (gimple_ranger::register_inferred_ranges): Same. - (gimple_ranger::export_global_ranges): Rename update_global_range - to set_range_info. - * tree-core.h (struct range_info_def): Remove. - (struct irange_storage_slot): New. - (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation. - (struct tree_ssa_name): Add vrange_storage support. - * tree-ssanames.cc (range_info_p): New. - (range_info_fits_p): New. - (range_info_alloc): New. - (range_info_free): New. - (range_info_get_range): New. - (range_info_set_range): New. - (set_range_info_raw): Remove. - (set_range_info): Adjust to use vrange_storage. - (set_nonzero_bits): Same. - (get_nonzero_bits): Same. - (duplicate_ssa_name_range_info): Remove overload taking - value_range_kind. - Rewrite tree overload to use vrange_storage. - (duplicate_ssa_name_fn): Adjust to use vrange_storage. - * tree-ssanames.h (struct range_info_def): Remove. - (set_range_info): Adjust prototype to take vrange. - * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call - duplicate_ssa_name_range_info. - * tree.h (SSA_NAME_ANTI_RANGE_P): Remove. - (SSA_NAME_RANGE_TYPE): Remove. - * value-query.cc (get_ssa_name_range_info): Adjust to use - vrange_storage. - (update_global_range): Remove. - (get_range_global): Remove as_a<irange>. - * value-query.h (update_global_range): Remove. - * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges): - Rename update_global_range to set_range_info. - * value-range-storage.cc (vrange_storage::alloc_slot): Remove - gcc_unreachable. - -2022-07-10 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (irange::operator=): Call verify_range. - (irange::irange_set): Normalize kind after everything else has - been set. - (irange::irange_set_anti_range): Same. - (irange::set): Same. - (irange::verify_range): Disallow nonzero masks for VARYING. - (irange::irange_union): Call verify_range. - Handle nonzero masks better. - (irange::irange_intersect): Same. - (irange::set_nonzero_bits): Calculate mask if either range has an - explicit mask. - (irange::intersect_nonzero_bits): Same. - (irange::union_nonzero_bits): Same. - (range_tests_nonzero_bits): New. - (range_tests): Call range_tests_nonzero_bits. - * value-range.h (class irange): Remove set_nonzero_bits method - with trees. - (irange::varying_compatible_p): Set nonzero mask. - -2022-07-10 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (<any_div>di3_fake): Describe - the sign-extend of result in the RTL template. - (<any_div><mode>3): Adjust for <any_div>di3_fake change. - -2022-07-10 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.cc (loongarch_check_zero_div_p): - Remove static, for use in the machine description file. - * config/loongarch/loongarch-protos.h: - (loongarch_check_zero_div_p): Add prototype. - * config/loongarch/loongarch.md (enabled): New attr. - (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for - idiv. Conditionally enable the alternatives using - loongarch_check_zero_div_p. - (<optab>di3_fake): Likewise. - -2022-07-10 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w - instead of mul.d. - -2022-07-09 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (irange::irange_single_pair_union): Set - VR_VARYING when appropriate. - -2022-07-09 Vit Kabele <vit.kabele@sysgo.com> - - * stor-layout.cc (finalize_record_size): Extend warning message. - -2022-07-09 Sam Feifer <sfeifer@redhat.com> - - PR tree-optimization/98304 - * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification. - -2022-07-09 Jeff Law <jeffreyalaw@gmail.com> - - * expr.cc (store_expr): Identify trailing NULs in a STRING_CST - initializer and use clear_storage rather than copying the - NULs to the destination array. - -2022-07-09 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.md (define_peephole2): Use match_operand of - flags_reg_operand to capture and preserve the mode of FLAGS_REG. - (define_peephole2): Likewise. - (define_peephole2): Likewise... - -2022-07-09 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-features.cc (convert_compare): Add support - for *testdi_not_doubleword pattern, "(compare (and (not ...)))" - by generating a pandn followed by ptest. - (convertible_comparison_p): Recognize both *cmpdi_doubleword and - recent *testdi_not_doubleword comparison patterns. - -2022-07-09 Tamar Christina <tamar.christina@arm.com> - - * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to - indicate that the value is not undefined. - -2022-07-09 Andrew Pinski <apinski@marvell.com> - - PR tree-optimization/106087 - * tree-ssa-dce.cc (simple_dce_from_worklist): Check - to make sure the statement is only defining one operand. - -2022-07-08 Lewis Hyatt <lhyatt@gmail.com> - - PR preprocessor/91733 - * input.cc (find_end_of_line): New helper function. - (file_cache_slot::get_next_line): Recognize \r as a line ending. - * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest - since \r will now be interpreted as a line-ending. - -2022-07-08 Martin Liska <mliska@suse.cz> - - PR sanitizer/106132 - * opts.cc (finish_options): Use 2 calls to - report_conflicting_sanitizer_options. - -2022-07-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106226 - * tree-vect-loop-manip.cc (vect_do_peeling): Assert that - no SSA update is needed. Move virtual SSA update ... - * tree-vectorizer.cc (pass_vectorize::execute): ... here, - via forced virtual renaming when TODO_update_ssa_only_virtuals - is queued. - (vect_transform_loops): Return TODO_update_ssa_only_virtuals - when virtual SSA update is required. - (try_vectorize_loop_1): Adjust. - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow - virtual renaming if the ABI forces an aggregate return - but the original call did not have a virtual definition. - -2022-07-08 Martin Liska <mliska@suse.cz> - - * toplev.cc (init_asm_output): Do not init asm_out_file. - -2022-07-08 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/106063 - * match.pd: Do not apply pattern after veclower is not supported. - -2022-07-08 Thomas Schwinge <thomas@codesourcery.com> - - * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct - 'fn2' computation. - -2022-07-08 Tamar Christina <tamar.christina@arm.com> - - * expmed.cc (store_bit_field_1): Add parameter that indicates if value is - still undefined and if so emit a subreg move instead. - (store_integral_bit_field): Likewise. - (store_bit_field): Likewise. - * expr.h (write_complex_part): Likewise. - * expmed.h (store_bit_field): Add new parameter. - * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new - parameter. - (expand_ifn_atomic_compare_exchange): Likewise. - * calls.cc (store_unaligned_arguments_into_pseudos): Likewise. - * emit-rtl.cc (validate_subreg): Likewise. - * expr.cc (emit_group_store): Likewise. - (copy_blkmode_from_reg): Likewise. - (copy_blkmode_to_reg): Likewise. - (clear_storage_hints): Likewise. - (write_complex_part): Likewise. - (emit_move_complex_parts): Likewise. - (expand_assignment): Likewise. - (store_expr): Likewise. - (store_field): Likewise. - (expand_expr_real_2): Likewise. - * ifcvt.cc (noce_emit_move_insn): Likewise. - * internal-fn.cc (expand_arith_set_overflow): Likewise. - (expand_arith_overflow_result_store): Likewise. - (expand_addsub_overflow): Likewise. - (expand_neg_overflow): Likewise. - (expand_mul_overflow): Likewise. - (expand_arith_overflow): Likewise. - -2022-07-08 Haochen Jiang <haochen.jiang@intel.com> - - PR target/106180 - * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1): - Rename from *sse2_cvtps2pd<mask_name>_1. - (vec_unpacks_lo_v4sf): Add handler for memory operand. - -2022-07-08 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_compute_frame_info): - Modify fp_sp_offset and gp_sp_offset's calculation method, - when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD - or UNITS_PER_FP_REG. - -2022-07-07 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-json.cc (json_from_location_range): Update for - removal of label_text::maybe_free in favor of automatic memory - management. - * diagnostic-format-sarif.cc - (sarif_builder::make_location_object): Likewise. - * diagnostic-show-locus.cc (struct pod_label_text): New. - (class line_label): Convert m_text from label_text to pod_label_text. - (layout::print_any_labels): Move "text" to the line_label. - * tree-diagnostic-path.cc (path_label::get_text): Update for - removal of label_text::maybe_free in favor of automatic memory - management. - (event_range::print): Likewise. - (default_tree_diagnostic_path_printer): Likewise. - (default_tree_make_json_for_path): Likewise. - -2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - * statistics.cc (get_function_name): Add check to see if fn is not NULL. - -2022-07-07 Richard Biener <rguenther@suse.de> - - * tree-into-ssa.cc (iterating_old_ssa_names): New. - (add_new_name_mapping): Grow {new,old}_ssa_names separately - and only when actually needed. Assert we are not growing - the old_ssa_names set when iterating over it. - (update_ssa): Remove old_ssa_names copying and empty_p - query, note we are iterating over it and expect no set changes. - -2022-07-07 Thomas Schwinge <thomas@codesourcery.com> - - * config/i386/intelmic-mkoffload.cc (generate_host_descr_file) - (prepare_target_image, main): Handle OpenMP 'requires'. - (generate_host_descr_file): Switch to 'GOMP_offload_register_ver', - 'GOMP_offload_unregister_ver'. - -2022-07-07 Richard Biener <rguenther@suse.de> - - PR target/106219 - * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly - set DECL_PURE_P. - -2022-07-07 Richard Biener <rguenther@suse.de> - - * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the - number of LC PHIs inserted. - (add_exit_phis): Return whether any variable required - multiple LC PHI nodes. - (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi - when possible. - -2022-07-07 Richard Biener <rguenther@suse.de> - - * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take - the def loop exit block bitmap as argument instead of - re-computing it here. - (add_exit_phis_var): Adjust. - (loop_name_cmp): New function. - (add_exit_phis): Sort variables to insert LC PHI nodes - after definition loop, for each definition loop compute - the exit block bitmap once. - (get_loops_exit): Remove. - (rewrite_into_loop_closed_ssa_1): Do not pre-record - all loop exit blocks into bitmaps. Record loop exits - if required. - -2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com> - - * config/mips/mips.cc (mips_asan_shadow_offset): Reformat - to handle the N32 ABI. - * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove - the macro, as it is not needed anymore. - -2022-07-06 Thomas Schwinge <thomas@codesourcery.com> - - * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' -> - '[...]_data'. - * config/nvptx/mkoffload.cc (process): Likewise. - -2022-07-06 Thomas Schwinge <thomas@codesourcery.com> - - * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'. - -2022-07-05 Andrew MacLeod <amacleod@redhat.com> - - * value-relation.cc (relation_to_code): New vector. - (relation_oracle::validate_relation): New. - (set_relation): Allow ssa1 == ssa2 to be registered. - * value-relation.h (validate_relation): New prototype. - (query_relation): Make internal variant protected. - -2022-07-05 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs - for double word comparisons and tests (comparisons against zero). - * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI - and;cmp into andn;cmp $0 as a pre-reload splitter. - (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name. - (*<any_or><dwi>3_doubleword): Likewise. - -2022-07-05 Roger Sayle <roger@nextmovesoftware.com> - Hongtao Liu <hongtao.liu@intel.com> - - * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change - CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti. - * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode - and gen_ssse3_palignv1ti instead of TImode. - * config/i386/sse.md (SSESCALARMODE): Delete. - (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode. - (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode - iterator instead of SSESCALARMODE. - (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64, - using a single move instruction (if required). - -2022-07-05 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - PR rtl-optimization/96692 - * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D - as (X & ~Y) ^ Z on target BMI when either C or D is A or B. - -2022-07-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106198 - * tree-cfgcleanup.cc (repair_loop_structures): Always do a - full LC SSA rewrite but only if any blocks changed loop - depth. - -2022-07-05 Richard Biener <rguenther@suse.de> - - * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove. - (find_uses_to_rename_in_loop): Likewise. - (rewrite_into_loop_closed_ssa_1): Remove loop parameter and - uses. - (rewrite_into_loop_closed_ssa): Adjust. - -2022-07-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106186 - * tree-ssa-propagate.cc (clean_up_loop_closed_phi): - Properly handle virtual PHI nodes. - -2022-07-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106196 - * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly - handle aggregate returns of calls for VDEF updates. - -2022-07-05 Richard Biener <rguenther@suse.de> - - * tree-vect-loop-manip.cc (vect_set_loop_condition_normal): - Maintain LC SSA. - -2022-07-05 Richard Sandiford <richard.sandiford@arm.com> - - * tree-vect-patterns.cc (vect_convert_input): Expect the input - type to be signed for optab_vector_mixed_sign. Update the vectype - at the same time as type. - (vect_recog_dot_prod_pattern): Update accordingly. If usdot isn't - available, try sdot instead. - * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function. - (vect_model_reduction_cost): Model the cost of implementing usdot - using sdot. - (vectorizable_reduction): Likewise. Skip target support test - for lane reductions. - (vect_emulate_mixed_dot_prod): New function. - (vect_transform_reduction): Use it to emulate usdot via sdot. - -2022-07-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106182 - * loop-init.cc (fix_loop_structure): Return the number - of newly discovered plus the number of deleted loops. - * tree-cfgcleanup.cc (repair_loop_structures): Adjust - variable name. - -2022-07-04 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-fold.cc - (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the - call to SCEV for irange supported types. - (fold_using_range::range_of_builtin_int_call): Convert to vrange. - * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same. - * tree-ssa-dom.cc (cprop_operand): Same. - -2022-07-04 Roger Sayle <roger@nextmovesoftware.com> - - PR target/104489 - * calls.cc (precompute_register_parameters): Allow promotion - of floating point values to be passed in wider integer modes - by calling new convert_float_to_wider_int. - (expand_call): Allow floating point results to be returned in - wider integer modes by calling new convert wider_int_to_float. - * cfgexpand.cc (expand_value_return): Allow backends to promote - a scalar floating point return value to a wider integer mode - by calling new convert_float_to_wider_int. - * expr.cc (convert_float_to_wider_int): New function. - (convert_wider_int_to_float): Likewise. - (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote - scalar FP PARM_DECLs to wider integer modes, by calling new - convert_wider_int_to_float. - * expr.h (convert_modes): Name arguments for improved documentation. - (convert_float_to_wider_int): Prototype new function here. - (convert_wider_int_to_float): Likewise. - * function.cc (assign_parm_setup_stack): Allow floating point - values to be passed on the stack as wider integer modes by - calling new convert_wider_int_to_float. - -2022-07-04 Martin Jambor <mjambor@suse.cz> - - PR tree-optimization/105860 - * tree-sra.cc (build_reconstructed_reference): Start expr - traversal only just below the outermost union. - -2022-07-04 Richard Biener <rguenther@suse.de> - - * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert - and update virtual SSA form again. Assert we do so for - a known set of transforms only. - * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New. - * tree-vect-stmts.cc (vectorizable_load): When vectorizing - using load-lanes allow virtual SSA update. - -2022-07-04 Tobias Burnus <tobias@codesourcery.com> - Chung-Lin Tang <cltang@codesourcery.com> - Thomas Schwinge <thomas@codesourcery.com> - - * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'. - (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver. - (main): Ask lto1 to obtain omp_requires_mask and pass it on. - * config/nvptx/mkoffload.cc (process, main): Likewise. - * lto-cgraph.cc (omp_requires_to_name): New. - (input_offload_tables): Save omp_requires_mask. - (output_offload_tables): Read it, check for consistency, - save value for mkoffload. - * omp-low.cc (lower_omp_target): Force output_offloadtables - call for OMP_REQUIRES_TARGET_USED. - -2022-07-04 Richard Biener <rguenther@suse.de> - - * tree-vect-loop-manip.cc (vect_do_peeling): Assert that - no SSA update is needed instead of updating virtual SSA - form. - * tree-vect-stmts.cc (vectorizable_load): For hoisted - invariant load use the loop entry virtual use. - For emulated gather loads use the virtual use of the - original stmt like vect_finish_stmt_generation would do. - -2022-07-04 Eric Botcazou <ebotcazou@adacore.com> - - * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard - for direct circularity. - -2022-07-04 Eric Botcazou <ebotcazou@adacore.com> - - * dwarf2out.cc (gen_array_type_die): Use the default lower bound of - the language for vector types. - -2022-07-04 Aldy Hernandez <aldyh@redhat.com> - - * value-range-storage.cc (irange_storage_slot::set_irange): Set - nonzero bits in irange. - (irange_storage_slot::get_irange): Get nonzero bits from irange. - * value-range.cc (irange::operator=): Set nonzero bits. - (irange::irange_set): Same. - (irange::irange_set_anti_range): Same. - (irange::set): Same. - (irange::verify_range): Same. - (irange::legacy_equal_p): Check nonzero bits. - (irange::equal_p): Same. - (irange::contains_p): Handle nonzero bits. - (irange::irange_union): Same. - (irange::irange_intersect): Same. - (irange::dump): Same. - (irange::set_nonzero_bits): New. - (irange::get_nonzero_bits): New. - (irange::intersect_nonzero_bits): New. - (irange::union_nonzero_bits): New. - (irange::dump_bitmasks): New. - * value-range.h (class irange): Add m_nonzero_mask. - (gt_ggc_mx): Handle nonzero bits. - (gt_pch_nx): Same. - (irange::set_undefined): Set nonzero bits. - (irange::set_varying): Same. - (irange::normalize_kind): Call set_undefined. - -2022-07-04 Richard Biener <rguenther@suse.de> - - * tree-ssa-loop-manip.h - (rewrite_virtuals_into_loop_closed_ssa): Remove. - (rewrite_into_loop_closed_ssa_1): Likewise. - * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1): - Make static. - (rewrite_into_loop_closed_ssa): Remove loop overload, - always rewrite virtuals into LC SSA. - (check_loop_closed_ssa_bb): Also check virtuals. - * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual - LC PHIs when in LC SSA. - * gimple-loop-jam.cc (fuse_loops): Do not rewrite into - loop-closed SSA here, but ... - (tree_loop_unroll_and_jam): ... here once. - * tree-if-conv.cc (version_loop_for_if_conversion): Use - the cheaper TODO_update_ssa_no_phi. - * tree-loop-distribution.cc (version_loop_by_alias_check): - Likewise. - * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop): - Likewise. - * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise. - (tree_unswitch_outer_loop): Do not rewrite virtuals into - LC ssa. - * tree-parloops.cc (transform_to_exit_first_loop_alt): - Likewise. - (pass_parallelize_loops::execute): After finishing rewrite - into LC SSA again because we do not maintain it properly. - -2022-07-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106055 - * graphite.cc (canonicalize_loop_closed_ssa): Check whether - we can propagate. - -2022-07-04 Haochen Jiang <haochen.jiang@intel.com> - - PR target/43618 - * config/i386/sse.md (extendv2sfv2df2): New define_expand. - (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1]. - (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2. - -2022-07-04 Aldy Hernandez <aldyh@redhat.com> - - * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=. - * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same. - * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set - with two arguments. - (find_unswitching_predicates_for_bb): Same. - * tree-vrp.cc (range_fold_unary_symbolics_p): Same. - * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==. - * value-range.cc (irange::equal_p): Rename to... - (irange::operator==): ...this. - * value-range.h (irange::set): Remove. - (irange::operator==): Remove. - (irange::set_zero): Use set with two arguments. - * vr-values.cc (vr_values::extract_range_from_binary_expr): Same. - (vr_values::extract_range_from_unary_expr): Same. - (check_for_binary_op_overflow): Same. - (bounds_of_var_in_loop): Same. - -2022-07-03 H.J. Lu <hjl.tools@gmail.com> - - PR target/106022 - * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer): - New. - * config/i386/i386.cc (ix86_convert_const_vector_to_integer): - New. - * config/i386/mmx.md (V_16_32_64): New. - (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit - and 64-bit constant vector. - * config/i386/predicates.md (x86_64_const_vector_operand): New. - -2022-07-03 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-cache.cc: Include value-range-storage.h. - * gimple-range-cache.h (class block_range_cache): Add "class" to - m_range_allocator. - * gimple-range-edge.cc - (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator. - (gimple_outgoing_range::~gimple_outgoing_range): Free allocator. - (gimple_outgoing_range::calc_switch_ranges): Dereference allocator. - * gimple-range-edge.h: Add "class" to m_range_allocator. - * gimple-range-infer.cc - (infer_range_manager::infer_range_manager): Allocate allocator. - (infer_range_manager::~infer_range_manager): Free allocator. - (infer_range_manager::get_nonzero): Dereference allocator. - (infer_range_manager::add_range): Same. - * gimple-range-infer.h (class vrange_allocator): Add "class" to - m_range_allocator. - * value-range-storage.h (class vrange_allocator): Move from - value-range.h. - (class obstack_vrange_allocator): Same. - (class ggc_vrange_allocator): Same. - (vrange_allocator::alloc_vrange): Same. - (vrange_allocator::alloc_irange): Same. - * value-range.h (class vrange_allocator): Move to value-range-storage.h. - (class obstack_vrange_allocator): Same. - (class ggc_vrange_allocator): Same. - -2022-07-03 Aldy Hernandez <aldyh@redhat.com> - - * Makefile.in (OBJS): Add value-range-storage.o. - (GTFILES): Add value-range-storage.h. - * gengtype.cc (open_base_files): Add value-range-storage.h. - * value-range-storage.cc: New file. - * value-range-storage.h: New file. - -2022-07-03 Xi Ruoyao <xry111@xry111.site> - Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_check_zero_div_p): - New static function. - (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead - of TARGET_CHECK_ZERO_DIV. - (loongarch_output_division): Likewise. - * common/config/loongarch/loongarch-common.cc - (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook. - * doc/invoke.texi: Update to match the new behavior. - -2022-07-03 Ian Lance Taylor <iant@golang.org> - - * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping - statement if -fdelete-dead-exceptions. - -2022-07-02 Tim Lange <mail@tim-lange.me> - - PR analyzer/105900 - * doc/invoke.texi: Added Wanalyzer-allocation-size. - -2022-07-02 Immad Mir <mirimmad17@gmail.com> - - PR analyzer/106003 - * Makefile.in (ANALYZER_OBJS): Add sm-fd.o. - * doc/invoke.texi: Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak, - -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check, - -Wanalyzer-fd-use-after-close. - -2022-07-01 Aldy Hernandez <aldyh@redhat.com> - - * wide-int.h (struct trailing_wide_ints): Add m_num_elements. - (trailing_wide_ints::set_precision): Add num_elements argument. - (trailing_wide_ints::extra_size): Same. - -2022-07-01 Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md (*andn<mode>3_doubleword_bmi): - Use "r" constraint for operand 1. - -2022-07-01 Richard Biener <rguenther@suse.de> - - * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children): - Do not look at interesting_blocks which is a copy of - blocks_to_update. - (update_ssa): Do not initialize it. - (pass_build_ssa::execute): Set interesting_blocks to NULL - after releasing it. - -2022-07-01 Richard Biener <rguenther@suse.de> - - * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert - back to using maybe_ne (off, -1). - -2022-07-01 Richard Biener <rguenther@suse.de> - - * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make - checking dominance check conditional on flag_checking. - -2022-07-01 Tobias Burnus <tobias@codesourcery.com> - - * config/gcn/gcn-protos.h (print_operand_address): Remove register - keyword on 'rtx addr' argument. - -2022-07-01 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints - to post-reload define_insn_and_split. - -2022-07-01 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/106144 - * wide-int.cc (wi::shifted_mask): If end >= prec, return right after - emitting element for shift or if shift is 0 first element after start. - (wide_int_cc_tests): Add tests for equivalency of wi::mask and - wi::shifted_mask with 0 start. - -2022-07-01 Roger Sayle <roger@nextmovesoftware.com> - - PR target/106122 - * config/i386/i386.md (peephole2): Avoid generating pop %esp - when optimizing for size. - -2022-07-01 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md (general_szext_operand): Add TImode - support using x86_64_hilo_general_operand predicate. - (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate. - (*add<dwi>3_doubleword): Improved optimization of zero addition. - (and<mode>3): Use SDWIM mode iterator to add support for double - word bit-wise AND in TImode. Use force_reg when double word - immediate operand isn't x86_64_hilo_general_operand. - (and<dwi>3_doubleword): Generalized from anddi3_doubleword and - converted into a post-reload splitter. - (*andndi3_doubleword): Previous define_insn deleted. - (*andn<mode>3_doubleword_bmi): New define_insn_and_split for - TARGET_BMI that splits post-reload. - (*andn<mode>3_doubleword): New define_insn_and_split for - !TARGET_BMI, that lowers/splits before reload. - (<any_or><mode>3): Use SDWIM mode iterator to add suppport for - double word bit-wise XOR and bit-wise IOR in TImode. Use - force_reg when double word immediate operand isn't - x86_64_hilo_general_operand. - (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword. - (one_cmpl<mode>2): Use SDWIM mode iterator to add support for - double word bit-wise NOT in TImode. - (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword - and converted into a post-reload splitter. - -2022-07-01 Eric Botcazou <ebotcazou@adacore.com> - - PR middle-end/105874 - * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force - EXPAND_MEMORY for the expansion of the inner reference only - in the usual cases where a memory reference is required. - -2022-07-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106131 - * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set - zero when offsetting the read looking through an aggregate - copy. - -2022-07-01 Martin Liska <mliska@suse.cz> - - PR tree-optimization/106126 - * gimple-if-to-switch.cc (struct condition_info): Save - has_side_effect. - (find_conditions): Parse all BBs. - (pass_if_to_switch::execute): Allow only side effects for first - BB. - -2022-07-01 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET): - Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove - OPTION_MASK_ISA2_AVX512BF16_UNSET and - OPTION_MASK_ISA2_AVX512FP16_UNSET. - -2022-06-30 Joseph Myers <joseph@codesourcery.com> - - PR lto/106129 - * lto-wrapper.cc (find_option): Add argument start. - (merge_and_complain): Loop over existing_opt_index and - existing_opt2_index for Xassembler check. Update calls to - find_option. - (find_and_merge_options): Add argument first to determine whether - to merge options with those passed in *opts. - (run_gcc): Update calls to find_and_merge_options. - -2022-06-30 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-cache.cc (block_range_cache::block_range_cache): - Rename vrange_allocator to obstack_vrange_allocator. - (ssa_global_cache::ssa_global_cache): Same. - * gimple-range-edge.h (class gimple_outgoing_range): Same. - * gimple-range-infer.h (class infer_range_manager): Same. - * value-range.h (class vrange_allocator): Make abstract. - (class obstack_vrange_allocator): Inherit from vrange_allocator. - (class ggc_vrange_allocator): New. - -2022-06-30 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md (swap_mode): Rename from *swap<mode> to - provide gen_swapsi. - (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits - via new gen_<insn>32di2_doubleword below. - (<anyrotate>32di2_doubleword): New define_insn_and_split - that splits after reload as either a pair of move instructions - or an xchgl (using gen_swapsi). - -2022-06-30 Richard Biener <rguenther@suse.de> - - * domwalk.h (dom_walker::dom_walker): Update comment to - reflect reality and new special argument value for - bb_index_to_rpo. - * domwalk.cc (dom_walker::dom_walker): Recognize -1 - bb_index_to_rpo. - * tree-into-ssa.cc - (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell - dom_walker to not use RPO. - -2022-06-30 Martin Liska <mliska@suse.cz> - - * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as - it is unused. - -2022-06-30 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106114 - * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check - statement operands instead of GORI cache. - -2022-06-30 Antoni Boucher <bouanto@zoho.com> - - PR target/106095 - * config/i386/sse.md: Fix asm generation. - -2022-06-29 Sergei Trofimovich <siarheit@google.com> - - PR c++/106102 - * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>. - -2022-06-29 Joseph Myers <joseph@codesourcery.com> - - * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM - not gen_const_mem for UNSPEC_PIC_CALL_SYM. - -2022-06-29 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/106082 - * combine.cc (distribute_notes): Preserve notes when - they indicate a call doesn't perform a non-local goto. - -2022-06-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106112 - * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend - a constant operand according to its type. - -2022-06-29 Martin Liska <mliska@suse.cz> - - * doc/invoke.texi: Remove removed evrp-mode. - -2022-06-29 Lulu Cheng <chenglulu@loongson.cn> - - PR target/106097 - * config/loongarch/loongarch.cc (loongarch_build_integer): - Remove undefined behavior from code. - -2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu> - - * doc/sourcebuild.texi: Document new no_alignment_constraints - effective target check. - -2022-06-28 Aldy Hernandez <aldyh@redhat.com> - - * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o. - * flag-types.h (enum evrp_mode): Remove. - * params.opt: Remove --param=evrp-mode. - * tree-vrp.cc (make_pass_early_vrp): New. - (pass_vrp::execute): Call early VRP instance. - * gimple-ssa-evrp-analyze.cc: Removed. - * gimple-ssa-evrp-analyze.h: Removed. - * gimple-ssa-evrp.cc: Removed. - -2022-06-28 Alexandre Oliva <oliva@adacore.com> - - * Makefile.in (TFLAGS): New. - (GCC_FOR_TARGET): Add TFLAGS. - (FLAGS_TO_PASS): Pass TFLAGS down. - -2022-06-28 Richard Biener <rguenther@suse.de> - - * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not - call update_ssa. - -2022-06-28 Richard Biener <rguenther@suse.de> - - * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use - mark_block_for_update. - (update_ssa): Adjust. - -2022-06-28 Xi Ruoyao <xry111@xry111.site> - - PR target/106096 - * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude - $r13 from SIBCALL_REGS. - * config/loongarch/loongarch.cc (loongarch_regno_to_class): - Change $r13 to JIRL_REGS. - -2022-06-28 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove - irange::supports_p. - -2022-06-28 Richard Biener <rguenther@suse.de> - - PR middle-end/106053 - * match.pd ((T)a == (T)b): Avoid folding away sign - changes in a comparison if we'd truncate to a boolean. - -2022-06-28 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode - iterator GPR with SImode, adjust the condition and output template, - rename to ... - (*rotlsi3_insert_4): ... this. - -2022-06-27 David Malcolm <dmalcolm@redhat.com> - - * genmatch.cc: Add "final" and "override" to various vfunc - implementations, removing redundant "virtual" as appropriate. - * gensupport.cc: Likewise. - * gimple-range-cache.h: Likewise. - * ipa-icf-gimple.h: Likewise. - * ipa-icf.h: Likewise. - * read-md.h: Likewise. - * read-rtl-function.cc: Likewise. - * tree-ssa-loop-ch.cc: Likewise. - * tree-ssa-sccvn.cc: Likewise. - -2022-06-27 David Malcolm <dmalcolm@redhat.com> - - * config/i386/i386-features.h: Add "final" and "override" to - scalar_chain vfunc implementations as appropriate. - -2022-06-27 David Malcolm <dmalcolm@redhat.com> - - * tree-switch-conversion.h: Add "final" and "override" to cluster - vfunc implementations as appropriate. - -2022-06-27 David Malcolm <dmalcolm@redhat.com> - - * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc - implementations as appropriate. - -2022-06-27 David Malcolm <dmalcolm@redhat.com> - - * compare-elim.cc: Add "final" and "override" to dom_walker vfunc - implementations, removing redundant "virtual" as appropriate. - * gimple-ssa-strength-reduction.cc: Likewise. - * ipa-prop.cc: Likewise. - * rtl-ssa/blocks.cc: Likewise. - * tree-into-ssa.cc: Likewise. - * tree-ssa-dom.cc: Likewise. - * tree-ssa-math-opts.cc: Likewise. - * tree-ssa-phiopt.cc: Likewise. - * tree-ssa-propagate.cc: Likewise. - * tree-ssa-sccvn.cc: Likewise. - * tree-ssa-strlen.cc: Likewise. - * tree-ssa-uncprop.cc: Likewise. - -2022-06-27 David Malcolm <dmalcolm@redhat.com> - - * adjust-alignment.cc: Add "final" and "override" to opt_pass - vfunc implementations, removing redundant "virtual" as - appropriate. - * asan.cc: Likewise. - * auto-inc-dec.cc: Likewise. - * auto-profile.cc: Likewise. - * bb-reorder.cc: Likewise. - * cfgcleanup.cc: Likewise. - * cfgexpand.cc: Likewise. - * cfgrtl.cc: Likewise. - * cgraphbuild.cc: Likewise. - * combine-stack-adj.cc: Likewise. - * combine.cc: Likewise. - * compare-elim.cc: Likewise. - * config/i386/i386-features.cc: Likewise. - * coroutine-passes.cc: Likewise. - * cprop.cc: Likewise. - * cse.cc: Likewise. - * dce.cc: Likewise. - * df-core.cc: Likewise. - * dse.cc: Likewise. - * dwarf2cfi.cc: Likewise. - * early-remat.cc: Likewise. - * except.cc: Likewise. - * final.cc: Likewise. - * function.cc: Likewise. - * fwprop.cc: Likewise. - * gcse.cc: Likewise. - * gimple-harden-conditionals.cc: Likewise. - * gimple-if-to-switch.cc: Likewise. - * gimple-isel.cc: Likewise. - * gimple-laddress.cc: Likewise. - * gimple-loop-interchange.cc: Likewise. - * gimple-loop-jam.cc: Likewise. - * gimple-loop-versioning.cc: Likewise. - * gimple-low.cc: Likewise. - * gimple-ssa-backprop.cc: Likewise. - * gimple-ssa-evrp.cc: Likewise. - * gimple-ssa-isolate-paths.cc: Likewise. - * gimple-ssa-nonnull-compare.cc: Likewise. - * gimple-ssa-split-paths.cc: Likewise. - * gimple-ssa-store-merging.cc: Likewise. - * gimple-ssa-strength-reduction.cc: Likewise. - * gimple-ssa-warn-access.cc: Likewise. - * gimple-ssa-warn-alloca.cc: Likewise. - * gimple-ssa-warn-restrict.cc: Likewise. - * gimple-warn-recursion.cc: Likewise. - * graphite.cc: Likewise. - * ifcvt.cc: Likewise. - * init-regs.cc: Likewise. - * ipa-comdats.cc: Likewise. - * ipa-cp.cc: Likewise. - * ipa-devirt.cc: Likewise. - * ipa-fnsummary.cc: Likewise. - * ipa-free-lang-data.cc: Likewise. - * ipa-icf.cc: Likewise. - * ipa-inline.cc: Likewise. - * ipa-modref.cc: Likewise. - * ipa-profile.cc: Likewise. - * ipa-pure-const.cc: Likewise. - * ipa-reference.cc: Likewise. - * ipa-split.cc: Likewise. - * ipa-sra.cc: Likewise. - * ipa-visibility.cc: Likewise. - * ipa.cc: Likewise. - * ira.cc: Likewise. - * jump.cc: Likewise. - * loop-init.cc: Likewise. - * lower-subreg.cc: Likewise. - * mode-switching.cc: Likewise. - * modulo-sched.cc: Likewise. - * multiple_target.cc: Likewise. - * omp-expand.cc: Likewise. - * omp-low.cc: Likewise. - * omp-oacc-kernels-decompose.cc: Likewise. - * omp-oacc-neuter-broadcast.cc: Likewise. - * omp-offload.cc: Likewise. - * omp-simd-clone.cc: Likewise. - * passes.cc: Likewise. - * postreload-gcse.cc: Likewise. - * postreload.cc: Likewise. - * predict.cc: Likewise. - * recog.cc: Likewise. - * ree.cc: Likewise. - * reg-stack.cc: Likewise. - * regcprop.cc: Likewise. - * reginfo.cc: Likewise. - * regrename.cc: Likewise. - * reorg.cc: Likewise. - * sancov.cc: Likewise. - * sanopt.cc: Likewise. - * sched-rgn.cc: Likewise. - * stack-ptr-mod.cc: Likewise. - * store-motion.cc: Likewise. - * tracer.cc: Likewise. - * trans-mem.cc: Likewise. - * tree-call-cdce.cc: Likewise. - * tree-cfg.cc: Likewise. - * tree-cfgcleanup.cc: Likewise. - * tree-complex.cc: Likewise. - * tree-eh.cc: Likewise. - * tree-emutls.cc: Likewise. - * tree-if-conv.cc: Likewise. - * tree-into-ssa.cc: Likewise. - * tree-loop-distribution.cc: Likewise. - * tree-nrv.cc: Likewise. - * tree-object-size.cc: Likewise. - * tree-parloops.cc: Likewise. - * tree-predcom.cc: Likewise. - * tree-profile.cc: Likewise. - * tree-sra.cc: Likewise. - * tree-ssa-ccp.cc: Likewise. - * tree-ssa-copy.cc: Likewise. - * tree-ssa-dce.cc: Likewise. - * tree-ssa-dom.cc: Likewise. - * tree-ssa-dse.cc: Likewise. - * tree-ssa-forwprop.cc: Likewise. - * tree-ssa-ifcombine.cc: Likewise. - * tree-ssa-loop-ch.cc: Likewise. - * tree-ssa-loop-im.cc: Likewise. - * tree-ssa-loop-ivcanon.cc: Likewise. - * tree-ssa-loop-prefetch.cc: Likewise. - * tree-ssa-loop-split.cc: Likewise. - * tree-ssa-loop-unswitch.cc: Likewise. - * tree-ssa-loop.cc: Likewise. - * tree-ssa-math-opts.cc: Likewise. - * tree-ssa-phiopt.cc: Likewise. - * tree-ssa-phiprop.cc: Likewise. - * tree-ssa-pre.cc: Likewise. - * tree-ssa-reassoc.cc: Likewise. - * tree-ssa-sccvn.cc: Likewise. - * tree-ssa-sink.cc: Likewise. - * tree-ssa-strlen.cc: Likewise. - * tree-ssa-structalias.cc: Likewise. - * tree-ssa-uncprop.cc: Likewise. - * tree-ssa-uninit.cc: Likewise. - * tree-ssanames.cc: Likewise. - * tree-stdarg.cc: Likewise. - * tree-switch-conversion.cc: Likewise. - * tree-tailcall.cc: Likewise. - * tree-vect-generic.cc: Likewise. - * tree-vectorizer.cc: Likewise. - * tree-vrp.cc: Likewise. - * tsan.cc: Likewise. - * ubsan.cc: Likewise. - * var-tracking.cc: Likewise. - * vtable-verify.cc: Likewise. - * web.cc: Likewise. - -2022-06-27 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds. - (jump): Likewise. - (movdi_symbol_save_scc): Likewise. - -2022-06-27 Roger Sayle <roger@nextmovesoftware.com> - - PR rtl-optimization/7061 - * config/i386/i386.md (*highpartdisi2): New define_insn_and_split. - -2022-06-27 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/94026 - * match.pd (((X << C1) & C2) eq/ne C3): New simplification. - (((X >> C1) & C2) eq/ne C3): Likewise. - -2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - * statistics.cc: Include tree.h. - (get_function_name): New function. - (statistics_fini_pass_2): Call get_function_name instead of - current_function_name. - (statistics_counter_event): Call get_function_name instead of - function_name. - (statistics_histogram_event): Likewise. - -2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md: - Suppress unnecessary emitting nop insn in the split patterns for - integer/FP constant synthesis, and add new peephole2 pattern that - folds such synthesized additions. - -2022-06-25 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor - instead of evrp. - (dom_jt_state::push): Remove m_evrp. - (dom_jt_state::pop): Same. - (dom_jt_state::record_ranges_from_stmt): Remove. - (dom_jt_state::register_equiv): Remove updating of evrp ranges. - (class dom_jt_simplifier): Pass ranger to constructor. - Inherit from hybrid_jt_simplifier. - (dom_jt_simplifier::simplify): Convert to ranger. - (pass_dominator::execute): Same. - (all_uses_feed_or_dominated_by_stmt): New. - (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New. - (dom_opt_dom_walker::before_dom_children): Call - set_global_ranges_from_unreachable_edges. - Do not call record_ranges_from_stmt. - (dom_opt_dom_walker::after_dom_children): Remove evrp use. - (cprop_operand): Use int_range<> instead of value_range. - (dom_opt_dom_walker::fold_cond): New. - (dom_opt_dom_walker::optimize_stmt): Pass ranger to - cprop_into_stmt. - Use fold_cond() instead of vrp_visit_cond_stmt(). - * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not - pass state to simplifier. - * vr-values.h (class vr_values): Make fold_cond public. - -2022-06-25 Jeff Law <jeffreyalaw@gmail.com> - - * common/config/tilegx/tilegx-common.cc: Removed. - * common/config/tilepro/tilepro-common.cc: Removed. - * config.gcc: Remove tilegx and tilepro entries. - * config/tilegx/constraints.md: Removed. - * config/tilegx/feedback.h: Removed. - * config/tilegx/linux.h: Removed. - * config/tilegx/mul-tables.cc: Removed. - * config/tilegx/predicates.md: Removed. - * config/tilegx/sync.md: Removed. - * config/tilegx/t-tilegx: Removed. - * config/tilegx/tilegx-builtins.h: Removed. - * config/tilegx/tilegx-c.cc: Removed. - * config/tilegx/tilegx-generic.md: Removed. - * config/tilegx/tilegx-modes.def: Removed. - * config/tilegx/tilegx-multiply.h: Removed. - * config/tilegx/tilegx-opts.h: Removed. - * config/tilegx/tilegx-protos.h: Removed. - * config/tilegx/tilegx.cc: Removed. - * config/tilegx/tilegx.h: Removed. - * config/tilegx/tilegx.md: Removed. - * config/tilegx/tilegx.opt: Removed. - * config/tilepro/constraints.md: Removed. - * config/tilepro/feedback.h: Removed. - * config/tilepro/gen-mul-tables.cc: Removed. - * config/tilepro/linux.h: Removed. - * config/tilepro/mul-tables.cc: Removed. - * config/tilepro/predicates.md: Removed. - * config/tilepro/t-tilepro: Removed. - * config/tilepro/tilepro-builtins.h: Removed. - * config/tilepro/tilepro-c.cc: Removed. - * config/tilepro/tilepro-generic.md: Removed. - * config/tilepro/tilepro-modes.def: Removed. - * config/tilepro/tilepro-multiply.h: Removed. - * config/tilepro/tilepro-protos.h: Removed. - * config/tilepro/tilepro.cc: Removed. - * config/tilepro/tilepro.h: Removed. - * config/tilepro/tilepro.md: Removed. - * config/tilepro/tilepro.opt: Removed. - * configure.ac: Remove tilegx and tilepro entries. - * configure: Rebuilt. - * doc/extend.texi: Remove tilegx and tilepro entries. - * doc/install.texi: Remove tilegx and tilepro entries. - * doc/invoke.texi: Remove tilegx and tilepro entries. - * doc/md.texi: Remove tilegx and tilepro entries. - -2022-06-25 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - * regcprop.cc (pass_cprop_hardreg::execute): Perform a third - iteration over each basic block that was updated by the second - iteration. - -2022-06-24 Jason Merrill <jason@redhat.com> - - PR c++/87729 - PR c++/20423 - * doc/invoke.texi: Document changes. - -2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> - - * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop - condition to avoid overflow. - -2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com> - - * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with - OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT. - * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with - OPTION_MASK_PPC_GFXOPT. - * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same. - * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with - OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT. - * config/rs6000/rs6000-c.cc: Update comment. - * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls. - * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace - MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT. - (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB - with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB. - * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR, - MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT, - MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT, - MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete. - -2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com> - - * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with - OPTION_MASK_MFCRF. - * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with - OPTION_MASK_MULTIPLE. - * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same. - * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with - OPTION_MASK_MFCRF. - * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with - OPTION_MASK_EABI. - * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same. - * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace - MASK_ALTIVEC with OPTION_MASK_ALTIVEC. - * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB, - MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, - MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND, - MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF, - MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE): - Replace with - OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO, - OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB, - OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD, - OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION, - OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL, - OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW, - OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE. - * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace - MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC. - * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE - with OPTION_MASK_MULTIPLE. - (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP, - MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD, - MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT, - MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW, - MASK_MULTIPLE, MASK_NO_UPDATE): Delete. - * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI - with OPTION_MASK_EABI. - -2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com> - - * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB, - RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR, - RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO, - RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC, - OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB, - OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC, - OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM. - * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC, - RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR, - RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO, - RS6000_BTM_HTM, RS6000_BTM_FRE): Remove. - -2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com> - - * config/rs6000/rs6000-c.cc: Update comments. - * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE, - RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL, - RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP, - RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128, - RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace - with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT, - OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD, - OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64, - OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE, - OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW, - OPTION_MASK_MMA, OPTION_MASK_POWER10. - * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE, - RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL, - RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128, - RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128, - RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete. - -2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com> - - * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS, - MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE, - OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove. - -2022-06-24 Richard Biener <rguenther@suse.de> - - PR middle-end/106070 - * match.pd (a != b ? a : b): Fix translation of - operand_equal_for_comparison_p. - -2022-06-24 Jan Hubicka <jh@suse.cz> - - PR ipa/106057 - * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw. - -2022-06-24 Martin Liska <mliska@suse.cz> - - PR middle-end/106059 - * profile-count.h: *= and /= operators need to modify this - object. - -2022-06-24 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - PR target/105930 - * config/i386/i386.md (*<any_or>di3_doubleword): Split after - reload. Use rtx_equal_p to avoid creating memory-to-memory moves, - and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0). - -2022-06-24 Alexandre Oliva <oliva@adacore.com> - - * common.opt (nostdlib++): New. - * doc/invoke.texi (-nostdlib++): Document it. - -2022-06-24 Alexandre Oliva <oliva@adacore.com> - - * doc/sourcebuild.texi (Environment attributes): Document - two_plus_gigs. - -2022-06-23 David Malcolm <dmalcolm@redhat.com> - - * common.opt (fdiagnostics-show-rules): New option. - * diagnostic-format-json.cc (diagnostic_output_format_init_json): - Fix up context->show_rules. - * diagnostic-format-sarif.cc - (diagnostic_output_format_init_sarif): Likewise. - * diagnostic-metadata.h (diagnostic_metadata::rule): New class. - (diagnostic_metadata::precanned_rule): New class. - (diagnostic_metadata::add_rule): New. - (diagnostic_metadata::get_num_rules): New. - (diagnostic_metadata::get_rule): New. - (diagnostic_metadata::m_rules): New field. - * diagnostic.cc (diagnostic_initialize): Initialize show_rules. - (print_any_rules): New. - (diagnostic_report_diagnostic): Call it. - * diagnostic.h (diagnostic_context::show_rules): New field. - * doc/invoke.texi (-fno-diagnostics-show-rules): New option. - * opts.cc (common_handle_option): Handle - OPT_fdiagnostics_show_rules. - * toplev.cc (general_init): Set up global_dc->show_rules. - -2022-06-23 Martin Liska <mliska@suse.cz> - - PR c++/106062 - * ubsan.cc (sanitize_unreachable_fn): Change order of calls - in order to initialize UBSAN built-ins. - -2022-06-23 Martin Liska <mliska@suse.cz> - - PR ipa/105600 - * ipa-icf.cc (sem_item_optimizer::filter_removed_items): - Skip variables with body_removed. - -2022-06-23 liuhongt <hongtao.liu@intel.com> - - * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with - reg_or_subregno. - (sse4_2_pcmpistr): Ditto. - -2022-06-23 Xionghu Luo <xionghuluo@tencent.com> - - * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix - typo. - * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise. - * tree-switch-conversion.h: Likewise. - -2022-06-22 Jason Merrill <jason@redhat.com> - - PR c++/104642 - * common.opt: Add -funreachable-traps. - * doc/invoke.texi (-funreachable-traps): Document it. - * opts.cc (finish_options): Enable at -O0 or -Og. - * tree.cc (build_common_builtin_nodes): Add __builtin_trap. - (builtin_decl_unreachable, build_builtin_unreachable): New. - * tree.h: Declare them. - * ubsan.cc (sanitize_unreachable_fn): Factor out. - (ubsan_instrument_unreachable): Use - gimple_build_builtin_unreachable. - * ubsan.h (sanitize_unreachable_fn): Declare. - * gimple.cc (gimple_build_builtin_unreachable): New. - * gimple.h: Declare it. - * builtins.cc (expand_builtin_unreachable): Add assert. - (fold_builtin_0): Call build_builtin_unreachable. - * sanopt.cc: Don't run for just SANITIZE_RETURN - or SANITIZE_UNREACHABLE when trapping. - * cgraphunit.cc (walk_polymorphic_call_targets): Use new - unreachable functions. - * gimple-fold.cc (gimple_fold_call) - (gimple_get_virt_method_for_vtable) - * ipa-fnsummary.cc (redirect_to_unreachable) - * ipa-prop.cc (ipa_make_edge_direct_to_target) - (ipa_impossible_devirt_target) - * ipa.cc (walk_polymorphic_call_targets) - * tree-cfg.cc (pass_warn_function_return::execute) - (execute_fixup_cfg) - * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts) - (unloop_loops) - * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): - Likewise. - -2022-06-22 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/106019 - * tree-data-ref.cc (dr_may_alias_p): Try using the - innermost_loop_behavior to disambiguate non-loop queries. - -2022-06-22 Palmer Dabbelt <palmer@rivosinc.com> - - * doc/invoke.texi (RISC-V): Document -mtune=thead-c906. - -2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (bswapsi2_internal): - Enlarge the buffer that is obviously smaller than the template - string given to sprintf(). - -2022-06-21 Roger Sayle <roger@nextmovesoftware.com> - Marek Polacek <polacek@redhat.com> - Segher Boessenkool <segher@kernel.crashing.org> - Kewen Lin <linkw@linux.ibm.com> - - PR target/105991 - * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that - exact_log2 doesn't return -1 (or zero). - (plus_xor): New code iterator. - (*rotl<mode>3_insert_3_<code>): New define_insn_and_split. - -2022-06-21 Nathan Sidwell <nathan@acm.org> - - * doc/invoke.texi (C++ Modules): Remove language-linkage - as missing feature. - -2022-06-21 Arjun Shankar <arjun@redhat.com> - - PR tree-optimization/94899 - * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is - 0x80000000): New simplification. - -2022-06-21 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/106032 - * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and - t may_trap_or_fault_p, even if it is cheap. - -2022-06-21 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/106030 - * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of - temp to expand_operands if mode has been promoted. - -2022-06-21 Xionghu Luo <xionghuluo@tencent.com> - - PR target/105740 - * gimple-if-to-switch.cc (find_conditions): Don't skip the first - condition bb. - -2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR tree-optimization/105736 - * tree-object-size.cc (addr_object_size): Return size_unknown - when object offset computation returns an error. - -2022-06-20 H.J. Lu <hjl.tools@gmail.com> - - PR target/105960 - * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return - false if PIC register is used when calling ifunc functions. - -2022-06-20 Richard Biener <rguenther@suse.de> - - PR middle-end/106027 - * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the - type of the prevailing comparison for the new comparison type. - (fold_binary_loc): Use proper types for the A < X && A + 1 > Y - to A < X && A >= Y folding. - -2022-06-20 Kewen Lin <linkw@linux.ibm.com> - - PR tree-optimization/105940 - * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter - slp_done_for_suggested_uf and adjust with it accordingly. - (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf, - pass it down to vect_analyze_loop_2 for the initial analysis and - applying suggested unroll factor. - (vect_is_simple_reduction): Add parameter slp and adjust with it. - (vect_analyze_scalar_cycles_1): Add parameter slp and pass down. - (vect_analyze_scalar_cycles): Likewise. - -2022-06-20 Martin Liska <mliska@suse.cz> - - * bb-reorder.cc (find_traces_1_round): Add operators / and * and - use them. - (better_edge_p): Likewise. - * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise. - * cfgloopmanip.cc (scale_loop_profile): Likewise. - * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise. - * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise. - * config/sh/sh.cc (expand_cbranchdi4): Likewise. - * dojump.cc (do_compare_rtx_and_jump): Likewise. - * final.cc (compute_alignments): Likewise. - * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise. - (decide_about_value): Likewise. - * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise. - * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise. - * modulo-sched.cc (sms_schedule): Likewise. - * omp-expand.cc (extract_omp_for_update_vars): Likewise. - (expand_omp_ordered_sink): Likewise. - (expand_omp_for_ordered_loops): Likewise. - (expand_omp_for_static_nochunk): Likewise. - * predict.cc (maybe_hot_count_p): Likewise. - (probably_never_executed): Likewise. - (set_even_probabilities): Likewise. - (handle_missing_profiles): Likewise. - (expensive_function_p): Likewise. - * profile-count.h: Likewise. - * profile.cc (compute_branch_probabilities): Likewise. - * stmt.cc (emit_case_dispatch_table): Likewise. - * symtab-thunks.cc (expand_thunk): Likewise. - * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise. - * tree-ssa-sink.cc (select_best_block): Likewise. - * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise. - (switch_decision_tree::balance_case_nodes): Likewise. - (switch_decision_tree::emit_case_nodes): Likewise. - * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise. - -2022-06-20 yulong <shiyulong@iscas.ac.cn> - - * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New. - * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE - of RISCV_BUILTIN. - * config/riscv/riscv-ftypes.def (0): Remove unused. - (1): New. - -2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p): - Consider relaxed MOVI instructions as L32R. - -2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_emit_move_sequence): - Use can_create_pseudo_p(), instead of using individual - reload_in_progress and reload_completed. - (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(), - the existing predicate function. - (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall): - Use the standard RTX code predicate macros such as MEM_P, - SYMBOL_REF_P and/or CONST_INT_P. - * config/xtensa/xtensa.md: Avoid using numeric literals to determine - if callee-saved register, at the split patterns for indirect sibcall - fixups. - -2022-06-18 Jakub Jelinek <jakub@redhat.com> - - * common.opt (flag_sanitize_trap): New variable. - (fsanitize-trap=, fsanitize-trap): New options. - (fsanitize-undefined-trap-on-error): Change into deprecated alias - for -fsanitize-trap=all. - * opts.h (struct sanitizer_opts_s): Add can_trap member. - * opts.cc (finish_options): Complain about unsupported - -fsanitize-trap= options. - (sanitizer_opts): Add can_trap values to all entries. - (get_closest_sanitizer_option): Ignore -fsanitize-trap= - options which have can_trap false. - (parse_sanitizer_options): Add support for -fsanitize-trap=. - For -fsanitize-trap=all, enable - SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow - -fsanitize-trap=vptr here. - (common_handle_option): Handle OPT_fsanitize_trap_ and - OPT_fsanitize_trap. - * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check - flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of - flag_sanitize_undefined_trap_on_error. - * gcc.cc (sanitize_spec_function): Use - flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize - and drop use of flag_sanitize_undefined_trap_on_error in - "undefined" handling. - * ubsan.cc (ubsan_instrument_unreachable): Use - flag_sanitize_trap & SANITIZE_??? instead of - flag_sanitize_undefined_trap_on_error. - (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn, - ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn, - ubsan_build_overflow_builtin, instrument_bool_enum_load, - ubsan_instrument_float_cast, instrument_nonnull_arg, - instrument_nonnull_return, instrument_builtin): Likewise. - * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document. - (-fsanitize-undefined-trap-on-error): Document as deprecated - alias of -fsanitize-trap. - -2022-06-18 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/105998 - * varasm.cc (narrowing_initializer_constant_valid_p): Check - SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on - ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type. - -2022-06-18 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/105835 - * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)): - Narrow integer multiplication by a zero_one_valued_p operand. - (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer - conversions inside COND_EXPR where both data operands are - integer constants. - -2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/constraints.md (Y): - Change to include integer constants until reload begins. - * config/xtensa/predicates.md (move_operand): Ditto. - * config/xtensa/xtensa.cc (xtensa_emit_move_sequence): - Change to allow storing integer constants into litpool only after - reload begins. - -2022-06-17 Uroš Bizjak <ubizjak@gmail.com> - - PR target/105209 - * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New. - * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function. - (alpha_store_data_bypass_p_1): Ditto. - * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead - of generic store_data_bypass_p. - (ev4_ist_c): Remove insn reservation. - -2022-06-17 Uroš Bizjak <ubizjak@gmail.com> - - PR target/105970 - * config/i386/i386.cc (ix86_function_arg): Assert that - the mode of pointer argumet is equal to ptr_mode, not Pmode. - -2022-06-17 Uroš Bizjak <ubizjak@gmail.com> - - PR target/105993 - * config/i386/sse.md (vpmov splitter): Use (match_dup ...) - instead of REGNO comparisons in combine splitter. - -2022-06-17 Segher Boessenkool <segher@kernel.crashing.org> - - * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some - types. - -2022-06-17 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/bitmanip.md: Supress warning. - -2022-06-17 Richard Earnshaw <rearnsha@arm.com> - - PR target/106004 - * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL. - Clear bits in the mask above bit 31. - -2022-06-17 Richard Earnshaw <rearnsha@arm.com> - - * config/arm/mve.md (*mve_mov<mode>): Re-order constraints - to avoid spilling trivial literals to the constant pool. - -2022-06-16 David Malcolm <dmalcolm@redhat.com> - - * gimple-ssa-warn-access.cc (warn_string_no_nul): Add - auto_diagnostic_group to group any warning with its note. - (maybe_warn_for_bound): Likewise. - (check_access): Likewise. - (warn_dealloc_offset): Likewise. - (pass_waccess::maybe_warn_memmodel): Likewise. - (pass_waccess::maybe_check_dealloc_call): Likewise. - (pass_waccess::warn_invalid_pointer): Likewise. - (pass_waccess::check_dangling_stores): Likewise. - -2022-06-16 Jason Merrill <jason@redhat.com> - - * opts.cc (common_handle_option) [OPT_fsanitize_]: Set - opts_set->x_flag_sanitize. - -2022-06-16 Jason Merrill <jason@redhat.com> - - * flags.h (issue_strict_overflow_warning): Comment #endif. - -2022-06-16 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name - was invaraint before, clear the invariant bit. - * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag. - * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype. - -2022-06-16 Andrew MacLeod <amacleod@redhat.com> - - * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt. - -2022-06-16 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105983 - * match.pd (y == XXX_MIN || x < y -> x <= y - 1, - y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s - on non-equality comparisons. - -2022-06-16 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105984 - * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) -> - x > stype_max / cst || x < stype_min / cst): fold_convert @1 - to TREE_TYPE (@0) just once and test for negative divisor - also on that folded constant instead of on @1. - -2022-06-16 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/105951 - * tree-ssa-ccp.cc (optimize_atomic_bit_test_and, - optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call) - as last argument to the internal functions. - * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the - extra call argument to ifns. If expand_atomic_fetch_op fails for the - lhs == NULL_TREE case, fall through into the optab code with - gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op - fails, construct a CALL_EXPR and expand that. - (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument - to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and - expand that. - -2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/103316 - * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable - gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET, - RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT, - RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI. - * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support - for new Power10 V1TI instructions. - (vec_cmp<mode><mode>): Set mode iterator to VEC_IC. - (vec_cmpu<mode><mode>): Likewise. - (vector_nlt<mode>): Set mode iterator to VEC_IC. - (vector_nltv1ti): Remove. - (vector_gtu<mode>): Set mode iterator to VEC_IC. - (vector_gtuv1ti): Remove. - (vector_nltu<mode>): Set mode iterator to VEC_IC. - (vector_nltuv1ti): Remove. - (vector_geu<mode>): Set mode iterator to VEC_IC. - (vector_ngt<mode>): Likewise. - (vector_ngtv1ti): Remove. - (vector_ngtu<mode>): Set mode iterator to VEC_IC. - (vector_ngtuv1ti): Remove. - (vector_gtu_<mode>_p): Set mode iterator to VEC_IC. - (vector_gtu_v1ti_p): Remove. - (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI. - (vrotlv1ti3): Remove. - (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI. - (vashrv1ti3): Remove. - -2022-06-16 Martin Liska <mliska@suse.cz> - - * gengtype-state.cc (read_a_state_token): Do not skip extra - character after escaped sequence. - -2022-06-16 Martin Liska <mliska@suse.cz> - - PR driver/105564 - * spellcheck.cc (test_find_closest_string): Add new test. - * spellcheck.h (class best_match): Prefer a difference in - trailing sign symbol. - -2022-06-16 liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/53533 - * match.pd: Simplify (B * v + C) * D -> BD * v + CD and - (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST, - and there's no overflow or !TYPE_OVERFLOW_UNDEFINED. - -2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator. - -2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/predicates.md (reload_operand): - New predicate. - * config/xtensa/xtensa.md: New peephole2 pattern. - -2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (*round_up_to_even): - New insn-and-split pattern. - (*signed_ge_zero): Ditto. - -2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call, - xtensa_emit_sibcall): New prototypes. - (xtensa_expand_epilogue): Add new argument that specifies whether - or not sibling call. - * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL): - New macro definition. - (xtensa_prepare_expand_call): New function in order to share - the common code. - (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall): - New functions. - (xtensa_expand_epilogue): Add new argument sibcall_p and use it - for sibling call handling. - * config/xtensa/xtensa.md (call, call_value): - Use xtensa_prepare_expand_call. - (call_internal, call_value_internal): - Add the condition in order to be disabled if sibling call. - (sibcall, sibcall_value, sibcall_epilogue): New expansions. - (sibcall_internal, sibcall_value_internal): New insn patterns, - and split ones in order to take care of the indirect sibcalls. - -2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * doc/invoke.texi: Document -mextra-l32r-costs= option. - -2022-06-15 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105962 - * doc/invoke.texi: Add -fno-analyzer-undo-inlining. - * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer): - Extend -fdiagnostics-path-format=separate-events so that with - -fdiagnostics-show-path-depths it prints fndecls as well as stack - depths. - -2022-06-15 David Malcolm <dmalcolm@redhat.com> - - * value-relation.h: Add "final" and "override" to relation_oracle - vfunc implementations as appropriate. - -2022-06-15 Richard Sandiford <richard.sandiford@arm.com> - - PR middle-end/105975 - Revert everything apart from the expand_fn_using_insn and - expand_direct_optab_fn changes from: - * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro. - (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE) - (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY) - (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it. - * internal-fn.h (direct_internal_fn_info::directly_mapped): New - member variable. - (direct_internal_fn_info::vectorizable): Reduce to 1 bit. - (direct_internal_fn_p): Also return true for internal functions - that map directly to instructions defined target-insns.def. - (direct_internal_fn): Adjust comment accordingly. - * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1) - (vectorizable_optab2): New local macros. - (not_direct): Initialize directly_mapped. - (mask_load_direct, load_lanes_direct, mask_load_lanes_direct) - (gather_load_direct, len_load_direct, mask_store_direct) - (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct) - (vec_cond_direct, scatter_store_direct, len_store_direct) - (vec_set_direct, unary_direct, binary_direct, ternary_direct) - (cond_unary_direct, cond_binary_direct, cond_ternary_direct) - (while_direct, fold_extract_direct, fold_left_direct) - (mask_fold_left_direct, check_ptrs_direct): Use the macros above. - (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete - (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise; - (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise. - (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise. - (direct_internal_fn_types): Handle functions that map to instructions - defined in target-insns.def. - (direct_internal_fn_types): Likewise. - (direct_internal_fn_supported_p): Likewise. - (internal_fn_expanders): Likewise. - (expand_fn_using_insn): New function, - split out and adapted from... - (expand_direct_optab_fn): ...here. - (expand_GOMP_SIMT_ENTER_ALLOC): Use it. - (expand_GOMP_SIMT_EXIT): Likewise. - (expand_GOMP_SIMT_LANE): Likewise. - (expand_GOMP_SIMT_LAST_LANE): Likewise. - (expand_GOMP_SIMT_ORDERED_PRED): Likewise. - (expand_GOMP_SIMT_VOTE_ANY): Likewise. - (expand_GOMP_SIMT_XCHG_BFLY): Likewise. - (expand_GOMP_SIMT_XCHG_IDX): Likewise. - -2022-06-15 Richard Earnshaw <rearnsha@arm.com> - - PR target/105981 - * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg - to first_reg and second_reg respectively. Initialize them correctly - when generating big-endian code. - -2022-06-15 Richard Earnshaw <rearnsha@arm.com> - - PR target/105974 - * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT. - -2022-06-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105971 - * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for - FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation - to leak less surprising alias results. - -2022-06-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105969 - * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division - by zero in overflow check. - -2022-06-15 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/105254 - PR tree-optimization/105940 - Revert: - * config/aarch64/aarch64.cc - (aarch64_vector_costs::determine_suggested_unroll_factor): Take a - loop_vec_info as argument. Restrict the unroll factor to values - that divide the VF. - (aarch64_vector_costs::finish_cost): Update call accordingly. - -2022-06-15 Richard Sandiford <richard.sandiford@arm.com> - - * read-rtl.cc (find_int): Substitute symbolic constants - before converting the string to an integer. - -2022-06-15 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer - left shifts by a constant when the result is truncated, and the - shift constant is well-defined. - * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add - support for rotations of signed integer types, by lowering - using unsigned vector shifts. - -2022-06-15 liuhongt <hongtao.liu@intel.com> - - PR target/105953 - * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg - operands[3]. - -2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com> - - PR rtl-optimization/105041 - * regrename.cc (check_new_reg_p): Use nregs value from du chain. - -2022-06-14 Segher Boessenkool <segher@kernel.crashing.org> - - * config/rs6000/vsx.md (VS_scalar): Delete. - (rest of file): Adjust. - -2022-06-14 Jan Hubicka <hubicka@ucw.cz> - - PR ipa/105739 - * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads. - -2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/bitmanip.md: Add split to handle opportunities - for slli + sh[123]add.uw - -2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/predicates.md (consecutive_bits_operand): - Implement new predicate. - -2022-06-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105946 - * tree-ssa-uninit.cc (maybe_warn_pass_by_reference): - Do not look at arguments not specified in the function call. - -2022-06-14 Richard Biener <rguenther@suse.de> - - PR middle-end/105965 - * match.pd (view_convert CONSTRUCTOR): Handle single-element - CTOR case. - -2022-06-14 Eric Botcazou <ebotcazou@adacore.com> - - * warning-control.cc (copy_warning) [generic version]: Do not erase - the warning data of the destination location when the no-warning - bit is not set on the source. - (copy_warning) [tree version]: Return early if TO is equal to FROM. - (copy_warning) [gimple version]: Likewise. - -2022-06-14 Kewen Lin <linkw@linux.ibm.com> - - PR tree-optimization/105940 - * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of - applying suggested_unroll_factor after start_over. - -2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/predicates.md (shifted_mask_operand): - New predicate. - * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one): - New insn-and-split pattern. - (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask, - *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2, - *masktrue_const_shifted_mask): Ditto. - -2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern. - -2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa-protos.h (xtensa_emit_branch): - Remove the first argument. - (xtensa_emit_bit_branch): Remove it because now called only from the - output statement of *bittrue insn pattern. - * config/xtensa/xtensa.cc (gen_int_relational): Remove the last - argument 'p_invert', and make so that the condition is reversed by - itself as needed. - (xtensa_expand_conditional_branch): Share the common path, and remove - condition inversion code. - (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the - "false side" pattern. - (xtensa_emit_bit_branch): Remove it because of the abovementioned - reason, and move the function body to *bittrue insn pattern. - * config/xtensa/xtensa.md (*bittrue): Transplant the output - statement from removed xtensa_emit_bit_branch(). - (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side" - insn patterns. - -2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/predicates.md (logical_shift_operator, - xtensa_shift_per_byte_operator): New predicates. - * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction): - New prototype. - * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction): - New helper function for funnel shift patterns. - * config/xtensa/xtensa.md (ior_op): New code iterator. - (*ashlsi3_1): Replace with new split pattern. - (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x. - (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1): - New insn-and-split patterns that redirect to *xtensa_shift_per_byte, - in order to omit unnecessary bitwise AND operation. - (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>, - *shlrd_per_byte_<code>_omit_AND): - New insn patterns for funnel shifts. - -2022-06-13 Jason Merrill <jason@redhat.com> - - * tree-cfg.cc (pass_warn_function_return::execute): Also check - BUILT_IN_TRAP. - -2022-06-13 Maciej W. Rozycki <macro@embecosm.com> - - * config/riscv/riscv.md (length): Remove the explicit setting - for "fcmp". - -2022-06-13 H.J. Lu <hjl.tools@gmail.com> - - * common/config/i386/cpuinfo.h (get_available_features): Require - AVX for F16C and VAES. - -2022-06-13 Uroš Bizjak <ubizjak@gmail.com> - - PR target/105927 - * config/i386/predicates.md (register_no_elim_operand): - Return true for subreg of a memory operand. - -2022-06-13 Richard Sandiford <richard.sandiford@arm.com> - - * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro. - (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE) - (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY) - (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it. - * internal-fn.h (direct_internal_fn_info::directly_mapped): New - member variable. - (direct_internal_fn_info::vectorizable): Reduce to 1 bit. - (direct_internal_fn_p): Also return true for internal functions - that map directly to instructions defined target-insns.def. - (direct_internal_fn): Adjust comment accordingly. - * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1) - (vectorizable_optab2): New local macros. - (not_direct): Initialize directly_mapped. - (mask_load_direct, load_lanes_direct, mask_load_lanes_direct) - (gather_load_direct, len_load_direct, mask_store_direct) - (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct) - (vec_cond_direct, scatter_store_direct, len_store_direct) - (vec_set_direct, unary_direct, binary_direct, ternary_direct) - (cond_unary_direct, cond_binary_direct, cond_ternary_direct) - (while_direct, fold_extract_direct, fold_left_direct) - (mask_fold_left_direct, check_ptrs_direct): Use the macros above. - (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete - (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise; - (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise. - (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise. - (direct_internal_fn_types): Handle functions that map to instructions - defined in target-insns.def. - (direct_internal_fn_types): Likewise. - (direct_internal_fn_supported_p): Likewise. - (internal_fn_expanders): Likewise. - -2022-06-13 Richard Sandiford <richard.sandiford@arm.com> - - * internal-fn.cc (expand_fn_using_insn): New function, - split out and adapted from... - (expand_direct_optab_fn): ...here. - (expand_GOMP_SIMT_ENTER_ALLOC): Use it. - (expand_GOMP_SIMT_EXIT): Likewise. - (expand_GOMP_SIMT_LANE): Likewise. - (expand_GOMP_SIMT_LAST_LANE): Likewise. - (expand_GOMP_SIMT_ORDERED_PRED): Likewise. - (expand_GOMP_SIMT_VOTE_ANY): Likewise. - (expand_GOMP_SIMT_XCHG_BFLY): Likewise. - (expand_GOMP_SIMT_XCHG_IDX): Likewise. - -2022-06-13 Jakub Jelinek <jakub@redhat.com> - - * omp-expand.cc (expand_omp_target): Remap user provided - device clause arguments, -1 to -2 and -2 to -3, either - at compile time if constant, or at runtime. - -2022-06-13 Eric Botcazou <ebotcazou@adacore.com> - - * common.opt (finstrument-functions): Set explicit value. - (-finstrument-functions-once): New option. - * doc/invoke.texi (Program Instrumentation Options): Document it. - * gimplify.cc (build_instrumentation_call): New static function. - (gimplify_function_tree): Call it to emit the instrumentation calls - if -finstrument-functions[-once] is specified. - -2022-06-13 Eric Botcazou <ebotcazou@adacore.com> - - * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr. - * gimple.h (gimple_set_location): Do not copy warning data from - the previous location when it is UNKNOWN_LOCATION. - * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}. - -2022-06-13 Jakub Jelinek <jakub@redhat.com> - - PR target/105911 - * config/i386/i386.md (*ashl<dwi>3_doubleword_mask, - *<insn><dwi>3_doubleword_mask): Use operands[3] masked with - (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of - operands[3] unmodified. - -2022-06-12 Simon Wright <simon@pushface.org> - - PR target/104871 - * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS - version is darwin20 (macOS 11) or greater, truncate the version to the - major number. - -2022-06-12 Mark Mentovai <mark@mentovai.com> - - * config/darwin-c.cc: Make -mmacosx-version-min more future-proof. - -2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - PR target/96463 - * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h. - (svld1rq_impl::fold): Define. - * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members - op_mode and op_vec_flags. - (aarch64_evpc_reencode): Initialize newd.op_mode and - newd.op_vec_flags. - (aarch64_evpc_sve_dup): New function. - (aarch64_expand_vec_perm_const_1): Gate existing calls to - aarch64_evpc_* functions under d->vmode == d->op_mode, - and call aarch64_evpc_sve_dup. - (aarch64_vectorize_vec_perm_const): Remove assert - d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags. - * tree-cfg.cc (verify_gimple_assign_ternary): Allow different - vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is - constant. - -2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa-protos.h (xtensa_constantsynth): - New prototype. - * config/xtensa/xtensa.cc (xtensa_emit_constantsynth, - xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI, - xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth): - New backend functions that process the abovementioned logic. - (xtensa_emit_move_sequence): Revert the previous changes. - * config/xtensa/xtensa.md: New split patterns for integer - and floating-point, as the frontend part. - -2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case - for ABS and NEG, add missing case for BSWAP and CLRSB, and - double the costs for integer divisions using libfuncs if - optimizing for speed, in order to take advantage of fast constant - division by multiplication. - (TARGET_INSN_COST): New macro definition. - (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for - calculating relative costs of a RTL insns, for both of speed and - size. - * config/xtensa/xtensa.md (return, nop, trap): Correct values of - the attribute "length" that depends on TARGET_DENSITY. - (define_asm_attributes, blockage, frame_blockage): Add missing - attributes. - * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine- - dependent option, however, preparatory work for now. - -2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop): - Pass through the block length / loop count conditions if - zero-overhead looping is configured and active, - -2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (mulsidi3, umulsidi3): - Split into individual signedness, in order to use libcall - "__umulsidi3" but not the other. - (<u>mulhisi3): Merge into one by using code iterator. - (<u>mulsidi3, mulhisi3, umulhisi3): Remove. - -2022-06-11 Michael Meissner <meissner@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do - not generate block copies with vector pair instructions if we are - tuning for power10. - -2022-06-10 Roger Sayle <roger@nextmovesoftware.com> - - PR rtl-optimization/7061 - * expr.cc (emit_group_store): For groups that consist of a single - scalar integer register that hold a complex mode value, use - gen_lowpart to generate a SUBREG to "view_convert" to the complex - mode. For modes of different sizes, first convert to an integer - mode of the appropriate size. - -2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (clrsbsi2): New insn pattern. - -2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (*andsi3_bitcmpl): - New insn_and_split pattern. - -2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (one_cmplsi2): - Rearrange as an insn_and_split pattern. - -2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (bswaphi2): New insn pattern. - -2022-06-09 Segher Boessenkool <segher@kernel.crashing.org> - - * config/rs6000/rs6000.md (FP_ISA3): Delete. - (float<QHI:mode><FP_ISA3:mode>2): Rename to... - (float<QHI:mode><SFDF:mode>2): ... this. Adjust. - (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to... - (*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust. - (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to... - (floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust. - (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to... - (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust. - -2022-06-09 Maciej W. Rozycki <macro@embecosm.com> - - * config/riscv/riscv.md - (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default) - (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab - rather than space with FSFLAGS. - -2022-06-09 Tobias Burnus <tobias@codesourcery.com> - - * omp-offload.cc (omp_discover_declare_target_tgt_fn_r, - omp_discover_declare_target_fn_r): Don't walk reverse-offload - target regions. - -2022-06-09 Jakub Jelinek <jakub@redhat.com> - - * doc/invoke.texi (-Waddress): Fix a typo in small example. - Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t. - -2022-06-09 Cui,Lili <lili.cui@intel.com> - - PR target/105493 - * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost - from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and - unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}. - (icelake_cost): Ditto. - (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads, - stores and unaligned stores cost from {6, 6, 6, 10, 15} to - {8, 8, 8, 10, 15}. - -2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org> - - * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift - and ior insns to one rotate and mask insn. - (define_split for bswapdi register): Likewise. - -2022-06-08 Roger Sayle <roger@nextmovesoftware.com> - - PR middle-end/105874 - * expr.cc (expand_expr_real_1) <normal_inner_ref>: New local - variable tem_modifier for calculating the expand_modifier enum to - use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY. - -2022-06-08 Max Filippov <jcmvbkbc@gmail.com> - - PR target/105879 - * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second' - to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and - 'gen_highpart' bitwise semantics and fix order of highpart and - lowpart depending on target endianness. - -2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com> - - * config/arm/arm-cpus.in (star-mc1): New cpu. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Regenerate. - * doc/invoke.texi: Update docs. - -2022-06-08 liuhongt <hongtao.liu@intel.com> - - PR target/105513 - PR target/105504 - * config/i386/i386.md (*movsi_internal): Change alternative - from *v to ?v. - (*movdi_internal): Ditto. - * config/i386/sse.md (vec_set<mode>_0): Change alternative *r - to ?r. - (*vec_extractv4sf_mem): Ditto. - (*vec_extracthf): Ditto. - -2022-06-07 Richard Earnshaw <rearnsha@arm.com> - - PR target/105090 - * config/arm/arm.cc (arm_bfi_1_p): New function. - (arm_bfi_p): New function. - (arm_rtx_costs_internal): Add costs for BFI idioms. - (arm_print_operand [case 'V']): Format output for BFI/BFC masks. - * config/arm/constraints.md (Dj): New constraint. - * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC. - (insv_zero): Convert to an insn with a split. - (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns. - -2022-06-07 liuhongt <hongtao.liu@intel.com> - - PR target/105854 - * config/i386/sse.md (ssse3_palignrdi): Change alternative 2 - from Yv to Yw. - -2022-06-07 Roger Sayle <roger@nextmovesoftware.com> - - PR middle-end/105853 - PR target/105856 - * calls.cc (load_register_parameters): Call store_constructor - and int_expr_size directly instead of expanding via expand_expr. - * expr.cc (static void store_constructor): Don't prototype here. - (static HOST_WIDE_INT int_expr_size): Likewise. - (store_constructor): No longer static. - (int_expr_size): Likewise, no longer static. - * expr.h (store_constructor): Prototype here. - (int_expr_size): Prototype here. - -2022-06-07 Jan Beulich <jbeulich@suse.com> - - Revert: - 2022-06-03 Jan Beulich <jbeulich@suse.com> - - * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New. - * configure.ac: Check for objcopy, producing - ORIGINAL_OBJCOPY_FOR_TARGET. - * configure: Update accordingly. - * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New. - Handle objcopy. - -2022-06-07 Jakub Jelinek <jakub@redhat.com> - - * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define. - * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>: - Adjust clause printing style depending on - OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER. - -2022-06-07 Jan Beulich <jbeulich@suse.com> - - * config/i386/i386-builtin.def (__builtin_ia32_psadbw256): - Change type. - * config/i386/i386-builtin-types.def: New function type - (V4DI, V32QI, V32QI). - * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle - V4DI_FTYPE_V32QI_V32QI. - -2022-06-07 Jan Beulich <jbeulich@suse.com> - - * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B - into account for reg-only insns. - -2022-06-07 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.cc (ix86_rtx_costs): Add a new case for - IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and - TARGET_CMOVE's (scalar integer) conditional moves. - * config/i386/sse.md (define_split): Recognize XOP's vpcmov - from its equivalent (canonical) pxor;pand;pxor sequence. - -2022-06-07 Kewen Lin <linkw@linux.ibm.com> - - * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for - parameter ORDER. - -2022-06-06 Andrew Stubbs <ams@codesourcery.com> - - * config.in: Regenerate. - * configure: Regenerate. - * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test. - -2022-06-04 Roger Sayle <roger@nextmovesoftware.com> - - PR middle-end/95126 - * calls.cc (load_register_parameters): When loading a suitable - immediate_const_ctor_p VAR_DECL into a single word_mode register, - construct it directly in a pseudo rather than read it (by parts) - from memory. - * expr.cc (int_expr_size): Make tree argument a const_tree. - (immediate_const_ctor_p): Helper predicate. Return true for - simple constructors that may be materialized in a register. - (expand_expr_real_1) [VAR_DECL]: When expanding a constant - VAR_DECL with a suitable immediate_const_ctor_p constructor - use store_constructor to materialize it directly in a pseudo. - * expr.h (immediate_const_ctor_p): Prototype here. - * varasm.cc (initializer_constant_valid_for_bitfield_p): Change - VALUE argument from tree to const_tree. - * varasm.h (initializer_constant_valid_for_bitfield_p): Update - prototype. - -2022-06-04 Jakub Jelinek <jakub@redhat.com> - - PR target/105825 - * config/i386/i386.md (*ashl<dwi>3_doubleword_mask, - *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower - bits of mask aren't all set, use operands[2] mode for the AND - operation instead of always SImode. - -2022-06-03 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/30314 - PR middle-end/105777 - * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) -> - x > stype_max / cst || x < stype_min / cst): New simplification. - -2022-06-03 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-cache.cc (ranger_cache::range_from_dom): Use - Value_Range. - * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same. - * value-range.h (Value_Range::Value_Range): Implement copy - constructor for Value_Range. - -2022-06-03 Aldy Hernandez <aldyh@redhat.com> - - * value-range.h (struct vrange_traits): Remove. - (is_a): Rewrite without vrange_traits. - (as_a): Same. - -2022-06-03 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (vrange::contains_p): Implement. - (vrange::type): Return void. - (vrange::supports_type_p): Implement. - (irange::fits_p): Same. - (vrange::set_undefined): Same. - (irange::set_nonnegative): Same. - (vrange::set_varying): Same. - (vrange::union_): Same. - (unsupported_range::set): Move to vrange. - (unsupported_range::type): Move to vrange. - (vrange::intersect): Implement for varying and undefined. - (vrange::zero_p): Implement. - (unsupported_range::supports_type_p): Move to vrange. - (vrange::nonzero_p): Implement. - (unsupported_range::set_undefined): Move to vrange. - (unsupported_range::set_varying): Same. - (unsupported_range::dump): Same. - (unsupported_range::union_): Same. Implement for varying and - undefined. - (unsupported_range::intersect): Move to vrange. - (unsupported_range::zero_p): Same. - (unsupported_range::nonzero_p): Same. - (unsupported_range::set_nonzero): Same. - (unsupported_range::set_zero): Same. - (unsupported_range::set_nonnegative): Same. - (unsupported_range::fits_p): Same. - * value-range.h (class vrange): Remove abstract markers for most - methods. - (class unsupported_range): Remove most methods as they will now be - inherited from vrange. - -2022-06-03 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for - an object level supports_type_p for irange and a static - Value_Range::supports_type_p. - * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same. - (fold_using_range::range_of_address): Same. - (fold_using_range::range_of_builtin_call): Same. - * gimple-range-fold.h (gimple_range_type): Same. - (gimple_range_ssa_p): Same. - * gimple-range-path.cc (path_range_query::internal_range_of_expr): - Same. - (path_range_query::range_of_stmt): Same. - (path_range_query::add_to_imports): Same. - * gimple-range.cc (gimple_ranger::range_on_edge): Same. - (gimple_ranger::export_global_ranges): Same. - * gimple-ssa-evrp-analyze.cc - (evrp_range_analyzer::record_ranges_from_phis): Same. - * range-op.cc (range_operator::wi_fold): Same. - (range_operator::fold_range): Same. - * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same. - * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same. - (evaluate_control_stmt_using_entry_checks): Same. - * tree-ssa-threadedge.cc - (hybrid_jt_simplifier::compute_ranges_from_state): Same. - * tree-vrp.cc (supported_types_p): Same. - * value-query.cc (range_query::value_of_expr): Same. - (range_query::value_on_edge): Same. - (range_query::value_of_stmt): Same. - (range_query::get_tree_range): Same. - (get_range_global): Same. - (global_range_query::range_of_expr): Same. - * value-range-equiv.h (class value_range_equiv): Same. - * value-range.cc (irange::supports_type_p): Same. - (unsupported_range::supports_type_p): Same. - * value-range.h (enum value_range_discriminator): Same. - (Value_Range::init): Same. - (Value_Range::supports_type_p): Same. - (irange::supports_type_p): Same. - (irange::supports_p): Same. - (vrange::supports_type_p): Same. - (vrange_allocator::alloc_vrange): Same. - -2022-06-03 Jan Beulich <jbeulich@suse.com> - - * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New. - * configure.ac: Check for objcopy, producing - ORIGINAL_OBJCOPY_FOR_TARGET. - * configure: Update accordingly. - * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New. - Handle objcopy. - -2022-06-03 Jan Beulich <jbeulich@suse.com> - - * config/i386/mmx.md (mmx_psadbw): Convert to expander. - (*mmx_psadbw): New. Mark as commutative. - * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander. - (*<sse2_avx2>_psadbw): New. Mark as commutative. - -2022-06-03 Alexandre Oliva <oliva@adacore.com> - - PR tree-optimization/105665 - PR tree-optimization/100810 - * tree-ssa-loop-ivopts.cc - (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New. - (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New. - (find_ssa_undef): Check precomputed flag and intervening uses. - (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs. - -2022-06-02 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and - tree-logical-location.o. - (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder. - (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME. - * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file. - (sarif-stderr, sarif-file): New enum values. - * diagnostic-client-data-hooks.h: New file. - * diagnostic-format-sarif.cc: New file. - * diagnostic-path.h (enum diagnostic_event::verb): New enum. - (enum diagnostic_event::noun): New enum. - (enum diagnostic_event::property): New enum. - (struct diagnostic_event::meaning): New struct. - (diagnostic_event::get_logical_location): New vfunc. - (diagnostic_event::get_meaning): New vfunc. - (simple_diagnostic_event::get_logical_location): New vfunc impl. - (simple_diagnostic_event::get_meaning): New vfunc impl. - * diagnostic.cc: Include "diagnostic-client-data-hooks.h". - (diagnostic_initialize): Initialize m_client_data_hooks. - (diagnostic_finish): Clean up m_client_data_hooks. - (diagnostic_event::meaning::dump_to_pp): New. - (diagnostic_event::meaning::maybe_get_verb_str): New. - (diagnostic_event::meaning::maybe_get_noun_str): New. - (diagnostic_event::meaning::maybe_get_property_str): New. - (get_cwe_url): Make non-static. - (diagnostic_output_format_init): Handle - DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and - DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE. - * diagnostic.h (enum diagnostics_output_format): Add - DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and - DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE. - (class diagnostic_client_data_hooks): New forward decl. - (class logical_location): New forward decl. - (diagnostic_context::m_client_data_hooks): New field. - (diagnostic_output_format_init_sarif_stderr): New decl. - (diagnostic_output_format_init_sarif_file): New decl. - (get_cwe_url): New decl. - * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and - sarif-file. - * doc/sourcebuild.texi (Scan a particular file): Add - scan-sarif-file and scan-sarif-file-not. - * langhooks-def.h (lhd_get_sarif_source_language): New decl. - (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro. - (LANG_HOOKS_INITIALIZER): Add - LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE. - * langhooks.cc (lhd_get_sarif_source_language): New. - * langhooks.h (lang_hooks::get_sarif_source_language): New field. - * logical-location.h: New file. - * plugin.cc (struct for_each_plugin_closure): New. - (for_each_plugin_cb): New. - (for_each_plugin): New. - * plugin.h (for_each_plugin): New decl. - * tree-diagnostic-client-data-hooks.cc: New file. - * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h". - (tree_diagnostics_defaults): Populate m_client_data_hooks. - * tree-logical-location.cc: New file. - * tree-logical-location.h: New file. - -2022-06-02 David Malcolm <dmalcolm@redhat.com> - - * common.opt (fdiagnostics-format=): Add json-stderr and json-file - to description. - (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to... - (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this. - (diagnostics_output_format): Add json-stderr and json-file. - * diagnostic-format-json.cc (json_flush_to_file): New. - (json_final_cb): Convert to... - (json_flush_to_file): ...this, ... - (json_stderr_final_cb): ...this, and... - (json_file_final_cb): ...this. - (diagnostic_output_format_init): Move to diagnostic.cc. - (json_output_base_file_name): New. - (diagnostic_output_format_init_json): New. - (diagnostic_output_format_init_json_stderr): New. - (diagnostic_output_format_init_json_file): New. - * diagnostic.cc (diagnostic_output_format_init): Move here from - diagnostic-format-json.cc; update for changes to enum. - * diagnostic.h (enum diagnostics_output_format): Rename - DIAGNOSTICS_OUTPUT_FORMAT_JSON to - DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add - DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE. - (diagnostic_output_format_init): Add base_file_name param. - (diagnostic_output_format_init_json_stderr): New decl. - (diagnostic_output_format_init_json_file): New dec. - * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and - "json-file". Rewrite so that the existing "json" is a synonym of - "json-stderr". - * gcc.cc (driver_handle_option): Pass dump_base_name to - diagnostic_output_format_init. - * opts.cc (common_handle_option): Likewise. - -2022-06-02 David Malcolm <dmalcolm@redhat.com> - - * json.cc (string::print): Fix escaping of '\'. - -2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as - (-1 << 31) for the single-bit case, when operating on (1 << 31) - in SImode. - * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for - any single-bit value, moving the special case for (1 << 31) to - riscv_build_integer_1 (in riscv.c). - -2022-06-02 Roger Sayle <roger@nextmovesoftware.com> - - PR target/105791 - * config/i386/sse.md (V_128_256):Add V1TI and V2TI. - (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI. - -2022-06-02 Jakub Jelinek <jakub@redhat.com> - - PR target/105778 - * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI - from AND and its operands and just verify operands[2] has HImode, - SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask - with all low 6 (64-bit) or 5 (32-bit) bits set and in that case - just throw away the masking. Use force_reg before calling - gen_lowpart. - (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask - with all low 6 (64-bit) or 5 (32-bit) bits set and in that case - just throw away the masking. - (*ashl<mode>3_doubleword): Rename to ... - (ashl<mode>3_doubleword): ... this. - (*ashl<mode>3_mask): Remove :SI from AND and its operands and just - verify operands[2] has HImode, SImode or for TARGET_64BIT DImode. - Use force_reg before calling gen_lowpart. - (*<insn><mode>3_mask): Likewise. - (*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be - a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that - case just throw away the masking. Use force_reg before calling - gen_lowpart. - (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask - with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just - throw away the masking. - (*<insn><mode>3_doubleword): Rename to ... - (<insn><mode>3_doubleword): ... this. - (*<insn><mode>3_mask): Remove :SI from AND and its operands and just - verify operands[2] has HImode, SImode or for TARGET_64BIT DImode. - Use force_reg before calling gen_lowpart. - (splitter after it): Remove :SI from AND and its operands and just - verify operands[2] has HImode, SImode or for TARGET_64BIT DImode. - (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its - operands and just verify operands[1] has HImode, SImode or for - TARGET_64BIT DImode. Use force_reg before calling gen_lowpart. - (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern. - * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with - ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND. - -2022-06-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/101668 - * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs - for vector types with compatible lane types. - (vect_build_slp_tree_2): Deal with this. - (vect_add_slp_permutation): Adjust. Emit lowpart/concat - special cases without VEC_PERM. - (vectorizable_slp_permutation): Select the operand vector - type and relax requirements. Handle identity permutes - with mismatching operand types. - * optabs-query.cc (can_vec_perm_const_p): Only allow variable - permutes for op_mode == mode. - -2022-06-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105802 - * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): - Make sure to also compute the range in the type of the switch index. - -2022-06-01 David Seifert <soap@gentoo.org> - - PR plugins/95648 - * configure: Regenerate. - -2022-06-01 H.J. Lu <hjl.tools@gmail.com> - - PR rtl-optimization/105638 - * df-core.cc (df_find_single_def_src): Moved and renamed from - find_single_def_src in loop-iv.cc. Change the argument to rtx - and use rtx_equal_p. Return null for partial or conditional - defs. - * df.h (df_find_single_def_src): New prototype. - * dse.cc (record_store): Use the constant source if the source - register is set only once. - * loop-iv.cc (find_single_def_src): Moved to df-core.cc. - (replace_single_def_regs): Replace find_single_def_src with - df_find_single_def_src. - -2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64.opt (explicit_tune_core): Rename to - selected_tune. - (explicit_arch): Rename to selected_arch. - (x_aarch64_override_tune_string): Remove. - (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored. - (aarch64_override_tune_string): Add Save so it gets saved/restored. - * config/aarch64/aarch64.h (aarch64_architecture_version): Remove. - * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove. - (processor): Remove archtecture_version field. - (selected_arch): Remove global. - (selected_cpu): Remove global. - (selected_tune): Remove global. - (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved. - (aarch64_override_options_internal): Use aarch64_get_tune_cpu. - (aarch64_override_options): Further simplify code to only set - selected_arch and selected_tune globals. - (aarch64_option_save): Remove now that target options are saved. - (aarch64_option_restore): Remove redundant target option restores. - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use - AARCH64_ISA_V9. - * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from... - * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove. - (aarch64_ra_sign_key): Remove. - -2022-06-01 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/30314 - * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) -> - x > ~(utype)0 / cst): New simplification. - -2022-06-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105786 - * tree-loop-distribution.cc - (loop_distribution::transform_reduction_loop): Only do strlen - replacement for integer type reductions. - -2022-06-01 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105770 - * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast - CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx. - -2022-06-01 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange. - (sbr_vector::sbr_vector): Same. - (sbr_vector::grow): Same. - (sbr_vector::set_bb_range): Same. - (sbr_vector::get_bb_range): Same. - (sbr_sparse_bitmap::sbr_sparse_bitmap): Same. - (sbr_sparse_bitmap::set_bb_range): Same. - (sbr_sparse_bitmap::get_bb_range): Same. - (block_range_cache::set_bb_range): Same. - (block_range_cache::get_bb_range): Same. - (block_range_cache::dump): Same. - (ssa_global_cache::get_global_range): Same. - (ssa_global_cache::set_global_range): Same. - (ssa_global_cache::clear): Same. - (ssa_global_cache::dump): Same. - (ranger_cache::get_global_range): Same. - (ranger_cache::set_global_range): Same. - (ranger_cache::range_of_def): Same. - (ranger_cache::entry_range): Same. - (ranger_cache::exit_range): Same. - (ranger_cache::edge_range): Same. - (ranger_cache::range_of_expr): Same. - (ranger_cache::range_on_edge): Same. - (ranger_cache::block_range): Same. - (ranger_cache::propagate_cache): Same. - (ranger_cache::fill_block_cache): Same. - (ranger_cache::range_from_dom): Same. - * gimple-range-cache.h: Same. - * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range): - Same. - (gimple_outgoing_range::switch_edge_range): Same. - (gimple_outgoing_range::edge_range_p): Same. - * gimple-range-edge.h: Same. - * gimple-range-fold.cc (fur_source::get_operand): Same. - (fur_source::get_phi_operand): Same. - (fur_edge::get_operand): Same. - (fur_edge::get_phi_operand): Same. - (fur_stmt::get_operand): Same. - (fur_stmt::get_phi_operand): Same. - (fur_list::fur_list): Same. - (fur_list::get_operand): Same. - (fur_list::get_phi_operand): Same. - (fold_range): Same. - (adjust_imagpart_expr): Same. - (adjust_realpart_expr): Same. - (gimple_range_adjustment): Same. - (fold_using_range::fold_stmt): Same. - (fold_using_range::range_of_range_op): Same. - (fold_using_range::range_of_address): Same. - (fold_using_range::range_of_phi): Same. - (fold_using_range::range_of_call): Same. - (fold_using_range::range_of_builtin_call): Same. - (fold_using_range::range_of_builtin_int_call): Same. - (fold_using_range::range_of_cond_expr): Same. - (fur_source::register_outgoing_edges): Same. - * gimple-range-fold.h (fold_range): Same. - (gimple_range_type): Same. - (gimple_range_ssa_p): Same. - * gimple-range-gori.cc (gimple_range_calc_op1): Same. - (gimple_range_calc_op2): Same. - (gori_compute::compute_operand_range_switch): Same. - (gori_compute::compute_operand_range): Same. - (gori_compute::logical_combine): Same. - (gori_compute::compute_logical_operands): Same. - (gori_compute::compute_operand1_range): Same. - (gori_compute::compute_operand2_range): Same. - (gori_compute::compute_operand1_and_operand2_range): Same. - (gori_compute::outgoing_edge_range_p): Same. - (gori_compute::condexpr_adjust): Same. - * gimple-range-gori.h (gimple_range_calc_op1): Same. - (gimple_range_calc_op2): Same. - * gimple-range-path.cc (path_range_query::get_cache): Same. - (path_range_query::set_cache): Same. - (path_range_query::range_on_path_entry): Same. - (path_range_query::internal_range_of_expr): Same. - (path_range_query::range_of_expr): Same. - (path_range_query::ssa_range_in_phi): Same. - (path_range_query::range_defined_in_block): Same. - (path_range_query::compute_ranges_in_phis): Same. - (path_range_query::compute_ranges_in_block): Same. - (path_range_query::add_to_imports): Same. - (path_range_query::range_of_stmt): Same. - * gimple-range-path.h: Same. - * gimple-range-infer.cc (gimple_infer_range::add_range): Same. - (gimple_infer_range::~side_effect_manager): Same. - (gimple_infer_range::get_nonzero): Same. - (gimple_infer_range::maybe_adjust_range): Same. - (gimple_infer_range::add_range): Same. - * gimple-range-infer.h: Same. - * gimple-range-tests.cc: Same. - * gimple-range-trace.cc (range_tracer::trailer): Same. - (debug_seed_ranger): Same. - * gimple-range-trace.h: Same. - * gimple-range.cc (gimple_ranger::range_of_expr): Same. - (gimple_ranger::range_on_entry): Same. - (gimple_ranger::range_on_exit): Same. - (gimple_ranger::range_on_edge): Same. - (gimple_ranger::fold_range_internal): Same. - (gimple_ranger::range_of_stmt): Same. - (gimple_ranger::prefill_name): Same. - (gimple_ranger::prefill_stmt_dependencies): Same. - (gimple_ranger::export_global_ranges): Same. - (gimple_ranger::dump_bb): Same. - * gimple-range.h: Same. - * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same. - (memmodel_to_uhwi): Same. - * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same. - (determine_value_range): Same. - (record_nonwrapping_iv): Same. - (infer_loop_bounds_from_signedness): Same. - (scev_var_range_cant_overflow): Same. - * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same. - * value-query.cc (range_query::range_on_edge): Same. - (range_query::range_of_stmt): Same. - (range_query::value_of_expr): Same. - (range_query::value_on_edge): Same. - (range_query::value_of_stmt): Same. - (range_query::get_tree_range): Same. - (update_global_range): Same. - (get_range_global): Same. - (gimple_range_global): Same. - (global_range_query::range_of_expr): Same. - (range_query::query_relation): Same. - * value-query.h (gimple_range_global): Same. - (update_global_range): Same. - * vr-values.cc (vr_values::range_of_expr): Same. - (bounds_of_var_in_loop): Same. - (simplify_using_ranges::vrp_visit_cond_stmt): Same. - * vr-values.h (class vr_values): Same. - * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same. - -2022-06-01 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for - vrange allocator. - (sbr_vector::grow): Same. - (sbr_vector::set_bb_range): Same. - (sbr_sparse_bitmap::sbr_sparse_bitmap): Same. - (sbr_sparse_bitmap::set_bb_range): Same. - (block_range_cache::~block_range_cache): Same. - (block_range_cache::set_bb_range): Same. - (ssa_global_cache::ssa_global_cache): Same. - (ssa_global_cache::~ssa_global_cache): Same. - (ssa_global_cache::set_global_range): Same. - * gimple-range-cache.h (block_range_cache): Same. - (ssa_global_cache): Same. - * gimple-range-edge.cc - (gimple_outgoing_range::calc_switch_ranges): Same. - * gimple-range-edge.h (gimple_outgoing_range): Same. - * gimple-range-infer.cc (infer_range_manager::get_nonzero): - Same. - (infer_range_manager::add_range): Same. - * gimple-range-infer.h (class infer_range_manager): Same. - * value-range.h (class irange_allocator): Rename to... - (class vrange_allocator): ...this. - (irange_allocator::irange_allocator): New. - (vrange_allocator::vrange_allocator): New. - (irange_allocator::~irange_allocator): New. - (vrange_allocator::~vrange_allocator): New. - (irange_allocator::get_memory): Rename to... - (vrange_allocator::alloc): ...this. - (vrange_allocator::alloc_vrange): Rename from... - (irange_allocator::allocate): ...this. - (vrange_allocator::alloc_irange): New. - -2022-06-01 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for - vrange and convert range_op_handler function calls to use the - identically named object. - * gimple-range-fold.cc (gimple_range_operand1): Same. - (gimple_range_operand2): Same. - (fold_using_range::fold_stmt): Same. - (fold_using_range::range_of_range_op): Same. - (fold_using_range::range_of_builtin_ubsan_call): Same. - (fold_using_range::relation_fold_and_or): Same. - (fur_source::register_outgoing_edges): Same. - * gimple-range-fold.h (gimple_range_handler): Remove. - * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange. - (gimple_range_calc_op2): Same. - (range_def_chain::get_def_chain): Same. - (gori_compute::compute_operand_range): Same. - (gori_compute::condexpr_adjust): Same. - * gimple-range.cc (gimple_ranger::prefill_name): Same. - (gimple_ranger::prefill_stmt_dependencies): Same. - * range-op.cc (get_bool_state): Same. - (class operator_equal): Add using clause. - (class operator_not_equal): Same. - (class operator_lt): Same. - (class operator_le): Same. - (class operator_gt): Same. - (class operator_ge): Same. - (class operator_plus): Same. - (class operator_minus): Same. - (class operator_mult): Same. - (class operator_exact_divide): Same. - (class operator_lshift): Same. - (class operator_rshift): Same. - (class operator_cast): Same. - (class operator_logical_and): Same. - (class operator_bitwise_and): Same. - (class operator_logical_or): Same. - (class operator_bitwise_or): Same. - (class operator_bitwise_xor): Same. - (class operator_trunc_mod): Same. - (class operator_logical_not): Same. - (class operator_bitwise_not): Same. - (class operator_cst): Same. - (class operator_identity): Same. - (class operator_unknown): Same. - (class operator_abs): Same. - (class operator_negate): Same. - (class operator_addr_expr): Same. - (class pointer_or_operator): Same. - (operator_plus::op1_range): Adjust for vrange. - (operator_minus::op1_range): Same. - (operator_mult::op1_range): Same. - (operator_cast::op1_range): Same. - (operator_bitwise_not::fold_range): Same. - (operator_negate::fold_range): Same. - (range_op_handler): Rename to... - (get_handler): ...this. - (range_op_handler::range_op_handler): New. - (range_op_handler::fold_range): New. - (range_op_handler::op1_range): New. - (range_op_handler::op2_range): New. - (range_op_handler::lhs_op1_relation): New. - (range_op_handler::lhs_op2_relation): New. - (range_op_handler::op1_op2_relation): New. - (range_cast): Adjust for vrange. - * range-op.h (range_op_handler): Remove function. - (range_cast): Adjust for vrange. - (class range_op_handler): New. - (get_bool_state): Adjust for vrange. - (empty_range_varying): Same. - (relop_early_resolve): Same. - * tree-data-ref.cc (compute_distributive_range): Same. - * tree-vrp.cc (get_range_op_handler): Remove. - (range_fold_binary_symbolics_p): Use range_op_handler class - instead of get_range_op_handler. - (range_fold_unary_symbolics_p): Same. - (range_fold_binary_expr): Same. - (range_fold_unary_expr): Same. - * value-query.cc (range_query::get_tree_range): Adjust for vrange. - -2022-06-01 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-fold.h (gimple_range_type): Check type before - calling supports_type_p. - * gimple-range-path.cc (path_range_query::range_of_stmt): Same. - * value-query.cc (range_query::get_tree_range): Same. - * value-range.cc (Value_Range::lower_bound): New. - (Value_Range::upper_bound): New. - (Value_Range::dump): New. - * value-range.h (class Value_Range): New. - (irange::supports_type_p): Do not check if type is non-zero. - -2022-06-01 Aldy Hernandez <aldyh@redhat.com> - - * value-range-equiv.cc (value_range_equiv::set): New. - * value-range-equiv.h (class value_range_equiv): Make set method - virtual. - Remove default bitmap argument from set method. - * value-range.cc (vrange::contains_p): New. - (vrange::singleton_p): New. - (vrange::operator=): New. - (vrange::operator==): New. - (irange::fits_p): Move to .cc file. - (irange::set_nonnegative): New. - (unsupported_range::unsupported_range): New. - (unsupported_range::set): New. - (unsupported_range::type): New. - (unsupported_range::set_undefined): New. - (unsupported_range::set_varying): New. - (unsupported_range::dump): New. - (unsupported_range::union_): New. - (unsupported_range::intersect): New. - (unsupported_range::zero_p): New. - (unsupported_range::nonzero_p): New. - (unsupported_range::set_nonzero): New. - (unsupported_range::set_zero): New. - (unsupported_range::set_nonnegative): New. - (unsupported_range::fits_p): New. - (irange::set): Call irange::set_undefined. - (irange::verify_range): Check discriminator field. - (irange::dump): Dump [irange] marker. - (irange::debug): Move to... - (vrange::debug): ...here. - (dump_value_range): Accept vrange. - (debug): Same. - * value-range.h (enum value_range_discriminator): New. - (class vrange): New. - (class unsupported_range): New. - (struct vrange_traits): New. - (is_a): New. - (as_a): New. - (class irange): Inherit from vrange. - (dump_value_range): Adjust for vrange. - (irange::kind): Rename to... - (vrange::kind): ...this. - (irange::varying_p): Rename to... - (vrange::varying_p): ...this. - (irange::undefined_p): Rename to... - (vrange::undefined_p): ...this. - (irange::irange): Set discriminator. - (irange::union_): Convert to irange before passing to irange - method. - (irange::intersect): Same. - (vrange::supports_type_p): New. - * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass - NULL bitmap argument to value_range_equiv::set. - (vr_values::extract_range_basic): Same. - -2022-06-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105763 - * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): - Check gimple_range_ssa_p. - -2022-05-31 Jason Merrill <jason@redhat.com> - - * Makefile.in (TAGS): Look at libcpp/*.cc. - -2022-05-31 Christophe Lyon <christophe.lyon@arm.com> - - * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr): - Prefix mode names with E_. - -2022-05-31 Alan Modra <amodra@gmail.com> - - * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct - spelling of DW_AT_namelist_item. - -2022-05-31 Jakub Jelinek <jakub@redhat.com> - - * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE - allow var to be private in the outer context. - (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument - to build_outer_var_ref. - -2022-05-30 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be - tieable with DImode on TARGET_64BIT, and SCmode tieable with - V2SFmode, and DCmode with V2DFmode. - -2022-05-30 Roger Sayle <roger@nextmovesoftware.com> - - PR rtl-optimization/101617 - * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a - special case (indicated by negate_cc_compare_p) to generate a - -1/0 mask using neg;sbb. - * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand - to generate an *x86_neg<mode>_ccc instruction. - (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to - generate a *x86_mov<mode>cc_0_m1_neg instruction. - -2022-05-30 Roger Sayle <roger@nextmovesoftware.com> - - * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT, - SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT. - <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV. - -2022-05-30 Roger Sayle <roger@nextmovesoftware.com> - - PR target/70321 - * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose - DI mode equality/inequality using XOR here. Instead generate a - COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode). - * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use - gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode. - (general_scalar_chain::convert_compare): New function to convert - scalar equality/inequality comparison into vector operations. - (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call - new convert_compare helper method. - (convertible_comparion_p): Update to match doubleword COMPARE - of two register, memory or integer constant operands. - * config/i386/i386-features.h (general_scalar_chain::convert_compare): - Prototype/declare member function here. - * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but - only allow new doubleword modes for EQ and NE operators. - (*cmp<dwi>_doubleword): New define_insn_and_split, to split a - doubleword comparison into a pair of XORs followed by an IOR to - set the (zero) flags register, optimizing the XORs if possible. - * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode - iterator; V_AVX is (currently) only used by ptest. - (sse4_1 mode attribute): Update to support V1TI and V2TI. - -2022-05-30 Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md: Remove constraints when used with - const_int_operand, const0_operand, const_1_operand, constm1_operand, - const8_operand, const128_operand, const248_operand, const123_operand, - const2367_operand, const1248_operand, const359_operand, - const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand, - const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand, - const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand, - const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand, - const_0_to_255_mul_8_operand, const_1_to_31_operand, - const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand, - const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand, - const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand, - const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand, - const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand, - const_24_to_27_operand and const_28_to_31_operand. - * config/i386/mmx.md: Ditto. - * config/i386/sse.md: Ditto. - * config/i386/subst.md: Ditto. - * config/i386/sync.md: Ditto. - -2022-05-30 Jan Beulich <jbeulich@suse.com> - - * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P() - arguments. - -2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype. - -2022-05-29 Iain Sandoe <iain@sandoe.co.uk> - - PR target/105599 - * config/darwin.h: Move versions-specific handling of multiply_defined - from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC. - -2022-05-29 Eric Gallager <egallager@gcc.gnu.org> - - PR other/82383 - * doc/sourcebuild.texi: Add entries for the c++tools, - gotools, libbacktrace, libcc1, libcody, liboffloadmic, - and libsanitizer directories. Remove entry for boehm-gc. - Fix alphabetization for libquadmath. - -2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com> - - * config/avr/avr-mcus.def: Add device definitions. - * doc/avr-mmcu.texi: Corresponding changes. - * config/avr/gen-avr-mmcu-texi.cc: Added support for avr - device prefix. - * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags - from leaking into cc1. - -2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org> - - PR target/103722 - * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which - is special) for various scenarios. - -2022-05-28 Iain Sandoe <iain@sandoe.co.uk> - - * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block - describing this macro. - -2022-05-27 Richard Biener <rguenther@suse.de> - - * tree-dfa.cc (get_ref_base_and_extent): Avoid shift. - -2022-05-27 Martin Jambor <mjambor@suse.cz> - - PR ipa/105639 - * ipa-prop.cc (propagate_controlled_uses): Check type of the - constant before adding a LOAD reference. - -2022-05-27 Jakub Jelinek <jakub@redhat.com> - - * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE - to OMP_CLAUSE_ENTER. - * tree.h (OMP_CLAUSE_ENTER_TO): Define. - * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename - OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER. - * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER - instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print - "to" instead of "enter". - * tree-nested.cc (convert_nonlocal_omp_clauses, - convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of - OMP_CLAUSE_TO_DECLARE. - -2022-05-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105726 - * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset): - Constrain array-of-flexarray case more. - -2022-05-27 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/105729 - * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w) - to (X &) z + w if -fsanitize=null during GENERIC folding. - -2022-05-27 Roger Sayle <roger@nextmovesoftware.com> - - * match.pd (match_zero_one_valued_p): New predicate. - (mult @0 @1): Use zero_one_valued_p for optimization to the - expression "bit_and @0 @1". - (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR. - (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform. - (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise. - (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise. - Remove three redundant transforms obsoleted by the three above. - -2022-05-27 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.md (*test<mode>_not): New define_insn_and_split - to split a combined "and;cmp" sequence into "not;test". - -2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (bswapsi2): New expansion pattern. - (bswapsi2_internal): Revise the template and condition, and add - detection code for preceding the same insn in order to omit a - "SSAI 8" instruction of the latter. - (bswapdi2): Suppress built-in insn expansion with the corresponding - library call when optimizing for size. - -2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa-protos.h - (xtensa_expand_block_set_unrolled_loop, - xtensa_expand_block_set_small_loop): New prototypes. - * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI, - xtensa_expand_block_set_unrolled_loop, - xtensa_expand_block_set_small_loop): New functions. - * config/xtensa/xtensa.md (setmemsi): New expansion pattern. - * config/xtensa/xtensa.opt (mlongcalls): Add target mask. - -2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_expand_block_move): - Make instruction counting more accurate, and simplify emitting insns. - -2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/constraints.md (M, O): Use the macro. - * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand, - sext_fldsz_operand): Ditto. - * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256, - xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4, - xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg, - xtensa_expand_prologue): Ditto. - * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto. - -2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/predicates.md (extui_fldsz_operand): Simplify. - * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand): - Ditto. - -2022-05-25 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc: Adjust comments. - * gimple-range-infer.cc: Adjust comments. - * gimple-range-infer.h: Adjust comments. - * gimple-range.cc: Adjust comments. - -2022-05-25 Andrew MacLeod <amacleod@redhat.com> - - * Makefile.in (OBJS): Use gimple-range-infer.o. - * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg. - (ranger_cache::range_from_dom): Rename var side_effect to infer. - (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects. - * gimple-range-cache.h: Include gimple-range-infer.h. - (class ranger_cache): Adjust prototypes, use infer_range_manager. - * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc. - (gimple_infer_range::*): Rename from stmt_side_effects. - (infer_range_manager::*): Rename from side_effect_manager. - * gimple-range-side-effect.cc: Rename. - * gimple-range-side-effect.h: Rename. - * gimple-range-infer.h: Rename from gimple-range-side-effects.h. - (class gimple_infer_range): Rename from stmt_side_effects. - (class infer_range_manager): Rename from side_effect_manager. - * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename - from register_side_effects. - * gimple-range.h (register_inferred_ranges): Adjust prototype. - * range-op.h: Adjust comment. - * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges. - (rvrp_folder::post_fold_bb): Use register_inferred_ranges. - -2022-05-25 Simon Cook <simon.cook@embecosm.com> - - * config/riscv/arch-canonicalize: Only add mafd extension if - base was rv32/rv64g. - -2022-05-25 Tobias Burnus <tobias@codesourcery.com> - - * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a. - -2022-05-25 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/105714 - * asan.cc (has_stmt_been_instrumented_p): For assignments which - are both stores and loads, return true only if both destination - and source have been instrumented. - -2022-05-25 Martin Liska <mliska@suse.cz> - Richard Biener <rguenther@suse.de> - - * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter. - * params.opt (max-unswitch-level): Remove. - * doc/invoke.texi (max-unswitch-level): Likewise. - * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not - gimplified expressions. - * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New. - (tree_may_unswitch_on): Rename to ... - (find_unswitching_predicates_for_bb): ... this and handle - switch statements. - (get_predicates_for_bb): Likewise. - (set_predicates_for_bb): Likewise. - (init_loop_unswitch_info): Likewise. - (tree_ssa_unswitch_loops): Prepare stuff before calling - tree_unswitch_single_loop. - (tree_unswitch_single_loop): Rework the function using - pre-computed predicates and with a per original loop cost model. - (merge_last): New. - (add_predicate_to_path): Likewise. - (find_range_for_lhs): Likewise. - (simplify_using_entry_checks): Rename to ... - (evaluate_control_stmt_using_entry_checks): ... this, handle - switch statements and improve simplifications using ranger. - (simplify_loop_version): Rework using - evaluate_control_stmt_using_entry_checks. - (evaluate_bbs): New. - (evaluate_loop_insns_for_predicate): Likewise. - (tree_unswitch_loop): Adjust to allow switch statements and - pass in the edge to unswitch. - (clean_up_after_unswitching): New. - (pass_tree_unswitch::execute): Pass down fun. - -2022-05-24 Eugene Rozenfeld <erozen@microsoft.com> - - * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile - counts for the epilog loop. - -2022-05-24 Martin Sebor <msebor@redhat.com> - Richard Biener <rguenther@suse.de> - - PR middle-end/105604 - * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments. - (get_origin_and_offset_r): Remove null handling. Handle variable array - sizes. - (get_origin_and_offset): Handle null argument here. Simplify. - (alias_offset): Update comment. - * pointer-query.cc (field_at_offset): Update comment. Handle members - of variable-length types. - -2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - * target.def (vec_perm_const): Define new parameter op_mode and - update doc. - * doc/tm.texi: Regenerate. - * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust - vec_perm_const hook to add new parameter op_mode and return false - if result and operand modes do not match. - * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise. - * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise. - * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise. - * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise. - * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise - * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise. - * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise. - * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise. - * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust - prototype. - * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook. - (ashrv2di3): Likewise. - * optabs.cc (expand_vec_perm_const): Likewise. - * optabs-query.h (can_vec_perm_const_p): Adjust prototype. - * optabs-query.cc (can_vec_perm_const_p): Define new parameter - op_mode and pass it to vec_perm_const hook. - (can_mult_highpart_p): Adjust call to can_vec_perm_const_p. - * match.pd (vec_perm X Y CST): Likewise. - * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise. - * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise. - (vect_grouped_load_supported): Likewise. - (vect_shift_permute_load_chain): Likewise. - * tree-vect-generic.cc (lower_vec_perm): Likewise. - * tree-vect-loop-manip.cc (interleave_supported_p): Likewise. - * tree-vect-loop.cc (have_whole_vector_shift): Likewise. - * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise. - * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise. - (vect_transform_slp_perm_load): Likewise. - (vectorizable_slp_permutation): Likewise. - * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise. - (vectorizable_bswap): Likewise. - (scan_store_can_perm_p): Likewise. - (vect_gen_perm_mask_checked): Likewise. - -2022-05-24 H.J. Lu <hjl.tools@gmail.com> - - PR target/104816 - * config/i386/i386.opt: Remove Undocumented. - * doc/invoke.texi: Document -mcet-switch. - -2022-05-24 Andrew Stubbs <ams@codesourcery.com> - - * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a. - * config/gcn/gcn-opts.h (enum gcn_isa): New. - (TARGET_GCN3): Use enum gcn_isa. - (TARGET_GCN3_PLUS): Likewise. - (TARGET_GCN5): Likewise. - (TARGET_GCN5_PLUS): Likewise. - (TARGET_CDNA1): New. - (TARGET_CDNA1_PLUS): New. - (TARGET_CDNA2): New. - (TARGET_CDNA2_PLUS): New. - (TARGET_M0_LDS_LIMIT): New. - (TARGET_PACKED_WORK_ITEMS): New. - * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa. - (gcn_option_override): Recognise CDNA ISA variants. - (gcn_omp_device_kind_arch_isa): Support gfx90a. - (gcn_expand_prologue): Make m0 init optional. - Add support for packed work items. - (output_file_start): Support gfx90a. - (gcn_hsa_declare_function_name): Support gfx90a metadata. - * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and - __CDNA2__. - * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS. - (<su>mulsi3_highpart_imm): Likewise. - (<su>mulsidi3): Likewise. - (<su>mulsidi3_imm): Likewise. - * config/gcn/gcn.opt (gpu_type): Add gfx90a. - * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New. - (main): Support gfx90a. - * config/gcn/t-gcn-hsa: Add gfx90a multilib. - * config/gcn/t-omp-device: Add gfx90a isa. - -2022-05-24 Andrew Stubbs <ams@codesourcery.com> - - * config.in: Regenerate. - * config/gcn/gcn-hsa.h (X_FIJI): Delete. - (X_900): Delete. - (X_906): Delete. - (X_908): Delete. - (S_FIJI): Delete. - (S_900): Delete. - (S_906): Delete. - (S_908): Delete. - (NO_XNACK): New macro. - (NO_SRAM_ECC): New macro. - (SRAMOPT): Keep only v4 variant. - (HSACO3_SELECT_OPT): Delete. - (DRIVER_SELF_SPECS): Delete. - (ASM_SPEC): Remove LLVM 9 support. - * config/gcn/gcn-valu.md - (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround. - (scatter<mode>_insn_2offsets<exec_scatter>): Likewise. - * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support. - (print_operand_address): Remove assembler bug workaround. - * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete. - (EF_AMDGPU_SRAM_ECC_V3): Delete. - (SET_XNACK_ON): Delete v3 variants. - (SET_XNACK_OFF): Delete v3 variants. - (TEST_XNACK): Delete v3 variants. - (SET_SRAM_ECC_ON): Delete v3 variants. - (SET_SRAM_ECC_ANY): Delete v3 variants. - (SET_SRAM_ECC_OFF): Delete v3 variants. - (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants. - (TEST_SRAM_ECC_ANY): Delete v3 variants. - (TEST_SRAM_ECC_ON): Delete v3 variants. - (copy_early_debug_info): Remove v3 support. - (main): Remove v3 support. - * configure: Regenerate. - * configure.ac: Replace all GCN feature checks with a version check. - -2022-05-24 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg, - i.e. a double word negation of a zero extended operand, to - neg;sbb. - -2022-05-24 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/105668 - * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support - V1TImode, just like V2DImode. - * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>): - Use VI_128 mode iterator instead of VI124_128 to include V2DI. - (vcond_mask_v2div2di): Delete. - (vcond_mask_v1tiv1ti): New define_expand. - -2022-05-24 Roger Sayle <roger@nextmovesoftware.com> - - * genpreds.cc (write_lookup_constraint_1): Avoid generating a call - to strncmp for strings of length one. - -2022-05-24 ShiYulong <shiyulong@iscas.ac.cn> - - * config/riscv/predicates.md (imm5_operand): Add a new operand type for - prefetch instructions. - * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA - Extensions. - (RISCV_ATYPE_SI): New. - (RISCV_ATYPE_DI): New. - * config/riscv/riscv-ftypes.def (0): New. - (1): New. - * config/riscv/riscv.md (riscv_clean_<mode>): New. - (riscv_flush_<mode>): New. - (riscv_inval_<mode>): New. - (riscv_zero_<mode>): New. - (prefetch): New. - (riscv_prefetchi_<mode>): New. - * config/riscv/riscv-cmo.def: New file. - -2022-05-24 ShiYulong <shiyulong@iscas.ac.cn> - - * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions. - * config/riscv/riscv-opts.h (MASK_ZICBOZ): New. - (MASK_ZICBOM): New. - (MASK_ZICBOP): New. - (TARGET_ZICBOZ): New. - (TARGET_ZICBOM): New. - (TARGET_ZICBOP): New. - * config/riscv/riscv.opt (riscv_zicmo_subext): New. - -2022-05-24 David Malcolm <dmalcolm@redhat.com> - - * tree-vect-slp-patterns.cc: Add "final" and "override" to - vect_pattern::build impls as appropriate. - -2022-05-24 David Malcolm <dmalcolm@redhat.com> - - * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc - implementations, removing redundant "virtual" as appropriate. - * ipa-fnsummary.h: Likewise. - * ipa-modref.cc: Likewise. - * ipa-param-manipulation.cc: Likewise. - * ipa-profile.cc: Likewise. - * ipa-prop.h: Likewise. - * ipa-pure-const.cc: Likewise. - * ipa-reference.cc: Likewise. - * ipa-sra.cc: Likewise. - * symbol-summary.h: Likewise. - * symtab-thunks.cc: Likewise. - -2022-05-24 Martin Liska <mliska@suse.cz> - - Revert: - 2022-05-24 Martin Liska <mliska@suse.cz> - - * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized - warning. - -2022-05-24 Martin Liska <mliska@suse.cz> - - * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized - warning. - -2022-05-24 Bruno Haible <bruno@clisp.org> - - PR other/105527 - * doc/install.texi (Configuration): Add more details about --with-zstd. - Document --with-zstd-include and --with-zstd-lib - -2022-05-24 Richard Biener <rguenther@suse.de> - - PR middle-end/105711 - * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter - and use it. - (extract_bit_field_1): Pass down the mode of op0 to - extract_bit_field_as_subreg. - -2022-05-24 Vineet Gupta <vineetg@rivosinc.com> - - * config/riscv/riscv.cc: (struct riscv_tune_param): Add - fmv_cost. - (rocket_tune_info): Add default fmv_cost 8. - (sifive_7_tune_info): Ditto. - (thead_c906_tune_info): Ditto. - (optimize_size_tune_info): Ditto. - (riscv_register_move_cost): Use fmv_cost for int<->fp moves. - -2022-05-24 Jakub Jelinek <jakub@redhat.com> - - PR c/105378 - * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New - builtin. - * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait - clause but no depend clauses. - * omp-expand.cc (expand_taskwait_call): Use - BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than - BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present. - -2022-05-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/100221 - * tree-ssa-dse.cc (contains_phi_arg): New function. - (dse_classify_store): Postpone PHI defs that feed another PHI in defs. - -2022-05-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105629 - * tree-ssa-phiopt.cc (spaceship_replacement): Allow - a sign-extending conversion. - -2022-05-24 Kewen Lin <linkw@linux.ibm.com> - - PR target/105627 - * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't - be a debug insn. - (union_uses): Skip debug use_insn. - -2022-05-23 Vineet Gupta <vineetg@rivosinc.com> - - * config/riscv/predicates.md (const_0_operand): Remove - const_double. - * config/riscv/riscv.cc (riscv_rtx_costs): Add check for - CONST_DOUBLE. - * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define. - -2022-05-23 Mayshao <mayshao-oc@zhaoxin.com> - - * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect - the specific type of Zhaoxin CPU, and return Zhaoxin CPU name. - (cpu_indicator_init): Handle Zhaoxin processors. - * common/config/i386/i386-common.cc: Add lujiazui. - * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add - VENDOR_ZHAOXIN. - (enum processor_types): Add ZHAOXIN_FAM7H. - (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI. - * config.gcc: Add lujiazui. - * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add - Signatures for zhaoxin - (signature_SHANGHAI_ecx): Ditto. - (signature_SHANGHAI_edx): Ditto. - * config/i386/driver-i386.cc (host_detect_local_cpu): Let - -march=native recognize lujiazui processors. - * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui. - * config/i386/i386-options.cc (m_LUJIAZUI): New_definition. - * config/i386/i386.h (enum processor_type): Ditto. - * config/i386/i386.md: Add lujiazui. - * config/i386/x86-tune-costs.h (struct processor_costs): Add - lujiazui costs. - * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui. - (ix86_adjust_cost): Ditto. - * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings. - (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto. - (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto. - (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto. - (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto. - (X86_TUNE_MOVX): Ditto. - (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto. - (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto. - (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto. - (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto. - (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto. - (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto. - (X86_TUNE_USE_LEAVE): Ditto. - (X86_TUNE_PUSH_MEMORY): Ditto. - (X86_TUNE_LCP_STALL): Ditto. - (X86_TUNE_USE_INCDEC): Ditto. - (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto. - (X86_TUNE_OPT_AGU): Ditto. - (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto. - (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto. - (X86_TUNE_USE_SAHF): Ditto. - (X86_TUNE_USE_BT): Ditto. - (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto. - (X86_TUNE_ONE_IF_CONV_INSN): Ditto. - (X86_TUNE_AVOID_MFENCE): Ditto. - (X86_TUNE_EXPAND_ABS): Ditto. - (X86_TUNE_USE_SIMODE_FIOP): Ditto. - (X86_TUNE_USE_FFREEP): Ditto. - (X86_TUNE_EXT_80387_CONSTANTS): Ditto. - (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto. - (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto. - (X86_TUNE_SSE_TYPELESS_STORES): Ditto. - (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto. - * doc/extend.texi: Add details about lujiazui. - * doc/invoke.texi: Add details about lujiazui. - * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file. - -2022-05-23 Martin Liska <mliska@suse.cz> - - * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro. - -2022-05-23 Richard Biener <rguenther@suse.de> - - * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove. - (pass_forwprop::execute): Do not propagate into COND_EXPR conditions. - -2022-05-23 Richard Biener <rguenther@suse.de> - - * gimple-expr.cc (is_gimple_condexpr): Remove. - * gimple-expr.h (is_gimple_condexpr): Likewise. - * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage. - * tree-if-conv.cc (set_bb_predicate): Likewie. - (add_to_predicate_list): Likewise. - (gen_phi_arg_condition): Likewise. - (predicate_scalar_phi): Likewise. - (predicate_statements): Likewise. - -2022-05-23 Richard Biener <rguenther@suse.de> - - * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val. - * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition - as is_gimple_val. - * gimple-fold.cc (valid_gimple_rhs_p): Simplify. - * tree-cfg.cc (verify_gimple_assign_ternary): Likewise. - * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction): - Build the condition of the COND_EXPR separately. - * tree-ssa-loop-im.cc (move_computations_worker): Likewise. - * tree-vect-generic.cc (expand_vector_condition): Likewise. - * tree-vect-loop.cc (vect_create_epilog_for_reduction): - Likewise. - * vr-values.cc (simplify_using_ranges::simplify): Likewise. - * tree-vect-patterns.cc: Add comment indicating we are - building invalid COND_EXPRs and why. - * omp-expand.cc (expand_omp_simd): Gimplify the condition - to the COND_EXPR separately. - (expand_omp_atomic_cas): Note part that should be unreachable - now. - * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust - condition for valid replacements. - * tree-if-conv.cc (predicate_bbs): Simulate previous - re-folding of the condition in folded COND_EXPRs which - is necessary because of unfolded GIMPLE_CONDs in the IL - as in for example gcc.dg/fold-bopcond-1.c. - * gimple-range-gori.cc (gori_compute::condexpr_adjust): - Handle that the comparison is now in the def stmt of - the select operand. Required by gcc.dg/pr104526.c. - -2022-05-23 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/104949 - * langhooks-def.h (lhd_omp_array_size): New. - (LANG_HOOKS_OMP_ARRAY_SIZE): Define. - (LANG_HOOKS_DECLS): Add it. - * langhooks.cc (lhd_omp_array_size): New. - * langhooks.h (struct lang_hooks_for_decls): Add hook. - * omp-low.cc (scan_sharing_clauses, lower_omp_target): - Handle GOMP_MAP_FIRSTPRIVATE for array descriptors. - -2022-05-23 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from - XOR/IOR case. Account for two instructions for double-word - operations. In case of vector pandn, account for single - instruction. Likewise for integer andn with TARGET_BMI. - <case NOT>: Vector NOT requires more than 1 instruction (pxor). - <case NEG>: Double-word negation requires 3 instructions. - -2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com> - - * common/config/riscv/riscv-common.cc (riscv_supported_std_ext): - Fix "K" extension prefix to be placed before "J". - * config/riscv/arch-canonicalize: Likewise. - -2022-05-23 liuhongt <hongtao.liu@intel.com> - - * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr - <-> mask cost from 5 to 6. - (icelake_cost): Ditto. - -2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64.md - (and_<SHIFT:optab><mode>3_compare0): Support rotate left. - (and_<SHIFT:optab>si3_compare0_uxtw): Likewise. - (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise. - (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise. - (one_cmpl_<optab><mode>2): Likewise. - (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise. - (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern. - (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left. - (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise. - (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise. - (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise. - (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise. - (and_<SHIFT:optab><mode>3nr_compare0): Likewise. - (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate. - (rolsi3_insn_uxtw): New pattern. - * config/aarch64/iterators.md (SHIFT): Add rotate left. - (SHIFT_no_rotate): Add new iterator. - (SHIFT:shift): Print rotate left as ror. - (is_rotl): Add test for left rotate. - -2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch - processing. Add support for architectural extensions. - * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove - AARCH64_CPU_DEFAULT_FLAGS. - (TARGET_CPU_NBITS): Remove. - (TARGET_CPU_MASK): Remove. - * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define. - (get_tune_cpu): Assert CPU is always valid. - (get_arch): Assert architecture is always valid. - (aarch64_override_options): Cleanup CPU selection code and simplify logic. - (aarch64_option_restore): Remove unnecessary checks on tune. - -2022-05-20 David Malcolm <dmalcolm@redhat.com> - - * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of - "FINAL" and "OVERRIDE" with "final" and "override". - * config/aarch64/aarch64-sve-builtins-functions.h: Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise. - * diagnostic-path.h: Likewise. - * digraph.cc: Likewise. - * gcc-rich-location.h: Likewise. - * gimple-array-bounds.cc: Likewise. - * gimple-loop-versioning.cc: Likewise. - * gimple-range-cache.cc: Likewise. - * gimple-range-cache.h: Likewise. - * gimple-range-fold.cc: Likewise. - * gimple-range-fold.h: Likewise. - * gimple-range-tests.cc: Likewise. - * gimple-range.h: Likewise. - * gimple-ssa-evrp.cc: Likewise. - * input.cc: Likewise. - * json.h: Likewise. - * read-rtl-function.cc: Likewise. - * tree-complex.cc: Likewise. - * tree-diagnostic-path.cc: Likewise. - * tree-ssa-ccp.cc: Likewise. - * tree-ssa-copy.cc: Likewise. - * tree-vrp.cc: Likewise. - * value-query.h: Likewise. - * vr-values.h: Likewise. - -2022-05-20 Marcel Vollweiler <marcel@codesourcery.com> - - * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and - target_memcpy_rect_async to omp_runtime_apis array. - -2022-05-20 Christophe Lyon <christophe.lyon@arm.com> - - * doc/sourcebuild.texi (Decimal floating point attributes): Document - dfp_bid effective-target. - -2022-05-20 Christophe Lyon <christophe.lyon@arm.com> - - * config/aarch64/aarch64.cc - (aarch64_split_128bit_move): Handle DFP modes. - (aarch64_mode_valid_for_sched_fusion_p): Likewise. - (aarch64_classify_address): Likewise. - (aarch64_legitimize_address_displacement): Likewise. - (aarch64_reinterpret_float_as_int): Likewise. - (aarch64_float_const_zero_rtx_p): Likewise. - (aarch64_can_const_movi_rtx_p): Likewise. - (aarch64_anchor_offset): Likewise. - (aarch64_secondary_reload): Likewise. - (aarch64_rtx_costs): Likewise. - (aarch64_legitimate_constant_p): Likewise. - (aarch64_gimplify_va_arg_expr): Likewise. - (aapcs_vfp_sub_candidate): Likewise. - (aarch64_vfp_is_call_or_return_candidate): Likewise. - (aarch64_output_scalar_simd_mov_immediate): Likewise. - (aarch64_gen_adjusted_ldpstp): Likewise. - (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled. - * config/aarch64/aarch64.md - (movsf_aarch64): Use SFD iterator and rename into - mov<mode>_aarch64. - (movdf_aarch64): Use DFD iterator and rename into - mov<mode>_aarch64. - (movtf_aarch64): Use TFD iterator and rename into - mov<mode>_aarch64. - (split pattern for move TF mode): Use TFD iterator. - * config/aarch64/iterators.md - (GPF_TF_F16_MOV): Add DFP modes. - (SFD, DFD, TFD): New iterators. - (GPF_TF): Add DFP modes. - (TX, DX, DX2): Likewise. - -2022-05-20 Christophe Lyon <christophe.lyon@arm.com> - - * configure: Regenerate. - -2022-05-19 Roger Sayle <roger@nextmovesoftware.com> - - PR middle-end/98865 - * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y - when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and - likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits. - -2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com> - - * config/rs6000/rs6000-builtins.def: Rephrase - to remove RS6000_BTC_SPECIAL from comment. - * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY, - RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY, - RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK, - RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS, - RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC, - RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP, - RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR, - RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID, - RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE, - RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT, - RS6000_BTM_ALWAYS): Delete. - -2022-05-19 Richard Biener <rguenther@suse.de> - - * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut - computation of the new value. - -2022-05-19 Richard Biener <rguenther@suse.de> - - * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove. - (add_to_value): Use get_expression_id. - (bitmap_insert_into_set): Likewise. - (bitmap_value_insert_into_set): Likewise. - -2022-05-19 David Malcolm <dmalcolm@redhat.com> - - * doc/invoke.texi (-fanalyzer-checker=): Add - -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to - the list of analyzer warnings disabled by - -fanalyzer-checker=taint. - -2022-05-19 Jakub Jelinek <jakub@redhat.com> - - PR debug/105630 - * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for - global vars without symtab node even when they have DECL_RTL - set. - -2022-05-19 Jakub Jelinek <jakub@redhat.com> - - PR c/105635 - * pointer-query.cc (gimple_parm_array_size): Return NULL if var - doesn't have pointer or reference type. - -2022-05-18 Marek Polacek <polacek@redhat.com> - - PR c/105131 - * doc/invoke.texi: Document -Wenum-int-mismatch. - -2022-05-18 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/gnu-user-common.h (defined): Only define - TARGET_CAN_SPLIT_STACK for glibc targets. - * config/i386/gnu.h (defined): Ditto. - -2022-05-18 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size - is wider than word_mode, a multiplication costs three word_mode - multiplications and two word_mode additions. - -2022-05-18 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.md (define_split): Split *andsi_1 - and *andn_si_ccno after reload with -Oz. - -2022-05-18 Frederik Harwath <frederik@codesourcery.com> - - * graphite-scop-detection.cc (scop_detection::can_represent_loop): - Output reason for failure to dump file. - (scop_detection::harmful_loop_in_region): Likewise. - (scop_detection::graphite_can_represent_expr): Likewise. - (scop_detection::stmt_has_simple_data_refs_p): Likewise. - (scop_detection::stmt_simple_for_scop_p): Likewise. - (print_sese_loop_numbers): New function. - (scop_detection::add_scop): Use from here. - -2022-05-18 liuhongt <hongtao.liu@intel.com> - - PR middle-end/103462 - * match.pd (bitwise_induction_p): New match. - * tree-scalar-evolution.cc (gimple_bitwise_induction_p): - Declare. - (analyze_and_compute_bitwise_induction_effect): New function. - (enum bit_op_kind): New enum. - (final_value_replacement_loop): Enhanced to handle bitwise - induction. - -2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/95737 - * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New. - -2022-05-18 liuhongt <hongtao.liu@intel.com> - - PR target/104375 - * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New - define_insn. - -2022-05-18 liuhongt <hongtao.liu@intel.com> - - PR target/104610 - * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest - for QImode when code is EQ or NE. - * config/i386/i386.md (cbranchoi4): New expander. - -2022-05-18 Peter Bergner <bergner@linux.ibm.com> - Segher Boessenkool <segher@kernel.crashing.org> - - PR target/105556 - * config/rs6000/mma.md (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>): Replace "wa" constraints with "v,?wa". - Update other operands accordingly. - -2022-05-17 Marek Polacek <polacek@redhat.com> - - * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE. - -2022-05-17 Pat Haugen <pthaugen@linux.ibm.com> - - PR target/99685 - * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump - register count when not splitting IEEE 128-bit Complex. - -2022-05-17 Tobias Burnus <tobias@codesourcery.com> - - * omp-low.cc (check_omp_nesting_restrictions): Skip warning for - target inside target if inner is reverse offload. - -2022-05-17 Tobias Burnus <tobias@codesourcery.com> - - * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE. - * config/nvptx/mkoffload.cc (process): Likewise. - -2022-05-17 Andrew MacLeod <amacleod@redhat.com> - - * Makefile.in (OBJS): Add gimple-range-side-effect.o. - * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete. - (non_null_ref::~non_null_ref): Delete. - (non_null_ref::set_nonnull): Delete. - (non_null_ref::non_null_deref_p): Delete. - (non_null_ref::process_name): Delete. - (ranger_cache::ranger_cache): Initialize m_exit object. - (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull. - (ranger_cache::range_from_dom): Use side_effect class and m_exit object. - (ranger_cache::update_to_nonnull): Delete. - (non_null_loadstore): Delete. - (ranger_cache::block_apply_nonnull): Delete. - (ranger_cache::apply_side_effects): New. - * gimple-range-cache.h (class non_null_ref): Delete. - (non_null_ref::adjust_range): Delete. - (class ranger_cache): Adjust prototypes, add side effect manager. - * gimple-range-path.cc (path_range_query::range_defined_in_block): Use - side effect manager for queries. - (path_range_query::adjust_for_non_null_uses): Ditto. - * gimple-range-path.h (class path_range_query): Delete non_null_ref. - * gimple-range-side-effect.cc: New. - * gimple-range-side-effect.h: New. - * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor. - (gimple_ranger::range_of_expr): Check def block for override value. - (gimple_ranger::range_on_entry): Don't scan dominators for non-null. - (gimple_ranger::range_on_edge): Check for outgoing side-effects. - (gimple_ranger::register_side_effects): Call apply_side_effects. - (enable_ranger): Update contructor. - * gimple-range.h (class gimple_ranger): Update prototype. - (enable_ranger): Update prototype. - * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag. - -2022-05-17 Giuliano Belinassi <gbelinassi@suse.de> - - PR c++/105169 - * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case. - * varasm.cc (switch_to_comdat_section): New - (handle_vtv_comdat_section): Call switch_to_comdat_section. - * varasm.h: Declare switch_to_comdat_section. - -2022-05-17 Richard Biener <rguenther@suse.de> - - * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do - not clear bb->aux of the copied blocks. - -2022-05-17 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/105458 - * value-relation.cc (path_oracle::register_relation): Merge, then check - for equivalence. - -2022-05-17 Uroš Bizjak <ubizjak@gmail.com> - - PR target/105624 - Revert: - * config/i386/i386.md: Remove constraints when used with - const_int_operand, const0_operand, const_1_operand, constm1_operand, - const8_operand, const128_operand, const248_operand, const123_operand, - const2367_operand, const1248_operand, const359_operand, - const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand, - const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand, - const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand, - const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand, - const_0_to_255_mul_8_operand, const_1_to_31_operand, - const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand, - const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand, - const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand, - const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand, - const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand, - const_24_to_27_operand and const_28_to_31_operand. - * config/i386/mmx.md: Ditto. - * config/i386/sse.md: Ditto. - * config/i386/subst.md: Ditto. - * config/i386/sync.md: Ditto. - -2022-05-17 Thomas Schwinge <thomas@codesourcery.com> - - * diagnostic.cc: Don't advise to call 'abort' instead of - 'internal_error'. - * system.h: Advise to call 'internal_error' instead of 'abort' or - 'fancy_abort'. - -2022-05-17 Frederik Harwath <frederik@codesourcery.com> - - * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and - a reference to a variable which does not exist. - * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo - in comment. - -2022-05-17 Frederik Harwath <frederik@codesourcery.com> - - * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ... - (isl_id_for_parameter): ... this new function name. - (build_scop_context): Adjust function use. - -2022-05-17 Tobias Burnus <tobias@codesourcery.com> - - PR target/105602 - * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'. - * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise. - -2022-05-17 Jakub Jelinek <jakub@redhat.com> - - * tree-core.h (enum omp_clause_depend_kind): Add - OMP_CLAUSE_DEPEND_INOUTSET. - * tree-pretty-print.cc (dump_omp_clause): Handle - OMP_CLAUSE_DEPEND_INOUTSET. - * gimplify.cc (gimplify_omp_depend): Likewise. - * omp-low.cc (lower_depend_clauses): Likewise. - -2022-05-17 Jakub Jelinek <jakub@redhat.com> - - PR target/105613 - * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use - andv4si3 only for EQ, for NE use iorv4si3 instead. - -2022-05-17 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105618 - * tree-ssa-sink.cc (statement_sink_location): For virtual - PHI uses ignore those defining the used virtual operand. - -2022-05-17 Jakub Jelinek <jakub@redhat.com> - - * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix: - hanlde -> handle. Fix up comment formatting. - -2022-05-17 liuhongt <hongtao.liu@intel.com> - - PR target/105033 - * config/i386/sse.md (*vec_concatv4si): Extend to .. - (*vec_concat<mode>): .. V16QI and V8HImode. - (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split. - (*vec_concatv8hi_permt2): Ditto. - -2022-05-17 liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/105591 - * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp - vec_perm_expr index. - -2022-05-16 Jason Merrill <jason@redhat.com> - - PR c/105492 - * attribs.cc (decl_attributes): Fix broken typedefs here. - -2022-05-16 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105103 - * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o. - * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch, - -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and - -Wanalyzer-va-list-use-after-va-end. - -2022-05-16 Richard Biener <rguenther@suse.de> - - * gimple-match.h (gimple_build): Move code_helper overloads ... - * gimple-fold.h (gimple_build): ... here. - (gimple_build): Transition to new worker API. Provide - overloads from sequence-based API. - (gimple_convert): Likewise. - (gimple_convert_to_ptrofftype): Likewise. - (gimple_build_vector_from_val): Likewise. - (gimple_build_vector): Likewise. - (gimple_build_round_up): Likewise. - * gimple-fold.cc (gimple_build_insert_seq): New helper. - (gimple_build): Use it. Transition combined_fn and code_helper - API parts. - (gimple_convert): Transition to new worker API. - (gimple_convert_to_ptrofftype): Likewise. - (gimple_build_vector_from_val): Likewise. - (gimple_build_vector): Likewise. - (gimple_build_round_up): Likewise. - -2022-05-16 Richard Biener <rguenther@suse.de> - - * gimple-match.h (code_helper): Move class ... - * tree.h (code_helper): ... here. - -2022-05-16 Martin Liska <mliska@suse.cz> - - * opts-global.cc (write_langs): Add comment. - -2022-05-16 Eric Botcazou <ebotcazou@adacore.com> - - * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical - instead of a bitwise negation. - <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR. - -2022-05-16 Martin Liska <mliska@suse.cz> - - * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE. - (decls_mismatched_attributes): Likewise. - * builtins.cc (c_strlen): Likewise. - * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise. - * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise. - * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise. - (aarch64_init_simd_builtin_types): Likewise. - (aarch64_init_builtin_rsqrt): Likewise. - * config/aarch64/aarch64.cc (is_madd_op): Likewise. - * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise. - (arm_init_simd_builtin_types): Likewise. - * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise. - (c_prefix): Likewise. - (main): Likewise. - * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise. - * config/darwin-c.cc (darwin_register_frameworks): Likewise. - * config/gcn/mkoffload.cc (process_obj): Likewise. - * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise. - (fold_builtin_cpu): Likewise. - * config/m32c/m32c.cc (PUSHM_N): Likewise. - * config/nvptx/mkoffload.cc (process): Likewise. - * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise. - * config/s390/s390.cc (NR_C_MODES): Likewise. - * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise. - (create_insn_code_compression_table): Likewise. - * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise. - * diagnostic-format-json.cc (json_from_expanded_location): Likewise. - * dwarf2out.cc (ARRAY_SIZE): Likewise. - * genhooks.cc (emit_documentation): Likewise. - (emit_init_macros): Likewise. - * gimple-ssa-sprintf.cc (format_floating): Likewise. - * gimple-ssa-warn-access.cc (memmodel_name): Likewise. - * godump.cc (keyword_hash_init): Likewise. - * hash-table.cc (hash_table_higher_prime_index): Likewise. - * input.cc (for_each_line_table_case): Likewise. - * ipa-free-lang-data.cc (free_lang_data): Likewise. - * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise. - * optc-save-gen.awk: Likewise. - * spellcheck.cc (test_metric_conditions): Likewise. - * tree-vect-slp-patterns.cc (sizeof): Likewise. - (ARRAY_SIZE): Likewise. - * tree.cc (build_common_tree_nodes): Likewise. - -2022-05-16 Martin Liska <mliska@suse.cz> - - * opts-global.cc (write_langs): Allocate at least one byte. - -2022-05-16 Richard Biener <rguenther@suse.de> - - * match.pd (A cmp B ? A : B -> min/max): New patterns - carried over from fold_cond_expr_with_comparison. - -2022-05-16 liuhongt <hongtao.liu@intel.com> - - PR target/105587 - * config/i386/i386-expand.cc - (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] == - d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1. - -2022-05-15 Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md: Remove constraints when used with - const_int_operand, const0_operand, const_1_operand, constm1_operand, - const8_operand, const128_operand, const248_operand, const123_operand, - const2367_operand, const1248_operand, const359_operand, - const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand, - const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand, - const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand, - const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand, - const_0_to_255_mul_8_operand, const_1_to_31_operand, - const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand, - const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand, - const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand, - const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand, - const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand, - const_24_to_27_operand and const_28_to_31_operand. - * config/i386/mmx.md: Ditto. - * config/i386/sse.md: Ditto. - * config/i386/subst.md: Ditto. - * config/i386/sync.md: Ditto. - -2022-05-13 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2. - For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed - by a pshufd and pand. - (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode - vector equality as a V2DImode vector comparison (see above), - followed by a pshufd and pand. - -2022-05-13 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/83907 - * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo - for memset with an constant char value. - (handle_store): Improved handling of stores with a first byte - of zero, but not storing_all_zeros_p. - -2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu> - Manolis Tsamis <manolis.tsamis@vrull.eu> - - * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement. - (CTZ_DEFINED_VALUE_AT_ZERO): Same. - * doc/sourcebuild.texi: add documentation for RISC-V specific - test target keywords - -2022-05-13 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/105597 - * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead - of the lhs and make sure it is not undefined. - -2022-05-13 Sebastian Pop <spop@amazon.com> - - PR target/105162 - * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension - of str array. - * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call - memmodel_from_int and handle MEMMODEL_SYNC_*. - (DEF0): Add __aarch64_*_sync functions. - -2022-05-13 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_* - enumerated values. - * gimple-range-path.cc (maybe_register_phi_relation): Ditto. - * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use - new VREL enumerated values. - (*::lhs_op2_relation): Ditto. - (*::op1_op2_relation): Ditto. - (*::fold_range): Use new VREL enumerated values. - (minus_op1_op2_relation_effect): Ditto. - (range_relational_tests): Ditto. - * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING. - (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return - relation_kind. - (*_op1_op2_relation): Return relation_kind. - (relop_early_resolve): Use VREL_UNDEFINED. - * value-query.cc (range_query::query_relation): Use VREL_VARYING. - * value-relation.cc (VREL_LAST): Change enumerated value. - (vrel_range_assert): Delete. - (print_relation): Remove range assert. - (rr_negate_table): Adjust table to use new enumerated values.. - (relation_negate): Remove range assert. - (rr_swap_table): Adjust. - (relation_swap): Remove range assert. - (rr_intersect_table): Adjust. - (relation_intersect): Remove range assert. - (rr_union_table): Adjust. - (relation_union): Remove range assert. - (rr_transitive_table): Adjust. - (relation_transitive): Remove range assert. - (equiv_oracle::query_relation): Use new VREL enumerated values. - (equiv_oracle::register_relation): Ditto. - (relation_oracle::register_stmt): Ditto. - (dom_oracle::set_one_relation): Ditto. - (dom_oracle::register_transitives): Ditto. - (dom_oracle::query_relation): Ditto. - (path_oracle::register_relation): Ditto. - (path_oracle::query_relation): Ditto. - * value-relation.h (enum relation_kind_t): New relation_kind. - (*_op1_op2_relation): Adjust prototypes. - -2022-05-13 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-edge.cc (calc_switch_ranges): Check union return value. - * value-range.cc (irange::legacy_verbose_union_): Add return value. - (irange::irange_single_pair_union): New. - (irange::irange_union): Add return value. - * value-range.h (class irange): Adjust prototypes. - -2022-05-13 Andrew MacLeod <amacleod@redhat.com> - - * value-range.cc (irange::legacy_verbose_intersect): Add return value. - (irange::irange_contains_p): New. - (irange::irange_intersect): Add return value. - * value-range.h (class irange): Adjust prototypes. - -2022-05-13 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::get_global_range): Return the - had_global value instead. - -2022-05-13 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/104547 - * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add - the op1/op2 relation to the relation call. - * range-op.cc (*::lhs_op1_relation): Add param. - (*::lhs_op2_relation): Ditto. - (operator_minus::lhs_op1_relation): New. - (range_relational_tests): Add relation param. - * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype. - -2022-05-13 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range.cc (gimple_ranger::register_side_effects): First check - if the DEF should be exported as a global. - * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects, - which will export globals. - (execute_ranger_vrp): Remove call to export_global_ranges. - -2022-05-13 Andrew MacLeod <amacleod@redhat.com> - - * value-relation.cc (path_oracle::reset_path): Clear killing_defs. - -2022-05-13 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with - worlist truncated. - (ranger_cache::entry_range): Add rfd_mode parameter. - (ranger_cache::exit_range): Ditto. - (ranger_cache::edge_range): New. Incorporate from range_on_edge. - (ranger_cache::range_of_expr): Adjust call to entry_range. - (ranger_cache::range_on_edge): Split to edge_range and call. - (ranger_cache::fill_block_cache): Always invoke range_from_dom. - (ranger_cache::range_from_dom): Make reentrant, add search mode, handle - mutiple predecessors. - (ranger_cache::update_to_nonnull): Adjust call to exit_range. - * gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust - prototypes. - -2022-05-13 Alexandre Oliva <oliva@adacore.com> - - * gimple-harden-conditionals.cc: Include sbitmap.h. - (pass_harden_conditional_branches::execute): Skip new blocks. - (pass_harden_compares::execute): Likewise. - -2022-05-13 Richard Earnshaw <rearnsha@arm.com> - - PR target/105463 - * config/arm/mve.md (*movmisalign<mode>_mve_store): Use - mve_memory_operand. - (*movmisalign<mode>_mve_load): Likewise. - * config/arm/vec-common.md (movmisalign<mode>): Convert to generator - form... - (@movmisalign<mode>): ... thus. Use generic predicates and then - rework operands if they are not valid. For MVE rework to a - narrower element size if the alignment is not high enough. - -2022-05-13 Richard Earnshaw <rearnsha@arm.com> - - * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM - when there is no write-back. Fix use when strict is true. - -2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro - definition. - -2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi, - extzvsi_internal): Rename from extv, extv_internal, extzv and - extzv_internal, respectively. - -2022-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * tree-sra.cc (sra_modify_assign): Check that scalar storage order - is the same on the LHS and RHS before rewriting one with the model - of the other. - -2022-05-13 Richard Biener <rguenther@suse.de> - - * gimple-fold.cc (gimple_build): Adjust for new - main API. - * gimple-fold.h (gimple_build): New main APIs with - iterator, insert direction and iterator update. - (gimple_build): New forwarder template. - (clear_padding_type_may_have_padding_p): Remove. - (clear_type_padding_in_mask): Likewise. - (arith_overflowed_p): Likewise. - * fold-const.h (clear_padding_type_may_have_padding_p): Declare. - (clear_type_padding_in_mask): Likewise. - (arith_overflowed_p): Likewise. - * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API. - (gimplify_build2): Likewise. - (gimplify_build1): Likewise. - * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra - compare stmt. - * gengtype.cc (open_base_files): Re-order includes. - * builtins.cc: Re-order gimple-fold.h include. - * calls.cc: Likewise. - * cgraphbuild.cc: Likewise. - * cgraphunit.cc: Likewise. - * config/rs6000/rs6000-builtin.cc: Likewise. - * config/rs6000/rs6000-call.cc: Likewise. - * config/rs6000/rs6000.cc: Likewise. - * config/s390/s390.cc: Likewise. - * expr.cc: Likewise. - * fold-const.cc: Likewise. - * function-tests.cc: Likewise. - * gimple-match-head.cc: Likewise. - * gimple-range-fold.cc: Likewise. - * gimple-ssa-evrp-analyze.cc: Likewise. - * gimple-ssa-evrp.cc: Likewise. - * gimple-ssa-sprintf.cc: Likewise. - * gimple-ssa-warn-access.cc: Likewise. - * gimplify.cc: Likewise. - * graphite-isl-ast-to-gimple.cc: Likewise. - * ipa-cp.cc: Likewise. - * ipa-devirt.cc: Likewise. - * ipa-prop.cc: Likewise. - * omp-low.cc: Likewise. - * pointer-query.cc: Likewise. - * range-op.cc: Likewise. - * tree-cfg.cc: Likewise. - * tree-if-conv.cc: Likewise. - * tree-inline.cc: Likewise. - * tree-object-size.cc: Likewise. - * tree-ssa-ccp.cc: Likewise. - * tree-ssa-dom.cc: Likewise. - * tree-ssa-forwprop.cc: Likewise. - * tree-ssa-ifcombine.cc: Likewise. - * tree-ssa-loop-ivcanon.cc: Likewise. - * tree-ssa-math-opts.cc: Likewise. - * tree-ssa-pre.cc: Likewise. - * tree-ssa-propagate.cc: Likewise. - * tree-ssa-reassoc.cc: Likewise. - * tree-ssa-sccvn.cc: Likewise. - * tree-ssa-strlen.cc: Likewise. - * tree-ssa.cc: Likewise. - * value-pointer-equiv.cc: Likewise. - * vr-values.cc: Likewise. - -2022-05-13 Alexandre Oliva <oliva@adacore.com> - - PR rtl-optimization/105455 - * gimple-harden-conditionals.cc (insert_check_and_trap): Set - probabilities for newly-conditional edges. - -2022-05-13 liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/102583 - * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a - contiguous stride in the VEC_PERM_EXPR. - -2022-05-12 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/105577 - * dse.cc (rest_of_handle_dse): Make sure to purge dead EH - edges before running fast DCE via df_analyze. - -2022-05-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105562 - * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate - against all CLOBBER defs if there's not an obvious must-alias - and we are not doing redundant store elimination. - (vn_walk_cb_data::redundant_store_removal_p): New field. - (vn_reference_lookup_pieces): Initialize it. - (vn_reference_lookup): Add argument to specify if we are - doing redundant store removal. - (eliminate_dom_walker::eliminate_stmt): Specify we do. - * tree-ssa-sccvn.h (vn_reference_lookup): Adjust. - -2022-05-12 Haochen Jiang <haochen.jiang@intel.com> - - PR target/104371 - * config/i386/sse.md (vi1avx2const): New define_mode_attr. - (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter): - New define_split pattern. - -2022-05-12 Jakub Jelinek <jakub@redhat.com> - - * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr - if null_pointer_node. - (gimplify_scan_omp_clauses): Likewise. - * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node - as omp_all_memory. - -2022-05-11 Patrick Palka <ppalka@redhat.com> - - * tree.h (TREE_VEC_BEGIN): Define. - (TREE_VEC_END): Correct 'length' member access. - (class tree_vec_range): Define. - -2022-05-11 Segher Boessenkool <segher@kernel.crashing.org> - - * config/rs6000/rs6000.md: Use wa instead of <Fv>. - -2022-05-11 Segher Boessenkool <segher@kernel.crashing.org> - - * config/rs6000/rs6000.md: Use d instead of <Ff>. - -2022-05-11 Segher Boessenkool <segher@kernel.crashing.org> - - * config/rs6000/constraints.md (register_constraint "f"): Use - RS6000_CONSTRAINT_d. - * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle - RS6000_CONSTRAINT_f. - (rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit. - * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete - RS6000_CONSTRAINT_d. - -2022-05-11 Richard Biener <rguenther@suse.de> - - * gimple-fold.h (gimple_build): Use variadic template - functions for the gimple_build API forwarders without - location_t argument. - -2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR middle-end/70090 - * asan.cc (initialize_sanitizer_builtins): Register - __builtin_dynamic_object_size if necessary. - -2022-05-11 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/105559 - * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END - for non-debug insns. - -2022-05-11 Richard Biener <rguenther@suse.de> - - * generic-match-head.cc: Include tree-eh.h. - * match.pd ((cond ...) cmp X): New simplification inspired - by fold_binary_op_with_conditional_arg. - (eq/ne (cmp ...) true/false): Likewise. - -2022-05-11 Thomas Schwinge <thomas@codesourcery.com> - - * doc/install.texi: Don't document '--with-hsa-runtime', - '--with-hsa-runtime-include', '--with-hsa-runtime-lib'. - -2022-05-11 Martin Liska <mliska@suse.cz> - - PR other/105527 - * doc/install.texi: Document the configure option --with-zstd. - -2022-05-11 Martin Liska <mliska@suse.cz> - - * common/config/i386/cpuinfo.h (has_cpu_feature): Directly - compute index in cpu_features2. - (set_cpu_feature): Likewise. - * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove - loop for cpu_features2 and use NOP_EXPRs. - -2022-05-11 Richard Biener <rguenther@suse.de> - - PR bootstrap/105551 - * opts.cc (finish_options): Also disable var-tracking if - !DWARF2_DEBUGGING_INFO. - -2022-05-11 liuhongt <hongtao.liu@intel.com> - - PR target/104915 - * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New - pre_reload define_insn_and_split. - (*vec_setv2di_0_zero_extendhi_1): Ditto. - (*vec_set<mode>_0_zero_extendsi): Ditto. - (*vec_setv2di_0_zero_extendsi_1): Ditto. - (ssewvecmode): New mode attr. - (ssewvecmodelower): Ditto. - (ssepackmodelower): Ditto. - -2022-05-11 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/constraints.md (register constraint v): Use - rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS. - -2022-05-11 Martin Liska <mliska@suse.cz> - - PR target/105355 - * config/riscv/riscv.opt: Remove Separate from - -msmall-data-limit=. - * optc-gen.awk: Report error for the described situation. - * gcc.cc: Use Separate syntax. - * opts.cc (gen_command_line_string): Change option name. - -2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/105414 - * match.pd (minmax): Skip constant folding for fmin/fmax when both - arguments are sNaN or one is sNaN and another is NaN. - -2022-05-10 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105528 - * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove - set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment. - -2022-05-10 Segher Boessenkool <segher@kernel.crashing.org> - - * doc/md.texi (Defining Mode Iterators): Correct example replacement - text. - -2022-05-10 Maciej W. Rozycki <macro@embecosm.com> - - * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New - constants. - (fmin<mode>3, fmax<mode>3): New insns. - -2022-05-10 Richard Biener <rguenther@suse.de> - - * tree-if-conv.cc (fold_build_cond_expr): Use - match-and-simplify to simplify the condition. - (ifcvt_follow_ssa_use_edges): Remove. - (predicate_scalar_phi): Use follow_all_ssa_edges. - -2022-05-10 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100400 - * omp-oacc-kernels-decompose.cc - (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly - call 'internal_error'. - -2022-05-10 Richard Biener <rguenther@suse.de> - - PR middle-end/105537 - * toplev.cc (process_options): Move flag_var_tracking - handling ... - * opts.cc (finish_options): ... here. - -2022-05-10 Martin Liska <mliska@suse.cz> - - * basic-block.h (struct basic_block_d): Use void * - instead PTR. - * cfgloop.h: Likewise. - * cgraph.h: Likewise. - * gengtype-state.cc (state_ident_by_name): Likewise. - (record_type): Likewise. - (read_state_already_seen_type): Likewise. - * gengtype.cc (dump_type): Likewise. - (input_file_by_name): Likewise. - (main): Likewise. - * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise. - * ipa-utils.h (struct ipa_dfs_info): Likewise. - * plugin.cc (htab_hash_plugin): Likewise. - -2022-05-10 Richard Biener <rguenther@suse.de> - - * flags.h (dwarf_debuginfo_p): Add opts argument, guard - API with !GENERATOR_FILE. - * opts.cc (global_options): Poison. - (global_options_set): Likewise. - (finish_options): Refer to options via opts. - -2022-05-10 Uroš Bizjak <ubizjak@gmail.com> - Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode - alternative when optimizing for size and the immediate operand is - const_0_to_127_operand. - (*andqi_2_maybe_si): Likewise. - * config/i386/predicates.md (const_0_to_127_operand): New predicate. - -2022-05-10 Roger Sayle <roger@nextmovesoftware.com> - - * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec - "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1, - can't be negative. - -2022-05-10 Eric Botcazou <ebotcazou@adacore.com> - - PR target/105292 - * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return - true only for 8-byte vector modes. - -2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR middle-end/70090 - * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE. - (instrument_object_size): Get dynamic object size expression. - -2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com> - - PR preprocessor/101168 - * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand): - Avoid empty identifier. - -2022-05-09 Qing Zhao <qing.zhao@oracle.com> - - PR target/101891 - * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode - as a generic MMX mode instead of V4HImode. - (zero_all_mm_registers): Use SET to zero instead of MOV for - zeroing scratch registers. - (ix86_zero_call_used_regs): Likewise. - -2022-05-09 liuhongt <hongtao.liu@intel.com> - - PR target/105354 - * config/i386/i386-expand.cc - (expand_vec_perm_pslldq_psrldq_por): New function. - (ix86_expand_vec_perm_const_1): Try - expand_vec_perm_pslldq_psrldq_por for both 3-instruction and - 4/5-instruction sequence. - -2022-05-09 Martin Liška <mliska@suse.cz> - - * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT. - * system.h (STATIC_ASSERT): Define as static_assert for C++ - and fallback to array index in C. - -2022-05-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105517 - * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated - offset can be represented in the POINTER_PLUS_EXPR IL. - (vn_reference_insert): Likewise. - * poly-int.h (sext_hwi): Add poly version of sext_hwi. - -2022-05-09 Richard Biener <rguenther@suse.de> - - * match.pd: Remove #if GIMPLE guards around ! using patterns. - -2022-05-09 liuhongt <hongtao.liu@intel.com> - - PR target/105072 - * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1): - New define_insn. - (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload - define_insn_and_split. - -2022-05-09 Alex Coplan <alex.coplan@arm.com> - - * cgraph.cc (cgraph_node::get_create): Don't dump if the current - symtab state is PARSING. - -2022-05-09 Martin Liska <mliska@suse.cz> - - * system.h (LIKELY): Define. - (UNLIKELY): Likewise. - * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY - macros. - * dse.cc (set_position_unneeded): Likewise. - (set_all_positions_unneeded): Likewise. - (any_positions_needed_p): Likewise. - (all_positions_needed_p): Likewise. - * expmed.cc (flip_storage_order): Likewise. - * genmatch.cc (dt_simplify::gen_1): Likewise. - * ggc-common.cc (gt_pch_save): Likewise. - * print-rtl.cc: Likewise. - * rtl-iter.h (T>::array_type::~array_type): Likewise. - (T>::next): Likewise. - * rtl-ssa/internals.inl: Likewise. - * rtl-ssa/member-fns.inl: Likewise. - * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise. - (rtx_properties::try_to_add_dest): Likewise. - * rtlanal.h (growing_rtx_properties::repeat): Likewise. - (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise. - * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise. - * sort.cc (likely): Likewise. - (mergesort): Likewise. - * wide-int.h (wi::eq_p): Likewise. - (wi::ltu_p): Likewise. - (wi::cmpu): Likewise. - (wi::bit_and): Likewise. - (wi::bit_and_not): Likewise. - (wi::bit_or): Likewise. - (wi::bit_or_not): Likewise. - (wi::bit_xor): Likewise. - (wi::add): Likewise. - (wi::sub): Likewise. - -2022-05-09 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/arch-canonicalize: Handle g correctly. - -2022-05-07 Marek Polacek <polacek@redhat.com> - - PR c++/101833 - PR c++/47634 - * tree-core.h (struct attribute_spec): Update comment for HANDLER. - -2022-05-06 Jason Merrill <jason@redhat.com> - - * diagnostic-color.cc: Add fnname and targs color entries. - * doc/invoke.texi: Document them. - -2022-05-06 Jason Merrill <jason@redhat.com> - - * vec.h (vec::iterate): Fix comment. - -2022-05-06 Michael Meissner <meissner@linux.ibm.com> - - PR target/102059 - * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion - and -mpower10-fusion options for inlining purposes. - -2022-05-06 Christophe Lyon <christophe.lyon@arm.com> - - * config/aarch64/iterators.md (GPF_TF_F16): Delete. - -2022-05-06 Marcel Vollweiler <marcel@codesourcery.com> - - * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to - omp_runtime_apis array. - -2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com> - - * omp-low.cc (omp_maybe_offloaded_ctx): New prototype. - (scan_sharing_clauses): Check a restriction on allocate clause. - -2022-05-05 Sandra Loosemore <sandra@codesourcery.com> - - * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED - and ORDERED clause conflict errors. Add check for GRAINSIZE and - NUM_TASKS on TASKLOOP. - -2022-05-05 Martin Liska <mliska@suse.cz> - - * genautomata.cc (create_composed_state): Remove dead code. - * graphite-poly.cc (print_pdrs): Likewise. - * lto-wrapper.cc (run_gcc): Likewise. - * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes): - Likewise. - -2022-05-05 Martin Liska <mliska@suse.cz> - - * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with - PROF_*. - (gimple_gen_time_profiler): Likewise. - -2022-05-05 Martin Liska <mliska@suse.cz> - - * value-prof.cc (stream_out_histogram_value): Remove sanity - checking. - -2022-05-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104162 - * tree-ssa-sccvn.cc (vn_reference_lookup): Handle - &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset - becomes invariant. - (vn_reference_insert): Likewise. - -2022-05-05 Richard Biener <rguenther@suse.de> - - * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer - to real_value field. - (tree_real_cst::value): Add real_value field. - * tree.h (TREE_REAL_CST_PTR): Adjust. - * tree.cc (build_real): Remove separate allocation. - * tree-streamer-in.cc (unpack_ts_real_cst_value_fields): - Likewise. - -2022-05-05 Richard Biener <rguenther@suse.de> - - * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing - divisions with undefined overflow unconditionally. - (pass_tree_ifcombine::execute): Rewrite stmts with undefined - overflow to defined. - -2022-05-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105484 - * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return - whether the CFG changed. - (gimple_expand_vec_exprs): When the CFG changed, clean it up. - -2022-05-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104595 - * tree-vect-patterns.cc (vect_recog_bool_pattern): For - COND_EXPR do not fail if check_bool_pattern returns false. - -2022-05-04 Tobias Burnus <tobias@codesourcery.com> - - * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list - item that is in an outer data-sharing clause. - -2022-05-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104658 - * tree-vect-slp.cc (vect_slp_convert_to_external): Do not - create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector - type on nodes we promote. - (vectorizable_bb_reduc_epilogue): Deal with externalized - root. - * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do - not allow VECTOR_BOOLEAN_TYPE_P extern defs. - -2022-05-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103116 - * tree-vect-stmts.cc (get_group_load_store_type): Handle the - case we need peeling for gaps even though GROUP_GAP is zero. - -2022-05-04 Martin Liska <mliska@suse.cz> - - * gengtype-state.cc (read_a_state_token): Remove dead code. - * ipa-profile.cc (ipa_profile_read_summary_section): Likewise. - -2022-05-04 Richard Biener <rguenther@suse.de> - - * gimplify.cc (gimplify_init_constructor): First gimplify, - then simplify the result to a VECTOR_CST. - -2022-05-04 Jakub Jelinek <jakub@redhat.com> - - * genconditions.cc (write_conditions): Append a { nullptr, -1 } - element at the end of insn_conditions. - (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of - ARRAY_SIZE (insn_conditions). - -2022-05-04 Christophe Lyon <christophe.lyon@arm.com> - - PR target/104662 - * config/arm/arm.cc (simd_valid_immediate): Exit when input is a - vector of booleans and MVE is not enabled. - -2022-05-04 Richard Biener <rguenther@suse.de> - - PR debug/105158 - * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder): - Move debug stmts to the predecessor if moving to the - destination is not possible. - (remove_forwarder_block): Adjust. - (remove_forwarder_block_with_phi): Likewise. - -2022-05-03 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/102950 - * range-op.cc (wi_optimize_signed_bitwise_op): New function to - determine bounds of bitwise operations on signed types. - (operator_bitwise_and::wi_fold): Call the above function. - (operator_bitwise_or::wi_fold): Likewise. - (operator_bitwise_xor::wi_fold): Likewise. Additionally, the - result can't be zero if the operands can't be equal. - -2022-05-03 Iain Sandoe <iain@sandoe.co.uk> - - * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make - protocol class methods linker-visible. - -2022-05-03 Uroš Bizjak <ubizjak@gmail.com> - - PR target/105079 - * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload - define_insn_and_split pattern. - -2022-05-03 Richard Biener <rguenther@suse.de> - - PR middle-end/105083 - * tree-scalar-evolution.cc (scev_initialize): Verify we - have appropriate loop state. - * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and - loop init and finalization. - -2022-05-03 Richard Biener <rguenther@suse.de> - - PR middle-end/105461 - * opts.cc (finish_options): Match the condition to - disable flag_var_tracking to that of process_options. - -2022-05-03 Richard Biener <rguenther@suse.de> - - * opts.cc: #undef OPTIONS_SET_P. - (finish_options): Use opts_set instead of OPTIONS_SET_P. - -2022-05-03 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105394 - * tree-vect-generic.cc (expand_vector_condition): Adjust - comp_width for non-integer mode masks as well. - -2022-05-03 Marcel Vollweiler <marcel@codesourcery.com> - - * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to - omp_runtime_apis array. - -2022-05-02 Richard Biener <rguenther@suse.de> - - * tree-scalar-evolution.cc (expression_expensive_p): - Never consider mismatched calls as cheap. - -2022-05-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104240 - * tree-vect-slp.cc (op1_op0_map): New. - (vect_get_operand_map): Handle compares. - (vect_build_slp_tree_1): Support swapped operands for - tcc_comparison. - -2022-05-02 Jakub Jelinek <jakub@redhat.com> - - PR debug/105415 - * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug - if there is no symtab node for the VAR_DECL. - -2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * gcov-io.cc (gcov_rewrite): Clear the file error status. - -2022-05-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105437 - * tree-vect-slp.cc (vect_schedule_slp_node): Handle the - case where last_stmt alters control flow. - -2022-05-02 Richard Biener <rguenther@suse.de> - - * dojump.cc (do_jump): Use CASE_CONVERT. - * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise. - -2022-05-02 Jakub Jelinek <jakub@redhat.com> - - * system.h: Include initializer_list. - -2022-05-01 Segher Boessenkool <segher@kernel.crashing.org> - - * config/rs6000/constraints.md (Y constraint): Fix comment. - -2022-05-01 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to - VR_RANGE before passing a piecewise range to set_range_info_raw. - -2022-04-30 Patrick Palka <ppalka@redhat.com> - - * gengtype.cc (adjust_field_tree_exp): Remove. - (adjust_field_type): Don't handle the "tree_exp" special attribute. - * tree-core.h (struct tree_exp): Remove "special" and "desc" - attributes. Add "length" attribute. - -2022-04-29 Martin Jambor <mjambor@suse.cz> - - PR ipa/100413 - * cgraph.cc (cgraph_node::remove): Release body of the node this - is clone_of if appropriate. - -2022-04-29 Uroš Bizjak <ubizjak@gmail.com> - - PR target/51954 - * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2. - -2022-04-29 Richard Biener <rguenther@suse.de> - - * gimple-expr.cc (is_gimple_condexpr): Adjust comment. - (canonicalize_cond_expr_cond): Move here from gimple.cc, - allow both COND_EXPR and GIMPLE_COND forms. - * gimple-expr.h (canonicalize_cond_expr_cond): Declare. - * gimple.cc (canonicalize_cond_expr_cond): Remove here. - * gimple.h (canonicalize_cond_expr_cond): Likewise. - * gimple-loop-versioning.cc (loop_versioning::version_loop): - Use is_gimple_condexpr_for_cond. - * tree-parloops.cc (gen_parallel_loop): Likewise. - * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for - a proper cond expr after canonicalize_cond_expr_cond. - Use is_gimple_condexpr_for_cond where appropriate. - * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise. - * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise. - -2022-04-29 Richard Biener <rguenther@suse.de> - - * gimple-iterator.h (gsi_after_labels): Add overload for - gimple_seq. - (gsi_start_1): Rename to gsi_start and take a reference. - (gsi_last_1): Likewise. - * gimple-iterator.cc (gsi_for_stmt): Use gsi_start. - * omp-low.cc (lower_rec_input_clauses): Likewise. - (lower_omp_scan): Likewise. - -2022-04-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105431 - * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned. - (powi_as_mults): Use absu_hwi. - (gimple_expand_builtin_powi): Remove now pointless n != -n - check. - -2022-04-29 Aldy Hernandez <aldyh@redhat.com> - - * range-op.cc (empty_range_varying): Move to range-op.h. - (range_true): Move to range.h. - (range_false): Same. - (range_true_and_false): Same. - (enum bool_range_state): Move to range-op.h. - (relop_early_resolve): Same. - (operator_equal::op1_op2_relation): Abstract code to... - (equal_op1_op2_relation): ...here. - (operator_not_equal::op1_op2_relation): Abstract code to... - (not_equal_op1_op2_relation): ...here. - (operator_lt::op1_op2_relation): Abstract code to... - (lt_op1_op2_relation): ...here. - (operator_le::op1_op2_relation): Abstract code to... - (le_op1_op2_relation): ...here. - (operator_gt::op1_op2_relation): Abstract code to... - (gt_op1_op2_relation): ...here. - (operator_ge::op1_op2_relation): Abstract code to... - (ge_op1_op2_relation): ...here. - (class range_op_table): Move to range-op.h. - * range-op.h (equal_op1_op2_relation): Moved from range-op.cc. - (not_equal_op1_op2_relation): Same. - (lt_op1_op2_relation): Same. - (le_op1_op2_relation): Same. - (gt_op1_op2_relation): Same. - (ge_op1_op2_relation): Same. - (enum bool_range_state): Same. - (get_bool_state): Same. - (empty_range_varying): Same. - (relop_early_resolve): Same. - (class range_op_table): Same. - * range.h (range_true): Same. - (range_false): Same. - (range_true_and_false): Same. - -2022-04-29 Aldy Hernandez <aldyh@redhat.com> - - * gimple-fold.cc (size_must_be_zero_p): Use reference - instead of pointer - * gimple-ssa-evrp-analyze.cc - (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename - intersect to legacy_verbose_intersect. - * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead - of pointer. - * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range - instead of value_range_equiv. - * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference - instead of pointer. - (find_case_label_range): Same. - * value-range-equiv.cc (value_range_equiv::intersect): Rename to... - (value_range_equiv::legacy_verbose_intersect): ...this. - (value_range_equiv::union_): Rename to... - (value_range_equiv::legacy_verbose_union_): ...this. - * value-range-equiv.h (class value_range_equiv): Rename union and - intersect to legacy_verbose_{intersect,union}. - * value-range.cc (irange::union_): Rename to... - (irange::legacy_verbose_union_): ...this. - (irange::intersect): Rename to... - (irange::legacy_verbose_intersect): ...this. - * value-range.h (irange::union_): Rename union_ to - legacy_verbose_union. - (irange::intersect): Rename intersect to legacy_verbose_intersect. - * vr-values.cc (vr_values::update_value_range): Same. - (vr_values::extract_range_for_var_from_comparison_expr): Same. - (vr_values::extract_range_from_cond_expr): Rename union_ to - legacy_verbose_union. - (vr_values::extract_range_from_phi_node): Same. - -2022-04-29 Aldy Hernandez <aldyh@redhat.com> - - * gimple-ssa-evrp-analyze.cc - (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods - that take a range. - * gimple-ssa-sprintf.cc (try_substitute_return_value): Same. - * ipa-prop.cc (ipcp_update_vr): Same. - * tree-inline.cc (remap_ssa_name): Same. - * tree-ssa-copy.cc (fini_copy_prop): Same. - * tree-ssa-math-opts.cc (optimize_spaceship): Same. - * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same. - * tree-ssa-pre.cc (insert_into_preds_of_block): Same. - * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same. - * tree-ssa-strlen.cc (set_strlen_range): Same. - (strlen_pass::handle_builtin_string_cmp): Same. - * tree-ssanames.cc (set_range_info): Make static. - (duplicate_ssa_name_range_info): Make static and add a new variant - calling the static. - * tree-ssanames.h (set_range_info): Remove version taking wide ints. - (duplicate_ssa_name_range_info): Remove version taking a - range_info_def and replace with a version taking SSA names. - * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods - that take a range. - (vect_do_peeling): Same. - * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same. - * vr-values.cc (simplify_truth_ops_using_ranges): Same. - -2022-04-29 Aldy Hernandez <aldyh@redhat.com> - - * value-range.h (irange::irange): Use set_undefined. - -2022-04-29 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-cache.h (non_null_ref::adjust_range): Do not use - irange::intersect (wide_int, wide_int). - * gimple-range-fold.cc (adjust_pointer_diff_expr): Same. - (adjust_imagpart_expr): Same. - * value-range.h (irange::intersect (wide_int, wide_int)): Make - private. - -2022-04-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104322 - * tree-vect-loop.cc (vectorizable_reduction): Remove dead code. - -2022-04-29 Richard Biener <rguenther@suse.de> - - PR middle-end/105376 - * tree.cc (build_real): Special case dconst* arguments - for decimal floating point types. - -2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * doc/gcov.texi (Profiling and Test Coverage in Freestanding - Environments): New section. - -2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * doc/gcov-tool.texi: Document merge-stream subcommand. - * doc/invoke.texi (fprofile-info-section): Mention merge-stream - subcommand of gcov-tool. - * gcov-tool.cc (gcov_profile_merge_stream): Declare. - (print_merge_stream_usage_message): New. - (merge_stream_usage): Likewise. - (do_merge_stream): Likewise. - (print_usage): Call print_merge_stream_usage_message(). - (main): Call do_merge_stream() to execute merge-stream subcommand. - -2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * gcov-io.cc (gcov_file_error): New enum. - (gcov_var): Use gcov_file_error enum for the error member. - (gcov_open): Use GCOV_FILE_NO_ERROR. - (gcov_close): Use GCOV_FILE_WRITE_ERROR. - (gcov_write): Likewise. - (gcov_write_unsigned): Likewise. - (gcov_write_string): Likewise. - (gcov_read_bytes): Set error code if EOF is reached. - (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW. - -2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * gcov-io.cc (GCOV_MODE_STDIN): Define. - (gcov_position): For gcov-tool, return calculated position if file is - stdin. - (gcov_open): For gcov-tool, use stdin if filename is NULL. - (gcov_close): For gcov-tool, do not close stdin. - (gcov_read_bytes): For gcov-tool, update position if file is stdin. - (gcov_sync): For gcov-tool, discard input if file is stdin. - -2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * doc/invoke.texi (fprofile-info-section): Mention - __gcov_filename_to_gcfn(). Use "freestanding" to match with C11 - standard language. Fix minor example code issues. - * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document. - -2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * gcov-io.cc (gcov_seek): Make it static. - * gcov-io.h (struct gcov_summary): Do not mention gcov_seek(). - -2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * gcov-tool.cc (gcov_do_dump): Add mode parameter. - (gcov_output_files): Open files for reading and writing. - -2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * gcov-io.cc (gcov_open): Always use the mode parameter. - * gcov-io.h (gcov_open): Declare it unconditionally. - -2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * gcov-tool.cc (gcov_profile_merge): Adjust return type. - (profile_merge): Allow merging of directories which contain no profile - files. - -2022-04-28 David Malcolm <dmalcolm@redhat.com> - - * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the - fpath.txt output. - -2022-04-28 Jakub Jelinek <jakub@redhat.com> - - * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a - temporary only if out overlaps compare_op, not when it overlaps - op0 or op1. - -2022-04-28 Jakub Jelinek <jakub@redhat.com> - - PR lto/105399 - * cgraph.cc (cgraph_node::verify_node): Don't verify - semantic_interposition flag against - opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1. - -2022-04-28 Jakub Jelinek <jakub@redhat.com> - - PR target/105331 - * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp - temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR - of it. - -2022-04-28 Jonathan Wakely <jwakely@redhat.com> - - * doc/install.texi (Configuration): Remove misleading text - around LE PowerPC Linux multilibs. - -2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR d/103528 - * doc/install.texi (Tools/packages necessary for building GCC) - (GDC): Document libphobos requirement. - (Host/target specific installation notes for GCC, *-*-solaris2*): - Document libphobos and GDC specifics. - -2022-04-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105219 - * tree-vect-loop.cc (vect_transform_loop): Disable - special code narrowing the vectorized epilogue max - iterations when peeling for alignment or gaps was in effect. - -2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang> - - * config/loongarch/loongarch.cc - (loongarch_flatten_aggregate_field): Ignore empty fields for - RECORD_TYPE. - -2022-04-27 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.md: Add fdiv define_expand template, - then generate floating-point division and floating-point reciprocal - instructions. - -2022-04-27 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))' - to PLV instruction templates. - -2022-04-27 Richard Biener <rguenther@suse.de> - - PR middle-end/104492 - * gimple-ssa-warn-access.cc - (pass_waccess::warn_invalid_pointer): Exclude equality compare - diagnostics for all kind of invalidations. - (pass_waccess::check_dangling_uses): Fix post-dominator query. - (pass_waccess::check_pointer_uses): Likewise. - -2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com> - - PR target/102024 - * config/s390/s390-protos.h (s390_function_arg_vector): Remove - prototype. - * config/s390/s390.cc (s390_single_field_struct_p): New function. - (s390_function_arg_vector): Invoke s390_single_field_struct_p. - (s390_function_arg_float): Likewise. - -2022-04-27 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/105396 - * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case - where offset is bigger than off but smaller than m_prev_offset + 32 - bits by pushing one or more 0 bytes. Sink the - m_shadow_bytes.safe_push (value); flush_if_full (); statements from - all cases to the end of the function. - -2022-04-27 Kewen Lin <linkw@linux.ibm.com> - - PR target/105271 - * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector] - stanza. - -2022-04-26 Thomas Schwinge <thomas@codesourcery.com> - - * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private - data-share memory exhausted" error more verbose. - -2022-04-26 Martin Liska <mliska@suse.cz> - - PR lto/105364 - * lto-wrapper.cc (print_lto_docs_link): Use global_dc. - (run_gcc): Parse OPT_fdiagnostics_urls_. - (main): Initialize global_dc. - -2022-04-26 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/105314 - * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero - operand is equal to if_info->x, instead use the non-zero operand - as one of the operands of AND with if_info->x as target. - -2022-04-26 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105374 - * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if - !fold_convertible_p rather than assuming fold_convert must succeed. - -2022-04-26 Jakub Jelinek <jakub@redhat.com> - - PR target/105367 - * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass - el_mode == DFmode ? double_type_node : float_type_node instead of - TREE_TYPE (type_in) as first arguments to mathfn_built_in. - -2022-04-25 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104308 - * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set - the location of new_stmt in all places that don't already set it, - whether explicitly, or via a call to gsi_replace. - -2022-04-25 Paul A. Clarke <pc@us.ibm.com> - - * doc/extend.texi (Other Builtins): Correct reference to 'modff'. - -2022-04-25 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/105276 - * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include - existing global range with calculated value. - -2022-04-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105368 - * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi. - -2022-04-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/100810 - * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag. - (find_ssa_undef): New function. - (add_candidate_1): Avoid adding derived candidates with - undefined SSA names and mark the original ones. - (determine_group_iv_cost_generic): Reject rewriting - uses with a different IV when that involves undefined SSA names. - -2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org> - - PR target/89125 - * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be - bsd_libc_has_function. - * targhooks.cc (bsd_libc_has_function): New function. - Expand the supported math functions to inclue C99 libm. - * targhooks.h (bsd_libc_has_function): New Prototype. - -2022-04-25 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/105231 - * combine.cc (distribute_notes): Assert that a REG_EH_REGION - with landing pad > 0 is from i3. Put any REG_EH_REGION note - on i3 or drop it if the insn can not trap. - (try_combine): Ensure that we can merge REG_EH_REGION notes - with non-call exceptions. Ensure we are not splitting a - trapping part of an insn with non-call exceptions when there - is any REG_EH_REGION note to preserve. - -2022-04-25 Hongyu Wang <hongyu.wang@intel.com> - - PR target/105339 - * config/i386/avx512fintrin.h (_mm512_scalef_round_pd): - Add parentheses for parameters and djust format. - (_mm512_mask_scalef_round_pd): Ditto. - (_mm512_maskz_scalef_round_pd): Ditto. - (_mm512_scalef_round_ps): Ditto. - (_mm512_mask_scalef_round_ps): Ditto. - (_mm512_maskz_scalef_round_ps): Ditto. - (_mm_scalef_round_sd): Use _mm_undefined_pd. - (_mm_scalef_round_ss): Use _mm_undefined_ps. - (_mm_mask_scalef_round_sd): New macro. - (_mm_mask_scalef_round_ss): Ditto. - (_mm_maskz_scalef_round_sd): Ditto. - (_mm_maskz_scalef_round_ss): Ditto. - -2022-04-23 Jakub Jelinek <jakub@redhat.com> - - PR target/105338 - * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle - op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov - cases. - -2022-04-22 Segher Boessenkool <segher@kernel.crashing.org> - - PR target/105334 - * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander. - (pack<mode> for FMOVE128): Rename and split the insn_and_split to... - (pack<mode>_hard for FMOVE128): ... this... - (pack<mode>_soft for FMOVE128): ... and this. - -2022-04-22 Paul A. Clarke <pc@us.ibm.com> - - * doc/extend.texi: Correct "This" to "These". - -2022-04-22 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/105333 - * rtlanal.cc (replace_rtx): Use simplify_subreg or - simplify_unary_operation if CONST_SCALAR_INT_P rather than just - CONST_INT_P. - -2022-04-21 Segher Boessenkool <segher@kernel.crashing.org> - - PR target/103197 - PR target/102146 - * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage - the "Z" alternatives in {l,st}{f,xs}iwzx. - (zero_extendhi<mode>2 for EXTHI): Ditto. - (zero_extendsi<mode>2 for EXTSI): Ditto. - (*movsi_internal1): Ditto. - (*mov<mode>_internal1 for QHI): Ditto. - (movsd_hardfloat): Ditto. - -2022-04-21 Martin Liska <mliska@suse.cz> - - * configure.ac: Enable compressed debug sections for mold - linker. - * configure: Regenerate. - -2022-04-21 Jakub Jelinek <jakub@redhat.com> - - PR debug/105203 - * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label - on DEBUG_INSNs. - -2022-04-20 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104912 - * tree-vect-loop-manip.cc (vect_loop_versioning): Split - the cost model check to a separate BB to make sure it is - checked first and not combined with other version checks. - -2022-04-20 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105312 - * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both - VCOND and VCONDU for EQ and NE. - -2022-04-20 Jan Hubicka <hubicka@ucw.cz> - - PR ipa/103818 - * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use - poly_offset_int to avoid overflow. - (modref_access_node::update2): likewise. - -2022-04-20 Jakub Jelinek <jakub@redhat.com> - - PR ipa/105306 - * cgraph.cc (cgraph_node::create): Set node->semantic_interposition - to opt_for_fn (decl, flag_semantic_interposition). - * cgraphclones.cc (cgraph_node::create_clone): Copy over - semantic_interposition flag. - -2022-04-19 Sergei Trofimovich <siarheit@google.com> - - PR gcov-profile/105282 - * value-prof.cc (stream_out_histogram_value): Allow negative counts - on HIST_TYPE_INDIR_CALL. - -2022-04-19 Jakub Jelinek <jakub@redhat.com> - - PR target/105257 - * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO, - use gen_raw_REG instead of gen_rtx_REG and copy over also - ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */. - -2022-04-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104010 - PR tree-optimization/103941 - * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When - we run into stmts in patterns continue walking those - for uses outside of the vectorized region instead of - marking the lane live. - -2022-04-18 Hans-Peter Nilsson <hp@axis.com> - - * doc/install.texi <CRIS>: Remove references to removed websites and - adjust for cris-*-elf being the only remaining toolchain. - -2022-04-18 Hans-Peter Nilsson <hp@axis.com> - - * doc/invoke.texi <CRIS>: Remove references to options for removed - subtarget cris-axis-linux-gnu and tweak wording accordingly. - -2022-04-16 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/install.texi (Specific): Adjust mingw-w64 download link. - -2022-04-15 Hongyu Wang <hongyu.wang@intel.com> - - * config/i386/smmintrin.h: Correct target pragma from sse4.1 - and sse4.2 to crc32 for crc32 intrinsics. - -2022-04-14 Indu Bhagat <indu.bhagat@oracle.com> - - PR debug/105089 - * ctfc.cc (ctf_dvd_ignore_insert): New function. - (ctf_dvd_ignore_lookup): Likewise. - (ctf_add_variable): Keep track of non-defining decl DIEs. - (new_ctf_container): Initialize the new hash-table. - (ctfc_delete_container): Empty hash-table. - * ctfc.h (struct ctf_container): Add new hash-table. - (ctf_dvd_ignore_lookup): New declaration. - (ctf_add_variable): Add additional argument. - * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable - record for non-defining decl for which a defining decl exists - in the same TU. - (ctf_preprocess): Defer updating the number of global objts - until here. - (output_ctf_header): Use ctfc_vars_list_count as some CTF - variables may not make it to the final output. - (output_ctf_vars): Likewise. - * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable - if this is known to be a non-defining decl DIE. - -2022-04-14 Indu Bhagat <indu.bhagat@oracle.com> - - * ctfc.h (struct ctf_container): Introduce a new member. - * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static - variable. - -2022-04-14 Jakub Jelinek <jakub@redhat.com> - - PR target/105247 - * simplify-rtx.cc (simplify_const_binary_operation): For shifts - or rotates by VOIDmode constant integer shift count use word_mode - for the operand if int_mode is narrower than word. - -2022-04-14 Robin Dapp <rdapp@linux.ibm.com> - - * config/s390/s390.cc (s390_get_sched_attrmask): Add z16. - (s390_get_unit_mask): Likewise. - (s390_is_fpd): Likewise. - (s390_is_fxd): Likewise. - * config/s390/s390.h (s390_tune_attr): Set max tune level to z16. - * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15): - Add z16. - (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16): - Likewise. - * config/s390/3931.md: New file. - -2022-04-13 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/105254 - * config/aarch64/aarch64.cc - (aarch64_vector_costs::determine_suggested_unroll_factor): Take a - loop_vec_info as argument. Restrict the unroll factor to values - that divide the VF. - (aarch64_vector_costs::finish_cost): Update call accordingly. - -2022-04-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105263 - * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume - negates in multiplication chains with DFP. - -2022-04-13 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/105253 - * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple, - use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT - comparisons or tree_nop_conversion_p checks. - -2022-04-13 Hongyu Wang <hongyu.wang@intel.com> - - PR target/103069 - * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): - Add missing set to target_val at pause label. - -2022-04-13 Jakub Jelinek <jakub@redhat.com> - - PR target/105234 - * attribs.cc (decl_attributes): Don't set - DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is - NULL. - -2022-04-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105250 - * fold-const.cc (fold_convertible_p): Revert - r12-7979-geaaf77dd85c333, instead check for size equality - of the vector types involved. - -2022-04-13 Richard Biener <rguenther@suse.de> - - Revert: - 2022-04-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104912 - * tree-vect-loop-manip.cc (vect_loop_versioning): Split - the cost model check to a separate BB to make sure it is - checked first and not combined with other version checks. - -2022-04-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104912 - * tree-vect-loop-manip.cc (vect_loop_versioning): Split - the cost model check to a separate BB to make sure it is - checked first and not combined with other version checks. - -2022-04-13 Jakub Jelinek <jakub@redhat.com> - - * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo. - -2022-04-12 Antoni Boucher <bouanto@zoho.com> - - PR jit/104072 - * reginfo.cc: New functions (clear_global_regs_cache, - reginfo_cc_finalize) to avoid an issue where compiling the same - code multiple times gives an error about assigning the same - register to 2 global variables. - * rtl.h: New function (reginfo_cc_finalize). - * toplev.cc: Call it. - -2022-04-12 Antoni Boucher <bouanto@zoho.com> - - PR jit/104071 - * toplev.cc: Call the new function tree_cc_finalize in - toplev::finalize. - * tree.cc: New functions (clear_nonstandard_integer_type_cache - and tree_cc_finalize) to clear the cache of non-standard integer - types to avoid having issues with some optimizations of - bitcast where the SSA_NAME will have a size of a cached - integer type that should have been invalidated, causing a - comparison of integer constant to fail. - * tree.h: New function (tree_cc_finalize). - -2022-04-12 Thomas Schwinge <thomas@codesourcery.com> - - PR target/97348 - * config/nvptx/nvptx.h (ASM_SPEC): Don't set. - * config/nvptx/nvptx.opt (misa): Adjust comment. - -2022-04-12 Thomas Schwinge <thomas@codesourcery.com> - - Revert: - 2022-03-03 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}. - -2022-04-12 Thomas Schwinge <thomas@codesourcery.com> - - Revert: - 2022-03-31 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30. - -2022-04-12 Richard Biener <rguenther@suse.de> - - PR ipa/104303 - * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not - include local escaped memory as obviously necessary stores. - -2022-04-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105235 - * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and - return whether the CFG changed. - (execute_cse_sincos_1): Adjust. - -2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com> - - PR target/104144 - * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options. - (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories. - (MULTILIB_REQUIRED): Don't require Armv9-a libraries. - (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a. - (MULTILIB_REUSE): Remove remap rules for Armv9-a. - * config/arm/t-multilib (v9_a_nosimd_variants): Delete. - (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants. - -2022-04-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105232 - * tree.cc (component_ref_size): Bail out for too large - or non-constant sizes. - -2022-04-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105226 - * tree-vect-loop-manip.cc (vect_loop_versioning): Verify - we can split the exit of an outer loop we choose to version. - -2022-04-12 Jakub Jelinek <jakub@redhat.com> - - * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh, - ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh, - ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round, - ix86_emit_swdivsf, ix86_emit_swsqrtsf, - ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop): - Formatting fix. - * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise. - -2022-04-12 Jakub Jelinek <jakub@redhat.com> - - PR target/105214 - * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call - do_pending_stack_adjust. - -2022-04-12 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/105211 - * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1 - fails for TREE_TYPE (arg), retry it with - TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that - fails, emit call normally. - -2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com> - - * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16. - * config.gcc: Add z16 as march/mtune switch. - * config/s390/driver-native.cc (s390_host_detect_local_cpu): - Recognize z16 with -march=native. - * config/s390/s390-opts.h (enum processor_type): Rename - PROCESSOR_ARCH14 to PROCESSOR_3931_Z16. - * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ... - (PROCESSOR_3931_Z16): ... throughout the file. - (s390_processor processor_table): Add z16 as cpu string. - * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to - PF_Z16. - (TARGET_CPU_ARCH14): Rename to ... - (TARGET_CPU_Z16): ... this. - (TARGET_CPU_ARCH14_P): Rename to ... - (TARGET_CPU_Z16_P): ... this. - (TARGET_ARCH14): Rename to ... - (TARGET_Z16): ... this. - (TARGET_ARCH14_P): Rename to ... - (TARGET_Z16_P): ... this. - * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and - check TARGET_Z16 instead of TARGET_ARCH14. - * config/s390/s390.opt: Add z16 to processor_type. - * doc/invoke.texi: Document z16 and arch14. - -2022-04-12 chenglulu <chenglulu@loongson.cn> - - * config/loongarch/loongarch.cc: Fix bug for - tmpdir-g++.dg-struct-layout-1/t033. - -2022-04-11 Peter Bergner <bergner@linux.ibm.com> - - PR target/104894 - * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls - to longcall functions. - -2022-04-11 Jason Merrill <jason@redhat.com> - - * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos. - -2022-04-11 Segher Boessenkool <segher@kernel.crashing.org> - - PR target/105213 - PR target/103623 - * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative. - -2022-04-11 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105218 - * tree-ssa-phiopt.cc (value_replacement): If middle_bb has - more than one predecessor or phi's bb more than 2 predecessors, - reset phi result uses instead of adding a debug temp. - -2022-04-11 Kito Cheng <kito.cheng@sifive.com> - - PR target/104853 - * config.gcc: Pass -misa-spec to arch-canonicalize and - multilib-generator. - * config/riscv/arch-canonicalize: Adding -misa-spec option. - (SUPPORTED_ISA_SPEC): New. - (arch_canonicalize): New argument `isa_spec`. - Handle multiple ISA spec versions. - * config/riscv/multilib-generator: Adding -misa-spec option. - -2022-04-11 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/arch-canonicalize: Add TODO item. - (IMPLIED_EXT): Sync. - (arch_canonicalize): Checking until no change. - -2022-04-11 Tamar Christina <tamar.christina@arm.com> - - PR target/105197 - * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when - not masked. - -2022-04-11 Jason Merrill <jason@redhat.com> - - PR c++/100370 - * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require - deref == -1. - -2022-04-11 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104639 - * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h. - (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3 - into x != cst3. - -2022-04-11 Jeff Law <jeffreyalaw@gmail.com> - - * config/bfin/bfin.md (rol_one): Fix pattern to indicate the - sign bit of the source ends up in CC. - -2022-04-09 Jan Hubicka <hubicka@ucw.cz> - - PR ipa/103376 - * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition - flag. - -2022-04-09 Jan Hubicka <hubicka@ucw.cz> - - * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate - nondeterministic and side_effects flags. - -2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR target/105157 - * config.gcc: Shift ext_mask by TARGET_CPU_NBITS. - * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro. - (TARGET_CPU_MASK): Likewise. - (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS. - * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK. - (aarch64_get_arch): Likewise. - (aarch64_override_options): Use TARGET_CPU_NBITS. - -2022-04-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105198 - * tree-predcom.cc (find_looparound_phi): Check whether - the found memory location of the entry value is clobbered - inbetween the value we want to use and loop entry. - -2022-04-08 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105189 - * fold-const.cc (make_range_step): Fix up handling of - (unsigned) x +[low, -] ranges for signed x if low fits into - typeof (x). - -2022-04-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105175 - * tree-vect-stmts.cc (vectorizable_operation): Suppress - -Wvector-operation-performance if using emulated vectors. - * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose - -Wvector-operation-performance when suppressed. - (expand_vector_parallel): Likewise. - (expand_vector_comparison): Likewise. - (expand_vector_condition): Likewise. - (lower_vec_perm): Likewise. - (expand_vector_conversion): Likewise. - -2022-04-07 Tamar Christina <tamar.christina@arm.com> - - PR target/104409 - * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New. - (aarch64_general_init_builtins): Move LS64 code. - * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support - arm_acle.h - * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New. - * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h". - -2022-04-07 Richard Biener <rguenther@suse.de> - Jan Hubicka <hubicka@ucw.cz> - - PR ipa/104303 - * tree-ssa-alias.h (ptr_deref_may_alias_global_p, - ref_may_alias_global_p, ref_may_alias_global_p, - stmt_may_clobber_global_p, pt_solution_includes_global): Add - bool parameters indicating whether escaped locals should be - considered global. - * tree-ssa-structalias.cc (pt_solution_includes_global): - When the new escaped_nonlocal_p flag is true also consider - pt->vars_contains_escaped. - * tree-ssa-alias.cc (ptr_deref_may_alias_global_p): - Pass down new escaped_nonlocal_p flag. - (ref_may_alias_global_p): Likewise. - (stmt_may_clobber_global_p): Likewise. - (ref_may_alias_global_p_1): Likewise. For decls also - query the escaped solution if true. - (ref_may_access_global_memory_p): Remove. - (modref_may_conflict): Use ref_may_alias_global_p with - escaped locals considered global. - (ref_maybe_used_by_stmt_p): Adjust. - * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p): - Likewise. - * tree-ssa-dse.cc (dse_classify_store): Likewise. - * trans-mem.cc (thread_private_new_memory): Likewise, but - consider escaped locals global. - * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise. - -2022-04-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105185 - * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify - modref query again. - -2022-04-07 Tamar Christina <tamar.christina@arm.com> - - PR target/104049 - * config/aarch64/aarch64-simd.md - (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to... - (reduc_plus_scal_<mode>): ... This. - (reduc_plus_scal_v4sf): Moved. - (aarch64_reduc_plus_internalv2si): Fix RTL and rename to... - (reduc_plus_scal_v2si): ... This. - -2022-04-07 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/102586 - * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base - langhook. - * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define. - (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it. - * gimple-fold.cc (clear_padding_type): Use ftype instead of - TREE_TYPE (field) some more. For artificial FIELD_DECLs without - name try the lang_hooks.types.classtype_as_base langhook and - if it returns non-NULL, use that instead of ftype for recursive call. - -2022-04-07 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105150 - * tree.cc (tree_builtin_call_types_compatible_p): New function. - (get_call_combined_fn): Use it. - -2022-04-07 Richard Biener <rguenther@suse.de> - - PR middle-end/105165 - * tree-complex.cc (expand_complex_asm): Sorry for asm goto - _Complex outputs. - -2022-04-07 liuhongt <hongtao.liu@intel.com> - - * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask): - Removed. - (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns - for mask_applied. - (<code><mode>3<mask_name>): Ditto. - (*<code><mode>3<mask_name>): Ditto. - (VFB_128_256): Adjust condition of V8HF/V16HFmode according to - real instruction. - (VFB_512): Ditto. - (VFB): Ditto. - -2022-04-06 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/104985 - * combine.cc (struct undo): Add where.regno member. - (do_SUBST_MODE): Rename to ... - (subst_mode): ... this. Change first argument from rtx * into int, - operate on regno_reg_rtx[regno] and save regno into where.regno. - (SUBST_MODE): Remove. - (try_combine): Use subst_mode instead of SUBST_MODE, change first - argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use - regno_reg_rtx[undo->where.regno] instead of *undo->where.r. - (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno] - instead of *undo->where.r. - (simplify_set): Use subst_mode instead of SUBST_MODE, change first - argument from regno_reg_rtx[whatever] to whatever. - -2022-04-06 Jakub Jelinek <jakub@redhat.com> - - PR target/105069 - * config/sh/sh.opt (mdiv=): Add Save. - -2022-04-06 Martin Liska <mliska@suse.cz> - - PR driver/105096 - * common.opt: Document properly based on what it does. - * gcc.cc (display_help): Unify with what we have in common.opt. - * opts.cc (common_handle_option): Do not print undocumented - options. - -2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang> - - * config/mips/mips.cc (mips_fpr_return_fields): Ignore - cxx17_empty_base_field_p fields and set an indicator. - (mips_return_in_msb): Adjust for mips_fpr_return_fields change. - (mips_function_value_1): Inform psABI change about C++17 empty - bases. - -2022-04-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105150 - * gimple.cc (gimple_builtin_call_types_compatible_p): Use - builtin_decl_explicit here... - (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than - here. - -2022-04-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105173 - * tree-ssa-reassoc.cc (find_insert_point): Get extra - insert_before output argument and compute it. - (insert_stmt_before_use): Adjust. - (rewrite_expr_tree): Likewise. - -2022-04-06 Richard Biener <rguenther@suse.de> - - PR ipa/105166 - * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail - out for non-pointer arguments. - -2022-04-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105163 - * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating - negated abnormals. - -2022-04-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105150 - * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn): - For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p - preferrably on builtin_decl_explicit decl rather than fndecl. - * tree-ssa-strlen.cc (valid_builtin_call): Don't call - gimple_builtin_call_types_compatible_p here. - -2022-04-06 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/103761 - * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace - the ncopies parameter with an slp_node parameter. Calculate the - number of vectors based on it and vectype. Rename lambda to - group_memory_nvectors. - (vectorizable_store, vectorizable_load): Update calls accordingly. - -2022-04-06 Martin Liska <mliska@suse.cz> - - * doc/invoke.texi: Document it. - -2022-04-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105148 - * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands - 2 and 3 of ARRAY_REFs. - -2022-04-06 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI. - (*andnottf3): Replace with... - (*andnot<mode>3): New define_insn using ANDNOT_MODE. - -2022-04-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105142 - * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted - basic-block parameter. - (maybe_fold_or_comparisons): Likewise. - * gimple-fold.cc (follow_outer_ssa_edges): New. - (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges - when an outer condition basic-block is specified. - (and_comparisons_1, and_var_with_comparison, - and_var_with_comparison_1, or_comparisons_1, - or_var_with_comparison, or_var_with_comparison_1): Receive and pass - down the outer condition basic-block. - * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the - basic-block of the outer condition. - -2022-04-06 Kewen Lin <linkw@linux.ibm.com> - - PR target/105002 - * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more - comparison codes UNLT/UNLE/UNGT/UNGE. - -2022-04-05 David Malcolm <dmalcolm@redhat.com> - - * doc/extend.texi (Common Function Attributes): Document that - 'access' does not imply 'nonnull'. - -2022-04-05 Uroš Bizjak <ubizjak@gmail.com> - - PR target/105139 - * config/i386/mmx.md (*movv2qi_internal): - Change insn mode of alternative 5 to HF for TARGET_AVX512FP16. - -2022-04-05 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a - define_expand and turn operands 0 and 1 from REGs to MEMs. - (*aarch64_cpymemdi): New pattern. - (aarch64_setmemdi): Turn into a define_expand and turn operand 0 - from a REG to a MEM. - (*aarch64_setmemdi): New pattern. - * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use - copy_to_mode_reg on all three registers. Replace the original - MEM addresses rather than creating wild reads and writes. - (aarch64_expand_setmem_mops): Likewise for the size and for the - destination memory and address. - -2022-04-05 Richard Sandiford <richard.sandiford@arm.com> - - PR target/103147 - * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class. - * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit - from aarch64_simd_switcher. - * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes): - New variable. - (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE. - (register_tuple_type): Add more asserts. Expect the alignment - of the structure to be subject to flag_pack_struct and - maximum_field_alignment. Set aarch64_simd_tuple_modes. - (aarch64_simd_switcher::aarch64_simd_switcher): New function. - (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise. - (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout. - (aarch64_general_init_builtins): Hold an aarch64_simd_switcher - while calling aarch64_init_simd_builtins. - * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher) - (sve_switcher::~sve_switcher): Remove code now performed by - aarch64_simd_switcher. - -2022-04-05 Richard Sandiford <richard.sandiford@arm.com> - - PR target/104897 - * config/aarch64/aarch64-sve-builtins.cc - (function_resolver::infer_vector_or_tuple_type): Use error_n - for "%d vectors" messages. - -2022-04-05 Chung-Lin Tang <cltang@codesourcery.com> - - * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as - argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from - current clause. - -2022-04-05 Richard Biener <rguenther@suse.de> - - PR c/105151 - * passes.def (pass_walloca): Move early instance into - pass_build_ssa_passes to make SSA form available. - -2022-04-05 liuhongt <hongtao.liu@intel.com> - - PR target/101908 - * config/i386/i386.cc (ix86_split_stlf_stall_load): New - function - (ix86_reorg): Call ix86_split_stlf_stall_load. - * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New - param. - -2022-04-05 Alexandre Oliva <oliva@adacore.com> - - * targhooks.cc (default_zero_call_used_regs): Attempt to group - regs that the target refuses to use in their natural modes. - (zcur_select_mode_rtx): New. - * regs.h (struct target_regs): Add x_hard_regno_max_nregs. - (hard_regno_max_nregs): Define. - * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs. - -2022-04-04 Alex Coplan <alex.coplan@arm.com> - - * doc/match-and-simplify.texi: Fix typos. - -2022-04-04 Jakub Jelinek <jakub@redhat.com> - - PR target/105144 - * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change - only if configured with --enable-maintainer-mode, otherwise compare - tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and - if they differ, emit a message and fail. - -2022-04-04 Jakub Jelinek <jakub@redhat.com> - - PR target/105144 - * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md. - * config/aarch64/aarch64-tune.md: Regenerated. - -2022-04-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105132 - * tree-vect-stmts.cc (vectorizable_operation): Check that - the input vectors have the same number of elements. - -2022-04-04 Richard Biener <rguenther@suse.de> - - PR middle-end/105140 - * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg. - -2022-04-03 Jeff Law <jeffreyalaw@gmail.com> - - PR target/104987 - * config/iq2000/iq2000.md (bbi): New attribute, default to no. - (delay slot descripts): Use different delay slot description when - the insn as the "bbi" attribute. - (bbi, bbin patterns): Set the bbi attribute to yes. - -2022-04-03 Jakub Jelinek <jakub@redhat.com> - - PR target/105123 - * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid - using word as target for expand_simple_binop when doing ASHIFT and - IOR. - -2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang> - - * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is - NULL before dereferencing it. - -2022-04-01 Qing Zhao <qing.zhao@oracle.com> - - * config/i386/i386.cc (zero_all_st_registers): Return the value of - num_of_st. - (ix86_zero_call_used_regs): Update zeroed_hardregs set according to - the return value of zero_all_st_registers. - * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS. - * function.cc (gen_call_used_regs_seq): Add an assertion. - * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS. - -2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang> - - PR target/102024 - * config/mips/mips.cc (mips_function_arg): Ignore zero-width - fields, and inform if it causes a psABI change. - -2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang> - - PR target/102024 - * config/mips/mips.cc (mips_fpr_return_fields): Detect C++ - zero-width bit-fields and set up an indicator. - (mips_return_in_msb): Adapt for mips_fpr_return_fields change. - (mips_function_value_1): Diagnose when the presense of a C++ - zero-width bit-field changes function returning in GCC 12. - -2022-04-01 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104645 - * tree-ssa-phiopt.cc (value_replacement): If assign has - CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation - statement with constant evaluation. - -2022-04-01 YunQiang Su <yunqiang.su@cipunited.com> - - * config/mips/mips.cc (mips_expand_prologue): - IPL is 8bit for MCU ASE. - -2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com> - - PR target/104004 - * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft. - (MTFSB0): Likewise. - (MTFSB1): Likewise. - (SET_FPSCR_RN): Likewise. - (SET_FPSCR_DRN): Mark nosoft and no32bit. - -2022-03-31 Thomas Schwinge <thomas@codesourcery.com> - - * doc/options.texi (Option file format): Clarifications around - option definition records' help texts. - -2022-03-31 Thomas Schwinge <thomas@codesourcery.com> - - * optc-gen.awk <END>: Fix "Multiple different help strings" error - diagnostic. - -2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/aarch64/aarch64.cc (aarch64_vector_costs): Define - determine_suggested_unroll_factor and m_has_avg. - (determine_suggested_unroll_factor): New function. - (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern - to set m_nosve_pattern. - (aarch64_vector_costs::finish_costs): Use - determine_suggested_unroll_factor. - * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New. - * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option. - -2022-03-31 Martin Jambor <mjambor@suse.cz> - - PR ipa/103083 - * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null; - (ipa_get_jf_ancestor_keep_null): New function. - * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the - ancestor function. - (compute_complex_assign_jump_func): Pass false to keep_null - parameter of ipa_set_ancestor_jf. - (compute_complex_ancestor_jump_func): Pass true to keep_null - parameter of ipa_set_ancestor_jf. - (update_jump_functions_after_inlining): Carry over keep_null from the - original ancestor jump-function or merge them. - (ipa_write_jump_function): Stream keep_null flag. - (ipa_read_jump_function): Likewise. - (ipa_print_node_jump_functions_for_edge): Print the new flag. - * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New - member function known_nonzero_p. - (ipcp_bits_lattice::known_nonzero_p): New. - (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones, - observe it. - (ipcp_bits_lattice::meet_with): Likewise. - (propagate_bits_across_jump_function): Simplify. Pass true in - drop_all_ones when it is necessary. - (propagate_aggs_across_jump_function): Take care of keep_null - flag. - (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null - jump functions. - -2022-03-31 Martin Jambor <mjambor@suse.cz> - - PR ipa/102513 - * ipa-cp.cc (decide_whether_version_node): Skip scalar values - which do not fit the known value_range. - -2022-03-31 Martin Jambor <mjambor@suse.cz> - - PR ipa/103171 - * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference - always when an ADDR_EXPR constant is known to reach a load because - of inlining, not just when removing an ADDR reference. - -2022-03-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105109 - * tree-ssa.cc (execute_update_addresses_taken): Suppress - diagnostics on the load of the other complex component. - -2022-03-31 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30. - -2022-03-31 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/105091 - * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF - bases. - -2022-03-31 Richard Biener <rguenther@suse.de> - - Revert: - 2021-09-13 Richard Earnshaw <rearnsha@arm.com> - - PR target/102125 - * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding - memcpy if the size is not more than MOVE_MAX * MOVE_RATIO. - -2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * gcov-io.cc (gcov_read_string): Reword documentation comment. - -2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec] - stanza. - (NEG_V4SF): Likewise. - (NEG_V4SI): Likewise. - (NEG_V8HI): Likewise. - (NEG_V2DF): Move to [vsx] stanza. - (NEG_V2DI): Likewise. - -2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com> - - PR middle-end/105032 - * lra-assigns.cc (find_reload_regno_insns): Modify loop condition. - -2022-03-30 Tom de Vries <tdevries@suse.de> - Tobias Burnus <tobias@codesourcery.com> - - * doc/invoke.texi (march): Document __PTX_SM__. - (mptx): Document __PTX_ISA_VERSION_MAJOR__ and - __PTX_ISA_VERSION_MINOR__. - -2022-03-30 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/105093 - * ubsan.cc (instrument_object_size): If t is equal to inner and - is a decl other than global var, punt. When emitting call to - UBSAN_OBJECT_SIZE ifn, make sure base is addressable. - -2022-03-30 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105094 - * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if - bitsize <= 0 rather than just == 0. - -2022-03-30 Tom de Vries <tdevries@suse.de> - - * doc/invoke.texi (misa, mptx): Update. - (march, march-map): Add. - -2022-03-30 Thomas Schwinge <thomas@codesourcery.com> - - * opt-functions.awk (n_args): New function. - (lang_enabled_by): Merge function into... - * optc-gen.awk <END>: ... sole user here. - Improve diagnostics. - -2022-03-29 Marek Polacek <polacek@redhat.com> - Jakub Jelinek <jakub@redhat.com> - - PR middle-end/103597 - * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps - into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P. - (gimplify_cond_expr): Set UNUSED_LABEL_P. - * tree.h (UNUSED_LABEL_P): New. - -2022-03-29 Michael Meissner <meissner@linux.ibm.com> - - * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to - be any VSX register. - -2022-03-29 Richard Earnshaw <rearnsha@arm.com> - - PR target/102024 - * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle - zero-sized bit-fields. Detect cases where a warning may be needed. - (aarch64_vfp_is_call_or_return_candidate): Emit a note if a - zero-sized bit-field has caused parameter passing to change. - -2022-03-29 Richard Earnshaw <rearnsha@arm.com> - - PR target/102024 - * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized - bit-fields. Detect cases where a warning may be needed. - (aapcs_vfp_is_call_or_return_candidate): Emit a note if - a zero-sized bit-field has caused parameter passing to change. - -2022-03-29 Richard Earnshaw <rearnsha@arm.com> - - PR target/96882 - * config/arm/arm.cc (arm_get_pcs_model): Disable selection of - ARM_PCS_AAPCS_LOCAL. - -2022-03-29 Tom de Vries <tdevries@suse.de> - - PR target/104857 - * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit - __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__. - * config/nvptx/nvptx.cc (ptx_version_to_number): New function. - * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare. - -2022-03-29 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.opt (m64): Update help text to reflect that it - is ignored. - -2022-03-29 Tom de Vries <tdevries@suse.de> - - PR target/104714 - * config/nvptx/nvptx.opt (march-map=*): Add aliases. - -2022-03-29 Jan Hubicka <hubicka@ucw.cz> - - * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test - TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS. - * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro. - (TARGET_USE_GATHER_4PARTS): New macro. - * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune - (X86_TUNE_USE_GATHER_4PARTS): New tune - -2022-03-29 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.opt (march): Add alias of misa. - -2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> - Lulu Cheng <chenglulu@loongson.cn> - - * doc/install.texi: Add LoongArch options section. - * doc/invoke.texi: Add LoongArch options section. - * doc/md.texi: Add LoongArch options section. - -2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> - Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch-c.cc - -2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> - Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/larchintrin.h: New file. - * config/loongarch/loongarch-builtins.cc: New file. - -2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> - Lulu Cheng <chenglulu@loongson.cn> - - * config/host-linux.cc: Add LoongArch support. - * config/loongarch/loongarch-protos.h: New file. - * config/loongarch/loongarch-tune.h: Likewise. - * config/loongarch/loongarch.cc: Likewise. - * config/loongarch/loongarch.h: Likewise. - -2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> - Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/constraints.md: New file. - * config/loongarch/generic.md: New file. - * config/loongarch/la464.md: New file. - * config/loongarch/loongarch-ftypes.def: New file. - * config/loongarch/loongarch-modes.def: New file. - * config/loongarch/loongarch.md: New file. - * config/loongarch/predicates.md: New file. - * config/loongarch/sync.md: New file. - -2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> - Lulu Cheng <chenglulu@loongson.cn> - - * configure: Regenerate file. - -2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> - Lulu Cheng <chenglulu@loongson.cn> - - * common/config/loongarch/loongarch-common.cc: New file. - * config/loongarch/genopts/genstr.sh: New file. - * config/loongarch/genopts/loongarch-strings: New file. - * config/loongarch/genopts/loongarch.opt.in: New file. - * config/loongarch/loongarch-str.h: New file. - * config/loongarch/gnu-user.h: New file. - * config/loongarch/linux.h: New file. - * config/loongarch/loongarch-cpu.cc: New file. - * config/loongarch/loongarch-cpu.h: New file. - * config/loongarch/loongarch-def.c: New file. - * config/loongarch/loongarch-def.h: New file. - * config/loongarch/loongarch-driver.cc: New file. - * config/loongarch/loongarch-driver.h: New file. - * config/loongarch/loongarch-opts.cc: New file. - * config/loongarch/loongarch-opts.h: New file. - * config/loongarch/loongarch.opt: New file. - * config/loongarch/t-linux: New file. - * config/loongarch/t-loongarch: New file. - * config.gcc: Add LoongArch support. - * configure.ac: Add LoongArch support. - -2022-03-29 Thomas Schwinge <thomas@codesourcery.com> - - * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs' - typo. - -2022-03-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105080 - * tree-ssa-strlen.cc (printf_strlen_execute): Always init - loops and SCEV. - -2022-03-28 Indu Bhagat <indu.bhagat@oracle.com> - - * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead. - (output_ctf_vars): Likewise. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/59426 - * doc/extend.texi: Refer to __is_trivial instead of __is_pod. - -2022-03-28 H.J. Lu <hjl.tools@gmail.com> - - PR target/105068 - * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with - "Yw" in clobber. - -2022-03-28 Tom de Vries <tdevries@suse.de> - - PR target/104818 - * config/nvptx/gen-opt.sh (ptx_isa): Improve help text. - * config/nvptx/nvptx-gen.opt: Regenerate. - * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text. - * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on - gen-opt.sh. - -2022-03-28 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104308 - * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing - to loads then stores, set the location of the new load stmt. - -2022-03-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105070 - * tree-switch-conversion.h - (bit_test_cluster::hoist_edge_and_branch_if_true): Add location - argument. - * tree-switch-conversion.cc - (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate - cond with location. - (bit_test_cluster::emit): Annotate all generated expressions - with location. - -2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry. - -2022-03-28 liuhongt <hongtao.liu@intel.com> - - PR target/105066 - * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of - alternative 4 from sse4_noavx to noavx. - -2022-03-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105056 - * tree-predcom.cc (component::component): Initialize also comp_step. - -2022-03-27 H.J. Lu <hjl.tools@gmail.com> - - PR target/105068 - * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with - "Yw". - -2022-03-26 Roger Sayle <roger@nextmovesoftware.com> - - PR middle-end/104885 - * calls.cc (mark_stack_region_used): Check that the region - is within the allocated size of stack_usage_map. - -2022-03-26 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/103775 - * recog.cc (check_invalid_inc_dec): New function. - (insn_invalid_p): Return 1 if REG_INC operand overlaps - any stored REGs. - -2022-03-26 H.J. Lu <hjl.tools@gmail.com> - - PR target/105058 - * config/i386/sse.md (loadiwkey): Replace "v" with "x". - (aes<aesklvariant>u8): Likewise. - -2022-03-26 H.J. Lu <hjl.tools@gmail.com> - - PR target/105052 - * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3): - Replace "Yv" with "x". - (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise. - (ssse3_psign<mode>3): Likewise. - -2022-03-26 Hans-Peter Nilsson <hp@axis.com> - - * reload.cc (find_reloads): Align comment with code where - considering the intersection of register classes then tweaking the - regclass for the current alternative or rejecting it. - -2022-03-25 Christophe Lyon <christohe.lyon@arm.com> - - PR target/104882 - Revert - 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete. - (mve_vec_unpack<US>_hi_<mode>): Delete. - (@mve_vec_pack_trunc_lo_<mode>): Delete. - (mve_vmovntq_<supf><mode>): Remove '@' prefix. - * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back - from vec-common.md. - (vec_unpack<US>_lo_<mode>): Likewise. - (vec_pack_trunc_<mode>): Rename from - neon_quad_vec_pack_trunc_<mode>. - * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete. - (vec_unpack<US>_lo_<mode>): Delete. - (vec_pack_trunc_<mode>): Delete. - -2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com> - - PR middle-end/104971 - * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard - regs to clear remove_p flag. - -2022-03-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105053 - * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick - the correct live-out stmt for a reduction chain. - -2022-03-25 Richard Biener <rguenther@suse.de> - - PR middle-end/105049 - * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or - CONSTRUCTOR first elements. - -2022-03-25 Tobias Burnus <tobias@codesourcery.com> - - PR analyzer/103533 - * doc/invoke.texi (Static Analyzer Options): Move - @ignore block after @gccoptlist's '}' for 'make pdf'. - -2022-03-25 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104954 - * doc/invoke.texi (Static Analyzer Options): Add - -fdump-analyzer-untracked. - -2022-03-25 Avinash Sonawane <rootkea@gmail.com> - - PR analyzer/103533 - * doc/invoke.texi: Document that enabling taint analyzer - checker disables some warnings from `-fanalyzer`. - -2022-03-24 Alexandre Oliva <oliva@adacore.com> - - PR debug/104564 - * gimple-harden-conditionals.cc (detach_value): Keep temps - anonymous. - -2022-03-24 Alexandre Oliva <oliva@adacore.com> - - PR middle-end/104975 - * gimple-harden-conditionals.cc - (pass_harden_compares::execute): Force split in case of - multiple edges. - -2022-03-24 Jakub Jelinek <jakub@redhat.com> - - PR c++/105035 - * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either - field0 or field1 is not a FIELD_DECL, return false. - -2022-03-24 Richard Biener <rguenther@suse.de> - - * tree-predcom.cc (chain::chain): Add CTOR. - (component::component): Likewise. - (pcom_worker::release_chain): Use delete. - (release_components): Likewise. - (pcom_worker::filter_suitable_components): Likewise. - (pcom_worker::split_data_refs_to_components): Use new. - (make_invariant_chain): Likewise. - (make_rooted_chain): Likewise. - (pcom_worker::combine_chains): Likewise. - * tree-vect-loop.cc (vect_create_epilog_for_reduction): - Make sure to release previously constructed scalar_results. - * tree-vect-stmts.cc (vectorizable_load): Use auto_vec - for vec_offsets. - * vr-values.cc (simplify_using_ranges::~simplify_using_ranges): - Release m_flag_set_edges. - -2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR tree-optimization/104970 - * tree-object-size.cc (parm_object_size): Restrict size - computation scenarios to explicit access attributes. - -2022-03-24 Kewen Lin <linkw@linux.ibm.com> - - PR target/104967 - * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null - function types. - -2022-03-23 Richard Biener <rguenther@suse.de> - - PR target/102125 - * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the - use of movmisalign when either the source or destination - decl is properly aligned. - -2022-03-23 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/105028 - * ira-color.cc (form_threads_from_copies): Remove unnecessary - copying of the sorted_copies tail. - -2022-03-23 Martin Liska <mliska@suse.cz> - - * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): - Use %qs in format. - * config/rs6000/rs6000.cc (rs6000_option_override_internal): - Reword the error message. - -2022-03-23 liuhongt <hongtao.liu@intel.com> - - PR target/104976 - * config/i386/sse.md (ssePSmodelower): New. - (*avx_cmp<mode>3_ltint_not): Force_reg operand before - lowpart_subreg to avoid NULL_RTX. - (<avx512>_fmaddc_<mode>_mask1<round_expand_name>, - <avx512>_fcmaddc_<mode>_mask1<round_expand_name>, - fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst, - <avx512>_<complexopname>_<mode>_mask<round_name>, - avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>, - avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>, - avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>, - avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>, - float<floatunssuffix><mode>v4hf2, - float<floatunssuffix>v2div2hf2, - fix<fixunssuffix>_truncv4hf<mode>2, - fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2, - extendv2hfv2df2, - trunc<mode>v4hf2,truncv2dfv2hf2, - *avx512bw_permvar_truncv16siv16hi_1, - *avx512bw_permvar_truncv16siv16hi_1_hf, - *avx512f_permvar_truncv8siv8hi_1, - *avx512f_permvar_truncv8siv8hi_1_hf, - *avx512f_vpermvar_truncv8div8si_1, - *avx512f_permvar_truncv32hiv32qi_1, - *avx512f_permvar_truncv16hiv16qi_1, - *avx512f_permvar_truncv4div4si_1, - *avx512f_pshufb_truncv8hiv8qi_1, - *avx512f_pshufb_truncv4siv4hi_1, - *avx512f_pshufd_truncv2div2si_1, - sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1, - ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto. - -2022-03-22 Tom de Vries <tdevries@suse.de> - - PR target/104925 - * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"): - Use % as register prefix. - -2022-03-22 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p) - (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for - mexperimental. - -2022-03-22 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.opt (mexperimental): New option. - -2022-03-22 Tom de Vries <tdevries@suse.de> - - PR target/104957 - * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare. - * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker - for alias. - (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def. - (nvptx_asm_output_def_from_decls): New function. - * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to - gcc_unreachable (). - (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to - nvptx_asm_output_def_from_decls. - * config/nvptx/nvptx.opt (malias): New opt. - -2022-03-22 Tom de Vries <tdevries@suse.de> - - PR target/104916 - PR target/104783 - * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp - sync (or uniform warp check for mptx < 6.0). - -2022-03-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105012 - * tree-if-conv.cc (ifcvt_local_dce): Only call - dse_classify_store when we have a VDEF. - -2022-03-22 Martin Liska <mliska@suse.cz> - - PR target/104902 - * config/nvptx/nvptx.cc (handle_ptx_version_option): - Fix option wrapping in an error message. - -2022-03-22 Martin Liska <mliska@suse.cz> - - PR target/104903 - * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): - Wrap const keyword. - -2022-03-22 Martin Liska <mliska@suse.cz> - - * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma - name. - -2022-03-22 Martin Liska <mliska@suse.cz> - - PR target/104898 - * config/rs6000/rs6000.cc (rs6000_option_override_internal): - Use %qs instead of (%qs). - -2022-03-22 Martin Liska <mliska@suse.cz> - - PR target/104898 - * config/i386/i386-options.cc (ix86_option_override_internal): - Use '%qs' instead of '(%qs)'. - -2022-03-22 Martin Liska <mliska@suse.cz> - - PR target/104898 - * config/aarch64/aarch64.cc (aarch64_handle_attr_arch): - Use 'qs' and remove usage '(%qs)'. - (aarch64_handle_attr_cpu): Likewise. - (aarch64_handle_attr_tune): Likewise. - (aarch64_handle_attr_isa_flags): Likewise. - -2022-03-22 Tamar Christina <tamar.christina@arm.com> - Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning - struct. - (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int - cost. - (neoverse512tvb_tunings): Likewise. - -2022-03-22 Tamar Christina <tamar.christina@arm.com> - Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/aarch64/aarch64.cc (demeter_addrcost_table, - demeter_regmove_cost, demeter_advsimd_vector_cost, - demeter_sve_vector_cost, demeter_scalar_issue_info, - demeter_advsimd_issue_info, demeter_sve_issue_info, - demeter_vec_issue_info, demeter_vector_cost, - demeter_tunings): New tuning structs. - (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter - tuning. - * config/aarch64/aarch64-cores.def: Add entry for demeter. - * config/aarch64/aarch64-tune.md (tune): Add demeter to list. - -2022-03-22 Tamar Christina <tamar.christina@arm.com> - Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct. - (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost. - * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all - tunings to use cpu_memmov_cost struct. - -2022-03-22 Tamar Christina <tamar.christina@arm.com> - Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/aarch64/aarch64.cc (neoversen2_addrcost_table, - neoversen2_regmove_cost, neoversen2_advsimd_vector_cost, - neoversen2_sve_vector_cost, neoversen2_scalar_issue_info, - neoversen2_advsimd_issue_info, neoversen2_sve_issue_info, - neoversen2_vec_issue_info, neoversen2_tunings): New structs. - (neoversen2_tunings): Use new structs and update tuning flags. - (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2 - tuning. - -2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature - bit. - -2022-03-22 liuhongt <hongtao.liu@intel.com> - - PR target/104982 - * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the - following splitter to reversed condition. - -2022-03-22 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/104989 - * calls.cc (expand_call): Don't set ECF_NORETURN in flags after - sorry for passing too large argument, instead set sibcall_failure - for pass == 0, or a new normal_failure flag otherwise. If - normal_failure is set, don't assert all stack has been deallocated - at the end and throw away the whole insn sequence. - -2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com> - - * print-tree.cc: Change array length - -2022-03-22 Hongyu Wang <hongyu.wang@intel.com> - - PR target/104978 - * config/i386/sse.md - (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name): - Use avx512f_movsf_mask instead of vmovaps or vblend, and - force_reg before lowpart_subreg. - (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise. - -2022-03-21 H.J. Lu <hjl.tools@gmail.com> - - PR target/105000 - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace - OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET. - -2022-03-21 H.J. Lu <hjl.tools@gmail.com> - - PR target/104998 - * common/config/i386/cpuinfo.h (get_available_features): Pass - 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if - bit_AESKLE is set. - -2022-03-21 Richard Sandiford <richard.sandiford@arm.com> - - PR middle-end/104869 - * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare. - (clobber_group::next_clobber): Likewise. - (def_lookup::prev_def): Rename to... - (def_lookup::last_def_of_prev_group): ...this. - (def_lookup::next_def): Rename to... - (def_lookup::first_def_of_next_group): ...this. - (def_lookup::matching_or_prev_def): Rename to... - (def_lookup::matching_set_or_last_def_of_prev_group): ...this. - (def_lookup::matching_or_next_def): Rename to... - (def_lookup::matching_set_or_first_def_of_next_group): ...this. - (def_lookup::prev_def): New function, taking the lookup insn as - argument. - (def_lookup::next_def): Likewise. - * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to... - (def_lookup::last_def_of_prev_group): ...this. - (def_lookup::next_def): Rename to... - (def_lookup::first_def_of_next_group): ...this. - (def_lookup::matching_or_prev_def): Rename to... - (def_lookup::matching_set_or_last_def_of_prev_group): ...this. - (def_lookup::matching_or_next_def): Rename to... - (def_lookup::matching_set_or_first_def_of_next_group): ...this. - * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after - above renaming. - * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function. - (clobber_group::next_clobber): Likewise. - (def_lookup::prev_def): Likewise. - (def_lookup::next_def): Likewise. - (function_info::make_use_available): Pass the lookup insn to - def_lookup::prev_def and def_lookup::next_def. - -2022-03-21 Martin Liska <mliska@suse.cz> - - * doc/invoke.texi: Document min-pagesize parameter. - -2022-03-21 Richard Biener <rguenther@suse.de> - - * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump - we are estimating niter of loop. - -2022-03-21 Kito Cheng <kito.cheng@sifive.com> - - * common/config/riscv/riscv-common.cc (riscv_ext_flag_table): - Update flag name and mask name. - * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define - misc macro for vector extensions. - * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ... - (MASK_VECTOR_ELEN_32): ... this. - (MASK_VECTOR_EEW_64): Rename to ... - (MASK_VECTOR_ELEN_64): ... this. - (MASK_VECTOR_EEW_FP_32): Rename to ... - (MASK_VECTOR_ELEN_FP_32): ... this. - (MASK_VECTOR_EEW_FP_64): Rename to ... - (MASK_VECTOR_ELEN_FP_64): ... this. - (TARGET_VECTOR_ELEN_32): New. - (TARGET_VECTOR_ELEN_64): Ditto. - (TARGET_VECTOR_ELEN_FP_32): Ditto. - (TARGET_VECTOR_ELEN_FP_64): Ditto. - (TARGET_MIN_VLEN): Ditto. - * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ... - (riscv_vector_elen_flags): ... this. - -2022-03-21 Hongyu Wang <hongyu.wang@intel.com> - - PR target/104977 - * config/i386/sse.md - (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>): - Correct round operand for intel dialect. - -2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com> - - * diagnostic.cc (diagnostic_cc_tests): Rename to... - (c_diagnostic_cc_tests): ...this. - * opt-problem.cc (opt_problem_cc_tests): Rename to... - (c_opt_problem_cc_tests): ...this. - * selftest-run-tests.cc (selftest::run_tests): No longer run - opt_problem_cc_tests or diagnostic_cc_tests. - * selftest.h (diagnostic_cc_tests): Remove declaration. - (opt_problem_cc_tests): Likewise. - -2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> - - PR jit/63854 - * hash-traits.h (struct typed_const_free_remove): New. - (struct free_string_hash): New. - * pass_manager.h: Use free_string_hash. - * passes.cc (pass_manager::register_pass_name): Use free_string_hash. - (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map. - -2022-03-19 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104971 - * config/i386/i386-expand.cc - (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore, - don't push/pop anything and just return const0_rtx. - -2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/104961 - * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber. - -2022-03-18 Jason Merrill <jason@redhat.com> - - * tree.h (IDENTIFIER_LENGTH): Add comment. - -2022-03-18 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/99578 - PR middle-end/100680 - PR tree-optimization/100834 - * params.opt (--param=min-pagesize=): New parameter. - * pointer-query.cc - (compute_objsize_r) <case ARRAY_REF>: Formatting fix. - (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead - of zero for pointer constants equal or larger than min-pagesize. - -2022-03-18 Tom de Vries <tdevries@suse.de> - - * gimplify.cc (gimplify_omp_for): Set location using 'input_location'. - Set gfor location only when dealing with a OMP_TASKLOOP. - -2022-03-18 Tom de Vries <tdevries@suse.de> - - * gimplify.cc (gimplify_omp_for): Set taskloop location. - -2022-03-18 Tom de Vries <tdevries@suse.de> - - PR target/104952 - * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY - is executed unconditionally. - -2022-03-18 liuhongt <hongtao.liu@intel.com> - - PR target/104974 - * config/i386/i386.md (*movhi_internal): Set attr type from HI - to HF for alternative 12 under TARGET_AVX512FP16. - -2022-03-18 Cui,Lili <lili.cui@intel.com> - - PR target/104963 - * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX. - * doc/invoke.texi: Update documents for Intel sapphirerapids. - -2022-03-17 Roger Sayle <roger@nextmovesoftware.com> - - PR target/86722 - PR tree-optimization/90356 - * config/i386/i386.md (*movtf_internal): Don't guard - standard_sse_constant_p clause by optimize_function_for_size_p. - (*movdf_internal): Likewise. - (*movsf_internal): Likewise. - -2022-03-17 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/102943 - * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via - dominators and apply intermediary outgoing edge ranges. - -2022-03-17 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104960 - * passes.def: Add pass parameter to pass_sink_code, mark - last one to unsplit edges. - * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New. - (pass_sink_code::execute): Always execute TODO_cleanup_cfg - when we need to unsplit edges. - -2022-03-17 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/103984 - * gimplify.cc (gimplify_target_expr): Gimplify type sizes and - TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers - and asan unpoisioning, then append the temporary sequence and - finally the TARGET_EXPR_CLEANUP clobbers. - -2022-03-16 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/sse.md: Delete corrupt character/typo. - -2022-03-16 Roger Sayle <roger@nextmovesoftware.com> - - PR target/94680 - * config/i386/sse.md (sse2_movq128): New define_expand to - preserve previous named instruction. - (*sse2_movq128_<mode>): Renamed from sse2_movq128, and - generalized to VI8F_128 (both V2DI and V2DF). - -2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR tree-optimization/104941 - * tree-object-size.cc (size_for_offset): Make useless conversion - check lighter and assign result of fold_convert to OFFSET. - -2022-03-16 H.J. Lu <hjl.tools@gmail.com> - - PR target/104890 - * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before - pushing target("general-regs-only"). - -2022-03-16 Kito Cheng <kito.cheng@sifive.com> - - * common/config/riscv/riscv-common.cc (riscv_ext_version_table): - Add version info for zk, zks and zkn. - -2022-03-16 LiaoShihua <shihua@iscas.ac.cn> - - * common/config/riscv/riscv-common.cc - (riscv_combine_info): New. - (riscv_subset_list::handle_combine_ext): Combine back into zk to - maintain the canonical order in isa strings. - (riscv_subset_list::parse): Ditto. - * config/riscv/riscv-subset.h (handle_combine_ext): New. - -2022-03-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/102008 - * passes.def: Move the added code sinking pass before the - preceeding phiopt pass. - -2022-03-16 Patrick Palka <ppalka@redhat.com> - - PR c++/96780 - * doc/invoke.texi (C++ Dialect Options): Document - -ffold-simple-inlines. - -2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR tree-optimization/104942 - * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS. - -2022-03-16 Jakub Jelinek <jakub@redhat.com> - - PR target/104910 - * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy - imm rtx. - -2022-03-16 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - * gimple-match-head.cc (single_use): Implement inline using a - single loop. - -2022-03-16 Roger Sayle <roger@nextmovesoftware.com> - - * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p - instead of HONOR_NANS. - (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as - this can't trap/signal. - -2022-03-16 liuhongt <hongtao.liu@intel.com> - - PR target/104946 - * config/i386/i386-builtin.def (BDESC): Add - CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD. - * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold - __builtin_ia32_blendvpd w/o sse4.2 - -2022-03-15 Peter Bergner <bergner@linux.ibm.com> - - PR target/104923 - * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict - acceptable MEM addresses. - -2022-03-15 Jakub Jelinek <jakub@redhat.com> - - PR target/91229 - * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p, - riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0 - to warning calls. - -2022-03-15 Jakub Jelinek <jakub@redhat.com> - - PR target/104890 - * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse - instead of general-regs-only. - -2022-03-15 Roger Sayle <roger@nextmovesoftware.com> - Marc Glisse <marc.glisse@inria.fr> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/101895 - * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def. - (plus (vec_perm (mult ...) ...) ...): New reordering simplification. - -2022-03-15 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/104814 - * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't - end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL. - -2022-03-15 Martin Sebor <msebor@redhat.com> - - PR middle-end/104436 - * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores): - Check for warning suppression. Avoid by-value arguments transformed - into by-transparent-reference. - -2022-03-14 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable - transformation when *zero_extend<mode>si2 is not available. - -2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang> - - * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define. - * config/mips/mips.cc (mips_option_override): Make - -fsanitize=address imply -fasynchronous-unwind-tables. This is - needed by libasan for stack backtrace on MIPS. - (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET. - -2022-03-14 Jakub Jelinek <jakub@redhat.com> - - PR debug/104778 - * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify - SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive - call simplified the first operand into VOIDmode constant. - -2022-03-14 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/102586 - * doc/extend.texi (__builtin_clear_padding): Clearify that for C++ - argument type should be pointer to trivially-copyable type unless it - is address of a variable or parameter. - -2022-03-14 Jakub Jelinek <jakub@redhat.com> - - PR target/99754 - * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into - first rather than last element of the vector, use __m32_u to do - a really unaligned load, use just 0 instead of (int)0. - (_mm_loadu_si16): Put loaded value into first rather than last - element of the vector, use __m16_u to do a really unaligned load, - use just 0 instead of (short)0. - -2022-03-14 Jakub Jelinek <jakub@redhat.com> - - PR other/104899 - * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo - in diagnostic message - cannott -> cannot. Use %< and %> around - names of attribute. Avoid too long line. - * range-op.cc (operator_logical_and::op1_range): Fix up a typo - in comment - cannott -> cannot. Use 2 spaces after . instead of one. - -2022-03-14 liuhongt <hongtao.liu@intel.com> - - PR target/104666 - * config/i386/i386-expand.cc - (ix86_check_builtin_isa_match): New func. - (ix86_expand_builtin): Move code to - ix86_check_builtin_isa_match and call it. - * config/i386/i386-protos.h - (ix86_check_builtin_isa_match): Declare. - * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold - builtin into gimple when isa mismatches. - -2022-03-13 Tobias Burnus <tobias@codesourcery.com> - - * doc/invoke.texi: Fix typos. - * doc/tm.texi.in: Remove duplicated word. - * doc/tm.texi: Regenerate. - -2022-03-12 Segher Boessenkool <segher@kernel.crashing.org> - - PR target/104829 - * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output - "ppc" and "ppc64" based on rs6000_cpu. - -2022-03-12 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100280 - PR middle-end/104892 - * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1): - Remove special handling of 'GOMP_MAP_FORCE_TOFROM'. - -2022-03-12 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100280 - PR middle-end/104086 - * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1): - Mark variables used in 'present' clauses as addressable. - * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully - handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'. - -2022-03-12 Thomas Schwinge <thomas@codesourcery.com> - - PR other/65095 - * tree-core.h (user_omp_claus_code_name): Declare function. - * tree.cc (user_omp_clause_code_name): New function. - -2022-03-12 Roger Sayle <roger@nextmovesoftware.com> - - PR middle-end/98420 - * match.pd (minus @0 @0): Additional checks for -fno-rounding-math - (the defaut) or -fno-signed-zeros. - -2022-03-12 Michael Meissner <meissner@linux.ibm.com> - - PR target/104868 - * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when - moving from a GPR register to an Altivec register. - -2022-03-11 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/98335 - * config/i386/i386.md (peephole2): Eliminate redundant insv. - Combine movl followed by movb. Transform xorl followed by - a suitable movb or movw into the equivalent movz[bw]l. - -2022-03-11 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/98335 - * builtins.cc (get_object_alignment_2): Export. - * builtins.h (get_object_alignment_2): Likewise. - * tree-ssa-alias.cc (ao_ref_alignment): New. - * tree-ssa-alias.h (ao_ref_alignment): Declare. - * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether - to align head/tail, writing more bytes but using fewer store insns. - -2022-03-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104880 - * tree-ssa.cc (execute_update_address_taken): Remember if we - optimistically made something not addressable and - prepare to undo it. - -2022-03-11 Richard Biener <rguenther@suse.de> - - PR target/104762 - * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not - cost the first lane of SSE pieces as inserts for vec_construct. - -2022-03-10 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/84964 - * calls.cc (expand_call): Ignore stack adjustments after sorry. - -2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com> - - PR target/103074 - * lra-constraints.cc (split_reg): Set up - check_and_force_assignment_correctness_p when splitting hard - register live range. - -2022-03-10 Martin Jambor <mjambor@suse.cz> - - PR ipa/104813 - * ipa-cp.cc (create_specialized_node): Move removal of - self-recursive calls from callers vector before refrence - adjustments. - -2022-03-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/102943 - * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec): - Make a bitmap_head. - (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch - to tree view. - (sbr_sparse_bitmap::set_bb_range): Adjust. - (sbr_sparse_bitmap::get_bb_range): Likewise. - -2022-03-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/102943 - * tree-ssa-dom.cc (back_propagate_equivalences): Only - populate the dominance bitmap if fast queries are not - available. Use a tree view bitmap. - (record_temporary_equivalences): Cache the dominance bitmap - across all equivalences on the edge. - -2022-03-10 Tom de Vries <tdevries@suse.de> - - PR target/104840 - * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead - of false,true. - -2022-03-10 Tom de Vries <tdevries@suse.de> - - PR target/104783 - * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate) - (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate. - (nvptx_get_unisimt_outside_simt_predicate): New function. - (predicate_insn): New function, factored out of ... - (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns. - * config/nvptx/nvptx.h (struct machine_function): Add - unisimt_outside_simt_predicate field. - * config/nvptx/nvptx.md (define_insn "nvptx_warpsync") - (define_insn "nvptx_uniform_warp_check"): Make predicable. - -2022-03-10 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused - result. - -2022-03-10 Tom de Vries <tdevries@suse.de> - - PR target/104815 - * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand - modifier. - * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns. - -2022-03-10 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"): - Emit atom.and.b64 instead of atom.b64.and. - -2022-03-10 Tom de Vries <tdevries@suse.de> - - * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ... - (MULTILIB_OPTIONS): ... here. - -2022-03-10 Tom de Vries <tdevries@suse.de> - - PR target/104758 - * config/nvptx/nvptx.opt (misa): Set default to sm_30. - * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30. - -2022-03-10 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/90115 - PR middle-end/102330 - PR middle-end/104774 - * omp-low.cc (oacc_privatization_candidate_p) - (oacc_privatization_scan_clause_chain) - (oacc_privatization_scan_decl_chain, lower_oacc_private_marker): - Analyze 'lookup_decl'-translated DECL. - -2022-03-10 Jakub Jelinek <jakub@redhat.com> - - PR target/99708 - * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove - RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float. - (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove. - * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return - "**NULL**" if type_node is NULL first. Handle - ieee128_float_type_node. - (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node - and ptr_ibm128_float_type_node. Set ibm128_float_type_node and - ieee128_float_type_node to NULL rather than long_double_type_node if - they aren't supported. Do support __ibm128 even if - !TARGET_FLOAT128_TYPE when long double is double double. - (rs6000_expand_builtin): Error if bif_is_ibm128 and - !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to - RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check - for it. - * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define - __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined. - (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here. - Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL. - Formatting fix. - * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute. - (struct attrinfo): Add isibm128 member. - (TYPE_MAP_SIZE): Remove. - (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use - ibm128_float_type_node only if it is non-NULL, otherwise fall back - to long_double_type_node. Remove "pif" entry. - (parse_bif_attrs): Handle ibm128 attribute and print it for debugging. - (write_decls): Output bif_ibm128_bit and bif_is_ibm128. - (write_type_node): Use sizeof type_map / sizeof type_map[0] - instead of TYPE_MAP_SIZE. - (write_bif_static_init): Handle isibm128. - * config/rs6000/rs6000-builtins.def: Document ibm128 attribute. - (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128 - attribute. - -2022-03-09 Richard Biener <rguenther@suse.de> - - * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF - with non-decl operand, avoiding a copy. - -2022-03-09 Jakub Jelinek <jakub@redhat.com> - - PR target/104781 - * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32. - -2022-03-09 Richard Biener <rguenther@suse.de> - - PR middle-end/104786 - * cfgexpand.cc (expand_asm_stmt): Do not generate a copy - for VLAs without an upper size bound. - -2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang> - - PR tree-optimization/104851 - * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one - error. - -2022-03-09 Jakub Jelinek <jakub@redhat.com> - - PR c/104711 - * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value - is enabled by it only for C++11 to C++17 rather than for C++03 or - later. - (-Wshift-negative-value): Similarly (except here we stated - that it is enabled for C++11 or later). - -2022-03-09 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/104839 - * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>: - Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET. - (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED - instead of incorrect 0 in SUBREG_PROMOTED_SET. - -2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang> - - PR target/104842 - * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned - value before adding an offset. - -2022-03-08 Christophe Lyon <christophe.lyon@arm.com> - - * config/arm/arm-builtins.cc - (arm_binop_none_none_unone_qualifiers): Delete. - (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete. - -2022-03-08 Iain Sandoe <iain@sandoe.co.uk> - - PR translation/104552 - * config/host-darwin.cc (darwin_gt_pch_get_address): Amend - the PCH out of memory error message punctuation and wording. - -2022-03-08 Marek Polacek <polacek@redhat.com> - - PR rtl-optimization/104777 - * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if - ASM_OPERANDS_LABEL_VEC has at least one element. - -2022-03-08 H.J. Lu <hjl.tools@gmail.com> - - PR target/104781 - * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is - stack realignment or regparm nested function with EH return. - -2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR target/104790 - * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO. - * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base - register for non widening loads or narrowing stores. - -2022-03-08 Eric Gallager <egallager@gcc.gnu.org> - - PR translation/104552 - * params.opt: Fix typo. - -2022-03-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/84201 - * params.opt (-param=vect-induction-float): Add. - * doc/invoke.texi (vect-induction-float): Document. - * tree-vect-loop.cc (vectorizable_induction): Honor - param_vect_induction_float. - -2022-03-08 Martin Jambor <mjambor@suse.cz> - - PR translation/104552 - * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word - "that" in the description. - -2022-03-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104825 - * tree-ssa-sccvn.cc (visit_reference_op_call): Properly - guard modref get_ao_ref on a pointer typed argument. - -2022-03-08 liuhongt <hongtao.liu@intel.com> - - * config/i386/sse.md (*vec_dupv4si): Disable memory operand - for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed. - -2022-03-07 Jonathan Wakely <jwakely@redhat.com> - - * doc/invoke.texi (C++ Modules): Remove anachronism. - -2022-03-07 Martin Liska <mliska@suse.cz> - - PR middle-end/104381 - * opts.cc (finish_options): If debug info is disabled - (debug_info_level) and -fvar-tracking is unset, disable it. - -2022-03-07 Jakub Jelinek <jakub@redhat.com> - - * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment. - * config/riscv/riscv.cc: Likewise. - * config/darwin.h: Likewise. - * config/i386/i386.cc: Likewise. - * config/aarch64/thunderx3t110.md: Likewise. - * config/aarch64/fractional-cost.h: Likewise. - * config/vax/vax.cc: Likewise. - * config/rs6000/pcrel-opt.md: Likewise. - * config/rs6000/predicates.md: Likewise. - * ctfc.h: Likewise. - * tree-ssa-uninit.cc: Likewise. - * value-relation.h: Likewise. - * gimple-range-gori.cc: Likewise. - * ipa-polymorphic-call.cc: Likewise. - * pointer-query.cc: Likewise. - * ipa-sra.cc: Likewise. - * internal-fn.cc: Likewise. - * varasm.cc: Likewise. - * gimple-ssa-warn-access.cc: Likewise. - -2022-03-07 Martin Liska <mliska@suse.cz> - - PR target/104794 - * config/arm/arm.cc (arm_option_override_internal): Add missing - space. - -2022-03-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104782 - * tree-vect-slp.cc (vectorize_slp_instance_root_stmt): - Re-instantiate r10-5979 fix, add comment. - -2022-03-07 Martin Liska <mliska@suse.cz> - - PR target/104797 - * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove - parenthesis from built-in name. - -2022-03-07 Martin Liska <mliska@suse.cz> - - PR target/104794 - * config/arm/arm.cc (arm_option_override_internal): Fix quoting - of options in error messages. - (arm_option_reconfigure_globals): Likewise. - -2022-03-07 Martin Liska <mliska@suse.cz> - - PR target/104794 - * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error - message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can - have only range [0,32]. - -2022-03-07 Jakub Jelinek <jakub@redhat.com> - - PR target/104775 - * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use - S constraint instead of T in the last alternative. - -2022-03-07 Martin Liska <mliska@suse.cz> - - * plugin.cc (default_plugin_dir_name): Remove <dir> from error - message. - -2022-03-07 Martin Liska <mliska@suse.cz> - - PR translation/90148 - * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put - quote to a proper place. - * plugin.cc (default_plugin_dir_name): Likewise. - -2022-03-07 Martin Liska <mliska@suse.cz> - - PR target/99297 - * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation - string. - -2022-03-07 Jakub Jelinek <jakub@redhat.com> - - PR target/104779 - * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New - define_expand pattern. Rename define_insn to ... - (*avx512dq_mul<mode>3<mask_name>): ... this. - (<code><mode>3_mask): New any_logic define_expand pattern. - (<mask_codefor><code><mode>3<mask_name>): Rename to ... - (*<code><mode>3<mask_name>): ... this. - -2022-03-05 Jakub Jelinek <jakub@redhat.com> - - * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove - visited bitmap and its use. Also punt on EDGE_ABNORMAL edges. - -2022-03-05 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - PR testsuite/104732 - * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s. - Include DI mode unconditionally. - (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition, - i.e. always split on !TARGET_64BIT. - (*<any_or>di3_doubleword): Likewise. - (*one_cmpldi2_doubleword): Likewise. - (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s. - (<any_or><mode>3 expander): Likewise. - (one_cmpl<mode>2 expander): Likewise. - -2022-03-05 Michael Meissner <meissner@linux.ibm.com> - - PR target/104698 - * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete. - (mtvsrdd_diti_w1): Delete. - (extendditi2): Convert from define_expand to - define_insn_and_split. Replace with code to deal with both GPR - registers and with altivec registers. - -2022-03-04 Segher Boessenkool <segher@kernel.crashing.org> - - * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a - bit. Handle most older CPUs. - -2022-03-04 Iain Sandoe <iain@sandoe.co.uk> - - * config/darwin.cc (darwin_fold_builtin): Make fcode an int to - avoid a mismatch with DECL_MD_FUNCTION_CODE(). - -2022-03-04 Iain Sandoe <iain@sandoe.co.uk> - - PR target/104117 - * config/rs6000/darwin.md (@machopic_high_<mode>): New. - (@machopic_low_<mode>): New. - * config/rs6000/predicates.md (macho_pic_address): New. - * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not - apply the TLS processing to Darwin. - * lra-constraints.cc (process_address_1): Revert the changes - in r12-7209. - -2022-03-04 Peter Bergner <bergner@linux.ibm.com> - - PR target/87496 - PR target/104208 - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the - ISA 2.06 requirement for -mabi=ieeelongdouble conditional on - -mlong-double-128. - Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking - from here... - * common/config/rs6000/rs6000-common.cc (rs6000_handle_option): - ... to here. - -2022-03-04 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104529 - * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY - on automatic objects which will be runtime initialized. - -2022-03-04 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100280 - PR middle-end/104132 - PR middle-end/104133 - * omp-low.cc (task_shared_vars): Rename to - 'make_addressable_vars'. Adjust all users. - (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for - 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too. - -2022-03-04 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100280 - * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New. - * tree-core.h: Document it. - * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle - 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'. - * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region): - Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of - 'TREE_ADDRESSABLE'. - -2022-03-04 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100280 - * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region): - Add diagnostic: "note: OpenACC 'kernels' decomposition: variable - '[...]' declared in block made addressable". - -2022-03-04 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100400 - PR middle-end/103836 - PR middle-end/104061 - * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body): - Catch 'GIMPLE_DEBUG'. - -2022-03-04 Jakub Jelinek <jakub@redhat.com> - - PR c/104627 - * tree.cc (warn_deprecated_use): For types prefer to use node - and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is - NULL. - -2022-03-04 H.J. Lu <hjl.tools@gmail.com> - - PR target/104704 - * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return - a pseudo register. - -2022-03-03 Martin Sebor <msebor@redhat.com> - - PR middle-end/104761 - * gimple-ssa-warn-access.cc (pass_waccess::execute): Call - mark_dfs_back_edges. - -2022-03-03 Martin Liska <mliska@suse.cz> - - * configure.ac: Use linker plug-in by default. - * configure: Regenerate. - -2022-03-03 Martin Liska <mliska@suse.cz> - - * configure.ac: Now ld.mold support LTO plugin API, use it. - * configure: Regenerate. - -2022-03-03 Tom de Vries <tdevries@suse.de> - - * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1. - -2022-03-03 Tom de Vries <tdevries@suse.de> - - PR target/104758 - * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30. - -2022-03-03 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}. - -2022-03-03 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104757 - * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than - gimplify_omp_for. - (gimplify_expr) <case OMP_SIMD>: Temporarily disable - gimplify_ctxp->into_ssa around call to gimplify_omp_for. - -2022-03-03 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104558 - * calls.cc (store_one_arg): When not calling emit_push_insn - because size_rtx is const0_rtx, call at least anti_adjust_stack - on arg->locate.alignment_pad if !argblock and the alignment might - be non-zero. - -2022-03-02 Alexandre Oliva <oliva@adacore.com> - - * lra-constraints.cc (undo_optional_reloads): Recognize and - drop insns of multi-word move sequences, tolerate removal - iteration on an already-removed clobber, and refuse to - substitute original pseudos into clobbers. - -2022-03-02 Qing Zhao <qing.zhao@oracle.com> - - PR middle-end/102276 - * common.opt (-Wtrivial-auto-var-init): New option. - * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option. - (-ftrivial-auto-var-init): Update option; - * gimplify.cc (emit_warn_switch_unreachable): New function. - (warn_switch_unreachable_r): Rename to ... - (warn_switch_unreachable_and_auto_init_r): This. - (maybe_warn_switch_unreachable): Rename to ... - (maybe_warn_switch_unreachable_and_auto_init): This. - (gimplify_switch_expr): Update calls to renamed function. - -2022-03-02 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/104686 - * ira-color.cc (object_conflicts_with_allocno_p): New function - using a bitvector test instead of iterating when possible. - (allocnos_conflict_p): Choose the best allocno to iterate over - object conflicts. - (update_conflict_hard_regno_costs): Do allocnos_conflict_p test - last. - -2022-03-02 Jakub Jelinek <jakub@redhat.com> - - * cfg.cc (dump_edge_info): Dump goto_locus if present. - -2022-03-02 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/104589 - * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct - INSN_LOCATION comparison with goto_locus. - -2022-03-02 Jakub Jelinek <jakub@redhat.com> - - * tree-ssa-strlen.cc (strlen_pass::handle_assign, - strlen_pass::before_dom_children): Comment spelling fixes. - -2022-03-02 Jakub Jelinek <jakub@redhat.com> - - * ipa-modref-tree.cc (modref_access_node::contains, - modref_access_node::closer_pair_p, modref_access_node::insert, - modref_access_node::insert_kill): Comment spelling fixes. - * ipa-modref.cc: Likewise. - (modref_summary::finalize, ignore_nondeterminism_p, - class modref_access_analysis, - modref_access_analysis::set_side_effects, - modref_access_analysis::set_nondeterministic, - modref_access_analysis::record_global_memory_load, - modref_access_analysis::propagate, modref_access_analysis::analyze, - struct escape_point, class modref_lattice, modref_lattice::merge, - modref_lattice::merge_deref, class modref_eaf_analysis, - modref_eaf_analysis::merge_call_lhs_flags, - modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate, - modref_eaf_analysis::record_escape_points, remap_kills, - update_escape_summary, remove_useless_summaries, - ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute): - Likewise. - * ipa-modref.h (struct modref_summary, interposable_eaf_flags): - Likewise. - * ipa-modref-tree.h (enum modref_special_parms, - struct modref_access_node): Likewise. - -2022-03-01 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104715 - * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't - unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs - of a call if gimple_call_return_arg is equal to ptr, not just when it - is non-NULL. - -2022-03-01 Jakub Jelinek <jakub@redhat.com> - - * gimple-ssa-warn-access.cc (warn_string_no_nul, - maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p, - matching_alloc_calls_p, maybe_warn_alloc_args_overflow, - pass_waccess::check_alloca, pass_waccess::check_strcat, - memmodel_to_uhwi, fntype_argno_type, - pass_waccess::maybe_check_access_sizes, - pass_waccess::check_call_access, - pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt): - Comment spelling fixes. - -2022-03-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104716 - * tree-loop-distribution.cc (find_seed_stmts_for_distribution): - Check if we can copy the loop. - -2022-03-01 H.J. Lu <hjl.tools@gmail.com> - - PR middle-end/104721 - * cfgexpand.cc (expand_gimple_basic_block): Clear - currently_expanding_gimple_stmt when returning inside the loop. - -2022-03-01 Martin Liska <mliska@suse.cz> - - PR ipa/104533 - * multiple_target.cc (get_attr_len): Move to tree.c. - (expand_target_clones): Remove single value checking. - * tree.cc (get_target_clone_attr_len): New fn. - * tree.h (get_target_clone_attr_len): Likewise. - -2022-03-01 Martin Liska <mliska@suse.cz> - - PR gcov-profile/104677 - * doc/invoke.texi: Document more .gcda file name generation. - -2022-03-01 Tom de Vries <tdevries@suse.de> - - PR target/102429 - * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode. - * config/nvptx/nvptx.md - (define_predicate "nvptx_register_or_complex_di_df_register_operand"): - New predicate. - (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"): - Use nvptx_register_or_complex_di_df_register_operand. - -2022-03-01 Tom de Vries <tdevries@suse.de> - - * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options. - * config/nvptx/gen-copyright.sh: New file. - * config/nvptx/gen-h.sh: New file. - * config/nvptx/gen-opt.sh: New file. - * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70) - (TARGET_SM75, TARGET_SM80): Move ... - * config/nvptx/nvptx-gen.h: ... here. New file, generate. - * config/nvptx/nvptx.opt (Enum ptx_isa): Move ... - * config/nvptx/nvptx-gen.opt: ... here. New file, generate. - * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h) - ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target. - -2022-03-01 Tom de Vries <tdevries@suse.de> - - * config/nvptx/gen-omp-device-properties.sh: New file. - * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh. - -2022-03-01 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx-sm.def: New file. - * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def. - * config/nvptx/nvptx-opts.h (enum ptx_isa): Same. - * config/nvptx/nvptx.cc (sm_version_to_string) - (nvptx_omp_device_kind_arch_isa): Same. - -2022-03-01 Robin Dapp <rdapp@linux.ibm.com> - - PR rtl-optimization/104154 - * config/arc/arc.cc (gen_compare_reg): Return the CC-mode - comparison ifcvt passed us. - -2022-03-01 Hongyu Wang <hongyu.wang@intel.com> - - PR target/104664 - * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): - Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg. - -2022-02-28 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/91384 - * config/i386/i386.md (peephole2): Eliminate final testl insn - from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by - transforming using *negsi_2 for the negation. - -2022-02-28 Roger Sayle <roger@nextmovesoftware.com> - Eric Botcazou <ebotcazou@adacore.com> - - PR middle-end/80270 - * expmed.cc (extract_integral_bit_field): If OP0 is a hard - register, copy it to a pseudo before calling simplify_gen_subreg. - -2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/104637 - * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many - as possible on one subpass. - -2022-02-28 Qing Zhao <qing.zhao@oracle.com> - - PR middle-end/104550 - * gimple-fold.cc (clear_padding_flush): Suppress warnings for new - created uses. - -2022-02-28 Martin Liska <mliska@suse.cz> - - PR ipa/104648 - * main.cc (main): Use flag_checking instead of CHECKING_P - and run toplev::finalize only if there is not error seen. - -2022-02-28 Richard Biener <rguenther@suse.de> - - * tree-ssa-pre.cc (compute_avail): Revert part of last change. - -2022-02-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104700 - * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline - into ... - (find_or_generate_expression): ... here, simplifying code. - -2022-02-28 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx-opts.h (enum ptx_version): Add - PTX_VERSION_default. - * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle - PTX_VERSION_default. - * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default. - -2022-02-28 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/104686 - * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop - skipping bits that are zero. - (ira_object_conflict_iter_cond): Likewise. - -2022-02-28 Hongyu Wang <hongyu.wang@intel.com> - - * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum. - (_mm512_ternarylogic_epi64): Truncate imm to unsigned - char to avoid error when using ~enum as parameter. - (_mm512_mask_ternarylogic_epi64): Likewise. - (_mm512_maskz_ternarylogic_epi64): Likewise. - (_mm512_ternarylogic_epi32): Likewise. - (_mm512_mask_ternarylogic_epi32): Likewise. - (_mm512_maskz_ternarylogic_epi32): Likewise. - * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64): - Adjust imm param type to unsigned char. - (_mm256_mask_ternarylogic_epi64): Likewise. - (_mm256_maskz_ternarylogic_epi64): Likewise. - (_mm256_ternarylogic_epi32): Likewise. - (_mm256_mask_ternarylogic_epi32): Likewise. - (_mm256_maskz_ternarylogic_epi32): Likewise. - (_mm_ternarylogic_epi64): Likewise. - (_mm_mask_ternarylogic_epi64): Likewise. - (_mm_maskz_ternarylogic_epi64): Likewise. - (_mm_ternarylogic_epi32): Likewise. - (_mm_mask_ternarylogic_epi32): Likewise. - (_mm_maskz_ternarylogic_epi32): Likewise. - -2022-02-25 Jakub Jelinek <jakub@redhat.com> - Marc Glisse <marc.glisse@inria.fr> - - PR tree-optimization/104675 - * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1): - Restrict simplifications to INTEGRAL_TYPE_P. - -2022-02-25 Jakub Jelinek <jakub@redhat.com> - - PR target/104681 - * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move. - -2022-02-25 Claudiu Zissulescu <claziss@synopsys.com> - - * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the - comparison is not valid. - * config/arc/arc.md (movsicc): Fail if comparison is not valid. - (movdicc): Likewise. - (movsfcc): Likewise. - (movdfcc): Likewise. - -2022-02-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103037 - * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare. - (vn_nary_length_from_stmt): Likewise. - (init_vn_nary_op_from_stmt): Likewise. - (vn_nary_op_compute_hash): Likewise. - * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export. - (vn_nary_length_from_stmt): Likewise. - (init_vn_nary_op_from_stmt): Likewise. - (vn_nary_op_compute_hash): Likewise. - * tree-ssa-pre.cc (pre_expr_obstack): New obstack. - (get_or_alloc_expr_for_nary): Pass in the value-id to use, - (re-)compute the hash value and if the expression is not - found allocate it from pre_expr_obstack. - (phi_translate_1): Do not insert the NARY found in the - VN tables but build a PRE expression from the valueized - NARY with the value-id we eventually found. - (find_or_generate_expression): Assert we have an entry - for constant values. - (compute_avail): Insert not valueized expressions into - EXP_GEN using the value-id from the VN tables. - (init_pre): Allocate pre_expr_obstack. - (fini_pre): Free pre_expr_obstack. - -2022-02-25 Jakub Jelinek <jakub@redhat.com> - - PR target/104674 - * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387. - * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use - SLOT_FLOATxFDI_387 rather than SLOT_TEMP. - -2022-02-25 Jakub Jelinek <jakub@redhat.com> - - * warning-control.cc (get_nowarn_spec): Comment spelling fix. - -2022-02-25 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104679 - * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust. - -2022-02-25 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104675 - * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for - COMPLEX_TYPE. - -2022-02-25 Alexandre Oliva <oliva@adacore.com> - - PR target/104121 - PR target/103302 - * expr.cc (emit_move_multi_word): Restore clobbers during LRA. - -2022-02-25 Alexandre Oliva <oliva@adacore.com> - - PR middle-end/104540 - * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL - dw_cfi_cfa_loc. - -2022-02-25 Alexandre Oliva <oliva@adacore.com> - - PR tree-optimization/103856 - * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the - eh edge to be requested through an extra parameter. - (pass_harden_compares::execute): Copy PHI args in the EH dest - block for the new EH edge added for the inverted compare. - -2022-02-24 Palmer Dabbelt <palmer@rivosinc.com> - - * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree - of position independence that -mcmodel=medany affords. - -2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com> - - PR target/104656 - * configure.ac: --disable-gcov if targetting bpf-*. - * configure: Regenerate. - -2022-02-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104676 - * tree-loop-distribution.cc (loop_distribution::execute): - Do a full scev_reset. - -2022-02-24 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104601 - * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with - non-SSA_NAME lhs value number vdef to itself instead of e.g. the - vuse value number. - -2022-02-24 Tom de Vries <tdevries@suse.de> - Tobias Burnus <tobias@codesourcery.com> - - * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle - sm_70, sm_75 and sm_80. - * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80. - -2022-02-24 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn - "rotrsi3"): New define_insn. - -2022-02-24 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.cc (gen_comment): Use - DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus. - -2022-02-24 liuhongt <hongtao.liu@intel.com> - - * config/i386/sse.md (<code>v1ti3): Add suffix and replace - isa attr of alternative 2 from avx to avx512vl. - -2022-02-23 Richard Biener <rguenther@suse.de> - Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104644 - * doc/match-and-simplify.texi: Amend ! documentation. - * genmatch.cc (expr::gen_transform): Code-generate ! support - for GENERIC. - (parser::parse_expr): Allow ! for GENERIC. - * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on - bswap. - -2022-02-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/101636 - * tree-vect-slp.cc (vect_print_slp_tree): Dump the - vector type of the node. - (vect_slp_analyze_operations): Make sure the CTOR - is vectorized with an expected type. - (vectorize_slp_instance_root_stmt): Revert r10-5979 fix. - -2022-02-23 Jakub Jelinek <jakub@redhat.com> - - PR c/104633 - * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit): - Don't warn about calls to corresponding builtin from extern inline - gnu_inline wrappers. - -2022-02-23 Roger Sayle <roger@nextmovesoftware.com> - - PR target/104489 - * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute. - -2022-02-23 Christophe Lyon <christophe.lyon@arm.com> - - PR target/100757 - PR target/101325 - * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix - typo. - -2022-02-23 Cui,Lili <lili.cui@intel.com> - - * doc/invoke.texi: Update documents for Intel architectures. - -2022-02-22 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore - bootstrap. - -2022-02-22 Thomas Schwinge <thomas@codesourcery.com> - - * omp-low.cc (omp_build_component_ref): Move function... - * omp-general.cc (omp_build_component_ref): ... here. Remove - 'static'. - * omp-general.h (omp_build_component_ref): Declare function. - * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove - function. - (build_receiver_ref, build_sender_ref): Call - 'omp_build_component_ref' instead. - -2022-02-22 Thomas Schwinge <thomas@codesourcery.com> - - * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further - simplify. Adjust all users. - -2022-02-22 Segher Boessenkool <segher@kernel.crashing.org> - - PR target/88134 - * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl, - atomic_update_decl): Add GTY markup. - -2022-02-22 Christophe Lyon <christophe.lyon@arm.com> - - * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS. - -2022-02-22 Christophe Lyon <christophe.lyon@arm.com> - - PR target/100757 - PR target/101325 - * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use - predicate. - (CX_BINARY_UNONE_QUALIFIERS): Likewise. - (CX_TERNARY_UNONE_QUALIFIERS): Likewise. - (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete. - (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete. - (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete. - * config/arm/arm_mve_builtins.def: Use predicated qualifiers. - * config/arm/mve.md: Use VxBI instead of HI. - -2022-02-22 Christophe Lyon <christophe.lyon@arm.com> - - PR target/100757 - PR target/101325 - * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate - qualifier. - (STRSBU_P_QUALIFIERS): Likewise. - (LDRGBS_Z_QUALIFIERS): Likewise. - (LDRGBU_Z_QUALIFIERS): Likewise. - (LDRGBWBXU_Z_QUALIFIERS): Likewise. - (LDRGBWBS_Z_QUALIFIERS): Likewise. - (LDRGBWBU_Z_QUALIFIERS): Likewise. - (STRSBWBS_P_QUALIFIERS): Likewise. - (STRSBWBU_P_QUALIFIERS): Likewise. - * config/arm/mve.md: Use VxBI instead of HI. - -2022-02-22 Christophe Lyon <christophe.lyon@arm.com> - - PR target/100757 - PR target/101325 - * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ... - (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this. - (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... - (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this. - (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ... - (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this. - (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ... - (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this. - (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ... - (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this. - (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New. - (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ... - (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this. - (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New. - (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ... - (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this. - (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... - (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this. - (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... - (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this. - (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ... - (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this. - (STRS_P_QUALIFIERS): Use predicate qualifier. - (STRU_P_QUALIFIERS): Likewise. - (STRSU_P_QUALIFIERS): Likewise. - (STRSS_P_QUALIFIERS): Likewise. - (LDRGS_Z_QUALIFIERS): Likewise. - (LDRGU_Z_QUALIFIERS): Likewise. - (LDRS_Z_QUALIFIERS): Likewise. - (LDRU_Z_QUALIFIERS): Likewise. - (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... - (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this. - (BINOP_NONE_NONE_PRED_QUALIFIERS): New. - (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New. - * config/arm/arm_mve_builtins.def: Use new predicated qualifiers. - * config/arm/mve.md: Use MVE_VPRED instead of HI. - -2022-02-22 Christophe Lyon <christophe.lyon@arm.com> - - PR target/100757 - PR target/101325 - * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS): - Delete. - (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ... - (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this. - (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New. - * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new - predicated qualifiers. - * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>) - (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI. - -2022-02-22 Christophe Lyon <christophe.lyon@arm.com> - - PR target/100757 - * config/arm/arm-protos.h (arm_get_mask_mode): New prototype. - (arm_expand_vector_compare): Update prototype. - * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New. - (arm_vector_mode_supported_p): Add support for VxBI modes. - (arm_expand_vector_compare): Remove useless generation of vpsel. - (arm_expand_vcond): Fix select operands. - (arm_get_mask_mode): New. - * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New. - (vec_cmpu<mode><MVE_vpred>): New. - (vcond_mask_<mode><MVE_vpred>): New. - * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>) - (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ... - * config/arm/neon.md (vec_cmp<mode><v_cmp_result>) - (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here - and disable for MVE. - * doc/sourcebuild.texi (arm_mve): Document new effective-target. - -2022-02-22 Christophe Lyon <christophe.lyon@arm.com> - - PR target/100757 - PR target/101325 - * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS) - (BINOP_PRED_NONE_NONE_QUALIFIERS) - (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS) - (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New. - * config/arm/arm-protos.h (mve_bool_vec_to_const): New. - * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI - modes. - (arm_mode_to_pred_mode): New. - (arm_expand_vector_compare): Use the right VxBI mode instead of - HI. - (arm_expand_vcond): Likewise. - (simd_valid_immediate): Handle MODE_VECTOR_BOOL. - (mve_bool_vec_to_const): New. - (neon_make_constant): Call mve_bool_vec_to_const when needed. - * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_) - (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f) - (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u) - (vpselq_s, vpselq_f): Use new predicated qualifiers. - * config/arm/constraints.md (DB): New. - * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators. - (MVE_VPRED, MVE_vpred): New attribute iterators. - * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>) - (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>) - (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI. - (@mve_vpselq_<supf>v2di): Define separately. - (mov<mode>): New expander for VxBI modes. - * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use - MVE_7_HI iterator and add support for DB constraint. - -2022-02-22 Christophe Lyon <christophe.lyon@arm.com> - Richard Sandiford <richard.sandiford@arm.com> - - PR target/100757 - PR target/101325 - * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI, - VNx2BI): Update definition. - * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new - simd types. - (arm_init_builtin): Map predicate vectors arguments to HImode. - (arm_expand_builtin_args): Move HImode predicate arguments to VxBI - rtx. Move return value to HImode rtx. - * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate. - * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes. - * config/arm/arm-simd-builtin-types.def (Pred1x16_t, - Pred2x8_t,Pred4x4_t): New. - * emit-rtl.cc (init_emit_once): Handle all boolean modes. - * genmodes.cc (mode_data): Add boolean field. - (blank_mode): Initialize it. - (make_complex_modes): Fix handling of boolean modes. - (make_vector_modes): Likewise. - (VECTOR_BOOL_MODE): Use new COMPONENT parameter. - (make_vector_bool_mode): Likewise. - (BOOL_MODE): New. - (make_bool_mode): New. - (emit_insn_modes_h): Fix generation of boolean modes. - (emit_class_narrowest_mode): Likewise. - * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT - parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to - define BImode. - * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value): - Fix handling of constm1_rtx for VECTOR_BOOL. - * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL. - (native_decode_vector_rtx): Likewise. - (test_vector_ops_duplicate): Skip vec_merge test - with vectors of booleans. - * varasm.cc (output_constant_pool_2): Likewise. - -2022-02-22 Christophe Lyon <christophe.lyon@arm.com> - - * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode - for operand 1. - -2022-02-22 Christophe Lyon <christophe.lyon@arm.com> - - * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG. - -2022-02-22 Christophe Lyon <christophe.lyon@arm.com> - - * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS. - (REG_CLASS_NAMES): Likewise. - (REG_CLASS_CONTENTS): Likewise. - (CLASS_MAX_NREGS): Handle VPR. - * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR. - -2022-02-22 Tobias Burnus <tobias@codesourcery.com> - Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70. - * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm): - Likewise. - * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70. - -2022-02-22 Tobias Burnus <tobias@codesourcery.com> - Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0. - * doc/invoke.texi (-mptx): Update for new values and defaults. - -2022-02-22 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.cc (gen_comment): New function. - (workaround_uninit_method_1, workaround_uninit_method_2) - (workaround_uninit_method_3): : Use gen_comment. - * config/nvptx/nvptx.opt (mptx-comment): New option. - -2022-02-22 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used - for a splat. - -2022-02-22 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - * fold-const.cc (ctor_single_nonzero_element): New function to - return the single non-zero element of a (vector) constructor. - * fold-const.h (ctor_single_nonzero_element): Prototype here. - * match.pd (reduc (constructor@0)): Simplify reductions of a - constructor containing a single non-zero element. - (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify - reductions of vector operations of the same operator with - constant vector operands. - -2022-02-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104604 - * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr): - Only check if gimple_assign_rhs1 is COMPLEX_CST if - gimple_assign_rhs_code is COMPLEX_CST. - -2022-02-22 Jakub Jelinek <jakub@redhat.com> - - PR target/104612 - * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg - on input operands before calling lowpart_subreg on it. For output - operand, use a vmode pseudo as destination and then move its lowpart - subreg into operands[0] if lowpart_subreg fails on dest. - (ix86_expand_xorsign): Likewise. - -2022-02-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104582 - PR target/99881 - * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): - Cost GPR to vector register moves for integer vector construction. - -2022-02-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104582 - * tree-vectorizer.h (stmt_info_for_cost::node): New field. - (vector_costs::add_stmt_cost): Add SLP node parameter. - (dump_stmt_cost): Likewise. - (add_stmt_cost): Likewise, new overload and adjust. - (add_stmt_costs): Adjust. - (record_stmt_cost): New overload. - * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node. - (vector_costs::add_stmt_cost): Adjust. - * tree-vect-loop.cc (vect_estimate_min_profitable_iters): - Adjust. - * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record - the SLP node for costing. - (vectorizable_slp_permutation): Likewise. - * tree-vect-stmts.cc (record_stmt_cost): Adjust and add - new overloads. - * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): - Adjust. - * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost): - Adjust. - * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost): - Adjust. - (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise. - -2022-02-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104582 - * tree-vectorizer.h (add_stmt_cost): New overload. - (record_stmt_cost): Likewise. - * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost): - Use add_stmt_costs. - (vect_get_known_peeling_cost): Use new overloads. - (vect_estimate_min_profitable_iters): Likewise. Consistently - use scalar_stmt for costing versioning checks. - * tree-vect-stmts.cc (record_stmt_cost): New overload. - -2022-02-22 Hongyu Wang <hongyu.wang@intel.com> - - PR target/103069 - * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop): - Split atomic fetch and loop part. - (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop. - * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New - prototype. - * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new - expander under TARGET_RELAX_CMPXCHG_LOOP. - (atomic_compare_and_swap<mode>): Likewise for doubleword modes. - -2022-02-21 Dan Li <ashimida@linux.alibaba.com> - - * config/aarch64/aarch64.cc (SLOT_REQUIRED): - Change wb_candidate[12] to wb_push_candidate[12]. - (aarch64_layout_frame): Likewise, and - change callee_adjust when scs is enabled. - (aarch64_save_callee_saves): - Change wb_candidate[12] to wb_push_candidate[12]. - (aarch64_restore_callee_saves): - Change wb_candidate[12] to wb_pop_candidate[12]. - (aarch64_get_separate_components): - Change wb_candidate[12] to wb_push_candidate[12]. - (aarch64_expand_prologue): Push x30 onto SCS before it's - pushed onto stack. - (aarch64_expand_epilogue): Pop x30 frome SCS, while - preventing it from being popped from the regular stack again. - (aarch64_override_options_internal): Add SCS compile option check. - (TARGET_HAVE_SHADOW_CALL_STACK): New hook. - * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled, - wb_pop_candidate[12], and rename wb_candidate[12] to - wb_push_candidate[12]. - * config/aarch64/aarch64.md (scs_push): New template. - (scs_pop): Likewise. - * doc/invoke.texi: Document -fsanitize=shadow-call-stack. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in: Add hook have_shadow_call_stack. - * flag-types.h (enum sanitize_code): - Add SANITIZE_SHADOW_CALL_STACK. - * opts.cc (parse_sanitizer_options): Add shadow-call-stack - and exclude SANITIZE_SHADOW_CALL_STACK. - * target.def: New hook. - * toplev.cc (process_options): Add SCS compile option check. - * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion. - -2022-02-21 Tom de Vries <tdevries@suse.de> - - PR target/104440 - * config/nvptx/nvptx.cc (workaround_uninit_method_1) - (workaround_uninit_method_2, workaround_uninit_method_3) - (workaround_uninit): New function. - (nvptx_reorg): Use workaround_uninit. - * config/nvptx/nvptx.opt (minit-regs): New option. - -2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR rtl-optimization/104498 - * alias.cc (compare_base_symbol_refs): Correct distance computation - when swapping x and y. - -2022-02-21 Andrew Pinski <apinski@marvell.com> - - PR c/104506 - * tree-ssa.cc (tree_ssa_useless_type_conversion): - Check the inner type before calling useless_type_conversion_p. - -2022-02-19 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn. - * config/nvptx/nvptx.md - (define_insn "nvptx_atomic_store<mode>"): Rename to ... - (define_insn "nvptx_atomic_store_sm70<mode>"): This. - (define_insn "nvptx_atomic_store<mode>"): New define_insn. - (define_expand "atomic_store<mode>"): Handle rename. Use - nvptx_atomic_store instead of atomic_exchange. - -2022-02-19 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all - insns with atomic attribute. Assert that all handled insns are - PARALLELs. - * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): - Set atomic attribute to false. - -2022-02-19 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return - type to bool. - (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or - nvptx_warpsync, if necessary. - -2022-02-19 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/102656 - * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is - known to be within bounds, treat it like automatic variables. - If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from - current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark - it addressable. - -2022-02-18 Pat Haugen <pthaugen@linux.ibm.com> - - * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented. - (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical, - mpower10-fusion-logical-add, mpower10-fusion-add-logical, - mpower10-fusion-2add, mpower10-fusion-2store): Remove. - * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER, - OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options. - * config/rs6000/rs6000.cc (rs6000_option_override_internal, - power10_sched_reorder): Likewise. - * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf, - gen_addadd): Likewise - * config/rs6000/fusion.md: Regenerate. - -2022-02-18 Jakub Jelinek <jakub@redhat.com> - - PR target/104257 - PR target/104598 - * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign - rather than __posix_memalign. - -2022-02-18 Richard Biener <rguenther@suse.de> - - PR target/104581 - * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove. - (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead - of calling ix86_avx_u128_mode_source which would eventually - have returned AVX_U128_ANY in some very special case. - -2022-02-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/96881 - * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment - CLOBBER handling. - (control_parents_preserved_p): New function. - (eliminate_unnecessary_stmts): Check that we preserved control - parents before retaining a CLOBBER. - (perform_tree_ssa_dce): Pass down aggressive flag - to eliminate_unnecessary_stmts. - -2022-02-17 Jason Merrill <jason@redhat.com> - - * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL - on TYPE_MAIN_VARIANT. - -2022-02-17 Paul A. Clarke <pc@us.ibm.com> - - PR target/104257 - * config/rs6000/bmi2intrin.h: Uglify local variables. - * config/rs6000/emmintrin.h: Likewise. - * config/rs6000/mm_malloc.h: Likewise. - * config/rs6000/mmintrin.h: Likewise. - * config/rs6000/pmmintrin.h: Likewise. - * config/rs6000/smmintrin.h: Likewise. - * config/rs6000/tmmintrin.h: Likewise. - * config/rs6000/xmmintrin.h: Likewise. - -2022-02-17 Robin Dapp <rdapp@linux.ibm.com> - - PR target/104335 - * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false - if the expected comparison's first operand is of mode MODE_CC. - -2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/104447 - * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore - hard reg set by lra_no_alloc_regs. - -2022-02-17 liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/104551 - PR tree-optimization/103771 - * match.pd (cond_expr_convert_p): Add types_match check when - convert is extension. - * tree-vect-patterns.cc - (gimple_cond_expr_convert_p): Adjust comments. - (vect_recog_cond_expr_convert_pattern): Ditto. - -2022-02-17 Jakub Jelinek <jakub@redhat.com> - - PR debug/104557 - * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG - if expr has VOIDmode. - -2022-02-17 liuhongt <hongtao.liu@intel.com> - - * config/i386/cpuid.h (bit_MPX): Removed. - (bit_BNDREGS): Ditto. - (bit_BNDCSR): Ditto. - -2022-02-17 Michael Meissner <meissner@the-meissners.org> - - PR target/99708 - * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define - __SIZEOF_IBM128__ if the IBM 128-bit long double type is created. - Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type - is created. - -2022-02-16 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use - range_compatible_p instead of direct type comparison. - -2022-02-16 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/104544 - * combine.cc (try_combine): When looking for insn whose links - should be updated from i3 to i2, don't stop on debug insns, instead - skip over them. - -2022-02-16 Richard Sandiford <richard.sandiford@arm.com> - - PR target/100056 - * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator. - * config/aarch64/aarch64.md: Extend the PR100056 patterns - to handle plus in the same way as ior, if the operands have - no set bits in common. - -2022-02-15 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/104526 - * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call - new routine. - * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build - of dependency chain if there isn't one. - (gori_compute::condexpr_adjust): New. - * gimple-range-gori.h (class gori_compute): New prototype. - -2022-02-15 Richard Sandiford <richard.sandiford@arm.com> - - PR target/100874 - * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const): - Declare. - * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function. - * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern. - -2022-02-15 Richard Sandiford <richard.sandiford@arm.com> - - * tree-vectorizer.h (vect_scalar_ops_slice): New struct. - (vect_scalar_ops_slice_hash): Likewise. - (vect_scalar_ops_slice::op): New function. - * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function. - (vect_scalar_ops_slice_hash::hash): Likewise. - (vect_scalar_ops_slice_hash::equal): Likewise. - (vect_prologue_cost_for_slp): Check for duplicate vectors. - * config/aarch64/aarch64.cc - (aarch64_vector_costs::m_stp_sequence_cost): New member variable. - (aarch64_aligned_constant_offset_p): New function. - (aarch64_stp_sequence_cost): Likewise. - (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic. - (aarch64_vector_costs::finish_cost): Likewise. - -2022-02-15 Richard Sandiford <richard.sandiford@arm.com> - - * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix - use after free. - -2022-02-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104543 - * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits - come after the inner loop. - -2022-02-15 Jakub Jelinek <jakub@redhat.com> - - PR target/104536 - * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use - cannot instead of can%'t in diagnostics. Formatting fixes. - -2022-02-15 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104522 - * fold-const.h (native_interpret_real): Declare. - * fold-const.cc (native_interpret_real): No longer static. Don't - perform MODE_COMPOSITE_P verification here. - (native_interpret_expr) <case REAL_TYPE>: But perform it here instead - for all modes. - * gimple-fold.cc (clear_padding_type): Call native_interpret_real - instead of native_interpret_expr. - * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx - and comparison verification for all FLOAT_MODE_P modes, not just - MODE_COMPOSITE_P. - -2022-02-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104519 - * fold-const.cc (multiple_of_p): Remove never true condition. - * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use - the appropriate types for determining whether the difference - of final and base is a multiple of the step. - -2022-02-15 Jakub Jelinek <jakub@redhat.com> - - PR debug/104517 - * omp-low.cc (task_cpyfns): New variable. - (delete_omp_context): Don't call finalize_task_copyfn from here. - (create_task_copyfn): Push task_stmt into task_cpyfns. - (execute_lower_omp): Call finalize_task_copyfn here on entries from - task_cpyfns vector and release the vector. - -2022-02-14 Martin Sebor <msebor@redhat.com> - - PR middle-end/104355 - * doc/invoke.texi (-Warray-bounds): Update documentation. - -2022-02-14 Michael Meissner <meissner@the-meissners.org> - - PR target/104253 - * config/rs6000/rs6000.cc (init_float128_ibm): Update the - conversion functions used to convert IFmode types. - -2022-02-14 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg. - -2022-02-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104528 - * tree-ssa.h (find_released_ssa_name): Declare. - * tree-ssa.cc (find_released_ssa_name): Export. - * cfgloop.cc (verify_loop_structure): Look for released - SSA names in loops nb_iterations. - * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration - estimates. - -2022-02-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104511 - * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid - touching DFP <-> FP conversions. - -2022-02-14 Richard Biener <rguenther@suse.de> - - PR middle-end/104497 - * gimplify.cc (gimplify_compound_lval): Make sure the - base is a non-register if needed and possible. - -2022-02-13 liuhongt <hongtao.liu@intel.com> - - PR target/103771 - * match.pd (cond_expr_convert_p): New match. - * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare. - (vect_recog_cond_expr_convert_pattern): New. - -2022-02-12 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/104449 - * asan.cc: Include tree-eh.h. - (handle_builtin_alloca): Handle the case when __builtin_alloca or - __builtin_alloca_with_align can throw. - -2022-02-12 Jakub Jelinek <jakub@redhat.com> - - PR target/104502 - * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+ - and AVX512VL isn't available, move operands[1] to operands[0] first. - -2022-02-12 Uroš Bizjak <ubizjak@gmail.com> - - PR target/79754 - * config/i386/i386.cc (type_natural_mode): - Skip decimal float vector modes. - -2022-02-11 Iain Sandoe <iain@sandoe.co.uk> - Vladimir Makarov <vmakarov@redhat.com> - - PR target/104117 - * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p): - Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when - emitting PIC code. - (legitimate_lo_sum_address_p): Likewise. - * lra-constraints.cc (process_address_1): Do not attempt to emit a reg - load from an invalid lo_sum address. - -2022-02-11 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104499 - * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead - of convert. - -2022-02-11 Jakub Jelinek <jakub@redhat.com> - - * tree.cc (build_common_builtin_nodes): Fix up formatting in - __builtin_clear_padding decl creation. - * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode - for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING - argument rather than in 3rd argument. - (gimplify_call_expr): Likewise. Fix up comment formatting. - * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect - 2 arguments instead of 3, take for_auto_init from the value - of 2nd argument. - -2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/104400 - * lra-constraints.cc (process_alt_operands): Don't make union of - this_alternative_exclude_start_hard_regs when reg class in insn - alternative covers other reg classes in the same alternative. - -2022-02-11 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104446 - * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC - operands. - -2022-02-11 Richard Biener <rguenther@suse.de> - - PR middle-end/104496 - * internal-fn.cc (vectorized_internal_fn_supported_p): - Bail out for integer mode vector types. - -2022-02-11 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/104459 - * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when - moving DEBUG_INSNs between bbs. - -2022-02-11 liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/104479 - * match.pd (uncond_op + vec_cond -> cond_op): Add single_use - for the dest of uncond_op. - -2022-02-11 Tom de Vries <tdevries@suse.de> - - PR target/104456 - * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm - insn. - -2022-02-10 Qing Zhao <qing.zhao@oracle.com> - - PR middle-end/100775 - * function.cc (gen_call_used_regs_seq): Call - df_update_exit_block_uses when updating df. - -2022-02-10 Uroš Bizjak <ubizjak@gmail.com> - - PR target/104469 - * config/i386/sse.md (vec_unpacks_float_lo_v4si): - Change operand 1 constraint to register_operand. - -2022-02-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104373 - * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the - walk kind. - * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default - walk kind as argument. - (run_rpo_vn): Adjust. - (pass_fre::execute): Likewise. - * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip - blocks not reachable. - (execute_late_warn_uninitialized): Mark all edges as - executable. - (execute_early_warn_uninitialized): Use VN to compute - executable edges. - (pass_data_early_warn_uninitialized): Enable a dump file, - change dump name to warn_uninit. - -2022-02-10 Richard Biener <rguenther@suse.de> - - PR middle-end/104467 - * match.pd (vector extract simplification): Multiply the - number of CTOR elements with the number of element elements. - -2022-02-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104466 - * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2 - for the MR_DEPENDENCE checks as intended. - -2022-02-10 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New - define_insn. - (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for - TARGET_SM70. - (define_c_enum "unspecv"): Add UNSPECV_ST. - -2022-02-10 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare. - * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function. - (nvptx_mem_maybe_shared_p): New function. - * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New - define_expand. - -2022-02-10 Tom de Vries <tdevries@suse.de> - - PR target/97005 - * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround - driver JIT bug by using sub.s16 instead of sub.u16. - -2022-02-10 Roger Sayle <roger@nextmovesoftware.com> - - * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate - floating point constants as operands 1 and/or 2. - -2022-02-10 Roger Sayle <roger@nextmovesoftware.com> - - PR target/104345 - * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation. - (sel_false<mode>): Likewise. - (define_code_iterator eqne): New code iterator for EQ and NE. - (*selp<mode>_neg_<code>): New define_insn_and_split to optimize - the negation of a selp instruction. - (*selp<mode>_not_<code>): New define_insn_and_split to optimize - the bitwise not of a selp instruction. - (*setcc_int<mode>): Use set instruction for neg:SI of a selp. - -2022-02-10 Roger Sayle <roger@nextmovesoftware.com> - - * config/nvptx/nvptx.md (any_logic): Move code iterator earlier - in machine description. - (logic): Move code attribute earlier in machine description. - (ilogic): New code attribute, like logic but "ior" for IOR. - (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with... - (<ilogic><mode>3): New define_insn for HSDIM logic operations. - (<ilogic>bi3): New define_insn for BI mode logic operations. - (define_split): Lower logic operations from integer modes to - BI mode predicate operations. - -2022-02-10 Roger Sayle <roger@nextmovesoftware.com> - - * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC. - (one_cmplbi2): New define_insn for not.pred. - (mulditi3): New define_expand for signed widening multiply. - (umulditi3): New define_expand for unsigned widening multiply. - (smul<mode>3_highpart): New define_insn for signed highpart mult. - (umul<mode>3_highpart): New define_insn for unsigned highpart mult. - (*smulhi3_highpart_2): Renamed from smulhi3_highpart. - (*smulsi3_highpart_2): Renamed from smulsi3_highpart. - (*umulhi3_highpart_2): Renamed from umulhi3_highpart. - (*umulsi3_highpart_2): Renamed from umulsi3_highpart. - (*setcc<mode>_from_not_bi): New define_insn. - (*setcc_isinf<mode>): New define_insn for testp.infinite. - (isinf<mode>2): New define_expand. - -2022-02-10 Roger Sayle <roger@nextmovesoftware.com> - - * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>. - (setcc<mode>_from_bi): Additionally support QImode. - (extendbi<mode>2): Additionally support QImode. - (zero_extendbi<mode>2): Additionally support QImode. - (any_sbinary, any_ubinary, any_sunary, any_uunary): New code - iterators for signed and unsigned, binary and unary operations. - (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New - expanders to perform QImode operations using SImode instructions. - (cstoreqi4): New define_expand. - (*ext_truncsi2_qi): New define_insn. - (*zext_truncsi2_qi): New define_insn. - -2022-02-10 Roger Sayle <roger@nextmovesoftware.com> - - * config/nvptx/nvptx.md (*cmpf): New define_insn. - (cstorehf4): New define_expand. - (fmahf4): New define_insn. - (neghf2): New define_insn. - (abshf2): New define_insn. - -2022-02-10 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/install.texi (Specific): Change the www.bitwizard.nl - reference to use https. - -2022-02-10 Marcel Vollweiler <marcel@codesourcery.com> - - * gimplify.cc (gimplify_scan_omp_clauses): Added cases for - OMP_CLAUSE_HAS_DEVICE_ADDR - and handle array sections. - (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case. - * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR. - (lower_omp_target): Same. - * tree-core.h (enum omp_clause_code): Same. - * tree-nested.cc (convert_nonlocal_omp_clauses): Same. - (convert_local_omp_clauses): Same. - * tree-pretty-print.cc (dump_omp_clause): Same. - * tree.cc: Same. - -2022-02-10 Eugene Rozenfeld <erozen@microsoft.com> - - * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls - that will result in direct recursive calls. - -2022-02-10 Andrew Pinski <apinski@marvell.com> - - PR target/104474 - * config/aarch64/aarch64.cc - (aarch64_sve_expand_vector_init_handle_trailing_constants): - Use CONST0_RTX instead of const0_rtx for the non-constant elements. - -2022-02-09 Uroš Bizjak <ubizjak@gmail.com> - - PR target/104462 - * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET): - Also include OPTION_MASK_ISA2_AVX2_UNSET. - -2022-02-09 Uroš Bizjak <ubizjak@gmail.com> - - PR target/104458 - * config/i386/i386-expand.cc (ix86_split_idivmod): - Force operands[2] and operands[3] into a register.. - -2022-02-09 Jeff Law <jeffreyalaw@gmail.com> - - PR target/97040 - * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4. - (*v850_fnmssf4): Renamed from fnmssf4 - -2022-02-09 Ian Lance Taylor <iant@golang.org> - - * godump.cc (go_force_record_alignment): Really name the alignment - field "_" (complete 2021-12-29 change). - -2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change - function prototype. - (VREPLACE_UN_UV4SI): Likewise. - (VREPLACE_UN_V2DF): Likewise. - (VREPLACE_UN_V2DI): Likewise. - (VREPLACE_UN_V4SF): Likewise. - (VREPLACE_UN_V4SI): Likewise. - * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all - function prototypes. - * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand. - (vreplace_un_<mode>): New define_insn. - -2022-02-09 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/iterators.md (VDCSIF): New mode iterator. - (VDBL): Handle SF. - (single_wx, single_type, single_dtype, dblq): New mode attributes. - * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend - from VDC to VDCSIF. - (store_pair_lanes<mode>): Likewise. - (*aarch64_combine_internal<mode>): Likewise. - (*aarch64_combine_internal_be<mode>): Likewise. - (*aarch64_combinez<mode>): Likewise. - (*aarch64_combinez_be<mode>): Likewise. - * config/aarch64/aarch64.cc (aarch64_classify_address): Handle - 8-byte modes for ADDR_QUERY_LDP_STP_N. - (aarch64_print_operand): Likewise for %y. - -2022-02-09 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>): - Use aarch64_combine instead of move_lo/hi_quad. Tabify. - (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete. - (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete. - (vec_pack_trunc_<mode>): Take general_operand elements and use - aarch64_combine rather than move_lo/hi_quad to combine them. - (vec_pack_trunc_df): Likewise. - -2022-02-09 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine): - Delete. - * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename - to... - (*aarch64_combinez<mode>): ...this. - (@aarch64_combinez_be<mode>): Rename to... - (*aarch64_combinez_be<mode>): ...this. - (@aarch64_vec_concat<mode>): New expander. - (aarch64_combine<mode>): Use it. - (@aarch64_simd_combine<mode>): Delete. - * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete. - (aarch64_expand_vector_init): Use aarch64_vec_concat. - -2022-02-09 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand): - New predicate. - * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>) - (*aarch64_combine_internal_be<mode>): New patterns. - -2022-02-09 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>) - (move_lo_quad_internal_be_<mode>): Delete. - (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above. - -2022-02-09 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p): - Declare. - * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use - aarch64_mergeable_load_pair_p instead of inline check. - * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise. - (aarch64_check_consecutive_mems): Allow the reversed parameter - to be null. - (aarch64_mergeable_load_pair_p): New function. - -2022-02-09 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the - element to be an aarch64_simd_nonimmediate_operand. - -2022-02-09 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use - aarch64_simd_nonimmediate_operand instead of - aarch64_simd_general_operand. - (@aarch64_combinez<mode>): Use nonimmediate_operand instead of - general_operand. - (@aarch64_combinez_be<mode>): Likewise. - -2022-02-09 Richard Biener <rguenther@suse.de> - - PR middle-end/104464 - * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone - throwing check to after unproblematic replacement. - -2022-02-09 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/104420 - * match.pd (mult @0 real_zerop): Tweak conditions for constant - folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate. - -2022-02-09 Jakub Jelinek <jakub@redhat.com> - - PR debug/104407 - * dwarf2out.cc (mangle_referenced_decls): New function. - (tree_add_const_value_attribute): Don't call rtl_for_decl_init if - early_dwarf. Instead walk the initializer and try to mangle vars or - functions referenced from it. - -2022-02-09 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/104288 - * gimple-range-cache.cc (non_null_ref::set_nonnull): New. - (non_null_ref::adjust_range): Move to header. - (ranger_cache::range_of_def): Don't check non-null. - (ranger_cache::entry_range): Don't check non-null. - (ranger_cache::range_on_edge): Check for nonnull on normal edges. - (ranger_cache::update_to_nonnull): New. - (non_null_loadstore): New. - (ranger_cache::block_apply_nonnull): New. - * gimple-range-cache.h (class non_null_ref): Update prototypes. - (non_null_ref::adjust_range): Move to here and inline. - (class ranger_cache): Update prototypes. - * gimple-range-path.cc (path_range_query::range_defined_in_block): Do - not search dominators. - (path_range_query::adjust_for_non_null_uses): Ditto. - * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for - def overrides. Do not check nonnull. - (gimple_ranger::range_on_entry): Check dominators for nonnull. - (gimple_ranger::range_on_edge): Check for nonnull on normal edges.. - (gimple_ranger::register_side_effects): New. - * gimple-range.h (gimple_ranger::register_side_effects): New. - * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects. - -2022-02-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104445 - PR tree-optimization/102832 - * optabs-query.h (can_vec_extract): New. - * optabs-query.cc (can_vec_extract): Likewise. - * tree-vect-loop.cc (vect_find_reusable_accumulator): Check - we can extract a hi/lo part from the larger vector, rework - check iteration from larger to smaller sizes. - -2022-02-09 H.J. Lu <hjl.tools@gmail.com> - - PR target/35513 - PR target/100593 - * config/i386/gnu-property.cc: Include "i386-protos.h". - (file_end_indicate_exec_stack_and_gnu_property): Generate - a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or - nodirect_extern_access attribute. - * config/i386/i386-options.cc - (handle_nodirect_extern_access_attribute): New function. - (ix86_attribute_table): Add nodirect_extern_access attribute. - * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a - bool argument. - (ix86_has_no_direct_extern_access): New. - * config/i386/i386.cc (ix86_has_no_direct_extern_access): New. - (ix86_force_load_from_GOT_p): Add a bool argument to indicate - call operand. Force non-call load from GOT for - -mno-direct-extern-access or nodirect_extern_access attribute. - (legitimate_pic_address_disp_p): Avoid copy relocation in PIE - for -mno-direct-extern-access or nodirect_extern_access attribute. - (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p - for call operand. - (asm_preferred_eh_data_format): Use PC-relative format for - -mno-direct-extern-access to avoid copy relocation. Check - ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4. - (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to - true for -mno-direct-extern-access or nodirect_extern_access - attribute. Don't treat protected data as extern and avoid copy - relocation on common symbol with -mno-direct-extern-access or - nodirect_extern_access attribute. - (ix86_reloc_rw_mask): New to avoid copy relocation for - -mno-direct-extern-access. - (TARGET_ASM_RELOC_RW_MASK): New. - * config/i386/i386.opt: Add -mdirect-extern-access. - * doc/extend.texi: Document nodirect_extern_access attribute. - * doc/invoke.texi: Document -m[no-]direct-extern-access. - -2022-02-09 H.J. Lu <hjl.tools@gmail.com> - - PR target/104441 - * config/i386/i386.cc (ix86_avx_u128_mode_source): New function. - (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN. - Call ix86_avx_u128_mode_source to check mode for each component - of source operand. - -2022-02-09 liuhongt <hongtao.liu@intel.com> - - PR target/104451 - * config/i386/sse.md (<insn><mode>3): lowpart_subreg - operands[2] from SImode to QImode. - -2022-02-09 Richard Biener <rguenther@suse.de> - - PR middle-end/104450 - * gimple-isel.cc: Pass cfun around. - (+gimple_expand_vec_cond_expr): Do not combine a throwing - comparison with the select. - -2022-02-09 Richard Biener <rguenther@suse.de> - - PR target/104453 - * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift - folding for NULL LHS. - -2022-02-08 Robin Dapp <rdapp@linux.ibm.com> - - PR rtl-optimization/104198 - PR rtl-optimization/104153 - * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of - using it directly. Rework comparison handling and always - perform a second pass. - -2022-02-08 Jakub Jelinek <jakub@redhat.com> - - PR target/102140 - * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if - split1 pass has finished already. - -2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (VMSUMCUD): New. - * config/rs6000/rs6000-overload.def (VEC_MSUMC): New. - * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant. - (vmsumcud): New define_insn. - -2022-02-08 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70. - * config/nvptx/nvptx.h (TARGET_SM70): Define. - -2022-02-08 Robin Dapp <rdapp@linux.ibm.com> - - * config/s390/s390.cc (s390_rtx_costs): Increase costs for load - on condition. - * config/s390/s390.md: Use paradoxical subreg. - -2022-02-08 Robin Dapp <rdapp@linux.ibm.com> - - * combine.cc (reg_subword_p): Check for paradoxical subreg. - -2022-02-08 Tom de Vries <tdevries@suse.de> - - PR target/104283 - * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0 - and PTX_VERSION_4_2. - * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm) - (default_ptx_version_option, ptx_version_to_string) - (sm_version_to_string, handle_ptx_version_option): New function. - (nvptx_option_override): Call handle_ptx_version_option. - (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string. - * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>") - (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0. - * config/nvptx/nvptx.opt (mptx): Remove 'Init'. - -2022-02-08 Maciej W. Rozycki <macro@embecosm.com> - - * doc/install.texi (Configuration): Document `--with-isa-spec=' - RISC-V option. - * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V - option. - (RISC-V Options): Document it. - -2022-02-08 Maciej W. Rozycki <macro@embecosm.com> - - * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency. - -2022-02-08 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'. - -2022-02-08 Tom de Vries <tdevries@suse.de> - - PR target/104364 - * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare. - * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that - change is validated. - (nvptx_mem_local_p): New function. - * config/nvptx/nvptx.md: Use nvptx_mem_local_p. - (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL. - (define_insn "atomic_compare_and_swap<mode>_1_local"): New - non-atomic, non-predicable define_insn, factored out of ... - (define_insn "atomic_compare_and_swap<mode>_1"): ... here. - Make predicable again. - (define_expand "atomic_compare_and_swap<mode>"): Use - atomic_compare_and_swap<mode>_1_local. - -2022-02-08 liuhongt <hongtao.liu@intel.com> - - PR rtl-optimization/104059 - * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate - for a more expensive reg-reg move. - -2022-02-07 Tamar Christina <tamar.christina@arm.com> - - * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32, - vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New - * config/arm/arm_neon_builtins.def (usdot): Add V16QI. - (usdot_laneq, sudot_laneq): New. - * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New. - (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code. - -2022-02-07 Tamar Christina <tamar.christina@arm.com> - - * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32, - vdot_laneq_s32, vdotq_laneq_s32): New. - * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New. - * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New. - (<sup>dot_prod<vsi2qi>): Re-order rtl. - (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes. - (neon_<sup>dot_laneq<vsi2qi>): New. - -2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com> - - PR target/104327 - * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags - if always_inline is set. Don't inline when tune differs without - always_inline. - -2022-02-07 Richard Biener <rguenther@suse.de> - - PR middle-end/104402 - * gimple-expr.cc (is_gimple_condexpr): _Complex typed - compares are not valid. - * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR - check is_gimple_condexpr. - -2022-02-07 Kewen Lin <linkw@linux.ibm.com> - - PR target/103627 - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the - hunk affecting VSX and ALTIVEC to appropriate place. - -2022-02-07 Kewen Lin <linkw@linux.ibm.com> - - PR target/103627 - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable - MMA if !TARGET_VSX. - -2022-02-06 Jakub Jelinek <jakub@redhat.com> - - PR c++/89074 - PR c++/104033 - * fold-const.h (folding_initializer): Adjust comment. - (folding_cxx_constexpr): Declare. - * fold-const.cc (folding_initializer): Adjust comment. - (folding_cxx_constexpr): New variable. - (address_compare): Restrict the decl vs. STRING_CST - or vice versa or STRING_CST vs. STRING_CST or - is_global_var != is_global_var optimizations to !folding_cxx_constexpr. - Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer, - assume non-aliased functions have non-zero size and have different - addresses. For folding_cxx_constexpr, punt on comparisons of start - of some object and end of another one, regardless whether it is a decl - or string literal. Also punt for folding_cxx_constexpr on - STRING_CST vs. STRING_CST comparisons if the two literals could be - overlapping. - -2022-02-05 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104389 - * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are - honored. - -2022-02-05 Kito Cheng <kito.cheng@sifive.com> - - * configure.ac: Fix detection for zifencei support. - * configure: Regenerate. - -2022-02-05 Kito Cheng <kito.cheng@sifive.com> - - PR target/104219 - * config.gcc (riscv*-*-*): Normalize the with_isa_spec value. - (all_defaults): Add isa_spec. - * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec. - -2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com> - - * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types - parameters instead of arglist and nargs. Simplify accordingly. Remove - unnecessary test for argument count mismatch. - (resolve_vec_cmpne): Likewise. - (resolve_vec_adde_sube): Likewise. - (resolve_vec_addec_subec): Likewise. - (altivec_resolve_overloaded_builtin): Move overload special handling - after the gathering of arguments into args[] and types[] and the test - for correct number of arguments. Don't perform the test for correct - number of arguments for certain special cases. Call the other special - cases with args and types instead of arglist and nargs. - -2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com> - - PR target/100808 - * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA - 3.1): Provide consistent type names. Remove unnecessary semicolons. - Fix bad line breaks. - -2022-02-04 Jakub Jelinek <jakub@redhat.com> - - PR target/104380 - * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also - adjust mangling of __builtin*printf_chk. - -2022-02-04 Jonathan Wakely <jwakely@redhat.com> - - * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20. - -2022-02-04 Richard Biener <rguenther@suse.de> - Bin Cheng <bin.cheng@linux.alibaba.com> - - PR tree-optimization/100499 - * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted - to true. - * fold-const.cc (multiple_of_p): Likewise. Honor it for - MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along, - switching to false for conversions. - * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not - claim the outermost expression does not wrap when calling - multiple_of_p. Refactor the check done to check the - original IV, avoiding a bias that might wrap. - -2022-02-04 Richard Biener <rguenther@suse.de> - - * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR - handling. - -2022-02-04 Eric Botcazou <ebotcazou@adacore.com> - - PR debug/104366 - * dwarf2out.cc (dwarf2out_finish): Empty base_types. - (dwarf2out_early_finish): Likewise. - -2022-02-04 Eric Botcazou <ebotcazou@adacore.com> - - PR tree-optimization/104356 - * match.pd (X / bool_range_Y is X): Add guard. - (X / X is one): Likewise. - (X / abs (X) is X < 0 ? -1 : 1): Likewise. - (X / -X is -1): Likewise. - (1 / X -> X == 1): Likewise. - -2022-02-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103641 - * tree-vect-patterns.cc (vect_synth_mult_by_constant): - Pass the vector mode to choose_mult_variant. - -2022-02-04 Roger Sayle <roger@nextmovesoftware.com> - - PR rtl-optimization/101885 - * combine.cc (try_combine): When splitting a parallel into two - sequential sets, check not only that the first doesn't clobber - the second but also that the second doesn't clobber the first. - -2022-02-04 Richard Biener <rguenther@suse.de> - - PR middle-end/90348 - PR middle-end/104092 - * tree-core.h (clobber_kind): New enum. - (tree_base::u::bits::address_space): Document use in CONSTRUCTORs. - * tree.h (CLOBBER_KIND): Add. - (build_clobber): Add clobber kind argument, defaulted to - CLOBBER_UNDEF. - * tree.cc (build_clobber): Likewise. - * gimple.h (gimple_clobber_p): New overload with specified kind. - * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream - CLOBBER_KIND. - * tree-streamer-out.cc (streamer_write_tree_bitfields): - Likewise. - * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs. - * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers - with CLOBBER_EOL. - (gimplify_target_expr): Likewise. - * tree-inline.cc (expand_call_inline): Likewise. - * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise. - * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat - CLOBBER_EOL clobbers as ending lifetime of storage. - -2022-02-04 Martin Sebor <msebor@redhat.com> - - * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto - cleanup. - -2022-02-03 Martin Sebor <msebor@redhat.com> - - PR middle-end/104260 - * passes.def (pass_warn_access): Adjust pass placement. - -2022-02-03 Uroš Bizjak <ubizjak@gmail.com> - - PR target/104362 - * config/i386/i386.cc (find_drap_reg): For 32bit targets - return DI_REG if function uses __builtin_eh_return. - -2022-02-03 Martin Sebor <msebor@redhat.com> - - * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor. - (pass_wrestrict::m_ptr_qry): New member. - (wrestrict_walk): Rename... - (pass_wrestrict::check_block): ...to this. - (pass_wrestrict::execute): Set up and tear down pointer_query and - ranger. - (builtin_memref::builtin_memref): Change ctor argument. Simplify. - (builtin_access::builtin_access): Same. - (builtin_access::m_ptr_qry): New member. - (check_call): Rename... - (pass_wrestrict::check_call): ...to this. - (check_bounds_or_overlap): Change argument. - * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same. - -2022-02-03 Martin Sebor <msebor@redhat.com> - - * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker): - Define ctor. - (array_bounds_checker::get_value_range): Use new member. - (array_bounds_checker::check_mem_ref): Same. - * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker): - Outline ctor. - (array_bounds_checker::m_ptr_query): New member. - -2022-02-03 Martin Sebor <msebor@redhat.com> - - * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove - pointer_query cache. - * pointer-query.cc (pointer_query::pointer_query): Remove cache - argument. Zero-initialize new cache member. - (pointer_query::get_ref): Replace cache pointer with direct access. - (pointer_query::put_ref): Same. - (pointer_query::flush_cache): Same. - (pointer_query::dump): Same. - * pointer-query.h (class pointer_query): Remove cache argument from - ctor. Change cache pointer to cache subobject member. - * tree-ssa-strlen.cc: Remove pointer_query cache. - -2022-02-03 Martin Sebor <msebor@redhat.com> - - PR tree-optimization/104119 - * gimple-ssa-sprintf.cc (struct directive): Change argument type. - (format_none): Same. - (format_percent): Same. - (format_integer): Same. - (format_floating): Same. - (get_string_length): Same. - (format_character): Same. - (format_string): Same. - (format_plain): Same. - (format_directive): Same. - (compute_format_length): Same. - (handle_printf_call): Same. - * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call - get_maxbound. - (get_range_strlen_phi): Same. - (get_maxbound): New function. - (strlen_pass::get_len_or_size): Adjust to parameter change. - * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type. - -2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> - - PR target/103686 - * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove - test for !rs6000_fold_gimple. - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise. - * config/rs6000/rs6000.opt (mfold-gimple): Remove. - -2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> - - PR target/95082 - * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle - endianness for vclzlsbb and vctzlsbb. - * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change - default pattern and indicate a different pattern will be used for - big endian. - (VCLZLSBB_V4SI): Likewise. - (VCLZLSBB_V8HI): Likewise. - (VCTZLSBB_V16QI): Likewise. - (VCTZLSBB_V4SI): Likewise. - (VCTZLSBB_V8HI): Likewise. - -2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> - - * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs. - * config/rs6000/rs6000-builtin.cc: New file, containing code moved - from other files. - * config/rs6000/rs6000-call.cc (cpu_is_info): Move to - rs6000-builtin.cc. - (cpu_supports_info): Likewise. - (rs6000_type_string): Likewise. - (altivec_expand_predicate_builtin): Likewise. - (rs6000_htm_spr_icode): Likewise. - (altivec_expand_vec_init_builtin): Likewise. - (get_element_number): Likewise. - (altivec_expand_vec_set_builtin): Likewise. - (altivec_expand_vec_ext_builtin): Likewise. - (rs6000_invalid_builtin): Likewise. - (rs6000_fold_builtin): Likewise. - (fold_build_vec_cmp): Likewise. - (fold_compare_helper): Likewise. - (map_to_integral_tree_type): Likewise. - (fold_mergehl_helper): Likewise. - (fold_mergeeo_helper): Likewise. - (rs6000_builtin_valid_without_lhs): Likewise. - (rs6000_builtin_is_supported): Likewise. - (rs6000_gimple_fold_mma_builtin): Likewise. - (rs6000_gimple_fold_builtin): Likewise. - (rs6000_expand_ldst_mask): Likewise. - (cpu_expand_builtin): Likewise. - (elemrev_icode): Likewise. - (ldv_expand_builtin): Likewise. - (lxvrse_expand_builtin): Likewise. - (lxvrze_expand_builtin): Likewise. - (stv_expand_builtin): Likewise. - (mma_expand_builtin): Likewise. - (htm_spr_num): Likewise. - (htm_expand_builtin): Likewise. - (rs6000_expand_builtin): Likewise. - (rs6000_vector_type): Likewise. - (rs6000_init_builtins): Likewise. Remove initialization of - builtin_mode_to_type entries. - (rs6000_builtin_decl): Move to rs6000-builtin.cc. - * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New - external declaration. - (rs6000_builtin_md_vectorized_function): Likewise. - (rs6000_builtin_reciprocal): Likewise. - (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc. - (rs6000_builtin_types): Likewise. - (builtin_mode_to_type): Remove. - (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove - static qualifier. - (rs6000_builtin_md_vectorized_function): Likewise. - (rs6000_builtin_reciprocal): Likewise. - * config/rs6000/rs6000.h (builtin_mode_to_type): Remove. - * config/rs6000/t-rs6000 (rs6000-builtin.o): New target. - -2022-02-03 Richard Biener <rguenther@suse.de> - - PR debug/104337 - * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found - together via DECL_ABSTRACT_ORIGIN. - -2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> - - * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error - message for RES_BITS case. - -2022-02-03 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly. - -2022-02-03 Jakub Jelinek <jakub@redhat.com> - - * config/arm/arm.opt (mfix-cortex-a57-aes-1742098, - mfix-cortex-a72-aes-1655431): Ensure description ends with full stop. - -2022-02-03 Aldy Hernandez <aldyh@redhat.com> - - * cfganal.cc (verify_marked_backedges): New. - * cfganal.h (verify_marked_backedges): New. - * gimple-range-path.cc (path_range_query::path_range_query): - Verify freshness of back edges. - * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call - mark_dfs_back_edges. - * tree-ssa-threadbackward.cc (back_threader::back_threader): Move - path_range_query construction after backedges have been - updated. - -2022-02-03 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from - VALL to VALL_F16. - -2022-02-03 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/iterators.md (VALL_F16MOV): Delete. - * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead - of VALL_F16MOV. - -2022-02-03 Martin Liska <mliska@suse.cz> - - * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): - Change subject and object in the error message. - * config/s390/s390.cc (s390_valid_target_attribute_inner_p): - Likewise. - -2022-02-03 Martin Liska <mliska@suse.cz> - - * config/s390/s390.cc (s390_valid_target_attribute_inner_p): - Use the error message for i386 target. - -2022-02-03 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104334 - * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range - and rh_range type to widest_int and subtract in widest_int. Remove - ov_rh, ov_lh and sign vars, always perform comparisons as signed - and use >, < and == operators for it. - -2022-02-03 Martin Sebor <msebor@redhat.com> - - * common.opt (-Wuse-after-free): Correct typos. - -2022-02-02 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104270 - * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to - -Wanalyzer-use-of-uninitialized-value to paragraph documenting that - -ftrivial-auto-var-init= doesn't suppress warnings. - -2022-02-02 Martin Liska <mliska@suse.cz> - - * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro. - -2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de> - - PR target/94372 - * config/or1k/linux.h (CPP_SPEC): Define. - -2022-02-02 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/102819 - PR tree-optimization/103169 - * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use - canonical order. - -2022-02-02 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/102819 - PR tree-optimization/103169 - * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use - canonical order. - * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise. - -2022-02-02 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/102819 - PR tree-optimization/103169 - * doc/md.texi: Update docs for cfms, cfma. - * tree-data-ref.h (same_data_refs): Accept optional offset. - * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating - patterns. - (vect_normalize_conj_loc): Remove. - (is_eq_or_top): Change to take two nodes. - (enum _conj_status, compatible_complex_nodes_p, - vect_validate_multiplication): New. - (class complex_add_pattern, complex_add_pattern::matches, - complex_add_pattern::recognize, class complex_mul_pattern, - complex_mul_pattern::recognize, class complex_fms_pattern, - complex_fms_pattern::recognize, class complex_operations_pattern, - complex_operations_pattern::recognize, addsub_pattern::recognize): Pass - new cache. - (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new - cache and use new validation code. - * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns, - vect_analyze_slp): Pass along cache. - (compatible_calls_p): Expose. - * tree-vectorizer.h (compatible_calls_p, slp_node_hash, - slp_compat_nodes_map_t): New. - (class vect_pattern): Update signatures include new cache. - -2022-02-02 Hans-Peter Nilsson <hp@axis.com> - - * config/cris/cris.cc (cris_preferred_reload_class): Reject - "eliminated" registers and small-enough constants unless - reloaded into a class that is a subset of GENERAL_REGS. - * config/cris/cris.md (attribute "cpu_variant"): New. - (attribute "enabled"): Conditionalize on a matching attribute - cpu_variant, if specified. - ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from - memory, add cpu-variant-enabled variants for "r" alternatives on - the far side of the "x" alternatives, preferring the "x" ones - only for variants where MOF is present (in addition to SRP). - -2022-02-02 Hans-Peter Nilsson <hp@axis.com> - - * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira - extra cost for ALL_REGS. - -2022-02-02 Hans-Peter Nilsson <hp@axis.com> - - * config/cris/constraints.md (define_register_constraint "b"): Now - GENERAL_REGS. - * config/cris/cris.md (CRIS_ACR_REGNUM): Remove. - * config/cris/cris.h: (reg_class, REG_CLASS_NAMES) - (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS, - and SPEC_GENNONACR_REGS. - * config/cris/cris.cc (cris_preferred_reload_class): Don't mention - ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS. - -2022-02-02 Hans-Peter Nilsson <hp@axis.com> - - * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"): - Conditionalize on (sub-)register operands or operand 1 being 0. - -2022-02-02 Hans-Peter Nilsson <hp@axis.com> - - * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG. - (MUL_BUG_ASM_DEFAULT): New macro. - (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT. - * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust - accordingly. - -2022-02-01 Eugene Rozenfeld <erozen@microsoft.com> - - * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations - to 10 for AutoFDO. - -2022-02-01 Eugene Rozenfeld <erozen@microsoft.com> - - * auto-profile.cc (auto_profile): Hard-code the number of iterations (10). - -2022-02-01 Andrew Pinski <apinski@marvell.com> - - * doc/install.texi: - -2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com> - - * config/s390/s390.cc (s390_code_end): Do not switch back to - code section. - -2022-02-01 Jakub Jelinek <jakub@redhat.com> - - PR target/104323 - * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h - rather than $(srcdir)/config/rs6000/rs6000-builtins.def. - * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use - GTY((user)) for struct bifdata and struct ovlddata. Instead add - GTY((skip(""))) to members with pointer and enum types that don't need - to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info - declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations. - (write_extern_fntype, write_fntype): Remove. - (write_fntype_init): Emit the fntype vars as automatic vars instead - of file scope ones. - (write_header_file): Don't iterate with write_extern_fntype. - (write_init_file): Don't iterate with write_fntype. Don't emit - gt_ggc_mx and gt_pch_nx definitions. - -2022-02-01 Jason Merrill <jason@redhat.com> - - * tree.h (struct tree_vec_map_cache_hasher): Move from... - * tree.cc (struct tree_vec_map_cache_hasher): ...here. - -2022-02-01 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check. - * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add - UNSPECV_UNIFORM_WARP_CHECK. - (define_insn "nvptx_uniform_warp_check"): New define_insn. - -2022-02-01 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync. - * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add - UNSPECV_WARPSYNC. - (define_insn "nvptx_warpsync"): New define_insn. - -2022-02-01 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default. - -2022-02-01 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0. - * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro. - * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier - insn for TARGET_PTX_6_0. - -2022-02-01 Tom de Vries <tdevries@suse.de> - - PR target/100428 - * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop - insn. - -2022-02-01 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1") - (define_insn "atomic_exchange<mode>") - (define_insn "atomic_fetch_add<mode>") - (define_insn "atomic_fetch_addsf") - (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version - if memory operands is frame-relative. - -2022-02-01 Tom de Vries <tdevries@suse.de> - - * config/nvptx/nvptx.cc (enum nvptx_builtins): Add - NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA. - (VOID): New macro. - (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA. - (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and - NVPTX_BUILTIN_MEMBAR_CTA. - (nvptx_lockfull_update): Add level parameter. Emit barriers. - (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to - nvptx_lockfull_update. - * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add - UNSPECV_MEMBAR_GL. - (define_expand "nvptx_membar_gl"): New expand. - (define_insn "*nvptx_membar_gl"): New insn. - -2022-02-01 Martin Liska <mliska@suse.cz> - - * doc/install.texi: Remove option for GCC < 4.8. - -2022-02-01 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104307 - * tree-vect-generic.cc (expand_vector_comparison): Don't push debug - stmts to uses vector, just set vec_cond_expr_only to false for - non-VEC_COND_EXPRs instead of pushing them into uses. Treat - VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too - like non-VEC_COND_EXPRs. - -2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com> - - * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token. - (VEC_BLENDV): Likewise. - (VEC_BPERM): Likewise. - (VEC_CFUGE): Likewise. - (VEC_CIPHER_BE): Likewise. - (VEC_CIPHERLAST_BE): Likewise. - (VEC_CLRL): Likewise. - (VEC_CLRR): Likewise. - (VEC_CMPNEZ): Likewise. - (VEC_CNTLZ): Likewise. - (VEC_CNTLZM): Likewise. - (VEC_CNTTZM): Likewise. - (VEC_CNTLZ_LSBB): Likewise. - (VEC_CNTM): Likewise. - (VEC_CNTTZ): Likewise. - (VEC_CNTTZ_LSBB): Likewise. - (VEC_CONVERT_4F32_8F16): Likewise. - (VEC_DIV): Likewise. - (VEC_DIVE): Likewise. - (VEC_EQV): Likewise. - (VEC_EXPANDM): Likewise. - (VEC_EXTRACT_FP_FROM_SHORTH): Likewise. - (VEC_EXTRACT_FP_FROM_SHORTL): Likewise. - (VEC_EXTRACTH): Likewise. - (VEC_EXTRACTL): Likewise. - (VEC_EXTRACTM): Likewise. - (VEC_EXTRACT4B): Likewise. - (VEC_EXTULX): Likewise. - (VEC_EXTURX): Likewise. - (VEC_FIRSTMATCHINDEX): Likewise. - (VEC_FIRSTMACHOREOSINDEX): Likewise. - (VEC_FIRSTMISMATCHINDEX): Likewise. - (VEC_FIRSTMISMATCHOREOSINDEX): Likewise. - (VEC_GB): Likewise. - (VEC_GENBM): Likewise. - (VEC_GENHM): Likewise. - (VEC_GENWM): Likewise. - (VEC_GENDM): Likewise. - (VEC_GENQM): Likewise. - (VEC_GENPCVM): Likewise. - (VEC_GNB): Likewise. - (VEC_INSERTH): Likewise. - (VEC_INSERTL): Likewise. - (VEC_INSERT4B): Likewise. - (VEC_LXVL): Likewise. - (VEC_MERGEE): Likewise. - (VEC_MERGEO): Likewise. - (VEC_MOD): Likewise. - (VEC_MSUB): Likewise. - (VEC_MULH): Likewise. - (VEC_NAND): Likewise. - (VEC_NCIPHER_BE): Likewise. - (VEC_NCIPHERLAST_BE): Likewise. - (VEC_NEARBYINT): Likewise. - (VEC_NMADD): Likewise. - (VEC_ORC): Likewise. - (VEC_PDEP): Likewise. - (VEC_PERMX): Likewise. - (VEC_PEXT): Likewise. - (VEC_POPCNT): Likewise. - (VEC_PARITY_LSBB): Likewise. - (VEC_REPLACE_ELT): Likewise. - (VEC_REPLACE_UN): Likewise. - (VEC_REVB): Likewise. - (VEC_RINT): Likewise. - (VEC_RLMI): Likewise. - (VEC_RLNM): Likewise. - (VEC_SBOX_BE): Likewise. - (VEC_SIGNEXTI): Likewise. - (VEC_SIGNEXTLL): Likewise. - (VEC_SIGNEXTQ): Likewise. - (VEC_SLDB): Likewise. - (VEC_SLV): Likewise. - (VEC_SPLATI): Likewise. - (VEC_SPLATID): Likewise. - (VEC_SPLATI_INS): Likewise. - (VEC_SQRT): Likewise. - (VEC_SRDB): Likewise. - (VEC_SRV): Likewise. - (VEC_STRIL): Likewise. - (VEC_STRIL_P): Likewise. - (VEC_STRIR): Likewise. - (VEC_STRIR_P): Likewise. - (VEC_STXVL): Likewise. - (VEC_TERNARYLOGIC): Likewise. - (VEC_TEST_LSBB_ALL_ONES): Likewise. - (VEC_TEST_LSBB_ALL_ZEROS): Likewise. - (VEC_VEE): Likewise. - (VEC_VES): Likewise. - (VEC_VIE): Likewise. - (VEC_VPRTYB): Likewise. - (VEC_VSCEEQ): Likewise. - (VEC_VSCEGT): Likewise. - (VEC_VSCELT): Likewise. - (VEC_VSCEUO): Likewise. - (VEC_VSEE): Likewise. - (VEC_VSES): Likewise. - (VEC_VSIE): Likewise. - (VEC_VSTDC): Likewise. - (VEC_VSTDCN): Likewise. - (VEC_VTDC): Likewise. - (VEC_XL): Likewise. - (VEC_XL_BE): Likewise. - (VEC_XL_LEN_R): Likewise. - (VEC_XL_SEXT): Likewise. - (VEC_XL_ZEXT): Likewise. - (VEC_XST): Likewise. - (VEC_XST_BE): Likewise. - (VEC_XST_LEN_R): Likewise. - (VEC_XST_TRUNC): Likewise. - (VEC_XXPERMDI): Likewise. - (VEC_XXSLDWI): Likewise. - (VEC_TSTSFI_EQ_DD): Likewise. - (VEC_TSTSFI_EQ_TD): Likewise. - (VEC_TSTSFI_GT_DD): Likewise. - (VEC_TSTSFI_GT_TD): Likewise. - (VEC_TSTSFI_LT_DD): Likewise. - (VEC_TSTSFI_LT_TD): Likewise. - (VEC_TSTSFI_OV_DD): Likewise. - (VEC_TSTSFI_OV_TD): Likewise. - (VEC_VADDCUQ): Likewise. - (VEC_VADDECUQ): Likewise. - (VEC_VADDEUQM): Likewise. - (VEC_VADDUDM): Likewise. - (VEC_VADDUQM): Likewise. - (VEC_VBPERMQ): Likewise. - (VEC_VCLZB): Likewise. - (VEC_VCLZD): Likewise. - (VEC_VCLZH): Likewise. - (VEC_VCLZW): Likewise. - (VEC_VCTZB): Likewise. - (VEC_VCTZD): Likewise. - (VEC_VCTZH): Likewise. - (VEC_VCTZW): Likewise. - (VEC_VEEDP): Likewise. - (VEC_VEESP): Likewise. - (VEC_VESDP): Likewise. - (VEC_VESSP): Likewise. - (VEC_VIEDP): Likewise. - (VEC_VIESP): Likewise. - (VEC_VPKSDSS): Likewise. - (VEC_VPKSDUS): Likewise. - (VEC_VPKUDUM): Likewise. - (VEC_VPKUDUS): Likewise. - (VEC_VPOPCNT): Likewise. - (VEC_VPOPCNTB): Likewise. - (VEC_VPOPCNTD): Likewise. - (VEC_VPOPCNTH): Likewise. - (VEC_VPOPCNTW): Likewise. - (VEC_VPRTYBD): Likewise. - (VEC_VPRTYBQ): Likewise. - (VEC_VPRTYBW): Likewise. - (VEC_VRLD): Likewise. - (VEC_VSLD): Likewise. - (VEC_VSRAD): Likewise. - (VEC_VSRD): Likewise. - (VEC_VSTDCDP): Likewise. - (VEC_VSTDCNDP): Likewise. - (VEC_VSTDCNQP): Likewise. - (VEC_VSTDCNSP): Likewise. - (VEC_VSTDCQP): Likewise. - (VEC_VSTDCSP): Likewise. - (VEC_VSUBECUQ): Likewise. - (VEC_VSUBEUQM): Likewise. - (VEC_VSUBUDM): Likewise. - (VEC_VSUBUQM): Likewise. - (VEC_VTDCDP): Likewise. - (VEC_VTDCSP): Likewise. - (VEC_VUPKHSW): Likewise. - (VEC_VUPKLSW): Likewise. - -2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com> - - PR rtl-optimization/101260 - * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for - copy_regno. - -2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang> - - PR middle-end/95115 - * fold-const.cc (const_binop): Do not fold NaN result from - non-NaN operands. - -2022-02-01 Tom de Vries <tdevries@suse.de> - - * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for - -ftree-loop-distribute-patterns. - (loop_distribution::execute): Don't call transform_reduction_loop for - -fno-tree-loop-distribute-patterns. - -2022-01-31 Andrew Pinski <apinski@marvell.com> - - * fold-const.h (operand_compare::operand_equal_p): - Fix comment about OEP_* flags. - -2022-01-31 Jakub Jelinek <jakub@redhat.com> - - PR target/104298 - * config/rs6000/aix.h (OPTION_GLIBC): Remove. - * config/rs6000/darwin.h (OPTION_GLIBC): Likewise. - * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0 - if not already defined. - -2022-01-31 Martin Sebor <msebor@redhat.com> - - PR middle-end/104232 - * gimple-ssa-warn-access.cc (pointers_related_p): Add argument. - Handle PHIs. Add a synonymous overload. - (pass_waccess::check_pointer_uses): Call pointers_related_p. - -2022-01-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/100499 - * fold-const.cc (multiple_of_p): Pass the correct type of - the expression to the recursive invocation of multiple_of_p - for conversions and use CASE_CONVERT. - -2022-01-31 Eric Botcazou <ebotcazou@adacore.com> - - PR target/104189 - * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS. - -2022-01-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/100499 - * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p - on poly-ints instead of multiple_of_p. - * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise. - (non_rewritable_mem_ref_base): Likewise. - (non_rewritable_lvalue_p): Likewise. - (execute_update_addresses_taken): Likewise. - -2022-01-29 Jakub Jelinek <jakub@redhat.com> - Andrew Pinski <apinski@marvell.com> - - PR tree-optimization/104279 - PR tree-optimization/104280 - PR tree-optimization/104281 - * match.pd (1 / X -> X == 1 for unsigned X): Build eq with - boolean_type_node and convert to type. Formatting fixes. - -2022-01-28 Yoshinori Sato <yo-satoh@sios.com> - - * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a. - -2022-01-28 Navid Rahimi <navidrahimi@microsoft.com> - - PR tree-optimization/103514 - * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization. - (a & b) == (a ^ b) -> !(a | b): New optimization. - -2022-01-28 Marek Polacek <polacek@redhat.com> - - * doc/invoke.texi: Update -Wbidi-chars documentation. - -2022-01-28 Iain Sandoe <iain@sandoe.co.uk> - - * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0. - -2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com> - - PR tree-optimization/95424 - * match.pd: Simplify 1 / X where X is an integer. - -2022-01-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104263 - * gimple-ssa-store-merging.cc (get_status_for_store_merging): For - cfun->can_throw_non_call_exceptions && cfun->eh test whether - last non-debug stmt in the bb is store_valid_for_store_merging_p - rather than last stmt. - -2022-01-28 Martin Liska <mliska@suse.cz> - - * diagnostic.cc (diagnostic_action_after_output): Remove extra - newline. - -2022-01-28 Martin Liska <mliska@suse.cz> - - * config/rs6000/host-darwin.cc (segv_crash_handler): - Do not use leading capital letter. - (segv_handler): Likewise. - * ipa-sra.cc (verify_splitting_accesses): Likewise. - * varasm.cc (get_section): Likewise. - -2022-01-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104267 - * tree-vect-stmts.cc (vectorizable_call): Properly use the - per-argument determined vector type for externals and - invariants. - -2022-01-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104263 - * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges): - Purge edges also when !cfun->has_nonlocal_label - and !cfun->calls_setjmp. - -2022-01-28 Maciej W. Rozycki <macro@embecosm.com> - - * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type' - attributes. - -2022-01-28 Jakub Jelinek <jakub@redhat.com> - - PR lto/104237 - * cfgrtl.cc (loc_equal): New function. - (unique_locus_on_edge_between_p): Use it. - -2022-01-28 Richard Biener <rguenther@suse.de> - - * cfganal.h (mark_dfs_back_edges): Provide API with struct - function argument. - * cfganal.cc (mark_dfs_back_edges): Take a struct function - to work on, add a wrapper passing cfun. - * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun - uses with fun which is already passed. - (draw_cfg_edges): Likewise. - (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop - for fun != cfun. - -2022-01-27 Patrick Palka <ppalka@redhat.com> - - PR c++/99895 - * tree.cc (build_call_vec): Add const to second parameter. - * tree.h (build_call_vec): Likewise. - -2022-01-27 Martin Liska <mliska@suse.cz> - - PR web/104254 - * diagnostic.cc (diagnostic_initialize): - Initialize report_bug flag. - (diagnostic_action_after_output): - Explain that -freport-bug option can be used for pre-processed - file creation. Make the message shorter. - (error_recursion): Rename Internal to internal. - * diagnostic.h (struct diagnostic_context): New field. - * opts.cc (common_handle_option): Init the field here. - -2022-01-27 Kewen Lin <linkw@linux.ibm.com> - - PR target/103702 - * config/rs6000/rs6000.cc - (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong - assertion with early return. - -2022-01-27 Chung-Lin Tang <cltang@codesourcery.com> - - PR middle-end/103642 - * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling - for non-pointer or non-reference-to-pointer cases. - -2022-01-27 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104196 - * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument. - * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true, - return NULL and emit needed stmts before and after stmt. - * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt - pick as operand_entry that will hold the merged test the one feeding - earliest condition, ensure that by swapping range->idx with some - other range's idx if needed. If seq is non-NULL, don't actually swap - it but instead rewrite stmts with undefined overflow in between - the two locations. - (maybe_optimize_range_tests): Set ops[]->id to bb->index with the - corresponding condition even if they have non-NULL ops[]->op. - Formatting fix. - -2022-01-26 Jakub Jelinek <jakub@redhat.com> - - PR target/104239 - * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of - asm. - * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator - before for loop instead of for init clause. - * config/rs6000/bmi2intrin.h (_pext_u64): Likewise. - -2022-01-26 Jakub Jelinek <jakub@redhat.com> - - PR target/104239 - * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of - _X86INTRIN_H_INCLUDED and adjust #error wording. - * config/rs6000/bmi2intrin.h: Likewise. - -2022-01-26 Jakub Jelinek <jakub@redhat.com> - - PR debug/104194 - * dwarf2out.cc (long_double_as_float128): New function. - (modified_type_die): For powerpc64le IEEE 754 quad long double - and complex long double emit those as DW_TAG_typedef to - _Float128 or complex _Float128 base type. - -2022-01-26 Marek Polacek <polacek@redhat.com> - - PR target/104213 - * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't - warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free. - -2022-01-26 Martin Liska <mliska@suse.cz> - - * ipa-modref-tree.cc (modref_access_node::update): - Remove "--param param=foo" with "--param foo". - (modref_access_node::insert): Likewise. - (modref_access_node::insert_kill): Likewise. - * ipa-modref-tree.h (struct modref_ref_node): Likewise. - (struct modref_base_node): Likewise. - (struct modref_tree): Likewise. - -2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com> - - PR target/94193 - * builtins.cc (expand_builtin_feclear_feraise_except): Add op0 - predicate check. - -2022-01-25 Martin Sebor <msebor@redhat.com> - - PR tree-optimization/104203 - * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use - TV_WARN_ACCESS. - * pointer-query.cc (access_ref::merge_ref): Change return type. - Convert failure to a conservative success. - (access_ref::get_ref): Adjust to the change above. Short-circuit - PHI evaluation after first failure turned into conservative success. - * pointer-query.h (access_ref::merge_ref): Change return type. - * timevar.def (TV_WARN_ACCESS): New timer variable. - -2022-01-25 David Edelsohn <dje.gcc@gmail.com> - - * config/rs6000/aix.h (OPTION_GLIBC): Define as 0. - -2022-01-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104214 - * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use - stronger guarantees for relational pointer compares when - rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as - BASE0 + STEP0 - STEP1 cmp BASE1. - -2022-01-25 Jakub Jelinek <jakub@redhat.com> - - PR target/104172 - * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't - declare. - * config/rs6000/rs6000.cc (rs6000_passes_ieee128, - ieee128_mangling_gcc_8_1): Remove. - (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine. - (rs6000_mangle_type): Return "u9__ieee128" instead of - ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128". - (rs6000_globalize_decl_name): Remove. - * config/rs6000/rs6000-call.cc (init_cumulative_args, - rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128. - -2022-01-24 Martin Sebor <msebor@redhat.com> - - * pointer-query.cc (pointer_query::dump): Remove duplicate - block. - -2022-01-24 Marek Polacek <polacek@redhat.com> - - PR preprocessor/104030 - * doc/invoke.texi: Update documentation for -Wbidi-chars. - -2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com> - - PR target/94193 - * builtins.cc (expand_builtin_fegetround): New function. - (expand_builtin_feclear_feraise_except): New function. - (expand_builtin): Add cases for BUILT_IN_FEGETROUND, - BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT. - * config/rs6000/rs6000.md (fegetroundsi): New pattern. - (feclearexceptsi): New Pattern. - (feraiseexceptsi): New Pattern. - * doc/extend.texi: Add a new introductory paragraph about the - new builtins. - * doc/md.texi: (fegetround@var{m}): Document new optab. - (feclearexcept@var{m}): Document new optab. - (feraiseexcept@var{m}): Document new optab. - * optabs.def (fegetround_optab): New optab. - (feclearexcept_optab): New optab. - (feraiseexcept_optab): New optab. - -2022-01-24 Richard Biener <rguenther@suse.de> - Jiufu Guo <guojiufu@linux.ibm.com> - - PR tree-optimization/100740 - PR tree-optimization/101508 - PR tree-optimization/101972 - PR tree-optimization/102131 - * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly - constrain BASE0 + STEP0 cmp BASE1 + STEP1 to - BASE0 + STEP0 - STEP1 cmp BASE1 transform. - -2022-01-24 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/104158 - * opt-functions.awk (var_set): Handle EnumBitSet property. - * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is - specified. - * opts.h (enum cl_enum_var_value): New type. - * opts-common.cc (decode_cmdline_option): Use CLEV_* values. - Handle CLEV_BITSET. - (cmdline_handle_error): Handle CLEV_BITSET. - * opts.cc (test_enum_sets): Also test EnumBitSet requirements. - * doc/options.texi (EnumBitSet): Document. - * common.opt (fsanitize-coverage=): Use EnumBitSet instead of - EnumSet. - (trace-pc, trace-cmp): Drop Set properties. - -2022-01-24 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/104158 - * common.opt (flag_sanitize_coverage): Remove Variable entry. - (fsanitize-coverage=): Remove RejectNegative property, add - Var(flag_sanitize_coverage) and EnumSet properties. - (trace-pc): Add Set(1) property. - (trace-cmp): Add Set(2) property. - * opts.cc (common_handle_option): Don't handle - OPT_fsanitize_coverage_. - -2022-01-24 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/104158 - * opt-functions.awk (var_set): Handle EnumSet property. - * optc-gen.awk: Don't disallow RejectNegative if EnumSet is - specified. - * opt-read.awk: Handle Set property. - * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define. - (struct cl_decoded_option): Mention enum in value description. - Add mask member. - (set_option): Add mask argument defaulted to 0. - * opts.cc (test_enum_sets): New function. - (opts_cc_tests): Call it. - * opts-common.cc (enum_arg_to_value): Change return argument - from bool to int, on success return index into the cl_enum_arg - array, on failure -1. Add len argument, if non-0, use strncmp - instead of strcmp. - (opt_enum_arg_to_value): Adjust caller. - (decode_cmdline_option): Handle EnumSet represented as - CLVC_ENUM with non-zero var_value. Initialize decoded->mask. - (decode_cmdline_options_to_array): CLear opt_array[0].mask. - (handle_option): Pass decoded->mask to set_options last argument. - (generate_option): Clear decoded->mask. - (generate_option_input_file): Likewise. - (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG. - (set_option): Add mask argument, use it for CLVC_ENUM. - (control_warning_option): Adjust enum_arg_to_value caller. - * doc/options.texi: Document Set and EnumSet properties. - -2022-01-24 Jakub Jelinek <jakub@redhat.com> - - PR bootstrap/104170 - * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, - OPTION_BIONIC_P, OPTION_MUSL_P): Define. - (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine - using OPTION_*_P macros. - * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, - OPTION_BIONIC_P, OPTION_MUSL_P): Define. - (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine - using OPTION_*_P macros. - * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, - OPTION_BIONIC_P, OPTION_MUSL_P): Define. - (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine - using OPTION_*_P macros. - * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, - OPTION_BIONIC_P, OPTION_MUSL_P): Define. - (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine - using OPTION_*_P macros. - * config/fuchsia.h (OPTION_MUSL_P): Redefine. - * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined. - * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add - ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use - OPTION_GLIBC_P (opts) as condition, otherwise assume if (false). - * common/config/i386/i386-common.cc (ix86_supports_split_stack): If - OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition, - otherwise assume if (true). - -2022-01-24 Kito Cheng <kito.cheng@sifive.com> - - * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string): - Skip zicsr and zifencei if I-ext is 2.0. - -2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn> - - * config.gcc: Modify default isa_spec version. - -2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com> - - PR tree-optimization/102087 - * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap): - Correct PLUS result type. - -2022-01-24 H.J. Lu <hjl.tools@gmail.com> - - PR target/104188 - * config/i386/predicates.md (bcst_mem_operand): Also check mode - of memory broadcast. - -2022-01-23 Andrew Pinski <apinski@marvell.com> - - PR target/64821 - * config/aarch64/aarch64-builtins.cc - (aarch64_general_gimple_fold_builtin): Handle - __builtin_aarch64_sqrt* and simplify into SQRT internal - function. - -2022-01-22 Jakub Jelinek <jakub@redhat.com> - - PR other/104176 - * opts-global.cc (handle_common_deferred_options): Quote - --enable-plugin in diagnostics to avoid -Werror=format-diag. - -2022-01-21 Michael Meissner <meissner@the-meissners.org> - - PR target/104136 - * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete. - * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete. - * config/rs6000/rs6000.md (prefixed attribute): Delete section - that sets the prefixed attribute for xxspltiw, xxspltidp, and - xxsplti32dx instructions. - (movsf_hardfloat): Explicitly set the prefixed attribute - when xxspltiw and xxspltidp instructions are generated. - (mov<mode>_hardfloat32): Likewise. - (mov<mode>_hardfloat64): Likewise. - * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the - prefixed attribute for xxspltiw and xxspltidp instructions. - (vsx_mov<mode>_32bit): Likewise. - -2022-01-21 H.J. Lu <hjl.tools@gmail.com> - - PR bootstrap/104170 - * common/config/i386/i386-common.cc (ix86_supports_split_stack): - Return true only on glibc. - * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): - Revert commit c163647ffbc. - * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise. - -2022-01-21 Sören Tempel <soeren@soeren-tempel.net> - - * common/config/s390/s390-common.cc (s390_supports_split_stack): - Only support split-stack on glibc targets. - * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto. - * config/i386/gnu.h (defined): Ditto. - -2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com> - - * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for - vector float and vector double. - -2022-01-21 Bill Seurer <seurer@gcc.gnu.org> - - * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher): - Fix mention of ifunc in string. - -2022-01-21 Roger Sayle <roger@nextmovesoftware.com> - - PR middle-end/104140 - * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the - operands of the widening multiplication are either both signed or - both unsigned, and abort the conversion if mismatched. - * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node. - (MULT_HIGHPART_EXPR): Clarify that operands must have the same - signedness. - * tree.def (MULT_HIGHPART_EXPR): Document both operands must have - integer types with the same precision and signedness. - (WIDEN_MULT_EXPR): Document that operands must have integer types - with the same precision, but possibly differing signedness. - * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against - riscv_current_subset_list returning a NULL pointer (empty list). - -2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com> - - PR target/103676 - * ira.h (struct target_ira): Add member - x_ira_exclude_class_mode_regs. - (ira_exclude_class_mode_regs): New macro. - * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and - move from here ... - * lra-int.h: ... to here. - (lra_create_new_reg_with_unique_value): Add arg - exclude_start_hard_regs. - (class lra_reg): Add member exclude_start_hard_regs. - * lra-assigns.cc (find_hard_regno_for_1): Setup - impossible_start_hard_regs from exclude_start_hard_regs. - * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass - it lra_create_new_reg[_with_unique_value]. - (match_reload): Ditto. - (check_and_process_move): Pass NULL - exclude_start_hard_regs to lra_create_new_reg_with_unique_value. - (goal_alt_exclude_start_hard_regs): New static variable. - (process_addr_reg, simplify_operand_subreg): Pass NULL - exclude_start_hard_regs to lra_create_new_reg_with_unique_value - and get_reload_reg. - (process_alt_operands): Setup goal_alt_exclude_start_hard_regs. - Use this_alternative_exclude_start_hard_regs additionally to find - winning operand alternative. - (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL - exclude_start_hard_regs to lra_create_new_reg. - (process_address_1, emit_inc): Ditto. - (curr_insn_transform): Pass exclude_start_hard_regs value to - lra_create_new_reg, get_reload_reg, match_reload. - (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs - to lra_create_new_reg. - (process_invariant_for_inheritance): Ditto. - * lra-remat.cc (update_scratch_ops): Ditto. - * lra.cc (lra_create_new_reg_with_unique_value): Add arg - exclude_start_hard_regs. Setup the corresponding member of - lra reg info. - (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it - to lra_create_new_reg_with_unique_value. - (initialize_lra_reg_info_element): Initialize member - exclude_start_hard_regs. - (get_scratch_reg): Pass NULL to lra_create_new_reg. - * ira.cc (setup_prohibited_class_mode_regs): Rename to - setup_prohibited_and_exclude_class_mode_regs and calculate - ira_exclude_class_mode_regs. - -2022-01-21 Martin Liska <mliska@suse.cz> - - * configure.ac: Detect ld_is_mold and use it for - comdat_group=yes and gcc_cv_ld_hidden=yes. - * configure: Regenerate. - -2022-01-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/100089 - * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization - of if-converted loops with unvectorized COND_EXPRs for - all but the unlimited cost models. - -2022-01-21 Ard Biesheuvel <ardb@kernel.org> - - * config/arm/arm-opts.h (enum stack_protector_guard): New. - * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem): - New. - * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define. - (arm_option_override_internal): Handle and put in error checks. - for stack protector guard options. - (arm_option_reconfigure_globals): Likewise. - (arm_stack_protect_tls_canary_mem): New. - (arm_stack_protect_guard): New. - * config/arm/arm.md (stack_protect_set): New. - (stack_protect_set_tls): Likewise. - (stack_protect_test): Likewise. - (stack_protect_test_tls): Likewise. - (reload_tp_hard): Likewise. - * config/arm/arm.opt (-mstack-protector-guard): New - (-mstack-protector-guard-offset): New. - * doc/invoke.texi: Document new options. - -2022-01-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104156 - * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop): - Collect and reset debug stmts with out-of-loop uses when - hoisting guards. - (find_loop_guard): Adjust. - (empty_bb_without_guard_p): Likewise. Ignore debug stmts. - (used_outside_loop_p): Push debug uses to a vector of - debug stmts to reset. - (hoist_guard): Adjust -fopt-info category. - -2022-01-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104152 - * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing - can_duplicate_and_interleave_p check. - -2022-01-21 Jakub Jelinek <jakub@redhat.com> - - * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): - Avoid passing var to warning_at when the format string doesn't - refer to it. - -2022-01-21 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/103721 - * gimple-range-path.cc - (path_range_query::relations_may_be_invalidated): New. - (path_range_query::compute_ranges_in_block): Reset relations if - they may be invalidated. - (path_range_query::maybe_register_phi_relation): Exit if relations - may be invalidated on incoming edge. - (path_range_query::compute_phi_relations): Pass incoming PHI edge - to maybe_register_phi_relation. - * gimple-range-path.h (relations_may_be_invalidated): New. - (maybe_register_phi_relation): Pass edge instead of tree. - * tree-ssa-threadbackward.cc (back_threader::back_threader): - Mark DFS edges. - * value-relation.cc (path_oracle::path_oracle): Call - mark_dfs_back_edges. - (path_oracle::register_relation): Add SSA names to m_registered - bitmap. - (path_oracle::reset_path): Clear m_registered bitmap. - * value-relation.h (path_oracle::set_root_oracle): New. - -2022-01-21 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/102478 - * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't - force_reg constants and for -fnon-call-exceptions fail if copy_to_reg - would be needed. - -2022-01-20 Richard Biener <rguenther@suse.de> - - PR middle-end/100786 - * gimple-fold.cc (get_symbol_constant_value): Only return - values of compatible type to the symbol. - -2022-01-20 Andrew MacLeod <amacleod@redhat.com> - - * value-relation.cc (relation_oracle::valid_equivs): Query and add - if valid members of a set. - (equiv_oracle::register_equiv): Call valid_equivs rather than - bitmap direct operations. - (path_oracle::register_equiv): Ditto. - * value-relation.h (relation_oracle::valid_equivs): New prototype. - -2022-01-20 Richard Biener <rguenther@suse.de> - - PR target/100784 - * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for - LHS before folding __builtin_ia32_shufpd and friends. - -2022-01-20 Richard Earnshaw <rearnsha@arm.com> - - * config/arm/crypto.md (aes_op_protect): Allow moves from core - registers and from memory. - (aes_op_protect_misalign_load): New pattern. - (aes_op_protect_neon_vld1v16qi): New pattern. - -2022-01-20 Richard Earnshaw <rearnsha@arm.com> - - * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected): - New pattern. - (aarch32_crypto_aese_fused_protected): Likewise. - (aarch32_crypto_aesd_fused_protected): Likewise. - -2022-01-20 Richard Earnshaw <rearnsha@arm.com> - - * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert - to define_expand. Add mitigation for the Cortex-A AES erratum - when enabled. - (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based - on original crypto_<CRYPTO_AES:crypto_pattern> insn. - (aes_op_protect): New pattern. - * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT. - -2022-01-20 Richard Earnshaw <rearnsha@arm.com> - - * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature - (ALL_QUIRKS): Add it. - (cortex-a57, cortex-a72): Enable it. - (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise. - * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line - option. - (mfix-cortex-a72-aes-1655431): New option alias. - * config/arm/arm.cc (arm_option_override): Handle default settings - for AES erratum switch. - * doc/invoke.texi (Arm Options): Document new options. - -2022-01-20 Richard Earnshaw <rearnsha@arm.com> - - * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use - <crypto_mode> rather than hard-coding the mode. - (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space. - (crypto_<CRYPTO_AES:crypto_pattern>): Likewise. - (*aarch32_crypto_aese_fused): Likewise. - (*aarch32_crypto_aesd_fused): Likewise. - (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise. - (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise. - (crypto_sha1h_lb): Likewise. - (crypto_vmullp64): Likewise. - (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise. - (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise. - -2022-01-20 Richard Earnshaw <rearnsha@arm.com> - - * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add - iterator to pattern name to disambiguate. - (crypto_<CRYPTO_AES:crypto_pattern>): Likewise. - (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise. - (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise. - (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise. - (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise. - -2022-01-20 Martin Liska <mliska@suse.cz> - - PR bootstrap/104135 - * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings. - * rtl.cc: Partially disable -Wformat-diag for RTL checking - error messages. - -2022-01-20 Jakub Jelinek <jakub@redhat.com> - - PR debug/103874 - * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and - block_num > 0, index entry even if !have_multiple_function_sections. - -2022-01-20 liuhongt <hongtao.liu@intel.com> - - PR target/103771 - * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance - integral mode mask pack by multi steps which takes - vec_pack_sbool_trunc_optab as start when elements number is - less than BITS_PER_UNITS. - -2022-01-20 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104114 - * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose - single element vector decomposition. - -2022-01-19 Robin Dapp <rdapp@linux.ibm.com> - - * ifcvt.cc (noce_convert_multiple_sets_1): New function. - (noce_convert_multiple_sets): Call function a second time if we can - improve the first try. - -2022-01-19 Robin Dapp <rdapp@linux.ibm.com> - - * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the - reversed comparison. - (try_emit_cmove_seq): New function to facilitate creating a cmov - sequence. - (noce_convert_multiple_sets): Create two sequences and use the less - expensive one. - -2022-01-19 Robin Dapp <rdapp@linux.ibm.com> - - * rtl.h (struct rtx_comparison): New struct that holds an rtx - comparison. - * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of - single parameters. - (rs6000_emit_swsqrt): Likewise. - * expmed.cc (expand_sdiv_pow2): Likewise. - (emit_store_flag): Likewise. - * expr.cc (expand_cond_expr_using_cmove): Likewise. - (expand_expr_real_2): Likewise. - * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare - parameters. - * optabs.cc (emit_conditional_move_1): New function. - (expand_doubleword_shift_condmove): Use struct. - (emit_conditional_move): Use struct and allow to call directly - without going through preparation steps. - * optabs.h (emit_conditional_move): Use struct. - -2022-01-19 Robin Dapp <rdapp@linux.ibm.com> - - * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs. - (noce_process_if_block): Use potential costs. - -2022-01-19 Robin Dapp <rdapp@linux.ibm.com> - - * ifcvt.cc (noce_convert_multiple_sets): Allow constants. - (bb_ok_for_noce_convert_multiple_sets): Likewise. - -2022-01-19 Robin Dapp <rdapp@linux.ibm.com> - - * ifcvt.cc (need_cmov_or_rewire): New function. - (noce_convert_multiple_sets): Call it. - -2022-01-19 David Malcolm <dmalcolm@redhat.com> - - * attribs.cc (attribute_c_tests): Rename to... - (attribs_cc_tests): ...this. - * bitmap.cc (bitmap_c_tests): Rename to... - (bitmap_cc_tests): ...this. - * cgraph.cc (cgraph_c_finalize): Rename to... - (cgraph_cc_finalize): ...this. - (cgraph_c_tests): Rename to... - (cgraph_cc_tests): ...this. - * cgraph.h (cgraph_c_finalize): Rename to... - (cgraph_cc_finalize): ...this. - (cgraphunit_c_finalize): Rename to... - (cgraphunit_cc_finalize): ...this. - * cgraphunit.cc (cgraphunit_c_finalize): Rename to... - (cgraphunit_cc_finalize): ...this. - * convert.cc (convert_c_tests): Rename to... - (convert_cc_tests): ...this. - * dbgcnt.cc (dbgcnt_c_tests): Rename to... - (dbgcnt_cc_tests): ...this. - * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to... - (diagnostic_show_locus_cc_tests): ...this. - * diagnostic.cc (diagnostic_c_tests): Rename to... - (diagnostic_cc_tests): ...this. - * dumpfile.cc (dumpfile_c_tests): Rename to... - (dumpfile_cc_tests): ...this. - * dwarf2out.cc (dwarf2out_c_finalize): Rename to... - (dwarf2out_cc_finalize): ...this. - * dwarf2out.h (dwarf2out_c_finalize): Rename to... - (dwarf2out_cc_finalize): ...this. - * edit-context.cc (edit_context_c_tests): Rename to... - (edit_context_cc_tests): ...this. - * et-forest.cc (et_forest_c_tests): Rename to... - (et_forest_cc_tests): ...this. - * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to... - (fibonacci_heap_cc_tests): ...this. - * fold-const.cc (fold_const_c_tests): Rename to... - (fold_const_cc_tests): ...this. - * function-tests.cc (function_tests_c_tests): Rename to... - (function_tests_cc_tests): ...this. - * gcse.cc (gcse_c_finalize): Rename to... - (gcse_cc_finalize): ...this. - * gcse.h (gcse_c_finalize): Rename to... - (gcse_cc_finalize): ...this. - * ggc-tests.cc (ggc_tests_c_tests): Rename to... - (ggc_tests_cc_tests): ...this. - * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to... - (store_merging_cc_tests): ...this. - * gimple.cc (gimple_c_tests): Rename to... - (gimple_cc_tests): ...this. - * hash-map-tests.cc (hash_map_tests_c_tests): Rename to... - (hash_map_tests_cc_tests): ...this. - * hash-set-tests.cc (hash_set_tests_c_tests): Rename to... - (hash_set_tests_cc_tests): ...this. - * input.cc (input_c_tests): Rename to... - (input_cc_tests): ...this. - * ipa-cp.cc (ipa_cp_c_finalize): Rename to... - (ipa_cp_cc_finalize): ...this. - * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to... - (ipa_fnsummary_cc_finalize): ...this. - * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to... - (ipa_fnsummary_cc_finalize): ...this. - * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to... - (ipa_modref_tree_cc_tests): ...this. - * ipa-modref-tree.h (modref_c_tests): Delete bogus decl. - * ipa-modref.cc (ipa_modref_c_finalize): Rename to... - (ipa_modref_cc_finalize): ...this. - * ipa-modref.h (ipa_modref_c_finalize): Rename to... - (ipa_modref_cc_finalize): ...this. - * ipa-prop.h (ipa_cp_c_finalize): Rename to... - (ipa_cp_cc_finalize): ...this. - * ipa-reference.cc (ipa_reference_c_finalize): Rename to... - (ipa_reference_cc_finalize): ...this. - * ipa-reference.h (ipa_reference_c_finalize): Rename to... - (ipa_reference_cc_finalize): ...this. - * ira-costs.cc (ira_costs_c_finalize): Rename to... - (ira_costs_cc_finalize): ...this. - * ira.h (ira_costs_c_finalize): Rename to... - (ira_costs_cc_finalize): ...this. - * opt-suggestions.cc (opt_proposer_c_tests): Rename to... - (opt_suggestions_cc_tests): ...this. - * opts.cc (opts_c_tests): Rename to... - (opts_cc_tests): ...this. - * predict.cc (predict_c_tests): Rename to... - (predict_cc_tests): ...this. - * pretty-print.cc (pretty_print_c_tests): Rename to... - (pretty_print_cc_tests): ...this. - * read-rtl-function.cc (read_rtl_function_c_tests): Rename to... - (read_rtl_function_cc_tests): ...this. - * rtl-tests.cc (rtl_tests_c_tests): Rename to... - (rtl_tests_cc_tests): ...this. - * sbitmap.cc (sbitmap_c_tests): Rename to... - (sbitmap_cc_tests): ...this. - * selftest-run-tests.cc (selftest::run_tests): Update calls for - _c_ to _cc_ function renamings; fix names of attribs and - opt-suggestions tests. - * selftest.cc (selftest_c_tests): Rename to... - (selftest_cc_tests): ...this. - * selftest.h (attribute_c_tests): Rename to... - (attribs_cc_tests): ...this. - (bitmap_c_tests): Rename to... - (bitmap_cc_tests): ...this. - (cgraph_c_tests): Rename to... - (cgraph_cc_tests): ...this. - (convert_c_tests): Rename to... - (convert_cc_tests): ...this. - (diagnostic_c_tests): Rename to... - (diagnostic_cc_tests): ...this. - (diagnostic_show_locus_c_tests): Rename to... - (diagnostic_show_locus_cc_tests): ...this. - (dumpfile_c_tests): Rename to... - (dumpfile_cc_tests): ...this. - (edit_context_c_tests): Rename to... - (edit_context_cc_tests): ...this. - (et_forest_c_tests): Rename to... - (et_forest_cc_tests): ...this. - (fibonacci_heap_c_tests): Rename to... - (fibonacci_heap_cc_tests): ...this. - (fold_const_c_tests): Rename to... - (fold_const_cc_tests): ...this. - (function_tests_c_tests): Rename to... - (function_tests_cc_tests): ...this. - (ggc_tests_c_tests): Rename to... - (ggc_tests_cc_tests): ...this. - (gimple_c_tests): Rename to... - (gimple_cc_tests): ...this. - (hash_map_tests_c_tests): Rename to... - (hash_map_tests_cc_tests): ...this. - (hash_set_tests_c_tests): Rename to... - (hash_set_tests_cc_tests): ...this. - (input_c_tests): Rename to... - (input_cc_tests): ...this. - (opts_c_tests): Rename to... - (opts_cc_tests): ...this. - (predict_c_tests): Rename to... - (predict_cc_tests): ...this. - (pretty_print_c_tests): Rename to... - (pretty_print_cc_tests): ...this. - (read_rtl_function_c_tests): Rename to... - (read_rtl_function_cc_tests): ...this. - (rtl_tests_c_tests): Rename to... - (rtl_tests_cc_tests): ...this. - (sbitmap_c_tests): Rename to... - (sbitmap_cc_tests): ...this. - (selftest_c_tests): Rename to... - (selftest_cc_tests): ...this. - (simplify_rtx_c_tests): Rename to... - (simplify_rtx_cc_tests): ...this. - (spellcheck_c_tests): Rename to... - (spellcheck_cc_tests): ...this. - (spellcheck_tree_c_tests): Rename to... - (spellcheck_tree_cc_tests): ...this. - (sreal_c_tests): Rename to... - (sreal_cc_tests): ...this. - (store_merging_c_tests): Rename to... - (store_merging_cc_tests): ...this. - (tree_c_tests): Rename to... - (tree_cc_tests): ...this. - (tree_cfg_c_tests): Rename to... - (tree_cfg_cc_tests): ...this. - (typed_splay_tree_c_tests): Rename to... - (typed_splay_tree_cc_tests): ...this. - (vec_c_tests): Rename to... - (vec_cc_tests): ...this. - (vec_perm_indices_c_tests): Rename to... - (vec_perm_indices_cc_tests): ..this. - (opt_proposer_c_tests): Rename to... - (opt_suggestions_cc_tests): ...this. - (dbgcnt_c_tests): Rename to... - (dbgcnt_cc_tests): ...this. - (ipa_modref_tree_c_tests): Rename to... - (ipa_modref_tree_cc_tests): ...this. - * simplify-rtx.cc (simplify_rtx_c_tests): Rename to... - (simplify_rtx_cc_tests): ...this. - * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to... - (spellcheck_tree_cc_tests): ...this. - * spellcheck.cc (spellcheck_c_tests): Rename to... - (spellcheck_cc_tests): ...this. - * sreal.cc (sreal_c_tests): Rename to... - (sreal_cc_tests): ...this. - * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_ - function renamings. - * tree-cfg.cc (tree_cfg_c_tests): Rename to... - (tree_cfg_cc_tests): ...this. - * tree.cc (tree_c_tests): Rename to... - (tree_cc_tests): ...this. - * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to... - (typed_splay_tree_cc_tests): ...this. - * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to... - (vec_perm_indices_cc_tests): ...this. - * vec.cc (vec_c_tests): Rename to... - (vec_cc_tests): ...this. - -2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR tree-optimization/103997 - * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue - vectorization. - -2022-01-19 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/102860 - * match.pd (x %[fl] y -> x % y): New simplification for - unsigned integral types. - * optabs-tree.cc (optab_for_tree_code): Return unknown_optab - for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE. - -2022-01-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104112 - * tree-vect-loop.cc (vect_find_reusable_accumulator): Check - for required intermediate vector types. - -2022-01-19 Jakub Jelinek <jakub@redhat.com> - - * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:. - -2022-01-19 Martin Liska <mliska@suse.cz> - - * configure.ac: Remove -Wno-error=format-diag. - * configure: Regenerate. - -2022-01-19 Martin Liska <mliska@suse.cz> - - * config/riscv/riscv.cc (riscv_handle_type_attribute): - Update one -Wformat-diag string in warning message. - -2022-01-19 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104103 - * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check - .ASAN_MARK calls. - -2022-01-19 Jakub Jelinek <jakub@redhat.com> - - PR c++/89074 - * fold-const.cc (address_compare): Consider different STRING_CSTs - with the same lengths that memcmp the same as equal, not different. - -2022-01-19 Jakub Jelinek <jakub@redhat.com> - - * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of - {%0}. - -2022-01-19 Martin Liska <mliska@suse.cz> - Thomas Schwinge <thomas@codesourcery.com> - - * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update - warning messages. - -2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de> - - PR target/104090 - * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also - rs6000_cpu. - -2022-01-19 Jakub Jelinek <jakub@redhat.com> - - PR target/104104 - * config/i386/sse.md - (<avx512>_<complexopname>_<mode><maskc_name><round_name>, - avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>, - avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>, - avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>, - avx512dq_rangep<mode><mask_name><round_saeonly_name>, - avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>, - <avx512>_getmant<mode><mask_name><round_saeonly_name>, - avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>): - Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}. - -2022-01-19 Martin Sebor <msebor@redhat.com> - - PR middle-end/104069 - * gimple-ssa-warn-access.cc (pointers_related_p): Return false for - an unknown result as documented. - -2022-01-18 Andrew Pinski <apinski@marvell.com> - - * ipa-split.cc (visit_bb): Fix comment before the - warning/error attribute checking code. - -2022-01-18 David Faust <david.faust@oracle.com> - - * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account - for base strtab offset yet as it may change. - (output_asm_btfext_core_reloc): Do so here instead. - (output_btfext_core_sections): Likewise. - -2022-01-18 David Faust <david.faust@oracle.com> - - * config/bpf/coreout.cc (output_btfext_header): Account for - 4-byte record size in core_relo_len. - (output_btfext_core_sections): Only write record size once. - * config/bpf/coreout.h (btf_ext_section_header): Delete unused - member. - -2022-01-18 Maciej W. Rozycki <macro@embecosm.com> - - * common/config/riscv/riscv-common.cc - (riscv_subset_list::parse_multiletter_ext): Move pointer - arithmetic ahead of `free'. - -2022-01-18 Jason Merrill <jason@redhat.com> - - PR c++/104007 - * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional - context. - -2022-01-18 Sandra Loosemore <sandra@codesourcery.com> - - PR middle-end/103163 - * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here... - (init_emit_once): ...not here. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * collect2.cc (scan_libraries): Fix -Wformat-diag issues. - * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise. - * config/arc/arc.md: Likewise. - * config/avr/avr.cc (avr_section_type_flags): Likewise. - * config/bfin/bfin.cc (bfin_option_override): Likewise. - (bfin_handle_longcall_attribute): Likewise. - * config/cris/cris.h (FUNCTION_PROFILER): Likewise. - * config/frv/frv.cc (frv_expand_builtin): Likewise. - * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise. - * config/iq2000/iq2000.cc (save_restore_insns): Likewise. - (iq2000_print_operand_address): Likewise. - (iq2000_print_operand): Likewise. - * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise. - (m32c_pragma_address): Likewise. - * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise. - * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise. - (mips_set_compression_mode): Likewise. - * config/mmix/mmix.cc (mmix_function_profiler): Likewise. - (mmix_print_operand): Likewise. - (mmix_output_shiftvalue_op_from_str): Likewise. - (mmix_output_shifted_value): Likewise. - * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise. - * config/msp430/msp430.cc (msp430_option_override): Likewise. - (msp430_attr): Likewise. - (msp430_expand_delay_cycles): Likewise. - (msp430_expand_builtin): Likewise. - * config/rs6000/aix73.h: Likewise. - * config/rs6000/rtems.h (INVALID_64BIT): Likewise. - * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise. - (valid_psw_flag): Likewise. - * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise. - * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise. - (xstormy16_expand_builtin_va_start): Likewise. - (xstormy16_handle_below100_attribute): Likewise. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag - warning. - (vms_pragma_standard): Likewise. - (vms_pragma_extern_prefix): Likewise. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * config/xtensa/xtensa.cc (print_operand): Fix warnings. - (print_operand_address): Likewise. - (xtensa_multibss_section_type_flags): Likewise. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change - wording of an error message. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag - warning. - (ghs_pragma_section): Likewise. - (ghs_pragma_interrupt): Likewise. - (ghs_pragma_starttda): Likewise. - (ghs_pragma_startsda): Likewise. - (ghs_pragma_startzda): Likewise. - (ghs_pragma_endtda): Likewise. - (ghs_pragma_endsda): Likewise. - (ghs_pragma_endzda): Likewise. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl): - Fix warnings. - * config/nds32/nds32-intrinsic.md: Likewise. - * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise. - * config/nds32/nds32.cc (nds32_print_operand): Likewise. - (nds32_insert_attributes): Likewise. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap - keyword. - * config/nvptx/nvptx.md: Remove trailing dot. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * common/config/riscv/riscv-common.cc (riscv_subset_list::add): - Wrap keywords with quotes and remove trailing dots. - (riscv_subset_list::parsing_subset_version): Likewise. - (riscv_subset_list::parse_std_ext): Likewise. - (riscv_subset_list::parse_multiletter_ext): Likewise. - * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise. - -2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new - argument suggested_unroll_factor. - (vect_analyze_loop_costing): Likewise. - (_loop_vec_info::_loop_vec_info): Initialize new member - suggested_unroll_factor. - (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled - main loop use partial vectors. - (vect_analyze_loop_2): Pass and use new argument - suggested_unroll_factor. - (vect_analyze_loop_1): Change to intialize local - suggested_unroll_factor and use it. - (vectorizable_reduction): Don't use single_defuse_cycle when unrolling. - * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member - suggested_unroll_factor. - (vector_costs::vector_costs): Add new member m_suggested_unroll_factor. - (vector_costs::suggested_unroll_factor): New getter function. - (finish_cost): Set return argument suggested_unroll_factor. - -2022-01-18 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/104038 - * doc/invoke.texi (relation-block-limit): New. - * params.opt (relation-block-limit): New. - * value-relation.cc (dom_oracle::register_relation): Check for NULL - record before invoking transitive registery. - (dom_oracle::set_one_relation): Check limit before creating record. - (dom_oracle::register_transitives): Stop when no record created. - * value-relation.h (relation_chain_head::m_num_relations): New. - -2022-01-18 Richard Biener <rguenther@suse.de> - - PR ipa/103989 - * ipa-inline.cc (inline_small_functions): Do not enqueue call - edges originating in functions compiled with -Og. - -2022-01-18 Richard Biener <rguenther@suse.de> - - PR ipa/103989 - * passes.def (pass_all_optimizations_g): Remove pass_modref - and pass_local_pure_const. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * config/s390/s390.cc: Fix -Wformat-diag warnings. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap - keyword in quotes. - (s390_resolve_overloaded_builtin): Remove trailing dot. - * config/s390/s390.cc (s390_const_operand_ok): Use - for range. - (s390_expand_builtin): Remove trailing dot. - (s390_emit_prologue): Likewise, use semicolon. - (s390_option_override_internal): Update keyword. - * varasm.cc (do_assemble_alias): Wrap keyword in quotes. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap - keywords and use %qs instead of %<%s%>. - -2022-01-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103987 - * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref - query with a pointer check. - -2022-01-18 Richard Sandiford <richard.sandiford@arm.com> - - PR target/104005 - * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems): - When using MEM_EXPR, require the base to be a decl. - -2022-01-18 Richard Biener <rguenther@suse.de> - - * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to - avoid padding. - * function.h (struct function): Likewise. - -2022-01-18 Arnaud Charlet <charlet@adacore.com> - - * doc/install.texi: Update prerequisites for GNAT - -2022-01-18 Andrew Pinski <apinski@marvell.com> - - PR tree-optimization/101941 - * ipa-split.cc (visit_bb): Disallow function calls where - the function has either error or warning attribute. - -2022-01-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104064 - * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check - DR_INIT fits in a signed HWI, represent the difference from the - first DR in unsigned. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * Makefile.in: Rename .c names to .cc. - * config.gcc: Likewise. - * configure: Regenerate. Likewise. - * configure.ac: Likewise. - * gengtype.cc (set_gc_used): Likewise. - (source_dot_c_frul): Likewise. - (source_dot_cc_frul): Likewise. - (struct file_rule_st): Likewise. - (close_output_files): Likewise. - * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * Makefile.in: Rename .c names to .cc. - * alias.h: Likewise. - * asan.cc: Likewise. - * auto-profile.h: Likewise. - * basic-block.h (struct basic_block_d): Likewise. - * btfout.cc: Likewise. - * builtins.cc (expand_builtin_longjmp): Likewise. - (validate_arg): Likewise. - (access_ref::offset_bounded): Likewise. - * caller-save.cc (reg_restore_code): Likewise. - (setup_save_areas): Likewise. - * calls.cc (initialize_argument_information): Likewise. - (expand_call): Likewise. - (emit_library_call_value_1): Likewise. - * cfg-flags.def (RTL): Likewise. - (SIBCALL): Likewise. - (CAN_FALLTHRU): Likewise. - * cfganal.cc (post_order_compute): Likewise. - * cfgcleanup.cc (try_simplify_condjump): Likewise. - (merge_blocks_move_predecessor_nojumps): Likewise. - (merge_blocks_move_successor_nojumps): Likewise. - (merge_blocks_move): Likewise. - (old_insns_match_p): Likewise. - (try_crossjump_bb): Likewise. - * cfgexpand.cc (expand_gimple_stmt): Likewise. - * cfghooks.cc (split_block_before_cond_jump): Likewise. - (profile_record_check_consistency): Likewise. - * cfghooks.h: Likewise. - * cfgrtl.cc (pass_free_cfg::execute): Likewise. - (rtl_can_merge_blocks): Likewise. - (try_redirect_by_replacing_jump): Likewise. - (make_pass_outof_cfg_layout_mode): Likewise. - (cfg_layout_can_merge_blocks_p): Likewise. - * cgraph.cc (release_function_body): Likewise. - (cgraph_node::get_fun): Likewise. - * cgraph.h (struct cgraph_node): Likewise. - (asmname_hasher::equal): Likewise. - (cgraph_inline_failed_type): Likewise. - (thunk_adjust): Likewise. - (dump_callgraph_transformation): Likewise. - (record_references_in_initializer): Likewise. - (ipa_discover_variable_flags): Likewise. - * cgraphclones.cc (GTY): Likewise. - * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise. - * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise. - * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise. - * collect2.cc (maybe_run_lto_and_relink): Likewise. - * combine-stack-adj.cc: Likewise. - * combine.cc (setup_incoming_promotions): Likewise. - (combine_simplify_rtx): Likewise. - (count_rtxs): Likewise. - * common.opt: Likewise. - * common/config/aarch64/aarch64-common.cc: Likewise. - * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise. - * common/config/avr/avr-common.cc: Likewise. - * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise. - * conditions.h: Likewise. - * config.gcc: Likewise. - * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise. - * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise. - (aarch64_get_extension_string_for_isa_flags): Likewise. - * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise. - * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise. - (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise. - (aarch64_option_valid_attribute_p): Likewise. - (aarch64_short_vector_p): Likewise. - (aarch64_float_const_representable_p): Likewise. - * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise. - (ASM_OUTPUT_POOL_EPILOGUE): Likewise. - (GTY): Likewise. - * config/aarch64/cortex-a57-fma-steering.cc: Likewise. - * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise. - * config/aarch64/t-aarch64: Likewise. - * config/aarch64/x-aarch64: Likewise. - * config/aarch64/x-darwin: Likewise. - * config/alpha/alpha-protos.h: Likewise. - * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise. - * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise. - (enum reg_class): Likewise. - * config/alpha/alpha.md: Likewise. - * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise. - * config/alpha/x-alpha: Likewise. - * config/arc/arc-protos.h (arc_eh_uses): Likewise. - * config/arc/arc.cc (ARC_OPT): Likewise. - (arc_ccfsm_advance): Likewise. - (arc_arg_partial_bytes): Likewise. - (conditionalize_nonjump): Likewise. - * config/arc/arc.md: Likewise. - * config/arc/builtins.def: Likewise. - * config/arc/t-arc: Likewise. - * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise. - (arm_pragma_target_parse): Likewise. - * config/arm/arm-protos.h (save_restore_target_globals): Likewise. - (arm_cpu_cpp_builtins): Likewise. - * config/arm/arm.cc (vfp3_const_double_index): Likewise. - (shift_op): Likewise. - (thumb2_final_prescan_insn): Likewise. - (arm_final_prescan_insn): Likewise. - (arm_asm_output_labelref): Likewise. - (arm_small_register_classes_for_mode_p): Likewise. - * config/arm/arm.h: Likewise. - * config/arm/arm.md: Likewise. - * config/arm/driver-arm.cc: Likewise. - * config/arm/symbian.h: Likewise. - * config/arm/t-arm: Likewise. - * config/arm/thumb1.md: Likewise. - * config/arm/x-arm: Likewise. - * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise. - * config/avr/avr-fixed.md: Likewise. - * config/avr/avr-log.cc (avr_log_vadump): Likewise. - * config/avr/avr-mcus.def: Likewise. - * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise. - * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise. - * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise. - * config/avr/avr.cc (avr_option_override): Likewise. - (avr_build_builtin_va_list): Likewise. - (avr_mode_dependent_address_p): Likewise. - (avr_function_arg_advance): Likewise. - (avr_asm_output_aligned_decl_common): Likewise. - * config/avr/avr.h (RETURN_ADDR_RTX): Likewise. - (SUPPORTS_INIT_PRIORITY): Likewise. - * config/avr/avr.md: Likewise. - * config/avr/builtins.def: Likewise. - * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise. - * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise. - (main): Likewise. - * config/avr/t-avr: Likewise. - * config/bfin/bfin.cc (frame_related_constant_load): Likewise. - * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise. - * config/bpf/bpf.h (enum reg_class): Likewise. - * config/bpf/t-bpf: Likewise. - * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise. - * config/cr16/cr16-protos.h: Likewise. - * config/cris/cris.cc (cris_address_cost): Likewise. - (cris_side_effect_mode_ok): Likewise. - (cris_init_machine_status): Likewise. - (cris_emit_movem_store): Likewise. - * config/cris/cris.h (INDEX_REG_CLASS): Likewise. - (enum reg_class): Likewise. - (struct cum_args): Likewise. - * config/cris/cris.opt: Likewise. - * config/cris/sync.md: Likewise. - * config/csky/csky.cc (csky_expand_prologue): Likewise. - * config/darwin-c.cc: Likewise. - * config/darwin-f.cc: Likewise. - * config/darwin-sections.def (zobj_const_section): Likewise. - * config/darwin.cc (output_objc_section_asm_op): Likewise. - (fprintf): Likewise. - * config/darwin.h (GTY): Likewise. - * config/elfos.h: Likewise. - * config/epiphany/epiphany-sched.md: Likewise. - * config/epiphany/epiphany.cc (epiphany_function_value): Likewise. - * config/epiphany/epiphany.h (GTY): Likewise. - (NO_FUNCTION_CSE): Likewise. - * config/epiphany/mode-switch-use.cc: Likewise. - * config/epiphany/predicates.md: Likewise. - * config/epiphany/t-epiphany: Likewise. - * config/fr30/fr30-protos.h: Likewise. - * config/frv/frv-protos.h: Likewise. - * config/frv/frv.cc (TLS_BIAS): Likewise. - * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise. - * config/ft32/ft32-protos.h: Likewise. - * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise. - * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise. - * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise. - * config/gcn/t-gcn-hsa: Likewise. - * config/gcn/t-omp-device: Likewise. - * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise. - (same_cmp_following_p): Likewise. - * config/h8300/h8300.cc (F): Likewise. - * config/h8300/h8300.h (struct cum_arg): Likewise. - (BRANCH_COST): Likewise. - * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise. - * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise. - * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise. - * config/i386/driver-i386.cc (detect_caches_intel): Likewise. - * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise. - * config/i386/i386-c.cc (ix86_target_macros): Likewise. - * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise. - * config/i386/i386-options.cc (ix86_set_func_type): Likewise. - * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise. - (ix86_register_pragmas): Likewise. - (ix86_d_has_stdcall_convention): Likewise. - (i386_pe_seh_init_sections): Likewise. - * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise. - (ix86_function_value_regno_p): Likewise. - (ix86_compute_frame_layout): Likewise. - (legitimize_pe_coff_symbol): Likewise. - (output_pic_addr_const): Likewise. - * config/i386/i386.h (defined): Likewise. - (host_detect_local_cpu): Likewise. - (CONSTANT_ADDRESS_P): Likewise. - (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise. - (struct machine_frame_state): Likewise. - * config/i386/i386.md: Likewise. - * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise. - * config/i386/mmx.md: Likewise. - * config/i386/sse.md: Likewise. - * config/i386/t-cygming: Likewise. - * config/i386/t-djgpp: Likewise. - * config/i386/t-gnu-property: Likewise. - * config/i386/t-i386: Likewise. - * config/i386/t-intelmic: Likewise. - * config/i386/t-omp-device: Likewise. - * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise. - (i386_pe_adjust_class_at_definition): Likewise. - * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise. - (i386_pe_mangle_decl_assembler_name): Likewise. - (i386_pe_encode_section_info): Likewise. - * config/i386/x-cygwin: Likewise. - * config/i386/x-darwin: Likewise. - * config/i386/x-i386: Likewise. - * config/i386/x-mingw32: Likewise. - * config/i386/x86-tune-sched-core.cc: Likewise. - * config/i386/x86-tune.def: Likewise. - * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise. - * config/ia64/freebsd.h: Likewise. - * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise. - * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise. - * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise. - (ia64_secondary_reload_class): Likewise. - (bundling): Likewise. - * config/ia64/ia64.h: Likewise. - * config/ia64/ia64.md: Likewise. - * config/ia64/predicates.md: Likewise. - * config/ia64/sysv4.h: Likewise. - * config/ia64/t-ia64: Likewise. - * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise. - * config/iq2000/iq2000.md: Likewise. - * config/linux.h (TARGET_HAS_BIONIC): Likewise. - (if): Likewise. - * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise. - * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise. - * config/m32c/t-m32c: Likewise. - * config/m32r/m32r-protos.h: Likewise. - * config/m32r/m32r.cc (m32r_print_operand): Likewise. - * config/m32r/m32r.h: Likewise. - * config/m32r/m32r.md: Likewise. - * config/m68k/m68k-isas.def: Likewise. - * config/m68k/m68k-microarchs.def: Likewise. - * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise. - (m68k_epilogue_uses): Likewise. - * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise. - (m68k_sched_adjust_cost): Likewise. - (m68k_sched_md_init): Likewise. - * config/m68k/m68k.h (__transfer_from_trampoline): Likewise. - (enum m68k_function_kind): Likewise. - * config/m68k/m68k.md: Likewise. - * config/m68k/m68kemb.h: Likewise. - * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise. - * config/mcore/mcore-protos.h: Likewise. - * config/mcore/mcore.cc (mcore_expand_insv): Likewise. - (mcore_expand_prolog): Likewise. - * config/mcore/mcore.h (TARGET_MCORE): Likewise. - * config/mcore/mcore.md: Likewise. - * config/microblaze/microblaze-protos.h: Likewise. - * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise. - (microblaze_function_prologue): Likewise. - (microblaze_function_epilogue): Likewise. - (microblaze_select_section): Likewise. - (microblaze_asm_output_mi_thunk): Likewise. - (microblaze_eh_return): Likewise. - * config/microblaze/microblaze.h: Likewise. - * config/microblaze/microblaze.md: Likewise. - * config/microblaze/t-microblaze: Likewise. - * config/mips/driver-native.cc: Likewise. - * config/mips/loongson2ef.md: Likewise. - * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise. - * config/mips/mips.cc (mips_rtx_costs): Likewise. - (mips_output_filename): Likewise. - (mips_output_function_prologue): Likewise. - (mips_output_function_epilogue): Likewise. - (mips_output_mi_thunk): Likewise. - * config/mips/mips.h: Likewise. - * config/mips/mips.md: Likewise. - * config/mips/t-mips: Likewise. - * config/mips/x-native: Likewise. - * config/mmix/mmix-protos.h: Likewise. - * config/mmix/mmix.cc (mmix_option_override): Likewise. - (mmix_dbx_register_number): Likewise. - (mmix_expand_prologue): Likewise. - * config/mmix/mmix.h: Likewise. - * config/mmix/mmix.md: Likewise. - * config/mmix/predicates.md: Likewise. - * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise. - (mn10300_legitimate_pic_operand_p): Likewise. - * config/mn10300/mn10300.h (enum reg_class): Likewise. - (NO_FUNCTION_CSE): Likewise. - * config/moxie/moxie-protos.h: Likewise. - * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise. - * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise. - * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise. - (msp430_incoming_return_addr_rtx): Likewise. - * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise. - * config/msp430/t-msp430: Likewise. - * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise. - (nds32_rtx_costs_size_prefer): Likewise. - (nds32_init_rtx_costs): Likewise. - * config/nds32/nds32-doubleword.md: Likewise. - * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise. - (nds32_builtin_decl): Likewise. - * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise. - (enum nds32_isr_nested_type): Likewise. - (enum reg_class): Likewise. - * config/nds32/predicates.md: Likewise. - * config/nds32/t-nds32: Likewise. - * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise. - * config/nvptx/nvptx-protos.h: Likewise. - * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise. - * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise. - * config/nvptx/t-nvptx: Likewise. - * config/nvptx/t-omp-device: Likewise. - * config/pa/elf.h: Likewise. - * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise. - * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise. - * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise. - * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise. - (pa_legitimize_reload_address): Likewise. - (pa_can_use_return_insn): Likewise. - * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise. - (som_output_text_section_asm_op): Likewise. - * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise. - * config/pa/pa.md: Likewise. - * config/pa/som.h: Likewise. - * config/pa/t-pa: Likewise. - * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise. - * config/pdp11/pdp11.h: Likewise. - * config/pdp11/pdp11.md: Likewise. - * config/pdp11/t-pdp11: Likewise. - * config/pru/pru.md: Likewise. - * config/pru/t-pru: Likewise. - * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise. - (riscv_gpr_save_operation_p): Likewise. - (riscv_d_register_target_info): Likewise. - (riscv_init_builtins): Likewise. - * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise. - * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise. - * config/riscv/t-riscv: Likewise. - * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise. - * config/rl78/t-rl78: Likewise. - * config/rs6000/aix.h: Likewise. - * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise. - * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise. - * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise. - * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise. - * config/rs6000/driver-rs6000.cc: Likewise. - * config/rs6000/freebsd.h: Likewise. - * config/rs6000/freebsd64.h: Likewise. - * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise. - * config/rs6000/rbtree.cc: Likewise. - * config/rs6000/rbtree.h: Likewise. - * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise. - * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise. - (rs6000_expand_builtin): Likewise. - (rs6000_init_builtins): Likewise. - * config/rs6000/rs6000-cpus.def: Likewise. - * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise. - * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise. - (quad_address_offset_p): Likewise. - * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise. - (rs6000_emit_epilogue): Likewise. - * config/rs6000/rs6000-overload.def: Likewise. - * config/rs6000/rs6000-p8swap.cc: Likewise. - * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise. - (rs6000_const_f32_to_i32): Likewise. - * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise. - (rs6000_debug_legitimize_address): Likewise. - (rs6000_mode_dependent_address): Likewise. - (rs6000_adjust_priority): Likewise. - (rs6000_c_mode_for_suffix): Likewise. - * config/rs6000/rs6000.h (defined): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/rs6000/rs6000.md: Likewise. - * config/rs6000/sysv4.h: Likewise. - * config/rs6000/t-linux: Likewise. - * config/rs6000/t-linux64: Likewise. - * config/rs6000/t-rs6000: Likewise. - * config/rs6000/x-darwin: Likewise. - * config/rs6000/x-darwin64: Likewise. - * config/rs6000/x-rs6000: Likewise. - * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise. - * config/rx/rx.cc (rx_expand_builtin): Likewise. - * config/s390/constraints.md: Likewise. - * config/s390/driver-native.cc: Likewise. - * config/s390/htmxlintrin.h: Likewise. - * config/s390/s390-builtins.def (B_DEF): Likewise. - (OB_DEF_VAR): Likewise. - * config/s390/s390-builtins.h: Likewise. - * config/s390/s390-c.cc: Likewise. - * config/s390/s390-opts.h: Likewise. - * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise. - (s390_register_target_pragmas): Likewise. - * config/s390/s390.cc (s390_init_builtins): Likewise. - (s390_expand_plus_operand): Likewise. - (s390_expand_atomic): Likewise. - (s390_valid_target_attribute_inner_p): Likewise. - * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/s390/s390.md: Likewise. - * config/s390/t-s390: Likewise. - * config/s390/vx-builtins.md: Likewise. - * config/s390/x-native: Likewise. - * config/sh/divtab-sh4-300.cc (main): Likewise. - * config/sh/divtab-sh4.cc (main): Likewise. - * config/sh/divtab.cc (main): Likewise. - * config/sh/elf.h: Likewise. - * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise. - * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise. - (sh_struct_value_rtx): Likewise. - (sh_remove_reg_dead_or_unused_notes): Likewise. - * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise. - * config/sh/t-sh: Likewise. - * config/sol2-protos.h (solaris_override_options): Likewise. - * config/sol2.h: Likewise. - * config/sparc/driver-sparc.cc: Likewise. - * config/sparc/freebsd.h: Likewise. - * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise. - * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise. - (sparc_asan_shadow_offset): Likewise. - * config/sparc/sparc.h: Likewise. - * config/sparc/sparc.md: Likewise. - * config/sparc/t-sparc: Likewise. - * config/sparc/x-sparc: Likewise. - * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise. - * config/t-darwin: Likewise. - * config/t-dragonfly: Likewise. - * config/t-freebsd: Likewise. - * config/t-glibc: Likewise. - * config/t-linux: Likewise. - * config/t-netbsd: Likewise. - * config/t-openbsd: Likewise. - * config/t-pnt16-warn: Likewise. - * config/t-sol2: Likewise. - * config/t-vxworks: Likewise. - * config/t-winnt: Likewise. - * config/tilegx/t-tilegx: Likewise. - * config/tilegx/tilegx-c.cc: Likewise. - * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise. - * config/tilegx/tilegx.md: Likewise. - * config/tilepro/t-tilepro: Likewise. - * config/tilepro/tilepro-c.cc: Likewise. - * config/v850/t-v850: Likewise. - * config/v850/v850-protos.h: Likewise. - * config/v850/v850.cc (F): Likewise. - * config/v850/v850.h (enum reg_class): Likewise. - (SLOW_BYTE_ACCESS): Likewise. - * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise. - * config/vax/vax.h (enum reg_class): Likewise. - * config/vax/vax.md: Likewise. - * config/visium/visium.cc (visium_legitimate_address_p): Likewise. - * config/visium/visium.h: Likewise. - * config/vms/t-vms: Likewise. - * config/vms/vms-crtlmap.map: Likewise. - * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise. - * config/vx-common.h: Likewise. - * config/x-darwin: Likewise. - * config/x-hpux: Likewise. - * config/x-linux: Likewise. - * config/x-netbsd: Likewise. - * config/x-openbsd: Likewise. - * config/x-solaris: Likewise. - * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise. - * config/xtensa/xtensa.cc (xtensa_option_override): Likewise. - * config/xtensa/xtensa.h: Likewise. - * configure.ac: Likewise. - * context.cc: Likewise. - * convert.h: Likewise. - * coretypes.h: Likewise. - * coverage.cc: Likewise. - * coverage.h: Likewise. - * cppdefault.h (struct default_include): Likewise. - * cprop.cc (local_cprop_pass): Likewise. - (one_cprop_pass): Likewise. - * cse.cc (hash_rtx_cb): Likewise. - (fold_rtx): Likewise. - * ctfc.h (ctfc_get_num_vlen_bytes): Likewise. - * data-streamer.h (bp_unpack_var_len_int): Likewise. - (streamer_write_widest_int): Likewise. - * dbgcnt.def: Likewise. - * dbxout.cc (dbxout_early_global_decl): Likewise. - (dbxout_common_check): Likewise. - * dbxout.h: Likewise. - * debug.h (struct gcc_debug_hooks): Likewise. - (dump_go_spec_init): Likewise. - * df-core.cc: Likewise. - * df-scan.cc (df_insn_info_delete): Likewise. - (df_insn_delete): Likewise. - * df.h (debug_df_chain): Likewise. - (can_move_insns_across): Likewise. - * dfp.cc (decimal_from_binary): Likewise. - * diagnostic-color.cc: Likewise. - * diagnostic-event-id.h: Likewise. - * diagnostic-show-locus.cc (test_one_liner_labels): Likewise. - * diagnostic.cc (bt_callback): Likewise. - (num_digits): Likewise. - * doc/avr-mmcu.texi: Likewise. - * doc/cfg.texi: Likewise. - * doc/contrib.texi: Likewise. - * doc/cppinternals.texi: Likewise. - * doc/extend.texi: Likewise. - * doc/generic.texi: Likewise. - * doc/gimple.texi: Likewise. - * doc/gty.texi: Likewise. - * doc/invoke.texi: Likewise. - * doc/loop.texi: Likewise. - * doc/lto.texi: Likewise. - * doc/match-and-simplify.texi: Likewise. - * doc/md.texi: Likewise. - * doc/optinfo.texi: Likewise. - * doc/options.texi: Likewise. - * doc/passes.texi: Likewise. - * doc/plugins.texi: Likewise. - * doc/rtl.texi: Likewise. - * doc/sourcebuild.texi: Likewise. - * doc/tm.texi: Likewise. - * doc/tm.texi.in: Likewise. - * doc/tree-ssa.texi: Likewise. - * dojump.cc (do_jump): Likewise. - * dojump.h: Likewise. - * dumpfile.cc (test_impl_location): Likewise. - (test_capture_of_dump_calls): Likewise. - * dumpfile.h (enum dump_kind): Likewise. - (class dump_location_t): Likewise. - (dump_enabled_p): Likewise. - (enable_rtl_dump_file): Likewise. - (dump_combine_total_stats): Likewise. - * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise. - * dwarf2ctf.h (ctf_debug_finish): Likewise. - * dwarf2out.cc (dwarf2out_begin_prologue): Likewise. - (struct loc_descr_context): Likewise. - (rtl_for_decl_location): Likewise. - (gen_subprogram_die): Likewise. - (gen_label_die): Likewise. - (is_trivial_indirect_ref): Likewise. - (dwarf2out_late_global_decl): Likewise. - (dwarf_file_hasher::hash): Likewise. - (dwarf2out_end_source_file): Likewise. - (dwarf2out_define): Likewise. - (dwarf2out_early_finish): Likewise. - * dwarf2out.h (struct dw_fde_node): Likewise. - (struct dw_discr_list_node): Likewise. - (output_loc_sequence_raw): Likewise. - * emit-rtl.cc (gen_raw_REG): Likewise. - (maybe_set_max_label_num): Likewise. - * emit-rtl.h (struct rtl_data): Likewise. - * errors.cc (internal_error): Likewise. - (trim_filename): Likewise. - * et-forest.cc: Likewise. - * except.cc (init_eh_for_function): Likewise. - * explow.cc (promote_ssa_mode): Likewise. - (get_dynamic_stack_size): Likewise. - * explow.h: Likewise. - * expmed.h: Likewise. - * expr.cc (safe_from_p): Likewise. - (expand_expr_real_2): Likewise. - (expand_expr_real_1): Likewise. - * file-prefix-map.cc (remap_filename): Likewise. - * final.cc (app_enable): Likewise. - (make_pass_compute_alignments): Likewise. - (final_scan_insn_1): Likewise. - (final_scan_insn): Likewise. - * fixed-value.h (fixed_from_string): Likewise. - * flag-types.h (NO_DEBUG): Likewise. - (DWARF2_DEBUG): Likewise. - (VMS_DEBUG): Likewise. - (BTF_DEBUG): Likewise. - (enum ctf_debug_info_levels): Likewise. - * fold-const.cc (const_binop): Likewise. - (fold_binary_loc): Likewise. - (fold_checksum_tree): Likewise. - * fp-test.cc: Likewise. - * function.cc (expand_function_end): Likewise. - * function.h (struct function): Likewise. - * fwprop.cc (should_replace_address): Likewise. - * gcc-main.cc: Likewise. - * gcc-rich-location.h (class gcc_rich_location): Likewise. - * gcc-symtab.h: Likewise. - * gcc.cc (MIN_FATAL_STATUS): Likewise. - (driver_handle_option): Likewise. - (quote_spec_arg): Likewise. - (driver::finalize): Likewise. - * gcc.h (set_input): Likewise. - * gcov-dump.cc: Likewise. - * gcov.cc (solve_flow_graph): Likewise. - * gcse-common.cc: Likewise. - * gcse.cc (make_pass_rtl_hoist): Likewise. - * genattr-common.cc: Likewise. - * genattrtab.cc (min_fn): Likewise. - (write_const_num_delay_slots): Likewise. - * genautomata.cc: Likewise. - * genconditions.cc (write_one_condition): Likewise. - * genconstants.cc: Likewise. - * genemit.cc (gen_exp): Likewise. - * generic-match-head.cc: Likewise. - * genextract.cc: Likewise. - * gengenrtl.cc (always_void_p): Likewise. - * gengtype-parse.cc (gtymarker_opt): Likewise. - * gengtype-state.cc (state_writer::state_writer): Likewise. - (write_state_trailer): Likewise. - (equals_type_number): Likewise. - (read_state): Likewise. - * gengtype.cc (open_base_files): Likewise. - (struct file_rule_st): Likewise. - (header_dot_h_frul): Likewise. - * gengtype.h: Likewise. - * genmatch.cc (main): Likewise. - * genmddeps.cc: Likewise. - * genmodes.cc (emit_mode_inner): Likewise. - (emit_mode_unit_size): Likewise. - * genpeep.cc (gen_peephole): Likewise. - * genpreds.cc (write_tm_preds_h): Likewise. - * genrecog.cc (validate_pattern): Likewise. - (write_header): Likewise. - (main): Likewise. - * gensupport.cc (change_subst_attribute): Likewise. - (traverse_c_tests): Likewise. - (add_predicate): Likewise. - (init_predicate_table): Likewise. - * gensupport.h (struct optab_pattern): Likewise. - (get_num_insn_codes): Likewise. - (maybe_eval_c_test): Likewise. - (struct pred_data): Likewise. - * ggc-internal.h: Likewise. - * gimple-fold.cc (maybe_fold_reference): Likewise. - (get_range_strlen_tree): Likewise. - * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise. - * gimple-low.cc: Likewise. - * gimple-match-head.cc (directly_supported_p): Likewise. - * gimple-pretty-print.h: Likewise. - * gimple-ssa-sprintf.cc (format_percent): Likewise. - (adjust_range_for_overflow): Likewise. - * gimple-streamer.h: Likewise. - * gimple.h (struct GTY): Likewise. - (is_gimple_resx): Likewise. - * gimplify.cc (gimplify_expr): Likewise. - (gimplify_init_constructor): Likewise. - (omp_construct_selector_matches): Likewise. - (gimplify_omp_target_update): Likewise. - (gimplify_omp_ordered): Likewise. - (gimplify_va_arg_expr): Likewise. - * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise. - * haifa-sched.cc (increase_insn_priority): Likewise. - (try_ready): Likewise. - (sched_create_recovery_edges): Likewise. - * ifcvt.cc (find_if_case_1): Likewise. - (find_if_case_2): Likewise. - * inchash.h: Likewise. - * incpath.cc (add_env_var_paths): Likewise. - * input.cc (dump_location_info): Likewise. - (assert_loceq): Likewise. - (test_lexer_string_locations_concatenation_1): Likewise. - (test_lexer_string_locations_concatenation_2): Likewise. - (test_lexer_string_locations_concatenation_3): Likewise. - * input.h (BUILTINS_LOCATION): Likewise. - (class string_concat_db): Likewise. - * internal-fn.cc (expand_MUL_OVERFLOW): Likewise. - (expand_LOOP_VECTORIZED): Likewise. - * ipa-cp.cc (make_pass_ipa_cp): Likewise. - * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise. - (ipa_fn_summary_t::duplicate): Likewise. - (make_pass_ipa_fn_summary): Likewise. - * ipa-fnsummary.h (enum ipa_hints_vals): Likewise. - * ipa-free-lang-data.cc (fld_simplified_type): Likewise. - (free_lang_data_in_decl): Likewise. - * ipa-inline.cc (compute_inlined_call_time): Likewise. - (inline_always_inline_functions): Likewise. - * ipa-inline.h (free_growth_caches): Likewise. - (inline_account_function_p): Likewise. - * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise. - (modref_eaf_analysis::analyze_ssa_name): Likewise. - * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise. - (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise. - * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise. - * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise. - (unadjusted_ptr_and_unit_offset): Likewise. - * ipa-reference.cc (make_pass_ipa_reference): Likewise. - * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise. - * ipa-split.cc (consider_split): Likewise. - * ipa-sra.cc (isra_read_node_info): Likewise. - * ipa-utils.h (struct ipa_dfs_info): Likewise. - (recursive_call_p): Likewise. - (ipa_make_function_pure): Likewise. - * ira-build.cc (ira_create_allocno): Likewise. - (ira_flattening): Likewise. - * ira-color.cc (do_coloring): Likewise. - (update_curr_costs): Likewise. - * ira-conflicts.cc (process_regs_for_copy): Likewise. - * ira-int.h (struct ira_emit_data): Likewise. - (ira_prohibited_mode_move_regs): Likewise. - (ira_get_dup_out_num): Likewise. - (ira_destroy): Likewise. - (ira_tune_allocno_costs): Likewise. - (ira_implicitly_set_insn_hard_regs): Likewise. - (ira_build_conflicts): Likewise. - (ira_color): Likewise. - * ira-lives.cc (process_bb_node_lives): Likewise. - * ira.cc (class ira_spilled_reg_stack_slot): Likewise. - (setup_uniform_class_p): Likewise. - (def_dominates_uses): Likewise. - * ira.h (ira_nullify_asm_goto): Likewise. - * langhooks.cc (lhd_post_options): Likewise. - * langhooks.h (class substring_loc): Likewise. - (struct lang_hooks_for_tree_inlining): Likewise. - (struct lang_hooks_for_types): Likewise. - (struct lang_hooks): Likewise. - * libfuncs.h (synchronize_libfunc): Likewise. - * loop-doloop.cc (doloop_condition_get): Likewise. - * loop-init.cc (fix_loop_structure): Likewise. - * loop-invariant.cc: Likewise. - * lower-subreg.h: Likewise. - * lra-constraints.cc (curr_insn_transform): Likewise. - * lra-int.h (struct lra_insn_reg): Likewise. - (lra_undo_inheritance): Likewise. - (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise. - (lra_split_hard_reg_for): Likewise. - (lra_coalesce): Likewise. - (lra_final_code_change): Likewise. - * lra-spills.cc (lra_final_code_change): Likewise. - * lra.cc (lra_process_new_insns): Likewise. - * lto-compress.h (struct lto_compression_stream): Likewise. - * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise. - (write_symbol): Likewise. - * lto-streamer.h (enum LTO_tags): Likewise. - (lto_value_range_error): Likewise. - (lto_append_block): Likewise. - (lto_streamer_hooks_init): Likewise. - (stream_read_tree_ref): Likewise. - (lto_prepare_function_for_streaming): Likewise. - (select_what_to_stream): Likewise. - (omp_lto_input_declare_variant_alt): Likewise. - (cl_optimization_stream_in): Likewise. - * lto-wrapper.cc (append_compiler_options): Likewise. - * machmode.def: Likewise. - * machmode.h (struct int_n_data_t): Likewise. - * main.cc (main): Likewise. - * match.pd: Likewise. - * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise. - (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise. - * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise. - (make_pass_expand_omp_ssa): Likewise. - * omp-low.cc (struct omp_context): Likewise. - (struct omp_taskcopy_context): Likewise. - (lower_omp): Likewise. - * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise. - (mask_name): Likewise. - (omp_sese_dump_pars): Likewise. - (worker_single_simple): Likewise. - * omp-offload.cc (omp_finish_file): Likewise. - (execute_oacc_loop_designation): Likewise. - * optabs-query.cc (lshift_cheap_p): Likewise. - * optc-gen.awk: Likewise. - * optc-save-gen.awk: Likewise. - * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise. - * opts-common.cc: Likewise. - * output.h (app_enable): Likewise. - (output_operand_lossage): Likewise. - (insn_current_reference_address): Likewise. - (get_insn_template): Likewise. - (output_quoted_string): Likewise. - * pass_manager.h (struct register_pass_info): Likewise. - * plugin.cc: Likewise. - * plugin.def (PLUGIN_ANALYZER_INIT): Likewise. - * plugin.h (invoke_plugin_callbacks): Likewise. - * pointer-query.cc (handle_mem_ref): Likewise. - * postreload-gcse.cc (alloc_mem): Likewise. - * predict.h (enum prediction): Likewise. - (add_reg_br_prob_note): Likewise. - * prefix.h: Likewise. - * profile.h (get_working_sets): Likewise. - * read-md.cc: Likewise. - * read-md.h (struct mapping): Likewise. - (class md_reader): Likewise. - (class noop_reader): Likewise. - * read-rtl-function.cc (function_reader::create_function): Likewise. - (function_reader::extra_parsing_for_operand_code_0): Likewise. - * read-rtl.cc (initialize_iterators): Likewise. - * real.cc: Likewise. - * real.h (struct real_value): Likewise. - (format_helper::format_helper): Likewise. - (real_hash): Likewise. - (real_can_shorten_arithmetic): Likewise. - * recog.cc (struct target_recog): Likewise. - (offsettable_nonstrict_memref_p): Likewise. - (constrain_operands): Likewise. - * recog.h (MAX_RECOG_ALTERNATIVES): Likewise. - (which_op_alt): Likewise. - (struct insn_gen_fn): Likewise. - * reg-notes.def (REG_NOTE): Likewise. - * reg-stack.cc: Likewise. - * regs.h (reg_is_parm_p): Likewise. - * regset.h: Likewise. - * reload.cc (push_reload): Likewise. - (find_reloads): Likewise. - (find_reloads_address_1): Likewise. - (find_replacement): Likewise. - (refers_to_regno_for_reload_p): Likewise. - (refers_to_mem_for_reload_p): Likewise. - * reload.h (push_reload): Likewise. - (deallocate_reload_reg): Likewise. - * reload1.cc (emit_input_reload_insns): Likewise. - * reorg.cc (relax_delay_slots): Likewise. - * rtl.def (UNKNOWN): Likewise. - (SEQUENCE): Likewise. - (BARRIER): Likewise. - (ASM_OPERANDS): Likewise. - (EQ_ATTR_ALT): Likewise. - * rtl.h (struct GTY): Likewise. - (LABEL_NAME): Likewise. - (LABEL_ALT_ENTRY_P): Likewise. - (SUBREG_BYTE): Likewise. - (get_stack_check_protect): Likewise. - (dump_rtx_statistics): Likewise. - (unwrap_const_vec_duplicate): Likewise. - (subreg_promoted_mode): Likewise. - (gen_lowpart_common): Likewise. - (operand_subword): Likewise. - (immed_wide_int_const): Likewise. - (decide_function_section): Likewise. - (active_insn_p): Likewise. - (delete_related_insns): Likewise. - (try_split): Likewise. - (val_signbit_known_clear_p): Likewise. - (simplifiable_subregs): Likewise. - (set_insn_deleted): Likewise. - (subreg_get_info): Likewise. - (remove_free_EXPR_LIST_node): Likewise. - (finish_subregs_of_mode): Likewise. - (get_mem_attrs): Likewise. - (lookup_constant_def): Likewise. - (rtx_to_tree_code): Likewise. - (hash_rtx): Likewise. - (condjump_in_parallel_p): Likewise. - (validate_subreg): Likewise. - (make_compound_operation): Likewise. - (schedule_ebbs): Likewise. - (print_inline_rtx): Likewise. - (fixup_args_size_notes): Likewise. - (expand_dec): Likewise. - (prepare_copy_insn): Likewise. - (mark_elimination): Likewise. - (valid_mode_changes_for_regno): Likewise. - (make_debug_expr_from_rtl): Likewise. - (delete_vta_debug_insns): Likewise. - (simplify_using_condition): Likewise. - (set_insn_locations): Likewise. - (fatal_insn_not_found): Likewise. - (word_register_operation_p): Likewise. - * rtlanal.cc (get_call_fndecl): Likewise. - (side_effects_p): Likewise. - (subreg_nregs): Likewise. - (rtx_cost): Likewise. - (canonicalize_condition): Likewise. - * rtlanal.h (rtx_properties::try_to_add_note): Likewise. - * run-rtl-passes.cc (run_rtl_passes): Likewise. - * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise. - * sched-deps.cc (add_dependence_1): Likewise. - * sched-ebb.cc (begin_move_insn): Likewise. - (add_deps_for_risky_insns): Likewise. - (advance_target_bb): Likewise. - * sched-int.h (reemit_notes): Likewise. - (struct _haifa_insn_data): Likewise. - (HID): Likewise. - (DEP_CANCELLED): Likewise. - (debug_ds): Likewise. - (number_in_ready): Likewise. - (schedule_ebbs_finish): Likewise. - (find_modifiable_mems): Likewise. - * sched-rgn.cc (debug_rgn_dependencies): Likewise. - * sel-sched-dump.cc (dump_lv_set): Likewise. - * sel-sched-dump.h: Likewise. - * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise. - (setup_id_reg_sets): Likewise. - (has_dependence_p): Likewise. - (sel_num_cfg_preds_gt_1): Likewise. - (bb_ends_ebb_p): Likewise. - * sel-sched-ir.h (struct _list_node): Likewise. - (struct idata_def): Likewise. - (bb_next_bb): Likewise. - * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise. - (choose_best_pseudo_reg): Likewise. - (verify_target_availability): Likewise. - (can_speculate_dep_p): Likewise. - (sel_rank_for_schedule): Likewise. - * selftest-run-tests.cc (selftest::run_tests): Likewise. - * selftest.h (class auto_fix_quotes): Likewise. - * shrink-wrap.cc (handle_simple_exit): Likewise. - * shrink-wrap.h: Likewise. - * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise. - (simplify_context::simplify_gen_vec_select): Likewise. - * spellcheck-tree.h: Likewise. - * spellcheck.h: Likewise. - * statistics.h (struct function): Likewise. - * stmt.cc (conditional_probability): Likewise. - * stmt.h: Likewise. - * stor-layout.h: Likewise. - * streamer-hooks.h: Likewise. - * stringpool.h: Likewise. - * symtab.cc (symbol_table::change_decl_assembler_name): Likewise. - * target.def (HOOK_VECTOR_END): Likewise. - (type.): Likewise. - * target.h (union cumulative_args_t): Likewise. - (by_pieces_ninsns): Likewise. - (class predefined_function_abi): Likewise. - * targhooks.cc (default_translate_mode_attribute): Likewise. - * timevar.def: Likewise. - * timevar.h (class timer): Likewise. - * toplev.h (enable_rtl_dump_file): Likewise. - * trans-mem.cc (collect_bb2reg): Likewise. - * tree-call-cdce.cc (gen_conditions_for_pow): Likewise. - * tree-cfg.cc (remove_bb): Likewise. - (verify_gimple_debug): Likewise. - (remove_edge_and_dominated_blocks): Likewise. - (push_fndecl): Likewise. - * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise. - * tree-complex.cc (expand_complex_multiplication): Likewise. - (expand_complex_div_straight): Likewise. - * tree-core.h (enum tree_index): Likewise. - (enum operand_equal_flag): Likewise. - * tree-eh.cc (honor_protect_cleanup_actions): Likewise. - * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise. - * tree-inline.cc (initialize_inlined_parameters): Likewise. - * tree-inline.h (force_value_to_type): Likewise. - * tree-nested.cc (get_chain_decl): Likewise. - (walk_all_functions): Likewise. - * tree-object-size.h: Likewise. - * tree-outof-ssa.cc: Likewise. - * tree-parloops.cc (create_parallel_loop): Likewise. - * tree-pretty-print.cc (print_generic_expr_to_str): Likewise. - (dump_generic_node): Likewise. - * tree-profile.cc (tree_profiling): Likewise. - * tree-sra.cc (maybe_add_sra_candidate): Likewise. - * tree-ssa-address.cc: Likewise. - * tree-ssa-alias.cc: Likewise. - * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise. - (dump_alias_stats): Likewise. - * tree-ssa-ccp.cc: Likewise. - * tree-ssa-coalesce.h: Likewise. - * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise. - * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise. - * tree-ssa-loop-unswitch.cc: Likewise. - * tree-ssa-math-opts.cc: Likewise. - * tree-ssa-operands.cc (class operands_scanner): Likewise. - * tree-ssa-pre.cc: Likewise. - * tree-ssa-reassoc.cc (optimize_ops_list): Likewise. - (debug_range_entry): Likewise. - * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise. - * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise. - * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise. - (equal_mem_array_ref_p): Likewise. - * tree-ssa-strlen.cc (is_strlen_related_p): Likewise. - * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise. - * tree-ssa-tail-merge.cc (stmt_local_def): Likewise. - * tree-ssa-ter.h: Likewise. - * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise. - * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise. - * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise. - (write_ts_block_tree_pointers): Likewise. - * tree-streamer.h (struct streamer_tree_cache_d): Likewise. - (streamer_read_tree_bitfields): Likewise. - (streamer_write_integer_cst): Likewise. - * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise. - (vect_synth_mult_by_constant): Likewise. - * tree-vect-stmts.cc (vectorizable_operation): Likewise. - * tree-vectorizer.cc: Likewise. - * tree-vectorizer.h (class auto_purge_vect_location): Likewise. - (vect_update_inits_of_drs): Likewise. - (vect_get_mask_type_for_stmt): Likewise. - (vect_rgroup_iv_might_wrap_p): Likewise. - (cse_and_gimplify_to_preheader): Likewise. - (vect_free_slp_tree): Likewise. - (vect_pattern_recog): Likewise. - (vect_stmt_dominates_stmt_p): Likewise. - * tree.cc (initialize_tree_contains_struct): Likewise. - (need_assembler_name_p): Likewise. - (type_with_interoperable_signedness): Likewise. - * tree.def (SWITCH_EXPR): Likewise. - * tree.h (TYPE_SYMTAB_ADDRESS): Likewise. - (poly_int_tree_p): Likewise. - (inlined_function_outer_scope_p): Likewise. - (tree_code_for_canonical_type_merging): Likewise. - * value-prof.cc: Likewise. - * value-prof.h (get_nth_most_common_value): Likewise. - (find_func_by_profile_id): Likewise. - * value-range.cc (vrp_operand_equal_p): Likewise. - * value-range.h: Likewise. - * var-tracking.cc: Likewise. - * varasm.cc (default_function_section): Likewise. - (function_section_1): Likewise. - (assemble_variable): Likewise. - (handle_vtv_comdat_section): Likewise. - * vec.h (struct vec_prefix): Likewise. - * vmsdbgout.cc (full_name): Likewise. - * vtable-verify.cc: Likewise. - * vtable-verify.h (struct vtv_graph_node): Likewise. - * xcoffout.cc: Likewise. - * xcoffout.h (DEBUG_SYMS_TEXT): Likewise. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * adjust-alignment.c: Moved to... - * adjust-alignment.cc: ...here. - * alias.c: Moved to... - * alias.cc: ...here. - * alloc-pool.c: Moved to... - * alloc-pool.cc: ...here. - * asan.c: Moved to... - * asan.cc: ...here. - * attribs.c: Moved to... - * attribs.cc: ...here. - * auto-inc-dec.c: Moved to... - * auto-inc-dec.cc: ...here. - * auto-profile.c: Moved to... - * auto-profile.cc: ...here. - * bb-reorder.c: Moved to... - * bb-reorder.cc: ...here. - * bitmap.c: Moved to... - * bitmap.cc: ...here. - * btfout.c: Moved to... - * btfout.cc: ...here. - * builtins.c: Moved to... - * builtins.cc: ...here. - * caller-save.c: Moved to... - * caller-save.cc: ...here. - * calls.c: Moved to... - * calls.cc: ...here. - * ccmp.c: Moved to... - * ccmp.cc: ...here. - * cfg.c: Moved to... - * cfg.cc: ...here. - * cfganal.c: Moved to... - * cfganal.cc: ...here. - * cfgbuild.c: Moved to... - * cfgbuild.cc: ...here. - * cfgcleanup.c: Moved to... - * cfgcleanup.cc: ...here. - * cfgexpand.c: Moved to... - * cfgexpand.cc: ...here. - * cfghooks.c: Moved to... - * cfghooks.cc: ...here. - * cfgloop.c: Moved to... - * cfgloop.cc: ...here. - * cfgloopanal.c: Moved to... - * cfgloopanal.cc: ...here. - * cfgloopmanip.c: Moved to... - * cfgloopmanip.cc: ...here. - * cfgrtl.c: Moved to... - * cfgrtl.cc: ...here. - * cgraph.c: Moved to... - * cgraph.cc: ...here. - * cgraphbuild.c: Moved to... - * cgraphbuild.cc: ...here. - * cgraphclones.c: Moved to... - * cgraphclones.cc: ...here. - * cgraphunit.c: Moved to... - * cgraphunit.cc: ...here. - * collect-utils.c: Moved to... - * collect-utils.cc: ...here. - * collect2-aix.c: Moved to... - * collect2-aix.cc: ...here. - * collect2.c: Moved to... - * collect2.cc: ...here. - * combine-stack-adj.c: Moved to... - * combine-stack-adj.cc: ...here. - * combine.c: Moved to... - * combine.cc: ...here. - * common/common-targhooks.c: Moved to... - * common/common-targhooks.cc: ...here. - * common/config/aarch64/aarch64-common.c: Moved to... - * common/config/aarch64/aarch64-common.cc: ...here. - * common/config/alpha/alpha-common.c: Moved to... - * common/config/alpha/alpha-common.cc: ...here. - * common/config/arc/arc-common.c: Moved to... - * common/config/arc/arc-common.cc: ...here. - * common/config/arm/arm-common.c: Moved to... - * common/config/arm/arm-common.cc: ...here. - * common/config/avr/avr-common.c: Moved to... - * common/config/avr/avr-common.cc: ...here. - * common/config/bfin/bfin-common.c: Moved to... - * common/config/bfin/bfin-common.cc: ...here. - * common/config/bpf/bpf-common.c: Moved to... - * common/config/bpf/bpf-common.cc: ...here. - * common/config/c6x/c6x-common.c: Moved to... - * common/config/c6x/c6x-common.cc: ...here. - * common/config/cr16/cr16-common.c: Moved to... - * common/config/cr16/cr16-common.cc: ...here. - * common/config/cris/cris-common.c: Moved to... - * common/config/cris/cris-common.cc: ...here. - * common/config/csky/csky-common.c: Moved to... - * common/config/csky/csky-common.cc: ...here. - * common/config/default-common.c: Moved to... - * common/config/default-common.cc: ...here. - * common/config/epiphany/epiphany-common.c: Moved to... - * common/config/epiphany/epiphany-common.cc: ...here. - * common/config/fr30/fr30-common.c: Moved to... - * common/config/fr30/fr30-common.cc: ...here. - * common/config/frv/frv-common.c: Moved to... - * common/config/frv/frv-common.cc: ...here. - * common/config/gcn/gcn-common.c: Moved to... - * common/config/gcn/gcn-common.cc: ...here. - * common/config/h8300/h8300-common.c: Moved to... - * common/config/h8300/h8300-common.cc: ...here. - * common/config/i386/i386-common.c: Moved to... - * common/config/i386/i386-common.cc: ...here. - * common/config/ia64/ia64-common.c: Moved to... - * common/config/ia64/ia64-common.cc: ...here. - * common/config/iq2000/iq2000-common.c: Moved to... - * common/config/iq2000/iq2000-common.cc: ...here. - * common/config/lm32/lm32-common.c: Moved to... - * common/config/lm32/lm32-common.cc: ...here. - * common/config/m32r/m32r-common.c: Moved to... - * common/config/m32r/m32r-common.cc: ...here. - * common/config/m68k/m68k-common.c: Moved to... - * common/config/m68k/m68k-common.cc: ...here. - * common/config/mcore/mcore-common.c: Moved to... - * common/config/mcore/mcore-common.cc: ...here. - * common/config/microblaze/microblaze-common.c: Moved to... - * common/config/microblaze/microblaze-common.cc: ...here. - * common/config/mips/mips-common.c: Moved to... - * common/config/mips/mips-common.cc: ...here. - * common/config/mmix/mmix-common.c: Moved to... - * common/config/mmix/mmix-common.cc: ...here. - * common/config/mn10300/mn10300-common.c: Moved to... - * common/config/mn10300/mn10300-common.cc: ...here. - * common/config/msp430/msp430-common.c: Moved to... - * common/config/msp430/msp430-common.cc: ...here. - * common/config/nds32/nds32-common.c: Moved to... - * common/config/nds32/nds32-common.cc: ...here. - * common/config/nios2/nios2-common.c: Moved to... - * common/config/nios2/nios2-common.cc: ...here. - * common/config/nvptx/nvptx-common.c: Moved to... - * common/config/nvptx/nvptx-common.cc: ...here. - * common/config/or1k/or1k-common.c: Moved to... - * common/config/or1k/or1k-common.cc: ...here. - * common/config/pa/pa-common.c: Moved to... - * common/config/pa/pa-common.cc: ...here. - * common/config/pdp11/pdp11-common.c: Moved to... - * common/config/pdp11/pdp11-common.cc: ...here. - * common/config/pru/pru-common.c: Moved to... - * common/config/pru/pru-common.cc: ...here. - * common/config/riscv/riscv-common.c: Moved to... - * common/config/riscv/riscv-common.cc: ...here. - * common/config/rs6000/rs6000-common.c: Moved to... - * common/config/rs6000/rs6000-common.cc: ...here. - * common/config/rx/rx-common.c: Moved to... - * common/config/rx/rx-common.cc: ...here. - * common/config/s390/s390-common.c: Moved to... - * common/config/s390/s390-common.cc: ...here. - * common/config/sh/sh-common.c: Moved to... - * common/config/sh/sh-common.cc: ...here. - * common/config/sparc/sparc-common.c: Moved to... - * common/config/sparc/sparc-common.cc: ...here. - * common/config/tilegx/tilegx-common.c: Moved to... - * common/config/tilegx/tilegx-common.cc: ...here. - * common/config/tilepro/tilepro-common.c: Moved to... - * common/config/tilepro/tilepro-common.cc: ...here. - * common/config/v850/v850-common.c: Moved to... - * common/config/v850/v850-common.cc: ...here. - * common/config/vax/vax-common.c: Moved to... - * common/config/vax/vax-common.cc: ...here. - * common/config/visium/visium-common.c: Moved to... - * common/config/visium/visium-common.cc: ...here. - * common/config/xstormy16/xstormy16-common.c: Moved to... - * common/config/xstormy16/xstormy16-common.cc: ...here. - * common/config/xtensa/xtensa-common.c: Moved to... - * common/config/xtensa/xtensa-common.cc: ...here. - * compare-elim.c: Moved to... - * compare-elim.cc: ...here. - * config/aarch64/aarch64-bti-insert.c: Moved to... - * config/aarch64/aarch64-bti-insert.cc: ...here. - * config/aarch64/aarch64-builtins.c: Moved to... - * config/aarch64/aarch64-builtins.cc: ...here. - * config/aarch64/aarch64-c.c: Moved to... - * config/aarch64/aarch64-c.cc: ...here. - * config/aarch64/aarch64-d.c: Moved to... - * config/aarch64/aarch64-d.cc: ...here. - * config/aarch64/aarch64.c: Moved to... - * config/aarch64/aarch64.cc: ...here. - * config/aarch64/cortex-a57-fma-steering.c: Moved to... - * config/aarch64/cortex-a57-fma-steering.cc: ...here. - * config/aarch64/driver-aarch64.c: Moved to... - * config/aarch64/driver-aarch64.cc: ...here. - * config/aarch64/falkor-tag-collision-avoidance.c: Moved to... - * config/aarch64/falkor-tag-collision-avoidance.cc: ...here. - * config/aarch64/host-aarch64-darwin.c: Moved to... - * config/aarch64/host-aarch64-darwin.cc: ...here. - * config/alpha/alpha.c: Moved to... - * config/alpha/alpha.cc: ...here. - * config/alpha/driver-alpha.c: Moved to... - * config/alpha/driver-alpha.cc: ...here. - * config/arc/arc-c.c: Moved to... - * config/arc/arc-c.cc: ...here. - * config/arc/arc.c: Moved to... - * config/arc/arc.cc: ...here. - * config/arc/driver-arc.c: Moved to... - * config/arc/driver-arc.cc: ...here. - * config/arm/aarch-common.c: Moved to... - * config/arm/aarch-common.cc: ...here. - * config/arm/arm-builtins.c: Moved to... - * config/arm/arm-builtins.cc: ...here. - * config/arm/arm-c.c: Moved to... - * config/arm/arm-c.cc: ...here. - * config/arm/arm-d.c: Moved to... - * config/arm/arm-d.cc: ...here. - * config/arm/arm.c: Moved to... - * config/arm/arm.cc: ...here. - * config/arm/driver-arm.c: Moved to... - * config/arm/driver-arm.cc: ...here. - * config/avr/avr-c.c: Moved to... - * config/avr/avr-c.cc: ...here. - * config/avr/avr-devices.c: Moved to... - * config/avr/avr-devices.cc: ...here. - * config/avr/avr-log.c: Moved to... - * config/avr/avr-log.cc: ...here. - * config/avr/avr.c: Moved to... - * config/avr/avr.cc: ...here. - * config/avr/driver-avr.c: Moved to... - * config/avr/driver-avr.cc: ...here. - * config/avr/gen-avr-mmcu-specs.c: Moved to... - * config/avr/gen-avr-mmcu-specs.cc: ...here. - * config/avr/gen-avr-mmcu-texi.c: Moved to... - * config/avr/gen-avr-mmcu-texi.cc: ...here. - * config/bfin/bfin.c: Moved to... - * config/bfin/bfin.cc: ...here. - * config/bpf/bpf.c: Moved to... - * config/bpf/bpf.cc: ...here. - * config/bpf/coreout.c: Moved to... - * config/bpf/coreout.cc: ...here. - * config/c6x/c6x.c: Moved to... - * config/c6x/c6x.cc: ...here. - * config/cr16/cr16.c: Moved to... - * config/cr16/cr16.cc: ...here. - * config/cris/cris.c: Moved to... - * config/cris/cris.cc: ...here. - * config/csky/csky.c: Moved to... - * config/csky/csky.cc: ...here. - * config/darwin-c.c: Moved to... - * config/darwin-c.cc: ...here. - * config/darwin-d.c: Moved to... - * config/darwin-d.cc: ...here. - * config/darwin-driver.c: Moved to... - * config/darwin-driver.cc: ...here. - * config/darwin-f.c: Moved to... - * config/darwin-f.cc: ...here. - * config/darwin.c: Moved to... - * config/darwin.cc: ...here. - * config/default-c.c: Moved to... - * config/default-c.cc: ...here. - * config/default-d.c: Moved to... - * config/default-d.cc: ...here. - * config/dragonfly-d.c: Moved to... - * config/dragonfly-d.cc: ...here. - * config/epiphany/epiphany.c: Moved to... - * config/epiphany/epiphany.cc: ...here. - * config/epiphany/mode-switch-use.c: Moved to... - * config/epiphany/mode-switch-use.cc: ...here. - * config/epiphany/resolve-sw-modes.c: Moved to... - * config/epiphany/resolve-sw-modes.cc: ...here. - * config/fr30/fr30.c: Moved to... - * config/fr30/fr30.cc: ...here. - * config/freebsd-d.c: Moved to... - * config/freebsd-d.cc: ...here. - * config/frv/frv.c: Moved to... - * config/frv/frv.cc: ...here. - * config/ft32/ft32.c: Moved to... - * config/ft32/ft32.cc: ...here. - * config/gcn/driver-gcn.c: Moved to... - * config/gcn/driver-gcn.cc: ...here. - * config/gcn/gcn-run.c: Moved to... - * config/gcn/gcn-run.cc: ...here. - * config/gcn/gcn-tree.c: Moved to... - * config/gcn/gcn-tree.cc: ...here. - * config/gcn/gcn.c: Moved to... - * config/gcn/gcn.cc: ...here. - * config/gcn/mkoffload.c: Moved to... - * config/gcn/mkoffload.cc: ...here. - * config/glibc-c.c: Moved to... - * config/glibc-c.cc: ...here. - * config/glibc-d.c: Moved to... - * config/glibc-d.cc: ...here. - * config/h8300/h8300.c: Moved to... - * config/h8300/h8300.cc: ...here. - * config/host-darwin.c: Moved to... - * config/host-darwin.cc: ...here. - * config/host-hpux.c: Moved to... - * config/host-hpux.cc: ...here. - * config/host-linux.c: Moved to... - * config/host-linux.cc: ...here. - * config/host-netbsd.c: Moved to... - * config/host-netbsd.cc: ...here. - * config/host-openbsd.c: Moved to... - * config/host-openbsd.cc: ...here. - * config/host-solaris.c: Moved to... - * config/host-solaris.cc: ...here. - * config/i386/djgpp.c: Moved to... - * config/i386/djgpp.cc: ...here. - * config/i386/driver-i386.c: Moved to... - * config/i386/driver-i386.cc: ...here. - * config/i386/driver-mingw32.c: Moved to... - * config/i386/driver-mingw32.cc: ...here. - * config/i386/gnu-property.c: Moved to... - * config/i386/gnu-property.cc: ...here. - * config/i386/host-cygwin.c: Moved to... - * config/i386/host-cygwin.cc: ...here. - * config/i386/host-i386-darwin.c: Moved to... - * config/i386/host-i386-darwin.cc: ...here. - * config/i386/host-mingw32.c: Moved to... - * config/i386/host-mingw32.cc: ...here. - * config/i386/i386-builtins.c: Moved to... - * config/i386/i386-builtins.cc: ...here. - * config/i386/i386-c.c: Moved to... - * config/i386/i386-c.cc: ...here. - * config/i386/i386-d.c: Moved to... - * config/i386/i386-d.cc: ...here. - * config/i386/i386-expand.c: Moved to... - * config/i386/i386-expand.cc: ...here. - * config/i386/i386-features.c: Moved to... - * config/i386/i386-features.cc: ...here. - * config/i386/i386-options.c: Moved to... - * config/i386/i386-options.cc: ...here. - * config/i386/i386.c: Moved to... - * config/i386/i386.cc: ...here. - * config/i386/intelmic-mkoffload.c: Moved to... - * config/i386/intelmic-mkoffload.cc: ...here. - * config/i386/msformat-c.c: Moved to... - * config/i386/msformat-c.cc: ...here. - * config/i386/winnt-cxx.c: Moved to... - * config/i386/winnt-cxx.cc: ...here. - * config/i386/winnt-d.c: Moved to... - * config/i386/winnt-d.cc: ...here. - * config/i386/winnt-stubs.c: Moved to... - * config/i386/winnt-stubs.cc: ...here. - * config/i386/winnt.c: Moved to... - * config/i386/winnt.cc: ...here. - * config/i386/x86-tune-sched-atom.c: Moved to... - * config/i386/x86-tune-sched-atom.cc: ...here. - * config/i386/x86-tune-sched-bd.c: Moved to... - * config/i386/x86-tune-sched-bd.cc: ...here. - * config/i386/x86-tune-sched-core.c: Moved to... - * config/i386/x86-tune-sched-core.cc: ...here. - * config/i386/x86-tune-sched.c: Moved to... - * config/i386/x86-tune-sched.cc: ...here. - * config/ia64/ia64-c.c: Moved to... - * config/ia64/ia64-c.cc: ...here. - * config/ia64/ia64.c: Moved to... - * config/ia64/ia64.cc: ...here. - * config/iq2000/iq2000.c: Moved to... - * config/iq2000/iq2000.cc: ...here. - * config/linux.c: Moved to... - * config/linux.cc: ...here. - * config/lm32/lm32.c: Moved to... - * config/lm32/lm32.cc: ...here. - * config/m32c/m32c-pragma.c: Moved to... - * config/m32c/m32c-pragma.cc: ...here. - * config/m32c/m32c.c: Moved to... - * config/m32c/m32c.cc: ...here. - * config/m32r/m32r.c: Moved to... - * config/m32r/m32r.cc: ...here. - * config/m68k/m68k.c: Moved to... - * config/m68k/m68k.cc: ...here. - * config/mcore/mcore.c: Moved to... - * config/mcore/mcore.cc: ...here. - * config/microblaze/microblaze-c.c: Moved to... - * config/microblaze/microblaze-c.cc: ...here. - * config/microblaze/microblaze.c: Moved to... - * config/microblaze/microblaze.cc: ...here. - * config/mips/driver-native.c: Moved to... - * config/mips/driver-native.cc: ...here. - * config/mips/frame-header-opt.c: Moved to... - * config/mips/frame-header-opt.cc: ...here. - * config/mips/mips-d.c: Moved to... - * config/mips/mips-d.cc: ...here. - * config/mips/mips.c: Moved to... - * config/mips/mips.cc: ...here. - * config/mmix/mmix.c: Moved to... - * config/mmix/mmix.cc: ...here. - * config/mn10300/mn10300.c: Moved to... - * config/mn10300/mn10300.cc: ...here. - * config/moxie/moxie.c: Moved to... - * config/moxie/moxie.cc: ...here. - * config/msp430/driver-msp430.c: Moved to... - * config/msp430/driver-msp430.cc: ...here. - * config/msp430/msp430-c.c: Moved to... - * config/msp430/msp430-c.cc: ...here. - * config/msp430/msp430-devices.c: Moved to... - * config/msp430/msp430-devices.cc: ...here. - * config/msp430/msp430.c: Moved to... - * config/msp430/msp430.cc: ...here. - * config/nds32/nds32-cost.c: Moved to... - * config/nds32/nds32-cost.cc: ...here. - * config/nds32/nds32-fp-as-gp.c: Moved to... - * config/nds32/nds32-fp-as-gp.cc: ...here. - * config/nds32/nds32-intrinsic.c: Moved to... - * config/nds32/nds32-intrinsic.cc: ...here. - * config/nds32/nds32-isr.c: Moved to... - * config/nds32/nds32-isr.cc: ...here. - * config/nds32/nds32-md-auxiliary.c: Moved to... - * config/nds32/nds32-md-auxiliary.cc: ...here. - * config/nds32/nds32-memory-manipulation.c: Moved to... - * config/nds32/nds32-memory-manipulation.cc: ...here. - * config/nds32/nds32-pipelines-auxiliary.c: Moved to... - * config/nds32/nds32-pipelines-auxiliary.cc: ...here. - * config/nds32/nds32-predicates.c: Moved to... - * config/nds32/nds32-predicates.cc: ...here. - * config/nds32/nds32-relax-opt.c: Moved to... - * config/nds32/nds32-relax-opt.cc: ...here. - * config/nds32/nds32-utils.c: Moved to... - * config/nds32/nds32-utils.cc: ...here. - * config/nds32/nds32.c: Moved to... - * config/nds32/nds32.cc: ...here. - * config/netbsd-d.c: Moved to... - * config/netbsd-d.cc: ...here. - * config/netbsd.c: Moved to... - * config/netbsd.cc: ...here. - * config/nios2/nios2.c: Moved to... - * config/nios2/nios2.cc: ...here. - * config/nvptx/mkoffload.c: Moved to... - * config/nvptx/mkoffload.cc: ...here. - * config/nvptx/nvptx-c.c: Moved to... - * config/nvptx/nvptx-c.cc: ...here. - * config/nvptx/nvptx.c: Moved to... - * config/nvptx/nvptx.cc: ...here. - * config/openbsd-d.c: Moved to... - * config/openbsd-d.cc: ...here. - * config/or1k/or1k.c: Moved to... - * config/or1k/or1k.cc: ...here. - * config/pa/pa-d.c: Moved to... - * config/pa/pa-d.cc: ...here. - * config/pa/pa.c: Moved to... - * config/pa/pa.cc: ...here. - * config/pdp11/pdp11.c: Moved to... - * config/pdp11/pdp11.cc: ...here. - * config/pru/pru-passes.c: Moved to... - * config/pru/pru-passes.cc: ...here. - * config/pru/pru-pragma.c: Moved to... - * config/pru/pru-pragma.cc: ...here. - * config/pru/pru.c: Moved to... - * config/pru/pru.cc: ...here. - * config/riscv/riscv-builtins.c: Moved to... - * config/riscv/riscv-builtins.cc: ...here. - * config/riscv/riscv-c.c: Moved to... - * config/riscv/riscv-c.cc: ...here. - * config/riscv/riscv-d.c: Moved to... - * config/riscv/riscv-d.cc: ...here. - * config/riscv/riscv-shorten-memrefs.c: Moved to... - * config/riscv/riscv-shorten-memrefs.cc: ...here. - * config/riscv/riscv-sr.c: Moved to... - * config/riscv/riscv-sr.cc: ...here. - * config/riscv/riscv.c: Moved to... - * config/riscv/riscv.cc: ...here. - * config/rl78/rl78-c.c: Moved to... - * config/rl78/rl78-c.cc: ...here. - * config/rl78/rl78.c: Moved to... - * config/rl78/rl78.cc: ...here. - * config/rs6000/driver-rs6000.c: Moved to... - * config/rs6000/driver-rs6000.cc: ...here. - * config/rs6000/host-darwin.c: Moved to... - * config/rs6000/host-darwin.cc: ...here. - * config/rs6000/host-ppc64-darwin.c: Moved to... - * config/rs6000/host-ppc64-darwin.cc: ...here. - * config/rs6000/rbtree.c: Moved to... - * config/rs6000/rbtree.cc: ...here. - * config/rs6000/rs6000-c.c: Moved to... - * config/rs6000/rs6000-c.cc: ...here. - * config/rs6000/rs6000-call.c: Moved to... - * config/rs6000/rs6000-call.cc: ...here. - * config/rs6000/rs6000-d.c: Moved to... - * config/rs6000/rs6000-d.cc: ...here. - * config/rs6000/rs6000-gen-builtins.c: Moved to... - * config/rs6000/rs6000-gen-builtins.cc: ...here. - * config/rs6000/rs6000-linux.c: Moved to... - * config/rs6000/rs6000-linux.cc: ...here. - * config/rs6000/rs6000-logue.c: Moved to... - * config/rs6000/rs6000-logue.cc: ...here. - * config/rs6000/rs6000-p8swap.c: Moved to... - * config/rs6000/rs6000-p8swap.cc: ...here. - * config/rs6000/rs6000-pcrel-opt.c: Moved to... - * config/rs6000/rs6000-pcrel-opt.cc: ...here. - * config/rs6000/rs6000-string.c: Moved to... - * config/rs6000/rs6000-string.cc: ...here. - * config/rs6000/rs6000.c: Moved to... - * config/rs6000/rs6000.cc: ...here. - * config/rx/rx.c: Moved to... - * config/rx/rx.cc: ...here. - * config/s390/driver-native.c: Moved to... - * config/s390/driver-native.cc: ...here. - * config/s390/s390-c.c: Moved to... - * config/s390/s390-c.cc: ...here. - * config/s390/s390-d.c: Moved to... - * config/s390/s390-d.cc: ...here. - * config/s390/s390.c: Moved to... - * config/s390/s390.cc: ...here. - * config/sh/divtab-sh4-300.c: Moved to... - * config/sh/divtab-sh4-300.cc: ...here. - * config/sh/divtab-sh4.c: Moved to... - * config/sh/divtab-sh4.cc: ...here. - * config/sh/divtab.c: Moved to... - * config/sh/divtab.cc: ...here. - * config/sh/sh-c.c: Moved to... - * config/sh/sh-c.cc: ...here. - * config/sh/sh.c: Moved to... - * config/sh/sh.cc: ...here. - * config/sol2-c.c: Moved to... - * config/sol2-c.cc: ...here. - * config/sol2-cxx.c: Moved to... - * config/sol2-cxx.cc: ...here. - * config/sol2-d.c: Moved to... - * config/sol2-d.cc: ...here. - * config/sol2-stubs.c: Moved to... - * config/sol2-stubs.cc: ...here. - * config/sol2.c: Moved to... - * config/sol2.cc: ...here. - * config/sparc/driver-sparc.c: Moved to... - * config/sparc/driver-sparc.cc: ...here. - * config/sparc/sparc-c.c: Moved to... - * config/sparc/sparc-c.cc: ...here. - * config/sparc/sparc-d.c: Moved to... - * config/sparc/sparc-d.cc: ...here. - * config/sparc/sparc.c: Moved to... - * config/sparc/sparc.cc: ...here. - * config/stormy16/stormy16.c: Moved to... - * config/stormy16/stormy16.cc: ...here. - * config/tilegx/mul-tables.c: Moved to... - * config/tilegx/mul-tables.cc: ...here. - * config/tilegx/tilegx-c.c: Moved to... - * config/tilegx/tilegx-c.cc: ...here. - * config/tilegx/tilegx.c: Moved to... - * config/tilegx/tilegx.cc: ...here. - * config/tilepro/mul-tables.c: Moved to... - * config/tilepro/mul-tables.cc: ...here. - * config/tilepro/tilepro-c.c: Moved to... - * config/tilepro/tilepro-c.cc: ...here. - * config/tilepro/tilepro.c: Moved to... - * config/tilepro/tilepro.cc: ...here. - * config/v850/v850-c.c: Moved to... - * config/v850/v850-c.cc: ...here. - * config/v850/v850.c: Moved to... - * config/v850/v850.cc: ...here. - * config/vax/vax.c: Moved to... - * config/vax/vax.cc: ...here. - * config/visium/visium.c: Moved to... - * config/visium/visium.cc: ...here. - * config/vms/vms-c.c: Moved to... - * config/vms/vms-c.cc: ...here. - * config/vms/vms-f.c: Moved to... - * config/vms/vms-f.cc: ...here. - * config/vms/vms.c: Moved to... - * config/vms/vms.cc: ...here. - * config/vxworks-c.c: Moved to... - * config/vxworks-c.cc: ...here. - * config/vxworks.c: Moved to... - * config/vxworks.cc: ...here. - * config/winnt-c.c: Moved to... - * config/winnt-c.cc: ...here. - * config/xtensa/xtensa.c: Moved to... - * config/xtensa/xtensa.cc: ...here. - * context.c: Moved to... - * context.cc: ...here. - * convert.c: Moved to... - * convert.cc: ...here. - * coverage.c: Moved to... - * coverage.cc: ...here. - * cppbuiltin.c: Moved to... - * cppbuiltin.cc: ...here. - * cppdefault.c: Moved to... - * cppdefault.cc: ...here. - * cprop.c: Moved to... - * cprop.cc: ...here. - * cse.c: Moved to... - * cse.cc: ...here. - * cselib.c: Moved to... - * cselib.cc: ...here. - * ctfc.c: Moved to... - * ctfc.cc: ...here. - * ctfout.c: Moved to... - * ctfout.cc: ...here. - * data-streamer-in.c: Moved to... - * data-streamer-in.cc: ...here. - * data-streamer-out.c: Moved to... - * data-streamer-out.cc: ...here. - * data-streamer.c: Moved to... - * data-streamer.cc: ...here. - * dbgcnt.c: Moved to... - * dbgcnt.cc: ...here. - * dbxout.c: Moved to... - * dbxout.cc: ...here. - * dce.c: Moved to... - * dce.cc: ...here. - * ddg.c: Moved to... - * ddg.cc: ...here. - * debug.c: Moved to... - * debug.cc: ...here. - * df-core.c: Moved to... - * df-core.cc: ...here. - * df-problems.c: Moved to... - * df-problems.cc: ...here. - * df-scan.c: Moved to... - * df-scan.cc: ...here. - * dfp.c: Moved to... - * dfp.cc: ...here. - * diagnostic-color.c: Moved to... - * diagnostic-color.cc: ...here. - * diagnostic-show-locus.c: Moved to... - * diagnostic-show-locus.cc: ...here. - * diagnostic-spec.c: Moved to... - * diagnostic-spec.cc: ...here. - * diagnostic.c: Moved to... - * diagnostic.cc: ...here. - * dojump.c: Moved to... - * dojump.cc: ...here. - * dominance.c: Moved to... - * dominance.cc: ...here. - * domwalk.c: Moved to... - * domwalk.cc: ...here. - * double-int.c: Moved to... - * double-int.cc: ...here. - * dse.c: Moved to... - * dse.cc: ...here. - * dumpfile.c: Moved to... - * dumpfile.cc: ...here. - * dwarf2asm.c: Moved to... - * dwarf2asm.cc: ...here. - * dwarf2cfi.c: Moved to... - * dwarf2cfi.cc: ...here. - * dwarf2ctf.c: Moved to... - * dwarf2ctf.cc: ...here. - * dwarf2out.c: Moved to... - * dwarf2out.cc: ...here. - * early-remat.c: Moved to... - * early-remat.cc: ...here. - * edit-context.c: Moved to... - * edit-context.cc: ...here. - * emit-rtl.c: Moved to... - * emit-rtl.cc: ...here. - * errors.c: Moved to... - * errors.cc: ...here. - * et-forest.c: Moved to... - * et-forest.cc: ...here. - * except.c: Moved to... - * except.cc: ...here. - * explow.c: Moved to... - * explow.cc: ...here. - * expmed.c: Moved to... - * expmed.cc: ...here. - * expr.c: Moved to... - * expr.cc: ...here. - * fibonacci_heap.c: Moved to... - * fibonacci_heap.cc: ...here. - * file-find.c: Moved to... - * file-find.cc: ...here. - * file-prefix-map.c: Moved to... - * file-prefix-map.cc: ...here. - * final.c: Moved to... - * final.cc: ...here. - * fixed-value.c: Moved to... - * fixed-value.cc: ...here. - * fold-const-call.c: Moved to... - * fold-const-call.cc: ...here. - * fold-const.c: Moved to... - * fold-const.cc: ...here. - * fp-test.c: Moved to... - * fp-test.cc: ...here. - * function-tests.c: Moved to... - * function-tests.cc: ...here. - * function.c: Moved to... - * function.cc: ...here. - * fwprop.c: Moved to... - * fwprop.cc: ...here. - * gcc-ar.c: Moved to... - * gcc-ar.cc: ...here. - * gcc-main.c: Moved to... - * gcc-main.cc: ...here. - * gcc-rich-location.c: Moved to... - * gcc-rich-location.cc: ...here. - * gcc.c: Moved to... - * gcc.cc: ...here. - * gcov-dump.c: Moved to... - * gcov-dump.cc: ...here. - * gcov-io.c: Moved to... - * gcov-io.cc: ...here. - * gcov-tool.c: Moved to... - * gcov-tool.cc: ...here. - * gcov.c: Moved to... - * gcov.cc: ...here. - * gcse-common.c: Moved to... - * gcse-common.cc: ...here. - * gcse.c: Moved to... - * gcse.cc: ...here. - * genattr-common.c: Moved to... - * genattr-common.cc: ...here. - * genattr.c: Moved to... - * genattr.cc: ...here. - * genattrtab.c: Moved to... - * genattrtab.cc: ...here. - * genautomata.c: Moved to... - * genautomata.cc: ...here. - * gencfn-macros.c: Moved to... - * gencfn-macros.cc: ...here. - * gencheck.c: Moved to... - * gencheck.cc: ...here. - * genchecksum.c: Moved to... - * genchecksum.cc: ...here. - * gencodes.c: Moved to... - * gencodes.cc: ...here. - * genconditions.c: Moved to... - * genconditions.cc: ...here. - * genconfig.c: Moved to... - * genconfig.cc: ...here. - * genconstants.c: Moved to... - * genconstants.cc: ...here. - * genemit.c: Moved to... - * genemit.cc: ...here. - * genenums.c: Moved to... - * genenums.cc: ...here. - * generic-match-head.c: Moved to... - * generic-match-head.cc: ...here. - * genextract.c: Moved to... - * genextract.cc: ...here. - * genflags.c: Moved to... - * genflags.cc: ...here. - * gengenrtl.c: Moved to... - * gengenrtl.cc: ...here. - * gengtype-parse.c: Moved to... - * gengtype-parse.cc: ...here. - * gengtype-state.c: Moved to... - * gengtype-state.cc: ...here. - * gengtype.c: Moved to... - * gengtype.cc: ...here. - * genhooks.c: Moved to... - * genhooks.cc: ...here. - * genmatch.c: Moved to... - * genmatch.cc: ...here. - * genmddeps.c: Moved to... - * genmddeps.cc: ...here. - * genmddump.c: Moved to... - * genmddump.cc: ...here. - * genmodes.c: Moved to... - * genmodes.cc: ...here. - * genopinit.c: Moved to... - * genopinit.cc: ...here. - * genoutput.c: Moved to... - * genoutput.cc: ...here. - * genpeep.c: Moved to... - * genpeep.cc: ...here. - * genpreds.c: Moved to... - * genpreds.cc: ...here. - * genrecog.c: Moved to... - * genrecog.cc: ...here. - * gensupport.c: Moved to... - * gensupport.cc: ...here. - * gentarget-def.c: Moved to... - * gentarget-def.cc: ...here. - * genversion.c: Moved to... - * genversion.cc: ...here. - * ggc-common.c: Moved to... - * ggc-common.cc: ...here. - * ggc-none.c: Moved to... - * ggc-none.cc: ...here. - * ggc-page.c: Moved to... - * ggc-page.cc: ...here. - * ggc-tests.c: Moved to... - * ggc-tests.cc: ...here. - * gimple-builder.c: Moved to... - * gimple-builder.cc: ...here. - * gimple-expr.c: Moved to... - * gimple-expr.cc: ...here. - * gimple-fold.c: Moved to... - * gimple-fold.cc: ...here. - * gimple-iterator.c: Moved to... - * gimple-iterator.cc: ...here. - * gimple-laddress.c: Moved to... - * gimple-laddress.cc: ...here. - * gimple-loop-jam.c: Moved to... - * gimple-loop-jam.cc: ...here. - * gimple-low.c: Moved to... - * gimple-low.cc: ...here. - * gimple-match-head.c: Moved to... - * gimple-match-head.cc: ...here. - * gimple-pretty-print.c: Moved to... - * gimple-pretty-print.cc: ...here. - * gimple-ssa-backprop.c: Moved to... - * gimple-ssa-backprop.cc: ...here. - * gimple-ssa-evrp-analyze.c: Moved to... - * gimple-ssa-evrp-analyze.cc: ...here. - * gimple-ssa-evrp.c: Moved to... - * gimple-ssa-evrp.cc: ...here. - * gimple-ssa-isolate-paths.c: Moved to... - * gimple-ssa-isolate-paths.cc: ...here. - * gimple-ssa-nonnull-compare.c: Moved to... - * gimple-ssa-nonnull-compare.cc: ...here. - * gimple-ssa-split-paths.c: Moved to... - * gimple-ssa-split-paths.cc: ...here. - * gimple-ssa-sprintf.c: Moved to... - * gimple-ssa-sprintf.cc: ...here. - * gimple-ssa-store-merging.c: Moved to... - * gimple-ssa-store-merging.cc: ...here. - * gimple-ssa-strength-reduction.c: Moved to... - * gimple-ssa-strength-reduction.cc: ...here. - * gimple-ssa-warn-alloca.c: Moved to... - * gimple-ssa-warn-alloca.cc: ...here. - * gimple-ssa-warn-restrict.c: Moved to... - * gimple-ssa-warn-restrict.cc: ...here. - * gimple-streamer-in.c: Moved to... - * gimple-streamer-in.cc: ...here. - * gimple-streamer-out.c: Moved to... - * gimple-streamer-out.cc: ...here. - * gimple-walk.c: Moved to... - * gimple-walk.cc: ...here. - * gimple-warn-recursion.c: Moved to... - * gimple-warn-recursion.cc: ...here. - * gimple.c: Moved to... - * gimple.cc: ...here. - * gimplify-me.c: Moved to... - * gimplify-me.cc: ...here. - * gimplify.c: Moved to... - * gimplify.cc: ...here. - * godump.c: Moved to... - * godump.cc: ...here. - * graph.c: Moved to... - * graph.cc: ...here. - * graphds.c: Moved to... - * graphds.cc: ...here. - * graphite-dependences.c: Moved to... - * graphite-dependences.cc: ...here. - * graphite-isl-ast-to-gimple.c: Moved to... - * graphite-isl-ast-to-gimple.cc: ...here. - * graphite-optimize-isl.c: Moved to... - * graphite-optimize-isl.cc: ...here. - * graphite-poly.c: Moved to... - * graphite-poly.cc: ...here. - * graphite-scop-detection.c: Moved to... - * graphite-scop-detection.cc: ...here. - * graphite-sese-to-poly.c: Moved to... - * graphite-sese-to-poly.cc: ...here. - * graphite.c: Moved to... - * graphite.cc: ...here. - * haifa-sched.c: Moved to... - * haifa-sched.cc: ...here. - * hash-map-tests.c: Moved to... - * hash-map-tests.cc: ...here. - * hash-set-tests.c: Moved to... - * hash-set-tests.cc: ...here. - * hash-table.c: Moved to... - * hash-table.cc: ...here. - * hooks.c: Moved to... - * hooks.cc: ...here. - * host-default.c: Moved to... - * host-default.cc: ...here. - * hw-doloop.c: Moved to... - * hw-doloop.cc: ...here. - * hwint.c: Moved to... - * hwint.cc: ...here. - * ifcvt.c: Moved to... - * ifcvt.cc: ...here. - * inchash.c: Moved to... - * inchash.cc: ...here. - * incpath.c: Moved to... - * incpath.cc: ...here. - * init-regs.c: Moved to... - * init-regs.cc: ...here. - * input.c: Moved to... - * input.cc: ...here. - * internal-fn.c: Moved to... - * internal-fn.cc: ...here. - * intl.c: Moved to... - * intl.cc: ...here. - * ipa-comdats.c: Moved to... - * ipa-comdats.cc: ...here. - * ipa-cp.c: Moved to... - * ipa-cp.cc: ...here. - * ipa-devirt.c: Moved to... - * ipa-devirt.cc: ...here. - * ipa-fnsummary.c: Moved to... - * ipa-fnsummary.cc: ...here. - * ipa-icf-gimple.c: Moved to... - * ipa-icf-gimple.cc: ...here. - * ipa-icf.c: Moved to... - * ipa-icf.cc: ...here. - * ipa-inline-analysis.c: Moved to... - * ipa-inline-analysis.cc: ...here. - * ipa-inline-transform.c: Moved to... - * ipa-inline-transform.cc: ...here. - * ipa-inline.c: Moved to... - * ipa-inline.cc: ...here. - * ipa-modref-tree.c: Moved to... - * ipa-modref-tree.cc: ...here. - * ipa-modref.c: Moved to... - * ipa-modref.cc: ...here. - * ipa-param-manipulation.c: Moved to... - * ipa-param-manipulation.cc: ...here. - * ipa-polymorphic-call.c: Moved to... - * ipa-polymorphic-call.cc: ...here. - * ipa-predicate.c: Moved to... - * ipa-predicate.cc: ...here. - * ipa-profile.c: Moved to... - * ipa-profile.cc: ...here. - * ipa-prop.c: Moved to... - * ipa-prop.cc: ...here. - * ipa-pure-const.c: Moved to... - * ipa-pure-const.cc: ...here. - * ipa-ref.c: Moved to... - * ipa-ref.cc: ...here. - * ipa-reference.c: Moved to... - * ipa-reference.cc: ...here. - * ipa-split.c: Moved to... - * ipa-split.cc: ...here. - * ipa-sra.c: Moved to... - * ipa-sra.cc: ...here. - * ipa-utils.c: Moved to... - * ipa-utils.cc: ...here. - * ipa-visibility.c: Moved to... - * ipa-visibility.cc: ...here. - * ipa.c: Moved to... - * ipa.cc: ...here. - * ira-build.c: Moved to... - * ira-build.cc: ...here. - * ira-color.c: Moved to... - * ira-color.cc: ...here. - * ira-conflicts.c: Moved to... - * ira-conflicts.cc: ...here. - * ira-costs.c: Moved to... - * ira-costs.cc: ...here. - * ira-emit.c: Moved to... - * ira-emit.cc: ...here. - * ira-lives.c: Moved to... - * ira-lives.cc: ...here. - * ira.c: Moved to... - * ira.cc: ...here. - * jump.c: Moved to... - * jump.cc: ...here. - * langhooks.c: Moved to... - * langhooks.cc: ...here. - * lcm.c: Moved to... - * lcm.cc: ...here. - * lists.c: Moved to... - * lists.cc: ...here. - * loop-doloop.c: Moved to... - * loop-doloop.cc: ...here. - * loop-init.c: Moved to... - * loop-init.cc: ...here. - * loop-invariant.c: Moved to... - * loop-invariant.cc: ...here. - * loop-iv.c: Moved to... - * loop-iv.cc: ...here. - * loop-unroll.c: Moved to... - * loop-unroll.cc: ...here. - * lower-subreg.c: Moved to... - * lower-subreg.cc: ...here. - * lra-assigns.c: Moved to... - * lra-assigns.cc: ...here. - * lra-coalesce.c: Moved to... - * lra-coalesce.cc: ...here. - * lra-constraints.c: Moved to... - * lra-constraints.cc: ...here. - * lra-eliminations.c: Moved to... - * lra-eliminations.cc: ...here. - * lra-lives.c: Moved to... - * lra-lives.cc: ...here. - * lra-remat.c: Moved to... - * lra-remat.cc: ...here. - * lra-spills.c: Moved to... - * lra-spills.cc: ...here. - * lra.c: Moved to... - * lra.cc: ...here. - * lto-cgraph.c: Moved to... - * lto-cgraph.cc: ...here. - * lto-compress.c: Moved to... - * lto-compress.cc: ...here. - * lto-opts.c: Moved to... - * lto-opts.cc: ...here. - * lto-section-in.c: Moved to... - * lto-section-in.cc: ...here. - * lto-section-out.c: Moved to... - * lto-section-out.cc: ...here. - * lto-streamer-in.c: Moved to... - * lto-streamer-in.cc: ...here. - * lto-streamer-out.c: Moved to... - * lto-streamer-out.cc: ...here. - * lto-streamer.c: Moved to... - * lto-streamer.cc: ...here. - * lto-wrapper.c: Moved to... - * lto-wrapper.cc: ...here. - * main.c: Moved to... - * main.cc: ...here. - * mcf.c: Moved to... - * mcf.cc: ...here. - * mode-switching.c: Moved to... - * mode-switching.cc: ...here. - * modulo-sched.c: Moved to... - * modulo-sched.cc: ...here. - * multiple_target.c: Moved to... - * multiple_target.cc: ...here. - * omp-expand.c: Moved to... - * omp-expand.cc: ...here. - * omp-general.c: Moved to... - * omp-general.cc: ...here. - * omp-low.c: Moved to... - * omp-low.cc: ...here. - * omp-offload.c: Moved to... - * omp-offload.cc: ...here. - * omp-simd-clone.c: Moved to... - * omp-simd-clone.cc: ...here. - * opt-suggestions.c: Moved to... - * opt-suggestions.cc: ...here. - * optabs-libfuncs.c: Moved to... - * optabs-libfuncs.cc: ...here. - * optabs-query.c: Moved to... - * optabs-query.cc: ...here. - * optabs-tree.c: Moved to... - * optabs-tree.cc: ...here. - * optabs.c: Moved to... - * optabs.cc: ...here. - * opts-common.c: Moved to... - * opts-common.cc: ...here. - * opts-global.c: Moved to... - * opts-global.cc: ...here. - * opts.c: Moved to... - * opts.cc: ...here. - * passes.c: Moved to... - * passes.cc: ...here. - * plugin.c: Moved to... - * plugin.cc: ...here. - * postreload-gcse.c: Moved to... - * postreload-gcse.cc: ...here. - * postreload.c: Moved to... - * postreload.cc: ...here. - * predict.c: Moved to... - * predict.cc: ...here. - * prefix.c: Moved to... - * prefix.cc: ...here. - * pretty-print.c: Moved to... - * pretty-print.cc: ...here. - * print-rtl-function.c: Moved to... - * print-rtl-function.cc: ...here. - * print-rtl.c: Moved to... - * print-rtl.cc: ...here. - * print-tree.c: Moved to... - * print-tree.cc: ...here. - * profile-count.c: Moved to... - * profile-count.cc: ...here. - * profile.c: Moved to... - * profile.cc: ...here. - * read-md.c: Moved to... - * read-md.cc: ...here. - * read-rtl-function.c: Moved to... - * read-rtl-function.cc: ...here. - * read-rtl.c: Moved to... - * read-rtl.cc: ...here. - * real.c: Moved to... - * real.cc: ...here. - * realmpfr.c: Moved to... - * realmpfr.cc: ...here. - * recog.c: Moved to... - * recog.cc: ...here. - * ree.c: Moved to... - * ree.cc: ...here. - * reg-stack.c: Moved to... - * reg-stack.cc: ...here. - * regcprop.c: Moved to... - * regcprop.cc: ...here. - * reginfo.c: Moved to... - * reginfo.cc: ...here. - * regrename.c: Moved to... - * regrename.cc: ...here. - * regstat.c: Moved to... - * regstat.cc: ...here. - * reload.c: Moved to... - * reload.cc: ...here. - * reload1.c: Moved to... - * reload1.cc: ...here. - * reorg.c: Moved to... - * reorg.cc: ...here. - * resource.c: Moved to... - * resource.cc: ...here. - * rtl-error.c: Moved to... - * rtl-error.cc: ...here. - * rtl-tests.c: Moved to... - * rtl-tests.cc: ...here. - * rtl.c: Moved to... - * rtl.cc: ...here. - * rtlanal.c: Moved to... - * rtlanal.cc: ...here. - * rtlhash.c: Moved to... - * rtlhash.cc: ...here. - * rtlhooks.c: Moved to... - * rtlhooks.cc: ...here. - * rtx-vector-builder.c: Moved to... - * rtx-vector-builder.cc: ...here. - * run-rtl-passes.c: Moved to... - * run-rtl-passes.cc: ...here. - * sancov.c: Moved to... - * sancov.cc: ...here. - * sanopt.c: Moved to... - * sanopt.cc: ...here. - * sbitmap.c: Moved to... - * sbitmap.cc: ...here. - * sched-deps.c: Moved to... - * sched-deps.cc: ...here. - * sched-ebb.c: Moved to... - * sched-ebb.cc: ...here. - * sched-rgn.c: Moved to... - * sched-rgn.cc: ...here. - * sel-sched-dump.c: Moved to... - * sel-sched-dump.cc: ...here. - * sel-sched-ir.c: Moved to... - * sel-sched-ir.cc: ...here. - * sel-sched.c: Moved to... - * sel-sched.cc: ...here. - * selftest-diagnostic.c: Moved to... - * selftest-diagnostic.cc: ...here. - * selftest-rtl.c: Moved to... - * selftest-rtl.cc: ...here. - * selftest-run-tests.c: Moved to... - * selftest-run-tests.cc: ...here. - * selftest.c: Moved to... - * selftest.cc: ...here. - * sese.c: Moved to... - * sese.cc: ...here. - * shrink-wrap.c: Moved to... - * shrink-wrap.cc: ...here. - * simplify-rtx.c: Moved to... - * simplify-rtx.cc: ...here. - * sparseset.c: Moved to... - * sparseset.cc: ...here. - * spellcheck-tree.c: Moved to... - * spellcheck-tree.cc: ...here. - * spellcheck.c: Moved to... - * spellcheck.cc: ...here. - * sreal.c: Moved to... - * sreal.cc: ...here. - * stack-ptr-mod.c: Moved to... - * stack-ptr-mod.cc: ...here. - * statistics.c: Moved to... - * statistics.cc: ...here. - * stmt.c: Moved to... - * stmt.cc: ...here. - * stor-layout.c: Moved to... - * stor-layout.cc: ...here. - * store-motion.c: Moved to... - * store-motion.cc: ...here. - * streamer-hooks.c: Moved to... - * streamer-hooks.cc: ...here. - * stringpool.c: Moved to... - * stringpool.cc: ...here. - * substring-locations.c: Moved to... - * substring-locations.cc: ...here. - * symtab.c: Moved to... - * symtab.cc: ...here. - * target-globals.c: Moved to... - * target-globals.cc: ...here. - * targhooks.c: Moved to... - * targhooks.cc: ...here. - * timevar.c: Moved to... - * timevar.cc: ...here. - * toplev.c: Moved to... - * toplev.cc: ...here. - * tracer.c: Moved to... - * tracer.cc: ...here. - * trans-mem.c: Moved to... - * trans-mem.cc: ...here. - * tree-affine.c: Moved to... - * tree-affine.cc: ...here. - * tree-call-cdce.c: Moved to... - * tree-call-cdce.cc: ...here. - * tree-cfg.c: Moved to... - * tree-cfg.cc: ...here. - * tree-cfgcleanup.c: Moved to... - * tree-cfgcleanup.cc: ...here. - * tree-chrec.c: Moved to... - * tree-chrec.cc: ...here. - * tree-complex.c: Moved to... - * tree-complex.cc: ...here. - * tree-data-ref.c: Moved to... - * tree-data-ref.cc: ...here. - * tree-dfa.c: Moved to... - * tree-dfa.cc: ...here. - * tree-diagnostic.c: Moved to... - * tree-diagnostic.cc: ...here. - * tree-dump.c: Moved to... - * tree-dump.cc: ...here. - * tree-eh.c: Moved to... - * tree-eh.cc: ...here. - * tree-emutls.c: Moved to... - * tree-emutls.cc: ...here. - * tree-if-conv.c: Moved to... - * tree-if-conv.cc: ...here. - * tree-inline.c: Moved to... - * tree-inline.cc: ...here. - * tree-into-ssa.c: Moved to... - * tree-into-ssa.cc: ...here. - * tree-iterator.c: Moved to... - * tree-iterator.cc: ...here. - * tree-loop-distribution.c: Moved to... - * tree-loop-distribution.cc: ...here. - * tree-nested.c: Moved to... - * tree-nested.cc: ...here. - * tree-nrv.c: Moved to... - * tree-nrv.cc: ...here. - * tree-object-size.c: Moved to... - * tree-object-size.cc: ...here. - * tree-outof-ssa.c: Moved to... - * tree-outof-ssa.cc: ...here. - * tree-parloops.c: Moved to... - * tree-parloops.cc: ...here. - * tree-phinodes.c: Moved to... - * tree-phinodes.cc: ...here. - * tree-predcom.c: Moved to... - * tree-predcom.cc: ...here. - * tree-pretty-print.c: Moved to... - * tree-pretty-print.cc: ...here. - * tree-profile.c: Moved to... - * tree-profile.cc: ...here. - * tree-scalar-evolution.c: Moved to... - * tree-scalar-evolution.cc: ...here. - * tree-sra.c: Moved to... - * tree-sra.cc: ...here. - * tree-ssa-address.c: Moved to... - * tree-ssa-address.cc: ...here. - * tree-ssa-alias.c: Moved to... - * tree-ssa-alias.cc: ...here. - * tree-ssa-ccp.c: Moved to... - * tree-ssa-ccp.cc: ...here. - * tree-ssa-coalesce.c: Moved to... - * tree-ssa-coalesce.cc: ...here. - * tree-ssa-copy.c: Moved to... - * tree-ssa-copy.cc: ...here. - * tree-ssa-dce.c: Moved to... - * tree-ssa-dce.cc: ...here. - * tree-ssa-dom.c: Moved to... - * tree-ssa-dom.cc: ...here. - * tree-ssa-dse.c: Moved to... - * tree-ssa-dse.cc: ...here. - * tree-ssa-forwprop.c: Moved to... - * tree-ssa-forwprop.cc: ...here. - * tree-ssa-ifcombine.c: Moved to... - * tree-ssa-ifcombine.cc: ...here. - * tree-ssa-live.c: Moved to... - * tree-ssa-live.cc: ...here. - * tree-ssa-loop-ch.c: Moved to... - * tree-ssa-loop-ch.cc: ...here. - * tree-ssa-loop-im.c: Moved to... - * tree-ssa-loop-im.cc: ...here. - * tree-ssa-loop-ivcanon.c: Moved to... - * tree-ssa-loop-ivcanon.cc: ...here. - * tree-ssa-loop-ivopts.c: Moved to... - * tree-ssa-loop-ivopts.cc: ...here. - * tree-ssa-loop-manip.c: Moved to... - * tree-ssa-loop-manip.cc: ...here. - * tree-ssa-loop-niter.c: Moved to... - * tree-ssa-loop-niter.cc: ...here. - * tree-ssa-loop-prefetch.c: Moved to... - * tree-ssa-loop-prefetch.cc: ...here. - * tree-ssa-loop-split.c: Moved to... - * tree-ssa-loop-split.cc: ...here. - * tree-ssa-loop-unswitch.c: Moved to... - * tree-ssa-loop-unswitch.cc: ...here. - * tree-ssa-loop.c: Moved to... - * tree-ssa-loop.cc: ...here. - * tree-ssa-math-opts.c: Moved to... - * tree-ssa-math-opts.cc: ...here. - * tree-ssa-operands.c: Moved to... - * tree-ssa-operands.cc: ...here. - * tree-ssa-phiopt.c: Moved to... - * tree-ssa-phiopt.cc: ...here. - * tree-ssa-phiprop.c: Moved to... - * tree-ssa-phiprop.cc: ...here. - * tree-ssa-pre.c: Moved to... - * tree-ssa-pre.cc: ...here. - * tree-ssa-propagate.c: Moved to... - * tree-ssa-propagate.cc: ...here. - * tree-ssa-reassoc.c: Moved to... - * tree-ssa-reassoc.cc: ...here. - * tree-ssa-sccvn.c: Moved to... - * tree-ssa-sccvn.cc: ...here. - * tree-ssa-scopedtables.c: Moved to... - * tree-ssa-scopedtables.cc: ...here. - * tree-ssa-sink.c: Moved to... - * tree-ssa-sink.cc: ...here. - * tree-ssa-strlen.c: Moved to... - * tree-ssa-strlen.cc: ...here. - * tree-ssa-structalias.c: Moved to... - * tree-ssa-structalias.cc: ...here. - * tree-ssa-tail-merge.c: Moved to... - * tree-ssa-tail-merge.cc: ...here. - * tree-ssa-ter.c: Moved to... - * tree-ssa-ter.cc: ...here. - * tree-ssa-threadbackward.c: Moved to... - * tree-ssa-threadbackward.cc: ...here. - * tree-ssa-threadedge.c: Moved to... - * tree-ssa-threadedge.cc: ...here. - * tree-ssa-threadupdate.c: Moved to... - * tree-ssa-threadupdate.cc: ...here. - * tree-ssa-uncprop.c: Moved to... - * tree-ssa-uncprop.cc: ...here. - * tree-ssa-uninit.c: Moved to... - * tree-ssa-uninit.cc: ...here. - * tree-ssa.c: Moved to... - * tree-ssa.cc: ...here. - * tree-ssanames.c: Moved to... - * tree-ssanames.cc: ...here. - * tree-stdarg.c: Moved to... - * tree-stdarg.cc: ...here. - * tree-streamer-in.c: Moved to... - * tree-streamer-in.cc: ...here. - * tree-streamer-out.c: Moved to... - * tree-streamer-out.cc: ...here. - * tree-streamer.c: Moved to... - * tree-streamer.cc: ...here. - * tree-switch-conversion.c: Moved to... - * tree-switch-conversion.cc: ...here. - * tree-tailcall.c: Moved to... - * tree-tailcall.cc: ...here. - * tree-vect-data-refs.c: Moved to... - * tree-vect-data-refs.cc: ...here. - * tree-vect-generic.c: Moved to... - * tree-vect-generic.cc: ...here. - * tree-vect-loop-manip.c: Moved to... - * tree-vect-loop-manip.cc: ...here. - * tree-vect-loop.c: Moved to... - * tree-vect-loop.cc: ...here. - * tree-vect-patterns.c: Moved to... - * tree-vect-patterns.cc: ...here. - * tree-vect-slp-patterns.c: Moved to... - * tree-vect-slp-patterns.cc: ...here. - * tree-vect-slp.c: Moved to... - * tree-vect-slp.cc: ...here. - * tree-vect-stmts.c: Moved to... - * tree-vect-stmts.cc: ...here. - * tree-vector-builder.c: Moved to... - * tree-vector-builder.cc: ...here. - * tree-vectorizer.c: Moved to... - * tree-vectorizer.cc: ...here. - * tree-vrp.c: Moved to... - * tree-vrp.cc: ...here. - * tree.c: Moved to... - * tree.cc: ...here. - * tsan.c: Moved to... - * tsan.cc: ...here. - * typed-splay-tree.c: Moved to... - * typed-splay-tree.cc: ...here. - * ubsan.c: Moved to... - * ubsan.cc: ...here. - * valtrack.c: Moved to... - * valtrack.cc: ...here. - * value-prof.c: Moved to... - * value-prof.cc: ...here. - * var-tracking.c: Moved to... - * var-tracking.cc: ...here. - * varasm.c: Moved to... - * varasm.cc: ...here. - * varpool.c: Moved to... - * varpool.cc: ...here. - * vec-perm-indices.c: Moved to... - * vec-perm-indices.cc: ...here. - * vec.c: Moved to... - * vec.cc: ...here. - * vmsdbgout.c: Moved to... - * vmsdbgout.cc: ...here. - * vr-values.c: Moved to... - * vr-values.cc: ...here. - * vtable-verify.c: Moved to... - * vtable-verify.cc: ...here. - * web.c: Moved to... - * web.cc: ...here. - * xcoffout.c: Moved to... - * xcoffout.cc: ...here. - -2022-01-17 qing zhao <qing.zhao@oracle.com> - - * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle - .DEFERRED_INIT call with an anonymous SSA_NAME specially. - (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME - specially. - (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit. - (warn_uninitialized_vars): Likewise. - (warn_uninitialized_phi): Likewise. - -2022-01-17 Jason Merrill <jason@redhat.com> - - * diagnostic.h (struct diagnostic_context): Add includes_seen. - * diagnostic.c (diagnostic_initialize): Initialize it. - (diagnostic_finish): Clean it up. - (includes_seen): New function. - (diagnostic_report_current_module): Use it. - -2022-01-17 Richard Biener <rguenther@suse.de> - - PR middle-end/101292 - * diagnostic-spec.c (copy_warning): Make sure to not - reference old hashtable content on possible resize. - * warning-control.cc (copy_warning): Likewise. - -2022-01-17 Jakub Jelinek <jakub@redhat.com> - - PR target/103973 - * tree-cfg.h (cond_only_block_p): Declare. - * tree-ssa-phiopt.c (cond_only_block_p): Move function to ... - * tree-cfg.c (cond_only_block_p): ... here. No longer static. - * optabs.def (spaceship_optab): New optab. - * internal-fn.def (SPACESHIP): New internal function. - * internal-fn.h (expand_SPACESHIP): Declare. - * internal-fn.c (expand_PHI): Formatting fix. - (expand_SPACESHIP): New function. - * tree-ssa-math-opts.c (optimize_spaceship): New function. - (math_opts_dom_walker::after_dom_children): Use it. - * config/i386/i386.md (spaceship<mode>3): New define_expand. - * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare. - * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function. - * doc/md.texi (spaceship@var{m}3): Document. - -2022-01-17 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/altivec.md (altivec_vreveti2): Remove. - * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df, - *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use - known constant values to simplify code. - -2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/103124 - * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined. - -2022-01-16 wwwhhhyyy <hongyu.wang@intel.com> - - * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro. - * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>): - Insert zero-idiom in output template when attr enabled, set new attribute to - true for non-mask/maskz insn. - (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>): - Likewise. - (avx512dq_mul<mode>3<mask_name>): Likewise. - (<avx2_avx512>_permvar<mode><mask_name>): Likewise. - (avx2_perm<mode>_1<mask_name>): Likewise. - (avx512f_perm<mode>_1<mask_name>): Likewise. - (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise. - (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>): - Likewise. - (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise. - (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>): - Likewise. - * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New - subst_attr. - (mask4_dest_false_dep_for_glc_cond): Likewise. - (mask6_dest_false_dep_for_glc_cond): Likewise. - (mask10_dest_false_dep_for_glc_cond): Likewise. - (maskc_dest_false_dep_for_glc_cond): Likewise. - (mask_scalar4_dest_false_dep_for_glc_cond): Likewise. - (mask_scalarc_dest_false_dep_for_glc_cond): Likewise. - * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New - DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE - -2022-01-15 Martin Sebor <msebor@redhat.com> - - PR c/63272 - * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle - -Wdangling-pointer. - * doc/invoke.texi (-Wdangling-pointer): Document new option. - * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member. - (pass_waccess::check_pointer_uses): New function. - (pass_waccess::gimple_call_return_arg): New function. - (pass_waccess::gimple_call_return_arg_ref): New function. - (pass_waccess::check_call_dangling): New function. - (pass_waccess::check_dangling_uses): New function overloads. - (pass_waccess::check_dangling_stores): New function. - (pass_waccess::check_dangling_stores): New function. - (pass_waccess::m_clobbers): New data member. - (pass_waccess::m_func): New data member. - (pass_waccess::m_run_number): New data member. - (pass_waccess::m_check_dangling_p): New data member. - (pass_waccess::check_alloca): Check m_early_checks_p. - (pass_waccess::check_alloc_size_call): Same. - (pass_waccess::check_strcat): Same. - (pass_waccess::check_strncat): Same. - (pass_waccess::check_stxcpy): Same. - (pass_waccess::check_stxncpy): Same. - (pass_waccess::check_strncmp): Same. - (pass_waccess::check_memop_access): Same. - (pass_waccess::check_read_access): Same. - (pass_waccess::check_builtin): Call check_pointer_uses. - (pass_waccess::warn_invalid_pointer): Add arguments. - (is_auto_decl): New function. - (pass_waccess::check_stmt): New function. - (pass_waccess::check_block): Call check_stmt. - (pass_waccess::execute): Call check_dangling_uses, - check_dangling_stores. Empty m_clobbers. - * passes.def (pass_warn_access): Invoke pass two more times. - -2022-01-15 Martin Sebor <msebor@redhat.com> - - PR tree-optimization/80532 - * common.opt (-Wuse-after-free): New options. - * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle - OPT_Wreturn_local_addr and OPT_Wuse_after_free_. - * diagnostic-spec.h (NW_DANGLING): New enumerator. - * doc/invoke.texi (-Wuse-after-free): Document new option. - * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename... - (pass_waccess::check_call_access): ...to this. - (pass_waccess::check): Rename... - (pass_waccess::check_block): ...to this. - (pass_waccess::check_pointer_uses): New function. - (pass_waccess::gimple_call_return_arg): New function. - (pass_waccess::warn_invalid_pointer): New function. - (pass_waccess::check_builtin): Handle free and realloc. - (gimple_use_after_inval_p): New function. - (get_realloc_lhs): New function. - (maybe_warn_mismatched_realloc): New function. - (pointers_related_p): New function. - (pass_waccess::check_call): Call check_pointer_uses. - (pass_waccess::execute): Compute and free dominance info. - -2022-01-15 Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use - expand_simple_unop and expand_simple_binop instead of manually - constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand - consistently. Eliminate common subexpressions and simplify code. - * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander. - (<any_logic:code><MODEF:mode>3): Make public. - -2022-01-14 Eric Botcazou <ebotcazou@adacore.com> - - * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump - reverse flag as "reverse" for the sake of consistency. - * ipa-sra.c: Fix copyright year. - (ipa_sra_function_summaries::duplicate): Copy the reverse flag. - (dump_isra_access): Tweak dump line. - (isra_write_node_summary): Write the reverse flag. - (isra_read_node_info): Read it. - (pull_accesses_from_callee): Test its consistency and copy it. - -2022-01-14 Richard Sandiford <richard.sandiford@arm.com> - - PR middle-end/104026 - * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize - partial_load_store_bias. - -2022-01-14 Martin Sebor <msebor@redhat.com> - - PR middle-end/101475 - * pointer-query.cc (handle_component_ref): Use the size of - the enclosing object if it's smaller than the member. - -2022-01-14 Martin Liska <mliska@suse.cz> - - * configure: Regenerate. - -2022-01-14 Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md (*add<mode>_1_slp"): - Mark alternative 1 output operand earlyclobbered. - (*sub<mode>_1_slp): Ditto. - (*and<mode>_1_slp): Ditto. - (*<code><mode>_1_slp): Ditto. - (*neg<mode>_1_slp): Ditto. - (*one_cmpl<mode>_1_slp): Ditto. - (*ashl<mode>3_1_slp): Ditto. - (*<insn><mode>3_1_slp): Ditto. - (*<insn><mode>3_1_slp): Ditto. - -2022-01-14 Kewen Lin <linkw@linux.ibm.com> - - PR tree-optimization/104015 - * tree-vect-loop.c (vect_analyze_loop): Check - param_vect_partial_vector_usage for supports_partial_vectors. - -2022-01-14 Jakub Jelinek <jakub@redhat.com> - - PR c++/89074 - * fold-const.c (address_compare): Punt on comparison of address of - one object with address of end of another object if - folding_initializer. - -2022-01-14 Jakub Jelinek <jakub@redhat.com> - - PR target/98737 - * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize - __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y) - and __atomic_op_fetch (p, x, y) iop x into - __atomic_fetch_op (p, x, y). - -2022-01-14 Claudiu Zissulescu <claziss@synopsys.com> - - * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition. - (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro. - (INCOMING_RETURN_ADDR_RTX): Likewise. - (DWARF_ALT_FRAME_RETURN_COLUMN): Define. - -2022-01-14 Claudiu Zissulescu <claziss@synopsys.com> - - * config/arc/arc.c (arc_compute_frame_size): Remove condition when - computin checking accumulator regs. - (arc_expand_prologue): Update comments. - (arc_expand_epilogue): Likewise. - -2022-01-14 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg. - (ix86_expand_ti_to_v1ti): Use force_reg. - (ix86_expand_v1ti_shift): Use force_reg. - (ix86_expand_v1ti_rotate): Use force_reg. - (ix86_expand_v1ti_ashiftrt): Provide new three operation - implementations for shifts by 111..126 bits. Use force_reg. - -2022-01-14 Martin Liska <mliska@suse.cz> - - * common/config/arm/arm-common.c (arm_target_mode): Fix - warning: unterminated quoting directive [-Wformat=]. - -2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR tree-optimization/104009 - * tree-object-size.c (compute_builtin_object_size): Bail out on - negative offset. - (plus_stmt_object_size): Return maximum of wholesize and minimum - of 0 for negative offset. - -2022-01-14 liuhongt <hongtao.liu@intel.com> - - PR target/104001 - PR target/94790 - PR target/104014 - * config/i386/i386.md (*xor2andn): Refine predicate of - operands[0] from nonimmediate_operand to - register_operand, remove TARGET_AVX512BW from condition. - -2022-01-14 David Malcolm <dmalcolm@redhat.com> - - * doc/extend.texi (Function Attributes): Note that "tainted_args" can - be used on field decls. - (Common Function Attributes): Add entry on "tainted_args" attribute. - -2022-01-13 Anthony Sharp <anthonysharp15@gmail.com> - Jason Merrill <jason@redhat.com> - - PR c++/70417 - * doc/invoke.texi: Documentation for Wmissing-template-keyword. - -2022-01-13 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103861 - * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern. - (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto. - * config/i386/mmx.md (<any_shift:insn>v2qi): - New insn_and_split pattern. - -2022-01-13 Robin Dapp <rdapp@linux.ibm.com> - - * internal-fn.c (expand_partial_load_optab_fn): Add bias. - (expand_partial_store_optab_fn): Likewise. - (internal_len_load_store_bias): New function. - * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define. - (internal_len_load_store_bias): New function. - * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias. - (vect_set_loop_condition_partial_vectors): Add header_seq parameter. - * tree-vect-loop.c (vect_verify_loop_lens): Verify bias. - (vect_estimate_min_profitable_iters): Account for bias. - (vect_get_loop_len): Add bias-adjusted length. - * tree-vect-stmts.c (vectorizable_store): Use. - (vectorizable_load): Use. - * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length. - (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro. - * config/rs6000/vsx.md: Use const0 bias predicate. - * doc/md.texi: Document bias value. - -2022-01-13 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/83072 - PR tree-optimization/83073 - PR tree-optimization/97909 - * fold-const.c (expr_not_equal_to): Use a multi-range class. - -2022-01-13 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/96707 - * range-op.cc (operator_rshift::lhs_op1_relation): New. - -2022-01-13 Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit. - Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size. - (negv2qi splitters): Use lowpart_subreg instead of - gen_lowpart to create subreg. - (<plusminus:insn>v2qi3): Disparage GPR alternative a bit. - Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size. - (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of - gen_lowpart to create subreg. - * config/i386/i386.md (*subqi_ext<mode>_2): Move. - -2022-01-13 Uroš Bizjak <ubizjak@gmail.com> - - PR target/104003 - * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator. - -2022-01-13 Martin Liska <mliska@suse.cz> - - * common/config/arm/arm-common.c (arm_target_mode): Wrap - keywords with %<, %> and remove trailing punctuation char. - (arm_canon_arch_option_1): Likewise. - (arm_asm_auto_mfpu): Likewise. - * config/arm/arm-builtins.c (arm_expand_builtin): Likewise. - * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise. - (use_vfp_abi): Likewise. - (aapcs_vfp_is_call_or_return_candidate): Likewise. - (arm_handle_cmse_nonsecure_entry): Likewise. - (arm_handle_cmse_nonsecure_call): Likewise. - (thumb1_md_asm_adjust): Likewise. - -2022-01-13 Paul A. Clarke <pc@us.ibm.com> - - * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps, - _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT, - _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF, - _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC, - _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC, - _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New. - (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd, - _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to - macro. - -2022-01-13 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/103989 - * tree-inline.c (setup_one_parameter): Don't copy parms with - empty type. - -2022-01-13 Thomas Schwinge <thomas@codesourcery.com> - - * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack - 'TYPE_ADDR_SPACE' for offloading. - * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack - 'TYPE_ADDR_SPACE' for offloading. - -2022-01-13 Julian Brown <julian@codesourcery.com> - Thomas Schwinge <thomas@codesourcery.com> - - * omp-oacc-kernels-decompose.cc (add_wait): New function, split out - of... - (add_async_clauses_and_wait): ...here. Call new outlined function. - (decompose_kernels_region_body): Add wait at the end of - explicitly-asynchronous kernels regions. - -2022-01-13 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100280 - * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region): - Mark variables used in synthesized data clauses as addressable. - -2022-01-13 Martin Liska <mliska@suse.cz> - - * config/epiphany/epiphany.c (epiphany_mode_priority): - Use gcc_unreachable for not handled cases. - -2022-01-13 Martin Liska <mliska@suse.cz> - - * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute): - Use %qs format specifier. - (epiphany_override_options): Wrap keyword in %<, %>. - -2022-01-13 Haochen Jiang <haochen.jiang@intel.com> - - PR target/94790 - * config/i386/i386.md (*xor2andn): New define_insn_and_split. - -2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com> - - * config/rs6000/altivec.md (sldoi_to_mov<mode>): New. - -2022-01-12 Uroš Bizjak <ubizjak@gmail.com> - - PR target/100637 - PR target/103861 - * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function. - (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X - when constructing vector logic RTXes. - (expand_vec_perm_pshufb2): Ditto. - * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit. - (<plusminus:insn>v2qi3): Ditto. - (vcond<mode><mode>): Re-enable for TARGET_SSE2. - (vcondu<mode><mode>): Ditto. - (vcond_mask_<mode><mode>): Ditto. - (one_cmpl<VI_32:mode>2): Remove expander. - (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi. - Use VI_16_32 mode iterator. - (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator. - Use lowpart_subreg instead of gen_lowpart to create subreg. - (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and - "*andnotv2qi3" insn patterns using VI_16_32 mode iterator. - Disparage GPR alternative a bit. Add CC clobber. - (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator. - Use lowpart_subreg instead of gen_lowpart to create subreg. - (*<any_logic:code><VI_16_32:mode>3): Merge from - "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns - using VI_16_32 mode iterator. Disparage GPR alternative a bit. - Add CC clobber. - (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode - iterator. Use lowpart_subreg instead of gen_lowpart to create subreg. - -2022-01-12 Clément Chigot <clement.chigot@atos.net> - - * configure.ac: Check sizeof ino_t and dev_t. - (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat - syscall being able to handle 64bit inodes. - * config.in: Regenerate. - * configure: Regenerate. - * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define. - (remove_duplicates): Use it. - -2022-01-12 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/103551 - * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE. - -2022-01-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103990 - * tree-pass.h (tail_merge_optimize): Drop unused argument. - * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise. - * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg - and adjust call to tail_merge_optimize. - -2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target - does not add autovectorize_vector_modes. - -2022-01-12 Martin Liska <mliska@suse.cz> - - * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use - %qs where possible. - (aarch64_parse_sve_width_string): Likewise. - (aarch64_override_options_internal): Likewise. - (aarch64_print_hint_for_extensions): Likewise. - (aarch64_validate_sls_mitigation): Likewise. - (aarch64_handle_attr_arch): Likewise. - (aarch64_handle_attr_cpu): Likewise. - (aarch64_handle_attr_tune): Likewise. - (aarch64_handle_attr_isa_flags): Likewise. - -2022-01-12 Martin Liska <mliska@suse.cz> - - * config.gcc: Include elfos.h before ${tm_file}. - -2022-01-12 Hans-Peter Nilsson <hp@axis.com> - - * config/cris/cris.c: Quote identifiers in parameters to error - and internal_error, and remove extraneous spaces with punctuation. - * config/cris/cris.h (CRIS_ASSERT): When passing on stringified - expression to internal_error, pass it as a parameter instead of - appending it to the format part. - -2022-01-12 Hans-Peter Nilsson <hp@axis.com> - - * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize - parameter to as_a. - -2022-01-11 qing zhao <qing.zhao@oracle.com> - - * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument. - Change the 3rd argument of function .DEFERRED_INIT to the name of the - decl. - (gimplify_decl_expr): Delete the 3rd argument when call - gimple_add_init_for_auto_var. - * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect - the 3rd argument change of function .DEFERRED_INIT. - * tree-cfg.c (verify_gimple_call): Update comments and verification - to reflect the 3rd argument change of function .DEFERRED_INIT. - * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument. - (sra_modify_deferred_init): Change the 3rd argument of function - .DEFERRED_INIT to the name of the decl. - -2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> - - * flag-types.h (enum gfc_convert): Add flags for - conversion. - -2022-01-11 Michael Meissner <meissner@the-meissners.org> - - * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove - checks for only C/C++ front ends before allowing the long double - format to change without a warning. - -2022-01-11 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/103974 - * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an - extra argument, default true, that says whether old-reload - targets should be excluded. - * ira-color.c (color_pass): Pass false. - -2022-01-11 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103861 - * config/i386/mmx.md (vcond<mode><mode>): - Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1. - (vcondu<mode><mode>): Ditto. - (vcond_mask_<mode><mode>): Ditto. - (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64. - (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32. - Use VI_16_32 mode iterator. - * config/i386/i386-expand.c (ix86_expand_sse_movcc): - Update for rename. Handle V2QImode. - (expand_vec_perm_blend): Update for rename. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - PR c++/101597 - * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN. - -2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR middle-end/70090 - * tree-object-size.c (size_valid_p): New function. - (size_for_offset): Remove OFFSET constness assertion. - (addr_object_size): Build dynamic expressions for object - sizes and use size_valid_p to decide if it is valid for the - given OBJECT_SIZE_TYPE. - (compute_builtin_object_size): Allow dynamic offsets when - computing size at O0. - (call_object_size): Call size_valid_p. - (plus_stmt_object_size): Allow non-constant offset and use - size_valid_p to decide if it is valid for the given - OBJECT_SIZE_TYPE. - -2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR middle-end/70090 - * tree-object-size.c (alloc_object_size): Make and return - non-constant size expression. - (call_object_size): Return expression or unknown based on - whether dynamic object size is requested. - -2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR middle-end/70090 - * tree-object-size.c: Include tree-dfa.h. - (parm_object_size): New function. - (collect_object_sizes_for): Call it. - -2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR middle-end/70090 - * builtins.c (fold_builtin_object_size): Adjust for dynamic size - expressions. - * tree-object-size.c: Include gimplify-me.h. - (struct object_size_info): New member UNKNOWNS. - (size_initval_p, size_usable_p, object_sizes_get_raw): New - functions. - (object_sizes_get): Return suitable gimple variable for - object size. - (bundle_sizes): New function. - (object_sizes_set): Use it and handle dynamic object size - expressions. - (object_sizes_set_temp): New function. - (size_for_offset): Adjust for dynamic size expressions. - (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions): - New functions. - (compute_builtin_object_size): Call gimplify_size_expressions - for OST_DYNAMIC. - (dynamic_object_size): New function. - (cond_expr_object_size): Use it. - (phi_dynamic_object_size): New function. - (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to - accommodate dynamic object sizes. - -2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> - Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/103961 - * tree-object-size.c (plus_stmt_object_size): Always avoid - computing offset for -1 size. - -2022-01-11 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/103821 - * range-op.cc (range_operator::fold_range): Only do precise ranges - when there are not too many subranges. - -2022-01-11 Richard Sandiford <richard.sandiford@arm.com> - - * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass - definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code. - -2022-01-11 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - * tree-ssa-math-opts.c (struct widen_mul_stats): Add a - highpart_mults_inserted field. - (convert_mult_to_highpart): New function to convert right shift - of a widening multiply into a MULT_HIGHPART_EXPR. - (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]: - Call new convert_mult_to_highpart function. - (pass_optimize_widening_mul::execute): Add a statistics counter - for tracking "highpart multiplications inserted" events. - -2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com> - - PR target/102239 - * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New - declare. - * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New - function. - * config/rs6000/rs6000.md (*branch_anddi3_dot): New. - -2022-01-11 Olivier Hainque <hainque@adacore.com> - - * gcc.c (driver_handle_option): State --sysroot as - validated. - -2022-01-11 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove - useless related to option -mno-power10. - -2022-01-11 Haochen Jiang <haochen.jiang@intel.com> - - PR target/53652 - * config/i386/sse.md (*andnot<mode>3): Extend predicate of - operands[1] from register_operand to vector_operand. - -2022-01-10 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103861 - * config/i386/i386-expand.c (ix86_expand_int_sse_cmp): - Handle V2QImode. - * config/i386/mmx.md (<sat_plusminus:insn><mode>3): - Use VI1_16_32 mode iterator. - (*eq<mode>3): Ditto. - (*gt<mode>3): Ditto. - (*xop_maskcmp<mode>3): Ditto. - (*xop_maskcmp_uns<mode>3): Ditto. - (vec_cmp<mode><mode>): Ditto. - (vec_cmpu<mode><mode>): Ditto. - -2022-01-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103948 - * tree-vect-generic.c (expand_vector_condition): Return true if - all ones vector is returned for true, all zeros vector for false - and the target defines corresponding vec_cmp{,u}MN named RTX pattern. - -2022-01-10 Paul A. Clarke <pc@us.ibm.com> - - * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv - when _ARCH_PWR10. Use signed types. - (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10. - (_mm_blendv_pd): Likewise. - -2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for - epilogue costing. - * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for - epilogues, unless we are guaranteed that we can't have partial vectors. - * genopinit.c: (partial_vectors_supported): Generate new function. - -2022-01-10 Jakub Jelinek <jakub@redhat.com> - - PR target/102024 - * config/i386/i386.c (classify_argument): Add zero_width_bitfields - argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields, - always ignore them, when seeing other zero sized bitfields, either - set zero_width_bitfields to 1 and ignore it or if equal to 2 process - it. Pass it to recursive calls. Add wrapper - with old arguments and diagnose ABI differences for C structures - with zero width bitfields. Formatting fixes. - -2022-01-10 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/98782 - * ira-int.h (ira_soft_conflict): Declare. - * ira-color.c (max_soft_conflict_loop_depth): New constant. - (ira_soft_conflict): New function. - (spill_soft_conflicts): Likewise. - (assign_hard_reg): Use them to handle the case described by - the comment above ira_soft_conflict. - (improve_allocation): Likewise. - * ira.c (check_allocation): Allow allocnos with "soft" conflicts - to share the same register. - -2022-01-10 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/98782 - * ira-int.h (ira_caller_save_cost): New function. - (ira_caller_save_loop_spill_p): Likewise. - * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is - cheaper to spill a call-clobbered register throughout a loop rather - than spill it around each individual call. If so, treat all - call-clobbered registers as conflicts and... - (propagate_allocno_info): ...do not propagate call information - from the child to the parent. - * ira-color.c (move_spill_restore): Update accordingly. - * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost. - -2022-01-10 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/98782 - * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field. - (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro. - (ira_single_region_allocno_p): New function. - (ira_total_conflict_hard_regs): Likewise. - * ira-build.c (ira_create_allocno): Initialize - ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P. - (ira_propagate_hard_reg_costs): New function. - (propagate_allocno_info): Use it. Try to avoid propagating - hard register conflicts to parent allocnos if we can handle - the conflicts by spilling instead. Limit the propagated - register costs to the cost of spilling throughout the child loop. - * ira-color.c (color_pass): Use ira_single_region_allocno_p to - test whether a child and parent allocno can share the same - register. - (move_spill_restore): Adjust for the new behavior of - propagate_allocno_info. - -2022-01-10 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/98782 - * ira-int.h (ira_subloop_allocnos_can_differ_p): New function, - extracted from... - * ira-color.c (color_pass): ...here. - -2022-01-10 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/98782 - * ira-color.c (color_pass): Add comments to describe the spill costs. - (move_spill_restore): Likewise. Fix reversed calculation. - -2022-01-10 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/98782 - * ira-int.h (ira_loop_border_costs): New class. - * ira-color.c (ira_loop_border_costs::ira_loop_border_costs): - New constructor. - (calculate_allocno_spill_cost): Use ira_loop_border_costs. - (color_pass): Likewise. - (move_spill_restore): Likewise. - -2022-01-10 Eric Botcazou <ebotcazou@adacore.com> - - PR target/103465 - * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET. - -2022-01-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/100359 - * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): - Allow non-growing peeling with !allow_peel and UL_ALL. - -2022-01-08 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-expand.c (ix86_expand_vector_move): Add - special case for TImode to V1TImode moves, going via V2DImode. - -2022-01-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/89074 - * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC - simplification. - -2022-01-08 David Malcolm <dmalcolm@redhat.com> - - * doc/analyzer.texi - (Special Functions for Debugging the Analyzer): Document - __analyzer_dump_escaped. - -2022-01-08 David Malcolm <dmalcolm@redhat.com> - - * doc/analyzer.texi (Other Debugging Techniques): Document - region::is_named_decl_p. - -2022-01-07 Andrew Pinski <apinski@marvell.com> - - PR target/102941 - * config/arm/aarch-common.c (arm_md_asm_adjust): - Use a temp if !REG_P. - -2022-01-07 Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute. - (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5. - -2022-01-07 liuhongt <hongtao.liu@intel.com> - - PR rtl-optimization/103750 - * fwprop.c (forward_propagate_into): Allow propagations from - inner loop to outer loop. - -2022-01-07 Roger Sayle <roger@nextmovesoftware.com> - - * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn. - -2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org> - - * config/rs6000/rs6000.md (rs6000_mffscrni): Define. - (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI. - Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand. - -2022-01-07 liuhongt <hongtao.liu@intel.com> - - * config/i386/sse.md - (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to - UNSPEC_PCMP_UNSIGNED. - -2022-01-07 liuhongt <hongtao.liu@intel.com> - - PR target/103753 - * config/i386/i386-expand.c (ix86_expand_vector_set): Not use - gen_avx2_pblendph_1 when elt == 0. - * config/i386/sse.md (avx2_pblendph): Rename to .. - (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI. - (*avx2_pblendw): Rename to .. - (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF. - (avx2_pblendw): Rename to .. - (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF. - (blendsuf): Removed. - (sse4_1_pblend<blendsuf>): Renamed to .. - (sse4_1_pblend<ssemodesuffix>): .. this. - -2022-01-06 H.J. Lu <hjl.tools@gmail.com> - - PR target/103925 - * config/i386/i386.c (ix86_output_indirect_function_return): - Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp. - -2022-01-06 H.J. Lu <hjl.tools@gmail.com> - - PR target/102952 - * config/i386/i386-opts.h (harden_sls): Replace - harden_sls_indirect_branch with harden_sls_indirect_jmp. - * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): - Likewise. - (ix86_output_indirect_jmp): Likewise. - (ix86_output_call_insn): Likewise. - * config/i386/i386.opt: Replace indirect-branch with - indirect-jmp. Replace harden_sls_indirect_branch with - harden_sls_indirect_jmp. - * doc/invoke.texi (-harden-sls=): Replace indirect-branch with - indirect-jmp. - -2022-01-06 Uroš Bizjak <ubizjak@gmail.com> - - * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>: - Add %q modifier for operands in general registers. - <MODE_SI>: Add %q modifier for operands in general registers. - * config/i386/i386.md (*movhi_internal): Change type attribute of - xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute - to SImode for non-avx512fp16 targets. - (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8. - * config/i386/mmx.md (*movv2qi_internal): - Ditto for xmm-gpr interunit alternatives 8,9. - -2022-01-06 Kito Cheng <kito.cheng@sifive.com> - - * common/config/riscv/riscv-common.c (riscv_implied_info): Add - vector extensions. - (riscv_ext_version_table): Add version info for vector extensions. - (riscv_ext_flag_table): Add option mask for vector extensions. - * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New. - (MASK_VECTOR_EEW_64): New. - (MASK_VECTOR_EEW_FP_32): New. - (MASK_VECTOR_EEW_FP_64): New. - (MASK_ZVL32B): New. - (MASK_ZVL64B): New. - (MASK_ZVL128B): New. - (MASK_ZVL256B): New. - (MASK_ZVL512B): New. - (MASK_ZVL1024B): New. - (MASK_ZVL2048B): New. - (MASK_ZVL4096B): New. - (MASK_ZVL8192B): New. - (MASK_ZVL16384B): New. - (MASK_ZVL32768B): New. - (MASK_ZVL65536B): New. - (TARGET_ZVL32B): New. - (TARGET_ZVL64B): New. - (TARGET_ZVL128B): New. - (TARGET_ZVL256B): New. - (TARGET_ZVL512B): New. - (TARGET_ZVL1024B): New. - (TARGET_ZVL2048B): New. - (TARGET_ZVL4096B): New. - (TARGET_ZVL8192B): New. - (TARGET_ZVL16384B): New. - (TARGET_ZVL32768B): New. - (TARGET_ZVL65536B): New. - * config/riscv/riscv.opt (Mask(VECTOR)): New. - (riscv_vector_eew_flags): New. - (riscv_zvl_flags): New. - -2022-01-06 Kito Cheng <kito.cheng@sifive.com> - - * common/config/riscv/riscv-common.c - (riscv_subset_list::parse_multiletter_ext): Allow ext. name has - digit. - -2022-01-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/103899 - * expr.c (expand_expr_real_1): Add a workaround for bogus uninit - warning by moving context variable to the only spot where it is used - and moving gcc_assert into if body. - -2022-01-06 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/103908 - * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with - asm goto. - -2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com> - - PR target/103622 - * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): - Skip over instances with undefined function types. - -2022-01-05 Andrew Pinski <apinski@marvell.com> - - PR target/103910 - * config/i386/i386.h (x86_mfence): Mark with GTY. - -2022-01-05 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103861 - * config/i386/mmx.md (VI_16_32): New mode iterator. - (VI1_16_32): Ditto. - (mmxvecsize): Handle V2QI mode. - (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3. - Use VI1_16_32 mode iterator. - (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3. - Use VI1_16_32 mode iterator. - (abs<mode>2): Use VI_16_32 mode iterator. - (uavgv2qi3_ceil): New insn pattern. - -2022-01-05 Martin Sebor <msebor@redhat.com> - - * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use - %qs to avoid -Wformat-diag. - -2022-01-05 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103915 - * config/i386/mmx.md (one_cmplv2qi2): Change - alternatives 1,2 type from sselog to sselog1. - -2022-01-05 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103905 - * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of - narrow mode remapped elements for !one_operand_p case. - -2022-01-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103816 - * tree-vect-data-refs.c (vect_analyze_group_access_1): Also - check DR_GROUP_GAP compute for overflow and representability. - -2022-01-05 Jakub Jelinek <jakub@redhat.com> - - PR fortran/103691 - * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference - for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value, - it can do unwanted rhs folding like &a[0] into &2.0 etc. - -2022-01-05 Kewen Lin <linkw@linux.ibm.com> - - PR ipa/102059 - * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro. - (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise. - (rs6000_need_ipa_fn_target_info): New function. - (rs6000_update_ipa_fn_target_info): Likewise. - (rs6000_can_inline_p): Adjust for ipa function summary target info. - * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro. - * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function - summary target info. - (analyze_function_body): Adjust for ipa function summary target info - and call hook rs6000_need_ipa_fn_target_info and - rs6000_update_ipa_fn_target_info. - (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary - target info. - (inline_read_section): Likewise. - (ipa_fn_summary_write): Likewise. - * ipa-fnsummary.h (ipa_fn_summary::target_info): New member. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook. - (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise. - * target.def (update_ipa_fn_target_info): New hook. - (need_ipa_fn_target_info): Likewise. - * targhooks.c (default_need_ipa_fn_target_info): New function. - (default_update_ipa_fn_target_info): Likewise. - * targhooks.h (default_update_ipa_fn_target_info): New declare. - (default_need_ipa_fn_target_info): Likewise. - -2022-01-04 Martin Sebor <msebor@redhat.com> - - PR middle-end/99612 - * builtins.c (get_memmodel): Move warning code to - gimple-ssa-warn-access.cc. - (expand_builtin_atomic_compare_exchange): Same. - (expand_ifn_atomic_compare_exchange): Same. - (expand_builtin_atomic_load): Same. - (expand_builtin_atomic_store): Same. - (expand_builtin_atomic_clear): Same. - * doc/extend.texi (__atomic_exchange_n): Update valid memory - models. - * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function. - (struct memmodel_pair): New struct. - (memmodel_name): New function. - (pass_waccess::maybe_warn_memmodel): New function. - (pass_waccess::check_atomic_memmodel): New function. - (pass_waccess::check_atomic_builtin): Handle memory model. - * input.c (expansion_point_location_if_in_system_header): Return - original location if expansion location is in a system header. - -2022-01-04 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103861 - * config/i386/mmx.md (one_cmplv2qi3): New insn pattern. - (one_cmplv2qi3 splitters): New post-reload splitters. - (*andnotv2qi3): New insn pattern. - (andnotv2qi3 splitters): New post-reload splitters. - (<any_logic:code>v2qi3): New insn pattern. - (<any_logic:insn>v2qi3 splitters): New post-reload splitters. - -2022-01-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103800 - * tree-vect-loop.c (vectorizable_phi): Remove assert and - expand comment. - -2022-01-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103690 - * tree-pass.h (tail_merge_optimize): Adjust. - * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether - to re-split critical edges, move CFG cleanup ... - * tree-ssa-pre.c (pass_pre::execute): ... here, before - simple_dce_from_worklist and delay freeing inserted_exprs from - ... - (fini_pre): .. here. - -2022-01-04 Roger Sayle <roger@nextmovesoftware.com> - - * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1. - * config/nvptx/nvptx.md (movbi): Use P1 constraint for true. - (setcc_from_bi): Remove SImode specific pattern. - (setcc<mode>_from_bi): Provide more general HSDIM pattern. - (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions - for sign- and zero-extending BImode predicates to integers. - (setcc_int<mode>): Remove previous (-1-based) instructions. - (cstorebi4): Remove BImode to SImode specific expander. - (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi. - (cstore<mode>4): For both integer and floating point modes. - -2022-01-04 Olivier Hainque <hainque@adacore.com> - - * gcc.c (driver_handle_option): do_save --sysroot. - -2022-01-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103864 - PR tree-optimization/103544 - * tree-vect-slp.c (vect_analyze_slp_instance): Exclude - reductions wrapped in conversions from SLP handling. - (vect_analyze_slp): Revert PR103544 change. - -2022-01-04 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/103860 - * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue - uselessly for blocks for which it has been called already. - -2022-01-04 Cui,Lili <lili.cui@intel.com> - - * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values - to Alderlake and Rocketlake. - -2022-01-04 Chung-Lin Tang <cltang@codesourcery.com> - - PR middle-end/103643 - * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire - OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue' - -2022-01-04 liuhongt <hongtao.liu@intel.com> - - PR target/103895 - * config/i386/sse.md (*bit_and_float_vector_all_ones): - Force_reg operand 1 to avoid ICE. - -2022-01-04 Jason Merrill <jason@redhat.com> - - * tree-pretty-print.c (do_niy): Add spc parameter. - (NIY): Pass it. - (print_call_name): Add spc local variable. - -2022-01-03 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103894 - * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint. - (mov<V_32:mode>_internal): Ditto. - (*push<V_32:mode>_rex64): Ditto. - (movmisalign<V_32:mode>): Ditto. - (*push<V_32:mode>_rex64 splitter): Enable for - TARGET_64BIT && TARGET_SSE. - (*push<V_32:mode>2): Remove insn pattern. - -2022-01-03 Andrew Pinski <apinski@marvell.com> - - PR c/33193 - * doc/extend.texi: Extend the documentation about Complex - types for casting and also rewrite the __real__/__imag__ - expression portion to use tables. - Move __builtin_complex to the Complex type section. - -2022-01-03 Jakub Jelinek <jakub@redhat.com> - - PR target/98737 - * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0, - ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0): - New internal fns. - * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE, - ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE, - ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators. - * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0, - expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0, - expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New - functions. - * optabs.def (atomic_add_fetch_cmp_0_optab, - atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab, - atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New - direct optabs. - * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare. - * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function. - * tree-ssa-ccp.c: Include internal-fn.h. - (optimize_atomic_bit_test_and): Add . before internal fn call - in function comment. Change return type from void to bool and - return true only if successfully replaced. - (optimize_atomic_op_fetch_cmp_0): New function. - (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0 - for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and - BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16}, - for *XOR* ones only if optimize_atomic_bit_test_and failed. - * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>, - atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns. - (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1, - atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns. - * doc/md.texi (atomic_add_fetch_cmp_0<mode>, - atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>, - atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document - new named patterns. - -2022-01-03 Richard Biener <rguenther@suse.de> - - PR middle-end/103851 - * tree-cfg.c (move_sese_region_to_fn): Always release SSA names. - -2022-01-03 Jakub Jelinek <jakub@redhat.com> - - PR c++/94716 - * symtab.c: Include fold-const.h. - (symtab_node::equal_address_to): If folding_initializer is true, - handle it like memory_accessed. Simplify. - -2022-01-03 Martin Liska <mliska@suse.cz> - - * doc/extend.texi: Use ; for function declarations. - -2022-01-03 Jakub Jelinek <jakub@redhat.com> - - PR c++/103600 - * symtab.c (symtab_node::equal_address_to): Return 0 if one of - VAR_DECLs has "non overlapping" attribute and rs1 != rs2. - -2022-01-03 Jakub Jelinek <jakub@redhat.com> - - * 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. - -2022-01-02 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103861 - * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode. - (VALID_INT_MODE_P): Ditto. - * config/i386/i386.c (ix86_secondary_reload): Handle - V2QImode reloads from SSE register to memory. - (vector_mode_supported_p): Always return true for V2QImode. - * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern. - (*negqi_ext<mode>_2): Ditto. - * config/i386/mmx.md (movv2qi): New expander. - (movmisalignv2qi): Ditto. - (*movv2qi_internal): New insn pattern. - (*pushv2qi2): Ditto. - (negv2qi2 and splitters): Ditto. - (<plusminus:insn>v2qi3 and splitters): Ditto. - -2022-01-02 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access - sync_lock_test_and_set libfunc. Call convert_memory_address to - convert memory address to Pmode. - (atomic_storehi, atomic_storesi, atomic_storedi): Likewise. - -Copyright (C) 2022 Free Software Foundation, Inc. +Copyright (C) 2023 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/ChangeLog-2022 b/gcc/ChangeLog-2022 new file mode 100644 index 0000000000000000000000000000000000000000..248b5dea178a45a071c45095ee9eba7b8e589db9 --- /dev/null +++ b/gcc/ChangeLog-2022 @@ -0,0 +1,35086 @@ +2022-12-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + Iain Sandoe <iain@sandoe.co.uk> + + PR modula2/107612 + * Makefile.in: Make the configured libintl includes avaiable in INCINTL. + (BUILD_CPPFLAGS): Use INCINTL. + +2022-12-30 Alexandre Oliva <oliva@adacore.com> + + * hash-table.h (check_complete_insertion, check_insert_slot): + New hash_table methods. + (m_inserting_slot): New hash_table field. + (begin, hash_table ctors, ~hash_table): Check previous insert. + (expand, empty_slow, clear_slot, find_with_hash): Likewise. + (remote_elt_with_hash, traverse_noresize): Likewise. + (gt_pch_nx): Likewise. + (find_slot_with_hash): Likewise. Record requested insert. + +2022-12-30 Stam Markianos-Wright <stam.markianos-wright@arm.com> + + PR target/107714 + * config/arm/arm-protos.h (mve_struct_mem_operand): New protoype. + * config/arm/arm.cc (mve_struct_mem_operand): New function. + * config/arm/constraints.md (Ug): New constraint. + * config/arm/mve.md (mve_vst4q<mode>): Change constraint. + (mve_vst2q<mode>): Likewise. + (mve_vld4q<mode>): Likewise. + (mve_vld2q<mode>): Likewise. + * config/arm/predicates.md (mve_struct_operand): New predicate. + +2022-12-29 Alexandre Oliva <oliva@adacore.com> + + * hash-map.h (put, get_or_insert): Check that added entry + doesn't look deleted either. + * hash-set.h (add): Likewise. + +2022-12-29 Alexandre Oliva <oliva@adacore.com> + + * tree-parloops.cc (take_address_of): Skip INSERT if !gsi. + +2022-12-29 Alexandre Oliva <oliva@adacore.com> + + * hash-map.h (put, get_or_insert): Check that entry does not + look empty after insertion. + +2022-12-29 Alexandre Oliva <oliva@adacore.com> + + * hash-set.h (add): Check that the inserted entry does not + look empty. + +2022-12-29 Alexandre Oliva <oliva@adacore.com> + + * trans-mem.cc (split_bb_make_tm_edge): Record new node in + tm_restart. + +2022-12-29 Alexandre Oliva <oliva@adacore.com> + + * postreload-gcse.cc (lookup_expr_in_table): Use NO_INSERT. + +2022-12-29 Alexandre Oliva <oliva@adacore.com> + + * tree-inline.cc (declare_return_variable): Don't remap NULL + default def of result. + +2022-12-29 Alexandre Oliva <oliva@adacore.com> + + * tree-ssa-loop-niter.cc (expand_simple_operands): Refrain + from caching NULL TREE_OPERANDs. + +2022-12-29 Alexandre Oliva <oliva@adacore.com> + + * tree-inline.cc (insert_decl_map): Skip mapping a NULL decl + as value to itself. + +2022-12-29 Alexandre Oliva <oliva@adacore.com> + + * varpool.cc (symbol_table::remove_unreferenced_decls): Do not + add NULL vnodes to referenced table. + +2022-12-29 Alexandre Oliva <oliva@adacore.com> + + * tree-ssa-scopedtables.cc + (avail_exprs_stack::lookup_avail_expr): Finish hash table + insertion before further lookups. + +2022-12-29 Max Filippov <jcmvbkbc@gmail.com> + + * config/xtensa/xtensa.cc (xtensa_return_in_memory): Use + GP_RETURN_* instead of magic constant. + +2022-12-29 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_expand_prologue): Fix to check + DF availability before use of DF_* macros. + +2022-12-28 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.md (*clzsi2_lzcnt_zext_2): define_insn_and_split + to match ZERO_EXTEND form of *clzsi2_lzcnt_zext. + (*clzsi2_lzcnt_zext_2_falsedep): Likewise, new define_insn to match + ZERO_EXTEND form of *clzsi2_lzcnt_zext_falsedep. + (*bmi2_bzhi_zero_extendsidi_5): Likewise, new define_insn to match + ZERO_EXTEND form of *bmi2_bzhi_zero_extendsidi. + (*popcountsi2_zext_2): Likewise, new define_insn_and_split to match + ZERO_EXTEND form of *popcountsi2_zext. + (*popcountsi2_zext_2_falsedep): Likewise, new define_insn to match + ZERO_EXTEND form of *popcountsi2_zext_falsedep. + (*popcounthi2_2): Likewise, new define_insn_and_split to match + ZERO_EXTEND form of *popcounthi2. + (define_peephole2): ZERO_EXTEND variant of HImode popcount&1 using + parity flag peephole2. + +2022-12-28 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-expand.cc (ix86_split_ashl): Call + ix86_expand_clear to generate an xor instruction. + +2022-12-28 Martin Liska <mliska@suse.cz> + + PR tree-optimization/108137 + * tree-ssa-strlen.cc (get_range_strlen_phi): Reject anything + different from INTEGER_CST. + +2022-12-28 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/riscv-vsetvl.h (vl_vtype_info::get_avl_info): + Return const reference rather than value. + +2022-12-27 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.md: Add missing modes to last patch.t + +2022-12-27 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + PR target/95632 + PR target/106602 + * config/riscv/riscv.md: New pattern to simulate complex + const_int loads. + +2022-12-27 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv.cc (riscv_next_saved_reg): New function. + (riscv_is_eh_return_data_register): New function. + (riscv_for_each_saved_reg): Restructure loop. + +2022-12-27 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv.md: Sync comments with code. + +2022-12-27 jinma <jinma@linux.alibaba.com> + + * common/config/riscv/riscv-common.cc: + +2022-12-27 Jonathan Yong <10walls@gmail.com> + + * configure.ac: use grep -i for case insensitive test. + * configure: Regenerate. + +2022-12-27 Max Filippov <jcmvbkbc@gmail.com> + + * config/xtensa/xtensa.md (unspec): Extract UNSPEC_* constants + into this enum. + (unspecv): Extract UNSPECV_* constants into this enum. + +2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (set_frame_ptr): Fix to reflect + TARGET_DENSITY. + +2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.h (GP_RETURN, GP_RETURN_REG_COUNT): + Change to GP_RETURN_FIRST and GP_RETURN_LAST, respectively. + * config/xtensa/xtensa.cc (xtensa_function_value, + xtensa_libcall_value, xtensa_function_value_regno_p): Ditto. + +2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_expand_prologue): Modify to + exit the inspection loops as soon as the necessity of stack + pointer is found. + +2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/elf.h: Tabify, and trim trailing spaces. + * config/xtensa/linux.h: Likewise. + * config/xtensa/uclinux.h: Likewise. + * config/xtensa/xtensa-dynconfig.c: Likewise. + * config/xtensa/xtensa.cc: Likewise. + * config/xtensa/xtensa.h: Likewise. + * config/xtensa/xtensa.md: Likewise. + +2022-12-27 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vsetvl.cc + (pass_vsetvl::compute_global_backward_infos): Change to visit CFG. + (pass_vsetvl::prune_expressions): Ditto. + +2022-12-27 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vsetvl.cc (change_insn): Remove pp_print. + (avl_info::avl_info): Add copy function. + (vector_insn_info::dump): Remove pp_print. + * config/riscv/riscv-vsetvl.h: Add copy function. + +2022-12-27 Kewen Lin <linkw@linux.ibm.com> + + PR target/106680 + * common/config/rs6000/rs6000-common.cc (rs6000_handle_option): Remove + the adjustment for option powerpc64 in -m64 handling, and remove the + whole -m32 handling. + * config/rs6000/rs6000.cc (rs6000_option_override_internal): When no + explicit powerpc64 option is provided, enable it for -m64. For 32 bit + and OS_MISSING_POWERPC64, disable powerpc64 if it's enabled but not + specified explicitly. + +2022-12-26 liuhongt <hongtao.liu@intel.com> + + PR target/55522 + PR target/36821 + * config/i386/gnu-user-common.h (GNU_USER_TARGET_MATHFILE_SPEC): + Link crtfastmath.o whenever -mdaz-ftz is specified. Don't link + crtfastmath.o when -share or -mno-daz-ftz is specified. + * config/i386/i386.opt (mdaz-ftz): New option. + * doc/invoke.texi (x86 options): Document mftz-daz. + +2022-12-25 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/i386-builtin.def (__builtin_ia32_movss): Update + CODE_FOR_sse_movss to CODE_FOR_sse_movss_v4sf. + (__builtin_ia32_movsd): Likewise, update CODE_FOR_sse2_movsd to + CODE_FOR_sse2_movsd_v2df. + * config/i386/i386-expand.cc (split_convert_uns_si_sse): Update + gen_sse_movss call to gen_sse_movss_v4sf, and gen_sse2_movsd call + to gen_sse2_movsd_v2df. + (expand_vec_perm_movs): Also allow V4SImode with TARGET_SSE and + V2DImode with TARGET_SSE2. + * config/i386/sse.md + (avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>): Update + gen_sse_movss call to gen_sse_movss_v4sf. + (avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>): Likewise. + (sse_movss_<mode>): Renamed from sse_movss using VI4F_128 mode + iterator to handle both V4SF and V4SI. + (sse2_movsd_<mode>): Likewise, renamed from sse2_movsd using + VI8F_128 mode iterator to handle both V2DF and V2DI. + +2022-12-23 Jakub Jelinek <jakub@redhat.com> + Aldy Hernandez <aldyh@redhat.com> + + * tree-ssa-phiopt.cc (value_replacement): Instead of resetting + phires range info, union it with carg. + +2022-12-23 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/108068 + * tree.h (real_maybe_zerop): Declare. + * tree.cc (real_maybe_zerop): Define. + * tree-ssa-dom.cc (record_edge_info): Use it instead of + real_zerop or TREE_CODE (op1) == SSA_NAME || real_zerop. Always set + can_infer_simple_equiv to false for decimal floating point types. + +2022-12-23 Roger Sayle <roger@nextmovesoftware.com> + + PR target/107548 + * config/i386/i386-features.cc (scalar_chain::add_insn): The + operands of a VEC_SELECT don't need to added to the scalar chain. + (general_scalar_chain::compute_convert_gain) <case VEC_SELECT>: + Provide gains for performing STV on a VEC_SELECT. + (general_scalar_chain::convert_insn): Convert VEC_SELECT to pshufd, + psrldq or no-op. + (general_scalar_to_vector_candidate_p): Handle VEC_SELECT of a + single element from a vector register to a scalar register. + +2022-12-23 H.J. Lu <hjl.tools@gmail.com> + Roger Sayle <roger@nextmovesoftware.com> + + PR target/106933 + PR target/106959 + * config/i386/i386-features.cc (single_def_chain_p): New predicate + function to check that a pseudo's use-def chain is in SSA form. + (timode_scalar_to_vector_candidate_p): Check that TImode regs that + are SET_DEST or SET_SRC of an insn match/are single_def_chain_p. + +2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/vector.md: Fix contraints. + +2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-protos.h (get_avl_type_rtx): New function. + * config/riscv/riscv-v.cc (get_avl_type_rtx): Ditto. + * config/riscv/riscv-vector-builtins-bases.cc (class loadstore): New + class. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vle): Ditto. + (vse): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (build_one): Ditto. + (struct loadstore_def): Ditto. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_U_OPS): New + macro. + (DEF_RVV_F_OPS): Ditto. + (vuint8mf8_t): Add corresponding mask type. + (vuint8mf4_t): Ditto. + (vuint8mf2_t): Ditto. + (vuint8m1_t): Ditto. + (vuint8m2_t): Ditto. + (vuint8m4_t): Ditto. + (vuint8m8_t): Ditto. + (vuint16mf4_t): Ditto. + (vuint16mf2_t): Ditto. + (vuint16m1_t): Ditto. + (vuint16m2_t): Ditto. + (vuint16m4_t): Ditto. + (vuint16m8_t): Ditto. + (vuint32mf2_t): Ditto. + (vuint32m1_t): Ditto. + (vuint32m2_t): Ditto. + (vuint32m4_t): Ditto. + (vuint32m8_t): Ditto. + (vuint64m1_t): Ditto. + (vuint64m2_t): Ditto. + (vuint64m4_t): Ditto. + (vuint64m8_t): Ditto. + (vfloat32mf2_t): Ditto. + (vfloat32m1_t): Ditto. + (vfloat32m2_t): Ditto. + (vfloat32m4_t): Ditto. + (vfloat32m8_t): Ditto. + (vfloat64m1_t): Ditto. + (vfloat64m2_t): Ditto. + (vfloat64m4_t): Ditto. + (vfloat64m8_t): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Adjust for new + macro. + (DEF_RVV_I_OPS): Ditto. + (DEF_RVV_U_OPS): New macro. + (DEF_RVV_F_OPS): New macro. + (use_real_mask_p): New function. + (use_real_merge_p): Ditto. + (get_tail_policy_for_pred): Ditto. + (get_mask_policy_for_pred): Ditto. + (function_builder::apply_predication): Ditto. + (function_builder::append_base_name): Ditto. + (function_builder::append_sew): Ditto. + (function_expander::add_vundef_operand): Ditto. + (function_expander::add_mem_operand): Ditto. + (function_expander::use_contiguous_load_insn): Ditto. + (function_expander::use_contiguous_store_insn): Ditto. + * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Adjust for + adding mask type. + (vbool64_t): Ditto. + (vbool32_t): Ditto. + (vbool16_t): Ditto. + (vbool8_t): Ditto. + (vbool4_t): Ditto. + (vbool2_t): Ditto. + (vbool1_t): Ditto. + (vint8mf8_t): Ditto. + (vint8mf4_t): Ditto. + (vint8mf2_t): Ditto. + (vint8m1_t): Ditto. + (vint8m2_t): Ditto. + (vint8m4_t): Ditto. + (vint8m8_t): Ditto. + (vint16mf4_t): Ditto. + (vint16mf2_t): Ditto. + (vint16m1_t): Ditto. + (vint16m2_t): Ditto. + (vint16m4_t): Ditto. + (vint16m8_t): Ditto. + (vint32mf2_t): Ditto. + (vint32m1_t): Ditto. + (vint32m2_t): Ditto. + (vint32m4_t): Ditto. + (vint32m8_t): Ditto. + (vint64m1_t): Ditto. + (vint64m2_t): Ditto. + (vint64m4_t): Ditto. + (vint64m8_t): Ditto. + (vfloat32mf2_t): Ditto. + (vfloat32m1_t): Ditto. + (vfloat32m2_t): Ditto. + (vfloat32m4_t): Ditto. + (vfloat32m8_t): Ditto. + (vfloat64m1_t): Ditto. + (vfloat64m4_t): Ditto. + * config/riscv/riscv-vector-builtins.h + (function_expander::add_output_operand): New function. + (function_expander::add_all_one_mask_operand): Ditto. + (function_expander::add_fixed_operand): Ditto. + (function_expander::vector_mode): Ditto. + (function_base::apply_vl_p): Ditto. + (function_base::can_be_overloaded_p): Ditto. + * config/riscv/riscv-vsetvl.cc (get_vl): Remove restrict of supporting + AVL is not VLMAX. + * config/riscv/t-riscv: Add include file. + +2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-builtins-shapes.cc (struct vsetvl_def): Add + "__riscv_" prefix. + +2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-builtins-bases.cc: Change it to no side effects. + * config/riscv/vector.md (@vsetvl<mode>_no_side_effects): New pattern. + +2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-builtins-bases.cc: Remove side effects. + +2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vsetvl.cc (anticipatable_occurrence_p): Fix + incorrect annotations. + (available_occurrence_p): Ditto. + (backward_propagate_worthwhile_p): Ditto. + (can_backward_propagate_p): Ditto. + +2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vsetvl.cc (vlmax_avl_insn_p): Fix multi-line + conditional. + (vsetvl_insn_p): Ditto. + (same_bb_and_before_p): Ditto. + (same_bb_and_after_or_equal_p): Ditto. + +2022-12-22 Andrew Carlotti <andrew.carlotti@arm.com> + + * doc/md.texi: Move example code remark next to it's code block. + +2022-12-22 Andrew Carlotti <andrew.carlotti@arm.com> + + * doc/md.texi: Fix inconsistent example name. + +2022-12-22 Andrew Carlotti <andrew.carlotti@arm.com> + + * doc/md.texi: Fix incorrect pxref. + +2022-12-22 Richard Biener <rguenther@suse.de> + + PR bootstrap/106482 + * doc/install.texi (ISO C++11 Compiler): Document GCC version + known to work. + +2022-12-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/108166 + * tree-ssa-phiopt.cc (value_replacement): For the maybe_equal_p + case turned into equal_p reset SSA_NAME_RANGE_INFO of phi result. + +2022-12-22 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/108193 + * cse.cc (compute_const_anchors): Change n type to + unsigned HOST_WIDE_INT, adjust comparison against it to avoid + warnings. Formatting fix. + (insert_const_anchor): Use gen_int_mode instead of GEN_INT. + +2022-12-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107451 + * tree-vect-stmts.cc (vectorizable_load): Avoid loading + SLP group members from group numbers in excess of the + vectorization factor. + +2022-12-22 Jakub Jelinek <jakub@redhat.com> + + * config/aarch64/t-aarch64 (TM_H): Don't add aarch64-cores.def, + add aarch64-fusion-pairs.def, aarch64-tuning-flags.def and + aarch64-option-extensions.def. + (OPTIONS_H_EXTRA): Don't add aarch64-fusion-pairs.def nor + aarch64-tuning-flags.def. + +2022-12-22 Jan Hubicka <hubicka@ucw.cz> + + * config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Add + TARGET_AVX512_SPLIT_REGS + * config/i386/i386-options.cc (ix86_option_override_internal): + Honor x86_TONE_AVOID_256FMA_CHAINS. + * config/i386/i386.cc (ix86_vec_cost): Honor TARGET_AVX512_SPLIT_REGS. + (ix86_reassociation_width): Likewise. + * config/i386/i386.h (TARGET_AVX512_SPLIT_REGS): New tune. + * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable + for znver4. + (X86_TUNE_USE_GATHER_4PARTS): Likewise. + (X86_TUNE_AVOID_256FMA_CHAINS): Set for znver4. + (X86_TUNE_AVOID_512FMA_CHAINS): New utne; set for znver4. + (X86_TUNE_AVX256_OPTIMAL): Add znver4. + (X86_TUNE_AVX512_SPLIT_REGS): New tune. + (X86_TUNE_AVX256_MOVE_BY_PIECES): Add znver1-3. + (X86_TUNE_AVX256_STORE_BY_PIECES): Add znver1-3. + (X86_TUNE_AVX512_MOVE_BY_PIECES): Add znver4. + (X86_TUNE_AVX512_STORE_BY_PIECES): Add znver4. + +2022-12-22 Jan Hubicka <hubicka@ucw.cz> + + * config/i386/x86-tune-costs.h (znver4_cost): Upate costs of FP and SSE + moves, division multiplication, gathers, L2 cache size, and more + complex FP instrutions. + +2022-12-21 Andrew Pinski <apinski@marvell.com> + + PR tree-optimization/105532 + * match.pd (~(X >> Y) -> ~X >> Y): Check if it is an integral + type before calling tree_nonzero_bits. + (popcount(X) + popcount(Y)): Likewise. + (popcount(X&C1)): Likewise. + +2022-12-21 Chung-Lin Tang <cltang@codesourcery.com> + + * config/nvptx/nvptx.cc (nvptx_print_operand): Add 'p' case, adjust + comments. + (enum nvptx_builtins): Add NVPTX_BUILTIN_BAR_RED_AND, + NVPTX_BUILTIN_BAR_RED_OR, and NVPTX_BUILTIN_BAR_RED_POPC. + (nvptx_expand_bar_red): New function. + (nvptx_init_builtins): + Add DEFs of __builtin_nvptx_bar_red_[and/or/popc]. + (nvptx_expand_builtin): Use nvptx_expand_bar_red to expand + NVPTX_BUILTIN_BAR_RED_[AND/OR/POPC] cases. + * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add + UNSPECV_BARRED_AND, UNSPECV_BARRED_OR, and UNSPECV_BARRED_POPC. + (BARRED): New int iterator. + (barred_op,barred_mode,barred_ptxtype): New int attrs. + (nvptx_barred_<barred_op>): New define_insn. + +2022-12-21 Richard Biener <rguenther@suse.de> + + PR middle-end/107994 + * gimplify.cc (gimplify_expr): Catch errorneous comparison + operand. + +2022-12-21 Jan Hubicka <hubicka@ucw.cz> + + * lto-opts.cc (lto_write_options): Also skip -fwhole-program. + +2022-12-21 Jan Hubicka <jh@suse.cz> + + * lto-cgraph.cc (lto_output_node): When doing WPA in incremental link + pass down resolution info. + +2022-12-21 Jan Hubicka <hubicka@ucw.cz> + + * doc/invoke.texi: Fix documentation of -fwhole-program with LTO + and document behaviour for incremental linking. + +2022-12-21 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Fix the + location for OPTION_MASK_P10_FUSION flag setting. + +2022-12-21 Kewen Lin <linkw@linux.ibm.com> + + * fold-const.cc (fold_convert_const_real_from_real): Treat floating + point conversion to a type with same mode as copy instead of normal + convertFormat. + +2022-12-21 Kewen Lin <linkw@linux.ibm.com> + + PR target/106736 + * config/rs6000/mma.md (define_expand movoo): Call function + rs6000_opaque_type_invalid_use_p to check and emit error message for + the invalid use of opaque type. + (define_expand movxo): Likewise. + * config/rs6000/rs6000-protos.h + (rs6000_opaque_type_invalid_use_p): New function declaration. + (currently_expanding_gimple_stmt): New extern declaration. + * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): New + function. + +2022-12-21 Jason Merrill <jason@redhat.com> + + * fold-const.cc (fold_convert_loc): Check return value of + protected_set_expr_location_unshare. + +2022-12-21 Jason Merrill <jason@redhat.com> + + PR c++/84471 + PR c++/107504 + * fold-const.cc (protected_set_expr_location_unshare): Not static. + * tree.h: Declare it. + * tree.cc (decl_value_expr_insert): Use it. + +2022-12-20 Patrick Palka <ppalka@redhat.com> + + PR c++/101886 + * tree.cc (walk_tree_1) <case TREE_VEC>: Walk the elements + in forward instead of reverse order. + <case VECTOR_CST>: Likewise. + +2022-12-20 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/108139 + * gimple-range-cache.cc (ranger_cache::fill_block_cache): Do not + use equivalences originating from PHIS. + +2022-12-20 Richard Biener <rguenther@suse.de> + + PR d/104749 + * doc/install.texi (GDC): Document GDC 9.4 or later is required + to build the D language frontend. + +2022-12-20 Jiufu Guo <guojiufu@linux.ibm.com> + + PR target/103743 + * config/rs6000/rs6000-protos.h (can_be_rotated_to_lowbits): New. + (can_be_rotated_to_positive_16bits): New. + (can_be_rotated_to_negative_15bits): New. + * config/rs6000/rs6000.cc (can_be_rotated_to_lowbits): New definition. + (can_be_rotated_to_positive_16bits): New definition. + (can_be_rotated_to_negative_15bits): New definition. + * config/rs6000/rs6000.md (*rotate_on_cmpdi): New define_insn_and_split. + (eqne): Move earlier. + +2022-12-19 Jason Merrill <jason@redhat.com> + + * sort.cc: Disable -Wconditionally-supported in + CHECKING_P code. + +2022-12-19 Jason Merrill <jason@redhat.com> + + PR c++/64867 + * configure.ac (strict_warn): Add -Wconditionally-supported. + * configure: Regenerate. + +2022-12-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/108164 + * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer): + Perform vect_step_op_add update in the appropriate type. + +2022-12-19 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/arm-c.cc (__ARM_FEATURE_CLZ): Fix definition of + preprocessor macro when target has CLZ in another ISA. + +2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/vector.md: Remove vste. + +2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config.gcc: Add riscv-vsetvl.o. + * config/riscv/riscv-passes.def (INSERT_PASS_BEFORE): Add VSETVL PASS + location. + * config/riscv/riscv-protos.h (make_pass_vsetvl): New function. + (enum avl_type): New enum. + (get_ta): New function. + (get_ma): Ditto. + (get_avl_type): Ditto. + (calculate_ratio): Ditto. + (enum tail_policy): New enum. + (enum mask_policy): Ditto. + * config/riscv/riscv-v.cc (calculate_ratio): New function. + (emit_pred_op): change the VLMAX mov codgen. + (get_ta): New function. + (get_ma): Ditto. + (enum tail_policy): Change enum. + (get_prefer_tail_policy): New function. + (enum mask_policy): Change enum. + (get_prefer_mask_policy): New function. + * config/riscv/t-riscv: Add riscv-vsetvl.o + * config/riscv/vector.md: Adjust attribute and pattern for VSETVL + PASS. + (@vlmax_avl<mode>): Ditto. + (@vsetvl<mode>_no_side_effects): Delete. + (vsetvl_vtype_change_only): New MD pattern. + (@vsetvl_discard_result<mode>): Ditto. + * config/riscv/riscv-vsetvl.cc: New file. + * config/riscv/riscv-vsetvl.h: New file. + +2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-switch.def (ENTRY): Correct attributes. + +2022-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + PR target/108140 + * config/aarch64/aarch64-builtins.cc + (aarch64_expand_builtin_data_intrinsic): Handle NULL target. + +2022-12-19 Jakub Jelinek <jakub@redhat.com> + + * config/gnu-user.h (LIBHWASAN_EARLY_SPEC): Add libhwasan_preinit.o + to link spec if not -shared. + +2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-v.cc (emit_vlmax_vsetvl): Pass through VLMUL enum + instead of machine mode. + * config/riscv/riscv-vector-builtins-bases.cc: Ditto. + * config/riscv/riscv.cc (riscv_print_operand): Print LMUL by enum vlmul + instead of machine mode. + +2022-12-19 Jiufu Guo <guojiufu@linux.ibm.com> + + PR target/106708 + * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Add using + "li; x?oris" to build constant. + +2022-12-19 liuhongt <hongtao.liu@intel.com> + + PR target/55522 + * config/i386/gnu-user-common.h (GNU_USER_TARGET_MATHFILE_SPEC): + Don't add crtfastmath.o for -shared. + * doc/invoke.texi (-shared): Add related documentation. + +2022-12-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * config.gcc: Determine Solaris minor version. + Obsolete *-*-solaris2.11.[0-3]*. + * doc/install.texi (Specific, *-*-solaris2*): Document it. + +2022-12-17 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/rs6000-logue.cc (rs6000_output_function_epilogue): + Handle GNU Rust for the tbtab lang field. + +2022-12-16 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.cc (pa_option_override): Disable -fstack-protector. + +2022-12-16 Vladimir N. Makarov <vmakarov@redhat.com> + + Revert: + 2022-12-15 Vladimir N. Makarov <vmakarov@redhat.com> + + * ira-costs.cc: Include print-rtl.h. + (record_reg_classes, scan_one_insn): Add code to print debug info. + * ira.cc (ira_init_register_move_cost): Check that at least one hard + reg of the mode are in the class contents to calculate the + register move costs. + +2022-12-16 Qing Zhao <qing.zhao@oracle.com> + + * doc/invoke.texi: Document -Wstrict-flex-arrays option. + * gimple-array-bounds.cc (check_out_of_bounds_and_warn): Add two more + arguments. + (array_bounds_checker::check_array_ref): Issue warnings for + -Wstrict-flex-arrays. + * opts.cc (finish_options): Issue warning for unsupported combination + of -Wstrict_flex_arrays and -fstrict-flex-array. + * tree-vrp.cc (execute_ranger_vrp): Enable the pass when + warn_strict_flex_array is true. + +2022-12-16 Palmer Dabbelt <palmer@rivosinc.com> + + * config/riscv/riscv.cc (riscv_option_override): Fix comment + wording. + +2022-12-16 Palmer Dabbelt <palmer@rivosinc.com> + + * doc/extend.texi (__builtin_riscv_pause): Imply + Xgnuzihintpausestate. + +2022-12-16 Richard Biener <rguenther@suse.de> + + PR middle-end/108086 + * tree-inline.cc (remap_ssa_name): Do not unshare the + result from the decl_map. + +2022-12-16 Richard Biener <rguenther@suse.de> + + PR middle-end/108086 + * tree-inline.cc (copy_bb): Remove handling of (foo *)&this->m + substitution which is done in remap_gimple_op_r via + re-gimplifying. + +2022-12-16 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/106751 + * loop-invariant.cc (move_invariant_reg): If preheader bb ends + with a JUMP_INSN, split the preheader edge and emit invariants + into the new preheader basic block. + +2022-12-16 Richard Biener <rguenther@suse.de> + + PR middle-end/108086 + * tree-inline.cc (remap_gimple_stmt): Add stmts to the + sequence without updating them. Simplify x == x detection. + +2022-12-16 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/cmpccxaddintrin.h + (__cmpccxadd_epi32): Rename to _cmpccxadd_epi32. + (__cmpccxadd_epi64): Rename to _cmpccxadd_epi64. + +2022-12-15 Vladimir N. Makarov <vmakarov@redhat.com> + + * ira-costs.cc: Include print-rtl.h. + (record_reg_classes, scan_one_insn): Add code to print debug info. + * ira.cc (ira_init_register_move_cost): Check that at least one hard + reg of the mode are in the class contents to calculate the + register move costs. + +2022-12-15 Siddhesh Poyarekar <siddhesh@gotplt.org> + + * doc/extend.texi (__builtin_dynamic_object_size): Document + builtin. + * doc/passes.texi + (Optimize calls to @code{__builtin_object_size}): Also mention + __builtin_dynamic_object_size. + +2022-12-15 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR middle-end/70090 + * doc/invoke.texi (-fsanitize=object-size): Use + __builtin_dynamic_object_size instead of + __builtin_object_size. + +2022-12-15 Richard Biener <rguenther@suse.de> + + PR middle-end/108086 + * tree-inline.cc (copy_edges_for_bb): Walk stmts backwards for + splitting the block to avoid quadratic behavior with setting + stmts BB on multliple splits. + +2022-12-15 Spacetown <michael.foerderer@gmx.de> + + PR gcov-profile/107537 + * gcov.cc (output_branch_count): Add annotation '(fallthrough)' + or '(throw)' also to uncovered branches. + +2022-12-15 Richard Biener <rguenther@suse.de> + + PR middle-end/108086 + * tree-inline.cc (copy_edges_for_bb): Do not update all + stmts again. + +2022-12-15 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/108095 + * tree-into-ssa.cc (maybe_register_def): Insert debug stmt + on all non-EH edges from asm goto if they have a single + predecessor rather than asserting there is at most one such edge. + Test whether there are no PHI nodes next to the single predecessor + test. + +2022-12-14 David Faust <david.faust@oracle.com> + + PR target/106773 + * btfout.cc (get_section_name): New function. + (btf_collect_datasec): Use it here. Process functions, marking them + 'extern' and generating DATASEC entries for them as appropriate. Move + creation of BTF_KIND_FUNC records to here... + (btf_dtd_emit_preprocess_cb): ... from here. + +2022-12-14 David Faust <david.faust@oracle.com> + + PR target/106773 + * btfout.cc (btf_collect_datasec): Correct size of void entries. + (btf_dvd_emit_preprocess_cb): Do not skip emitting variables which + refer to void types. + (btf_init_postprocess): Create 'const void' type record if needed and + adjust variables to refer to it as appropriate. + +2022-12-14 David Faust <david.faust@oracle.com> + + PR target/106773 + * btfout.cc (btf_collect_datasec): Mark extern variables as such. + (btf_dvd_emit_preprocess_cb): Skip non-defining extern variable decl + if there is a defining decl for the same variable. + (btf_asm_varent): Accomodate 'extern' linkage. + +2022-12-14 Martin Jambor <mjambor@suse.cz> + + * ipa-sra.cc (create_parameter_descriptors): Consider the first + parameter of a method safe to dereference. + +2022-12-14 Martin Jambor <mjambor@suse.cz> + + * ipa-sra.cc (loaded_decls): Adjust comment. + (scan_expr_access): Also detect assignments of address of local + variables to a variable. Bail out early on SSA_NAMEs and + constants as an optimization. + +2022-12-14 Gaius Mulley <gaiusmod2@gmail.com> + + * configure.ac (HAVE_PYTHON): Test for Python3 added. + * dwarf2out.cc (gen_compile_unit_die): Check language_string + and language to DW_LANG_Modula2. + * doc/install.texi: Add m2 as a language. + (--disable-libgm2): Documented. Add make check-m2 to testing selected + tests. + * doc/sourcebuild.texi (GM2): New prerequisite item. + (Python3 modules) New item. + (libgm2) Added. + (gcc/m2) Added. + * configure: Rebuilt. + * config.in: Rebuilt. + * doc/gm2.texi: New file. + +2022-12-14 Martin Jambor <mjambor@suse.cz> + + * doc/invoke.texi (ipa-sra-ptrwrap-growth-factor): Fix the + description. + * params.opt (ipa-sra-ptrwrap-growth-factor): Likewise. + +2022-12-14 Tamar Christina <tamar.christina@arm.com> + + PR target/107988 + * config/aarch64/aarch64.cc + (aarch64_vectorize_can_special_div_by_constant): Ensure input and output + RTL are registers. + +2022-12-14 Martin Liska <mliska@suse.cz> + + * doc/invoke.texi: Document ipa-sra-ptrwrap-growth-factor. + +2022-12-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107617 + * tree-ssa-sccvn.cc (vn_walk_cb_data::push_partial_def): + Handle negative pd.rhs_off. + (vn_reference_lookup_3): Properly provide pd.rhs_off + for .LEN_STORE on big-endian targets. + +2022-12-13 Martin Jambor <mjambor@suse.cz> + + * ipa-param-manipulation.cc + (ipa_param_body_adjustments::modify_expression): Bail out early if + there are no replacements. + (ipa_param_body_adjustments::modify_assignment): Likewise. + +2022-12-13 Martin Jambor <mjambor@suse.cz> + + * ipa-sra.cc (isra_param_desc): New fields safe_size, + conditionally_dereferenceable and safe_size_set. + (struct gensum_param_desc): New field conditionally_dereferenceable. + (struct isra_param_flow): Updated comment of field unit_size. + (ipa_sra_function_summaries::duplicate): Copy the new fields. + (isra_call_summary::dump): Dump unit_size when representing safe_size. + (dump_gensum_param_descriptor): Dump new flag. + (dump_isra_param_descriptor): Dump new fields. + (isra_analyze_call): Fill unit_size when it represents known safe + size. + (check_gensum_access): Instead of disqualifying pointers which are not + always dereference, mark them as conditionally dereferencable if loads + are frequent enough. + (process_scan_results): Copy the conditionally_dereferenceable flag. + (isra_write_node_summary): Stream new fields, or assert they are not + initialized yet. + (isra_read_node_info): Stream new fields. + (update_safe_size): New function. + (propagate_param_hints_accross_call): Propagate safe_sizes. + (propagate_hints_to_all_callees): New function. + (adjust_parameter_descriptions): Check conditionally_dereferenceable + candidates, rework dumping. + (ipa_sra_analysis): Move most of hint propagation for one node to + propagate_hints_to_all_callees. Add another loop to stabilize within + SCCs and another one to verify. + +2022-12-13 Martin Jambor <mjambor@suse.cz> + + * ipa-sra.cc (isra_param_desc): New field not_specially_constructed. + (struct isra_param_flow): New field constructed_for_calls. + (isra_call_summary::dump): Dump the new flag. + (loaded_decls): New variable. + (dump_isra_param_descriptor): New parameter hints, dump + not_specially_constructed if it is true. + (dump_isra_param_descriptors): New parameter hints, pass it to + dump_isra_param_descriptor. + (ipa_sra_function_summaries::duplicate): Duplicate new flag. + (create_parameter_descriptors): Adjust comment. + (get_gensum_param_desc): Bail out when decl2desc is NULL. + (scan_expr_access): Add loaded local variables to loaded_decls. + (scan_function): Survive if final_bbs is NULL. + (isra_analyze_call): Compute constructed_for_calls flag. + (process_scan_results): Be optimistic about size limits. Do not dump + computed param hints when dumpint IPA-SRA structures. + (isra_write_edge_summary): Stream constructed_for_calls. + (isra_read_edge_summary): Likewise. + (ipa_sra_dump_all_summaries): New parameter hints, pass it to + dump_isra_param_descriptor. + (flip_all_hints_pessimistic): New function. + (flip_all_param_hints_pessimistic): Likewise. + (propagate_param_hints): Likewise. + (disable_unavailable_parameters): Renamed to + adjust_parameter_descriptions. Expand size limits for parameters + which are specially contstructed by all callers. Check limits again.p + (ipa_sra_analysis): Pass required hints to ipa_sra_dump_all_summaries. + Add hint propagation. + (ipa_sra_summarize_function): Initialize and destory loaded_decls, + rearrange so that scan_function is called even when there are no + candidates. + * params.opt (ipa-sra-ptrwrap-growth-factor): New parameter. + +2022-12-13 Martin Jambor <mjambor@suse.cz> + + * ipa-sra.cc (ipa_sra_analysis): Move top-down analysis before + bottom-up analysis. Replace FOR_EACH_VEC_ELT with C++11 iteration. + +2022-12-13 Martin Jambor <mjambor@suse.cz> + + PR ipa/103585 + * params.opt (ipa-sra-deref-prob-threshold): New parameter. + * doc/invoke.texi (ipa-sra-deref-prob-threshold): Document it. + * ipa-sra.cc (struct gensum_param_access): New field load_count. + (struct gensum_param_desc): New field safe_ref, adjusted comments. + (by_ref_count): Renamed to unsafe_by_ref_count, adjusted all uses. + (dump_gensum_access): Dump the new field. + (dump_gensum_param_descriptor): Likewise. + (create_parameter_descriptors): Set safe_ref field, move setting + by_ref forward. Only increment unsafe_by_ref_count for unsafe + by_ref parameters. + (allocate_access): Initialize new field. + (mark_param_dereference): Adjust indentation. Only add data to + bb_dereferences for unsafe by_ref parameters. + (scan_expr_access): For loads, accumulate BB counts. + (dereference_probable_p): New function. + (check_gensum_access): Fix leading comment, add parameter FUN. + Check cumulative counts of loads for safe by_ref accesses instead + of dereferences. + (process_scan_results): Do not propagate dereference distances for + safe by_ref parameters. Pass fun to check_gensum_access. Safe + by_ref params do not need the postdominance check. + +2022-12-13 Martin Jambor <mjambor@suse.cz> + + * ipa-cp.cc (clone_for_param_removal_p): New function. + (estimate_local_effects): Call it before considering cloning + just to remove unused parameters. + +2022-12-13 Martin Jambor <mjambor@suse.cz> + + PR ipa/103227 + * ipa-param-manipulation.h (class ipa_param_adjustments): Removed + member function get_updated_index_or_split. + (class ipa_param_body_adjustments): New overload of + register_replacement, new member function append_init_stmts, new + member m_split_agg_csts_inits. + * ipa-param-manipulation.cc: Include ipa-prop.h. + (ipa_param_adjustments::get_updated_index_or_split): Removed. + (ipa_param_body_adjustments::register_replacement): New overload, use + it from the older one. + (ipa_param_body_adjustments::common_initialization): Added the + capability to create replacements for conflicting IPA-CP discovered + constants. + (ipa_param_body_adjustments::ipa_param_body_adjustments): Construct + the new member. + (ipa_param_body_adjustments::append_init_stmts): New function. + * ipa-sra.cc: Include ipa-prop.h. + (push_param_adjustments_for_index): Require IPA-CP transformation + summary as a parameter, do not create replacements which are known to + have constant values. + (process_isra_node_results): Find and pass to the above function the + IPA-CP transformation summary. + * ipa-prop.cc (adjust_agg_replacement_values): Remove the + functionality replacing IPA-SRA created scalar parameters with + constants. Simplify, do not require parameter descriptors, do not + return anything. + (ipcp_transform_function): Simplify now that + adjust_agg_replacement_values does not change cfg. Move definition + and initialization of descriptors lower. + * tree-inline.cc (tree_function_versioning): Call append_init_stmts of + param_body_adjs, if there are any. + +2022-12-13 Martin Jambor <mjambor@suse.cz> + + * ipa-prop.cc (useful_ipcp_transformation_info_p): New function. + (write_ipcp_transformation_info): Added a parameter, simplified + given that is known not to be NULL. + (ipcp_write_transformation_summaries): Write out all useful + transformation summaries. + (read_ipcp_transformation_info): Simplify given that some info + will be read. + (read_replacements_section): Remove assert. + * lto-cgraph.cc (add_node_to): Also set encode_body for clones. + * lto-streamer-out.cc (lto_output): Do not output virtual clones. + +2022-12-13 Jakub Jelinek <jakub@redhat.com> + + PR target/108044 + * config/i386/i386.md (*concat<half><mode>3_5, *concat<mode><dwi>3_6, + *concat<mode><dwi>3_7): Split alternative with =ro output constraint + into =r,o,o and use Wd input constraint for the last alternative which + is enabled for TARGET_64BIT. Reject ix86_endbr_immediate_operand + in the input constant. + +2022-12-13 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64.md (tbranch_<code><mode>3): Use gen_int_mode. + +2022-12-13 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/108064 + * tree-vect-patterns.cc (vect_recog_rotate_pattern): Pass uvectype + as 4th argument to append_pattern_def_seq for statements with lhs + with utype type. + +2022-12-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105801 + * tree-ssa-ccp.cc (likely_value): .DEFERRED_INIT produces + UNDEFINED. + * doc/invoke.texi (ftrivial-auto-var-init): Explicitely + mention we treat variables without an initializer as + undefined also for optimization purposes. + +2022-12-13 Tom Tromey <tom@tromey.com> + Mark Wielaard <mark@klomp.org> + Marc Poulhiès <dkm@kataplop.net> + + * dwarf2out.cc (is_rust): New. + (base_type_die): Use DW_ATE_UTF for the Rust 'char' type. + (gen_compile_unit_die): Handle "GNU Rust". + +2022-12-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/108076 + * tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks + with non-local or forced labels that we later remove + labels from. + +2022-12-13 Haochen Gui <guihaoc@gcc.gnu.org> + + * config/rs6000/rs6000.md (cbranchcc4): New expander. + +2022-12-13 Haochen Gui <guihaoc@gcc.gnu.org> + + * optabs.cc (prepare_cmp_insn): Return a NULL rtx other than + assertion failure when targets don't have cbranch optab or + predicate check fails. + +2022-12-12 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64.cc (aarch64_rtx_costs): Add correct costs + for 24-bit and 12-bit shifted immediate add/sub. + (TARGET_CONST_ANCHOR): Define. + * config/aarch64/predicates.md (aarch64_pluslong_immediate): + Fix range check. + +2022-12-12 Tamar Christina <tamar.christina@arm.com> + + * match.pd: Add new rule. + +2022-12-12 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64.cc (aarch64_can_change_mode_class): Restrict + conversions between partial struct types properly. + +2022-12-12 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64.md (*tb<optab><mode>1): Rename to... + (*tb<optab><ALLI:mode><GPI:mode>1): ... this. + (tbranch_<code><mode>4): New. + * config/aarch64/iterators.md(ZEROM, zerom): New. + +2022-12-12 Tamar Christina <tamar.christina@arm.com> + + * dojump.cc (do_jump): Pass along value. + (do_jump_by_parts_greater_rtx): Likewise. + (do_jump_by_parts_zero_rtx): Likewise. + (do_jump_by_parts_equality_rtx): Likewise. + (do_compare_rtx_and_jump): Likewise. + (do_compare_and_jump): Likewise. + * dojump.h (do_compare_rtx_and_jump): New. + * optabs.cc (emit_cmp_and_jump_insn_1): Refactor to take optab to check. + (validate_test_and_branch): New. + (emit_cmp_and_jump_insns): Optiobally take a value, and when value is + supplied then check if it's suitable for tbranch. + * optabs.def (tbranch_eq$a4, tbranch_ne$a4): New. + * doc/md.texi (tbranch_@var{op}@var{mode}4): Document it. + * optabs.h (emit_cmp_and_jump_insns): New. + * tree.h (tree_zero_one_valued_p): New. + +2022-12-12 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-simd.md (*aarch64_simd_movv2hf): New. + (mov<mode>, movmisalign<mode>, aarch64_dup_lane<mode>, + aarch64_store_lane0<mode>, aarch64_simd_vec_set<mode>, + @aarch64_simd_vec_copy_lane<mode>, vec_set<mode>, + reduc_<optab>_scal_<mode>, reduc_<fmaxmin>_scal_<mode>, + aarch64_reduc_<optab>_internal<mode>, aarch64_get_lane<mode>, + vec_init<mode><Vel>, vec_extract<mode><Vel>): Support V2HF. + (aarch64_simd_dupv2hf): New. + * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): + Add E_V2HFmode. + * config/aarch64/iterators.md (VHSDF_P): New. + (V2F, VMOVE, nunits, Vtype, Vmtype, Vetype, stype, VEL, + Vel, q, vp): Add V2HF. + * config/arm/types.md (neon_fp_reduc_add_h): New. + +2022-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define + __ARM_FEATURE_PAUTH and __ARM_FEATURE_BTI when appropriate. + * config/aarch64/aarch64.h (TARGET_BTI): Define. + +2022-12-12 Richard Biener <rguenther@suse.de> + + * genmatch.cc (dt_simplify::gen): Revert last change. + * match.pd: Revert simplification of CONSTUCTOR leaf handling. + (&x cmp SSA_NAME): Handle ADDR_EXPR in SSA defs. + * fold-const.cc (split_address_to_core_and_offset): Handle + ADDR_EXPRs in SSA defs. + (address_compare): Likewise. + +2022-12-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/89317 + * tree-ssa-ccp.cc (ccp_fold): Handle GIMPLE_COND via + gimple_fold_stmt_to_constant_1. + * match.pd (&a != &a + c): Apply to pointer_plus with non-ADDR_EXPR + base as well. + +2022-12-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/89317 + * match.pd ((p + b) - &p->c -> b - offsetof(c)): New patterns. + +2022-12-11 Richard Biener <rguenther@suse.de> + + * genmatch.cc (dt_node::gen_kids): Handle ADDR_EXPR in both + the GENERIC and GIMPLE op position. + (dt_simplify::gen): Capture both GENERIC and GIMPLE op + position for ADDR_EXPR and CONSTRUCTOR. + * match.pd: Simplify CONSTRUCTOR leaf handling. + +2022-12-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106904 + * tree.h (strip_zero_offset_components): Declare. + * tree.cc (strip_zero_offset_components): Define. + * tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref): + Strip zero offset components before building the address. + +2022-12-10 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107997 + * tree-ssa-loop-ivopts.cc: Include cfganal.h. + (create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends + with a stmt which ends bb, instead of adding iv update after it split + the latch edge and insert iterator into the new latch bb. + +2022-12-09 Jiufu Guo <guojiufu@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_emit_set_const): Remove copy_rtx. + (rs6000_emit_set_long_const): Likewise. + +2022-12-09 Martin Liska <mliska@suse.cz> + + * config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path + as for PR103661. + * doc/extend.texi: Fix "x86-64" use. + +2022-12-09 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * config/rtems.h (SUBTARGET_CC1_SPEC): Rename to... + (OS_CC1_SPEC): ...this. + * gcc.cc (SUBTARGET_CC1_SPEC): Rename to... + (OS_CC1_SPEC): ...this. + +2022-12-09 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (ANALYZER_OBJS): Update for renaming of + analyzer/region-model-impl-calls.cc to analyzer/kf.cc. + +2022-12-09 liuhongt <hongtao.liu@intel.com> + + * doc/invoke.texi (x86 options): Document + -mlam={none,u48,u57}. + * config/i386/i386-opts.h (enum lam_type): New enum. + * config/i386/i386.cc (ix86_memtag_can_tag_addresses): New. + (ix86_memtag_set_tag): Ditto. + (ix86_memtag_extract_tag): Ditto. + (ix86_memtag_add_tag): Ditto. + (ix86_memtag_tag_size): Ditto. + (ix86_memtag_untagged_pointer): Ditto. + (TARGET_MEMTAG_CAN_TAG_ADDRESSES): New. + (TARGET_MEMTAG_ADD_TAG): Ditto. + (TARGET_MEMTAG_SET_TAG): Ditto. + (TARGET_MEMTAG_EXTRACT_TAG): Ditto. + (TARGET_MEMTAG_UNTAGGED_POINTER): Ditto. + (TARGET_MEMTAG_TAG_SIZE): Ditto. + (IX86_HWASAN_SHIFT): Ditto. + (IX86_HWASAN_TAG_SIZE): Ditto. + * config/i386/i386-expand.cc (ix86_expand_call): Untag code + pointer. + * config/i386/i386-options.cc (ix86_option_override_internal): + Error when enable -mlam=[u48|u57] for 32-bit code. + * config/i386/i386.opt: Add -mlam=[none|u48|u57]. + * config/i386/i386-protos.h (ix86_memtag_untagged_pointer): + Declare. + (ix86_memtag_can_tag_addresses): Ditto. + +2022-12-08 Marek Polacek <polacek@redhat.com> + + * doc/invoke.texi (-fsanitize=address): Suggest options to improve + stack traces. + +2022-12-08 Eugene Rozenfeld <erozen@microsoft.com> + + PR ipa/108000 + * ipa-cp.cc (ipcp_propagate_stage): Fix profile count comparison + +2022-12-08 David Faust <david.faust@oracle.com> + + * config/bpf/bpf.md (bswap<mode>2): New define_insn. + +2022-12-08 Sebastian Pop <spop@amazon.com> + + PR target/98776 + * config/aarch64/aarch64-protos.h (aarch64_output_patchable_area): + Declared. + * config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry): + Emit an UNSPECV_PATCHABLE_AREA pseudo instruction. + (aarch64_output_patchable_area): New. + * config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New. + (patchable_area): Define. + +2022-12-08 Jakub Jelinek <jakub@redhat.com> + + PR debug/106719 + * cfgbuild.cc (find_bb_boundaries): If there are NOTEs in between + debug_insn (seen after flow_transfer_insn) and insn, move NOTEs + before all the DEBUG_INSNs and split after NOTEs. If there are + other insns like jump table data, clear debug_insn. + +2022-12-08 Jakub Jelinek <jakub@redhat.com> + + PR target/107627 + * config/i386/i386.md (HALF, half): New mode attributes. + (*concat<half><mode>3_5, *concat<mode><dwi>3_6, + *concat<mode><dwi>3_7): New define_insn_and_split patterns. + +2022-12-08 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/107985 + * gimple-range-op.cc + (gimple_range_op_handler::gimple_range_op_handler): Check if type + of the operands is supported. + * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Do + not assert if here is no range-op handler. + +2022-12-08 Jiufu Guo <guojiufu@linux.ibm.com> + + * config/rs6000/predicates.md: Use sext_hwi. + * config/rs6000/rs6000.cc (num_insns_constant_gpr): Likewise. + (darwin_rs6000_legitimate_lo_sum_const_p): Likewise. + (mem_operand_gpr): Likewise. + (mem_operand_ds_form): Likewise. + (rs6000_legitimize_address): Likewise. + (rs6000_emit_set_const): Likewise. + (rs6000_emit_set_long_const): Likewise. + (print_operand): Likewise. + (constant_generates_xxspltiw): Remove unnecessary expressions. + * config/rs6000/rs6000.md: Use sext_hwi. + +2022-12-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107699 + * match.pd (&a !=/== &a.b + c -> (&a - &a.b) !=/== c): New + pattern variant. + +2022-12-08 Jakub Jelinek <jakub@redhat.com> + + * range-op-float.cc (frange_nextafter): For MODE_COMPOSITE_P from + denormal or zero, use real_nextafter on DFmode with conversions + around it. + (frange_arithmetic): For mode_composite, on top of rounding in the + right direction accept extra 1ulp error for PLUS/MINUS_EXPR, extra + 2ulps error for MULT_EXPR and extra 3ulps error for RDIV_EXPR. + +2022-12-08 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107967 + * range-op-float.cc (frange_arithmetic): Fix a thinko - if + inf is negative, use nextafter if !real_less (&result, &value) + rather than if real_less (&result, &value). If result is +-INF + while value is finite and -fno-rounding-math, don't do rounding + if !inexact or if result is significantly above max representable + value or below min representable value. + +2022-12-07 Max Filippov <jcmvbkbc@gmail.com> + + * config.gcc (xtensa*-*-*): Add xtensa-dynconfig.o to extra_objs. + * config/xtensa/t-xtensa (TM_H): Add xtensa-dynconfig.h. + (xtensa-dynconfig.o): New rule. + * config/xtensa/xtensa-dynconfig.c: New file. + * config/xtensa/xtensa-protos.h (xtensa_get_config_strings): New + declaration. + * config/xtensa/xtensa.h (xtensa-config.h): Replace #include + with xtensa-dynconfig.h + (XCHAL_HAVE_MUL32_HIGH, XCHAL_HAVE_RELEASE_SYNC) + (XCHAL_HAVE_S32C1I, XCHAL_HAVE_THREADPTR) + (XCHAL_HAVE_FP_POSTINC): Drop definitions. + (TARGET_DIV32): Replace with __XCHAL_HAVE_DIV32. + (TARGET_CPU_CPP_BUILTINS): Add new 'builtin' variable and loop + through string array returned by the xtensa_get_config_strings + function call. + +2022-12-07 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/108006 + * config/aarch64/aarch64.cc (aarch64_expand_sve_const_vector): + Fix call to aarch64_move_imm to use SI/DI. + +2022-12-07 Richard Biener <rguenther@suse.de> + + PR ipa/105676 + * ipa-pure-const.cc (ipa_make_function_pure): Skip also + for functions already being const. + +2022-12-07 Hongyu Wang <hongyu.wang@intel.com> + + * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add + m_SAPPHIRERAPIDS, m_ALDERLAKE and m_CORE_ATOM. + +2022-12-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + PR target/107920 + * config/aarch64/aarch64-sve-builtins-base.cc: Use + gsi_replace_with_seq_vops to handle virtual operands, and gate + the transform on !flag_non_call_exceptions. + * gimple-fold.cc (gsi_replace_with_seq_vops): Make function non static. + * gimple-fold.h (gsi_replace_with_seq_vops): Declare. + +2022-12-07 liuhongt <hongtao.liu@intel.com> + + PR target/107970 + * config/i386/mmx.md (btruncv2sf2): Add TARGET_MMX_WITH_SSE to + the condition. + +2022-12-06 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64.cc (aarch64_bitmask_imm): Use unsigned type. + (aarch64_is_mov_xn_imm): New function. + (aarch64_move_imm): Refactor, assert mode is SImode or DImode. + (aarch64_internal_mov_immediate): Assert mode is SImode or DImode. + Simplify special cases. + (aarch64_uimm12_shift): Simplify code. + (aarch64_clamp_to_uimm12_shift): Likewise. + (aarch64_movw_imm): Rename to aarch64_is_movz. + (aarch64_float_const_rtx_p): Pass either SImode or DImode to + aarch64_internal_mov_immediate. + (aarch64_rtx_costs): Likewise. + * config/aarch64/aarch64.md (movdi_aarch64): Merge 'N' and 'M' + constraints into single 'O'. + (mov<mode>_aarch64): Likewise. + * config/aarch64/aarch64-protos.h (aarch64_move_imm): Use unsigned. + (aarch64_bitmask_imm): Likewise. + (aarch64_uimm12_shift): Likewise. + (aarch64_is_mov_xn_imm): New prototype. + * config/aarch64/constraints.md: Add 'O' for 32/64-bit immediates, + limit 'N' to 64-bit only moves. + +2022-12-06 Qing Zhao <qing.zhao@oracle.com> + + * attribs.cc (strict_flex_array_level_of): New function. + * attribs.h (strict_flex_array_level_of): Prototype for new function. + * doc/invoke.texi: Update -Warray-bounds by specifying the impact from + -fstrict-flex-arrays. Also update -Warray-bounds=2 by eliminating its + impact on treating trailing arrays as flexible array members. + * gimple-array-bounds.cc (get_up_bounds_for_array_ref): New function. + (check_out_of_bounds_and_warn): New function. + (array_bounds_checker::check_array_ref): Update with call to the above + new functions. + * tree.cc (array_ref_flexible_size_p): Add one new argument. + (component_ref_sam_type): New function. + (component_ref_size): Control with level of strict-flex-array. + * tree.h (array_ref_flexible_size_p): Update prototype. + (enum struct special_array_member): Add two new enum values. + (component_ref_sam_type): New prototype. + +2022-12-06 David Malcolm <dmalcolm@redhat.com> + + * doc/analyzer.texi: Drop out-of-date ideas for other checkers. + +2022-12-06 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (ANALYZER_OBJS): Add analyzer/call-details.o, + analyzer/kf-analyzer.o, and kf-lang-cp.o. + +2022-12-06 Marcel Vollweiler <marcel@codesourcery.com> + + * gimplify.cc (optimize_target_teams): Set initial num_teams_upper + to "-2" instead of "1" for non-existing num_teams clause in order to + disambiguate from the case of an existing num_teams clause with value 1. + +2022-12-06 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR target/107987 + * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>, + @mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar + operand. + +2022-12-06 Jakub Jelinek <jakub@redhat.com> + + PR target/107969 + * config/i386/i386.md (cbranchbf4, cstorebf4): Guard expanders + with the same condition as cbranchsf4 or cstoresf4 expanders. + +2022-12-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104475 + * pointer-query.h (access_ref::ref_nullptr_p): New flag. + * pointer-query.cc (access_ref::access_ref): Initialize + ref_nullptr_p. + (compute_objsize_r): Set ref_nullptr_p if we treat it that way. + (access_ref::inform_access): If ref was treated as nullptr + based, indicate that. + +2022-12-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107972 + * range-op-float.cc (frange_drop_infs): New function. + (float_binary_op_range_finish): Add DIV_OP2 argument. If DIV_OP2 is + false and lhs is finite or if DIV_OP2 is true and lhs is non-zero and + not NAN, r must be finite too. + (foperator_div::op2_range): Pass true to DIV_OP2 of + float_binary_op_range_finish. + +2022-12-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107975 + * range-op-float.cc (foperator_mult::op1_range, + foperator_div::op1_range, foperator_div::op2_range): Just + return float_binary_op_range_finish result if lhs is known + NAN, or the other operand is known NAN or UNDEFINED. + +2022-12-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Use dup + and zip1 for interleaving elements in vector initializer. + +2022-12-05 Richard Biener <rguenther@suse.de> + + PR middle-end/40635 + * tree-into-ssa.cc (rewrite_update_phi_arguments): Only + update the argument when the reaching definition is different + from the current argument. Keep an existing argument + location. + +2022-12-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106868 + * gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref): + Inline into single user ... + (pass_waccess::check_dangling_uses): ... here and adjust the + call and the PHI case to require that ref.aref is the address + of the decl. + +2022-12-05 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/106805 + * match.pd (cmp @0 REAL_CST@1): Don't optimize x cmp NaN + or NaN cmp x to false/true for cmp >/>=/</<= if -ftrapping-math. + +2022-12-05 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107879 + * range-op-float.cc (foperator_mult::op1_range): If both + lhs and op2 ranges contain zero or both ranges contain + some infinity, set r range to zero_to_inf_range depending on + signbit_known_p. + (foperator_div::op2_range): Similarly for lhs and op1 ranges. + (foperator_div::op1_range): If lhs range contains zero and op2 + range contains some infinity or vice versa, set r range to + zero_to_inf_range depending on signbit_known_p. + (foperator_div::rv_fold): Fix up condition for returning known NAN. + +2022-12-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107833 + PR tree-optimization/107839 + * cfghooks.cc: Include tree.h. + * tree-ssa-loop-im.cc (movement_possibility): Wrap and + make stmts using any ssa_name_maybe_undef_p operand + to preserve execution. + (loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs + to init maybe-undefined status. + * tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p, + ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p, + mark_ssa_maybe_undefs): Move ... + * tree-ssa.cc: ... here. + * tree-ssa.h (ssa_name_any_use_dominates_bb_p, + mark_ssa_maybe_undefs): Declare. + (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define. + +2022-12-05 Andrew Pinski <pinskia@gmail.com> + + PR tree-optimization/107956 + * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern): + Check for NULL LHS on masked loads. + +2022-12-05 Kewen Lin <linkw@linux.ibm.com> + Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/107412 + * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use + untruncated type for the length, and avoid to_constant and tree + arithmetic for subtraction. + +2022-12-02 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> + Jason Merrill <jason@redhat.com> + + * function.cc (init_function_start): Use DECL_RESULT location + for -Waggregate-return warning. + +2022-12-02 Andrew MacLeod <amacleod@redhat.com> + + * fold-const.cc (fold_unary_loc): Check TREE_TYPE of node. + (tree_invalid_nonnegative_warnv_p): Likewise. + +2022-12-02 Jason Merrill <jason@redhat.com> + + * gcc.cc (validate_switches): Reset suffix/starred on loop. + +2022-12-02 Vladimir N. Makarov <vmakarov@redhat.com> + + * lra-constraints.cc (curr_insn_transform): Check available hard + regs for pseudo and its subreg to decide what to reload. + +2022-12-02 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386-expand.cc + (ix86_expand_fast_convert_bf_to_sf): Use extendbfsf2_1 for + nonimmediate operand. + +2022-12-02 Martin Liska <mliska@suse.cz> + + * configure: Regenerate. + +2022-12-02 Jakub Jelinek <jakub@redhat.com> + + PR target/106577 + * config/i386/i386-expand.cc (ix86_vector_duplicate_value): Save/restore + recog_data around recog_memoized calls. + +2022-12-02 Michael Collison <collison@rivosinc.com> + + * match.pd ((x & 0x1) == 0) ? y : z <op> y + -> (-(typeof(y))(x & 0x1) & z) <op> y. + +2022-12-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107946 + * params.opt (-param=max-unswitch-depth=): New. + * doc/invoke.texi (--param=max-unswitch-depth): Document. + * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): Honor + --param=max-unswitch-depth + +2022-12-02 Eric Gallager <egallager@gcc.gnu.org> + + PR bootstrap/59447 + * configure: Regenerate. + * configure.ac: Document --with-dwarf2 flag as also + applying to later DWARF standards. + * doc/install.texi: Likewise. + +2022-12-02 liuhongt <hongtao.liu@intel.com> + + PR target/107934 + * config/i386/i386.md (extendbfsf2_1): Change type from + sseishft to sseishft1. + +2022-12-01 Alex Coplan <alex.coplan@arm.com> + + * varasm.cc (assemble_variable): Fix type confusion bug when + checking for ".vtable_map_vars" section. + +2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-v.cc (emit_pred_op): Adapt for mask mode. + * config/riscv/vector.md: Remove Tail && make policy operand for mask mode mov. + +2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-protos.h (enum vlmul_type): New enum. + (get_vlmul): New function. + (get_ratio): Ditto. + * config/riscv/riscv-v.cc (struct mode_vtype_group): New struct. + (ENTRY): Adapt for attributes. + (enum vlmul_type): New enum. + (get_vlmul): New function. + (get_ratio): New function. + * config/riscv/riscv-vector-switch.def (ENTRY): Adapt for attributes. + * config/riscv/riscv.cc (ENTRY): Ditto. + * config/riscv/vector.md (false,true): Add attributes. + +2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/constraints.md (Wdm): New constraint. + * config/riscv/predicates.md (direct_broadcast_operand): New predicate. + * config/riscv/riscv-protos.h (RVV_VLMAX): New macro. + (emit_pred_op): Refine function. + * config/riscv/riscv-selftests.cc (run_const_vector_selftests): New function. + (run_broadcast_selftests): Ditto. + (BROADCAST_TEST): New tests. + (riscv_run_selftests): More tests. + * config/riscv/riscv-v.cc (emit_pred_move): Refine function. + (emit_vlmax_vsetvl): Ditto. + (emit_pred_op): Ditto. + (expand_const_vector): New function. + (legitimize_move): Add constant vector support. + * config/riscv/riscv.cc (riscv_print_operand): New asm print rule for const vector. + * config/riscv/riscv.h (X0_REGNUM): New macro. + * config/riscv/vector-iterators.md: New attribute. + * config/riscv/vector.md (vec_duplicate<mode>): New pattern. + (@pred_broadcast<mode>): New pattern. + +2022-12-01 Paul-Antoine Arras <pa@codesourcery.com> + + * config/gcn/gcn-opts.h (TARGET_FIJI): -march=fiji. + (TARGET_VEGA10): -march=gfx900. + (TARGET_VEGA20): -march=gfx906. + (TARGET_GFX908): -march=gfx908. + (TARGET_GFX90a): -march=gfx90a. + * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Define a builtin that + uniquely maps to '-march'. + +2022-12-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107937 + * gimple-predicate-analysis.h (predicate::is_true): New. + (predicate::is_false): Likewise. + (predicate::empty_val): Likewise. + (uninit_analysis::uninit_analysis): Properly initialize + def_preds. + * gimple-predicate-analysis.cc (simplify_1b): Indicate + whether the chain became empty. + (predicate::simplify): Release emptied chain before removing it. + (predicate::normalize): Replace temporary object with assertion. + (uninit_analysis::is_use_guarded): Deal with predicates + that simplify to true/false. + +2022-12-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107935 + * tree-ssa-sccvn.cc (visit_phi): Honor forced VARYING on + backedges. + +2022-12-01 Jakub Jelinek <jakub@redhat.com> + + PR target/107627 + * config/i386/i386.md (*concat<mode><dwi>3_1, *concat<mode><dwi>3_2): + For operands which are zero_extend arguments allow memory if + output operand is a register. + (*concat<mode><dwi>3_3, *concat<mode><dwi>3_4): Likewise. If + both input operands are memory, use early clobber on output operand. + * config/i386/i386-expand.cc (split_double_concat): Deal with corner + cases where one input is memory and the other is not and the address + of the memory input uses a register we'd overwrite before loading + the memory into a register. + +2022-12-01 Haochen Gui <guihaoc@gcc.gnu.org> + + * config/rs6000/rs6000-call.cc (swap_endian_selector_for_mode): + Corrects comments of this function and make them clear. + +2022-12-01 liuhongt <hongtao.liu@intel.com> + + PR target/107863 + * config/i386/i386-expand.cc (ix86_expand_vec_set_builtin): + Convert op1 to target mode whenever mode mismatch. + +2022-12-01 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106626 + * diagnostic-path.h + (diagnostic_path::get_first_event_in_a_function): New decl. + * diagnostic.cc (diagnostic_path::get_first_event_in_a_function): + New. + (diagnostic_path::interprocedural_p): Ignore leading events that + are outside of any function. + +2022-12-01 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (ANALYZER_OBJS): Add analyzer/bounds-checking.o. + +2022-12-01 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/100866 + * config/rs6000/rs6000-call.cc (swap_endian_selector_for_mode): + Generate permute index directly for little endian targets. + * config/rs6000/vsx.md (revb_<mode>): Call vprem directly with + corresponding permute indexes. + +2022-11-30 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.md (addvdi3): Force operand 2 to a register. + Remove "addi,tsv,*" instruction from unamed pattern. + (subvdi3): Force operand 1 to a register. + Remove "subi,tsv" instruction from from unamed pattern. + +2022-11-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/aarch64.md (aarch64_cpymemdi): Specify clobber of CC reg. + (*aarch64_cpymemdi): Likewise. + (aarch64_movmemdi): Likewise. + (aarch64_setmemdi): Likewise. + (*aarch64_setmemdi): Likewise. + +2022-11-30 Martin Liska <mliska@suse.cz> + + * tree-switch-conversion.cc (bit_test_cluster::emit): Remove + dead variable bt_range. + +2022-11-30 Iskander Shakirzyanov <iskander@ispras.ru> + Franz Sirl <Franz.Sirl-kernel@lauterbach.com> + + PR driver/107787 + * common.opt (Warray-bounds): Turn into alias of + -Warray-bounds=1. + * builtins.cc (c_strlen): Use OPT_Warray_bounds_ + instead of OPT_Warray_bounds. + * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Ditto. + * gimple-array-bounds.cc (array_bounds_checker::check_array_ref, + array_bounds_checker::check_mem_ref, + array_bounds_checker::check_addr_expr, + array_bounds_checker::check_array_bounds): Ditto. + * gimple-ssa-warn-restrict.cc (maybe_diag_access_bounds): Ditto. + +2022-11-30 Martin Liska <mliska@suse.cz> + + PR tree-optimization/101301 + PR tree-optimization/103680 + * tree-switch-conversion.cc (bit_test_cluster::emit): + Handle correctly remaining probability. + (switch_decision_tree::try_switch_expansion): Fix BB's count + where a cluster expansion happens. + (switch_decision_tree::emit_cmp_and_jump_insns): Fill up also + BB count. + (switch_decision_tree::do_jump_if_equal): Likewise. + (switch_decision_tree::emit_case_nodes): Handle special case + for BT expansion which can also fallback to a default BB. + * tree-switch-conversion.h (cluster::cluster): Add + m_default_prob probability. + +2022-11-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107919 + * gimple-predicate-analysis.cc (simplify_1): Rename to ... + (simplify_1a): .. this. + (simplify_1b): New. + (predicate::simplify): Call both simplify_1a and simplify_1b. + +2022-11-30 Richard Biener <rguenther@suse.de> + + * tree-ssa-uninit.cc (find_uninit_use): Dump the edge for a + PHI node. + +2022-11-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107919 + * gimple-predicate-analysis.cc (predicate::simplify_2): + Handle predicates of arbitrary length. + +2022-11-30 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107835 + * tree-chrec.cc (chrec_apply): Don't handle "{a, +, a} (x-1)" + as "a*x" if type is a pointer type. + +2022-11-30 Paul-Antoine Arras <pa@codesourcery.com> + + * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Add gfx803. + * config/gcn/t-omp-device: Add gfx803. + +2022-11-30 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/linux.h (STACK_CHECK_MOVING_SP): + Define this macro to 1. + * config/loongarch/loongarch.cc (STACK_CLASH_PROTECTION_GUARD_SIZE): + Size of guard page. + (loongarch_first_stack_step): Return the size of the first drop stack + according to whether stack checking is performed. + (loongarch_emit_probe_stack_range): Adjust the method of stack checking in prologue. + (loongarch_output_probe_stack_range): Delete useless code. + (loongarch_expand_prologue): Adjust the method of stack checking in prologue. + (loongarch_option_override_internal): Enforce that interval is the same + size as size so the mid-end does the right thing. + * config/loongarch/loongarch.h (STACK_CLASH_MAX_UNROLL_PAGES): + New macro decide whether to loop stack detection. + +2022-11-30 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/103546 + * doc/invoke.texi (Static Analyzer Options): Add isatty, ferror, + fileno, and getc to the list of functions known to the analyzer. + +2022-11-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107852 + * tree-ssa-sccvn.cc (visit_phi): Use equivalences recorded + as predicated values to elide more redundant PHIs. + +2022-11-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106995 + * tree-if-conv.cc (pass_if_conversion::execute): Also redirect the + versioning condition to the original loop if this very loop + vanished during CFG cleanup. + +2022-11-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107898 + * gimple-ssa-warn-alloca.cc (alloca_call_type): Check + the type of the alloca argument is compatible with size_t + before querying ranges. + +2022-11-29 Richard Biener <rguenther@suse.de> + + PR ipa/107897 + * multiple_target.cc (pass_target_clone::gate): Disable + after errors. + +2022-11-29 Martin Liska <mliska@suse.cz> + + * configure: Regenerate. + +2022-11-29 YunQiang Su <yunqiang.su@cipunited.com> + + * configure.ac: add description for + AC_DEFINE(ENABLE_MULTIARCH, 1) + +2022-11-28 Andrew Pinski <apinski@marvell.com> + + * match.pd ((A / (1 << B)) -> (A >> B).): + Fix comment. + +2022-11-28 Sinan <sinan.lin@linux.alibaba.com> + + * config/riscv/riscv.cc (riscv_build_integer): Improve some cases + of loading 64bit constants for rv32. + +2022-11-28 Maciej W. Rozycki <macro@embecosm.com> + + * config/riscv/riscv.cc (riscv_emit_int_order_test): Use EQ 0 + rather that XOR 1 for LE and LEU operations. + +2022-11-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107896 + * tree-vect-stmts.cc (supportable_widening_operation): + Handle non-vector mode intermediate mode. + +2022-11-28 Frolov Daniil <frolov.da@phystech.edu> + + * gimple-ssa-sprintf.cc (fmtresult::type_max_digits): Handle + base == 2. + (tree_digits): Likewise. + (format_integer): Likewise. + (parse_directive): Add cases for %b and %B directives. + +2022-11-28 Fei Gao <gaofei@eswincomputing.com> + + * config/riscv/riscv.cc (riscv_first_stack_step): Fix computation + of MIN_FIRST_STEP to cover FP save area too. + +2022-11-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107493 + * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr): + Only handle no-op and sign-changing conversions. + +2022-11-28 Tobias Burnus <tobias@codesourcery.com> + + * config/gcn/gcn.cc (gcn_expand_builtin_1): Work on s1 instead + of s[0:1] and use USE to prevent removal of setting that register. + * config/gcn/gcn.md (prologue_use_di): Remove. + +2022-11-28 Yuri Gribov <y.gribov@samsung.com> + + PR sanitizer/106558 + * sanopt.cc: Do not optimize out checks for non-SSA addresses. + +2022-11-28 Jakub Jelinek <jakub@redhat.com> + + PR target/106875 + * config/i386/i386.opt (x_ix86_abi): Remove TargetSave. + (ix86_abi): Replace it with TargetVariable. + * config/i386/i386-options.cc (ix86_function_specific_save, + ix86_function_specific_restore): Don't save and restore x_ix86_abi. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * config/arm/mve.md (mve_vrmlaldavhq_<supf>v4si, + mve_vrmlaldavhaq_<supf>v4si): Fix spacing vs tabs. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * config/arm/mve.md (mve_vmlaldavaq_<supf><mode>) + (mve_vmlaldavaxq_s<mode>, mve_vmlaldavaxq_p_<supf><mode>): Fix + spacing vs tabs. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * config/arm/mve.md (mve_vsubq_n_f<mode>): Fix spacing. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * config/arm/mve.md (mve_vaddlvq_p_<supf>v4si) + (mve_vaddq_n_<supf><mode>, mve_vaddvaq_<supf><mode>) + (mve_vaddlvaq_<supf>v4si, mve_vaddq_n_f<mode>) + (mve_vaddlvaq_p_<supf>v4si, mve_vaddq<mode>, mve_vaddq_f<mode>): + Fix spacing. + +2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> + + * config/arm/arm_mve.h (__arm_vsubq_x FP): New overloads. + (__arm_vsubq_x Integer): New. + +2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> + + PR target/107515 + * config/arm/arm_mve.h (__ARM_mve_typeid): Add float types. + +2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> + + PR target/96795 + * config/arm/arm_mve.h (__arm_vaddq): Fix Overloading. + (__arm_vmulq): Likewise. + (__arm_vcmpeqq): Likewise. + (__arm_vcmpneq): Likewise. + (__arm_vmaxnmavq): Likewise. + (__arm_vmaxnmvq): Likewise. + (__arm_vminnmavq): Likewise. + (__arm_vsubq): Likewise. + (__arm_vminnmvq): Likewise. + (__arm_vrshlq): Likewise. + (__arm_vqsubq): Likewise. + (__arm_vqdmulltq): Likewise. + (__arm_vqdmullbq): Likewise. + (__arm_vqdmulhq): Likewise. + (__arm_vqaddq): Likewise. + (__arm_vhaddq): Likewise. + (__arm_vhsubq): Likewise. + (__arm_vqdmlashq): Likewise. + (__arm_vqrdmlahq): Likewise. + (__arm_vmlasq): Likewise. + (__arm_vqdmlahq): Likewise. + (__arm_vmaxnmavq_p): Likewise. + (__arm_vmaxnmvq_p): Likewise. + (__arm_vminnmavq_p): Likewise. + (__arm_vminnmvq_p): Likewise. + (__arm_vfmasq_m): Likewise. + (__arm_vsetq_lane): Likewise. + (__arm_vcmpneq_m): Likewise. + (__arm_vhaddq_x): Likewise. + (__arm_vhsubq_x): Likewise. + (__arm_vqrdmlashq_m): Likewise. + (__arm_vqdmlashq_m): Likewise. + (__arm_vmlaldavaxq_p): Likewise. + (__arm_vmlasq_m): Likewise. + (__arm_vqdmulhq_m): Likewise. + (__arm_vqdmulltq_m): Likewise. + (__arm_viwdupq_m): Likewise. + (__arm_viwdupq_u16): Likewise. + (__arm_viwdupq_u32): Likewise. + (__arm_viwdupq_u8): Likewise. + (__arm_vdwdupq_m): Likewise. + (__arm_vdwdupq_u16): Likewise. + (__arm_vdwdupq_u32): Likewise. + (__arm_vdwdupq_u8): Likewise. + (__arm_vaddlvaq): Likewise. + (__arm_vaddlvaq_p): Likewise. + (__arm_vaddvaq): Likewise. + (__arm_vaddvaq_p): Likewise. + (__arm_vcmphiq_m): Likewise. + (__arm_vmladavaq_p): Likewise. + (__arm_vmladavaxq): Likewise. + (__arm_vmlaldavaxq): Likewise. + (__arm_vrmlaldavhaq_p): Likewise. + +2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> + + PR target/96795 + * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Change types. + (__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): Fix Overloading. + (__ARM_mve_coerce3): New. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * config/arm/mve.md (mve_vabsq_f<mode>): Fix spacing. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>): Fix + spacing. + * config/arm/arm_mve.h (__arm_vcmpgtq_m, __arm_vcmpleq_m) + (__arm_vcmpltq_m, __arm_vcmpneq_m): Add missing defines. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * config/arm/mve.md (mve_vdupq_n_f<mode>) + (mve_vdupq_n_<supf><mode>, mve_vdupq_m_n_<supf><mode>) + (mve_vdupq_m_n_f<mode>): Fix spacing. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * config/arm/mve.md (mve_vdwdupq_m_wb_u<mode>_insn): Fix spacing. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * config/arm/mve.md (mve_vddupq_u<mode>_insn): Fix 'vddup.u' + spacing. + (mve_vddupq_m_wb_u<mode>_insn): Likewise. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Fix + 'vmsr' spacing and reg capitalization. + +2022-11-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107876 + * tree-ssa-loop-unswitch.cc (clean_up_after_unswitching): Wipe + dominator info if we removed an edge. + +2022-11-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107867 + * tree-ssa-forwprop.cc (pass_forwprop::execute): Handle + abnormal cleanup after substitution. + +2022-11-28 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.cc (enum loongarch_load_imm_method): + Remove the member METHOD_INSV that is not currently used. + (struct loongarch_integer_op): Define a new member curr_value, + that records the value of the number stored in the destination + register immediately after the current instruction has run. + (loongarch_build_integer): Assign a value to the curr_value member variable. + (loongarch_move_integer): Adds information for the immediate load instruction. + * config/loongarch/loongarch.md (*movdi_32bit): Redefine as define_insn_and_split. + (*movdi_64bit): Likewise. + (*movsi_internal): Likewise. + (*movhi_internal): Likewise. + * config/loongarch/predicates.md: Return true as long as it is CONST_INT, ensure + that the immediate number is not optimized by decomposition during expand + optimization loop. + +2022-11-28 liuhongt <hongtao.liu@intel.com> + + PR target/107748 + * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Refined. + * config/i386/i386-builtin-types.def (FLOAT_FTYPE_BFLOAT16): + New function type. + * config/i386/i386-builtin.def (BDESC): New builtin. + * config/i386/i386-expand.cc (ix86_expand_args_builtin): + Handle the builtin. + * config/i386/i386.md (extendbfsf2): New expander. + (extendbfsf2_1): New define_insn. + (truncsfbf2): Ditto. + +2022-11-26 Andrew Pinski <apinski@marvell.com> + + PR tree-optimization/103356 + * match.pd: ((~a) == b -> a ^ b): New pattern. + +2022-11-25 Sandra Loosemore <sandra@codesourcery.com> + + * common.opt (fopenmp-target-simd-clone): New option. + (target_simd_clone_device): New enum to go with it. + * doc/invoke.texi (-fopenmp-target-simd-clone): Document. + * flag-types.h (enum omp_target_simd_clone_device_kind): New. + * omp-simd-clone.cc (auto_simd_fail): New function. + (auto_simd_check_stmt): New function. + (plausible_type_for_simd_clone): New function. + (ok_for_auto_simd_clone): New function. + (simd_clone_create): Add force_local argument, make the symbol + have internal linkage if it is true. + (expand_simd_clones): Also check for cloneable functions with + "omp declare target". Pass explicit_p argument to + simd_clone.compute_vecsize_and_simdlen target hook. + * opts.cc (default_options_table): Add -fopenmp-target-simd-clone. + * target.def (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): + Add bool explicit_p argument. + * doc/tm.texi: Regenerated. + * config/aarch64/aarch64.cc + (aarch64_simd_clone_compute_vecsize_and_simdlen): Update. + * config/gcn/gcn.cc + (gcn_simd_clone_compute_vecsize_and_simdlen): Update. + * config/i386/i386.cc + (ix86_simd_clone_compute_vecsize_and_simdlen): Update. + +2022-11-25 Tamar Christina <tamar.christina@arm.com> + + PR target/107830 + * config/aarch64/aarch64.cc + (aarch64_vectorize_can_special_div_by_constant): Check validity during + codegen phase as well. + +2022-11-25 Eric Botcazou <ebotcazou@adacore.com> + + * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko. + +2022-11-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107865 + * tree-cfg.cc (move_sese_region_to_fn): Free the number of + iterations of moved loops. + +2022-11-25 Kewen.Lin <linkw@gcc.gnu.org> + + PR target/99889 + * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): + Adjust to call function default_print_patchable_function_entry. + * targhooks.cc (default_print_patchable_function_entry_1): Remove and + move the flags preparation ... + (default_print_patchable_function_entry): ... here, adjust to use + current_function_funcdef_no for label no. + * targhooks.h (default_print_patchable_function_entry_1): Remove. + * varasm.cc (default_elf_asm_named_section): Adjust code for + __patchable_function_entries section support with LPFE label. + +2022-11-24 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR tree-optimization/107413 + * config/aarch64/aarch64.cc (struct tune_params): Add + fma_reassoc_width to all CPU tuning structures. + (aarch64_reassociation_width): Use fma_reassoc_width. + * config/aarch64/aarch64-protos.h (struct tune_params): Add + fma_reassoc_width. + +2022-11-24 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/107317 + * asan.cc: Include diagnostic-core.h. + (asan_emit_stack_protection): Return NULL early if seen_error (). + +2022-11-24 Aldy Hernandez <aldyh@redhat.com> + + * vr-values.cc (simplify_using_ranges::compare_names): Remove. + (vrp_evaluate_conditional_warnv_with_ops): Remove call to + compare_names. + (simplify_using_ranges::vrp_visit_cond_stmt): Remove use_equiv_p + argument to vrp_evaluate_conditional_warnv_with_ops. + * vr-values.h (class simplify_using_ranges): Remove + compare_names. + Remove use_equiv_p to vrp_evaluate_conditional_warnv_with_ops. + +2022-11-24 Aldy Hernandez <aldyh@redhat.com> + + * tree-vrp.cc (overflow_comparison_p_1): Remove follow_assert_exprs. + (overflow_comparison_p): Remove use_equiv_p. + * tree-vrp.h (overflow_comparison_p): Same. + * vr-values.cc (vrp_evaluate_conditional_warnv_with_ops): Remove + use_equiv_p argument to overflow_comparison_p. + +2022-11-24 Aldy Hernandez <aldyh@redhat.com> + + * doc/gimple.texi: Remove ASSERT_EXPR references. + * fold-const.cc (tree_expr_nonzero_warnv_p): Same. + (fold_binary_loc): Same. + (tree_expr_nonnegative_warnv_p): Same. + * gimple-array-bounds.cc (get_base_decl): Same. + * gimple-pretty-print.cc (dump_unary_rhs): Same. + * gimple.cc (get_gimple_rhs_num_ops): Same. + * pointer-query.cc (handle_ssa_name): Same. + * tree-cfg.cc (verify_gimple_assign_single): Same. + * tree-pretty-print.cc (dump_generic_node): Same. + * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr):Same. + (interpret_rhs_expr): Same. + * tree-ssa-operands.cc (operands_scanner::get_expr_operands): Same. + * tree-ssa-propagate.cc + (substitute_and_fold_dom_walker::before_dom_children): Same. + * tree-ssa-threadedge.cc: Same. + * tree-vrp.cc (overflow_comparison_p): Same. + * tree.def (ASSERT_EXPR): Add note. + * tree.h (ASSERT_EXPR_VAR): Remove. + (ASSERT_EXPR_COND): Remove. + * vr-values.cc (simplify_using_ranges::vrp_visit_cond_stmt): + Remove comment. + +2022-11-24 Aldy Hernandez <aldyh@redhat.com> + + * Makefile.in: Remove value-range-equiv.o + * gimple-array-bounds.cc + (array_bounds_checker::array_bounds_checker): Remove comment. + * tree-vrp.cc (supported_types_p): Remove use of value_range_equiv. + * value-query.cc (class equiv_allocator): Same. + (range_query::allocate_value_range_equiv): Remove. + (range_query::free_value_range_equiv): Remove. + (range_query::get_value_range): Remove. + * value-query.h (class range_query): Remove get_value_range. + Remove allocate_value_range_equiv. + Remove free_value_range_equiv. + * vr-values.cc (compare_ranges): Replace value_range_equiv with + value_range. + (simplify_using_ranges::get_vr_for_comparison): Same. + (simplify_using_ranges::compare_names): Same. + * vr-values.h: Remove value_range_equiv references. + * value-range-equiv.cc: Removed. + * value-range-equiv.h: Removed. + +2022-11-24 Aldy Hernandez <aldyh@redhat.com> + + * doc/invoke.texi: Remove docs for max-vrp-switch-assertions, + vrp1-mode, and vrp2-mode. + * params.opt: Same. + * range-op.cc (masked_increment): Move from tree-vrp.cc. + * tree-vrp.cc (class live_names): Remove. + (live_names::init_bitmap_if_needed): Remove. + (live_names::block_has_live_names_p): Remove. + (live_names::clear_block): Remove. + (live_names::merge): Remove. + (live_names::set): Remove. + (live_names::clear): Remove. + (live_names::live_names): Remove. + (live_names::~live_names): Remove. + (live_names::live_on_block_p): Remove. + (live_names::live_on_edge_p): Remove. + (get_single_symbol): Make static. + (build_symbolic_expr): Remove. + (adjust_symbolic_bound): Remove. + (combine_bound): Remove. + (set_value_range_with_overflow): Remove. + (extract_range_from_pointer_plus_expr): Remove. + (extract_range_from_plus_minus_expr): Remove. + (drop_undefines_to_varying): Remove. + (range_fold_binary_symbolics_p): Remove. + (range_fold_unary_symbolics_p): Remove. + (range_fold_binary_expr): Remove. + (infer_value_range): Remove. + (dump_assert_info): Remove. + (dump_asserts_info): Remove. + (add_assert_info): Remove. + (extract_code_and_val_from_cond_with_ops): Remove. + (masked_increment): Move to range-op.cc. + (register_edge_assert_for_2): Remove. + (find_case_label_index): Remove. + (find_case_label_range): Remove. + (register_edge_assert_for_1): Remove. + (is_masked_range_test): Remove. + (register_edge_assert_for): Remove. + (stmt_interesting_for_vrp): Remove. + (struct case_info): Remove. + (struct assert_locus): Remove. + (class vrp_asserts): Remove. + (vrp_asserts::build_assert_expr_for): Remove. + (vrp_asserts::dump): Remove. + (vrp_asserts::register_new_assert_for): Remove. + (vrp_asserts::finish_register_edge_assert_for): Remove. + (vrp_asserts::find_conditional_asserts): Remove. + (vrp_asserts::compare_case_labels): Remove. + (vrp_asserts::find_switch_asserts): Remove. + (vrp_asserts::find_assert_locations_in_bb): Remove. + (vrp_asserts::find_assert_locations): Remove. + (vrp_asserts::process_assert_insertions_for): Remove. + (vrp_asserts::compare_assert_loc): Remove. + (vrp_asserts::process_assert_insertions): Remove. + (vrp_asserts::insert_range_assertions): Remove. + (vrp_asserts::all_imm_uses_in_stmt_or_feed_cond): Remove. + (vrp_asserts::remove_range_assertions): Remove. + (class vrp_prop): Remove. + (vrp_prop::initialize): Remove. + (enum ssa_prop_result): Remove. + (vrp_prop::visit_stmt): Remove. + (vrp_prop::visit_phi): Remove. + (vrp_prop::finalize): Remove. + (class vrp_folder): Remove. + (vrp_folder::fold_predicate_in): Remove. + (vrp_folder::fold_stmt): Remove. + (vrp_folder::simplify_casted_conds): Remove. + (execute_vrp): Remove. + * tree-vrp.h (struct assert_info): Remove. + (register_edge_assert_for): Remove. + (stmt_interesting_for_vrp): Remove. + (infer_value_range): Remove. + (get_single_symbol): Remove. + (masked_increment): Remove. + (execute_ranger_vrp): Remove. + * vr-values.cc (set_value_range_to_nonnegative): Remove. + (set_value_range_to_truthvalue): Remove. + (vr_values::get_lattice_entry): Remove. + (vr_values::get_value_range): Remove. + (vr_values::range_of_expr): Remove. + (vr_values::value_of_expr): Remove. + (vr_values::value_on_edge): Remove. + (vr_values::value_of_stmt): Remove. + (vr_values::set_def_to_varying): Remove. + (vr_values::set_defs_to_varying): Remove. + (vr_values::update_value_range): Remove. + (symbolic_range_based_on_p): Remove. + (gimple_assign_nonzero_p): Remove. + (gimple_stmt_nonzero_p): Remove. + (vr_values::vrp_stmt_computes_nonzero): Remove. + (vr_values::op_with_constant_singleton_value_range): Remove. + (vr_values::extract_range_for_var_from_comparison_expr): Remove. + (vr_values::extract_range_from_assert): Remove. + (vr_values::extract_range_from_ssa_name): Remove. + (vr_values::extract_range_from_binary_expr): Remove. + (vr_values::extract_range_from_unary_expr): Remove. + (vr_values::extract_range_from_cond_expr): Remove. + (vr_values::extract_range_from_comparison): Remove. + (vr_values::extract_range_from_ubsan_builtin): Remove. + (vr_values::extract_range_basic): Remove. + (vr_values::extract_range_from_assignment): Remove. + (vr_values::adjust_range_with_scev): Remove. + (vr_values::dump): Remove. + (vr_values::vr_values): Remove. + (vr_values::~vr_values): Remove. + (vrp_valueize): Remove. + (vrp_valueize_1): Remove. + (get_output_for_vrp): Remove. + (vr_values::vrp_visit_assignment_or_call): Remove. + (simplify_using_ranges::vrp_evaluate_conditional): Remove. + (vr_values::vrp_visit_switch_stmt): Remove. + (vr_values::extract_range_from_stmt): Remove. + (vr_values::extract_range_from_phi_node): Remove. + (simplify_using_ranges::fold_cond): Add FIXME note. + (vr_values::set_vr_value): Remove. + (vr_values::swap_vr_value): Remove. + * vr-values.h (class vr_values): Remove. + (get_output_for_vrp): Remove. + +2022-11-24 Hongyu Wang <hongyu.wang@intel.com> + + PR target/107692 + * common/config/i386/i386-common.cc (ix86_optimization_table): + Enable loop unroll O2, disable -fweb and -frename-registers + by default. + * config/i386/i386-options.cc + (ix86_override_options_after_change): + Disable small loop unroll when funroll-loops enabled, reset + cunroll_grow_size when it is not explicitly enabled. + (ix86_option_override_internal): Call + ix86_override_options_after_change instead of calling + ix86_recompute_optlev_based_flags and ix86_default_align + separately. + * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll + factor if -munroll-only-small-loops enabled. + * loop-init.cc (pass_rtl_unroll_loops::gate): Do not enable + loop unrolling for -O2-speed. + (pass_rtl_unroll_loops::execute): Rmove + targetm.loop_unroll_adjust check. + +2022-11-23 Ramana Radhakrishnan <ramana.gcc@gmail.com> + + * config/arm/types.md: Update comment. + (is_neon_type): Add neon_fcmla, neon_fcadd. + +2022-11-23 Jonathan Wakely <jwakely@redhat.com> + + * doc/invoke.texi (C++ Dialect Options): Recommend using + -Wdelete-non-virtual-dtor instead of -Wnon-virtual-dtor. + +2022-11-23 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/107722 + * diagnostic.cc (test_diagnostic_get_location_text): Test + special_fname_builtin () rather than "<built-in>" and expect + special_fname_builtin () concatenated with ":" for it. + +2022-11-23 Martin Liska <mliska@suse.cz> + + * Makefile.in: Set DO_LINK_MUTEX. + +2022-11-23 Lulu Cheng <chenglulu@loongson.cn> + xujiahao <xujiahao@loongson.cn> + + * config/loongarch/constraints.md (ZD): New constraint. + * config/loongarch/loongarch-def.c: Initial number of parallel prefetch. + * config/loongarch/loongarch-tune.h (struct loongarch_cache): + Define number of parallel prefetch. + * config/loongarch/loongarch.cc (loongarch_option_override_internal): + Set up parameters to be used in prefetching algorithm. + * config/loongarch/loongarch.md (prefetch): New template. + +2022-11-23 Marek Polacek <polacek@redhat.com> + + Revert: + 2022-11-23 Marek Polacek <polacek@redhat.com> + + * Makefile.in: Set LD_PICFLAG. Use it. Set enable_host_pie. + Remove NO_PIE_CFLAGS and NO_PIE_FLAG. Pass LD_PICFLAG to + ALL_LINKERFLAGS. Use the "pic" build of libiberty if --enable-host-pie. + * configure.ac (--enable-host-shared): Don't set PICFLAG here. + (--enable-host-pie): New check. Set PICFLAG and LD_PICFLAG after this + check. + * configure: Regenerate. + * doc/install.texi: Document --enable-host-pie. + +2022-11-23 Marek Polacek <polacek@redhat.com> + + Revert: + 2022-11-23 Marek Polacek <polacek@redhat.com> + + * configure.ac (--enable-host-bind-now): New check. Add + -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now. + * configure: Regenerate. + * doc/install.texi: Document --enable-host-bind-now. + +2022-11-23 Marek Polacek <polacek@redhat.com> + + * configure.ac (--enable-host-bind-now): New check. Add + -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now. + * configure: Regenerate. + * doc/install.texi: Document --enable-host-bind-now. + +2022-11-23 Marek Polacek <polacek@redhat.com> + + * Makefile.in: Set LD_PICFLAG. Use it. Set enable_host_pie. + Remove NO_PIE_CFLAGS and NO_PIE_FLAG. Pass LD_PICFLAG to + ALL_LINKERFLAGS. Use the "pic" build of libiberty if --enable-host-pie. + * configure.ac (--enable-host-shared): Don't set PICFLAG here. + (--enable-host-pie): New check. Set PICFLAG and LD_PICFLAG after this + check. + * configure: Regenerate. + * doc/install.texi: Document --enable-host-pie. + +2022-11-22 Jeff Law <jlaw@ventanamicro.com> + + * tree-ssa-dom.cc (record_edge_info): Fix thinko in last commit. + +2022-11-22 Jeff Law <jlaw@ventanamicro.com> + + * tree-ssa-dom.cc (record_edge_info): Fix comment typos. + +2022-11-22 Jeff Law <jeffreyalaw@gmail.com> + + * config/riscv/riscv.cc (riscv_get_separate_components): Do not + do shrink-wrapping for a frame with a variable size. + +2022-11-22 Siddhesh Poyarekar <siddhesh@gotplt.org> + + * tree-object-size.cc (todo): New variable. + (object_sizes_execute): Use it. + (strdup_object_size): New function. + (call_object_size): Use it. + +2022-11-22 Eric Botcazou <ebotcazou@adacore.com> + + * tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst): + Bail out if source and destination do not have the same storage order. + +2022-11-22 Martin Jambor <mjambor@suse.cz> + + * ipa-sra.cc (ipa_sra_dump_all_summaries): Dump edge summaries even + for non-candidates. + +2022-11-22 Martin Jambor <mjambor@suse.cz> + + * ipa-cp.cc (push_agg_values_from_edge): Do not consider constants + in unused aggregate parameters. + +2022-11-22 Martin Jambor <mjambor@suse.cz> + + * ipa-param-manipulation.h (ipa_param_body_adjustments): Removed + member m_split_modifications_p. + * ipa-param-manipulation.cc + (ipa_param_body_adjustments::common_initialization): Do not set + m_split_modifications_p. + (ipa_param_body_adjustments::ipa_param_body_adjustments): Remove + initializations of m_split_modifications_p. + (ipa_param_body_adjustments::modify_call_stmt): Check that + m_replacements is empty instead of m_split_modifications_p. + +2022-11-22 Martin Jambor <mjambor@suse.cz> + + PR ipa/107661 + * ipa-cp.cc (push_agg_values_from_edge): New parameter + optimize_self_recursion, use it to decide whether to pass interim to + the helper function. + (find_aggregate_values_for_callers_subset): Pass true in the new + parameter of push_agg_values_from_edge. + (cgraph_edge_brings_all_agg_vals_for_node): Pass false in the new + parameter of push_agg_values_from_edge. + +2022-11-22 Tobias Burnus <tobias@codesourcery.com> + Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn-builtins.def (FIRST_CALL_THIS_THREAD_P, + GET_STACK_LIMIT): Add new builtins. + * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand them. + * config/gcn/gcn.md (prologue_use): Add "register_operand" as + arg to match_operand. + (prologue_use_di): New; DI insn_and_split variant of the former. + +2022-11-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107803 + * tree-ssa-propagate.cc (substitute_and_fold_dom_walker): Add + need_ab_cleanup member. + (substitute_and_fold_dom_walker::before_dom_children): When + a stmt can no longer transfer control flow abnormally set + need_ab_cleanup. + (substitute_and_fold_engine::substitute_and_fold): Cleanup + abnormal control flow. + +2022-11-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107672 + * tree-vect-stmts.cc (supportable_widening_operation): Avoid + type_for_mode on vector modes. + +2022-11-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107766 + * tree-vect-slp-patterns.cc (complex_mul_pattern::matches): + Use *node to check for FP vector types. + +2022-11-22 liuhongt <hongtao.liu@intel.com> + + * config/i386/mmx.md (*mov<mode>_internal): Add + ix86_hard_reg_move_ok to condition. + +2022-11-22 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386.cc (ix86_can_change_mode_class): Also guard + size of TO. + (ix86_hard_regno_mode_ok): Remove VALID_AVX512FP16_SCALAR_MODE + * config/i386/i386.h (VALID_AVX512FP16_SCALAR_MODE): Merged to + .. + (VALID_AVX512F_SCALAR_MODE): .. this, also add HImode. + (VALID_SSE_REG_MODE): Add DI/HImode. + +2022-11-21 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * config/rtems.h (SUBTARGET_CC1_SPEC): Undef and define. + +2022-11-21 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * gcc.cc (SUBTARGET_CC1_SPEC): Define if not defined. + (cc1_spec): Append SUBTARGET_CC1_SPEC. + +2022-11-21 Dimitar Dimitrov <dimitar@dinux.eu> + + * doc/sourcebuild.texi (sockets): Document new check. + +2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> + + * tree-ssa-loop.h (tree_niter_desc): Update comment. + +2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> + + * tree-ssa-loop-niter.cc + (number_of_iterations_exit_assumptions): Modify to call... + (number_of_iterations_bitcount): ...this new function. + (number_of_iterations_popcount): Now called by the above. + Refactor, and extract popcount expression builder to... + (build_popcount_expr): this new function. + +2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> + + * tree-ssa-loop-niter.cc (ssa_defined_by_minus_one_stmt_p): Move + (number_of_iterations_popcount): Move, and remove separate prototype. + +2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> + + * tree-ssa-loop-niter.cc (number_of_iterations_exit_assumptions): + Move at_stmt assignment. + +2022-11-21 Christophe Lyon <christophe.lyon@arm.com> + + * genmultilib: Fix options and dirnames/osdirnames sanity check. + +2022-11-21 Philipp Tomsich <philipp.tomsich@vrull.eu> + + PR target/107786 + * config/riscv/riscv.md + (*branch<ANYI:mode>_shiftedarith_equals_zero): Wrap ANYI + in a subreg, as our branch instructions only supports X. + +2022-11-21 Jakub Jelinek <jakub@redhat.com> + + PR target/107748 + * config/i386/avx512fp16intrin.h (_mm512_castph512_ph128, + _mm512_castph512_ph256, _mm512_castph128_ph512, + _mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local + variables and union members. + * config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128, + _mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise. + * config/i386/smmintrin.h (_mm_extract_ps): Likewise. + +2022-11-21 Christophe Lyon <christophe.lyon@arm.com> + + * genmultilib: Add sanity check. + +2022-11-21 Eric Botcazou <ebotcazou@adacore.com> + + * config/arm/arm.cc (arm_attribute_table) <cmse_nonsecure_call>: + Change decl_required field to false. + (arm_handle_cmse_nonsecure_call): Deal with a TYPE node. + +2022-11-21 Andrew Pinski <apinski@marvell.com> + + * gimplify.cc (gimplify_modify_expr): If + either *from_p or *to_p were error_operand + return early. + +2022-11-21 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386-builtins.cc (def_builtin): Handle "shared" + avx512bf16vl-avxneconvert builtins. + +2022-11-20 Jakub Jelinek <jakub@redhat.com> + + PR target/107183 + * reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument. + If >= 0 and a DEBUG_INSN would be otherwise returned, set + DEBUG_SEEN to 1 and ignore it. + (swap_rtx_condition): Add DEBUG_SEEN argument. In >= 0 + mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs + were seen and revert all changes on success in that case. + Don't try to recog_memoized DEBUG_INSNs. + (compare_for_stack_reg): Adjust swap_rtx_condition caller. + If it returns true and debug_seen is 1, call swap_rtx_condition + again with debug_seen -1. + +2022-11-20 Jeff Law <jlaw@ventanamicro.com> + + PR other/104044 + * config/mn10300/mn10300.cc (mn10300_print_operand): Remove + extraneous semicolon. + * config/nvptx/nvptx.cc (nvptx_goacc_reduction_fini): Likewise. + +2022-11-19 Andrew Pinski <apinski@marvell.com> + + PR middle-end/14840 + * tree-core.h (tree_code_type): Constexprify + by including all-tree.def. + (tree_code_length): Likewise. + * tree.cc (tree_code_type): Remove. + (tree_code_length): Remove. + +2022-11-19 Thomas Schwinge <thomas@codesourcery.com> + + * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for + '-mmainkernel'. + +2022-11-19 Jonathan Wakely <jwakely@redhat.com> + LIU Hao <lh_mouse@126.com> + + * system.h [INCLUDE_MUTEX]: Include header for std::mutex. + +2022-11-19 Jakub Jelinek <jakub@redhat.com> + + PR target/107628 + * config/i386/i386-protos.h (ix86_expand_fast_convert_bf_to_sf): + Declare. + * config/i386/i386-expand.cc (ix86_expand_fast_convert_bf_to_sf): New + function. + * config/i386/i386.md (cbranchbf4, cstorebf4): Use it. + +2022-11-19 Jeff Chapman II <jchapman@lock3software.com> + Andrew Sutton <asutton@lock3software.com> + Andrew Marmaduke <amarmaduke@lock3software.com> + Michael Lopez <mlopez@lock3software.com> + Jason Merrill <jason@redhat.com> + + * doc/invoke.texi: Document contracts flags. + +2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/bitmanip.md (*minmax): Additional pattern for + min/max against constants that are extension-invariant. + * config/riscv/iterators.md (minmax_optab): Add an iterator + that has only min and max rtl. + +2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/bitmanip.md + (*branch<X:mode>_mask_twobits_equals_singlebit): + Handle "if ((a & T) == C)" using Zbs, when T has 2 bits set and C + has one of these tow bits set. + * config/riscv/predicates.md (const_twobits_not_arith_operand): + New predicate. + +2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/bitmanip.md (*<or_optab>i<mode>_extrabit): + New pattern for binvi+binvi/xori and bseti+bseti/ori + (*andi<mode>_extrabit): New pattern for bclri+bclri/andi + * config/riscv/iterators.md (any_or): Match or and ior + * config/riscv/predicates.md (const_twobits_operand): + New predicate. + (uimm_extra_bit_operand): New predicate. + (uimm_extra_bit_or_twobits): New predicate. + (not_uimm_extra_bit_operand): New predicate. + (not_uimm_extra_bit_or_nottwobits): New predicate. + * config/riscv/riscv.h (UIMM_EXTRA_BIT_OPERAND): + Helper for the uimm_extra_bit_operand and + not_uimm_extra_bit_operand predicates. + +2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/bitmanip.md: Handle corner-cases for combine + when chaining slli(.uw)? + addw + * config/riscv/riscv-protos.h (riscv_shamt_matches_mask_p): + Define prototype. + * config/riscv/riscv.cc (riscv_shamt_matches_mask_p): + Helper for evaluating the relationship between two operands. + +2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/bitmanip.md: Add a define_split to optimize + slliw + addiw + divw into sh[123]add + divw. + +2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/predicates.md (shifted_const_arith_operand): New predicate. + (uimm_extra_bit_operand): New predicate. + * config/riscv/riscv.md (*branch<ANYI:mode>_shiftedarith_equals_zero): + New pattern. + (*branch<ANYI:mode>_shiftedmask_equals_zero): New pattern. + +2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/bitmanip.md (*bsetidisi): New pattern. + +2022-11-18 Richard Purdie <richard.purdie@linuxfoundation.org> + + * doc/invoke.texi: Document prefix-maps don't affect directives. + +2022-11-18 Andrew Pinski <apinski@marvell.com> + + PR middle-end/107705 + * function.cc (aggregate_value_p): Return 0 if + the function type was an error operand. + +2022-11-18 Andrew Pinski <apinski@marvell.com> + + PR c/106764 + PR c/106765 + PR c/107307 + * gimplify.cc (gimplify_compound_lval): Return GS_ERROR + if gimplify_expr had return GS_ERROR. + (gimplify_call_expr): Likewise. + +2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): + Use <GPI:w> for destination format. + * config/aarch64/iterators.md (w_sz): Delete. + +2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/aarch64.h (TARGET_RCPC2): Define. + * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): + Adjust output template. + (*aarch64_atomic_load<ALLX:mode>_rcpc_sex): Guard on TARGET_RCPC2. + Adjust output template. + * config/aarch64/iterators.md (w_sz): New mode attr. + +2022-11-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107647 + * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only + allow FMA generation with -ffp-contract=fast for FP types. + (complex_mul_pattern::matches): Likewise. + +2022-11-18 Jinyang He <hejinyang@loongson.cn> + + PR target/107713 + * config/loongarch/sync.md + (atomic_cas_value_exchange_7_<mode>): New define_insn. + (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of + atomic_cas_value_cmp_and_7_si. + +2022-11-17 Andrew Pinski <apinski@marvell.com> + + PR middle-end/107734 + * match.pd (perm + vector op pattern): Clear the sbitmap before + use. + +2022-11-17 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107732 + * range-op-float.cc (foperator_abs::op1_range): Early exit when + result is undefined. + +2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/bitmanip.md (*bclri<mode>_nottwobits): New pattern. + (*bclridisi_nottwobits): New pattern, handling the sign-bit. + * config/riscv/predicates.md (const_nottwobits_operand): + New predicate. + +2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/bitmanip.md: Add a splitter to generate + polarity-reversed masks from a set bit using bexti + addi. + +2022-11-17 mtsamis <manolis.tsamis@vrull.eu> + + * config/riscv/riscv.cc (struct machine_function): Add array to store + register wrapping information. + (riscv_for_each_saved_reg): Skip registers that are wrapped separetely. + (riscv_get_separate_components): New function. + (riscv_components_for_bb): Likewise. + (riscv_disqualify_components): Likewise. + (riscv_process_components): Likewise. + (riscv_emit_prologue_components): Likewise. + (riscv_emit_epilogue_components): Likewise. + (riscv_set_handled_components): Likewise. + (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS): Define. + (TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB): Likewise. + (TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS): Likewise. + (TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS): Likewise. + (TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS): Likewise. + (TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Likewise. + +2022-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): + Add mode size check to condition. + (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): Likewise. + +2022-11-17 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/68097 + * gimple-fold.cc (gimple_stmt_nonnegative_warnv_p): Call + range_of_stmt for floats. + +2022-11-17 Lili Cui <lili.cui@intel.com> + + * config/i386/x86-tune.def + (X86_TUNE_AVX256_MOVE_BY_PIECES): Add alderlake. + (X86_TUNE_AVX256_STORE_BY_PIECES): Ditto. + +2022-11-17 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/107717 + * match.pd: Ensure same SSA_NAME. + +2022-11-17 Tamar Christina <tamar.christina@arm.com> + + * match.pd: Replace GET_MODE_WIDER_MODE with + custom code. + +2022-11-17 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (range_operator_float::fold_range): Make check + for maybe_isnan more readable. + +2022-11-17 Kewen Lin <linkw@linux.ibm.com> + + * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use + tree_fits_shwi_p rather than tree_fits_uhwi_p as bias is signed. + +2022-11-17 Jia-Wei Chen <jiawei@iscas.ac.cn> + + * config/riscv/riscv.cc (riscv_expand_epilogue): + Do not emit useless add sp, sp, 0 instrutions. + +2022-11-17 Jeff Law <jlaw@ventanamicro.com> + + * config/sh/sh_treg_combine.cc: Include tm-preds.h. + (t_reg_operand): Remove bogus prototype. + (negt_reg_operand): Likewise. + +2022-11-16 Marek Polacek <polacek@redhat.com> + + PR c++/106649 + * doc/invoke.texi: Document -Winvalid-constexpr. + +2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/bitmanip.md: Add split covering + "(a & (1 << BIT_NO)) ? 0 : 1". + +2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/bitmanip.md (*bext<mode>): Add an additional + pattern that allows the 3rd argument to zero_extract to be + an Xmode register operand. + +2022-11-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107686 + * tree-ssa-forwprop.cc (optimize_vector_load): Restrict + VEC_UNPACK support to integral typed bitfield refs. + +2022-11-16 Richard Biener <rguenther@suse.de> + + PR middle-end/107679 + * tree-into-ssa.cc (maybe_register_def): Use new temporary if + we require an uninitialized value for a parameter decl. + +2022-11-16 Alexander Monakov <amonakov@ispras.ru> + + PR target/107676 + * doc/invoke.texi (-mrelax-cmpxchg-loop): Reword description. + +2022-11-16 Alexander Monakov <amonakov@ispras.ru> + + PR target/87832 + * config/i386/znver.md: (znver1_fp_op_mul): Correct cycles in + the reservation. + (znver1_fp_op_mul_load): Ditto. + (znver1_mmx_mul): Ditto. + (znver1_mmx_load): Ditto. + (znver1_ssemul_ss_ps): Ditto. + (znver1_ssemul_ss_ps_load): Ditto. + (znver1_ssemul_avx256_ps): Ditto. + (znver1_ssemul_avx256_ps_load): Ditto. + (znver1_ssemul_sd_pd): Ditto. + (znver1_ssemul_sd_pd_load): Ditto. + (znver2_ssemul_sd_pd): Ditto. + (znver2_ssemul_sd_pd_load): Ditto. + (znver1_ssemul_avx256_pd): Ditto. + (znver1_ssemul_avx256_pd_load): Ditto. + (znver1_sseimul): Ditto. + (znver1_sseimul_avx256): Ditto. + (znver1_sseimul_load): Ditto. + (znver1_sseimul_avx256_load): Ditto. + (znver1_sseimul_di): Ditto. + (znver1_sseimul_load_di): Ditto. + +2022-11-16 Alexander Monakov <amonakov@ispras.ru> + + PR target/87832 + * config/i386/znver.md (znver1_fdiv): New automaton. + (znver1-fdiv): New unit. + (znver1_fp_op_div): Correct unit and cycles in the reservation. + (znver1_fp_op_div_load): Ditto. + (znver1_fp_op_idiv_load): Ditto. + (znver2_fp_op_idiv_load): Ditto. + (znver1_ssediv_ss_ps): Ditto. + (znver1_ssediv_ss_ps_load): Ditto. + (znver1_ssediv_sd_pd): Ditto. + (znver1_ssediv_sd_pd_load): Ditto. + (znver1_ssediv_avx256_ps): Ditto. + (znver1_ssediv_avx256_ps_load): Ditto. + (znver1_ssediv_avx256_pd): Ditto. + (znver1_ssediv_avx256_pd_load): Ditto. + +2022-11-16 Tobias Burnus <tobias@codesourcery.com> + Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn-builtins.def (KERNARG_PTR): Add. + * config/gcn/gcn.cc (gcn_init_builtin_types): Change siptr_type_node, + sfptr_type_node and voidptr_type_node from FLAT to ADDR_SPACE_DEFAULT. + (gcn_expand_builtin_1): Handle GCN_BUILTIN_KERNARG_PTR. + (gcn_oacc_dim_size): Return in ADDR_SPACE_FLAT. + +2022-11-16 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (ANALYZER_OBJS): Add analyzer/checker-event.o. + +2022-11-16 Max Filippov <jcmvbkbc@gmail.com> + + PR target/107645 + * config/m68k/predicates.md (symbolic_operand): Return false + when UNSPEC is under the CONST node. + +2022-11-16 Christoph Müllner <christoph.muellner@vrull.eu> + + * doc/invoke.texi: Fix PRU/RISC-V option list formatting. + +2022-11-16 Tobias Burnus <tobias@codesourcery.com> + + * config/nvptx/mkoffload.cc (process): Recognize '$nohost$...' + besides tailing '$nohost' as being for reverse offload. + +2022-11-16 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107668 + * range-op-float.cc (float_binary_op_range_finish): Set VARYING + also when r is UNDEFINED. + +2022-11-16 Kewen Lin <linkw@linux.ibm.com> + + PR rtl-optimization/90259 + * function.cc (rest_of_handle_thread_prologue_and_epilogue): Add + parameter fun, and call function purge_all_dead_edges. + (pass_thread_prologue_and_epilogue::execute): Name unamed parameter + as fun, and use it for rest_of_handle_thread_prologue_and_epilogue. + +2022-11-15 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/riscv-builtins.cc (struct riscv_builtin_description): + add the pause machine-dependent builtin with no result and no + arguments; mark it as always present (pause is a true hint + that encodes into a fence-insn, if not supported with the new + pause semantics). + * config/riscv/riscv-ftypes.def: Add type for void -> void. + * config/riscv/riscv.md (riscv_pause): Add risc_pause and + UNSPECV_PAUSE + * doc/extend.texi: Document __builtin_riscv_pause. + * optabs.cc (maybe_gen_insn): Allow nops == 0 (void -> void). + +2022-11-15 David Faust <david.faust@oracle.com> + + * config/bpf/bpf.cc (bpf_expand_builtin): Avoid use of uninitialized + variable in error case. + +2022-11-15 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106140 + * doc/invoke.texi (Static Analyzer Options): Add + -Wanalyzer-fd-phase-mismatch and -Wanalyzer-fd-type-mismatch. Add + "socket", "bind", "listen", "accept", and "connect" to the list of + functions known to the analyzer. + +2022-11-15 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106302 + * Makefile.in (ANALYZER_OBJS): Add analyzer/analyzer-language.o. + (GTFILES): Add analyzer/analyzer-language.cc. + * doc/analyzer.texi: Document __analyzer_dump_named_constant. + +2022-11-15 Lewis Hyatt <lhyatt@gmail.com> + + * json.h (class string): Add M_LEN member to store the length of + the data. Add constructor taking an explicit length. + * json.cc (string::string): Implement the new constructor. + (string::print): Support printing strings that are not + null-terminated. Escape embdedded null bytes on output. + (test_writing_strings): Test the new null-byte-related features of + json::string. + +2022-11-15 Lewis Hyatt <lhyatt@gmail.com> + + * diagnostic.cc (diagnostic_get_location_text): Use + special_fname_builtin () rather than a hardcoded string (which was + also incorrectly left untranslated previously.) + * input.cc (special_fname_builtin): New function. + (expand_location_1): Use special_fname_builtin () rather than a + hard-coded string. + (test_builtins): Likewise. + * input.h (special_fname_builtin): Declare. + +2022-11-15 Lewis Hyatt <lhyatt@gmail.com> + + * tree-diagnostic.cc (maybe_unwind_expanded_macro_loc): Handle ad-hoc + location in return value of linemap_resolve_location(). + +2022-11-15 Jonathan Wakely <jwakely@redhat.com> + + * doc/cpp.texi (Pragmas): Use @item and @itemx for region + pragmas. + +2022-11-15 Maciej W. Rozycki <macro@embecosm.com> + + * ira-color.cc (assign_hard_reg): Remove duplicate `memset' over + `full_costs'. + +2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/aarch64/atomics.md + (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): New pattern. + (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): New pattern. + +2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com> + Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New Macro. + (TARGET_RCPC): New Macro. + * config/aarch64/atomics.md (atomic_load<mode>): Change into an expand. + (aarch64_atomic_load<mode>_rcpc): New define_insn for ldapr. + (aarch64_atomic_load<mode>): Rename of old define_insn for ldar. + * config/aarch64/iterators.md (UNSPEC_LDAP): New unspec enum value. + * doc/invoke.texi (rcpc): Ammend documentation to mention the effects + on code generation. + +2022-11-15 Hongyu Wang <hongyu.wang@intel.com> + + PR target/98167 + * match.pd: New perm + vector op patterns for int and fp vector. + +2022-11-15 Andrew Pinski <apinski@marvell.com> + + * doc/invoke.texi: Remove Score option section. + +2022-11-15 Andrew Pinski <apinski@marvell.com> + + * doc/extend.texi: Remove picoChip builtin section. + * doc/invoke.texi: Remove picoChip option section. + +2022-11-15 Andrew Pinski <apinski@marvell.com> + + * doc/extend.texi: Remove MeP documentation. + * doc/invoke.texi: Remove MeP Options documentation. + +2022-11-15 Andrew Pinski <apinski@marvell.com> + + * doc/invoke.texi: Fix opindex for mcall-aixdesc and mcall-openbsd. + +2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> + + Revert: + 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1. + (RISCV_CORE): Ditto. + * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto. + * config/riscv/riscv.cc: Add tune_info for ventana-vt1. + * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1. + +2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> + + Revert: + 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic + constants to identify supported fusion patterns. + (struct riscv_tune_param): Add fusible_op field. + (riscv_macro_fusion_p): Implement. + (riscv_fusion_enabled_p): Implement. + (riscv_macro_fusion_pair_p): Implement and recognize fusible + idioms for Ventana VT1. + (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p. + (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to + riscv_macro_fusion_pair_p. + +2022-11-14 Maciej W. Rozycki <macro@embecosm.com> + + * ira-build.cc (create_insn_allocnos): Fix documentation. + +2022-11-14 Tamar Christina <tamar.christina@arm.com> + + * match.pd: Remove returns. + +2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/bitmanip.md (orcb<mode>2): Add orc.b as an + unspec. + * config/riscv/riscv.md: Add UNSPEC_ORC_B. + +2022-11-14 Tamar Christina <tamar.christina@arm.com> + + * target.def: Fix typo. + +2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic + constants to identify supported fusion patterns. + (struct riscv_tune_param): Add fusible_op field. + (riscv_macro_fusion_p): Implement. + (riscv_fusion_enabled_p): Implement. + (riscv_macro_fusion_pair_p): Implement and recognize fusible + idioms for Ventana VT1. + (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p. + (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to + riscv_macro_fusion_pair_p. + +2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1. + (RISCV_CORE): Ditto. + * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto. + * config/riscv/riscv.cc: Add tune_info for ventana-vt1. + * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1. + +2022-11-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/aarch64-option-extensions.def (cssc): Define. + * config/aarch64/aarch64.h (AARCH64_ISA_CSSC): Define. + (TARGET_CSSC): Likewise. + * config/aarch64/aarch64.md (*aarch64_abs<mode>2_cssc_ins): New define_insn. + (abs<mode>2): Adjust for the above. + (aarch64_umax<mode>3_insn): New define_insn. + (umax<mode>3): Adjust for the above. + (*aarch64_popcount<mode>2_cssc_insn): New define_insn. + (popcount<mode>2): Adjust for the above. + (<optab><mode>3): New define_insn. + * config/aarch64/constraints.md (Usm): Define. + (Uum): Likewise. + * doc/invoke.texi (AArch64 options): Document +cssc. + * config/aarch64/iterators.md (MAXMIN_NOUMAX): New code iterator. + * config/aarch64/predicates.md (aarch64_sminmax_immediate): Define. + (aarch64_sminmax_operand): Likewise. + (aarch64_uminmax_immediate): Likewise. + (aarch64_uminmax_operand): Likewise. + +2022-11-14 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-sve2.md (@aarch64_bitmask_udiv<mode>3): New. + +2022-11-14 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-simd.md (@aarch64_bitmask_udiv<mode>3): New. + * config/aarch64/aarch64.cc (aarch64_vectorize_can_special_div_by_constant): New. + +2022-11-14 Tamar Christina <tamar.christina@arm.com> + + * expmed.h (expand_divmod): Pass tree operands down in addition to RTX. + * expmed.cc (expand_divmod): Likewise. + * explow.cc (round_push, align_dynamic_address): Likewise. + * expr.cc (force_operand, expand_expr_divmod): Likewise. + * optabs.cc (expand_doubleword_mod, expand_doubleword_divmod): + Likewise. + * target.h: Include tree-core. + * target.def (can_special_div_by_const): New. + * targhooks.cc (default_can_special_div_by_const): New. + * targhooks.h (default_can_special_div_by_const): New. + * tree-vect-generic.cc (expand_vector_operation): Use it. + * doc/tm.texi.in: Document it. + * doc/tm.texi: Regenerate. + * tree-vect-patterns.cc (vect_recog_divmod_pattern): Check for support. + * tree-vect-stmts.cc (vectorizable_operation): Likewise. + +2022-11-14 Tamar Christina <tamar.christina@arm.com> + + * generic-match-head.cc: Include langooks. + * gimple-match-head.cc: Likewise. + * match.pd: Add fneg/fadd rule. + +2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com> + + * config/arm/arm-cpus.in (cortex-x1c): Define new CPU. + * config/arm/arm-tables.opt: Regenerate. + * config/arm/arm-tune.md: Likewise. + * doc/invoke.texi: Document Cortex-X1C CPU. + +2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com> + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X3 + CPU. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/invoke.texi: Document Cortex-X3 CPU. + +2022-11-14 Andrew Pinski <apinski@marvell.com> + + * doc/invoke.texi: Fix @opindex + for m80387 option. + +2022-11-14 Andrew Pinski <apinski@marvell.com> + + * doc/invoke.texi: Remove the front - from + some @opindex. + +2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a. + * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs. + * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR): + Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two + registers and then +1/-1). + * config/aarch64/aarch64-tune.md: Regenerate. + * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement + idiom-matcher for the new fusion pair. + * doc/invoke.texi: Add ampere1a. + +2022-11-14 Richard Biener <rguenther@suse.de> + + * match.pd: Remove duplicates. + +2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/contrib.texi: Port from Sphinx. + * doc/cpp.texi: Likewise. + * doc/install.texi: Likewise. + * doc/invoke.texi: Likewise. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/cpp/character-sets.rst: New file. + * doc/cpp/conditional-syntax.rst: New file. + * doc/cpp/conditional-uses.rst: New file. + * doc/cpp/conditionals.rst: New file. + * doc/cpp/conf.py: New file. + * doc/cpp/copyright.rst: New file. + * doc/cpp/deleted-code.rst: New file. + * doc/cpp/diagnostics.rst: New file. + * doc/cpp/environment-variables.rst: New file. + * doc/cpp/gnu-free-documentation-license.rst: New file. + * doc/cpp/header-files.rst: New file. + * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file. + * doc/cpp/header-files/computed-includes.rst: New file. + * doc/cpp/header-files/include-operation.rst: New file. + * doc/cpp/header-files/include-syntax.rst: New file. + * doc/cpp/header-files/once-only-headers.rst: New file. + * doc/cpp/header-files/search-path.rst: New file. + * doc/cpp/header-files/system-headers.rst: New file. + * doc/cpp/header-files/wrapper-headers.rst: New file. + * doc/cpp/implementation-defined-behavior.rst: New file. + * doc/cpp/implementation-details.rst: New file. + * doc/cpp/implementation-limits.rst: New file. + * doc/cpp/index.rst: New file. + * doc/cpp/indices-and-tables.rst: New file. + * doc/cpp/initial-processing.rst: New file. + * doc/cpp/invocation.rst: New file. + * doc/cpp/line-control.rst: New file. + * doc/cpp/macros.rst: New file. + * doc/cpp/macros/concatenation.rst: New file. + * doc/cpp/macros/directives-within-macro-arguments.rst: New file. + * doc/cpp/macros/function-like-macros.rst: New file. + * doc/cpp/macros/macro-arguments.rst: New file. + * doc/cpp/macros/macro-pitfalls.rst: New file. + * doc/cpp/macros/object-like-macros.rst: New file. + * doc/cpp/macros/predefined-macros.rst: New file. + * doc/cpp/macros/stringizing.rst: New file. + * doc/cpp/macros/undefining-and-redefining-macros.rst: New file. + * doc/cpp/macros/variadic-macros.rst: New file. + * doc/cpp/obsolete-features.rst: New file. + * doc/cpp/other-directives.rst: New file. + * doc/cpp/overview.rst: New file. + * doc/cpp/pragmas.rst: New file. + * doc/cpp/preprocessor-output.rst: New file. + * doc/cpp/the-preprocessing-language.rst: New file. + * doc/cpp/tokenization.rst: New file. + * doc/cpp/traditional-lexical-analysis.rst: New file. + * doc/cpp/traditional-macros.rst: New file. + * doc/cpp/traditional-miscellany.rst: New file. + * doc/cpp/traditional-mode.rst: New file. + * doc/cpp/traditional-warnings.rst: New file. + * doc/cppinternals/conf.py: New file. + * doc/cppinternals/copyright.rst: New file. + * doc/cppinternals/cppinternals.rst: New file. + * doc/cppinternals/cpplib.rst: New file. + * doc/cppinternals/files.rst: New file. + * doc/cppinternals/index.rst: New file. + * doc/cppinternals/indices-and-tables.rst: New file. + * doc/cppinternals/internal-representation-of-macros.rst: New file. + * doc/cppinternals/just-which-line-number-anyway.rst: New file. + * doc/cppinternals/lexing-a-line.rst: New file. + * doc/cppinternals/lexing-a-token.rst: New file. + * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file. + * doc/cppinternals/macro-expansion-overview.rst: New file. + * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file. + * doc/cppinternals/multiple-include-optimization.rst: New file. + * doc/cppinternals/overview.rst: New file. + * doc/cppinternals/representation-of-line-numbers.rst: New file. + * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file. + * doc/gcc/binary-compatibility.rst: New file. + * doc/gcc/c++-implementation-defined-behavior.rst: New file. + * doc/gcc/c-implementation-defined-behavior.rst: New file. + * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file. + * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file. + * doc/gcc/c-implementation-defined-behavior/characters.rst: New file. + * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file. + * doc/gcc/c-implementation-defined-behavior/environment.rst: New file. + * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file. + * doc/gcc/c-implementation-defined-behavior/hints.rst: New file. + * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file. + * doc/gcc/c-implementation-defined-behavior/integers.rst: New file. + * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file. + * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file. + * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file. + * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file. + * doc/gcc/c-implementation-defined-behavior/statements.rst: New file. + * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst: + New file. + * doc/gcc/c-implementation-defined-behavior/translation.rst: New file. + * doc/gcc/conditionally-supported-behavior.rst: New file. + * doc/gcc/conf.py: New file. + * doc/gcc/contributing-to-gcc-development.rst: New file. + * doc/gcc/contributors-to-gcc.rst: New file. + * doc/gcc/copyright.rst: New file. + * doc/gcc/exception-handling.rst: New file. + * doc/gcc/extensions-to-the-c++-language.rst: New file. + * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file. + * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file. + * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst: + New file. + * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file. + * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst: + New file. + * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file. + * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file. + * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file. + * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file. + * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst: + New file. + * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file. + * doc/gcc/extensions-to-the-c-language-family.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst: + New file. + * doc/gcc/funding.rst: New file. + * doc/gcc/gcc-command-options.rst: New file. + * doc/gcc/gcc-command-options/c++-modules.rst: New file. + * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file. + * doc/gcc/gcc-command-options/description.rst: New file. + * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file. + * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst: + New file. + * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst: + New file. + * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst: + New file. + * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file. + * doc/gcc/gcc-command-options/option-summary.rst: New file. + * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file. + * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file. + * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst: + New file. + * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file. + * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file. + * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file. + * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file. + * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file. + * doc/gcc/gcc-command-options/options-for-linking.rst: New file. + * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file. + * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file. + * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: + New file. + * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file. + * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file. + * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file. + * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst: + New file. + * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file. + * doc/gcc/gcc.rst: New file. + * doc/gcc/gcov-dump.rst: New file. + * doc/gcc/gcov-tool.rst: New file. + * doc/gcc/gcov.rst: New file. + * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file. + * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file. + * doc/gcc/gcov/introduction-to-gcov.rst: New file. + * doc/gcc/gcov/invoking-gcov.rst: New file. + * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file. + * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file. + * doc/gcc/general-public-license-3.rst: New file. + * doc/gcc/gnu-free-documentation-license.rst: New file. + * doc/gcc/gnu-objective-c-features.rst: New file. + * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file. + * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file. + * doc/gcc/gnu-objective-c-features/exceptions.rst: New file. + * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file. + * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file. + * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file. + * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file. + * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file. + * doc/gcc/gnu-objective-c-features/synchronization.rst: New file. + * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file. + * doc/gcc/gnu.rst: New file. + * doc/gcc/have-you-found-a-bug.rst: New file. + * doc/gcc/how-and-where-to-report-bugs.rst: New file. + * doc/gcc/how-to-get-help-with-gcc.rst: New file. + * doc/gcc/index.rst: New file. + * doc/gcc/indices-and-tables.rst: New file. + * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file. + * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file. + * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst: + New file. + * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst: + New file. + * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst: + New file. + * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file. + * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file. + * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file. + * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file. + * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst: + New file. + * doc/gcc/language-standards-supported-by-gcc.rst: New file. + * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file. + * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file. + * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file. + * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file. + * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst: + New file. + * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file. + * doc/gcc/lto-dump.rst: New file. + * doc/gcc/programming-languages-supported-by-gcc.rst: New file. + * doc/gcc/reporting-bugs.rst: New file. + * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst: + New file. + * doc/gccint/analysis-and-representation-of-loops.rst: New file. + * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file. + * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file. + * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file. + * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file. + * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file. + * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file. + * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst: + New file. + * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file. + * doc/gccint/analyzer-internals.rst: New file. + * doc/gccint/collect2.rst: New file. + * doc/gccint/conf.py: New file. + * doc/gccint/contributing-to-gcc-development.rst: New file. + * doc/gccint/contributors-to-gcc.rst: New file. + * doc/gccint/control-flow-graph.rst: New file. + * doc/gccint/control-flow-graph/basic-blocks.rst: New file. + * doc/gccint/control-flow-graph/edges.rst: New file. + * doc/gccint/control-flow-graph/liveness-information.rst: New file. + * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file. + * doc/gccint/control-flow-graph/profile-information.rst: New file. + * doc/gccint/copyright.rst: New file. + * doc/gccint/debugging-the-analyzer.rst: New file. + * doc/gccint/funding.rst: New file. + * doc/gccint/gcc-and-portability.rst: New file. + * doc/gccint/general-public-license-3.rst: New file. + * doc/gccint/generic.rst: New file. + * doc/gccint/generic/attributes-in-trees.rst: New file. + * doc/gccint/generic/c-and-c++-trees.rst: New file. + * doc/gccint/generic/declarations.rst: New file. + * doc/gccint/generic/deficiencies.rst: New file. + * doc/gccint/generic/expressions.rst: New file. + * doc/gccint/generic/functions.rst: New file. + * doc/gccint/generic/language-dependent-trees.rst: New file. + * doc/gccint/generic/overview.rst: New file. + * doc/gccint/generic/statements.rst: New file. + * doc/gccint/generic/types.rst: New file. + * doc/gccint/gimple-api.rst: New file. + * doc/gccint/gimple.rst: New file. + * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file. + * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file. + * doc/gccint/gimple/exception-handling.rst: New file. + * doc/gccint/gimple/gimple-instruction-set.rst: New file. + * doc/gccint/gimple/gimple-sequences.rst: New file. + * doc/gccint/gimple/manipulating-gimple-statements.rst: New file. + * doc/gccint/gimple/operands.rst: New file. + * doc/gccint/gimple/sequence-iterators.rst: New file. + * doc/gccint/gimple/statement-and-operand-traversals.rst: New file. + * doc/gccint/gimple/temporaries.rst: New file. + * doc/gccint/gimple/tuple-representation.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file. + * doc/gccint/gnu-free-documentation-license.rst: New file. + * doc/gccint/guidelines-for-diagnostics.rst: New file. + * doc/gccint/guidelines-for-options.rst: New file. + * doc/gccint/host-common.rst: New file. + * doc/gccint/host-configuration.rst: New file. + * doc/gccint/host-filesystem.rst: New file. + * doc/gccint/host-makefile-fragments.rst: New file. + * doc/gccint/host-misc.rst: New file. + * doc/gccint/index.rst: New file. + * doc/gccint/indices-and-tables.rst: New file. + * doc/gccint/interfacing-to-gcc-output.rst: New file. + * doc/gccint/introduction.rst: New file. + * doc/gccint/language-front-ends-in-gcc.rst: New file. + * doc/gccint/link-time-optimization.rst: New file. + * doc/gccint/link-time-optimization/design-overview.rst: New file. + * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file. + * doc/gccint/link-time-optimization/lto-file-sections.rst: New file. + * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file. + * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst: + New file. + * doc/gccint/machine-descriptions.rst: New file. + * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file. + * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file. + * doc/gccint/machine-descriptions/conditional-execution.rst: New file. + * doc/gccint/machine-descriptions/constant-definitions.rst: New file. + * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file. + * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file. + * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file. + * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file. + * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file. + * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file. + * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file. + * doc/gccint/machine-descriptions/instruction-attributes.rst: New file. + * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file. + * doc/gccint/machine-descriptions/iterators.rst: New file. + * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file. + * doc/gccint/machine-descriptions/operand-constraints.rst: New file. + * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file. + * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst: + New file. + * doc/gccint/machine-descriptions/predicates.rst: New file. + * doc/gccint/machine-descriptions/rtl-template.rst: New file. + * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file. + * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file. + * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file. + * doc/gccint/makefile-fragments.rst: New file. + * doc/gccint/match-and-simplify.rst: New file. + * doc/gccint/memory-management-and-type-information.rst: New file. + * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst: + New file. + * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst: + New file. + * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst: + New file. + * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file. + * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst: + New file. + * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file. + * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst: + New file. + * doc/gccint/option-file-format.rst: New file. + * doc/gccint/option-properties.rst: New file. + * doc/gccint/option-specification-files.rst: New file. + * doc/gccint/passes-and-files-of-the-compiler.rst: New file. + * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file. + * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst: + New file. + * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file. + * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file. + * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file. + * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file. + * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file. + * doc/gccint/plugins.rst: New file. + * doc/gccint/plugins/building-gcc-plugins.rst: New file. + * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file. + * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file. + * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file. + * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file. + * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file. + * doc/gccint/plugins/loading-plugins.rst: New file. + * doc/gccint/plugins/plugin-api.rst: New file. + * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file. + * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file. + * doc/gccint/rtl-representation.rst: New file. + * doc/gccint/rtl-representation/access-to-operands.rst: New file. + * doc/gccint/rtl-representation/access-to-special-operands.rst: New file. + * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file. + * doc/gccint/rtl-representation/bit-fields.rst: New file. + * doc/gccint/rtl-representation/comparison-operations.rst: New file. + * doc/gccint/rtl-representation/constant-expression-types.rst: New file. + * doc/gccint/rtl-representation/conversions.rst: New file. + * doc/gccint/rtl-representation/declarations.rst: New file. + * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file. + * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file. + * doc/gccint/rtl-representation/insns.rst: New file. + * doc/gccint/rtl-representation/machine-modes.rst: New file. + * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file. + * doc/gccint/rtl-representation/reading-rtl.rst: New file. + * doc/gccint/rtl-representation/registers-and-memory.rst: New file. + * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file. + * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file. + * doc/gccint/rtl-representation/rtl-object-types.rst: New file. + * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file. + * doc/gccint/rtl-representation/side-effect-expressions.rst: New file. + * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file. + * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file. + * doc/gccint/rtl-representation/vector-operations.rst: New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst: + New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst: + New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst: + New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst: + New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst: + New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file. + * doc/gccint/source-tree-structure-and-build-system.rst: New file. + * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst: + New file. + * doc/gccint/standard-header-file-directories.rst: New file. + * doc/gccint/static-analyzer.rst: New file. + * doc/gccint/target-macros.rst: New file. + * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file. + * doc/gccint/target-macros/addressing-modes.rst: New file. + * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file. + * doc/gccint/target-macros/anchored-addresses.rst: New file. + * doc/gccint/target-macros/c++-abi-parameters.rst: New file. + * doc/gccint/target-macros/condition-code-status.rst: New file. + * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file. + * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file. + * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file. + * doc/gccint/target-macros/d-abi-parameters.rst: New file. + * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file. + * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst: + New file. + * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file. + * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: + New file. + * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file. + * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file. + * doc/gccint/target-macros/emulating-tls.rst: New file. + * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file. + * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file. + * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file. + * doc/gccint/target-macros/miscellaneous-parameters.rst: New file. + * doc/gccint/target-macros/mode-switching-instructions.rst: New file. + * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst: + New file. + * doc/gccint/target-macros/position-independent-code.rst: New file. + * doc/gccint/target-macros/register-classes.rst: New file. + * doc/gccint/target-macros/register-usage.rst: New file. + * doc/gccint/target-macros/run-time-target-specification.rst: New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst: + New file. + * doc/gccint/target-macros/storage-layout.rst: New file. + * doc/gccint/target-macros/support-for-nested-functions.rst: New file. + * doc/gccint/target-macros/the-global-targetm-variable.rst: New file. + * doc/gccint/target-makefile-fragments.rst: New file. + * doc/gccint/testsuites.rst: New test. + * doc/gccint/testsuites/ada-language-testsuites.rst: New test. + * doc/gccint/testsuites/c-language-testsuites.rst: New test. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst: + New test. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst: + New test. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst: + New test. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst: + New test. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst: + New test. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst: + New test. + * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test. + * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test. + * doc/gccint/testsuites/support-for-testing-gcov.rst: New test. + * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test. + * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test. + * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test. + * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test. + * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test. + * doc/gccint/the-gcc-low-level-runtime-library.rst: New file. + * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst: + New file. + * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst: + New file. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst: + New file. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst: + New file. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst: + New file. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst: + New file. + * doc/gccint/the-language.rst: New file. + * doc/gccint/user-experience-guidelines.rst: New file. + * doc/install/binaries.rst: New file. + * doc/install/building.rst: New file. + * doc/install/building/building-a-cross-compiler.rst: New file. + * doc/install/building/building-a-native-compiler.rst: New file. + * doc/install/building/building-in-parallel.rst: New file. + * doc/install/building/building-the-ada-compiler.rst: New file. + * doc/install/building/building-the-d-compiler.rst: New file. + * doc/install/building/building-with-profile-feedback.rst: New file. + * doc/install/conf.py: New file. + * doc/install/configuration.rst: New file. + * doc/install/copyright.rst: New file. + * doc/install/downloading-gcc.rst: New file. + * doc/install/final-installation.rst: New file. + * doc/install/gnu-free-documentation-license.rst: New file. + * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file. + * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test. + * doc/install/how-to-interpret-test-results.rst: New file. + * doc/install/index.rst: New file. + * doc/install/indices-and-tables.rst: New file. + * doc/install/installing-gcc.rst: New file. + * doc/install/passing-options-and-running-multiple-testsuites.rst: New test. + * doc/install/prerequisites.rst: New file. + * doc/install/submitting-test-results.rst: New file. + * doc/install/testing.rst: New file. + +2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: Revert. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * common/common-target.def: Port to RST. + * target.def: Port to RST. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file. + * doc/gccint/target-macros/addressing-modes.rst: Likewise. + * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise. + * doc/gccint/target-macros/anchored-addresses.rst: Likewise. + * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise. + * doc/gccint/target-macros/condition-code-status.rst: Likewise. + * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise. + * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise. + * doc/gccint/target-macros/d-abi-parameters.rst: Likewise. + * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise. + * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: + Likewise. + * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: + Likewise. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: + Likewise. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: + Likewise. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: + Likewise. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst: + Likewise. + * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: + Likewise. + * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise. + * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise. + * doc/gccint/target-macros/emulating-tls.rst: Likewise. + * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise. + * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise. + * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise. + * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise. + * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise. + * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst: + Likewise. + * doc/gccint/target-macros/register-classes.rst: Likewise. + * doc/gccint/target-macros/register-usage.rst: Likewise. + * doc/gccint/target-macros/run-time-target-specification.rst: Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst: + Likewise. + * doc/gccint/target-macros/storage-layout.rst: Likewise. + * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * Makefile.in: Support Sphinx based documentation. + * configure: Regenerate. + * configure.ac: Support Sphinx based documentation. + * genhooks.cc (struct s_hook): Emit tm.rst.in file. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gccint/target-macros/tm.rst.in: New file. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/analyzer.texi: Removed. + * doc/avr-mmcu.texi: Removed. + * doc/bugreport.texi: Removed. + * doc/cfg.texi: Removed. + * doc/collect2.texi: Removed. + * doc/compat.texi: Removed. + * doc/configfiles.texi: Removed. + * doc/configterms.texi: Removed. + * doc/contrib.texi: Removed. + * doc/contribute.texi: Removed. + * doc/cpp.texi: Removed. + * doc/cppdiropts.texi: Removed. + * doc/cppenv.texi: Removed. + * doc/cppinternals.texi: Removed. + * doc/cppopts.texi: Removed. + * doc/cppwarnopts.texi: Removed. + * doc/extend.texi: Removed. + * doc/fragments.texi: Removed. + * doc/frontends.texi: Removed. + * doc/gcc.texi: Removed. + * doc/gccint.texi: Removed. + * doc/gcov-dump.texi: Removed. + * doc/gcov-tool.texi: Removed. + * doc/gcov.texi: Removed. + * doc/generic.texi: Removed. + * doc/gimple.texi: Removed. + * doc/gnu.texi: Removed. + * doc/gty.texi: Removed. + * doc/headerdirs.texi: Removed. + * doc/hostconfig.texi: Removed. + * doc/implement-c.texi: Removed. + * doc/implement-cxx.texi: Removed. + * doc/include/fdl.texi: Removed. + * doc/include/funding.texi: Removed. + * doc/include/gcc-common.texi: Removed. + * doc/include/gpl_v3.texi: Removed. + * doc/install.texi: Removed. + * doc/interface.texi: Removed. + * doc/invoke.texi: Removed. + * doc/languages.texi: Removed. + * doc/libgcc.texi: Removed. + * doc/loop.texi: Removed. + * doc/lto-dump.texi: Removed. + * doc/lto.texi: Removed. + * doc/makefile.texi: Removed. + * doc/match-and-simplify.texi: Removed. + * doc/md.texi: Removed. + * doc/objc.texi: Removed. + * doc/optinfo.texi: Removed. + * doc/options.texi: Removed. + * doc/passes.texi: Removed. + * doc/plugins.texi: Removed. + * doc/poly-int.texi: Removed. + * doc/portability.texi: Removed. + * doc/rtl.texi: Removed. + * doc/service.texi: Removed. + * doc/sourcebuild.texi: Removed. + * doc/standards.texi: Removed. + * doc/tm.texi: Removed. + * doc/tree-ssa.texi: Removed. + * doc/trouble.texi: Removed. + * doc/ux.texi: Removed. + * doc/tm.texi.in: Removed. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + + * target.def: Use proper lexers for target macros. + * doc/gccint/target-macros/tm.rst.in: Re-generate. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + + * Makefile.in: Support --with-sphinx-build. + * configure.ac: + * configure: Regenerate. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: + Fix cross manual refs. + * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: + Likewise. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: + Do not include tm.rst.in. + * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: + Likewise. + * doc/gccint/target-macros/run-time-target-specification.rst: + Likewise. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: + Port to RST. + * doc/gccint/target-macros/storage-layout.rst: Likewise. + * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master. + * doc/gcc/gcc-command-options/option-summary.rst: Likewise. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + + * Makefile.in: Support installation if sphinx-build is missing. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + + * Makefile.in: Add vpath default for .rst files. + * config/avr/avr-devices.cc: For port RST. + * config/avr/avr-mcus.def: Update path. + * config/avr/gen-avr-mmcu-texi.cc: Moved to... + * config/avr/gen-avr-mmcu-rst.cc: ...here. + * config/avr/t-avr: Update to rst. + * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + + * opts.cc (get_option_html_page): Port to sphinx URLs. + (get_option_url): Likewise. + (test_get_option_html_page): Likewise. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/cpp/character-sets.rst: + Add trailing newline. + * doc/cpp/conditional-syntax.rst: + Add trailing newline. + * doc/cpp/conditional-uses.rst: + Add trailing newline. + * doc/cpp/conditionals.rst: + Add trailing newline. + * doc/cpp/copyright.rst: + Add trailing newline. + * doc/cpp/deleted-code.rst: + Add trailing newline. + * doc/cpp/diagnostics.rst: + Add trailing newline. + * doc/cpp/environment-variables.rst: + Add trailing newline. + * doc/cpp/gnu-free-documentation-license.rst: + Add trailing newline. + * doc/cpp/header-files.rst: + Add trailing newline. + * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: + Add trailing newline. + * doc/cpp/header-files/computed-includes.rst: + Add trailing newline. + * doc/cpp/header-files/include-operation.rst: + Add trailing newline. + * doc/cpp/header-files/include-syntax.rst: + Add trailing newline. + * doc/cpp/header-files/once-only-headers.rst: + Add trailing newline. + * doc/cpp/header-files/search-path.rst: + Add trailing newline. + * doc/cpp/header-files/system-headers.rst: + Add trailing newline. + * doc/cpp/header-files/wrapper-headers.rst: + Add trailing newline. + * doc/cpp/implementation-defined-behavior.rst: + Add trailing newline. + * doc/cpp/implementation-details.rst: + Add trailing newline. + * doc/cpp/implementation-limits.rst: + Add trailing newline. + * doc/cpp/index.rst: + Add trailing newline. + * doc/cpp/indices-and-tables.rst: + Add trailing newline. + * doc/cpp/initial-processing.rst: + Add trailing newline. + * doc/cpp/invocation.rst: + Add trailing newline. + * doc/cpp/line-control.rst: + Add trailing newline. + * doc/cpp/macros.rst: + Add trailing newline. + * doc/cpp/macros/concatenation.rst: + Add trailing newline. + * doc/cpp/macros/directives-within-macro-arguments.rst: + Add trailing newline. + * doc/cpp/macros/function-like-macros.rst: + Add trailing newline. + * doc/cpp/macros/macro-arguments.rst: + Add trailing newline. + * doc/cpp/macros/macro-pitfalls.rst: + Add trailing newline. + * doc/cpp/macros/object-like-macros.rst: + Add trailing newline. + * doc/cpp/macros/predefined-macros.rst: + Add trailing newline. + * doc/cpp/macros/stringizing.rst: + Add trailing newline. + * doc/cpp/macros/undefining-and-redefining-macros.rst: + Add trailing newline. + * doc/cpp/macros/variadic-macros.rst: + Add trailing newline. + * doc/cpp/obsolete-features.rst: + Add trailing newline. + * doc/cpp/other-directives.rst: + Add trailing newline. + * doc/cpp/overview.rst: + Add trailing newline. + * doc/cpp/pragmas.rst: + Add trailing newline. + * doc/cpp/preprocessor-output.rst: + Add trailing newline. + * doc/cpp/the-preprocessing-language.rst: + Add trailing newline. + * doc/cpp/tokenization.rst: + Add trailing newline. + * doc/cpp/traditional-lexical-analysis.rst: + Add trailing newline. + * doc/cpp/traditional-macros.rst: + Add trailing newline. + * doc/cpp/traditional-miscellany.rst: + Add trailing newline. + * doc/cpp/traditional-mode.rst: + Add trailing newline. + * doc/cpp/traditional-warnings.rst: + Add trailing newline. + * doc/cppinternals/copyright.rst: + Add trailing newline. + * doc/cppinternals/cppinternals.rst: + Add trailing newline. + * doc/cppinternals/cpplib.rst: + Add trailing newline. + * doc/cppinternals/files.rst: + Add trailing newline. + * doc/cppinternals/index.rst: + Add trailing newline. + * doc/cppinternals/indices-and-tables.rst: + Add trailing newline. + * doc/cppinternals/internal-representation-of-macros.rst: + Add trailing newline. + * doc/cppinternals/just-which-line-number-anyway.rst: + Add trailing newline. + * doc/cppinternals/lexing-a-line.rst: + Add trailing newline. + * doc/cppinternals/lexing-a-token.rst: + Add trailing newline. + * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: + Add trailing newline. + * doc/cppinternals/macro-expansion-overview.rst: + Add trailing newline. + * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: + Add trailing newline. + * doc/cppinternals/multiple-include-optimization.rst: + Add trailing newline. + * doc/cppinternals/overview.rst: + Add trailing newline. + * doc/cppinternals/representation-of-line-numbers.rst: + Add trailing newline. + * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: + Add trailing newline. + * doc/gcc/binary-compatibility.rst: + Add trailing newline. + * doc/gcc/c++-implementation-defined-behavior.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/architecture.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/characters.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/declarators.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/environment.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/floating-point.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/hints.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/identifiers.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/integers.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/library-functions.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/statements.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/translation.rst: + Add trailing newline. + * doc/gcc/conditionally-supported-behavior.rst: + Add trailing newline. + * doc/gcc/contributing-to-gcc-development.rst: + Add trailing newline. + * doc/gcc/contributors-to-gcc.rst: + Add trailing newline. + * doc/gcc/copyright.rst: + Add trailing newline. + * doc/gcc/exception-handling.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/type-traits.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst: + Add trailing newline. + * doc/gcc/funding.rst: + Add trailing newline. + * doc/gcc/gcc-command-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/compiling-c++-programs.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/description.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/gcc-developer-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-for-directory-search.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-for-linking.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-that-control-optimization.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/program-instrumentation-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/using-precompiled-headers.rst: + Add trailing newline. + * doc/gcc/gcc.rst: + Add trailing newline. + * doc/gcc/gcov-dump.rst: + Add trailing newline. + * doc/gcc/gcov-tool.rst: + Add trailing newline. + * doc/gcc/gcov.rst: + Add trailing newline. + * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: + Add trailing newline. + * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: + Add trailing newline. + * doc/gcc/gcov/introduction-to-gcov.rst: + Add trailing newline. + * doc/gcc/gcov/invoking-gcov.rst: + Add trailing newline. + * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: + Add trailing newline. + * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: + Add trailing newline. + * doc/gcc/general-public-license-3.rst: + Add trailing newline. + * doc/gcc/gnu-free-documentation-license.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/exceptions.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/garbage-collection.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/synchronization.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/type-encoding.rst: + Add trailing newline. + * doc/gcc/gnu.rst: + Add trailing newline. + * doc/gcc/have-you-found-a-bug.rst: + Add trailing newline. + * doc/gcc/how-and-where-to-report-bugs.rst: + Add trailing newline. + * doc/gcc/how-to-get-help-with-gcc.rst: + Add trailing newline. + * doc/gcc/index.rst: + Add trailing newline. + * doc/gcc/indices-and-tables.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst: + Add trailing newline. + * doc/gcc/language-standards-supported-by-gcc.rst: + Add trailing newline. + * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: + Add trailing newline. + * doc/gcc/language-standards-supported-by-gcc/c-language.rst: + Add trailing newline. + * doc/gcc/language-standards-supported-by-gcc/d-language.rst: + Add trailing newline. + * doc/gcc/language-standards-supported-by-gcc/go-language.rst: + Add trailing newline. + * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst: + Add trailing newline. + * doc/gcc/lto-dump.rst: + Add trailing newline. + * doc/gcc/programming-languages-supported-by-gcc.rst: + Add trailing newline. + * doc/gcc/reporting-bugs.rst: + Add trailing newline. + * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: + Add trailing newline. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: + Add trailing newline. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: + Add trailing newline. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: + Add trailing newline. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: + Add trailing newline. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: + Add trailing newline. + * doc/gccint/analyzer-internals.rst: + Add trailing newline. + * doc/gccint/collect2.rst: + Add trailing newline. + * doc/gccint/contributing-to-gcc-development.rst: + Add trailing newline. + * doc/gccint/contributors-to-gcc.rst: + Add trailing newline. + * doc/gccint/control-flow-graph.rst: + Add trailing newline. + * doc/gccint/control-flow-graph/basic-blocks.rst: + Add trailing newline. + * doc/gccint/control-flow-graph/edges.rst: + Add trailing newline. + * doc/gccint/control-flow-graph/liveness-information.rst: + Add trailing newline. + * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: + Add trailing newline. + * doc/gccint/control-flow-graph/profile-information.rst: + Add trailing newline. + * doc/gccint/copyright.rst: + Add trailing newline. + * doc/gccint/debugging-the-analyzer.rst: + Add trailing newline. + * doc/gccint/funding.rst: + Add trailing newline. + * doc/gccint/gcc-and-portability.rst: + Add trailing newline. + * doc/gccint/general-public-license-3.rst: + Add trailing newline. + * doc/gccint/generic.rst: + Add trailing newline. + * doc/gccint/generic/attributes-in-trees.rst: + Add trailing newline. + * doc/gccint/generic/c-and-c++-trees.rst: + Add trailing newline. + * doc/gccint/generic/declarations.rst: + Add trailing newline. + * doc/gccint/generic/deficiencies.rst: + Add trailing newline. + * doc/gccint/generic/expressions.rst: + Add trailing newline. + * doc/gccint/generic/functions.rst: + Add trailing newline. + * doc/gccint/generic/language-dependent-trees.rst: + Add trailing newline. + * doc/gccint/generic/overview.rst: + Add trailing newline. + * doc/gccint/generic/statements.rst: + Add trailing newline. + * doc/gccint/generic/types.rst: + Add trailing newline. + * doc/gccint/gimple-api.rst: + Add trailing newline. + * doc/gccint/gimple.rst: + Add trailing newline. + * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: + Add trailing newline. + * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: + Add trailing newline. + * doc/gccint/gimple/exception-handling.rst: + Add trailing newline. + * doc/gccint/gimple/gimple-instruction-set.rst: + Add trailing newline. + * doc/gccint/gimple/gimple-sequences.rst: + Add trailing newline. + * doc/gccint/gimple/manipulating-gimple-statements.rst: + Add trailing newline. + * doc/gccint/gimple/operands.rst: + Add trailing newline. + * doc/gccint/gimple/sequence-iterators.rst: + Add trailing newline. + * doc/gccint/gimple/statement-and-operand-traversals.rst: + Add trailing newline. + * doc/gccint/gimple/temporaries.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-representation.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: + Add trailing newline. + * doc/gccint/gnu-free-documentation-license.rst: + Add trailing newline. + * doc/gccint/guidelines-for-diagnostics.rst: + Add trailing newline. + * doc/gccint/guidelines-for-options.rst: + Add trailing newline. + * doc/gccint/host-common.rst: + Add trailing newline. + * doc/gccint/host-configuration.rst: + Add trailing newline. + * doc/gccint/host-filesystem.rst: + Add trailing newline. + * doc/gccint/host-makefile-fragments.rst: + Add trailing newline. + * doc/gccint/host-misc.rst: + Add trailing newline. + * doc/gccint/index.rst: + Add trailing newline. + * doc/gccint/indices-and-tables.rst: + Add trailing newline. + * doc/gccint/interfacing-to-gcc-output.rst: + Add trailing newline. + * doc/gccint/introduction.rst: + Add trailing newline. + * doc/gccint/language-front-ends-in-gcc.rst: + Add trailing newline. + * doc/gccint/link-time-optimization.rst: + Add trailing newline. + * doc/gccint/link-time-optimization/design-overview.rst: + Add trailing newline. + * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: + Add trailing newline. + * doc/gccint/link-time-optimization/lto-file-sections.rst: + Add trailing newline. + * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: + Add trailing newline. + * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst: + Add trailing newline. + * doc/gccint/machine-descriptions.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/conditional-execution.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/constant-definitions.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/example-of-defineinsn.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/instruction-attributes.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/iterators.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/operand-constraints.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/predicates.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/rtl-template.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: + Add trailing newline. + * doc/gccint/makefile-fragments.rst: + Add trailing newline. + * doc/gccint/match-and-simplify.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst: + Add trailing newline. + * doc/gccint/option-file-format.rst: + Add trailing newline. + * doc/gccint/option-properties.rst: + Add trailing newline. + * doc/gccint/option-specification-files.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: + Add trailing newline. + * doc/gccint/plugins.rst: + Add trailing newline. + * doc/gccint/plugins/building-gcc-plugins.rst: + Add trailing newline. + * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: + Add trailing newline. + * doc/gccint/plugins/giving-information-about-a-plugin.rst: + Add trailing newline. + * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: + Add trailing newline. + * doc/gccint/plugins/interacting-with-the-pass-manager.rst: + Add trailing newline. + * doc/gccint/plugins/keeping-track-of-available-passes.rst: + Add trailing newline. + * doc/gccint/plugins/loading-plugins.rst: + Add trailing newline. + * doc/gccint/plugins/plugin-api.rst: + Add trailing newline. + * doc/gccint/plugins/recording-information-about-pass-execution.rst: + Add trailing newline. + * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: + Add trailing newline. + * doc/gccint/rtl-representation.rst: + Add trailing newline. + * doc/gccint/rtl-representation/access-to-operands.rst: + Add trailing newline. + * doc/gccint/rtl-representation/access-to-special-operands.rst: + Add trailing newline. + * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: + Add trailing newline. + * doc/gccint/rtl-representation/bit-fields.rst: + Add trailing newline. + * doc/gccint/rtl-representation/comparison-operations.rst: + Add trailing newline. + * doc/gccint/rtl-representation/constant-expression-types.rst: + Add trailing newline. + * doc/gccint/rtl-representation/conversions.rst: + Add trailing newline. + * doc/gccint/rtl-representation/declarations.rst: + Add trailing newline. + * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: + Add trailing newline. + * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: + Add trailing newline. + * doc/gccint/rtl-representation/insns.rst: + Add trailing newline. + * doc/gccint/rtl-representation/machine-modes.rst: + Add trailing newline. + * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: + Add trailing newline. + * doc/gccint/rtl-representation/reading-rtl.rst: + Add trailing newline. + * doc/gccint/rtl-representation/registers-and-memory.rst: + Add trailing newline. + * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: + Add trailing newline. + * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: + Add trailing newline. + * doc/gccint/rtl-representation/rtl-object-types.rst: + Add trailing newline. + * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: + Add trailing newline. + * doc/gccint/rtl-representation/side-effect-expressions.rst: + Add trailing newline. + * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: + Add trailing newline. + * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: + Add trailing newline. + * doc/gccint/rtl-representation/vector-operations.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst: + Add trailing newline. + * doc/gccint/standard-header-file-directories.rst: + Add trailing newline. + * doc/gccint/static-analyzer.rst: + Add trailing newline. + * doc/gccint/target-macros.rst: + Add trailing newline. + * doc/gccint/target-macros/controlling-debugging-information-format.rst: + Add trailing newline. + * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: + Add trailing newline. + * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst: + Add trailing newline. + * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: + Add trailing newline. + * doc/gccint/target-macros/layout-of-source-language-data-types.rst: + Add trailing newline. + * doc/gccint/target-macros/position-independent-code.rst: + Add trailing newline. + * doc/gccint/target-macros/register-usage.rst: + Add trailing newline. + * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: + Add trailing newline. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: + Add trailing newline. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst: + Add trailing newline. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst: + Add trailing newline. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: + Add trailing newline. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: + Add trailing newline. + * doc/gccint/target-macros/support-for-nested-functions.rst: + Add trailing newline. + * doc/gccint/target-macros/the-global-targetm-variable.rst: + Add trailing newline. + * doc/gccint/target-makefile-fragments.rst: + Add trailing newline. + * doc/gccint/testsuites.rst: + Add trailing newline. + * doc/gccint/testsuites/ada-language-testsuites.rst: + Add trailing newline. + * doc/gccint/testsuites/c-language-testsuites.rst: + Add trailing newline. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: + Add trailing newline. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst: + Add trailing newline. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst: + Add trailing newline. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst: + Add trailing newline. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst: + Add trailing newline. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst: + Add trailing newline. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst: + Add trailing newline. + * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: + Add trailing newline. + * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: + Add trailing newline. + * doc/gccint/testsuites/support-for-testing-gcov.rst: + Add trailing newline. + * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: + Add trailing newline. + * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: + Add trailing newline. + * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: + Add trailing newline. + * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: + Add trailing newline. + * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: + Add trailing newline. + * doc/gccint/the-gcc-low-level-runtime-library.rst: + Add trailing newline. + * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst: + Add trailing newline. + * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst: + Add trailing newline. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst: + Add trailing newline. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst: + Add trailing newline. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst: + Add trailing newline. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst: + Add trailing newline. + * doc/gccint/the-language.rst: + Add trailing newline. + * doc/gccint/user-experience-guidelines.rst: + Add trailing newline. + * doc/install/binaries.rst: + Add trailing newline. + * doc/install/building.rst: + Add trailing newline. + * doc/install/building/building-a-cross-compiler.rst: + Add trailing newline. + * doc/install/building/building-a-native-compiler.rst: + Add trailing newline. + * doc/install/building/building-in-parallel.rst: + Add trailing newline. + * doc/install/building/building-the-ada-compiler.rst: + Add trailing newline. + * doc/install/building/building-the-d-compiler.rst: + Add trailing newline. + * doc/install/building/building-with-profile-feedback.rst: + Add trailing newline. + * doc/install/configuration.rst: + Add trailing newline. + * doc/install/copyright.rst: + Add trailing newline. + * doc/install/downloading-gcc.rst: + Add trailing newline. + * doc/install/final-installation.rst: + Add trailing newline. + * doc/install/gnu-free-documentation-license.rst: + Add trailing newline. + * doc/install/host-target-specific-installation-notes-for-gcc.rst: + Add trailing newline. + * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: + Add trailing newline. + * doc/install/how-to-interpret-test-results.rst: + Add trailing newline. + * doc/install/index.rst: + Add trailing newline. + * doc/install/indices-and-tables.rst: + Add trailing newline. + * doc/install/installing-gcc.rst: + Add trailing newline. + * doc/install/passing-options-and-running-multiple-testsuites.rst: + Add trailing newline. + * doc/install/prerequisites.rst: + Add trailing newline. + * doc/install/submitting-test-results.rst: + Add trailing newline. + * doc/install/testing.rst: + Add trailing newline. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * Makefile.in: Use new install URL. + * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: + Use intersphinx link. + * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: + Use new URL. + * doc/gccint/source-tree-structure-and-build-system.rst: Use + intersphinx link. + * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise. + * doc/install/installing-gcc.rst: Likewise. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + Sinan <sinan.lin@linux.alibaba.com> + + * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: + Add missing variable name. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/cpp/conf.py: Add newline at last line. + * doc/cppinternals/conf.py: Add newline at last line. + * doc/gcc/conf.py: Add newline at last line. + * doc/gccint/conf.py: Add newline at last line. + * doc/install/conf.py: Add newline at last line. + +2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: + Revert. + +2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/cpp/pragmas.rst: Revert. + +2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert. + +2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert. + +2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert. + * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: Revert. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-13 Jonathan Wakely <jwakely@redhat.com> + + * doc/install/testing.rst: Remove anachronism about separate + source tarballs. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-13 Martin Liska <mliska@suse.cz> + + PR other/107620 + * configure: Regenerate. + * configure.ac: Always set sphinx-build. + +2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/gcc/gcc-command-options/option-summary.rst: Revert. + * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert. + +2022-11-14 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AMX_INT8_SET): Add AMX-TILE dependency. + (OPTION_MASK_ISA2_AMX_BF16_SET): Ditto. + (OPTION_MASK_ISA2_AMX_FP16_SET): Ditto. + (OPTION_MASK_ISA2_AMX_TILE_UNSET): Disable AMX_{INT8, + BF16, FP16} when disable AMX_TILE. + +2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: + Revert. + * doc/gcc/gcc-command-options/option-summary.rst: + Revert. + +2022-11-14 Hongyu Wang <hongyu.wang@intel.com> + + * common/config/i386/i386-common.cc (ix86_optimization_table): + Enable small loop unroll at O2 by default. + * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll + factor if -munroll-only-small-loops enabled and -funroll-loops/ + -funroll-all-loops are disabled. + * config/i386/i386.h (struct processor_costs): Add 2 field + small_unroll_ninsns and small_unroll_factor. + * config/i386/i386.opt: Add -munroll-only-small-loops. + * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: + Document -munroll-only-small-loops. + * doc/gcc/gcc-command-options/option-summary.rst: Likewise. + * loop-init.cc (pass_rtl_unroll_loops::gate): Enable rtl + loop unrolling for -O2-speed and above if target hook + loop_unroll_adjust exists. + (pass_rtl_unroll_loops::execute): Set UAP_UNROLL flag + when target hook loop_unroll_adjust exists. + * config/i386/x86-tune-costs.h: Update all processor costs + with small_unroll_ninsns = 4 and small_unroll_factor = 2. + +2022-11-13 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106235 + * doc/gcc/gcc-command-options/option-summary.rst: Add + -Wno-analyzer-tainted-assertion. + * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: + Add -Wno-analyzer-tainted-assertion. + +2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/bitmanip.md: New define_split. + +2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/riscv.cc (riscv_rtx_costs): Recognize shNadd, + if expressed as a plus and multiplication with a power-of-2. + Split costing for MINUS from PLUS. + +2022-11-13 Martin Liska <mliska@suse.cz> + + PR other/107620 + * configure: Regenerate. + * configure.ac: Always set sphinx-build. + +2022-11-13 Joseph Myers <joseph@codesourcery.com> + + * ginclude/float.h [__STDC_VERSION__ > 201710L] + (__STDC_VERSION_FLOAT_H__): New macro. + * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] + (__STDC_VERSION_STDARG_H__): New macro. + * ginclude/stdatomic.h [__STDC_VERSION__ > 201710L] + (__STDC_VERSION_STDATOMIC_H__): New macro. + * ginclude/stddef.h [__STDC_VERSION__ > 201710L] + (__STDC_VERSION_STDDEF_H__): New macro. + * ginclude/stdint-gcc.h [__STDC_VERSION__ > 201710L] + (__STDC_VERSION_STDINT_H__): New macro. + * glimits.h [__STDC_VERSION__ > 201710L] + (__STDC_VERSION_LIMITS_H__): New macro. + +2022-11-13 Jonathan Wakely <jwakely@redhat.com> + + * doc/install/testing.rst: Remove anachronism about separate + source tarballs. + +2022-11-12 Joseph Myers <joseph@codesourcery.com> + + * dfp.cc (decimal_from_binary): Convert a canonical NaN to a + canonical NaN. + +2022-11-12 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (range_tests_signbit): Move to set from here... + (range_tests_signed_zeros): ...to here. + +2022-11-12 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (build_lt): Adjust with frange_nextafter + instead of default to a closed range. + (build_gt): Same. + +2022-11-12 Aldy Hernandez <aldyh@redhat.com> + Jakub Jelinek <jakub@redhat.com> + + * range-op-float.cc (float_binary_op_range_finish): New function. + (foperator_plus::op1_range): New. + (foperator_plus::op2_range): New. + (foperator_minus::op1_range): New. + (foperator_minus::op2_range): New. + (foperator_mult::op1_range): New. + (foperator_mult::op2_range): New. + (foperator_div::op1_range): New. + (foperator_div::op2_range): New. + +2022-11-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107569 + * range-op-float.cc (zero_p, contains_p, singleton_inf_p, + signbit_known_p, zero_range, inf_range, zero_to_inf_range): New + functions. + (foperator_mult_div_base): New class. + (foperator_mult, foperator_div): Derive from that and use + protected static method from it as well as above new functions + to simplify the code. + +2022-11-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107569 + * range-op-float.cc (foperator_div): New class. + (floating_op_table::floating_op_table): Use foperator_div + for RDIV_EXPR. + +2022-11-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107569 + PR tree-optimization/107591 + * range-op.h (range_operator_float::rv_fold): Add relation_kind + argument. + * range-op-float.cc (range_operator_float::fold_range): Name + last argument trio and pass trio.op1_op2 () as last argument to + rv_fold. + (range_operator_float::rv_fold): Add relation_kind argument. + (foperator_plus::rv_fold, foperator_minus::rv_fold): Likewise. + (foperator_mult): New class. + (floating_op_table::floating_op_table): Use foperator_mult for + MULT_EXPR. + +2022-11-12 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (UNSPEC_FLOGB): New unspec. + (type): Add flogb. + (logb_non_negative<mode>2): New instruction template. + (logb<mode>2): New define_expand. + +2022-11-12 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (UNSPEC_FSCALEB): New unspec. + (type): Add fscaleb. + (IMODE): New mode attr. + (ldexp<mode>3): New instruction template. + +2022-11-12 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (UNSPEC_FTINT): New unspec. + (UNSPEC_FTINTRM): Likewise. + (UNSPEC_FTINTRP): Likewise. + (LRINT): New define_int_iterator. + (lrint_pattern): New define_int_attr. + (lrint_submenmonic): Likewise. + (lrint_allow_inexact): Likewise. + (ANYFI): New define_mode_iterator. + (lrint<ANYF><ANYFI>): New instruction template. + +2022-11-12 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (frint_<fmt>): Rename to .. + (rint<mode>2): .. this. + +2022-11-11 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106147 + * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: + Add -Wanalyzer-infinite-recursion. + * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst + (-Winfinite-recursion): Mention -Wanalyzer-infinite-recursion. + +2022-11-11 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106147 + * Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-recursion.o. + +2022-11-11 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/107523 + * gimple-range.cc (gimple_ranger::update_stmt): Use fur_stmt + rather than fur_depend. + +2022-11-11 Andrew MacLeod <amacleod@redhat.com> + + * tree-vrp.cc (rvrp_folder::rvrp_folder): Init m_last_bb_stmt. + (rvrp_folder::pre_fold_bb): Set m_last_bb_stmt. + (rvrp_folder::pre_fold_stmt): Check for transitive inferred ranges. + (rvrp_folder::fold_stmt): Check in pre_fold_stmt instead. + +2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com> + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X1C + CPU. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: + Document Cortex-X1C CPU. + +2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com> + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A715 + CPU. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: + Document Cortex-A715 CPU. + +2022-11-11 Richard Biener <rguenther@suse.de> + Nikita Voronov <nik_1357@mail.ru> + + PR tree-optimization/107554 + * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes): + Use unsigned HOST_WIDE_INT type for the strlen. + +2022-11-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105142 + * gimple-fold.cc (fosa_unwind): New global. + (follow_outer_ssa_edges): When the SSA definition to follow + is does not dominate fosa_bb, temporarily clear flow-sensitive + info. Make sure to not expand stmts with not defined overflow. + (maybe_fold_comparisons_from_match_pd): Set up unwind stack + for follow_outer_ssa_edges and unwind flow-sensitive info + clearing after matching. + +2022-11-11 Aldy Hernandez <aldyh@redhat.com> + + * range-op.cc (operator_mult::fold_range): Remove. + (operator_div::fold_range): Remove. + (operator_bitwise_and): Remove. + +2022-11-11 Aldy Hernandez <aldyh@redhat.com> + + * range-op.cc (update_known_bitmask): Avoid unnecessary intersection. + +2022-11-11 Aldy Hernandez <aldyh@redhat.com> + + * range-op.cc (range_operator::fold_range): Call + update_known_bitmask. + (operator_bitwise_and::fold_range): Avoid setting nonzero bits + when range is undefined. + +2022-11-11 Aldy Hernandez <aldyh@redhat.com> + + * range-op.cc (class operator_div): Remove tree code. + (operator_div::wi_op_overflows): Handle EXACT_DIV_EXPR as + TRUNC_DIV_EXPR. + +2022-11-11 Aldy Hernandez <aldyh@redhat.com> + + * range-op.cc: (range_op_table::set): Set m_code. + (integral_table::integral_table): Handle shared entries. + (pointer_table::pointer_table): Same. + * range-op.h (class range_operator): Add m_code. + +2022-11-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107618 + * tree-ssa-copy.cc (stmt_may_generate_copy): Simulate all + assignments with a single SSA use. + (copy_prop_visit_assignment): Use gimple_fold_stmt_to_constant_1 + to perform simple constant folding. + (copy_prop::visit_stmt): Visit all assignments. + +2022-11-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/84646 + * tree-ssa-dce.cc (pass_dce::set_pass_param): Add param + wheter to run update-address-taken. + (pass_dce::execute): Honor it. + * passes.def: Exchange last DCE and CD-DCE invocations. + Swap pass_tail_calls and the last DCE. + +2022-11-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + Monk Chiang <monk.chiang@sifive.com> + + * config/riscv/riscv-v.cc (emit_pred_move): Adjust for scalable register spilling. + (legitimize_move): Ditto. + * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): New function. + (riscv_first_stack_step): Adjust for scalable register spilling. + (riscv_expand_prologue): Ditto. + (riscv_expand_epilogue): Ditto. + (riscv_dwarf_poly_indeterminate_value): New function. + (TARGET_DWARF_POLY_INDETERMINATE_VALUE): New target hook support for register spilling. + * config/riscv/riscv.h (RISCV_DWARF_VLENB): New macro. + (RISCV_PROLOGUE_TEMP2_REGNUM): Ditto. + (RISCV_PROLOGUE_TEMP2): Ditto. + * config/riscv/vector-iterators.md: New iterators. + * config/riscv/vector.md (*mov<mode>): Fix it for register spilling. + (*mov<mode>_whole): New pattern. + (*mov<mode>_fract): New pattern. + (@pred_mov<mode>): Fix it for register spilling. + +2022-11-11 Jonathan Wakely <jwakely@redhat.com> + + PR c/85487 + * doc/cpp/pragmas.rst (Pragmas): Document region pragmas. + +2022-11-11 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/i386-builtin.def (BDESC): Add + OPTION_MASK_ISA2_PREFETCHI for prefetchi builtin. + * config/i386/i386-expand.cc (ix86_expand_builtin): + Add ISA check before emit_insn. + * config/i386/prfchiintrin.h: Add target for intrin. + +2022-11-10 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/99671 + * tristate.h (tristate::is_unknown): New. + +2022-11-10 David Malcolm <dmalcolm@redhat.com> + + * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: + Add -Wanalyzer-deref-before-check. + +2022-11-10 Marek Polacek <polacek@redhat.com> + + * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: + Extend the description of -Wdangling-reference. + +2022-11-10 Andrew Pinski <apinski@marvell.com> + + * config/bfin/bfin.h (SLOW_SHORT_ACCESS): Delete. + * config/i386/i386.h (SLOW_SHORT_ACCESS): Delete. + * system.h: Poison SLOW_SHORT_ACCESS + +2022-11-10 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::set_nonnegative): Remove NAN sign handling. + (range_tests_signed_zeros): Adjust test. + +2022-11-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/84646 + * tree-ssa-forwprop.cc (pass_forwprop::execute): Improve + copy propagation across PHIs. + +2022-11-10 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/riscv-cores.def (RISCV_TUNE): Update + sifive-7-series to point to the sifive_7 pipeline description. + +2022-11-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/84646 + * tree-ssa-ccp.cc (set_lattice_value): Make sure we + allow a const -> copy transition and avoid using meet + in that case. + +2022-11-10 Martin Liska <mliska@suse.cz> + + * doc/cpp/conf.py: Add newline at last line. + * doc/cppinternals/conf.py: Add newline at last line. + * doc/gcc/conf.py: Add newline at last line. + * doc/gccint/conf.py: Add newline at last line. + * doc/install/conf.py: Add newline at last line. + +2022-11-10 Richard Biener <rguenther@suse.de> + + * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): First collect + candidates and determine the outermost loop to unswitch. + (tree_ssa_unswitch_loops): First perform all guard hoisting, + then perform unswitching on innermost loop predicates. + (find_unswitching_predicates_for_bb): Keep track of the + outermost loop to unswitch. + (evaluate_bbs): Adjust exit test. + (tree_unswitch_single_loop): Dump whether we unswitched an outer + loop. + (tree_unswitch_loop): Remove assert we unswitch only innermost + loops. + +2022-11-10 Jakub Jelinek <jakub@redhat.com> + + PR target/107585 + PR target/107546 + * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): Use + gen_int_mode rather than GEN_INT. + +2022-11-09 Martin Liska <mliska@suse.cz> + Sinan <sinan.lin@linux.alibaba.com> + + * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: + Add missing variable name. + +2022-11-09 Aldy Hernandez <aldyh@redhat.com> + + * value-range-storage.cc (frange_storage_slot::get_frange): Clear + NAN if appropriate. + * value-range.cc (range_tests_floats): New test. + +2022-11-09 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (class foperator_plus): Remove op[12]_range. + (class foperator_minus): Same. + +2022-11-09 Qing Zhao <qing.zhao@oracle.com> + + * gimple-array-bounds.cc (trailing_array): Replace + array_at_struct_end_p with new name and update comments. + * gimple-fold.cc (get_range_strlen_tree): Likewise. + * gimple-ssa-warn-restrict.cc (builtin_memref::builtin_memref): + Likewise. + * graphite-sese-to-poly.cc (bounds_are_valid): Likewise. + * tree-if-conv.cc (idx_within_array_bound): Likewise. + * tree-object-size.cc (addr_object_size): Likewise. + * tree-ssa-alias.cc (component_ref_to_zero_sized_trailing_array_p): + Likewise. + (stmt_kills_ref_p): Likewise. + * tree-ssa-loop-niter.cc (idx_infer_loop_bounds): Likewise. + * tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise. + * tree.cc (array_at_struct_end_p): Rename to ... + (array_ref_flexible_size_p): ... this. + (component_ref_size): Replace array_at_struct_end_p with new name. + * tree.h (array_at_struct_end_p): Rename to ... + (array_ref_flexible_size_p): ... this. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * Makefile.in: Use new install URL. + * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: + Use intersphinx link. + * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: + Use new URL. + * doc/gccint/source-tree-structure-and-build-system.rst: Use + intersphinx link. + * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise. + * doc/install/installing-gcc.rst: Likewise. + +2022-11-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/84646 + * tree-ssa-threadbackward.cc (back_threader::maybe_register_path): + Remove premature cycle rejection. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/cpp/character-sets.rst: + Add trailing newline. + * doc/cpp/conditional-syntax.rst: + Add trailing newline. + * doc/cpp/conditional-uses.rst: + Add trailing newline. + * doc/cpp/conditionals.rst: + Add trailing newline. + * doc/cpp/copyright.rst: + Add trailing newline. + * doc/cpp/deleted-code.rst: + Add trailing newline. + * doc/cpp/diagnostics.rst: + Add trailing newline. + * doc/cpp/environment-variables.rst: + Add trailing newline. + * doc/cpp/gnu-free-documentation-license.rst: + Add trailing newline. + * doc/cpp/header-files.rst: + Add trailing newline. + * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: + Add trailing newline. + * doc/cpp/header-files/computed-includes.rst: + Add trailing newline. + * doc/cpp/header-files/include-operation.rst: + Add trailing newline. + * doc/cpp/header-files/include-syntax.rst: + Add trailing newline. + * doc/cpp/header-files/once-only-headers.rst: + Add trailing newline. + * doc/cpp/header-files/search-path.rst: + Add trailing newline. + * doc/cpp/header-files/system-headers.rst: + Add trailing newline. + * doc/cpp/header-files/wrapper-headers.rst: + Add trailing newline. + * doc/cpp/implementation-defined-behavior.rst: + Add trailing newline. + * doc/cpp/implementation-details.rst: + Add trailing newline. + * doc/cpp/implementation-limits.rst: + Add trailing newline. + * doc/cpp/index.rst: + Add trailing newline. + * doc/cpp/indices-and-tables.rst: + Add trailing newline. + * doc/cpp/initial-processing.rst: + Add trailing newline. + * doc/cpp/invocation.rst: + Add trailing newline. + * doc/cpp/line-control.rst: + Add trailing newline. + * doc/cpp/macros.rst: + Add trailing newline. + * doc/cpp/macros/concatenation.rst: + Add trailing newline. + * doc/cpp/macros/directives-within-macro-arguments.rst: + Add trailing newline. + * doc/cpp/macros/function-like-macros.rst: + Add trailing newline. + * doc/cpp/macros/macro-arguments.rst: + Add trailing newline. + * doc/cpp/macros/macro-pitfalls.rst: + Add trailing newline. + * doc/cpp/macros/object-like-macros.rst: + Add trailing newline. + * doc/cpp/macros/predefined-macros.rst: + Add trailing newline. + * doc/cpp/macros/stringizing.rst: + Add trailing newline. + * doc/cpp/macros/undefining-and-redefining-macros.rst: + Add trailing newline. + * doc/cpp/macros/variadic-macros.rst: + Add trailing newline. + * doc/cpp/obsolete-features.rst: + Add trailing newline. + * doc/cpp/other-directives.rst: + Add trailing newline. + * doc/cpp/overview.rst: + Add trailing newline. + * doc/cpp/pragmas.rst: + Add trailing newline. + * doc/cpp/preprocessor-output.rst: + Add trailing newline. + * doc/cpp/the-preprocessing-language.rst: + Add trailing newline. + * doc/cpp/tokenization.rst: + Add trailing newline. + * doc/cpp/traditional-lexical-analysis.rst: + Add trailing newline. + * doc/cpp/traditional-macros.rst: + Add trailing newline. + * doc/cpp/traditional-miscellany.rst: + Add trailing newline. + * doc/cpp/traditional-mode.rst: + Add trailing newline. + * doc/cpp/traditional-warnings.rst: + Add trailing newline. + * doc/cppinternals/copyright.rst: + Add trailing newline. + * doc/cppinternals/cppinternals.rst: + Add trailing newline. + * doc/cppinternals/cpplib.rst: + Add trailing newline. + * doc/cppinternals/files.rst: + Add trailing newline. + * doc/cppinternals/index.rst: + Add trailing newline. + * doc/cppinternals/indices-and-tables.rst: + Add trailing newline. + * doc/cppinternals/internal-representation-of-macros.rst: + Add trailing newline. + * doc/cppinternals/just-which-line-number-anyway.rst: + Add trailing newline. + * doc/cppinternals/lexing-a-line.rst: + Add trailing newline. + * doc/cppinternals/lexing-a-token.rst: + Add trailing newline. + * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: + Add trailing newline. + * doc/cppinternals/macro-expansion-overview.rst: + Add trailing newline. + * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: + Add trailing newline. + * doc/cppinternals/multiple-include-optimization.rst: + Add trailing newline. + * doc/cppinternals/overview.rst: + Add trailing newline. + * doc/cppinternals/representation-of-line-numbers.rst: + Add trailing newline. + * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: + Add trailing newline. + * doc/gcc/binary-compatibility.rst: + Add trailing newline. + * doc/gcc/c++-implementation-defined-behavior.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/architecture.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/characters.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/declarators.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/environment.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/floating-point.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/hints.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/identifiers.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/integers.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/library-functions.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/statements.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst: + Add trailing newline. + * doc/gcc/c-implementation-defined-behavior/translation.rst: + Add trailing newline. + * doc/gcc/conditionally-supported-behavior.rst: + Add trailing newline. + * doc/gcc/contributing-to-gcc-development.rst: + Add trailing newline. + * doc/gcc/contributors-to-gcc.rst: + Add trailing newline. + * doc/gcc/copyright.rst: + Add trailing newline. + * doc/gcc/exception-handling.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/type-traits.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst: + Add trailing newline. + * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst: + Add trailing newline. + * doc/gcc/funding.rst: + Add trailing newline. + * doc/gcc/gcc-command-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/compiling-c++-programs.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/description.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/gcc-developer-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-for-directory-search.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-for-linking.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-that-control-optimization.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/program-instrumentation-options.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst: + Add trailing newline. + * doc/gcc/gcc-command-options/using-precompiled-headers.rst: + Add trailing newline. + * doc/gcc/gcc.rst: + Add trailing newline. + * doc/gcc/gcov-dump.rst: + Add trailing newline. + * doc/gcc/gcov-tool.rst: + Add trailing newline. + * doc/gcc/gcov.rst: + Add trailing newline. + * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: + Add trailing newline. + * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: + Add trailing newline. + * doc/gcc/gcov/introduction-to-gcov.rst: + Add trailing newline. + * doc/gcc/gcov/invoking-gcov.rst: + Add trailing newline. + * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: + Add trailing newline. + * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: + Add trailing newline. + * doc/gcc/general-public-license-3.rst: + Add trailing newline. + * doc/gcc/gnu-free-documentation-license.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/exceptions.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/garbage-collection.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/synchronization.rst: + Add trailing newline. + * doc/gcc/gnu-objective-c-features/type-encoding.rst: + Add trailing newline. + * doc/gcc/gnu.rst: + Add trailing newline. + * doc/gcc/have-you-found-a-bug.rst: + Add trailing newline. + * doc/gcc/how-and-where-to-report-bugs.rst: + Add trailing newline. + * doc/gcc/how-to-get-help-with-gcc.rst: + Add trailing newline. + * doc/gcc/index.rst: + Add trailing newline. + * doc/gcc/indices-and-tables.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: + Add trailing newline. + * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst: + Add trailing newline. + * doc/gcc/language-standards-supported-by-gcc.rst: + Add trailing newline. + * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: + Add trailing newline. + * doc/gcc/language-standards-supported-by-gcc/c-language.rst: + Add trailing newline. + * doc/gcc/language-standards-supported-by-gcc/d-language.rst: + Add trailing newline. + * doc/gcc/language-standards-supported-by-gcc/go-language.rst: + Add trailing newline. + * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst: + Add trailing newline. + * doc/gcc/lto-dump.rst: + Add trailing newline. + * doc/gcc/programming-languages-supported-by-gcc.rst: + Add trailing newline. + * doc/gcc/reporting-bugs.rst: + Add trailing newline. + * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: + Add trailing newline. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: + Add trailing newline. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: + Add trailing newline. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: + Add trailing newline. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: + Add trailing newline. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst: + Add trailing newline. + * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: + Add trailing newline. + * doc/gccint/analyzer-internals.rst: + Add trailing newline. + * doc/gccint/collect2.rst: + Add trailing newline. + * doc/gccint/contributing-to-gcc-development.rst: + Add trailing newline. + * doc/gccint/contributors-to-gcc.rst: + Add trailing newline. + * doc/gccint/control-flow-graph.rst: + Add trailing newline. + * doc/gccint/control-flow-graph/basic-blocks.rst: + Add trailing newline. + * doc/gccint/control-flow-graph/edges.rst: + Add trailing newline. + * doc/gccint/control-flow-graph/liveness-information.rst: + Add trailing newline. + * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: + Add trailing newline. + * doc/gccint/control-flow-graph/profile-information.rst: + Add trailing newline. + * doc/gccint/copyright.rst: + Add trailing newline. + * doc/gccint/debugging-the-analyzer.rst: + Add trailing newline. + * doc/gccint/funding.rst: + Add trailing newline. + * doc/gccint/gcc-and-portability.rst: + Add trailing newline. + * doc/gccint/general-public-license-3.rst: + Add trailing newline. + * doc/gccint/generic.rst: + Add trailing newline. + * doc/gccint/generic/attributes-in-trees.rst: + Add trailing newline. + * doc/gccint/generic/c-and-c++-trees.rst: + Add trailing newline. + * doc/gccint/generic/declarations.rst: + Add trailing newline. + * doc/gccint/generic/deficiencies.rst: + Add trailing newline. + * doc/gccint/generic/expressions.rst: + Add trailing newline. + * doc/gccint/generic/functions.rst: + Add trailing newline. + * doc/gccint/generic/language-dependent-trees.rst: + Add trailing newline. + * doc/gccint/generic/overview.rst: + Add trailing newline. + * doc/gccint/generic/statements.rst: + Add trailing newline. + * doc/gccint/generic/types.rst: + Add trailing newline. + * doc/gccint/gimple-api.rst: + Add trailing newline. + * doc/gccint/gimple.rst: + Add trailing newline. + * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: + Add trailing newline. + * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: + Add trailing newline. + * doc/gccint/gimple/exception-handling.rst: + Add trailing newline. + * doc/gccint/gimple/gimple-instruction-set.rst: + Add trailing newline. + * doc/gccint/gimple/gimple-sequences.rst: + Add trailing newline. + * doc/gccint/gimple/manipulating-gimple-statements.rst: + Add trailing newline. + * doc/gccint/gimple/operands.rst: + Add trailing newline. + * doc/gccint/gimple/sequence-iterators.rst: + Add trailing newline. + * doc/gccint/gimple/statement-and-operand-traversals.rst: + Add trailing newline. + * doc/gccint/gimple/temporaries.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-representation.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: + Add trailing newline. + * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: + Add trailing newline. + * doc/gccint/gnu-free-documentation-license.rst: + Add trailing newline. + * doc/gccint/guidelines-for-diagnostics.rst: + Add trailing newline. + * doc/gccint/guidelines-for-options.rst: + Add trailing newline. + * doc/gccint/host-common.rst: + Add trailing newline. + * doc/gccint/host-configuration.rst: + Add trailing newline. + * doc/gccint/host-filesystem.rst: + Add trailing newline. + * doc/gccint/host-makefile-fragments.rst: + Add trailing newline. + * doc/gccint/host-misc.rst: + Add trailing newline. + * doc/gccint/index.rst: + Add trailing newline. + * doc/gccint/indices-and-tables.rst: + Add trailing newline. + * doc/gccint/interfacing-to-gcc-output.rst: + Add trailing newline. + * doc/gccint/introduction.rst: + Add trailing newline. + * doc/gccint/language-front-ends-in-gcc.rst: + Add trailing newline. + * doc/gccint/link-time-optimization.rst: + Add trailing newline. + * doc/gccint/link-time-optimization/design-overview.rst: + Add trailing newline. + * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: + Add trailing newline. + * doc/gccint/link-time-optimization/lto-file-sections.rst: + Add trailing newline. + * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: + Add trailing newline. + * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst: + Add trailing newline. + * doc/gccint/machine-descriptions.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/conditional-execution.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/constant-definitions.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/example-of-defineinsn.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/instruction-attributes.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/iterators.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/operand-constraints.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/predicates.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/rtl-template.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: + Add trailing newline. + * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: + Add trailing newline. + * doc/gccint/makefile-fragments.rst: + Add trailing newline. + * doc/gccint/match-and-simplify.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: + Add trailing newline. + * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst: + Add trailing newline. + * doc/gccint/option-file-format.rst: + Add trailing newline. + * doc/gccint/option-properties.rst: + Add trailing newline. + * doc/gccint/option-specification-files.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: + Add trailing newline. + * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: + Add trailing newline. + * doc/gccint/plugins.rst: + Add trailing newline. + * doc/gccint/plugins/building-gcc-plugins.rst: + Add trailing newline. + * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: + Add trailing newline. + * doc/gccint/plugins/giving-information-about-a-plugin.rst: + Add trailing newline. + * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: + Add trailing newline. + * doc/gccint/plugins/interacting-with-the-pass-manager.rst: + Add trailing newline. + * doc/gccint/plugins/keeping-track-of-available-passes.rst: + Add trailing newline. + * doc/gccint/plugins/loading-plugins.rst: + Add trailing newline. + * doc/gccint/plugins/plugin-api.rst: + Add trailing newline. + * doc/gccint/plugins/recording-information-about-pass-execution.rst: + Add trailing newline. + * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: + Add trailing newline. + * doc/gccint/rtl-representation.rst: + Add trailing newline. + * doc/gccint/rtl-representation/access-to-operands.rst: + Add trailing newline. + * doc/gccint/rtl-representation/access-to-special-operands.rst: + Add trailing newline. + * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: + Add trailing newline. + * doc/gccint/rtl-representation/bit-fields.rst: + Add trailing newline. + * doc/gccint/rtl-representation/comparison-operations.rst: + Add trailing newline. + * doc/gccint/rtl-representation/constant-expression-types.rst: + Add trailing newline. + * doc/gccint/rtl-representation/conversions.rst: + Add trailing newline. + * doc/gccint/rtl-representation/declarations.rst: + Add trailing newline. + * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: + Add trailing newline. + * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: + Add trailing newline. + * doc/gccint/rtl-representation/insns.rst: + Add trailing newline. + * doc/gccint/rtl-representation/machine-modes.rst: + Add trailing newline. + * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: + Add trailing newline. + * doc/gccint/rtl-representation/reading-rtl.rst: + Add trailing newline. + * doc/gccint/rtl-representation/registers-and-memory.rst: + Add trailing newline. + * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: + Add trailing newline. + * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: + Add trailing newline. + * doc/gccint/rtl-representation/rtl-object-types.rst: + Add trailing newline. + * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: + Add trailing newline. + * doc/gccint/rtl-representation/side-effect-expressions.rst: + Add trailing newline. + * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: + Add trailing newline. + * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: + Add trailing newline. + * doc/gccint/rtl-representation/vector-operations.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst: + Add trailing newline. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst: + Add trailing newline. + * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst: + Add trailing newline. + * doc/gccint/standard-header-file-directories.rst: + Add trailing newline. + * doc/gccint/static-analyzer.rst: + Add trailing newline. + * doc/gccint/target-macros.rst: + Add trailing newline. + * doc/gccint/target-macros/controlling-debugging-information-format.rst: + Add trailing newline. + * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: + Add trailing newline. + * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: + Add trailing newline. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst: + Add trailing newline. + * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: + Add trailing newline. + * doc/gccint/target-macros/layout-of-source-language-data-types.rst: + Add trailing newline. + * doc/gccint/target-macros/position-independent-code.rst: + Add trailing newline. + * doc/gccint/target-macros/register-usage.rst: + Add trailing newline. + * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: + Add trailing newline. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: + Add trailing newline. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst: + Add trailing newline. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst: + Add trailing newline. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: + Add trailing newline. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: + Add trailing newline. + * doc/gccint/target-macros/support-for-nested-functions.rst: + Add trailing newline. + * doc/gccint/target-macros/the-global-targetm-variable.rst: + Add trailing newline. + * doc/gccint/target-makefile-fragments.rst: + Add trailing newline. + * doc/gccint/testsuites.rst: + Add trailing newline. + * doc/gccint/testsuites/ada-language-testsuites.rst: + Add trailing newline. + * doc/gccint/testsuites/c-language-testsuites.rst: + Add trailing newline. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: + Add trailing newline. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst: + Add trailing newline. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst: + Add trailing newline. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst: + Add trailing newline. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst: + Add trailing newline. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst: + Add trailing newline. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst: + Add trailing newline. + * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: + Add trailing newline. + * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: + Add trailing newline. + * doc/gccint/testsuites/support-for-testing-gcov.rst: + Add trailing newline. + * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: + Add trailing newline. + * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: + Add trailing newline. + * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: + Add trailing newline. + * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: + Add trailing newline. + * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: + Add trailing newline. + * doc/gccint/the-gcc-low-level-runtime-library.rst: + Add trailing newline. + * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst: + Add trailing newline. + * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst: + Add trailing newline. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst: + Add trailing newline. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst: + Add trailing newline. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst: + Add trailing newline. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst: + Add trailing newline. + * doc/gccint/the-language.rst: + Add trailing newline. + * doc/gccint/user-experience-guidelines.rst: + Add trailing newline. + * doc/install/binaries.rst: + Add trailing newline. + * doc/install/building.rst: + Add trailing newline. + * doc/install/building/building-a-cross-compiler.rst: + Add trailing newline. + * doc/install/building/building-a-native-compiler.rst: + Add trailing newline. + * doc/install/building/building-in-parallel.rst: + Add trailing newline. + * doc/install/building/building-the-ada-compiler.rst: + Add trailing newline. + * doc/install/building/building-the-d-compiler.rst: + Add trailing newline. + * doc/install/building/building-with-profile-feedback.rst: + Add trailing newline. + * doc/install/configuration.rst: + Add trailing newline. + * doc/install/copyright.rst: + Add trailing newline. + * doc/install/downloading-gcc.rst: + Add trailing newline. + * doc/install/final-installation.rst: + Add trailing newline. + * doc/install/gnu-free-documentation-license.rst: + Add trailing newline. + * doc/install/host-target-specific-installation-notes-for-gcc.rst: + Add trailing newline. + * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: + Add trailing newline. + * doc/install/how-to-interpret-test-results.rst: + Add trailing newline. + * doc/install/index.rst: + Add trailing newline. + * doc/install/indices-and-tables.rst: + Add trailing newline. + * doc/install/installing-gcc.rst: + Add trailing newline. + * doc/install/passing-options-and-running-multiple-testsuites.rst: + Add trailing newline. + * doc/install/prerequisites.rst: + Add trailing newline. + * doc/install/submitting-test-results.rst: + Add trailing newline. + * doc/install/testing.rst: + Add trailing newline. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * opts.cc (get_option_html_page): Port to sphinx URLs. + (get_option_url): Likewise. + (test_get_option_html_page): Likewise. + +2022-11-09 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107569 + * range-op-float.cc (foperator_abs::op1_range): Clear NaNs + from the negatives frange before unioning it into r. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * Makefile.in: Add vpath default for .rst files. + * config/avr/avr-devices.cc: For port RST. + * config/avr/avr-mcus.def: Update path. + * config/avr/gen-avr-mmcu-texi.cc: Moved to... + * config/avr/gen-avr-mmcu-rst.cc: ...here. + * config/avr/t-avr: Update to rst. + * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate. + +2022-11-09 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/riscv.cc (riscv_rtx_costs): Add BSWAP. + +2022-11-09 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.cc (loongarch_emit_int_compare): + Avoid signed overflow. + +2022-11-09 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (foperator_plus::op1_range): New. + (foperator_plus::op2_range): New. + (foperator_minus::op1_range): New. + (foperator_minus::op2_range): New. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * Makefile.in: Support installation if sphinx-build is missing. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: + Port to RST. + * doc/gccint/target-macros/storage-layout.rst: Likewise. + * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master. + * doc/gcc/gcc-command-options/option-summary.rst: Likewise. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: + Do not include tm.rst.in. + * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: + Likewise. + * doc/gccint/target-macros/run-time-target-specification.rst: + Likewise. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: + Fix cross manual refs. + * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: + Likewise. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * Makefile.in: Support --with-sphinx-build. + * configure.ac: + * configure: Regenerate. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * target.def: Use proper lexers for target macros. + * doc/gccint/target-macros/tm.rst.in: Re-generate. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/analyzer.texi: Removed. + * doc/avr-mmcu.texi: Removed. + * doc/bugreport.texi: Removed. + * doc/cfg.texi: Removed. + * doc/collect2.texi: Removed. + * doc/compat.texi: Removed. + * doc/configfiles.texi: Removed. + * doc/configterms.texi: Removed. + * doc/contrib.texi: Removed. + * doc/contribute.texi: Removed. + * doc/cpp.texi: Removed. + * doc/cppdiropts.texi: Removed. + * doc/cppenv.texi: Removed. + * doc/cppinternals.texi: Removed. + * doc/cppopts.texi: Removed. + * doc/cppwarnopts.texi: Removed. + * doc/extend.texi: Removed. + * doc/fragments.texi: Removed. + * doc/frontends.texi: Removed. + * doc/gcc.texi: Removed. + * doc/gccint.texi: Removed. + * doc/gcov-dump.texi: Removed. + * doc/gcov-tool.texi: Removed. + * doc/gcov.texi: Removed. + * doc/generic.texi: Removed. + * doc/gimple.texi: Removed. + * doc/gnu.texi: Removed. + * doc/gty.texi: Removed. + * doc/headerdirs.texi: Removed. + * doc/hostconfig.texi: Removed. + * doc/implement-c.texi: Removed. + * doc/implement-cxx.texi: Removed. + * doc/include/fdl.texi: Removed. + * doc/include/funding.texi: Removed. + * doc/include/gcc-common.texi: Removed. + * doc/include/gpl_v3.texi: Removed. + * doc/install.texi: Removed. + * doc/interface.texi: Removed. + * doc/invoke.texi: Removed. + * doc/languages.texi: Removed. + * doc/libgcc.texi: Removed. + * doc/loop.texi: Removed. + * doc/lto-dump.texi: Removed. + * doc/lto.texi: Removed. + * doc/makefile.texi: Removed. + * doc/match-and-simplify.texi: Removed. + * doc/md.texi: Removed. + * doc/objc.texi: Removed. + * doc/optinfo.texi: Removed. + * doc/options.texi: Removed. + * doc/passes.texi: Removed. + * doc/plugins.texi: Removed. + * doc/poly-int.texi: Removed. + * doc/portability.texi: Removed. + * doc/rtl.texi: Removed. + * doc/service.texi: Removed. + * doc/sourcebuild.texi: Removed. + * doc/standards.texi: Removed. + * doc/tm.texi: Removed. + * doc/tree-ssa.texi: Removed. + * doc/trouble.texi: Removed. + * doc/ux.texi: Removed. + * doc/tm.texi.in: Removed. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gccint/target-macros/tm.rst.in: New file. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * Makefile.in: Support Sphinx based documentation. + * configure: Regenerate. + * configure.ac: Support Sphinx based documentation. + * genhooks.cc (struct s_hook): Emit tm.rst.in file. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file. + * doc/gccint/target-macros/addressing-modes.rst: Likewise. + * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise. + * doc/gccint/target-macros/anchored-addresses.rst: Likewise. + * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise. + * doc/gccint/target-macros/condition-code-status.rst: Likewise. + * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise. + * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise. + * doc/gccint/target-macros/d-abi-parameters.rst: Likewise. + * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise. + * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: + Likewise. + * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: + Likewise. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: + Likewise. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: + Likewise. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: + Likewise. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst: + Likewise. + * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: + Likewise. + * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise. + * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise. + * doc/gccint/target-macros/emulating-tls.rst: Likewise. + * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise. + * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise. + * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise. + * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise. + * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise. + * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst: + Likewise. + * doc/gccint/target-macros/register-classes.rst: Likewise. + * doc/gccint/target-macros/register-usage.rst: Likewise. + * doc/gccint/target-macros/run-time-target-specification.rst: Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst: + Likewise. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst: + Likewise. + * doc/gccint/target-macros/storage-layout.rst: Likewise. + * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * common/common-target.def: Port to RST. + * target.def: Port to RST. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/cpp/character-sets.rst: New file. + * doc/cpp/conditional-syntax.rst: New file. + * doc/cpp/conditional-uses.rst: New file. + * doc/cpp/conditionals.rst: New file. + * doc/cpp/conf.py: New file. + * doc/cpp/copyright.rst: New file. + * doc/cpp/deleted-code.rst: New file. + * doc/cpp/diagnostics.rst: New file. + * doc/cpp/environment-variables.rst: New file. + * doc/cpp/gnu-free-documentation-license.rst: New file. + * doc/cpp/header-files.rst: New file. + * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file. + * doc/cpp/header-files/computed-includes.rst: New file. + * doc/cpp/header-files/include-operation.rst: New file. + * doc/cpp/header-files/include-syntax.rst: New file. + * doc/cpp/header-files/once-only-headers.rst: New file. + * doc/cpp/header-files/search-path.rst: New file. + * doc/cpp/header-files/system-headers.rst: New file. + * doc/cpp/header-files/wrapper-headers.rst: New file. + * doc/cpp/implementation-defined-behavior.rst: New file. + * doc/cpp/implementation-details.rst: New file. + * doc/cpp/implementation-limits.rst: New file. + * doc/cpp/index.rst: New file. + * doc/cpp/indices-and-tables.rst: New file. + * doc/cpp/initial-processing.rst: New file. + * doc/cpp/invocation.rst: New file. + * doc/cpp/line-control.rst: New file. + * doc/cpp/macros.rst: New file. + * doc/cpp/macros/concatenation.rst: New file. + * doc/cpp/macros/directives-within-macro-arguments.rst: New file. + * doc/cpp/macros/function-like-macros.rst: New file. + * doc/cpp/macros/macro-arguments.rst: New file. + * doc/cpp/macros/macro-pitfalls.rst: New file. + * doc/cpp/macros/object-like-macros.rst: New file. + * doc/cpp/macros/predefined-macros.rst: New file. + * doc/cpp/macros/stringizing.rst: New file. + * doc/cpp/macros/undefining-and-redefining-macros.rst: New file. + * doc/cpp/macros/variadic-macros.rst: New file. + * doc/cpp/obsolete-features.rst: New file. + * doc/cpp/other-directives.rst: New file. + * doc/cpp/overview.rst: New file. + * doc/cpp/pragmas.rst: New file. + * doc/cpp/preprocessor-output.rst: New file. + * doc/cpp/the-preprocessing-language.rst: New file. + * doc/cpp/tokenization.rst: New file. + * doc/cpp/traditional-lexical-analysis.rst: New file. + * doc/cpp/traditional-macros.rst: New file. + * doc/cpp/traditional-miscellany.rst: New file. + * doc/cpp/traditional-mode.rst: New file. + * doc/cpp/traditional-warnings.rst: New file. + * doc/cppinternals/conf.py: New file. + * doc/cppinternals/copyright.rst: New file. + * doc/cppinternals/cppinternals.rst: New file. + * doc/cppinternals/cpplib.rst: New file. + * doc/cppinternals/files.rst: New file. + * doc/cppinternals/index.rst: New file. + * doc/cppinternals/indices-and-tables.rst: New file. + * doc/cppinternals/internal-representation-of-macros.rst: New file. + * doc/cppinternals/just-which-line-number-anyway.rst: New file. + * doc/cppinternals/lexing-a-line.rst: New file. + * doc/cppinternals/lexing-a-token.rst: New file. + * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file. + * doc/cppinternals/macro-expansion-overview.rst: New file. + * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file. + * doc/cppinternals/multiple-include-optimization.rst: New file. + * doc/cppinternals/overview.rst: New file. + * doc/cppinternals/representation-of-line-numbers.rst: New file. + * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file. + * doc/gcc/binary-compatibility.rst: New file. + * doc/gcc/c++-implementation-defined-behavior.rst: New file. + * doc/gcc/c-implementation-defined-behavior.rst: New file. + * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file. + * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file. + * doc/gcc/c-implementation-defined-behavior/characters.rst: New file. + * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file. + * doc/gcc/c-implementation-defined-behavior/environment.rst: New file. + * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file. + * doc/gcc/c-implementation-defined-behavior/hints.rst: New file. + * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file. + * doc/gcc/c-implementation-defined-behavior/integers.rst: New file. + * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file. + * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file. + * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file. + * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file. + * doc/gcc/c-implementation-defined-behavior/statements.rst: New file. + * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst: + New file. + * doc/gcc/c-implementation-defined-behavior/translation.rst: New file. + * doc/gcc/conditionally-supported-behavior.rst: New file. + * doc/gcc/conf.py: New file. + * doc/gcc/contributing-to-gcc-development.rst: New file. + * doc/gcc/contributors-to-gcc.rst: New file. + * doc/gcc/copyright.rst: New file. + * doc/gcc/exception-handling.rst: New file. + * doc/gcc/extensions-to-the-c++-language.rst: New file. + * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file. + * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file. + * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst: + New file. + * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file. + * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst: + New file. + * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file. + * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file. + * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file. + * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file. + * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst: + New file. + * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file. + * doc/gcc/extensions-to-the-c-language-family.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file. + * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst: + New file. + * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst: + New file. + * doc/gcc/funding.rst: New file. + * doc/gcc/gcc-command-options.rst: New file. + * doc/gcc/gcc-command-options/c++-modules.rst: New file. + * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file. + * doc/gcc/gcc-command-options/description.rst: New file. + * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file. + * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst: + New file. + * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst: + New file. + * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst: + New file. + * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file. + * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file. + * doc/gcc/gcc-command-options/option-summary.rst: New file. + * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file. + * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file. + * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst: + New file. + * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file. + * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file. + * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file. + * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file. + * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file. + * doc/gcc/gcc-command-options/options-for-linking.rst: New file. + * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file. + * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file. + * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: + New file. + * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file. + * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file. + * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file. + * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst: + New file. + * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file. + * doc/gcc/gcc.rst: New file. + * doc/gcc/gcov-dump.rst: New file. + * doc/gcc/gcov-tool.rst: New file. + * doc/gcc/gcov.rst: New file. + * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file. + * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file. + * doc/gcc/gcov/introduction-to-gcov.rst: New file. + * doc/gcc/gcov/invoking-gcov.rst: New file. + * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file. + * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file. + * doc/gcc/general-public-license-3.rst: New file. + * doc/gcc/gnu-free-documentation-license.rst: New file. + * doc/gcc/gnu-objective-c-features.rst: New file. + * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file. + * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file. + * doc/gcc/gnu-objective-c-features/exceptions.rst: New file. + * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file. + * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file. + * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file. + * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file. + * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file. + * doc/gcc/gnu-objective-c-features/synchronization.rst: New file. + * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file. + * doc/gcc/gnu.rst: New file. + * doc/gcc/have-you-found-a-bug.rst: New file. + * doc/gcc/how-and-where-to-report-bugs.rst: New file. + * doc/gcc/how-to-get-help-with-gcc.rst: New file. + * doc/gcc/index.rst: New file. + * doc/gcc/indices-and-tables.rst: New file. + * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file. + * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file. + * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst: + New file. + * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst: + New file. + * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst: + New file. + * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file. + * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file. + * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file. + * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file. + * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst: + New file. + * doc/gcc/language-standards-supported-by-gcc.rst: New file. + * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file. + * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file. + * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file. + * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file. + * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst: + New file. + * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file. + * doc/gcc/lto-dump.rst: New file. + * doc/gcc/programming-languages-supported-by-gcc.rst: New file. + * doc/gcc/reporting-bugs.rst: New file. + * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file. + * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst: + New file. + * doc/gccint/analysis-and-representation-of-loops.rst: New file. + * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file. + * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file. + * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file. + * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file. + * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file. + * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file. + * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst: + New file. + * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file. + * doc/gccint/analyzer-internals.rst: New file. + * doc/gccint/collect2.rst: New file. + * doc/gccint/conf.py: New file. + * doc/gccint/contributing-to-gcc-development.rst: New file. + * doc/gccint/contributors-to-gcc.rst: New file. + * doc/gccint/control-flow-graph.rst: New file. + * doc/gccint/control-flow-graph/basic-blocks.rst: New file. + * doc/gccint/control-flow-graph/edges.rst: New file. + * doc/gccint/control-flow-graph/liveness-information.rst: New file. + * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file. + * doc/gccint/control-flow-graph/profile-information.rst: New file. + * doc/gccint/copyright.rst: New file. + * doc/gccint/debugging-the-analyzer.rst: New file. + * doc/gccint/funding.rst: New file. + * doc/gccint/gcc-and-portability.rst: New file. + * doc/gccint/general-public-license-3.rst: New file. + * doc/gccint/generic.rst: New file. + * doc/gccint/generic/attributes-in-trees.rst: New file. + * doc/gccint/generic/c-and-c++-trees.rst: New file. + * doc/gccint/generic/declarations.rst: New file. + * doc/gccint/generic/deficiencies.rst: New file. + * doc/gccint/generic/expressions.rst: New file. + * doc/gccint/generic/functions.rst: New file. + * doc/gccint/generic/language-dependent-trees.rst: New file. + * doc/gccint/generic/overview.rst: New file. + * doc/gccint/generic/statements.rst: New file. + * doc/gccint/generic/types.rst: New file. + * doc/gccint/gimple-api.rst: New file. + * doc/gccint/gimple.rst: New file. + * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file. + * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file. + * doc/gccint/gimple/exception-handling.rst: New file. + * doc/gccint/gimple/gimple-instruction-set.rst: New file. + * doc/gccint/gimple/gimple-sequences.rst: New file. + * doc/gccint/gimple/manipulating-gimple-statements.rst: New file. + * doc/gccint/gimple/operands.rst: New file. + * doc/gccint/gimple/sequence-iterators.rst: New file. + * doc/gccint/gimple/statement-and-operand-traversals.rst: New file. + * doc/gccint/gimple/temporaries.rst: New file. + * doc/gccint/gimple/tuple-representation.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file. + * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file. + * doc/gccint/gnu-free-documentation-license.rst: New file. + * doc/gccint/guidelines-for-diagnostics.rst: New file. + * doc/gccint/guidelines-for-options.rst: New file. + * doc/gccint/host-common.rst: New file. + * doc/gccint/host-configuration.rst: New file. + * doc/gccint/host-filesystem.rst: New file. + * doc/gccint/host-makefile-fragments.rst: New file. + * doc/gccint/host-misc.rst: New file. + * doc/gccint/index.rst: New file. + * doc/gccint/indices-and-tables.rst: New file. + * doc/gccint/interfacing-to-gcc-output.rst: New file. + * doc/gccint/introduction.rst: New file. + * doc/gccint/language-front-ends-in-gcc.rst: New file. + * doc/gccint/link-time-optimization.rst: New file. + * doc/gccint/link-time-optimization/design-overview.rst: New file. + * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file. + * doc/gccint/link-time-optimization/lto-file-sections.rst: New file. + * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file. + * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst: + New file. + * doc/gccint/machine-descriptions.rst: New file. + * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file. + * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file. + * doc/gccint/machine-descriptions/conditional-execution.rst: New file. + * doc/gccint/machine-descriptions/constant-definitions.rst: New file. + * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file. + * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file. + * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file. + * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file. + * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file. + * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file. + * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file. + * doc/gccint/machine-descriptions/instruction-attributes.rst: New file. + * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file. + * doc/gccint/machine-descriptions/iterators.rst: New file. + * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file. + * doc/gccint/machine-descriptions/operand-constraints.rst: New file. + * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file. + * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst: + New file. + * doc/gccint/machine-descriptions/predicates.rst: New file. + * doc/gccint/machine-descriptions/rtl-template.rst: New file. + * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file. + * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file. + * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file. + * doc/gccint/makefile-fragments.rst: New file. + * doc/gccint/match-and-simplify.rst: New file. + * doc/gccint/memory-management-and-type-information.rst: New file. + * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst: + New file. + * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst: + New file. + * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst: + New file. + * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file. + * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst: + New file. + * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file. + * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst: + New file. + * doc/gccint/option-file-format.rst: New file. + * doc/gccint/option-properties.rst: New file. + * doc/gccint/option-specification-files.rst: New file. + * doc/gccint/passes-and-files-of-the-compiler.rst: New file. + * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file. + * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst: + New file. + * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file. + * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file. + * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file. + * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file. + * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file. + * doc/gccint/plugins.rst: New file. + * doc/gccint/plugins/building-gcc-plugins.rst: New file. + * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file. + * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file. + * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file. + * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file. + * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file. + * doc/gccint/plugins/loading-plugins.rst: New file. + * doc/gccint/plugins/plugin-api.rst: New file. + * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file. + * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file. + * doc/gccint/rtl-representation.rst: New file. + * doc/gccint/rtl-representation/access-to-operands.rst: New file. + * doc/gccint/rtl-representation/access-to-special-operands.rst: New file. + * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file. + * doc/gccint/rtl-representation/bit-fields.rst: New file. + * doc/gccint/rtl-representation/comparison-operations.rst: New file. + * doc/gccint/rtl-representation/constant-expression-types.rst: New file. + * doc/gccint/rtl-representation/conversions.rst: New file. + * doc/gccint/rtl-representation/declarations.rst: New file. + * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file. + * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file. + * doc/gccint/rtl-representation/insns.rst: New file. + * doc/gccint/rtl-representation/machine-modes.rst: New file. + * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file. + * doc/gccint/rtl-representation/reading-rtl.rst: New file. + * doc/gccint/rtl-representation/registers-and-memory.rst: New file. + * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file. + * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file. + * doc/gccint/rtl-representation/rtl-object-types.rst: New file. + * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file. + * doc/gccint/rtl-representation/side-effect-expressions.rst: New file. + * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file. + * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file. + * doc/gccint/rtl-representation/vector-operations.rst: New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst: + New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst: + New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst: + New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst: + New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst: + New file. + * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file. + * doc/gccint/source-tree-structure-and-build-system.rst: New file. + * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst: + New file. + * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst: + New file. + * doc/gccint/standard-header-file-directories.rst: New file. + * doc/gccint/static-analyzer.rst: New file. + * doc/gccint/target-macros.rst: New file. + * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file. + * doc/gccint/target-macros/addressing-modes.rst: New file. + * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file. + * doc/gccint/target-macros/anchored-addresses.rst: New file. + * doc/gccint/target-macros/c++-abi-parameters.rst: New file. + * doc/gccint/target-macros/condition-code-status.rst: New file. + * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file. + * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file. + * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file. + * doc/gccint/target-macros/d-abi-parameters.rst: New file. + * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file. + * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst: + New file. + * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file. + * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst: + New file. + * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: + New file. + * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file. + * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file. + * doc/gccint/target-macros/emulating-tls.rst: New file. + * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file. + * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file. + * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file. + * doc/gccint/target-macros/miscellaneous-parameters.rst: New file. + * doc/gccint/target-macros/mode-switching-instructions.rst: New file. + * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst: + New file. + * doc/gccint/target-macros/position-independent-code.rst: New file. + * doc/gccint/target-macros/register-classes.rst: New file. + * doc/gccint/target-macros/register-usage.rst: New file. + * doc/gccint/target-macros/run-time-target-specification.rst: New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst: + New file. + * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst: + New file. + * doc/gccint/target-macros/storage-layout.rst: New file. + * doc/gccint/target-macros/support-for-nested-functions.rst: New file. + * doc/gccint/target-macros/the-global-targetm-variable.rst: New file. + * doc/gccint/target-makefile-fragments.rst: New file. + * doc/gccint/testsuites.rst: New test. + * doc/gccint/testsuites/ada-language-testsuites.rst: New test. + * doc/gccint/testsuites/c-language-testsuites.rst: New test. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst: + New test. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst: + New test. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst: + New test. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst: + New test. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst: + New test. + * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst: + New test. + * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test. + * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test. + * doc/gccint/testsuites/support-for-testing-gcov.rst: New test. + * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test. + * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test. + * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test. + * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test. + * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test. + * doc/gccint/the-gcc-low-level-runtime-library.rst: New file. + * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst: + New file. + * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst: + New file. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst: + New file. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst: + New file. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst: + New file. + * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst: + New file. + * doc/gccint/the-language.rst: New file. + * doc/gccint/user-experience-guidelines.rst: New file. + * doc/install/binaries.rst: New file. + * doc/install/building.rst: New file. + * doc/install/building/building-a-cross-compiler.rst: New file. + * doc/install/building/building-a-native-compiler.rst: New file. + * doc/install/building/building-in-parallel.rst: New file. + * doc/install/building/building-the-ada-compiler.rst: New file. + * doc/install/building/building-the-d-compiler.rst: New file. + * doc/install/building/building-with-profile-feedback.rst: New file. + * doc/install/conf.py: New file. + * doc/install/configuration.rst: New file. + * doc/install/copyright.rst: New file. + * doc/install/downloading-gcc.rst: New file. + * doc/install/final-installation.rst: New file. + * doc/install/gnu-free-documentation-license.rst: New file. + * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file. + * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test. + * doc/install/how-to-interpret-test-results.rst: New file. + * doc/install/index.rst: New file. + * doc/install/indices-and-tables.rst: New file. + * doc/install/installing-gcc.rst: New file. + * doc/install/passing-options-and-running-multiple-testsuites.rst: New test. + * doc/install/prerequisites.rst: New file. + * doc/install/submitting-test-results.rst: New file. + * doc/install/testing.rst: New file. + +2022-11-09 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (class foperator_minus): New. + (floating_op_table::floating_op_table): Add MINUS_EXPR entry. + +2022-11-09 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (range_operator_float::fold_range): Abstract + out from foperator_plus. + (range_operator_float::rv_fold): New. + (foperator_plus::fold_range): Remove. + (foperator_plus::rv_fold): New. + (propagate_nans): Remove. + * range-op.h (class range_operator_float): Add rv_fold. + +2022-11-09 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (foperator_plus::fold_range): Set NAN for + addition of different signed infinities. + (range_op_float_tests): New test. + +2022-11-09 liuhongt <hongtao.liu@intel.com> + + PR target/107540 + * config/i386/sse.md (avx512f_movddup512<mask_name>): Change + type from sselog to sselog1. + (avx_movddup256<mask_name>): Ditto. + +2022-11-08 David Faust <david.faust@oracle.com> + + * config/bpf/bpf.cc (struct core_walk_data): Add field `which'... + (bpf_resolve_overloaded_builtin): ... set it here. Use values of enum + bpf_builtins for error checks. + (bpf_core_walk): Use values of enum bpf_builtins. + (bpf_core_newdecl): Likewise. + (bpf_expand_builtin): Likewise. + +2022-11-08 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/24021 + * range-op-float.cc (propagate_nans): New. + (frange_nextafter): New. + (frange_arithmetic): New. + (class foperator_plus): New. + (floating_op_table::floating_op_table): Add PLUS_EXPR entry. + +2022-11-08 Aldy Hernandez <aldyh@redhat.com> + + * real.cc (real_isdenormal): New. + (encode_ieee_single): Call real_isdenormal. + (encode_ieee_double): Same. + (encode_ieee_extended): Same. + (encode_ieee_quad): Same. + (encode_ieee_half): Same. + (encode_arm_bfloat_half): Same. + * real.h (real_isdenormal): Add mode argument. Rewrite for + normalized values. + * value-range.cc (frange::flush_denormals_to_zero): Pass mode to + real_isdenormal. + +2022-11-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107389 + * gimple-low.cc (lower_builtin_assume_aligned): New. + (lower_stmt): Call it. + +2022-11-08 Aldy Hernandez <aldyh@redhat.com> + + * range-op.cc (operator_div::fold_range): Call + update_known_bitmask. + * tree-ssa-ccp.cc (bit_value_binop): Handle divisions by powers of + 2 as a right shift. + +2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com> + + * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument + of GCN_BUILTIN_LDEXPV to V64DFmode. + +2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com> + + * config/gcn/gcn-builtins.def (FABSV, FLOORVF, FLOORV): New builtins. + * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FABSV, + GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV. + +2022-11-08 Aldy Hernandez <aldyh@redhat.com> + + * range-op.cc (irange_to_masked_value): New. + (update_known_bitmask): New. + (operator_mult::fold_range): Call update_known_bitmask. + +2022-11-08 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107547 + * tree-call-cdce.cc (get_no_error_domain): Handle CASE_FLT_FN_FLOATN_NX + of BUILT_IN_{ACOS,ASIN,ACOSH,ATANH,LOG,LOG2,LOG10,LOG1P}. Handle + BUILT_IN_{COSH,SINH,EXP,EXPM1,EXP2}F{16,32,64,128}. + +2022-11-08 Jakub Jelinek <jakub@redhat.com> + + PR target/107546 + * config/i386/predicates.md (vector_or_const_vector_operand): New + predicate. + * config/i386/sse.md (vec_cmp<mode><sseintvecmodelower>, + vec_cmpv2div2di, vec_cmpu<mode><sseintvecmodelower>, + vec_cmpuv2div2di): Use nonimmediate_or_const_vector_operand + predicate instead of nonimmediate_operand and + vector_or_const_vector_operand instead of vector_operand. + * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): For + LE/LEU or GE/GEU with CONST_VECTOR cop1 try to transform those + into LE/LEU or GT/GTU with larger or smaller by one cop1 if + there is no wrap-around. Force CONST_VECTOR cop0 or cop1 into + REG. Formatting fix. + +2022-11-08 Max Filippov <jcmvbkbc@gmail.com> + + PR rtl-optimization/107482 + * ira-color.cc (assign_hard_reg): Only call + update_costs_from_copies when retry_p is false. + +2022-11-08 konglin1 <lingling.kong@intel.com> + + Revert: + 2022-11-07 konglin1 <lingling.kong@intel.com> + + * config/i386/i386.opt:Add -mprefer-remote-atomic. + * config/i386/sync.md (atomic_<plus_logic><mode>): + New define_expand. + (atomic_add<mode>): Rename to below one. + (atomic_add<mode>_1): To this. + (atomic_<logic><mode>): Ditto. + (atomic_<logic><mode>_1): Ditto. + * doc/invoke.texi: Add -mprefer-remote-atomic. + +2022-11-08 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/i386-options.cc (m_CORE_ATOM): New. + * config/i386/x86-tune.def + (X86_TUNE_SCHEDULE): Initial tune for CORE_ATOM. + (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto. + (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto. + (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto. + (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto. + (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): Ditto. + (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto. + (X86_TUNE_USE_LEAVE): Ditto. + (X86_TUNE_PUSH_MEMORY): Ditto. + (X86_TUNE_USE_INCDEC): Ditto. + (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto. + (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto. + (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto. + (X86_TUNE_USE_SAHF): Ditto. + (X86_TUNE_USE_BT): Ditto. + (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto. + (X86_TUNE_ONE_IF_CONV_INSN): Ditto. + (X86_TUNE_AVOID_MFENCE): Ditto. + (X86_TUNE_USE_SIMODE_FIOP): Ditto. + (X86_TUNE_EXT_80387_CONSTANTS): Ditto. + (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto. + (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto. + (X86_TUNE_SSE_TYPELESS_STORES): Ditto. + (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto. + (X86_TUNE_AVOID_4BYTE_PREFIXES): Ditto. + (X86_TUNE_USE_GATHER_2PARTS): Ditto. + (X86_TUNE_USE_GATHER_4PARTS): Ditto. + (X86_TUNE_USE_GATHER): Ditto. + +2022-11-08 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/104530 + * gimple-range-cache.cc (ranger_cache::register_inferred_value): + New. Split from: + (ranger_cache::apply_inferred_ranges): Move setting cache to + separate function. + * gimple-range-cache.h (register_inferred_value): New prototype. + * gimple-range-infer.cc (infer_range_manager::has_range_p): New. + * gimple-range-infer.h (has_range_p): New prototype. + * gimple-range.cc (register_transitive_inferred_ranges): New. + * gimple-range.h (register_transitive_inferred_ranges): New proto. + * tree-vrp.cc (rvrp_folder::fold_stmt): Check for transitive inferred + ranges at the end of the block before folding final stmt. + +2022-11-07 David Faust <david.faust@oracle.com> + + * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo(). + +2022-11-07 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/55157 + * range-op.cc (operator_mult::wi_fold): Optimize multiplications + by powers of 2. + +2022-11-07 H.J. Lu <hjl.tools@gmail.com> + + PR middle-end/102566 + * tree-ssa-ccp.cc (optimize_atomic_bit_test_and): Also handle + if (_5 < 0) and if (_5 >= 0). + +2022-11-07 Richard Purdie <richard.purdie@linuxfoundation.org> + + * file-prefix-map.cc (remap_filename): Handle NULL filenames. + +2022-11-07 Alexander Monakov <amonakov@ispras.ru> + + PR tree-optimization/107505 + * tree-ssa-sink.cc (statement_sink_location): Additionally + reject ECF_RETURNS_TWICE calls. + +2022-11-07 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107541 + * range-op.cc (operator_div::fold_range): Restrict power of 2 + optimization to positive numbers. + +2022-11-07 Richard Biener <rguenther@suse.de> + + * tree-ssa-loop-unswitch.cc (unswitch_predicate::count): New. + (unswitch_predicate::unswitch_predicate): Initialize count. + (init_loop_unswitch_info): First collect candidates and + determine the outermost loop to unswitch. + (tree_ssa_unswitch_loops): First perform all guard hoisting, + then perform unswitching on innermost loop predicates. + (find_unswitching_predicates_for_bb): Keep track of the + most profitable predicate to unswitch on. + (tree_unswitch_single_loop): Unswitch given predicate if + not NULL. + +2022-11-07 Martin Liska <mliska@suse.cz> + Gerald Pfeifer <gerald@pfeifer.com> + + * doc/invoke.texi: Improve wording. + +2022-11-07 Martin Liska <mliska@suse.cz> + + * range-op.cc: Add final override keywords. + +2022-11-07 Kewen Lin <linkw@linux.ibm.com> + + PR tree-optimization/107412 + * gimple-fold.cc (gimple_fold_mask_load_store_mem_ref): Rename to ... + (gimple_fold_partial_load_store_mem_ref): ... this, add one parameter + mask_p indicating it's for mask or length, and add some handlings for + IFN LEN_{LOAD,STORE}. + (gimple_fold_mask_load): Rename to ... + (gimple_fold_partial_load): ... this, add one parameter mask_p. + (gimple_fold_mask_store): Rename to ... + (gimple_fold_partial_store): ... this, add one parameter mask_p. + (gimple_fold_call): Add the handlings for IFN LEN_{LOAD,STORE}, + and adjust calls on gimple_fold_mask_load_store_mem_ref to + gimple_fold_partial_load_store_mem_ref. + +2022-11-07 Hu, Lin1 <lin1.hu@intel.com> + + * common/config/i386/cpuinfo.h + (get_intel_cpu): Handle Grand Ridge. + * common/config/i386/i386-common.cc + (processor_names): Add grandridge. + (processor_alias_table): Ditto. + * common/config/i386/i386-cpuinfo.h: + (enum processor_types): Add INTEL_GRANDRIDGE. + * config.gcc: Add -march=grandridge. + * config/i386/driver-i386.cc (host_detect_local_cpu): + Handle grandridge. + * config/i386/i386-c.cc (ix86_target_macros_internal): + Ditto. + * config/i386/i386-options.cc (m_GRANDRIDGE): New define. + (processor_cost_table): Add grandridge. + * config/i386/i386.h (enum processor_type): + Add PROCESSOR_GRANDRIDGE. + (PTA_GRANDRIDGE): Ditto. + * doc/extend.texi: Add grandridge. + * doc/invoke.texi: Ditto. + +2022-11-07 konglin1 <lingling.kong@intel.com> + + * config/i386/i386.opt:Add -mprefer-remote-atomic. + * config/i386/sync.md (atomic_<plus_logic><mode>): + New define_expand. + (atomic_add<mode>): Rename to below one. + (atomic_add<mode>_1): To this. + (atomic_<logic><mode>): Ditto. + (atomic_<logic><mode>_1): Ditto. + * doc/invoke.texi: Add -mprefer-remote-atomic. + +2022-11-07 konglin1 <lingling.kong@intel.com> + + * common/config/i386/cpuinfo.h (get_available_features): + Detect raoint. + * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_RAOINT_SET, + OPTION_MASK_ISA2_RAOINT_UNSET): New. + (ix86_handle_option): Handle -mraoint. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_RAOINT. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + raoint. + * config.gcc: Add raointintrin.h + * config/i386/cpuid.h (bit_RAOINT): New. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __RAOINT__. + * config/i386/i386-isa.def (RAOINT): Add DEF_PTA(RAOINT). + * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): + Add -mraoint. + * config/i386/sync.md (rao_a<raointop><mode>): New define insn. + * config/i386/i386.opt: Add option -mraoint. + * config/i386/x86gprintrin.h: Include raointintrin.h. + * doc/extend.texi: Document raoint. + * doc/invoke.texi: Document -mraoint. + * doc/sourcebuild.texi: Document target raoint. + * config/i386/raointintrin.h: New file. + +2022-11-07 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h + (get_intel_cpu): Handle Granite Rapids. + * common/config/i386/i386-common.cc: + (processor_names): Add graniterapids. + (processor_alias_table): Ditto. + * common/config/i386/i386-cpuinfo.h + (enum processor_subtypes): Add INTEL_GRANTIERAPIDS. + * config.gcc: Add -march=graniterapids. + * config/i386/driver-i386.cc (host_detect_local_cpu): + Handle graniterapids. + * config/i386/i386-c.cc (ix86_target_macros_internal): + Ditto. + * config/i386/i386-options.cc (m_GRANITERAPIDS): New. + (processor_cost_table): Add graniterapids. + * config/i386/i386.h (enum processor_type): + Add PROCESSOR_GRANITERAPIDS. + (PTA_GRANITERAPIDS): Ditto. + * doc/extend.texi: Add graniterapids. + * doc/invoke.texi: Ditto. + +2022-11-07 Haochen Jiang <haochen.jiang@intel.com> + Hongtao Liu <hongtao.liu@intel.com> + + * common/config/i386/cpuinfo.h (get_available_features): + Detect PREFETCHI. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_PREFETCHI_SET, + OPTION_MASK_ISA2_PREFETCHI_UNSET): New. + (ix86_handle_option): Handle -mprefetchi. + * common/config/i386/i386-cpuinfo.h + (enum processor_features): Add FEATURE_PREFETCHI. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY + for prefetchi. + * config.gcc: Add prfchiintrin.h. + * config/i386/cpuid.h (bit_PREFETCHI): New. + * config/i386/i386-builtin-types.def: + Add DEF_FUNCTION_TYPE (VOID, PCVOID, INT) + and DEF_FUNCTION_TYPE (VOID, PCVOID, INT, INT, INT). + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-c.cc (ix86_target_macros_internal): + Define __PREFETCHI__. + * config/i386/i386-expand.cc: Handle new builtins. + * config/i386/i386-isa.def (PREFETCHI): + Add DEF_PTA(PREFETCHI). + * config/i386/i386-options.cc + (ix86_valid_target_attribute_inner_p): Handle prefetchi. + * config/i386/i386.md (prefetchi): New define_insn. + * config/i386/i386.opt: Add option -mprefetchi. + * config/i386/predicates.md (local_func_symbolic_operand): + New predicates. + * config/i386/x86gprintrin.h: Include prfchiintrin.h. + * config/i386/xmmintrin.h (enum _mm_hint): New enum for + prefetchi. + (_mm_prefetch): Handle the highest bit of enum. + * doc/extend.texi: Document prefetchi. + * doc/invoke.texi: Document -mprefetchi. + * doc/sourcebuild.texi: Document target prefetchi. + * config/i386/prfchiintrin.h: New file. + +2022-11-06 Uroš Bizjak <ubizjak@gmail.com> + + * optabs.cc (can_vec_set_var_idx_p): Use operand[2] + mode when checking vec_set_optab. + +2022-11-06 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): New unspec. + (type): Add fcopysign. + (copysign<mode>3): New instruction template. + +2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> + + * multiple_target.cc (expand_target_clones): Free memory. + +2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> + + * cgraph.cc (cgraph_node::make_local): Remove redundant set_section. + * multiple_target.cc (create_dispatcher_calls): Likewise. + +2022-11-05 Jonathan Wakely <jwakely@redhat.com> + + PR c/41041 + * doc/cppopts.texi: Document -fwide-exec-charset defaults + correctly. + +2022-11-05 Alexandre Oliva <oliva@adacore.com> + + * common.opt (fmultiflags): New. + * doc/invoke.texi: Document it. + * gcc.cc (driver_self_specs): Discard it. + * opts.cc (common_handle_option): Ignore it in the driver. + +2022-11-04 Jeff Chapman II <jchapman@lock3software.com> + Jason Merrill <jason@redhat.com> + + * input.cc (get_source_text_between): New fn. + * input.h (get_source_text_between): Declare. + +2022-11-04 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107342 + * range-op.cc (operator_mult::fold_range): New. + (operator_div::fold_range): New. + +2022-11-04 Eric Botcazou <ebotcazou@adacore.com> + + * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>: + Do not take into account operand 2. + (operand_compare::hash_operand) <COMPONENT_REF>: Likewise. + +2022-11-04 Eric Botcazou <ebotcazou@adacore.com> + + * expr.cc (emit_group_store): Do not use subword paradoxical subregs + +2022-11-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/aarch64-sve2.md: Fix typo in Cryptographic + extensions comment. + +2022-11-04 Thomas Schwinge <thomas@codesourcery.com> + + * config.gcc [target *-intelmic-* | *-intelmicemul-*]: Remove. + * config/i386/i386-options.cc (ix86_omp_device_kind_arch_isa) + [ACCEL_COMPILER]: Remove. + * config/i386/intelmic-mkoffload.cc: Remove. + * config/i386/intelmic-offload.h: Likewise. + * config/i386/t-intelmic: Likewise. + * config/i386/t-omp-device: Likewise. + * configure.ac [target *-intelmic-* | *-intelmicemul-*]: Remove. + * configure: Regenerate. + * doc/install.texi (--enable-offload-targets=[...]): Update. + * doc/sourcebuild.texi: Remove 'liboffloadmic' documentation. + +2022-11-04 Thomas Schwinge <thomas@codesourcery.com> + + * Makefile.in (OBJS): Remove 'dbxout.o'. + * config/nvptx/nvptx.cc: Don't '#include "dbxout.h"'. + * dbxout.cc: Remove. + * dbxout.h: Likewise. + * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): + Default to 'default_asm_out_constructor', + 'default_asm_out_destructor'. + * targhooks.cc (default_asm_out_constructor) + (default_asm_out_destructor): New. + * targhooks.h (default_asm_out_constructor) + (default_asm_out_destructor): Declare. + +2022-11-04 Thomas Schwinge <thomas@codesourcery.com> + + * Makefile.in (OBJS): Add 'dbxout.o'. + * config/nvptx/nvptx.cc: '#include "dbxout.h"'. + * dbxout.cc: New. + * dbxout.h: Likewise. + * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): + Default to 'default_stabs_asm_out_constructor', + 'default_stabs_asm_out_destructor'. + +2022-11-04 Hongyu Wang <hongyu.wang@intel.com> + Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h (get_available_features): Detect + amx-fp16. + * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_FP16_SET, + OPTION_MASK_ISA2_AMX_FP16_UNSET): New macros. + (ix86_handle_option): Handle -mamx-fp16. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_AMX_FP16. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + amx-fp16. + * config.gcc: Add amxfp16intrin.h. + * config/i386/cpuid.h (bit_AMX_FP16): New. + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __AMX_FP16__. + * config/i386/i386-isa.def: Add DEF_PTA for AMX_FP16. + * config/i386/i386-options.cc (isa2_opts): Add -mamx-fp16. + (ix86_valid_target_attribute_inner_p): Add new ATTR. + (ix86_option_override_internal): Handle AMX-FP16. + * config/i386/i386.opt: Add -mamx-fp16. + * config/i386/immintrin.h: Include amxfp16intrin.h. + * doc/extend.texi: Document -mamx-fp16. + * doc/invoke.texi: Document amx-fp16. + * doc/sourcebuild.texi: Document amx_fp16. + * config/i386/amxfp16intrin.h: New file. + +2022-11-04 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h (get_intel_cpu): + Add Sierra Forest. + * common/config/i386/i386-common.cc + (processor_names): Add Sierra Forest. + (processor_alias_table): Ditto. + * common/config/i386/i386-cpuinfo.h + (enum processor_types): Add INTEL_SIERRAFOREST. + * config.gcc: Add -march=sierraforest. + * config/i386/driver-i386.cc (host_detect_local_cpu): + Handle Sierra Forest. + * config/i386/i386-c.cc (ix86_target_macros_internal): + Ditto. + * config/i386/i386-options.cc (m_SIERRAFOREST): New define. + (processor_cost_table): Add sierra forest. + * config/i386/i386.h (enum processor_type): + Add PROCESSOR_SIERRA_FOREST. + (PTA_SIERRAFOREST): Ditto. + * doc/extend.texi: Add sierra forest. + * doc/invoke.texi: Ditto. + +2022-11-04 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h (get_available_features): + Detect cmpccxadd. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_CMPCCXADD_SET, + OPTION_MASK_ISA2_CMPCCXADD_UNSET): New. + (ix86_handle_option): Handle -mcmpccxadd. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_CMPCCXADD. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + cmpccxadd. + * config.gcc: Add cmpccxaddintrin.h. + * config/i386/cpuid.h (bit_CMPCCXADD): New. + * config/i386/i386-builtin-types.def: + Add DEF_FUNCTION_TYPE(INT, PINT, INT, INT, INT) + and DEF_FUNCTION_TYPE(LONGLONG, PLONGLONG, LONGLONG, LONGLONG, INT). + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __CMPCCXADD__. + * config/i386/i386-expand.cc (ix86_expand_special_args_builtin): + Add new parameter to indicate constant position. + Handle INT_FTYPE_PINT_INT_INT_INT + and LONGLONG_FTYPE_PLONGLONG_LONGLONG_LONGLONG_INT. + * config/i386/i386-isa.def (CMPCCXADD): Add DEF_PTA(CMPCCXADD). + * config/i386/i386-options.cc (isa2_opts): Add -mcmpccxadd. + (ix86_valid_target_attribute_inner_p): Handle cmpccxadd. + * config/i386/i386.opt: Add option -mcmpccxadd. + * config/i386/sync.md (cmpccxadd_<mode>): New define insn. + * config/i386/x86gprintrin.h: Include cmpccxaddintrin.h. + * doc/extend.texi: Document cmpccxadd. + * doc/invoke.texi: Document -mcmpccxadd. + * doc/sourcebuild.texi: Document target cmpccxadd. + * config/i386/cmpccxaddintrin.h: New file. + +2022-11-03 Jason Merrill <jason@redhat.com> + + * doc/invoke.texi: -fconcepts no longer implies + -fconcepts-ts before C++20. + +2022-11-03 Kwok Cheung Yeung <kcy@codesourcery.com> + + * config/gcn/gcn-valu.md (math_unop_insn): New attribute. + (<math_unop><mode>2, <math_unop><mode>2<exec>, <math_unop><mode>2, + <math_unop><mode>2<exec>, *<math_unop><mode>2_insn, + *<math_unop><mode>2<exec>_insn): Use math_unop_insn to generate + assembler output. + +2022-11-03 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range.cc (gimple_ranger::update_stmt): New. + * gimple-range.h (gimple_ranger::update_stmt): New prototype. + * tree-ssa-operands.cc (update_stmt_operands): Notify range + query that stmt has changed. + * value-query.h (range_query::update_stmt): New. + +2022-11-03 David Malcolm <dmalcolm@redhat.com> + + * make-unique.h: New file. + +2022-11-03 Uroš Bizjak <ubizjak@gmail.com> + + PR target/107404 + * config/i386/i386.md (eliminate reg-reg move by inverting the + condition of a cmove #2 peephole2): Check if eliminated move + initialized a register, used in the moved instruction. + +2022-11-03 Andrew Stubbs <ams@codesourcery.com> + + PR target/107510 + * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Remove duplicate + UNSPEC_SMIN_DPP_SHR conditionals. + +2022-11-02 Christoph Müllner <christoph.muellner@vrull.eu> + + * common/config/riscv/riscv-common.cc: Add zawrs extension. + * config/riscv/riscv-opts.h (MASK_ZAWRS): New. + (TARGET_ZAWRS): New. + * config/riscv/riscv.opt: New. + +2022-11-02 Rasmus Villemoes <rv@rasmusvillemoes.dk> + + PR driver/93371 + * gcc.cc (ASM_MAP): Honour -ffile-prefix-map. + +2022-11-02 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::contains_p): Fix signed zero handling. + (range_tests_signed_zeros): New test. + +2022-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN. + +2022-11-02 Xionghu Luo <xionghuluo@tencent.com> + + PR target/100866 + * config/rs6000/altivec.md: (*altivec_vrl<VI_char>): Named to... + (altivec_vrl<VI_char>): ...this. + * config/rs6000/vsx.md (revb_<mode>): Call vspltish and vrlh when + target is Power8 and mode is V8HI. + +2022-11-01 David Seifert <soap@gentoo.org> + + * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h). + * configure: Regenerate. + +2022-11-01 Richard Purdie <richard.purdie@linuxfoundation.org> + + * file-prefix-map.cc (remap_filename): Allow remapping of relative paths. + +2022-11-01 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107490 + * range-op-float.cc (foperator_unordered_lt::op1_range): Handle + NANs. + (foperator_unordered_lt::op2_range): Same. + (foperator_unordered_le::op1_range): Same. + (foperator_unordered_le::op2_range): Same. + (foperator_unordered_gt::op1_range): Same. + (foperator_unordered_gt::op2_range): Same. + (foperator_unordered_ge::op1_range): Same. + (foperator_unordered_ge::op2_range): Same. + +2022-11-01 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/107497 + * tree-vrp.cc (remove_unreachable::remove_and_update_globals): + Check that ssa-name still exists before accessing it. + +2022-11-01 Andrew MacLeod <amacleod@redhat.com> + + * params.opt (param_vrp1_mode): Make ranger default. + +2022-11-01 Andrew MacLeod <amacleod@redhat.com> + + * tree-vrp.cc (class remove_unreachable): New. + (remove_unreachable::maybe_register_block): New. + (remove_unreachable::remove_and_update_globals): New. + (rvrp_folder::rvrp_folder): Initialize m_unreachable. + (rvrp_folder::post_fold_bb): Maybe register unreachable block. + (rvrp_folder::m_unreachable): New member. + (execute_ranger_vrp): Add final_pass flag, remove unreachables. + +2022-11-01 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::fill_block_cache): Allow + exit block to be specified. + (ranger_cache::range_from_dom): If exit block is specified, use + the immediate predecessor instead of the dominator to start. + * gimple-range.cc (gimple_ranger::range_on_exit): Allow query + for exit block. + +2022-11-01 Andrew MacLeod <amacleod@redhat.com> + + * value-range.cc (irange::intersect_nonzero_bits): If new + non-zero mask is the same as original, flag no change. + +2022-11-01 Alexander Monakov <amonakov@ispras.ru> + + PR target/87832 + * config/i386/znver.md (znver1_idiv): New automaton. + (znver1-idiv): New unit. + (znver1_idiv_DI): Correct unit and cycles in the reservation. + (znver1_idiv_SI): Ditto. + (znver1_idiv_HI): Ditto. + (znver1_idiv_QI): Ditto. + (znver1_idiv_mem_DI): Ditto. + (znver1_idiv_mem_SI): Ditto. + (znver1_idiv_mem_HI): Ditto. + (znver1_idiv_mem_QI): Ditto. + (znver3_idiv_DI): Ditto. + (znver3_idiv_SI): Ditto. + (znver3_idiv_HI): Ditto. + (znver3_idiv_QI): Ditto. + (znver3_idiv_mem_DI): Ditto. + (znver3_idiv_mem_SI): Ditto. + (znver3_idiv_mem_HI): Ditto. + (znver3_idiv_mem_QI): Ditto. + +2022-11-01 liuhongt <hongtao.liu@intel.com> + + PR target/107057 + * config/i386/sse.md (*vec_interleave_highv2df): Remove + constraint 1. + (*vec_interleave_lowv2df): Ditto. + (vec_concatv2df): Ditto. + (*avx512f_unpcklpd512<mask_name>): Ditto and renamed to .. + (avx512f_unpcklpd512<mask_name>): .. this. + (avx512f_movddup512<mask_name>): Change to define_insn. + (avx_movddup256<mask_name>): Ditto. + (*avx_unpcklpd256<mask_name>): Remove constraint 1 and renamed + to .. + (avx_unpcklpd256<mask_name>): .. this. + * config/i386/i386.cc (ix86_vec_interleave_v2df_operator_ok): + Disallow MEM_P (op1) && MEM_P (op2). + +2022-11-01 liuhongt <hongtao.liu@intel.com> + + PR target/55583 + * config/i386/i386.md (*x86_64_shld_1): Rename to .. + (x86_64_shld_1): .. this. + (*x86_shld_1): Rename to .. + (x86_shld_1): .. this. + (*x86_64_shrd_1): Rename to .. + (x86_64_shrd_1): .. this. + (*x86_shrd_1): Rename to .. + (x86_shrd_1): .. this. + (*x86_64_shld_shrd_1_nozext): New pre_reload splitter. + (*x86_shld_shrd_1_nozext): Ditto. + (*x86_64_shrd_shld_1_nozext): Ditto. + (*x86_shrd_shld_1_nozext): Ditto. + +2022-11-01 Cui,Lili <lili.cui@intel.com> + + * ipa-inline-analysis.cc (do_estimate_edge_time): Add function attribute + judgement for INLINE_HINT_known_hot hint. + +2022-10-31 Guillermo E. Martinez <guillermo.e.martinez@oracle.com> + + * btfout.cc (btf_calc_num_vbytes): Compute enumeration size depending of + enumerator type btf_enum{,64}. + (btf_asm_type): Update btf_kflag according to enumeration type sign + using dtd_enum_unsigned field for both: BTF_KIND_ENUM{,64}. + (btf_asm_enum_const): New argument to represent the size of + the BTF enum type, writing the enumerator constant value for + 32 bits, if it's 64 bits then explicitly writes lower 32-bits + value and higher 32-bits value. + (output_asm_btf_enum_list): Add enumeration size argument. + * ctfc.cc (ctf_add_enum): New argument to represent CTF enum + basic information. + (ctf_add_generic): Use of ei_{name. size, unsigned} to build the + dtd structure containing enumeration information. + (ctf_add_enumerator): Update comment mention support for BTF + enumeration in 64-bits. + * dwarf2ctf.cc (gen_ctf_enumeration_type): Extract signedness + for enumeration type and use it in ctf_add_enum. + * ctfc.h (ctf_dmdef): Update dmd_value to HOST_WIDE_INT to allow + use 32/64 bits enumerators. + information. + (ctf_dtdef): New field to describe enum signedness. + +2022-10-31 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-builtins-bases.cc: Change constexpr back to CONSTEXPR. + * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Ditto. + * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Ditto. + +2022-10-31 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn-valu.md (fminmaxop): New iterator. + (<fexpander><mode>3): New define_expand. + (<fexpander><mode>3<exec>): Likewise. + (reduc_<fexpander>_scal_<mode>): Likewise. + * config/gcn/gcn.md (fexpander): New attribute. + +2022-10-31 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn-valu.md (V64_SI): Delete iterator. + (V64_DI): Likewise. + (V64_1REG): Likewise. + (V64_INT_1REG): Likewise. + (V64_2REG): Likewise. + (V64_ALL): Likewise. + (V64_FP): Likewise. + (reduc_<reduc_op>_scal_<mode>): Use V_ALL. Use gen_vec_extract. + (fold_left_plus_<mode>): Use V_FP. + (*<reduc_op>_dpp_shr_<mode>): Use V_1REG. + (*<reduc_op>_dpp_shr_<mode>): Use V_DI. + (*plus_carry_dpp_shr_<mode>): Use V_INT_1REG. + (*plus_carry_in_dpp_shr_<mode>): Use V_SI. + (*plus_carry_dpp_shr_<mode>): Use V_DI. + (mov_from_lane63_<mode>): Delete. + (mov_from_lane63_<mode>): Delete. + * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Support partial vectors. + * config/gcn/gcn.md (unspec): Remove UNSPEC_MOV_FROM_LANE63. + +2022-10-31 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): + Set base_type as ARG_UNUSED. + +2022-10-31 Jakub Jelinek <jakub@redhat.com> + + * builtin-types.def (BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT32, + BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT32X, + BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT128X, + BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16, + BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32, + BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64, + BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128, + BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X, + BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X, + BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X, + BT_FN_FLOAT16_COMPLEX_FLOAT16, BT_FN_FLOAT32_COMPLEX_FLOAT32, + BT_FN_FLOAT64_COMPLEX_FLOAT64, BT_FN_FLOAT128_COMPLEX_FLOAT128, + BT_FN_FLOAT32X_COMPLEX_FLOAT32X, BT_FN_FLOAT64X_COMPLEX_FLOAT64X, + BT_FN_FLOAT128X_COMPLEX_FLOAT128X, + BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16_COMPLEX_FLOAT16, + BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32_COMPLEX_FLOAT32, + BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64_COMPLEX_FLOAT64, + BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128_COMPLEX_FLOAT128, + BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X, + BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X, + BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X): New. + * builtins.def (CABS_TYPE, CACOSH_TYPE, CARG_TYPE, CASINH_TYPE, + CPOW_TYPE, CPROJ_TYPE): Define and undefine later. + (BUILT_IN_CABS, BUILT_IN_CACOSH, BUILT_IN_CACOS, BUILT_IN_CARG, + BUILT_IN_CASINH, BUILT_IN_CASIN, BUILT_IN_CATANH, BUILT_IN_CATAN, + BUILT_IN_CCOSH, BUILT_IN_CCOS, BUILT_IN_CEXP, BUILT_IN_CLOG, + BUILT_IN_CPOW, BUILT_IN_CPROJ, BUILT_IN_CSINH, BUILT_IN_CSIN, + BUILT_IN_CSQRT, BUILT_IN_CTANH, BUILT_IN_CTAN): Add + DEF_EXT_LIB_FLOATN_NX_BUILTINS. + * fold-const-call.cc (fold_const_call_sc, fold_const_call_cc, + fold_const_call_ccc): Add various CASE_CFN_*_FN: cases when + CASE_CFN_* is present. + * gimple-ssa-backprop.cc (backprop::process_builtin_call_use): + Likewise. + * builtins.cc (expand_builtin, fold_builtin_1): Likewise. + * fold-const.cc (negate_mathfn_p, tree_expr_finite_p, + tree_expr_maybe_signaling_nan_p, tree_expr_maybe_nan_p, + tree_expr_maybe_real_minus_zero_p, tree_call_nonnegative_warnv_p): + Likewise. + +2022-10-31 Jakub Jelinek <jakub@redhat.com> + + * builtin-types.def (BT_FN_BFLOAT16_BFLOAT16_BFLOAT16): New. + * builtins.def (BUILT_IN_NEXTAFTERF16B): New builtin. + * fold-const-call.cc (fold_const_call_sss): Handle + CFN_BUILT_IN_NEXTAFTERF16B. + +2022-10-31 Jakub Jelinek <jakub@redhat.com> + + * builtin-types.def (BT_FLOAT16_PTR, BT_FLOAT32_PTR, BT_FLOAT64_PTR, + BT_FLOAT128_PTR, BT_FLOAT32X_PTR, BT_FLOAT64X_PTR, BT_FLOAT128X_PTR): + New DEF_PRIMITIVE_TYPE. + (BT_FN_INT_FLOAT16, BT_FN_INT_FLOAT32, BT_FN_INT_FLOAT64, + BT_FN_INT_FLOAT128, BT_FN_INT_FLOAT32X, BT_FN_INT_FLOAT64X, + BT_FN_INT_FLOAT128X, BT_FN_LONG_FLOAT16, BT_FN_LONG_FLOAT32, + BT_FN_LONG_FLOAT64, BT_FN_LONG_FLOAT128, BT_FN_LONG_FLOAT32X, + BT_FN_LONG_FLOAT64X, BT_FN_LONG_FLOAT128X, BT_FN_LONGLONG_FLOAT16, + BT_FN_LONGLONG_FLOAT32, BT_FN_LONGLONG_FLOAT64, + BT_FN_LONGLONG_FLOAT128, BT_FN_LONGLONG_FLOAT32X, + BT_FN_LONGLONG_FLOAT64X, BT_FN_LONGLONG_FLOAT128X): New + DEF_FUNCTION_TYPE_1. + (BT_FN_FLOAT16_FLOAT16_FLOAT16PTR, BT_FN_FLOAT32_FLOAT32_FLOAT32PTR, + BT_FN_FLOAT64_FLOAT64_FLOAT64PTR, BT_FN_FLOAT128_FLOAT128_FLOAT128PTR, + BT_FN_FLOAT32X_FLOAT32X_FLOAT32XPTR, + BT_FN_FLOAT64X_FLOAT64X_FLOAT64XPTR, + BT_FN_FLOAT128X_FLOAT128X_FLOAT128XPTR, BT_FN_FLOAT16_FLOAT16_INT, + BT_FN_FLOAT32_FLOAT32_INT, BT_FN_FLOAT64_FLOAT64_INT, + BT_FN_FLOAT128_FLOAT128_INT, BT_FN_FLOAT32X_FLOAT32X_INT, + BT_FN_FLOAT64X_FLOAT64X_INT, BT_FN_FLOAT128X_FLOAT128X_INT, + BT_FN_FLOAT16_FLOAT16_INTPTR, BT_FN_FLOAT32_FLOAT32_INTPTR, + BT_FN_FLOAT64_FLOAT64_INTPTR, BT_FN_FLOAT128_FLOAT128_INTPTR, + BT_FN_FLOAT32X_FLOAT32X_INTPTR, BT_FN_FLOAT64X_FLOAT64X_INTPTR, + BT_FN_FLOAT128X_FLOAT128X_INTPTR, BT_FN_FLOAT16_FLOAT16_LONG, + BT_FN_FLOAT32_FLOAT32_LONG, BT_FN_FLOAT64_FLOAT64_LONG, + BT_FN_FLOAT128_FLOAT128_LONG, BT_FN_FLOAT32X_FLOAT32X_LONG, + BT_FN_FLOAT64X_FLOAT64X_LONG, BT_FN_FLOAT128X_FLOAT128X_LONG): New + DEF_FUNCTION_TYPE_2. + (BT_FN_FLOAT16_FLOAT16_FLOAT16_INTPTR, + BT_FN_FLOAT32_FLOAT32_FLOAT32_INTPTR, + BT_FN_FLOAT64_FLOAT64_FLOAT64_INTPTR, + BT_FN_FLOAT128_FLOAT128_FLOAT128_INTPTR, + BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_INTPTR, + BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_INTPTR, + BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_INTPTR): New DEF_FUNCTION_TYPE_3. + * builtins.def (ACOSH_TYPE, ATAN2_TYPE, ATANH_TYPE, COSH_TYPE, + FDIM_TYPE, HUGE_VAL_TYPE, HYPOT_TYPE, ILOGB_TYPE, LDEXP_TYPE, + LGAMMA_TYPE, LLRINT_TYPE, LOG10_TYPE, LRINT_TYPE, MODF_TYPE, + NEXTAFTER_TYPE, REMQUO_TYPE, SCALBLN_TYPE, SCALBN_TYPE, SINH_TYPE): + Define and undefine later. + (FMIN_TYPE, SQRT_TYPE): Undefine at a later line. + (INF_TYPE): Define at a later line. + (BUILT_IN_ACOSH, BUILT_IN_ACOS, BUILT_IN_ASINH, BUILT_IN_ASIN, + BUILT_IN_ATAN2, BUILT_IN_ATANH, BUILT_IN_ATAN, BUILT_IN_CBRT, + BUILT_IN_COSH, BUILT_IN_COS, BUILT_IN_ERFC, BUILT_IN_ERF, + BUILT_IN_EXP2, BUILT_IN_EXP, BUILT_IN_EXPM1, BUILT_IN_FDIM, + BUILT_IN_FMOD, BUILT_IN_FREXP, BUILT_IN_HYPOT, BUILT_IN_ILOGB, + BUILT_IN_LDEXP, BUILT_IN_LGAMMA, BUILT_IN_LLRINT, BUILT_IN_LLROUND, + BUILT_IN_LOG10, BUILT_IN_LOG1P, BUILT_IN_LOG2, BUILT_IN_LOGB, + BUILT_IN_LOG, BUILT_IN_LRINT, BUILT_IN_LROUND, BUILT_IN_MODF, + BUILT_IN_NEXTAFTER, BUILT_IN_POW, BUILT_IN_REMAINDER, BUILT_IN_REMQUO, + BUILT_IN_SCALBLN, BUILT_IN_SCALBN, BUILT_IN_SINH, BUILT_IN_SIN, + BUILT_IN_TANH, BUILT_IN_TAN, BUILT_IN_TGAMMA): Add + DEF_EXT_LIB_FLOATN_NX_BUILTINS. + (BUILT_IN_HUGE_VAL): Use HUGE_VAL_TYPE instead of INF_TYPE in + DEF_GCC_FLOATN_NX_BUILTINS. + * fold-const-call.cc (fold_const_call_ss): Add various CASE_CFN_*_FN: + cases when CASE_CFN_* is present. + (fold_const_call_sss): Likewise. + * builtins.cc (mathfn_built_in_2): Use CASE_MATHFN_FLOATN instead of + CASE_MATHFN for various builtins in SEQ_OF_CASE_MATHFN macro. + (builtin_with_linkage_p): Add CASE_FLT_FN_FLOATN_NX for various + builtins next to CASE_FLT_FN. + * fold-const.cc (tree_call_nonnegative_warnv_p): Add CASE_CFN_*_FN: + next to CASE_CFN_*: for various builtins. + * tree-call-cdce.cc (can_test_argument_range): Add + CASE_FLT_FN_FLOATN_NX next to CASE_FLT_FN for various builtins. + (edom_only_function): Likewise. + +2022-10-31 konglin1 <lingling.kong@intel.com> + + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AVXNECONVERT_SET, + OPTION_MASK_ISA2_AVXNECONVERT_UNSET): New. + (ix86_handle_option): Handle -mavxneconvert, unset + avxneconvert when avx2 is disabled. + * common/config/i386/i386-cpuinfo.h (processor_types): Add + FEATURE_AVXNECONVERT. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + avxneconvert. + * common/config/i386/cpuinfo.h (get_available_features): + Detect avxneconvert. + * config.gcc: Add avxneconvertintrin.h + * config/i386/avxneconvertintrin.h: New. + * config/i386/avx512bf16vlintrin.h (_mm256_cvtneps_pbh): + Unified builtin with avxneconvert. + (_mm_cvtneps_pbh): Ditto. + * config/i386/cpuid.h (bit_AVXNECONVERT): New. + * config/i386/i386-builtin-types.def: Add + DEF_POINTER_TYPE (PCV8HF, V8HF, CONST), + DEF_POINTER_TYPE (PCV8BF, V8BF, CONST), + DEF_POINTER_TYPE (PCV16HF, V16HF, CONST), + DEF_POINTER_TYPE (PCV16BF, V16BF, CONST), + DEF_FUNCTION_TYPE (V4SF, PCBFLOAT16), + DEF_FUNCTION_TYPE (V4SF, PCFLOAT16), + DEF_FUNCTION_TYPE (V8SF, PCBFLOAT16), + DEF_FUNCTION_TYPE (V8SF, PCFLOAT16), + DEF_FUNCTION_TYPE (V4SF, PCV8BF), + DEF_FUNCTION_TYPE (V4SF, PCV8HF), + DEF_FUNCTION_TYPE (V8SF, PCV16HF), + DEF_FUNCTION_TYPE (V8SF, PCV16BF), + * config/i386/i386-builtin.def: Add new builtins. + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __AVXNECONVERT__. + * config/i386/i386-expand.cc (ix86_expand_special_args_builtin): + Handle V4SF_FTYPE_PCBFLOAT16,V8SF_FTYPE_PCBFLOAT16, V4SF_FTYPE_PCFLOAT16, + V8SF_FTYPE_PCFLOAT16,V4SF_FTYPE_PCV8BF, + V4SF_FTYPE_PCV8HF,V8SF_FTYPE_PCV16BF,V8SF_FTYPE_PCV16HF. + * config/i386/i386-isa.def : Add DEF_PTA(AVXNECONVERT) New. + * config/i386/i386-options.cc (isa2_opts): Add -mavxneconvert. + (ix86_valid_target_attribute_inner_p): Handle avxneconvert. + * config/i386/i386.md: Add attr avx512bf16vl and avxneconvert. + * config/i386/i386.opt: Add option -mavxneconvert. + * config/i386/immintrin.h: Inculde avxneconvertintrin.h. + * config/i386/sse.md (vbcstnebf162ps_<mode>): New define_insn. + (vbcstnesh2ps_<mode>): Ditto. + (vcvtnee<bf16_ph>2ps_<mode>):Ditto. + (vcvtneo<bf16_ph>2ps_<mode>):Ditto. + (vcvtneps2bf16_v4sf): Ditto. + (*vcvtneps2bf16_v4sf): Ditto. + (vcvtneps2bf16_v8sf): Ditto. + * doc/invoke.texi: Document -mavxneconvert. + * doc/extend.texi: Document avxneconvert. + * doc/sourcebuild.texi: Document target avxneconvert. + +2022-10-31 konglin1 <lingling.kong@intel.com> + + * config/i386/avx512bf16intrin.h (__attribute__): Change short to bf16. + (_mm_cvtsbh_ss): Ditto. + (_mm512_cvtne2ps_pbh): Ditto. + (_mm512_mask_cvtne2ps_pbh): Ditto. + (_mm512_maskz_cvtne2ps_pbh): Ditto. + * config/i386/avx512bf16vlintrin.h (__attribute__): Ditto. + (_mm256_cvtne2ps_pbh): Ditto. + (_mm256_mask_cvtne2ps_pbh): Ditto. + (_mm256_maskz_cvtne2ps_pbh): Ditto. + (_mm_cvtne2ps_pbh): Ditto. + (_mm_mask_cvtne2ps_pbh): Ditto. + (_mm_maskz_cvtne2ps_pbh): Ditto. + (_mm_cvtness_sbh): Ditto. + * config/i386/i386-builtin-types.def (V8BF): Add new + DEF_VECTOR_TYPE for BFmode. + (V16BF): Ditto. + (V32BF): Ditto. + * config/i386/i386-builtin.def (BDESC): Fixed builtins. + * config/i386/i386-expand.cc (ix86_expand_args_builtin): Changed + avx512bf16 ix86_builtin_func_type included HI to BF. + * config/i386/immintrin.h: Add SSE2 depend for avx512bf16. + * config/i386/sse.md (TARGET_AVX512VL): Changed HI vector to BF + vector. + (avx512f_cvtneps2bf16_v4sf): New define_expand. + (*avx512f_cvtneps2bf16_v4sf): New define_insn. + (avx512f_cvtneps2bf16_v4sf_maskz):Ditto. + (avx512f_cvtneps2bf16_v4sf_mask): Ditto. + (avx512f_cvtneps2bf16_v4sf_mask_1): Ditto. + +2022-10-31 liuhongt <hongtao.liu@intel.com> + + PR target/107261 + * config/i386/i386-modes.def (VECTOR_MODE): Support V2BFmode. + * config/i386/i386.cc (classify_argument): Handle V4BFmode and + V2BFmode. + (ix86_convert_const_vector_to_integer): Ditto. + * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Remove + V2BFmode. + (VALID_SSE2_REG_MODE): Add V4BFmode and V2BFmode. + (VALID_MMX_REG_MODE): Add V4BFmode. + * config/i386/i386.md (mode): Add V4BF and V2BF. + (MODE_SIZE): Ditto. + * config/i386/mmx.md (MMXMODE) Add V4BF. + (V_32): Add V2BF. + (V_16_32_64): Add V4BF and V2BF. + (mmxinsnmode): Add V4BF and V2BF. + (*mov<mode>_internal): Hanlde V4BFmode and V2BFmode. + +2022-10-29 Eric Botcazou <ebotcazou@adacore.com> + + * configure.ac (sjlj-exceptions): Restore dropped line. + * configure: Regenerate. + +2022-10-29 Eric Botcazou <ebotcazou@adacore.com> + + * alias.cc (init_alias_analysis): Do not record sets to the hard + frame pointer if the frame pointer has not been eliminated. + +2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org> + + * config/darwin-d.cc (TARGET_D_MINFO_START_NAME): Rename to ... + (TARGET_D_MINFO_SECTION_START): ...this. + (TARGET_D_MINFO_END_NAME): Rename to ... + (TARGET_D_MINFO_SECTION_END): ... this. + * config/elfos.h (TARGET_D_MINFO_SECTION): Remove. + (TARGET_D_MINFO_START_NAME): Remove. + (TARGET_D_MINFO_END_NAME): Remove. + * config/i386/cygwin-d.cc (TARGET_D_MINFO_SECTION): Remove. + (TARGET_D_MINFO_START_NAME): Remove. + (TARGET_D_MINFO_END_NAME): Remove. + * config/i386/winnt-d.cc (TARGET_D_MINFO_SECTION): Remove. + (TARGET_D_MINFO_START_NAME): Remove. + (TARGET_D_MINFO_END_NAME): Remove. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in (TARGET_D_MINFO_START_NAME): Rename to ... + (TARGET_D_MINFO_SECTION_START): ...this. + (TARGET_D_MINFO_END_NAME): Rename to ... + (TARGET_D_MINFO_SECTION_END): ...this. + +2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org> + + * config.gcc: Split out glibc-d.o into linux-d.o, kfreebsd-d.o, + kopensolaris-d.o, and gnu-d.o. Split out cygwin-d.o from winnt-d.o. + * config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. + * config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove. + * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. + * config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. + * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. + * config/i386/t-cygming: Add cygwin-d.o. + * config/i386/winnt-d.cc (winnt_d_os_builtins): Only add + MinGW-specific version condition. + * config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove. + * config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove. + * config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Remove. + * config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove. + * config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. + * config/t-glibc: Remove glibc-d.o, add gnu-d.o, kfreebsd-d.o, + kopensolaris-d.o. + * config/t-linux: Add linux-d.o. + * config/glibc-d.cc: Remove file. + * config/gnu-d.cc: New file. + * config/i386/cygwin-d.cc: New file. + * config/kfreebsd-d.cc: New file. + * config/kopensolaris-d.cc: New file. + * config/linux-d.cc: New file. + +2022-10-29 Jeff Law <jeffreyalaw@gmail.com> + + * config/h8300/h8300.cc (pre_incdec_with_reg): Make reg argument + an unsigned int + * config/h8300/h8300-protos.h (pre_incdec_with_reg): Adjust prototype. + +2022-10-28 Joseph Myers <joseph@codesourcery.com> + + * config/aarch64/aarch64.cc (aarch64_setup_incoming_varargs): + Check TYPE_NO_NAMED_ARGS_STDARG_P. + * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Likewise. + * config/arc/arc.cc (arc_setup_incoming_varargs): Likewise. + * config/arm/arm.cc (arm_setup_incoming_varargs): Likewise. + * config/csky/csky.cc (csky_setup_incoming_varargs): Likewise. + * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs): + Likewise. + * config/fr30/fr30.cc (fr30_setup_incoming_varargs): Likewise. + * config/frv/frv.cc (frv_setup_incoming_varargs): Likewise. + * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Likewise. + * config/i386/i386.cc (ix86_setup_incoming_varargs): Likewise. + * config/ia64/ia64.cc (ia64_setup_incoming_varargs): Likewise. + * config/loongarch/loongarch.cc + (loongarch_setup_incoming_varargs): Likewise. + * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Likewise. + * config/mcore/mcore.cc (mcore_setup_incoming_varargs): Likewise. + * config/mips/mips.cc (mips_setup_incoming_varargs): Likewise. + * config/mmix/mmix.cc (mmix_setup_incoming_varargs): Likewise. + * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Likewise. + * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Likewise. + * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Likewise. + * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Likewise. + * config/sh/sh.cc (sh_setup_incoming_varargs): Likewise. + * config/visium/visium.cc (visium_setup_incoming_varargs): + Likewise. + * config/vms/vms-c.cc (vms_c_common_override_options): Do not set + flag_allow_parameterless_variadic_functions. + * doc/invoke.texi (-fallow-parameterless-variadic-functions): Do + not document option. + * function.cc (assign_parms): Call assign_parms_setup_varargs for + TYPE_NO_NAMED_ARGS_STDARG_P case. + * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] (va_start): Make + variadic macro. Pass second argument of 0 to __builtin_va_start. + * target.def (setup_incoming_varargs): Update documentation. + * doc/tm.texi: Regenerate. + * tree-core.h (struct tree_type_common): Add + no_named_args_stdarg_p. + * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Unpack + TYPE_NO_NAMED_ARGS_STDARG_P. + * tree-streamer-out.cc (pack_ts_type_common_value_fields): Pack + TYPE_NO_NAMED_ARGS_STDARG_P. + * tree.cc (type_cache_hasher::equal): Compare + TYPE_NO_NAMED_ARGS_STDARG_P. + (build_function_type): Add argument no_named_args_stdarg_p. + (build_function_type_list_1, build_function_type_array_1) + (reconstruct_complex_type): Update calls to build_function_type. + (stdarg_p, prototype_p): Return true for (...) functions. + (gimple_canonical_types_compatible_p): Compare + TYPE_NO_NAMED_ARGS_STDARG_P. + * tree.h (TYPE_NO_NAMED_ARGS_STDARG_P): New. + (build_function_type): Update prototype. + +2022-10-28 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR tree-optimization/107346 + * tree-vect-data-refs.cc (vect_check_gather_scatter): Reject offsets + that aren't multiples of BITS_PER_UNIT. + +2022-10-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107407 + * tree-ssa-dse.cc (dse_classify_store): Perform backedge + varying index check when collecting PHI uses rather than + after optimizing processing of the candidate defs. + +2022-10-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107447 + * tree-ssa-loop-im.cc (determine_max_movement): Do not + hoist returns-twice calls. + +2022-10-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107435 + * tree-vect-loop.cc (vectorizable_recurr): Convert initial + value to vector component type. + +2022-10-28 Julian Brown <julian@codesourcery.com> + Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/90115 + * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not + privatization candidates. + +2022-10-28 Martin Liska <mliska@suse.cz> + + PR sanitizer/107298 + * doc/invoke.texi: Document sanitizers can trigger warnings. + +2022-10-28 Thomas Schwinge <thomas@codesourcery.com> + + * doc/makefile.texi (Makefile Targets): Document + 'distclean-stage[N]'. + +2022-10-28 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (range_tests_floats): Use HONOR_INFINITIES. + +2022-10-27 Eric Botcazou <ebotcazou@adacore.com> + + * config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete. + +2022-10-27 H.J. Lu <hjl.tools@gmail.com> + + PR target/107172 + * config/i386/i386.md (UNSPEC_CC_NE): New. + Replace ne:CCC/ne:CCO with UNSPEC_CC_NE in neg patterns. + +2022-10-27 Andrew Pinski <apinski@marvell.com> + + * tree-ssa-phiopt.cc: Include tree-ssa-dce.h + (replace_phi_edge_with_variable): + New argument, dce_ssa_names. Call simple_dce_from_worklist. + (match_simplify_replacement): If we inserted a sequence, + mark the lhs of the new sequence to be possible dce. + Always move the statement and mark the lhs (if it is a name) + as possible to remove. + +2022-10-27 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-protos.h: Replace constexpr with + CONSTEXPR. + * config/aarch64/aarch64-sve-builtins-base.cc: Likewise. + * config/aarch64/aarch64-sve-builtins-functions.h: Likewise. + * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise. + * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise. + * config/aarch64/aarch64-sve-builtins.cc: Likewise. + * config/aarch64/aarch64.cc: Likewise. + * config/aarch64/driver-aarch64.cc: Likewise + +2022-10-27 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107394 + * value-range-storage.cc (frange_storage_slot::get_frange): Use + frange constructor. + +2022-10-27 Thomas Schwinge <thomas@codesourcery.com> + + * optc-save-gen.awk: Clarify 'Init' option property usage for + streaming optimization. + +2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * ira.cc: Resize array after reg number increased. + +2022-10-27 Jiawei <jiawei@iscas.ac.cn> + Sinan Lin <sinan@isrc.iscas.ac.cn> + + * config/riscv/constraints.md (TARGET_ZFINX ? GR_REGS): Set GPRS + use while Zfinx is enable. + * config/riscv/riscv.cc (riscv_hard_regno_mode_ok): Limit odd + registers use when Zdinx enable in RV32 cases. + (riscv_option_override): New target enable MASK_FDIV. + (riscv_libgcc_floating_mode_supported_p): New error info when + use incompatible arch&abi. + (riscv_excess_precision): New target enable FLOAT16. + +2022-10-27 Jiawei <jiawei@iscas.ac.cn> + + * config/riscv/iterators.md (TARGET_ZFINX):New target. + (TARGET_ZDINX): Ditto. + (TARGET_ZHINX): Ditto. + * config/riscv/riscv-builtins.cc (AVAIL): Ditto. + (riscv_atomic_assign_expand_fenv): Ditto. + * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Ditto. + * config/riscv/riscv.md: Ditto. + +2022-10-27 Jiawei <jiawei@iscas.ac.cn> + Sinan Lin <sinan@isrc.iscas.ac.cn> + + * common/config/riscv/riscv-common.cc: New extensions. + * config/riscv/arch-canonicalize: New imply relations. + * config/riscv/riscv-opts.h (MASK_ZFINX): New mask. + (MASK_ZDINX): Ditto. + (MASK_ZHINX): Ditto. + (MASK_ZHINXMIN): Ditto. + (TARGET_ZFINX): New target. + (TARGET_ZDINX): Ditto. + (TARGET_ZHINX): Ditto. + (TARGET_ZHINXMIN): Ditto. + * config/riscv/riscv.opt: New target variable. + +2022-10-26 David Faust <david.faust@oracle.com> + + * config/bpf/bpf.cc: Support __builtin_preserve_field_info. + (enum bpf_builtins): Add new builtin. + (bpf_init_builtins): Likewise. + (bpf_core_field_info): New function. + (bpf_expand_builtin): Accomodate new builtin. Refactor adding new + relocation to... + (maybe_make_core_relo): ... here. New function. + (bpf_resolve_overloaded_builtin): Accomodate new builtin. + (bpf_core_newdecl): Likewise. + (bpf_core_walk): Likewise. + (bpf_core_is_maybe_aggregate_access): Improve logic. + (struct core_walk_data): New. + * config/bpf/coreout.cc (bpf_core_reloc_add): Allow adding different + relocation kinds. + * config/bpf/coreout.h: Analogous change. + * doc/extend.texi: Document BPF __builtin_preserve_field_info. + +2022-10-26 Marek Polacek <polacek@redhat.com> + + PR c++/106393 + * doc/invoke.texi: Document -Wdangling-reference. + +2022-10-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (movdi): + Copy operands[0...1] to ops[0...3] and then use the latter before + calling xtensa_split_DI_reg_imm() and emitting insns. + +2022-10-26 Alexander Monakov <amonakov@ispras.ru> + + PR other/107353 + * ipa-visibility.cc (function_and_variable_visibility): + Conditionally upgrade TLS model instead of asserting. + +2022-10-26 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (fold_using_range::fold_stmt): Check if + stmt is non-negative and adjust the range. + +2022-10-26 Martin Liska <mliska@suse.cz> + + * common/config/i386/cpuinfo.h (has_cpu_feature): Add comment. + (reset_cpu_feature): New. + (get_zhaoxin_cpu): Use reset_cpu_feature. + +2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.cc (riscv_expand_epilogue): Fix statement. + +2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + PR target/107357 + * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Set to minimum size. + (ADJUST_NUNITS): Adjust according to -march. + (ADJUST_BYTESIZE): Ditto. + * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): + Remove. + (riscv_v_ext_vector_mode_p): Change function implementation. + * config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher): + Change to riscv_v_ext_vector_mode_p. + (register_builtin_type): Ditto. + * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): Change to enabled + modes. + (ENTRY): Ditto. + (riscv_v_ext_enabled_vector_mode_p): Remove. + (riscv_v_adjust_nunits): New function. + (riscv_vector_mode_supported_p): Use riscv_v_ext_vector_mode_p instead. + * config/riscv/riscv.h (riscv_v_adjust_nunits): New function. + +2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config.gcc (riscv*): Add riscv-v.o to extra_objs. + * config/riscv/constraints.md (vu): New constraint. + (vi): Ditto. + (Wc0): Ditto. + (Wc1): Ditto. + * config/riscv/predicates.md (vector_length_operand): New. + (reg_or_mem_operand): Ditto. + (vector_move_operand): Ditto. + (vector_mask_operand): Ditto. + (vector_merge_operand): Ditto. + * config/riscv/riscv-protos.h (riscv_regmode_natural_size) New. + (riscv_vector::const_vec_all_same_in_range_p): Ditto. + (riscv_vector::legitimize_move): Ditto. + (tail_policy): Ditto. + (mask_policy): Ditto. + * config/riscv/riscv-v.cc: New. + * config/riscv/riscv-vector-builtins-bases.cc + (vsetvl::expand): Refactor how LMUL encoding. + * config/riscv/riscv.cc (riscv_print_operand): Update how LMUL + print and mask operand print. + (riscv_regmode_natural_size): New. + * config/riscv/riscv.h (REGMODE_NATURAL_SIZE): New. + * config/riscv/riscv.md (mode): Add vector modes. + * config/riscv/t-riscv (riscv-v.o) New. + * config/riscv/vector-iterators.md: New. + * config/riscv/vector.md (vundefined<mode>): New. + (mov<mode>): New. + (*mov<mode>): New. + (@vsetvl<mode>_no_side_effects): New. + (@pred_mov<mode>): New. + +2022-10-26 Monk Chiang <monk.chiang@sifive.com> + + * common/config/riscv/riscv-common.cc (riscv_ext_version_table): + Add svinval and svnapot extension. + (riscv_ext_flag_table): Ditto. + * config/riscv/riscv-opts.h (MASK_SVINVAL): New. + (MASK_SVNAPOT): Ditto. + (TARGET_SVINVAL): Ditto. + (TARGET_SVNAPOT): Ditto. + * config/riscv/riscv.opt (riscv_sv_subext): New. + +2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-modes.def: Adjust table indentation in commnet. + +2022-10-26 Martin Liska <mliska@suse.cz> + + * configure: Regenerate. + +2022-10-26 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::set): Use HONOR_*. + (frange::verify_range): Same. + * value-range.h (frange_val_min): Same. + (frange_val_max): Same. + +2022-10-26 Jiufu Guo <guojiufu@linux.ibm.com> + + PR target/106460 + * config/rs6000/rs6000.cc (rs6000_cannot_force_const_mem): Return true + for HIGH code rtx. + +2022-10-26 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.cc (riscv_ext_version_table): + Add `h`. + (riscv_supported_std_ext): Ditto. + (multi_letter_subset_rank): Remove `h`. + (riscv_subset_list::parse_std_ext): Handle `h` as single letter + extension. + (riscv_subset_list::parse): Ditto. + +2022-10-25 Eugene Rozenfeld <erozen@microsoft.com> + + * auto-profile.cc (get_combined_location): Include discriminator in the + returned combined location. + (read_function_instance): Read discriminators from profiles. + +2022-10-25 H.J. Lu <hjl.tools@gmail.com> + + PR target/107304 + * expr.cc (get_inner_reference): Always use TYPE_MODE for vector + field with vector raw mode. + +2022-10-25 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/rs6000.md (CCEITHER): Delete. + (CCANY): New. + (un): Delete. + (isel_<un>signed_<GPR:mode>): Rename to... + (isel_<CCANY:mode>_<GPR:mode>): ... this. Adjust. + (*isel_reversed_<un>signed_<GPR:mode>): Rename to... + (*isel_reversed_<CCANY:mode>_<GPR:mode>): ... this. Adjust. + (setbc_<un>signed_<GPR:mode>): Rename to... + (setbc_<CCANY:mode>_<GPR:mode>C): ... this. Adjust." + (*setbcr_<un>signed_<GPR:mode>): Rename to ... + (*setbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust. + (*setnbc_<un>signed_<GPR:mode>): Rename to ... + (*setnbc_<CCANY:mode>_<GPR:mode>): ... this. Adjust. + (*setnbcr_<un>signed_<GPR:mode>): Rename to ... + (*setnbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust. + (eq<mode>3 for GPR): Adjust. + (ne<mode>3 for GPR): Adjust. + * config/rs6000/rs6000-string.cc (do_isel): Adjust. + * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Adjust. + +2022-10-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107176 + PR tree-optimization/66375 + PR tree-optimization/42512 + * tree-scalar-evolution.cc (follow_ssa_edge_expr): Revert + the PR66375 fix, do not not associate PLUS_EXPR to be able + to use tail-recursion. + (follow_ssa_edge_binary): Likewise. + (interpret_loop_phi): Revert PR42512 fix, do not throw + away analyze_evolution_in_loop result after the fact. + (follow_ssa_edge_expr): When reaching halting_phi initalize + the evolution to the symbolic value of the PHI result. + (add_to_evolution_1): When adding the first evolution verify + we can handle the expression wrapping the symbolic evolution + and replace that in full using the initial condition. + (class scev_dfs): New, contains ... + (follow_ssa_edge_expr, follow_ssa_edge_binary, + follow_ssa_edge_in_condition_phi_branch, + follow_ssa_edge_in_condition_phi, + follow_ssa_edge_inner_loop_phi, + add_to_evolution, add_to_evolution_1): ... these with + loop and halting_phi arguments in class data. + (scev_dfs::get_ev): New toplevel DFS entry, start with + a chrec_dont_know evolution. + (analyze_evolution_in_loop): Use scev_dfs. + +2022-10-25 Eric Botcazou <ebotcazou@adacore.com> + + * profile.cc (branch_prob): Be prepared for ignored functions with + DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION. + +2022-10-25 Richard Biener <rguenther@suse.de> + + * tree-scalar-evolution.cc (follow_ssa_edge_expr): Move + STRIP_USELESS_TYPE_CONVERSIONS to where it matters. + +2022-10-25 Tejas Joshi <TejasSanjay.Joshi@amd.com> + + * common/config/i386/i386-common.cc (processor_alias_table): Use + CPU_ZNVER3 for znver4. + * config/i386/znver.md: Remove znver4 reservations. + +2022-10-25 Jakub Jelinek <jakub@redhat.com> + + * gimplify.cc (gimple_boolify): Fix comment typos, prduce -> produce + and There -> These. + +2022-10-25 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107368 + * gimplify.cc (gimplify_call_expr): For complex IFN_ASSUME + conditions call gimple_boolify on the condition. + +2022-10-25 YunQiang Su <yunqiang.su@cipunited.com> + + * config.gcc: add -with-compact-branches=policy build option. + * doc/install.texi: Likewise. + * config/mips/mips.h: Likewise. + +2022-10-25 YunQiang Su <yunqiang.su@cipunited.com> + + * config/mips/mips.cc (mips_option_override): not trigger error + for compact-branches=always for pre-R6. + * config/mips/mips.h (TARGET_RTP_PIC): not trigger error for + compact-branches=always for pre-R6. + (TARGET_CB_NEVER): Likewise. + (TARGET_CB_ALWAYS): Likewise. + (struct mips_cpu_info): define macros for compact branch policy. + * doc/invoke.texi: Document "always" with pre-R6. + +2022-10-25 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107369 + * gimplify.cc (gimplify_call_expr): If seen_error, handle complex + IFN_ASSUME the same as for -O0. + +2022-10-25 YunQiang Su <yunqiang.su@cipunited.com> + + * configure.ac: AC_DEFINE(ENABLE_MULTIARCH, 1) + * configure: Regenerated. + * config.in: Regenerated. + * config/mips/mips.h: don't define STANDARD_STARTFILE_PREFIX_1 + if ENABLE_MULTIARCH is defined. + * config/mips/t-linux64: define correct multiarch path when + multiarch is enabled. + +2022-10-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/100756 + * tree-ssa-loop-niter.cc (expand_simple_operations): Also + expand multiplications by invariants. + +2022-10-25 Kewen Lin <linkw@linux.ibm.com> + + PR tree-optimization/107338 + * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Move + shfit_n calculation before the adjustments for widening loads. + +2022-10-25 Martin Liska <mliska@suse.cz> + + * common/config/riscv/riscv-common.cc + (riscv_get_valid_option_values): Get out of ifdef. + +2022-10-25 Martin Liska <mliska@suse.cz> + + PR target/107364 + * common/config/i386/i386-cpuinfo.h (enum processor_vendor): + Fix pedantic warning. + +2022-10-24 Martin Liska <mliska@suse.cz> + + PR analyzer/107366 + * diagnostic-format-sarif.cc + (sarif_builder::maybe_make_physical_location_object): Gracefully + reject locations with NULL filename. + +2022-10-24 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106300 + * doc/invoke.texi (Static Analyzer Options): Add "pipe" and + "pipe2" to the list of functions the analyzer has hardcoded + knowledge of. + +2022-10-24 Jason Merrill <jason@redhat.com> + + * tree.h (build_string_literal): New one-argument overloads that + take tree (identifier) and const char *. + * builtins.cc (fold_builtin_FILE) + (fold_builtin_FUNCTION) + * gimplify.cc (gimple_add_init_for_auto_var) + * vtable-verify.cc (verify_bb_vtables): Simplify calls. + +2022-10-24 Martin Liska <mliska@suse.cz> + + PR target/107364 + * common/config/i386/i386-cpuinfo.h (enum processor_vendor): + Reorder enum values as BUILTIN_VENDOR_MAX should not point + in the middle of the valid enum values. + +2022-10-24 Marek Polacek <polacek@redhat.com> + + PR c++/107276 + * tree.cc (maybe_wrap_with_location): Don't create a location wrapper + when the type is erroneous. + +2022-10-24 Wilco Dijkstra <wdijkstr@arm.com> + + PR target/106583 + * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate) + Add support for a bitmask immediate with 2 MOVKs. + (aarch64_check_bitmask): New function after refactorization. + (aarch64_bitmask_imm): Simplify replication of small modes. + Split function into 64-bit only version for efficiency. + (aarch64_move_imm): Move near other immediate functions. + (aarch64_uimm12_shift): Likewise. + (aarch64_clamp_to_uimm12_shift): Likewise. + (aarch64_movk_shift): Likewise. + (aarch64_replicate_bitmask_imm): Likewise. + (aarch64_and_split_imm1): Likewise. + (aarch64_and_split_imm2): Likewise. + (aarch64_and_bitmask_imm): Likewise. + (aarch64_movw_imm): Likewise. + +2022-10-24 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107355 + * range-op-float.cc (foperator_abs::op1_range): Handle NAN. + +2022-10-24 Tobias Burnus <tobias@codesourcery.com> + + PR middle-end/107236 + * omp-expand.cc (expand_omp_target): Set calls_declare_variant_alt + in DECL_CONTEXT and not to cfun->decl. + * cgraphclones.cc (cgraph_node::create_clone): Copy also the + node's calls_declare_variant_alt value. + +2022-10-24 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.cc (riscv_tunes): New. + (riscv_get_valid_option_values): New. + (TARGET_GET_VALID_OPTION_VALUES): New. + * config/riscv/riscv-cores.def (RISCV_TUNE): New, define options + for tune here. + (RISCV_CORE): Fix comment. + * config/riscv/riscv.cc (riscv_tune_info_table): Move definition to + riscv-cores.def. + +2022-10-24 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107365 + * value-range.cc (frange::verify_range): Predicate NAN check in + VARYING range on HONOR_NANS instead of flag_finite_math_only. + (range_tests_floats): Same. + (range_tests_floats_various): New. + (range_tests): Call range_tests_floats_various. + +2022-10-24 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * lto-wrapper.cc: Quote paths in makefile. + +2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)). + +2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR + with constexpr throughout. + * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise. + * config/riscv/riscv-vector-builtins.cc + (struct registered_function_hasher): Likewise. + * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): + Likewise. + +2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-switch.def (ENTRY): Remove unused TI/TF vector modes. + +2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.h (REG_CLASS_CONTENTS): Fix ALL_REGS. + +2022-10-22 Michael Eager <eager@eagercon.com> + + * config/microblaze/microblaze.cc + (microblaze_legitimize_address): Initialize 'reg' to NULL, check for NULL. + (microblaze_address_insns): Replace abort() with gcc_unreachable(). + (print_operand_address): Same. + (microblaze_expand_move): Initialize 'p1' to NULL, check for NULL. + (get_branch_target): Replace abort() with gcc_unreachable(). + +2022-10-22 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (range_tests_floats): Predicate [-Inf, +Inf] test + with !flag_finite_math_only. + +2022-10-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_conditional_register_usage): + Remove register A0 from FIXED_REGS if the CALL0 ABI. + (xtensa_expand_epilogue): Change to emit '(use (reg:SI A0_REG))' + unconditionally after restoring callee-saved registers for + sibling-call functions, in order to prevent misleading that + register A0 is free to use. + +2022-10-21 Jakub Jelinek <jakub@redhat.com> + + PR target/107322 + * config/i386/i386-expand.cc (ix86_prepare_fp_compare_args): For + BFmode comparisons promote arguments to SFmode and recurse. + (ix86_expand_int_movcc, ix86_expand_fp_movcc): Return false early + if comparison operands are BFmode and operands[1] is not + ix86_fp_comparison_operator. + +2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com> + + * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4. + * common/config/i386/i386-common.cc (processor_names): Add znver4. + (processor_alias_table): Add znver4 and modularize old znvers. + * common/config/i386/i386-cpuinfo.h (processor_subtypes): + AMDFAM19H_ZNVER4. + * config.gcc (x86_64-*-* |...): Likewise. + * config/i386/driver-i386.cc (host_detect_local_cpu): Let + -march=native recognize znver4 cpus. + * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4. + * config/i386/i386-options.cc (m_ZNVER4): New definition. + (m_ZNVER): Include m_ZNVER4. + (processor_cost_table): Add znver4. + * config/i386/i386.cc (ix86_reassociation_width): Likewise. + * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4. + (PTA_ZNVER1): New definition. + (PTA_ZNVER2): Likewise. + (PTA_ZNVER3): Likewise. + (PTA_ZNVER4): Likewise. + * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename + md file. + * config/i386/x86-tune-costs.h (znver4_cost): New definition. + * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4. + (ix86_adjust_cost): Likewise. + * config/i386/znver1.md: Rename to znver.md. + * config/i386/znver.md: Add new reservations for znver4. + * doc/extend.texi: Add details about znver4. + * doc/invoke.texi: Likewise. + +2022-10-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107323 + * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs): + New function. + (loop_distribution::break_alias_scc_partitions): Revert + postorder save/restore from the PR94125 fix. Instead + make sure to not ignore edges from SCCs we are going to + merge. + +2022-10-21 Monk Chiang <monk.chiang@sifive.com> + + * config/riscv/riscv.md: Add atomic type attribute. + * config/riscv/sync.md: Add atomic type for atomic instructions. + +2022-10-21 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/54346 + * match.pd ((vec_perm (vec_perm@0 @1 @2 VECTOR_CST) @0 VECTOR_CST)): + Optimize nested VEC_PERM_EXPRs even if target can't handle the + new one provided we don't increase number of VEC_PERM_EXPRs the + target can't handle. + +2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config.gcc: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New macro. + (DEF_RVV_FUNCTION): Ditto. + (handle_pragma_vector): Add intrinsic framework. + * config/riscv/riscv.cc (riscv_print_operand): Add operand print for vsetvl/vsetvlmax. + * config/riscv/riscv.md: include vector.md. + * config/riscv/t-riscv: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o + * config/riscv/riscv-vector-builtins-bases.cc: New file. + * config/riscv/riscv-vector-builtins-bases.h: New file. + * config/riscv/riscv-vector-builtins-functions.def: New file. + * config/riscv/riscv-vector-builtins-shapes.cc: New file. + * config/riscv/riscv-vector-builtins-shapes.h: New file. + * config/riscv/riscv-vector-builtins-types.def: New file. + * config/riscv/vector.md: New file. + +2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config.gcc: Add gt files since function_instance is GTY ((user)). + * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV intrinsic framework. + (riscv_builtin_decl): Ditto. + (riscv_expand_builtin): Ditto. + * config/riscv/riscv-protos.h (builtin_decl): New function. + (expand_builtin): Ditto. + (enum riscv_builtin_class): New enum to classify RVV intrinsic and RISC-V general built-in. + * config/riscv/riscv-vector-builtins.cc (class GTY): New declaration. + (struct registered_function_hasher): New struct. + (DEF_RVV_OP_TYPE): New macro. + (DEF_RVV_TYPE): Ditto. + (DEF_RVV_PRED_TYPE): Ditto. + (GTY): New declaration. + (add_attribute): New function. + (check_required_extensions): Ditto. + (rvv_arg_type_info::get_tree_type): Ditto. + (function_instance::function_instance): Ditto. + (function_instance::operator==): Ditto. + (function_instance::any_type_float_p): Ditto. + (function_instance::get_return_type): Ditto. + (function_instance::get_arg_type): Ditto. + (function_instance::hash): Ditto. + (function_instance::call_properties): Ditto. + (function_instance::reads_global_state_p): Ditto. + (function_instance::modifies_global_state_p): Ditto. + (function_instance::could_trap_p): Ditto. + (function_builder::function_builder): Ditto. + (function_builder::~function_builder): Ditto. + (function_builder::allocate_argument_types): Ditto. + (function_builder::register_function_group): Ditto. + (function_builder::append_name): Ditto. + (function_builder::finish_name): Ditto. + (function_builder::get_attributes): Ditto. + (function_builder::add_function): Ditto. + (function_builder::add_unique_function): Ditto. + (function_call_info::function_call_info): Ditto. + (function_expander::function_expander): Ditto. + (function_expander::add_input_operand): Ditto. + (function_expander::generate_insn): Ditto. + (registered_function_hasher::hash): Ditto. + (registered_function_hasher::equal): Ditto. + (builtin_decl): Ditto. + (expand_builtin): Ditto. + (gt_ggc_mx): Define for using GCC garbage collect. + (gt_pch_nx): Define for using GCC garbage collect. + * config/riscv/riscv-vector-builtins.def (DEF_RVV_OP_TYPE): New macro. + (DEF_RVV_PRED_TYPE): Ditto. + (vbool64_t): Add suffix. + (vbool32_t): Ditto. + (vbool16_t): Ditto. + (vbool8_t): Ditto. + (vbool4_t): Ditto. + (vbool2_t): Ditto. + (vbool1_t): Ditto. + (vint8mf8_t): Ditto. + (vuint8mf8_t): Ditto. + (vint8mf4_t): Ditto. + (vuint8mf4_t): Ditto. + (vint8mf2_t): Ditto. + (vuint8mf2_t): Ditto. + (vint8m1_t): Ditto. + (vuint8m1_t): Ditto. + (vint8m2_t): Ditto. + (vuint8m2_t): Ditto. + (vint8m4_t): Ditto. + (vuint8m4_t): Ditto. + (vint8m8_t): Ditto. + (vuint8m8_t): Ditto. + (vint16mf4_t): Ditto. + (vuint16mf4_t): Ditto. + (vint16mf2_t): Ditto. + (vuint16mf2_t): Ditto. + (vint16m1_t): Ditto. + (vuint16m1_t): Ditto. + (vint16m2_t): Ditto. + (vuint16m2_t): Ditto. + (vint16m4_t): Ditto. + (vuint16m4_t): Ditto. + (vint16m8_t): Ditto. + (vuint16m8_t): Ditto. + (vint32mf2_t): Ditto. + (vuint32mf2_t): Ditto. + (vint32m1_t): Ditto. + (vuint32m1_t): Ditto. + (vint32m2_t): Ditto. + (vuint32m2_t): Ditto. + (vint32m4_t): Ditto. + (vuint32m4_t): Ditto. + (vint32m8_t): Ditto. + (vuint32m8_t): Ditto. + (vint64m1_t): Ditto. + (vuint64m1_t): Ditto. + (vint64m2_t): Ditto. + (vuint64m2_t): Ditto. + (vint64m4_t): Ditto. + (vuint64m4_t): Ditto. + (vint64m8_t): Ditto. + (vuint64m8_t): Ditto. + (vfloat32mf2_t): Ditto. + (vfloat32m1_t): Ditto. + (vfloat32m2_t): Ditto. + (vfloat32m4_t): Ditto. + (vfloat32m8_t): Ditto. + (vfloat64m1_t): Ditto. + (vfloat64m2_t): Ditto. + (vfloat64m4_t): Ditto. + (vfloat64m8_t): Ditto. + (vv): Ditto. + (vx): Ditto. + (v): Ditto. + (wv): Ditto. + (wx): Ditto. + (x_x_v): Ditto. + (vf2): Ditto. + (vf4): Ditto. + (vf8): Ditto. + (vvm): Ditto. + (vxm): Ditto. + (x_x_w): Ditto. + (v_v): Ditto. + (v_x): Ditto. + (vs): Ditto. + (mm): Ditto. + (m): Ditto. + (vf): Ditto. + (vm): Ditto. + (wf): Ditto. + (vfm): Ditto. + (v_f): Ditto. + (ta): Ditto. + (tu): Ditto. + (ma): Ditto. + (mu): Ditto. + (tama): Ditto. + (tamu): Ditto. + (tuma): Ditto. + (tumu): Ditto. + (tam): Ditto. + (tum): Ditto. + * config/riscv/riscv-vector-builtins.h (GCC_RISCV_VECTOR_BUILTINS_H): New macro. + (RVV_REQUIRE_RV64BIT): Ditto. + (RVV_REQUIRE_ZVE64): Ditto. + (RVV_REQUIRE_ELEN_FP_32): Ditto. + (RVV_REQUIRE_ELEN_FP_64): Ditto. + (enum operand_type_index): New enum. + (DEF_RVV_OP_TYPE): New macro. + (enum predication_type_index): New enum. + (DEF_RVV_PRED_TYPE): New macro. + (enum rvv_base_type): New enum. + (struct rvv_builtin_suffixes): New struct. + (struct rvv_arg_type_info): Ditto. + (struct rvv_type_info): Ditto. + (struct rvv_op_info): Ditto. + (class registered_function): New class. + (class function_base): Ditto. + (class function_shape): Ditto. + (struct function_group_info): New struct. + (class GTY): New class. + (class function_builder): Ditto. + (class function_call_info): Ditto. + (function_call_info::function_returns_void_p): New function. + (class function_expander): New class. + (function_instance::operator!=): New function. + (function_expander::expand): Ditto. + (function_expander::add_input_operand): Ditto. + (function_base::call_properties): Ditto. + +2022-10-21 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/sse.md (ssedvecmode): Rename from VI1SI. + (ssedvecmodelower): Rename from vi1si. + (sdot_prod<mode>): New define_expand. + (udot_prod<mode>): Ditto. + +2022-10-21 Kong Lingling <lingling.kong@intel.com> + Hongyu Wang <hongyu.wang@intel.com> + Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h (get_available_features): Detect + avxvnniint8. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AVXVNNIINT8_SET): New. + (OPTION_MASK_ISA2_AVXVNNIINT8_UNSET): Ditto. + (ix86_handle_option): Handle -mavxvnniint8. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_AVXVNNIINT8. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + avxvnniint8. + * config.gcc: Add avxvnniint8intrin.h. + * config/i386/avxvnniint8intrin.h: New file. + * config/i386/cpuid.h (bit_AVXVNNIINT8): New. + * config/i386/i386-builtin.def: Add new builtins. + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __AVXVNNIINT8__. + * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint8. + (ix86_valid_target_attribute_inner_p): Handle avxvnniint8. + * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT8) New.. + * config/i386/i386.opt: Add option -mavxvnniint8. + * config/i386/immintrin.h: Include avxvnniint8intrin.h. + * config/i386/sse.md (UNSPEC_VPMADDUBSWACCD + UNSPEC_VPMADDUBSWACCSSD,UNSPEC_VPMADDWDACCD, + UNSPEC_VPMADDWDACCSSD): Rename according to new style. + (vpdp<vpdotprodtype>_<mode>): New define_insn. + * doc/extend.texi: Document avxvnniint8. + * doc/invoke.texi: Document -mavxvnniint8. + * doc/sourcebuild.texi: Document target avxvnniint8. + +2022-10-21 Hongyu Wang <hongyu.wang@intel.com> + + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA_AVXIFMA_SET, OPTION_MASK_ISA2_AVXIFMA_UNSET, + OPTION_MASK_ISA2_AVX2_UNSET): New macro. + (ix86_handle_option): Handle -mavxifma. + * common/config/i386/i386-cpuinfo.h (processor_types): Add + FEATURE_AVXIFMA. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + avxifma. + * common/config/i386/cpuinfo.h (get_available_features): + Detect avxifma. + * config.gcc: Add avxifmaintrin.h + * config/i386/avx512ifmavlintrin.h: (_mm_madd52lo_epu64): Change + to macro. + (_mm_madd52hi_epu64): Likewise. + (_mm256_madd52lo_epu64): Likewise. + (_mm256_madd52hi_epu64): Likewise. + * config/i386/avxifmaintrin.h: New header. + * config/i386/cpuid.h (bit_AVXIFMA): New. + * config/i386/i386-builtin.def: Add new builtins, and correct + pattern names for AVX512IFMA. + * config/i386/i386-builtins.cc (def_builtin): Handle AVX-IFMA + builtins like AVX-VNNI. + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __AVXIFMA__. + * config/i386/i386-expand.cc (ix86_check_builtin_isa_match): + Relax ISA masks for AVXIFMA. + * config/i386/i386-isa.def: Add AVXIFMA. + * config/i386/i386-options.cc (isa2_opts): Add -mavxifma. + (ix86_valid_target_attribute_inner_p): Handle avxifma. + * config/i386/i386.md (isa): Add attr avxifma and avxifmavl. + * config/i386/i386.opt: Add option -mavxifma. + * config/i386/immintrin.h: Inculde avxifmaintrin.h. + * config/i386/sse.md (avx_vpmadd52<vpmadd52type>_<mode>): + Remove. + (vpamdd52<vpmadd52type><mode><sd_maskz_name>): Remove. + (vpamdd52huq<mode>_maskz): Rename to ... + (vpmadd52huq<mode>_maskz): ... this. + (vpamdd52luq<mode>_maskz): Rename to ... + (vpmadd52luq<mode>_maskz): ... this. + (vpmadd52<vpmadd52type><mode>): New define_insn. + (vpmadd52<vpmadd52type>v8di): Likewise. + (vpmadd52<vpmadd52type><mode>_maskz_1): Likewise. + (vpamdd52<vpmadd52type><mode>_mask): Rename to ... + (vpmadd52<vpmadd52type><mode>_mask): ... this. + * doc/invoke.texi: Document -mavxifma. + * doc/extend.texi: Document avxifma. + * doc/sourcebuild.texi: Document target avxifma. + +2022-10-20 Aldy Hernandez <aldyh@redhat.com> + + PR c++/106654 + * value-query.cc (get_range_global): Handle non integer ranges for + default def SSA names. + +2022-10-20 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (foperator_unordered_lt::op1_range): New. + (foperator_unordered_lt::op2_range): New. + +2022-10-20 Artem Klimov <jakmobius@gmail.com> + Alexander Monakov <amonakov@gcc.gnu.org> + + PR middle-end/99619 + * ipa-visibility.cc (function_and_variable_visibility): Promote + TLS access model afer visibility optimizations. + * varasm.cc (have_optimized_refs): New helper. + (optimize_dyn_tls_for_decl_p): New helper. Use it ... + (decl_default_tls_model): ... here in place of 'optimize' check. + +2022-10-20 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (foperator_unordered_le::op1_range): Adjust + false side with a NAN operand. + (foperator_unordered_le::op2_range): Same. + (foperator_unordered_gt::op1_range): Same. + (foperator_unordered_gt::op2_range): Same. + (foperator_unordered_ge::op1_range): Same. + (foperator_unordered_ge::op2_range): Same. + (foperator_unordered_equal::op1_range): Same. + +2022-10-20 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR tree-optimization/107326 + * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Change + vectype when widening container. + +2022-10-20 Aldy Hernandez <aldyh@redhat.com> + + * value-range.h (frange::set_varying): Do not set NAN flags for + !HONOR_NANS. + * value-range.cc (frange::normalize_kind): Adjust for no NAN when + !HONOR_NANS. + (frange::verify_range): Same. + * range-op-float.cc (maybe_isnan): Remove flag_finite_math_only check. + +2022-10-20 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (finite_operand_p): Remove. + (finite_operands_p): Rename to... + (maybe_isnan): ...this. + (frelop_early_resolve): Use maybe_isnan instead of finite_operands_p. + (foperator_equal::fold_range): Same. + (foperator_equal::op1_range): Same. + (foperator_not_equal::fold_range): Same. + (foperator_lt::fold_range): Same. + (foperator_le::fold_range): Same. + (foperator_gt::fold_range): Same. + (foperator_ge::fold_range): Same. + +2022-10-20 Jakub Jelinek <jakub@redhat.com> + + * passes.cc (pass_manager::register_pass): Fix a comment + typo - copmilation -> compilation. + +2022-10-20 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): + Disallow latch PHI defs. + (vectorizable_recurr): Revert previous change. + +2022-10-20 Julian Brown <julian@codesourcery.com> + + PR target/105421 + * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer + argument forces FLAT addressing mode, not just + pointer-to-non-aggregate. + +2022-10-20 Thomas Schwinge <thomas@codesourcery.com> + + * configure.ac (AC_CONFIG_MACRO_DIRS): Instantiate. + * configure: Regenerate. + +2022-10-20 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve-builtins.h + (gimple_folder::fold_to_cstu): New member function. + * config/aarch64/aarch64-sve-builtins.cc + (gimple_folder::fold_to_cstu): Define. + * config/aarch64/aarch64-sve-builtins-base.cc + (svcnt_bhwd_impl::fold): Use it. + +2022-10-20 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve-builtins-functions.h (quiet) + (rtx_code_function, rtx_code_function_rotated, unspec_based_function) + (unspec_based_function_rotated, unspec_based_function_exact_insn) + (unspec_based_fused_function, unspec_based_fused_lane_function): + Replace constructors with using directives. + * config/aarch64/aarch64-sve-builtins-base.cc (svcnt_bhwd_pat_impl) + (svcreate_impl, svdotprod_lane_impl, svget_impl, svld1_extend_impl) + (svld1_gather_extend_impl, svld234_impl, svldff1_gather_extend) + (svset_impl, svst1_scatter_truncate_impl, svst1_truncate_impl) + (svst234_impl, svundef_impl): Likewise. + * config/aarch64/aarch64-sve-builtins-sve2.cc + (svldnt1_gather_extend_impl, svmovl_lb_impl): Likewise. + (svstnt1_scatter_truncate_impl): Likewise. + +2022-10-20 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve-builtins-base.cc: Replace CONSTEXPR + with constexpr throughout. + * config/aarch64/aarch64-sve-builtins-functions.h: Likewise. + * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise. + * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise. + * config/aarch64/aarch64-sve-builtins.cc: Likewise. + +2022-10-20 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove + merging alternative. + (*aarch64_brk<brk_op>_ptest): Likewise. + +2022-10-20 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/iterators.md (SVE_BRKP): New iterator. + * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern. + (*aarch64_brkn_ptest): Likewise. + (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP. + (*aarch64_brk<brk_op>_ptest): Likewise. + +2022-10-20 Richard Biener <rguenther@suse.de> + + PR c/107305 + PR c/107306 + * tree-cfg.h (verify_gimple_in_seq): Add parameter to + indicate whether to emit an ICE. Add return value. + (verify_gimple_in_cfg): Likewise. + * tree-cfg.cc (verify_gimple_in_seq): Likewise. + (verify_gimple_in_cfg): Likewise. + +2022-10-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107240 + * tree-vect-patterns.cc (vect_recog_bit_insert_pattern): Attempt to + simplify shifted value first. + +2022-10-20 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-gori.h (compute_operand_range): Make public. + * gimple-range-infer.cc (gimple_infer_range::check_assume_func): New. + (gimple_infer_range::gimple_infer_range): Check for assume calls. + * gimple-range-infer.h (check_assume_func): Add prototype. + * gimple-range.cc (assume_query::assume_range_p): New. + (assume_query::range_of_expr): New. + (assume_query::assume_query): New. + (assume_query::calculate_op): New. + (assume_query::calculate_phi): New. + (assume_query::check_taken_edge): New. + (assume_query::calculate_stmt): New. + (assume_query::dump): New. + * gimple-range.h (class assume_query): New. + * tree-vrp.cc (pass_assumptions::execute): Add processing. + +2022-10-19 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (build_le): Document result. + (build_lt): Same. + (build_ge): Same. + (foperator_ge::op2_range): Check result of build_*. + (foperator_unordered_le::op1_range): Same. + (foperator_unordered_le::op2_range): Same. + (foperator_unordered_gt::op1_range): Same. + (foperator_unordered_gt::op2_range): Same. + (foperator_unordered_ge::op1_range): Same. + (foperator_unordered_ge::op2_range): Same. + +2022-10-19 Marek Polacek <polacek@redhat.com> + + PR c++/85043 + * doc/invoke.texi: Update documentation of -Wuseless-cast. + +2022-10-19 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::range_from_dom): Use + Value_Range not int_range_max. + +2022-10-19 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107312 + * range.h (range_true_and_false): Special case 1-bit signed types. + * value-range.cc (range_tests_misc): New test. + +2022-10-19 LIU Hao <lh_mouse@126.com> + + * config/i386/mingw-mcfgthread.h: New file + * config/i386/mingw32.h: Add builtin macro and default libraries + for mcfgthread when thread model is `mcf` + * config.gcc: Include 'i386/mingw-mcfgthread.h' when thread model + is `mcf` + * configure.ac: Recognize `mcf` as a valid thread model + * config.in: Regenerate + * configure: Regenerate + +2022-10-19 Lewis Hyatt <lhyatt@gmail.com> + + * gengtype.cc (output_escaped_param): Add missing const. + (get_string_option): Add missing check for option type. + (walk_type): Support new "string_length" GTY option. + (write_types_process_field): Likewise. + * ggc-common.cc (gt_pch_note_object): Add optional length argument. + * ggc.h (gt_pch_note_object): Adjust prototype for new argument. + (gt_pch_n_S2): Declare... + * stringpool.cc (gt_pch_n_S2): ...new function. + * doc/gty.texi: Document new GTY((string_length)) option. + +2022-10-19 Martin Liska <mliska@suse.cz> + + * doc/extend.texi: Remove useless @tie{} directives. + +2022-10-19 Martin Jambor <mjambor@suse.cz> + + PR tree-optimization/107206 + * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs. + (analyze_access_subtree): Do not create replacements for accesses with + this flag when not toally scalarizing. + (propagate_subaccesses_from_lhs): Set the new flag. + +2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + PR target/106355 + * config/s390/s390.cc (s390_call_saved_register_used): For a + parameter with BLKmode fix determining number of consecutive + registers. + +2022-10-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa-protos.h + (xtensa_split1_finished_p, xtensa_split_DI_reg_imm): New prototypes. + * config/xtensa/xtensa.cc + (xtensa_split1_finished_p, xtensa_split_DI_reg_imm, xtensa_lra_p): + New functions. + (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p. + (xt_true_regnum): Rework. + * config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS): + Switch from CALL_USED_REGISTERS, and revise the comment. + * config/xtensa/constraints.md (Y): + Use !xtensa_split1_finished_p() instead of can_create_pseudo_p(). + * config/xtensa/predicates.md (move_operand): Ditto. + * config/xtensa/xtensa.md: Add two new split patterns: + - splits DImode immediate load into two SImode ones + - puts out-of-constraint SImode constants into the constant pool + * config/xtensa/xtensa.opt (-mlra): New target-specific option + for testing purpose. + +2022-10-19 Robin Dapp <rdapp@linux.ibm.com> + + * config/s390/s390.md: Move reload_completed and check operands for REG_P. + +2022-10-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/107262 + * expr.cc (convert_mode_scalar): For BFmode -> SFmode conversions + of constants, use simplify_unary_operation if fromi has VOIDmode + instead of recursive convert_mode_scalar. + +2022-10-19 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106990 + * match.pd ((~X - ~Y) -> Y - X, -x & 1 -> x & 1): Guard with + !TYPE_OVERFLOW_SANITIZED (type). + +2022-10-19 Jakub Jelinek <jakub@redhat.com> + + * config/i386/i386-builtins.cc (ix86_bf16_ptr_type_node): Remove. + (ix86_bf16_type_node): New variable. + (ix86_register_bf16_builtin_type): If bfloat16_type_node is NULL + from generic code, set only ix86_bf16_type_node to a new REAL_TYPE + rather than bfloat16_type_node, otherwise set ix86_bf16_type_node + to bfloat16_type_node. Register __bf16 on ix86_bf16_type_node + rather than bfloat16_type_node. Don't initialize unused + ix86_bf16_ptr_type_node. + * config/i386/i386-builtin-types.def (BFLOAT16): Use + ix86_bf16_type_node rather than bfloat16_type_node. + +2022-10-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106781 + * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Copy + LHS removal from fixup_noreturn_call. + +2022-10-19 liuhongt <hongtao.liu@intel.com> + + PR target/107271 + * config/i386/i386-expand.cc (ix86_vec_perm_index_canon): New. + (expand_vec_perm_shufps_shufps): Call + ix86_vec_perm_index_canon + +2022-10-18 Martin Jambor <mjambor@suse.cz> + + * ipa-prop.h (ipa_agg_value): Remove type. + (ipa_agg_value_set): Likewise. + (ipa_copy_agg_values): Remove function. + (ipa_release_agg_values): Likewise. + (ipa_auto_call_arg_values) Add a forward declaration. + (ipa_call_arg_values): Likewise. + (class ipa_argagg_value_list): New constructors, added member function + value_for_index_p. + (class ipa_auto_call_arg_values): Removed the destructor and member + function safe_aggval_at. Use ipa_argagg_values for m_known_aggs. + (class ipa_call_arg_values): Removed member function safe_aggval_at. + Use ipa_argagg_values for m_known_aggs. + (ipa_get_indirect_edge_target): Removed declaration. + (ipa_find_agg_cst_for_param): Likewise. + (ipa_find_agg_cst_from_init): New declaration. + (ipa_agg_value_from_jfunc): Likewise. + (ipa_agg_value_set_from_jfunc): Removed declaration. + (ipa_push_agg_values_from_jfunc): New declaration. + * ipa-cp.cc (ipa_agg_value_from_node): Renamed to + ipa_agg_value_from_jfunc, made public. + (ipa_agg_value_set_from_jfunc): Removed. + (ipa_push_agg_values_from_jfunc): New function. + (ipa_get_indirect_edge_target_1): Removed known_aggs parameter, use + avs for this purpose too. + (ipa_get_indirect_edge_target): Removed the overload working on + ipa_auto_call_arg_values, use ipa_argagg_value_list in the remaining + one. + (devirtualization_time_bonus): Use ipa_argagg_value_list and + ipa_get_indirect_edge_target_1 instead of + ipa_get_indirect_edge_target. + (context_independent_aggregate_values): Removed function. + (gather_context_independent_values): Work on ipa_argagg_value_list. + (estimate_local_effects): Likewise, define some iterator variables + only in the construct where necessary. + (ipcp_discover_new_direct_edges): Adjust the call to + ipa_get_indirect_edge_target_1. + (push_agg_values_for_index_from_edge): Adjust the call + ipa_agg_value_from_node which has been renamed to + ipa_agg_value_from_jfunc. + * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Work on + ipa_argagg_value_list. + (evaluate_properties_for_edge): Replace manual filling in aggregate + values with call to ipa_push_agg_values_from_jfunc. + (estimate_calls_size_and_time): Work on ipa_argagg_value_list. + (ipa_cached_call_context::duplicate_from): Likewise. + (ipa_cached_call_context::release): Likewise. + (ipa_call_context::equal_to): Likewise. + * ipa-prop.cc (ipa_find_agg_cst_from_init): Make public. + (ipa_find_agg_cst_for_param): Removed function. + (ipa_find_agg_cst_from_jfunc_items): New function. + (try_make_edge_direct_simple_call): Replace calls to + ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with + ipa_find_agg_cst_from_init and ipa_find_agg_cst_from_jfunc_items. + (try_make_edge_direct_virtual_call): Replace calls to + ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with + simple query of constant jump function and a call to + ipa_find_agg_cst_from_jfunc_items. + (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): Removed. + +2022-10-18 Martin Jambor <mjambor@suse.cz> + + * ipa-prop.h (IPA_PROP_ARG_INDEX_LIMIT_BITS): New. + (ipcp_transformation): Added forward declaration. + (ipa_argagg_value): New type. + (ipa_argagg_value_list): New type. + (ipa_agg_replacement_value): Removed type. + (ipcp_transformation): Switch from using ipa_agg_replacement_value + to ipa_argagg_value_list. + (ipa_get_agg_replacements_for_node): Removed. + (ipa_dump_agg_replacement_values): Removed declaration. + * ipa-cp.cc: Define INCLUDE_ALGORITHM. + (values_equal_for_ipcp_p): Moved up in the file. + (ipa_argagg_value_list::dump): New function. + (ipa_argagg_value_list::debug): Likewise. + (ipa_argagg_value_list::get_elt): Likewise. + (ipa_argagg_value_list::get_elt_for_index): Likewise. + (ipa_argagg_value_list::get_value): New overloaded functions. + (ipa_argagg_value_list::superset_of_p): New function. + (new ipa_argagg_value_list::push_adjusted_values): Likewise. + (push_agg_values_from_plats): Likewise. + (intersect_argaggs_with): Likewise. + (get_clone_agg_value): Removed. + (ipa_agg_value_from_node): Make last parameter const, use + ipa_argagg_value_list to search values coming from clones. + (ipa_get_indirect_edge_target_1): Use ipa_argagg_value_list to search + values coming from clones. + (ipcp_discover_new_direct_edges): Pass around a vector of + ipa_argagg_values rather than a link list of replacement values. + (cgraph_edge_brings_value_p): Use ipa_argagg_value_list to search + values coming from clones. + (create_specialized_node): Work with a vector of ipa_argagg_values + rather than a link list of replacement values. + (self_recursive_agg_pass_through_p): Make the pointer parameters + const. + (copy_plats_to_inter): Removed. + (intersect_with_plats): Likewise. + (agg_replacements_to_vector): Likewise. + (intersect_with_agg_replacements): Likewise. + (intersect_aggregates_with_edge): Likewise. + (push_agg_values_for_index_from_edge): Likewise. + (push_agg_values_from_edge): Likewise. + (find_aggregate_values_for_callers_subset): Rewrite. + (cgraph_edge_brings_all_agg_vals_for_node): Likewise. + (ipcp_val_agg_replacement_ok_p): Use ipa_argagg_value_list to search + aggregate values. + (decide_about_value): Work with a vector of ipa_argagg_values rather + than a link list of replacement values. + (decide_whether_version_node): Likewise. + (ipa_analyze_node): Check number of parameters, assert that there + are no descriptors when bailing out. + * ipa-prop.cc (ipa_set_node_agg_value_chain): Switch to a vector of + ipa_argagg_value. + (ipa_node_params_t::duplicate): Removed superfluous handling of + ipa_agg_replacement_values. Name of src parameter removed because + it is no longer used. + (ipcp_transformation_t::duplicate): Replaced duplication of + ipa_agg_replacement_values with copying vector m_agg_values. + (ipa_dump_agg_replacement_values): Removed. + (write_ipcp_transformation_info): Stream the new data-structure + instead of the old. + (read_ipcp_transformation_info): Likewise. + (adjust_agg_replacement_values): Work with ipa_argagg_values instead + of linked lists of ipa_agg_replacement_values, copy the items and + truncate the vector as necessary to keep it sorted instead of marking + items as invalid. Return one bool if CFG should be updated. + (ipcp_modif_dom_walker): Store ipcp_transformation instead of + linked list of ipa_agg_replacement_values. + (ipcp_modif_dom_walker::before_dom_children): Use + ipa_argagg_value_list instead of walking a list of + ipa_agg_replacement_values. + (ipcp_transform_function): Switch to the new data structure, adjust + dumping. + +2022-10-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107302 + * tree-vect-loop.cc (vectorizable_recurrence): Fix vec_perm + placement for a PHI latch def. + +2022-10-18 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR tree-optimization/107275 + * tree-if-conv.cc (if_convertible_loop_p_1): Move + find_data_references_in_loop call from here... + (if_convertible_loop_p): And move data-reference vector initialization + from here... + (tree_if_conversion):... to here. + +2022-10-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/106654 + * gimple.def (GIMPLE_ASSUME): New statement kind. + * gimple.h (struct gimple_statement_assume): New type. + (is_a_helper <gimple_statement_assume *>::test, + is_a_helper <const gimple_statement_assume *>::test): New. + (gimple_build_assume): Declare. + (gimple_has_substatements): Return true for GIMPLE_ASSUME. + (gimple_assume_guard, gimple_assume_set_guard, + gimple_assume_guard_ptr, gimple_assume_body_ptr, gimple_assume_body): + New inline functions. + * gsstruct.def (GSS_ASSUME): New. + * gimple.cc (gimple_build_assume): New function. + (gimple_copy): Handle GIMPLE_ASSUME. + * gimple-pretty-print.cc (dump_gimple_assume): New function. + (pp_gimple_stmt_1): Handle GIMPLE_ASSUME. + * gimple-walk.cc (walk_gimple_op): Handle GIMPLE_ASSUME. + * omp-low.cc (WALK_SUBSTMTS): Likewise. + (lower_omp_1): Likewise. + * omp-oacc-kernels-decompose.cc (adjust_region_code_walk_stmt_fn): + Likewise. + * tree-cfg.cc (verify_gimple_stmt, verify_gimple_in_seq_2): Likewise. + * function.h (struct function): Add assume_function bitfield. + * gimplify.cc (gimplify_call_expr): If the assumption isn't + simple enough, expand it into GIMPLE_ASSUME wrapped block or + for -O0 drop it. + * gimple-low.cc: Include attribs.h. + (create_assumption_fn): New function. + (struct lower_assumption_data): New type. + (find_assumption_locals_r, assumption_copy_decl, + adjust_assumption_stmt_r, adjust_assumption_stmt_op, + lower_assumption): New functions. + (lower_stmt): Handle GIMPLE_ASSUME. + * tree-ssa-ccp.cc (pass_fold_builtins::execute): Remove + IFN_ASSUME calls. + * lto-streamer-out.cc (output_struct_function_base): Pack + assume_function bit. + * lto-streamer-in.cc (input_struct_function_base): And unpack it. + * cgraphunit.cc (cgraph_node::expand): Don't verify assume_function + has TREE_ASM_WRITTEN set and don't release its body. + (symbol_table::compile): Allow assume functions not to have released + body. + * internal-fn.cc (expand_ASSUME): Remove gcc_unreachable. + * passes.cc (execute_one_pass): For TODO_discard_function don't + release body of assume functions. + * cgraph.cc (cgraph_node::verify_node): Don't verify cgraph nodes + of PROP_assumptions_done functions. + * tree-pass.h (PROP_assumptions_done): Define. + (TODO_discard_function): Adjust comment. + (make_pass_assumptions): Declare. + * passes.def (pass_assumptions): Add. + * timevar.def (TV_TREE_ASSUMPTIONS): New. + * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_ASSUME. + * tree-vrp.cc (pass_data_assumptions): New variable. + (pass_assumptions): New class. + (make_pass_assumptions): New function. + +2022-10-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107301 + * gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg): + Check whether we can duplicate the block. + (find_implicit_erroneous_behavior): Likewise. + +2022-10-18 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/107273 + * value-relation.cc (equiv_oracle::add_partial_equiv): Merge + instead of copying precison of each member. + +2022-10-17 Jeff Law <jeffreyalaw@gmail.com> + + PR target/101697 + * config/h8300/combiner.md: Replace '<' preincment constraint with + ZA/Z1..ZH/Z7 combinations. + * config/h8300/movepush.md: Similarly + +2022-10-17 Jeff Law <jeffreyalaw@gmail.com> + + * config/h8300/constraints.md (Za..Zh): New constraints for + autoinc addresses using a specific register. + * config/h8300/h8300.cc (pre_incdec_with_reg): New function. + * config/h8300/h8300-protos.h (pre_incdec_with_reg): Add prototype. + +2022-10-17 Jeff Law <jlaw@ventanamicro.com> + + * config/i386/cet.c: Remove accidental commit. + * config/i386/driver-mingw32.c: Likewise. + * config/i386/i386-builtins.c: Likewise. + * config/i386/i386-d.c: Likewise. + * config/i386/i386-expand.c: Likewise. + * config/i386/i386-features.c: Likewise. + * config/i386/i386-options.c: Likewise. + * config/i386/t-cet: Likewise. + * config/i386/x86-tune-sched-atom.c: Likewise. + * config/i386/x86-tune-sched-bd.c: Likewise. + * config/i386/x86-tune-sched-core.c: Likewise. + * config/i386/x86-tune-sched.c: Likewise. + +2022-10-17 Jeff Law <jeffreyalaw@gmail.com> + + * common/config/h8300/h8300-common.cc (h8300_option_optimization_table): + Enable redundant extension elimination at -O2 and above. + * config/i386/cet.c: New file. + * config/i386/driver-mingw32.c: New file. + * config/i386/i386-builtins.c: New file. + * config/i386/i386-d.c: New file. + * config/i386/i386-expand.c: New file. + * config/i386/i386-features.c: New file. + * config/i386/i386-options.c: New file. + * config/i386/t-cet: New file. + * config/i386/x86-tune-sched-atom.c: New file. + * config/i386/x86-tune-sched-bd.c: New file. + * config/i386/x86-tune-sched-core.c: New file. + * config/i386/x86-tune-sched.c: New file. + +2022-10-17 Jeff Law <jeffreyalaw@gmail.com> + + * config/h8300/extensions.md (CCZN setting zero extended load): Add + missing splitter. + +2022-10-17 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107293 + * tree-ssa-dom.cc + (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): + Check that condition post-dominates the definition point. + +2022-10-17 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107286 + * value-range.cc (range_tests_floats): Do not test for -Inf when + flag_finite_math_only. + +2022-10-17 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (fold_using_range::range_of_range_op): + Provide relation_trio class. + * gimple-range-gori.cc (gori_compute::refine_using_relation): + Provide relation_trio class. + (gori_compute::refine_using_relation): Ditto. + (gori_compute::compute_operand1_range): Provide lhs_op2 and + op1_op2 relations via relation_trio class. + (gori_compute::compute_operand2_range): Ditto. + * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use + relation_trio instead of relation_kind. + (gimple_range_op_handler::calc_op2): Ditto. + (*::fold_range): Ditto. + * gimple-range-op.h (gimple_range_op::calc_op1): Adjust prototypes. + (gimple_range_op::calc_op2): Adjust prototypes. + * range-op-float.cc (*::fold_range): Use relation_trio instead of + relation_kind. + (*::op1_range): Ditto. + (*::op2_range): Ditto. + * range-op.cc (*::fold_range): Use relation_trio instead of + relation_kind. + (*::op1_range): Ditto. + (*::op2_range): Ditto. + * range-op.h (class range_operator): Adjust prototypes. + (class range_operator_float): Ditto. + (class range_op_handler): Adjust prototypes. + (relop_early_resolve): Pickup op1_op2 relation from relation_trio. + * value-relation.cc (VREL_LAST): Adjust use to be one past the end of + the enum. + (relation_oracle::validate_relation): Use relation_trio in call + to fold_range. + * value-relation.h (enum relation_kind_t): Add VREL_LAST as + final element. + (class relation_trio): New. + (TRIO_VARYING, TRIO_SHIFT, TRIO_MASK): New. + +2022-10-17 Andrew MacLeod <amacleod@redhat.com> + + * range-op-float.cc (foperator_not_equal::op1_range): Check for + VREL_EQ after singleton. + (foperator_unordered::op1_range): Set VARYING before calling + clear_nan(). + (foperator_ordered::op1_range): Set rather than clear NAN if both + operands are the same. + +2022-10-17 Andrew MacLeod <amacleod@redhat.com> + + * value-relation.cc (value_relation::dump): Change message. + * value-relation.h (value_relation::set_relation): If op1 is the + same as op2 do not create a relation. + +2022-10-17 Thomas Schwinge <thomas@codesourcery.com> + + * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of + 'case QImode:', etc. + +2022-10-17 Thomas Schwinge <thomas@codesourcery.com> + + * gimple-expr.cc (mark_addressable_2): Tag as 'static'. + +2022-10-17 Richard Biener <rguenther@suse.de> + Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + PR tree-optimization/99409 + PR tree-optimization/99394 + * tree-vectorizer.h (vect_def_type::vect_first_order_recurrence): Add. + (stmt_vec_info_type::recurr_info_type): Likewise. + (vectorizable_recurr): New function. + * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): New + function. + (vect_analyze_scalar_cycles_1): Look for first order + recurrences. + (vect_analyze_loop_operations): Handle them. + (vect_transform_loop): Likewise. + (vectorizable_recurr): New function. + (maybe_set_vectorized_backedge_value): Handle the backedge value + setting in the first order recurrence PHI and the permutes. + * tree-vect-stmts.cc (vect_analyze_stmt): Handle first order + recurrences. + (vect_transform_stmt): Likewise. + (vect_is_simple_use): Likewise. + (vect_is_simple_use): Likewise. + * tree-vect-slp.cc (vect_get_and_check_slp_defs): Likewise. + (vect_build_slp_tree_2): Likewise. + (vect_schedule_scc): Handle the backedge value setting in the + first order recurrence PHI and the permutes. + +2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/t-riscv: Change Tab into 2 space. + +2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-builtins.cc (mangle_builtin_type): Move down the function. + +2022-10-17 Arsen Arsenovic <arsen@aarsen.me> + + * config.gcc: --target=*-elf --without-{newlib,headers} should + provide stdint.h. + +2022-10-17 Hu, Lin1 <lin1.hu@intel.com> + + * common/config/i386/cpuinfo.h: + (get_intel_cpu): Handle Meteorlake. + * common/config/i386/i386-common.cc: + (processor_alias_table): Add Meteorlake. + +2022-10-17 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h: + (get_intel_cpu): Handle Raptorlake. + * common/config/i386/i386-common.cc: + (processor_alias_table): Add Raptorlake. + +2022-10-16 Jeff Law <jeffreyalaw@gmail.com> + + * config/h8300/constraints.md (Z0..Z7): New register + constraints. + * config/h8300/h8300.h (reg_class): Add new classes. + (REG_CLASS_NAMES): Similarly. + (REG_CLASS_CONTENTS): Similarly. + +2022-10-16 Jeff Law <jeffreyalaw@gmail.com> + + * config/h8300/constraints.md (Zz constraint): Renamed + from "z". + * config/h8300/movepush.md (movqi_h8sx, movhi_h8sx): Adjust + constraint to use Zz instead of Z. + +2022-10-16 Jeff Law <jeffreyalaw@gmail.com> + + * config/h8300/h8300.cc (h8300_register_move_cost): Fix typo. + +2022-10-14 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::set): Implement distinction between + HONOR_SIGNED_ZEROS and MODE_HAS_SIGNED_ZEROS. + +2022-10-14 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-op.cc (class cfn_copysign): New. + (gimple_range_op_handler::maybe_builtin_call): Add + CFN_BUILT_IN_COPYSIGN*. + +2022-10-14 Aldy Hernandez <aldyh@redhat.com> + + * real.h (real_isdenormal): Check rvc_normal. + * value-range.cc (range_tests_floats): New test. + +2022-10-14 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-op.cc + (gimple_range_op_handler::maybe_builtin_call): Replace + CFN_BUILTIN_SIGNBIT* cases with CASE_FLT_FN. + +2022-10-14 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::set): Normalize ranges for both bounds. + +2022-10-14 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS. + +2022-10-14 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-op.cc + (gimple_range_op_handler::maybe_builtin_call): Add + CFN_BUILT_IN_SIGNBIT[FL]* entries. + +2022-10-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107254 + * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): + For permutes also analyze live lanes. + (vect_schedule_slp_node): For permutes also code generate + live lane extracts. + +2022-10-14 Eric Botcazou <ebotcazou@adacore.com> + + PR target/107248 + * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame + blockage for leaf functions. + (sparc_flat_expand_prologue): Emit frame instead of full blockage. + (sparc_expand_epilogue): Emit a frame blockage for leaf functions. + (sparc_flat_expand_epilogue): Emit frame instead of full blockage. + +2022-10-14 Jakub Jelinek <jakub@redhat.com> + + * tree-core.h (enum tree_index): Add TI_BFLOAT16_TYPE. + * tree.h (bfloat16_type_node): Define. + * tree.cc (excess_precision_type): Promote bfloat16_type_mode + like float16_type_mode. + (build_common_tree_nodes): Initialize bfloat16_type_node if + BFmode is supported. + * expmed.h (maybe_expand_shift): Declare. + * expmed.cc (maybe_expand_shift): No longer static. + * expr.cc (convert_mode_scalar): Don't ICE on BF -> HF or HF -> BF + conversions. If there is no optab, handle BF -> {DF,XF,TF,HF} + conversions as separate BF -> SF -> {DF,XF,TF,HF} conversions, add + -ffast-math generic implementation for BF -> SF and SF -> BF + conversions. + * builtin-types.def (BT_BFLOAT16, BT_FN_BFLOAT16_CONST_STRING): New. + * builtins.def (BUILT_IN_NANSF16B): New builtin. + * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NANSF16B. + * config/i386/i386.cc (classify_argument): Handle E_BCmode. + (ix86_libgcc_floating_mode_supported_p): Also return true for BFmode + for -msse2. + (ix86_mangle_type): Mangle BFmode as DF16b. + (ix86_invalid_conversion, ix86_invalid_unary_op, + ix86_invalid_binary_op): Remove. + (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP, + TARGET_INVALID_BINARY_OP): Don't redefine. + * config/i386/i386-builtins.cc (ix86_bf16_type_node): Remove. + (ix86_register_bf16_builtin_type): Use bfloat16_type_node rather than + ix86_bf16_type_node, only create it if still NULL. + * config/i386/i386-builtin-types.def (BFLOAT16): Likewise. + * config/i386/i386.md (cbranchbf4, cstorebf4): New expanders. + +2022-10-14 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/323 + PR c++/107097 + * doc/invoke.texi (-fexcess-precision=standard): Mention that the + option now also works in C++. + +2022-10-13 Eric Botcazou <ebotcazou@adacore.com> + + * gimple-ssa-warn-access.cc (pass_waccess::check_call): Return + early for calls made from thunks. + +2022-10-13 Eric Botcazou <ebotcazou@adacore.com> + + * expr.cc (emit_group_stote): Fix handling of modes of different + sizes for big-endian targets in latest change and add commentary. + +2022-10-13 Martin Liska <mliska@suse.cz> + + * output.h (assemble_vtv_preinit_initializer): Remove. + * varasm.cc (assemble_vtv_preinit_initializer): Remove. + +2022-10-13 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/102540 + PR tree-optimization/102872 + * gimple-range-cache.cc (ranger_cache::fill_block_cache): + Handle partial equivs. + (ranger_cache::range_from_dom): Cleanup dump output. + +2022-10-13 Andrew MacLeod <amacleod@redhat.com> + + * range-op.cc (operator_cast::lhs_op1_relation): New. + (operator_bitwise_and::lhs_op1_relation): New. + +2022-10-13 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::fill_block_cache): Use + iterator. + * value-relation.cc + (equiv_relation_iterator::equiv_relation_iterator): New. + (equiv_relation_iterator::next): New. + (equiv_relation_iterator::get_name): New. + * value-relation.h (class relation_oracle): Privatize some methods. + (class equiv_relation_iterator): New. + (FOR_EACH_EQUIVALENCE): New. + (FOR_EACH_PARTIAL_EQUIV): New. + (FOR_EACH_PARTIAL_AND_FULL_EQUIV): New. + +2022-10-13 Andrew MacLeod <amacleod@redhat.com> + + * value-relation.cc (equiv_chain::dump): Don't print empty + equivalences. + (equiv_oracle::equiv_oracle): Allocate a partial equiv table. + (equiv_oracle::~equiv_oracle): Release the partial equiv table. + (equiv_oracle::add_partial_equiv): New. + (equiv_oracle::partial_equiv_set): New. + (equiv_oracle::partial_equiv): New. + (equiv_oracle::query_relation): Check for partial equivs too. + (equiv_oracle::dump): Also dump partial equivs. + (dom_oracle::register_relation): Handle partial equivs. + (dom_oracle::query_relation): Check for partial equivs. + * value-relation.h (enum relation_kind_t): Add partial equivs. + (relation_partial_equiv_p): New. + (relation_equiv_p): New. + (class pe_slice): New. + (class equiv_oracle): Add prototypes. + (pe_to_bits): New. + (bits_to_pe): New. + (pe_min): New. + +2022-10-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107247 + * tree-vect-loop.cc (vect_create_epilog_for_reduction): + Reduce multi vector SLP reduction accumulators. Check + the adjusted number of accumulator vectors against + one for the re-use in the epilogue. + +2022-10-13 Jakub Jelinek <jakub@redhat.com> + + * genmodes.cc (emit_mode_wider): Emit previous content of + mode_wider array into mode_next array and for mode_wider + emit always VOIDmode for !CLASS_HAS_WIDER_MODES_P classes, + otherwise skip through modes with the same precision. + * machmode.h (mode_next): Declare. + (GET_MODE_NEXT_MODE): New inline function. + (mode_iterator::get_next, mode_iterator::get_known_next): New + function templates. + (FOR_EACH_MODE_IN_CLASS): Use get_next instead of get_wider. + (FOR_EACH_MODE): Use get_known_next instead of get_known_wider. + (FOR_EACH_MODE_FROM): Use get_next instead of get_wider. + (FOR_EACH_WIDER_MODE_FROM): Define. + (FOR_EACH_NEXT_MODE): Define. + * expmed.cc (emit_store_flag_1): Use FOR_EACH_WIDER_MODE_FROM + instead of FOR_EACH_MODE_FROM. + * optabs.cc (prepare_cmp_insn): Likewise. Remove redundant + !CLASS_HAS_WIDER_MODES_P check. + (prepare_float_lib_cmp): Use FOR_EACH_WIDER_MODE_FROM instead of + FOR_EACH_MODE_FROM. + * config/i386/i386-expand.cc (get_mode_wider_vector): Use + GET_MODE_NEXT_MODE instead of GET_MODE_WIDER_MODE. + +2022-10-13 Wilco Dijkstra <wdijkstr@arm.com> + + PR target/105773 + * config/aarch64/aarch64.cc (aarch64_select_cc_mode): Allow + GT/LE for merging compare with zero into AND. + (aarch64_get_condition_code_1): Add CC_NZVmode support. + * config/aarch64/aarch64-modes.def: Add CC_NZV. + * config/aarch64/aarch64.md: Use CC_NZV in cmp+and patterns. + +2022-10-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107160 + * tree-vect-loop.cc (vect_create_epilog_for_reduction): + Do not register accumulator if we failed to reduce it + to a single vector. + +2022-10-13 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (range_operator_float::op1_op2_relation): New. + (class foperator_equal): Add using. + (class foperator_not_equal): Same. + (class foperator_lt): Same. + (class foperator_le): Same. + (class foperator_gt): Same. + (class foperator_ge): Same. + * range-op.cc (range_op_handler::op1_op2_relation): New. + * range-op.h (range_operator_float::op1_op2_relation): New. + +2022-10-13 Richard Biener <rguenther@suse.de> + + * genmatch.cc (parser::parse_c_expr): Diagnose 'return'. + * match.pd: Replace 'return' statements in with expressions + with appropriate variants. + +2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR tree-optimization/107229 + * tree-if-conv.cc (get_bitfield_rep): Fix bitposition calculation. + +2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR tree-optimization/107226 + * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Reject + BITFIELD_REF's with non integral typed first operands. + +2022-10-13 Joseph Myers <joseph@codesourcery.com> + + * ginclude/float.h (FLT_IS_IEC_60559, DBL_IS_IEC_60559) + (LDBL_IS_IEC_60559): Update comment. + +2022-10-12 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (class foperator_negate): New. + (floating_op_table::floating_op_table): Add NEGATE_EXPR + (range_op_float_tests): Add negate tests. + +2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-builtins.h: Remove unused macro. + +2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Apply + clang-format. + (add_vector_type_attribute): Ditto. + * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Apply + clang-format. + * config/riscv/riscv-vector-builtins.h (DEF_RVV_TYPE): Apply + clang-format. + +2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-builtins.cc (builtin_types): Redefine + vector types. + (build_const_pointer): New function. + (register_builtin_type): Ditto. + (DEF_RVV_TYPE): Simplify macro. + (register_vector_type): Refine implementation. + * config/riscv/riscv-vector-builtins.h (rvv_builtin_types_t): New. + +2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-builtins.h (class rvv_switcher): Move to + this to .... + * config/riscv/riscv-vector-builtins.cc (class rvv_switcher): + here. + +2022-10-12 Cui,Lili <lili.cui@intel.com> + + * config/i386/driver-i386.cc (host_detect_local_cpu): + Move sapphirerapids out of AVX512_VP2INTERSECT. + * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS + * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS + +2022-10-12 Martin Liska <mliska@suse.cz> + + * gcov-io.cc (gcov_write_summary): Rename to ... + (gcov_write_object_summary): ... this. + * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY_LENGTH): Rename from ... + (GCOV_TAG_SUMMARY_LENGTH): ... this. + +2022-10-12 Martin Liska <mliska@suse.cz> + + * configure: Regenerate. + +2022-10-12 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (frange_float): New. + (range_op_float_tests): New. + * range-op.cc (range_op_tests): Call range_op_float_tests. + +2022-10-12 Aldy Hernandez <aldyh@redhat.com> + + * value-range.h (frange::nan_signbit_p): New. + +2022-10-12 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::set_nonnegative): Pass bool to + update_nan. + * value-range.h: Disallow conversion to bool in update_nan(). + +2022-10-12 Aldy Hernandez <aldyh@redhat.com> + + * value-range.h (frange::frange): Add constructor taking type. + +2022-10-12 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc: Add relation_kind = VREL_VARYING to all + methods. + +2022-10-11 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-gori.cc (gori_compute::logical_combine): Avoid + calling tracer.trailer(). + +2022-10-11 Jakub Jelinek <jakub@redhat.com> + + PR target/107185 + * config/i386/i386.md (*notxor<mode>_1): Use MASK_REG_P (x) instead of + MASK_REGNO_P (REGNO (x)). + +2022-10-11 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (class foperator_abs): New. + (floating_op_table::floating_op_table): Add ABS_EXPR entry. + +2022-10-11 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (foperator_unordered_le::op1_range): New. + (foperator_unordered_le::op2_range): New. + (foperator_unordered_gt::op1_range): New. + (foperator_unordered_gt::op2_range): New. + (foperator_unordered_ge::op1_range): New. + (foperator_unordered_ge::op2_range): New. + (foperator_unordered_equal::op1_range): New. + +2022-10-11 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (class foperator_unordered_lt): New. + (class foperator_relop_unknown): Remove + (class foperator_unordered_le): New. + (class foperator_unordered_gt): New. + (class foperator_unordered_ge): New. + (class foperator_unordered_equal): New. + (floating_op_table::floating_op_table): Replace all UN_EXPR + entries with their appropriate fop_unordered_* counterpart. + +2022-10-11 Aldy Hernandez <aldyh@redhat.com> + + * range-op.cc (operator_equal::op1_range): Move BRS_TRUE case up. + (operator_lt::op2_range): Same. + (operator_le::op2_range): Same. + (operator_gt::op2_range): Same. + (operator_ge::op2_range): Same. + +2022-10-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107212 + * tree-vect-loop.cc (vectorizable_reduction): Make sure to + set STMT_VINFO_REDUC_DEF for all live lanes in a SLP + reduction. + (vectorizable_live_operation): Do not pun to the SLP + node representative for reduction epilogue generation. + +2022-10-11 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn-valu.md (neg<mode>2): New define_expand. + +2022-10-11 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn-valu.md (vec_init<V_ALL:mode><V_ALL_ALT:mode>): New. + * config/gcn/gcn.cc (GEN_VN): Add andvNsi3, subvNsi3. + (GEN_VNM): Add gathervNm_expr. + (GEN_VN_NOEXEC): Add vec_seriesvNsi. + (gcn_expand_vector_init): Add initialization of vectors from smaller + vectors. + +2022-10-11 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn-protos.h (get_exec): Add prototypes for two variants. + * config/gcn/gcn-valu.md + (vec_extract<V_ALL:mode><V_ALL_ALT:mode>): New define_expand. + * config/gcn/gcn.cc (get_exec): Export the existing function. Add a + new overload variant. + +2022-10-11 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn-valu.md + (<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): Use MODE_VF. + (<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): Likewise. + * config/gcn/gcn.h (MODE_VF): New macro. + +2022-10-11 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn-modes.def (VECTOR_MODE): Add new modes + V32QI, V32HI, V32SI, V32DI, V32TI, V32HF, V32SF, V32DF, + V16QI, V16HI, V16SI, V16DI, V16TI, V16HF, V16SF, V16DF, + V8QI, V8HI, V8SI, V8DI, V8TI, V8HF, V8SF, V8DF, + V4QI, V4HI, V4SI, V4DI, V4TI, V4HF, V4SF, V4DF, + V2QI, V2HI, V2SI, V2DI, V2TI, V2HF, V2SF, V2DF. + (ADJUST_ALIGNMENT): Likewise. + * config/gcn/gcn-protos.h (gcn_full_exec): Delete. + (gcn_full_exec_reg): Delete. + (gcn_scalar_exec): Delete. + (gcn_scalar_exec_reg): Delete. + (vgpr_1reg_mode_p): Use inner mode to identify vector registers. + (vgpr_2reg_mode_p): Likewise. + (vgpr_vector_mode_p): Use VECTOR_MODE_P. + * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF, + V_QIHI, V_1REG, V_INT_1REG, V_INT_1REG_ALT, V_FP_1REG, V_2REG, V_noQI, + V_noHI, V_INT_noQI, V_INT_noHI, V_ALL, V_ALL_ALT, V_INT, V_FP): + Add additional vector modes. + (V64_SI, V64_DI, V64_ALL, V64_FP): New iterators. + (scalar_mode, SCALAR_MODE, vnsi, VnSI, vndi, VnDI, sdwa): + Add additional vector mode mappings. + (mov<mode>): Implement vector length conversions. + (ldexp<mode>3<exec>): Use VnSI. + (frexp<mode>_exp2<exec>): Likewise. + (VCVT_MODE, VCVT_FMODE, VCVT_IMODE): Add additional vector modes. + (reduc_<reduc_op>_scal_<mode>): Use V64_ALL. + (fold_left_plus_<mode>): Use V64_FP. + (*<reduc_op>_dpp_shr_<mode>): Use V64_1REG. + (*<reduc_op>_dpp_shr_<mode>): Use V64_DI. + (*plus_carry_dpp_shr_<mode>): Use V64_INT_1REG. + (*plus_carry_in_dpp_shr_<mode>): Use V64_SI. + (*plus_carry_dpp_shr_<mode>): Use V64_DI. + (mov_from_lane63_<mode>): Use V64_2REG. + * config/gcn/gcn.cc (VnMODE): New function. + (gcn_can_change_mode_class): Support multiple vector sizes. + (gcn_modes_tieable_p): Likewise. + (gcn_operand_part): Likewise. + (gcn_scalar_exec): Delete function. + (gcn_scalar_exec_reg): Delete function. + (gcn_full_exec): Delete function. + (gcn_full_exec_reg): Delete function. + (gcn_inline_fp_constant_p): Support multiple vector sizes. + (gcn_fp_constant_p): Likewise. + (A): New macro. + (GEN_VN_NOEXEC): New macro. + (GEN_VNM_NOEXEC): New macro. + (GEN_VN): New macro. + (GEN_VNM): New macro. + (GET_VN_FN): New macro. + (CODE_FOR): New macro. + (CODE_FOR_OP): New macro. + (gen_mov_with_exec): Delete function. + (gen_duplicate_load): Delete function. + (gcn_expand_vector_init): Support multiple vector sizes. + (strided_constant): Likewise. + (gcn_addr_space_legitimize_address): Likewise. + (gcn_expand_scalar_to_vector_address): Likewise. + (gcn_expand_scaled_offsets): Likewise. + (gcn_secondary_reload): Likewise. + (gcn_valid_cvt_p): Likewise. + (gcn_expand_builtin_1): Likewise. + (gcn_make_vec_perm_address): Likewise. + (gcn_vectorize_vec_perm_const): Likewise. + (gcn_vector_mode_supported_p): Likewise. + (gcn_autovectorize_vector_modes): New hook. + (gcn_related_vector_mode): Support multiple vector sizes. + (gcn_expand_dpp_shr_insn): Add FIXME comment. + (gcn_md_reorg): Support multiple vector sizes. + (print_reg): Likewise. + (print_operand): Likewise. + (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): New hook. + +2022-10-11 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * tree-if-conv.cc (if_convertible_loop_p_1): Move ordering of loop bb's from + here... + (tree_if_conversion): ... to here. Also call bitfield lowering when + appropriate. + (version_loop_for_if_conversion): Adapt to enable loop versioning when we only + need to lower bitfields. + (ifcvt_split_critical_edges): Relax condition of expected loop form as this is + checked earlier. + (get_bitfield_rep): New function. + (lower_bitfield): Likewise. + (bitfields_to_lower_p): Likewise. + (need_to_lower_bitfields): New global boolean. + (need_to_ifcvt): Likewise. + * tree-vect-data-refs.cc (vect_find_stmt_data_reference): Improve diagnostic + message. + * tree-vect-patterns.cc (vect_recog_temp_ssa_var): Add default value for last + parameter. + (vect_recog_bitfield_ref_pattern): New. + (vect_recog_bit_insert_pattern): New. + +2022-10-11 liuhongt <hongtao.liu@intel.com> + + PR target/107093 + * config/i386/i386.md (*notxor<mode>_1): New post_reload + define_insn_and_split. + (*notxorqi_1): Ditto. + +2022-10-11 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107195 + * value-range.cc (irange::set_range_from_nonzero_bits): Set range + to [0,0] when nonzero mask is 0. + +2022-10-11 Olivier Hainque <hainque@adacore.com> + + * configure: Regenerate. + +2022-10-11 Olivier Hainque <hainque@adacore.com> + + * config.gcc (*vxworks*): Add t-slibgcc fragment + if enable_shared. + +2022-10-11 Olivier Hainque <hainque@adacore.com> + + * config/vxworks.h (VX_LGCC_EH_SO0, VX_LGCC_EH_SO1): New + internal macros. + (VXWORKS_LIBGCC_SPEC): Use them and document. + +2022-10-11 Martin Liska <mliska@suse.cz> + + * gimple-range-op.cc: Add override keyword. + +2022-10-11 Eugene Rozenfeld <erozen@microsoft.com> + + PR debug/107193 + * tree-cfg.cc (assign_discriminators): Move declaration of cur_locus_e + out of the loop. + +2022-10-11 Liwei Xu <liwei.xu@intel.com> + liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/54346 + * match.pd: Merge the index of VCST then generates the new vec_perm. + +2022-10-11 Jeff Law <jeffreyalaw@gmail.com> + + PR rtl-optimization/107182 + * cfgrtl.cc (fixup_reorder_chain): When optimizing a jump to a + return, clear EDGE_CROSSING on the appropriate edge. + +2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-builtins.cc (struct vector_type_info): Move + from config/riscv/riscv-vector-builtins.h. + (DEF_RVV_TYPE): Change USER_NAME to NAME. + (register_vector_type): Change user_name to name. + * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Change + USER_NAME to NAME. + * config/riscv/riscv-vector-builtins.h (struct vector_type_info): Move + to riscv-vector-builtins.cc. + (DEF_RVV_TYPE): Change USER_NAME to NAME. + +2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.md: Add vsetvl instruction type. + +2022-10-10 Nathan Sidwell <nathan@acm.org> + + * common.opt (-fabi-version=): Document 18. + * doc/invoke.texi (-fabi-version): Document 18. + +2022-10-10 Andrea Corallo <andrea.corallo@arm.com> + + PR other/99723 + * toplev.cc (toplev::main): Don't run self tests in case of + previous error. + +2022-10-10 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/riscv-c.cc: Add newline to the end of file. + +2022-10-10 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (class foperator_identity): Make members public. + (class foperator_equal): Same. + (class foperator_not_equal): Same. + (class foperator_lt): Same. + (class foperator_le): Same. + (class foperator_gt): Same. + (class foperator_ge): Same. + (class foperator_unordered): Same. + (class foperator_ordered): Same. + +2022-10-10 Aldy Hernandez <aldyh@redhat.com> + + * value-range.h (frange::maybe_isnan): New. + +2022-10-10 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (foperator_not_equal::op1_range): Set NAN on + TRUE side for x != x. + +2022-10-10 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (foperator_unordered::op1_range): Set NAN when + operands are equal and result is TRUE. + +2022-10-10 Aldy Hernandez <aldyh@redhat.com> + + * range.h (range_true): Return int_range<2>. + (range_false): Same. + (range_true_and_false): Same. + +2022-10-10 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-op.cc: Add op1_range entry for __builtin_signbit. + +2022-10-10 liuhongt <hongtao.liu@intel.com> + + PR target/107185 + * config/i386/i386.md (lrint<MODEF:mode><SWI48:mode>2): Swap + predicate of operands[0] and operands[1]. + +2022-10-10 Claudiu Zissulescu <claziss@gmail.com> + + * common/config/arc/arc-common.cc (arc_option_optimization_table): + Remove Rcq and Rcw options. + * config/arc/arc.opt (mRcq): Ignore option, preserve it for + backwards compatibility. + (mRcw): Likewise. + * doc/invoke.texi (mRcw, mRcq): Update document. + +2022-10-10 Claudiu Zissulescu <claziss@gmail.com> + + * config/arc/arc.cc (arc_check_short_reg_p): New function. + (arc_address_cost): Replace satisfies_constraint_Rcq with the + above new function. + (arc_output_addsi): Likewise. + (split_addsi): Likewise. + (split_subsi): Likewise. + * config/arc/arc.md (movqi_insn): Remove Rcq constraint. + (movhi_insn): Likewise. + (movsi_insn): Likewise. + (tst_movb): Likewise. + (tst): Likewise. + (tst_bitfield): Likewise. + (abssi2): Likewise. + (addsi3_mixed): Likewise. + (mulhisi3_reg): Likewise. + (umulhisi3_reg): Likewise. + (mulsi_600): Likewise. + (mul64): Likewise. + (subsi3_insn): Likewise. + (bicsi3_insn): Likewise. + (xorsi3): Likewise. + (negsi2): Likewise. + (one_cmplsi2): Likewise. + (lshrsi3_insn): Likewise. + (cmpsi_cc_insn_mixed): Likewise. + (cmpsi_cc_zn_insn): Likewise. + (btst): Likewise. + (cmpsi_cc_z_insn): Likewise. + (cmpsi_cc_c_insn): Likewise. + (indirect_jump): Likewise. + (casesi_jump): Likewise. + (call_i): Likewise. + (call_value_i): Likewise. + (bbit): Likewise. + (abssf2): Likewise. + (ashlsi2_cnt1): Likewise. + (lshrsi3_cnt1): Likewise. + (ashrsi3_cnt1): Likewise. + * config/arc/constraints.md (Rcq): Remove. + +2022-10-10 Claudiu Zissulescu <claziss@gmail.com> + + * config/arc/arc.md (smaxsi3): Remove Rcw. + (sminsi3): Likewise. + (addsi3_mixed): Likewise. + (add_f_2): Likewise. + (subsi3_insn): Likewise. + (sub_f): Likewise. + (sub_n): Likewise. + (bset): Likewise. + (bxor): Likewise. + (bclr): Likewise. + (bset_insn): Likewise. + (bxor_insn): Likewise. + (bclr_insn): Likewise. + (bmsk_insn): Likewise. + (bicsi3_insn): Likewise. + (xorsi3): Likewise. + (negsi2): Likewise. + (lshrsi3_insn): Likewise. + (abssf2): Likewise. + (negsf2): Likewise. + * config/arc/constraints.md(Rcw): Remove it. + +2022-10-10 Claudiu Zissulescu <claziss@gmail.com> + + * config/arc/arc.md(mulsi3_700): Remove Rcr. + (mulsi3_highpart): Likewise. + (umulsi3_highpart_i): Likewise. + (umulsi3_highpart_int): Likewise. + (macd): Likewise. + (macdu): Likewise. + * config/arc/constraints.md (Rcr): Remove it. + +2022-10-10 Claudiu Zissulescu <claziss@gmail.com> + + * config/arc/arc.cc (arc_save_callee_enter): Use negative offsets. + +2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu> + + PR target/106562 + * config/pru/pru-protos.h (pru_noteq_condition): New + function declaration. + * config/pru/pru.cc (pru_noteq_condition): New function. + * config/pru/pru.md (cbranchdi4): Define new pattern. + +2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/pru/pru.md (lshrdi3): New expand pattern. + (ashldi3): Ditto. + +2022-10-09 YunQiang Su <yunqiang.su@cipunited.com> + + * config.gcc: set with_arch to default_mips_arch if no defined. + * config/mips/driver-native.cc (host_detect_local_cpu): + try getauxval(AT_BASE_PLATFORM) and _MIPS_ARCH, too. + pass -mnan=2008 if __mips_nan2008__ is defined. + * config.in: define HAVE_SYS_AUXV_H and HAVE_GETAUXVAL. + * configure.ac: detect sys/auxv.h and getauxval. + * configure: regenerated. + +2022-10-07 Eugene Rozenfeld <erozen@microsoft.com> + + * tree-cfg.cc (assign_discriminators): Set discriminators for call stmts + on the same line within the same basic block. + +2022-10-07 Qing Zhao <qing.zhao@oracle.com> + + PR tree-optimization/101836 + * tree-object-size.cc (addr_object_size): Use array_at_struct_end_p + to determine a flexible array member reference. + +2022-10-07 Qing Zhao <qing.zhao@oracle.com> + + * doc/extend.texi: Document strict_flex_array attribute. + * doc/invoke.texi: Document -fstrict-flex-arrays[=n] option. + * print-tree.cc (print_node): Print new bit decl_not_flexarray. + * tree-core.h (struct tree_decl_common): New bit field + decl_not_flexarray. + * tree-streamer-in.cc (unpack_ts_decl_common_value_fields): Stream + in new bit decl_not_flexarray. + * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream + out new bit decl_not_flexarray. + * tree.cc (array_at_struct_end_p): Update it with the new bit field + decl_not_flexarray. + * tree.h (DECL_NOT_FLEXARRAY): New flag. + +2022-10-07 Olivier Hainque <hainque@adacore.com> + + * config/vxworks/_vxworks-versions.h: Use OS specific + paths in #include of version.h. + +2022-10-07 Martin Liska <mliska@suse.cz> + + * opts.cc (finish_options): Print sorry message only + for -flive-patching=inline-only-static. + +2022-10-07 Jason Merrill <jason@redhat.com> + + * gimplify.cc (gimplify_modify_expr_rhs): Don't optimize + x = *(A*)&<expr> to x = <expr> for a TREE_ADDRESSABLE type. + +2022-10-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107153 + * tree-cfg.cc (gimple_duplicate_sese_tail): Do not update + SSA form here. + * tree-parloops.cc (gen_parallel_loop): Update SSA form + after to-exit-first transform, no PHI insertion is necessary. + (pass_parallelize_loops::execute): Force re-write of the + virtual operand SSA web. + +2022-10-07 Jonathan Wakely <jwakely@redhat.com> + + * value-range.cc (irange::irange_contains_p): Fix comment typo. + +2022-10-07 Eric Botcazou <ebotcazou@adacore.com> + + * function.cc (thread_prologue_and_epilogue_insns): Update only + entry and exit blocks when not optimizing. Remove dead statement. + +2022-10-07 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (irange::irange_set): Convert nonzero mask to + tree. + (irange::irange_set_anti_range): Same. + (irange::set): Same. + (irange::verify_range): Same. + (irange::contains_p): Same. + (irange::invert): Same. + (irange::set_range_from_nonzero_bits): Same. + (irange::set_nonzero_bits): Same. + (mask_to_wi): Same. + (irange::intersect_nonzero_bits): Same. + (irange::union_nonzero_bits): Same. + * value-range.h (irange::varying_compatible_p): Same. + (gt_ggc_mx): Same. + (gt_pch_nx): Same. + (irange::set_undefined): Same. + (irange::set_varying): Same. + +2022-10-07 Martin Liska <mliska@suse.cz> + + * config/i386/i386-protos.h (ix86_binary_operator_ok): Add array + size to function parameter. + (ix86_unary_operator_ok): Likewise. + +2022-10-07 Martin Liska <mliska@suse.cz> + + * auto-profile.cc (get_inline_stack): Remove unused variable. + +2022-10-07 Jakub Jelinek <jakub@redhat.com> + + * ipa-prop.h (ipa_constant_data): Fix comment typo. + * value-range.cc (irange::irange_contains_p): Likewise. + * value-relation.cc (dom_oracle::set_one_relation): Likewise. + * gimple-predicate-analysis.cc (predicate::simplify_4): Likewise. + * tree-inline.cc (remap_ssa_name): Likewise. + +2022-10-07 Jakub Jelinek <jakub@redhat.com> + + * attribs.h (is_attribute_namespace_p): New inline function. + (lookup_attribute): Document meaning of ATTR_NS equal to "". + * attribs.cc (remove_attribute): Use is_attribute_namespace_p. + (private_lookup_attribute): For ATTR_NS "" match either standard + attribute or "gnu" namespace one. + +2022-10-07 Olivier Hainque <hainque@adacore.com> + + * config/vxworks.h (DWARF_VERSION_DEFAULT): Adjust from + 4 to 3 for VxWorks >= 7. + +2022-10-07 Olivier Hainque <hainque@adacore.com> + + * defaults.h (DWARF_DEFAULT_VERSION): Define if not + defined already. + * common.opt (gdwarf-): Use it. + * doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document. + * doc/tm.texi: Update accordingly. + * config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine. + * config/vxworks.cc: Remove code setting dwarf_version, now + handled by the DWARF_DEFAULT_VERSION redefinition. + +2022-10-07 Olivier Hainque <hainque@adacore.com> + + * ginclude/stddef.h: #undef offsetof before #define. + +2022-10-06 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107170 + * vr-values.cc (vr_values::range_of_expr): Do not die on + unsupported types. + +2022-10-06 Joseph Myers <joseph@codesourcery.com> + + * doc/invoke.texi (-fno-asm): Update description of effects on + typeof keyword. + +2022-10-06 Eric Botcazou <ebotcazou@adacore.com> + + * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Bail out for a self + dependency that is a write-after-write if the access function is not + affine or constant. + +2022-10-06 Eric Botcazou <ebotcazou@adacore.com> + + * df-scan.cc (df_ref_create_structure): Minor cleanup. + +2022-10-06 Richard Biener <rguenther@suse.de> + + PR middle-end/107115 + * expr.cc (store_expr): Check mems_same_for_tbaa_p before + eliding a seemingly redundant store. + +2022-10-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/atomics.md (*atomic_load<ALLX:mode>_zext<SD_HSDI:mode>): + New pattern. + +2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update + Ampere-1 core entry. + +2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one. + +2022-10-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107107 + * tree-ssa-sccvn.cc (visit_reference_op_store): Do not + affect value-numbering when doing the tail merging + MODIFY_EXPR lookup. + +2022-10-06 Claudiu Zissulescu <claziss@synopsys.com> + + * config/arc/linux.h (LINK_SPEC): Remove max-page-size and + common-pave-size. + +2022-10-06 Jakub Jelinek <jakub@redhat.com> + + PR c++/106654 + * internal-fn.def (ASSUME): New internal function. + * internal-fn.h (expand_ASSUME): Declare. + * internal-fn.cc (expand_ASSUME): Define. + * gimplify.cc (gimplify_call_expr): Gimplify IFN_ASSUME. + * fold-const.h (simple_condition_p): Declare. + * fold-const.cc (simple_operand_p_2): Rename to ... + (simple_condition_p): ... this. Remove forward declaration. + No longer static. Adjust function comment and fix a typo in it. + Adjust recursive call. + (simple_operand_p): Adjust function comment. + (fold_truth_andor): Adjust simple_operand_p_2 callers to call + simple_condition_p. + * doc/extend.texi: Document assume attribute. Move fallthrough + attribute example to its section. + +2022-10-06 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + PR rtl-optimization/107088 + * cselib.cc (new_cselib_val): Skip BImode while keeping track of + subvalue relations. + +2022-10-06 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::set): Call set_nan unconditionally. + (range_tests_nan): Adjust tests. + (range_tests_signed_zeros): Same. + (range_tests_floats): Same. + * value-range.h (frange::update_nan): Guard with HONOR_NANS. + (frange::set_nan): Set undefined if !HONOR_NANS. + +2022-10-06 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (foperator_lt::fold_range): Remove extra check + to finite_operands_p. + (foperator_le::fold_range): Same. + (foperator_gt::fold_range): Same. + (foperator_ge::fold_range): Same. + +2022-10-06 Aldy Hernandez <aldyh@redhat.com> + + * value-range-pretty-print.cc (vrange_printer::print_real_value): + Avoid printing INF and NAN twice. + +2022-10-05 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/constraints.md (wD): Delete. + * doc/md.texi (Machine Constraints): Adjust. + +2022-10-05 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/vsx.md (vsx_extract_<mode>): Replace define_insn by a + define_expand. Split the contents to... + (*vsx_extract_<mode>_0): ... this. Rewrite. + (*vsx_extract_<mode>_1): ... and this. Rewrite. + +2022-10-05 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of + "wD" constraint. + +2022-10-05 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107060 + * doc/analyzer.texi (__analyzer_get_unknown_ptr): Document. + +2022-10-05 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config.gcc: Add riscv_vector.h. + * config/riscv/riscv-builtins.cc: Add RVV builtin types support. + * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): New function. + (riscv_register_pragmas): Ditto. + * config/riscv/riscv-protos.h (riscv_register_pragmas): Ditto. + (init_builtins): Move declaration from riscv-vector-builtins.h to riscv-protos.h. + (mangle_builtin_type): Ditto. + (verify_type_context): Ditto. + (handle_pragma_vector): New function. + * config/riscv/riscv-vector-builtins.cc (GTY): New variable. + (register_vector_type): New function. + (init_builtins): Add RVV builtin types support. + (handle_pragma_vector): New function. + * config/riscv/riscv-vector-builtins.h (GCC_RISCV_V_BUILTINS_H): Change + name according to file name. + (GCC_RISCV_VECTOR_BUILTINS_H): Ditto. + (init_builtins): Remove declaration in riscv-vector-builtins.h. + (mangle_builtin_type): Ditto. + (verify_type_context): Ditto. + * config/riscv/riscv.cc: Adjust for RVV builtin types support. + * config/riscv/riscv.h (REGISTER_TARGET_PRAGMAS): New macro. + * config/riscv/t-riscv: Remove redundant file including. + * config/riscv/riscv_vector.h: New file. + +2022-10-05 Aldy Hernandez <aldyh@redhat.com> + + * range-op.cc (operator_cast::fold_range): Handle truncating casts + for nonzero masks. + +2022-10-05 Martin Liska <mliska@suse.cz> + + PR c/107156 + * attribs.h (lookup_attribute_by_prefix): Support the attribute + starting with underscore (_Noreturn). + +2022-10-05 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107052 + * gimple-range-op.cc (cfn_popcount::fold_range): Take into account + nonzero bit mask. + +2022-10-05 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107052 + * range-op.cc (operator_cast::fold_range): Set nonzero mask. + +2022-10-05 Eric Botcazou <ebotcazou@adacore.com> + + PR tree-optimization/106698 + * pointer-query.cc (handle_array_ref): Fix handling of low bound. + +2022-10-05 Vineet Gupta <vineetg@rivosinc.com> + + * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): + Remove __riscv_cmodel_pic, that deprecated in last version. + +2022-10-05 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107072 + * Makefile.in (ANALYZER_OBJS): Add analyzer/call-summary.o. + +2022-10-04 Jakub Jelinek <jakub@redhat.com> + + * attribs.h (remove_attribute): Declare overload with additional + attr_ns argument. + (private_lookup_attribute): Declare overload with additional + attr_ns and attr_ns_len arguments. + (lookup_attribute): New overload with additional attr_ns argument. + * attribs.cc (remove_attribute): New overload with additional + attr_ns argument. + (private_lookup_attribute): New overload with additional + attr_ns and attr_ns_len arguments. + +2022-10-04 Jakub Jelinek <jakub@redhat.com> + + * attribs.cc (handle_ignored_attributes_option, decl_attributes, + common_function_versions): Use auto_diagnostic_group. + +2022-10-04 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (irange::set_nonzero_bits): Remove assert. + +2022-10-04 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New macro. + * config/aarch64/aarch64-arches.def (armv8.3-a): Include RCPC. + * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1) + (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define + __ARM_FEATURE_RCPC when appropriate. + +2022-10-04 Tobias Burnus <tobias@codesourcery.com> + + * doc/invoke.texi (-fopenmp): Mention C++ attribut syntax. + (-fopenmp-simd): Likewise; update permitted directives. + +2022-10-04 Tobias Burnus <tobias@codesourcery.com> + + * doc/install.texi (Specific): Add missing items to bullet list. + (amdgcn): Update LLVM requirements, use version not date for newlib. + (nvptx): Use version not git hash for newlib. + +2022-10-04 Aldy Hernandez <aldyh@redhat.com> + + * value-range-storage.cc (irange_storage_slot::set_irange): Remove + special case. + * value-range.cc (irange::irange_set): Adjust for nonzero mask + being a wide int. + (irange::irange_set_anti_range): Same. + (irange::set): Same. + (irange::verify_range): Same. + (irange::legacy_equal_p): Same. + (irange::operator==): Same. + (irange::contains_p): Same. + (irange::legacy_intersect): Same. + (irange::legacy_union): Same. + (irange::irange_single_pair_union): Call union_nonzero_bits. + (irange::irange_union): Same. + (irange::irange_intersect): Call intersect_nonzero_bits. + (irange::intersect): Adjust for nonzero mask being a wide int. + (irange::invert): Same. + (irange::set_nonzero_bits): Same. + (irange::get_nonzero_bits_from_range): New. + (irange::set_range_from_nonzero_bits): New. + (irange::get_nonzero_bits): Adjust for nonzero mask being a wide + int. + (irange::intersect_nonzero_bits): Same. + (irange::union_nonzero_bits): Same. + (range_tests_nonzero_bits): Remove test. + * value-range.h (irange::varying_compatible_p): Adjust for nonzero + mask being a wide int. + (gt_ggc_mx): Same. + (gt_pch_nx): Same. + (irange::set_undefined): Same. + (irange::set_varying): Same. + (irange::normalize_kind): Same. + +2022-10-04 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107130 + * gimple-range-op.cc (class cfn_popcount): Call op_cfn_ffs. + (class cfn_ffs): New. + (gimple_range_op_handler::maybe_builtin_call): Separate out + CASE_CFN_FFS into its own case. + +2022-10-03 Sergei Trofimovich <siarheit@google.com> + + * config/i386/t-i386: Add build-time dependencies against + i386-builtin-types.inc to i386-builtins.o, i386-expand.o, + i386-features.o. + +2022-10-03 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn-valu.md (while_ultsidi): Limit mask length using + operand 3. + * doc/md.texi (while_ult): Document new operand 3 usage. + * internal-fn.cc (expand_while_optab_fn): Set operand 3 when lhs_type + maps to a non-vector mode. + +2022-10-03 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/107109 + * range-op.cc (adjust_op1_for_overflow): Don't process undefined. + +2022-10-03 Christophe Lyon <christophe.lyon@arm.com> + + * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early + clobber. + (mve_vrev64q_m_f<mode>): Likewise. + +2022-10-03 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (irange::set_nonzero_bits): Do not pessimize range. + (range_tests_nonzero_bits): New test. + +2022-10-03 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (irange::operator==): Early bail on m_num_ranges + equal to 0. + +2022-10-03 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (irange::legacy_equal_p): Remove nonozero mask + check when comparing VR_VARYING ranges. + +2022-10-03 Aldy Hernandez <aldyh@redhat.com> + + * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Do not compare + incompatible ranges in ipa-prop. + +2022-10-02 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107121 + * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics, + DEFFERED_INIT -> DEFERRED_INIT. + +2022-10-02 Marc Poulhiès <poulhies@adacore.com> + + * config/vxworks-driver.cc: New. + * config.gcc (*vxworks*): Add vxworks-driver.o in extra_gcc_objs. + * config/t-vxworks: Add vxworks-driver.o. + * config/vxworks.h (GCC_DRIVER_HOST_INITIALIZATION): New. + +2022-10-02 Olivier Hainque <hainque@adacore.com> + + * config/vxworks.h (VX_CRTBEGIN_SPEC, VX_CRTEND_SPEC): If + HAVE_INITFINI_ARRAY_SUPPORT, pick crtstuff objects regardless + of ENABLE_SHARED_LIBGCC. + +2022-10-01 Stafford Horne <shorne@gmail.com> + + * config/or1k/or1k.cc (TARGET_HAVE_TLS): Only define if + HAVE_AS_TLS is defined. + +2022-10-01 Julian Brown <julian@codesourcery.com> + + * gimplify.cc (omp_group_base): Fix IF_PRESENT (no_create) + handling. + +2022-10-01 Jeff Law <jeffreyalaw@gmail.com> + + * config/h8300/h8300.md (HSI2): New iterator. + (eqne_invert): Similarly. + * config/h8300/testcompare.md (testhi_upper_z): New pattern. + (cmpqi_z, cmphi_z, cmpsi_z): Likewise. + (store_z_qi, store_z_i_qi, store_z_hi, store_z_hi_sb): New + define_insn_and_splits and/or define_insns. + (store_z_hi_neg, store_z_hi_and, store_z_<mode>): Likewise. + (store_z_<mode>_neg, store_z_<mode>_and, store_z): Likewise. + +2022-10-01 Jeff Law <jeffreyalaw@gmail.com> + + * tree-ssa-dom.cc (record_edge_info): Install correct version of + patch. + +2022-10-01 Eugene Rozenfeld <erozen@microsoft.com> + + * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites. + +2022-09-30 Jeff Law <jeffreyalaw@gmail.com> + + * tree-ssa-dom.cc (single_block_loop_p): New function. + (record_edge_info): Also record equivalences for the outgoing + edge of a single block loop where the condition is an invariant. + +2022-09-30 Jeff Law <jeffreyalaw@gmail.com> + + * tree-ssa-dom.cc (free_dom_edge_info): Clear e->aux too. + (free_all_edge_infos): Do not clear e->aux here. + +2022-09-30 H.J. Lu <hjl.tools@gmail.com> + + * target.def (TARGET_C_EXCESS_PRECISION): Document + -fexcess-precision=16. + +2022-09-30 Palmer Dabbelt <palmer@rivosinc.com> + + * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Add 16. + +2022-09-30 Palmer Dabbelt <palmer@rivosinc.com> + + PR target/106815 + * config/riscv/riscv.cc (riscv_excess_precision): Add support + for EXCESS_PRECISION_TYPE_FLOAT16. + +2022-09-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/107080 + * config/arm/arm.cc (arm_mangle_type): Mangle just __fp16 as Dh + and _Float16 as DF16_. + * config/csky/csky.cc (csky_init_builtins): Fix a comment typo. + (csky_mangle_type): Mangle __fp16 as Dh and _Float16 as DF16_ + rather than mangling __fp16 as __fp16. + +2022-09-30 Lewis Hyatt <lhyatt@gmail.com> + + PR preprocessor/69543 + * tree-ssa-uninit.cc (warn_uninit): Stop stripping macro tracking + information away from the diagnostic location. + (maybe_warn_read_write_only): Likewise. + (maybe_warn_operand): Likewise. + +2022-09-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/107080 + * config/aarch64/aarch64.cc (aarch64_mangle_type): Mangle just __fp16 + as Dh and _Float16 as DF16_. + +2022-09-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/107080 + * config/i386/i386.cc (ix86_mangle_type): Always return NULL + for float128_type_node or float64x_type_node, don't check + float128t_type_node later on. + * config/ia64/ia64.cc (ia64_mangle_type): Always return NULL + for float128_type_node or float64x_type_node. + * config/rs6000/rs6000.cc (rs6000_mangle_type): Likewise. + Don't check float128_type_node later on. + * config/s390/s390.cc (s390_mangle_type): Don't use + TYPE_MAIN_VARIANT on type which was set to TYPE_MAIN_VARIANT + a few lines earlier. + +2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * doc/sourcebuild.texi: Document new vma_equals_lma effective + target check. + +2022-09-30 Jiawei <jiawei@iscas.ac.cn> + + * config/riscv/riscv.cc (riscv_file_start): New .option. + * config/riscv/riscv.opt: New options. + * doc/invoke.texi: New definations. + +2022-09-30 Kewen Lin <linkw@linux.ibm.com> + + PR target/99888 + PR target/105649 + * doc/invoke.texi (option -fpatchable-function-entry): Adjust the + documentation for PowerPC ELFv2 ABI dual entry points. + * config/rs6000/rs6000-internal.h + (rs6000_print_patchable_function_entry): New function declaration. + * config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue): + Support patchable-function-entry by emitting nops before and after + local entry for the function that needs global entry. + * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): Skip + the function that needs global entry till global entry has been + emitted. + * config/rs6000/rs6000.h (struct machine_function): New bool member + global_entry_emitted. + +2022-09-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107095 + * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Use data arg + for .MASK_STORE size. + +2022-09-29 Andrew MacLeod <amacleod@redhat.com> + + * range-op.cc (plus_minus_ranges): New. + (adjust_op1_for_overflow): New. + (operator_plus::op1_range): Use new adjustment. + (operator_plus::op2_range): Ditto. + (operator_minus::op1_range): Ditto. + * value-relation.h (relation_lt_le_gt_ge_p): New. + +2022-09-29 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-gori.cc (gori_compute::refine_using_relation): New. + (gori_compute::compute_operand1_range): Invoke + refine_using_relation when applicable. + (gori_compute::compute_operand2_range): Ditto. + * gimple-range-gori.h (class gori_compute): Adjust prototypes. + +2022-09-29 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-gori.cc (ori_compute::compute_operand_range): + Create a relation record and pass it along when possible. + (gori_compute::compute_operand1_range): Pass relation along. + (gori_compute::compute_operand2_range): Ditto. + (gori_compute::compute_operand1_and_operand2_range): Ditto. + * gimple-range-gori.h (class gori_compute): Adjust prototypes. + * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Pass + relation to op1_range call. + (gimple_range_op_handler::calc_op2): Pass relation to op2_range call. + * gimple-range-op.h (class gimple_range_op_handler): Adjust + prototypes. + +2022-09-29 Andrew MacLeod <amacleod@redhat.com> + + * value-relation.cc (class value_relation): Move to .h file. + (value_relation::set_relation): Ditto. + (value_relation::value_relation): ditto. + * value-relation.h (class value_relation): Move from .cc file. + (value_relation::set_relation): Ditto + (value_relation::value_relation): Ditto. + +2022-09-29 Andrew MacLeod <amacleod@redhat.com> + + * range-op.cc (operator_minus::op2_range): Check for undefined. + (operator_mult::op1_range): Ditto. + (operator_exact_divide::op1_range): Ditto. + (operator_lshift::op1_range): Ditto. + (operator_rshift::op1_range): Ditto. + (operator_cast::op1_range): Ditto. + (operator_bitwise_and::op1_range): Ditto. + (operator_bitwise_or::op1_range): Ditto. + (operator_trunc_mod::op1_range): Ditto. + (operator_trunc_mod::op2_range): Ditto. + (operator_bitwise_not::op1_range): Ditto. + (pointer_or_operator::op1_range): Ditto. + (range_op_handler::op1_range): Ditto. + (range_op_handler::op2_range): Ditto. + +2022-09-29 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): + Remove unused elt_bits variable. + +2022-09-29 Olivier Hainque <hainque@adacore.com> + + * config/vxworks.h: Add comment on our use of + HAVE_INITFINI_ARRAY_SUPPORT. + +2022-09-29 Olivier Hainque <hainque@adacore.com> + + * config/aarch64/t-aarch64-vxworks: Request multilib + variants for mcmodel=large. + +2022-09-29 Olivier Hainque <hainque@adacore.com> + + * config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove + resetting to 0. + +2022-09-29 Olivier Hainque <hainque@adacore.com> + + * config/vx-common.h (DWARF2_UNWIND_INFO): #define to 0 + when ARM_UNWIND_INFO is set. + +2022-09-29 Julian Brown <julian@codesourcery.com> + + PR middle-end/107028 + * gimplify.cc (omp_check_mapping_compatibility, + oacc_resolve_clause_dependencies): New functions. + (omp_accumulate_sibling_list): Remove redundant duplicate clause + detection for OpenACC. + (build_struct_sibling_lists): Skip deleted groups. Don't build sibling + list for struct variables that are fully mapped on the same directive + for OpenACC. + (gimplify_scan_omp_clauses): Call oacc_resolve_clause_dependencies. + +2022-09-29 Jose E. Marchesi <jose.marchesi@oracle.com> + + PR middle-end/25521 + * varasm.cc (categorize_decl_for_section): Place `const volatile' + objects in read-only sections. + (default_select_section): Likewise. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead + of to_widest. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.h (TARGET_CRYPTO, TARGET_SHA3, TARGET_SM4) + (TARGET_DOTPROD): Don't depend on TARGET_SIMD. + (TARGET_AES, TARGET_SHA2): Likewise. Remove TARGET_CRYPTO test. + (TARGET_FP_F16INST): Don't depend on TARGET_FLOAT. + (TARGET_SVE2, TARGET_SVE_F32MM, TARGET_SVE_F64MM): Don't depend + on TARGET_SVE. + (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3) + (TARGET_SVE2_SM4): Don't depend on TARGET_SVE2. + (TARGET_F32MM, TARGET_F64MM): Delete. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Guard + float macros with just TARGET_FLOAT rather than TARGET_FLOAT + || TARGET_SIMD. + * config/aarch64/aarch64-simd.md (copysign<mode>3): Depend + only on TARGET_SIMD, rather than TARGET_FLOAT && TARGET_SIMD. + (aarch64_crypto_aes<aes_op>v16qi): Depend only on TARGET_AES, + rather than TARGET_SIMD && TARGET_AES. + (aarch64_crypto_aes<aesmc_op>v16qi): Likewise. + (*aarch64_crypto_aese_fused): Likewise. + (*aarch64_crypto_aesd_fused): Likewise. + (aarch64_crypto_pmulldi): Likewise. + (aarch64_crypto_pmullv2di): Likewise. + (aarch64_crypto_sha1hsi): Likewise TARGET_SHA2. + (aarch64_crypto_sha1hv4si): Likewise. + (aarch64_be_crypto_sha1hv4si): Likewise. + (aarch64_crypto_sha1su1v4si): Likewise. + (aarch64_crypto_sha1<sha1_op>v4si): Likewise. + (aarch64_crypto_sha1su0v4si): Likewise. + (aarch64_crypto_sha256h<sha256_op>v4si): Likewise. + (aarch64_crypto_sha256su0v4si): Likewise. + (aarch64_crypto_sha256su1v4si): Likewise. + (aarch64_crypto_sha512h<sha512_op>qv2di): Likewise TARGET_SHA3. + (aarch64_crypto_sha512su0qv2di): Likewise. + (aarch64_crypto_sha512su1qv2di, eor3q<mode>4): Likewise. + (aarch64_rax1qv2di, aarch64_xarqv2di, bcaxq<mode>4): Likewise. + (aarch64_sm3ss1qv4si): Likewise TARGET_SM4. + (aarch64_sm3tt<sm3tt_op>qv4si): Likewise. + (aarch64_sm3partw<sm3part_op>qv4si): Likewise. + (aarch64_sm4eqv4si, aarch64_sm4ekeyqv4si): Likewise. + * config/aarch64/aarch64.md (<FLOATUORS:optab>dihf2) + (copysign<GPF:mode>3, copysign<GPF:mode>3_insn) + (xorsign<mode>3): Remove redundant TARGET_FLOAT condition. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.opt (aarch64_asm_isa_flags): New variable. + * config/aarch64/aarch64.h (aarch64_asm_isa_flags) + (aarch64_isa_flags): Redefine as read-only macros. + (TARGET_SIMD, TARGET_FLOAT, TARGET_SVE): Don't depend on + !TARGET_GENERAL_REGS_ONLY. + * common/config/aarch64/aarch64-common.cc + (aarch64_set_asm_isa_flags): New function. + (aarch64_handle_option): Call it when updating -mgeneral-regs. + * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Replace + m_old_isa_flags with m_old_asm_isa_flags. + (aarch64_set_asm_isa_flags): Declare. + * config/aarch64/aarch64-builtins.cc + (aarch64_simd_switcher::aarch64_simd_switcher) + (aarch64_simd_switcher::~aarch64_simd_switcher): Save and restore + aarch64_asm_isa_flags instead of aarch64_isa_flags. + * config/aarch64/aarch64-sve-builtins.cc + (check_required_extensions): Use aarch64_asm_isa_flags instead + of aarch64_isa_flags. + * config/aarch64/aarch64.cc (aarch64_set_asm_isa_flags): New function. + (aarch64_override_options, aarch64_handle_attr_arch) + (aarch64_handle_attr_cpu, aarch64_handle_attr_isa_flags): Use + aarch64_set_asm_isa_flags to set the ISA flags. + (aarch64_option_print, aarch64_declare_function_name) + (aarch64_start_file): Use aarch64_asm_isa_flags instead + of aarch64_isa_flags. + (aarch64_can_inline_p): Check aarch64_asm_isa_flags as well as + aarch64_isa_flags. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * common/config/aarch64/aarch64-common.cc (all_extensions): + Include the feature flag in flags_on and flags_off. + (aarch64_parse_extension): Update accordingly. + (aarch64_get_extension_string_for_isa_flags): Likewise. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * common/config/aarch64/aarch64-common.cc: Use aarch64_feature_flags + for feature flags throughout. + * config/aarch64/aarch64-protos.h: Likewise. + * config/aarch64/aarch64-sve-builtins.h: Likewise. + * config/aarch64/aarch64-sve-builtins.cc: Likewise. + * config/aarch64/aarch64.cc: Likewise. + * config/aarch64/aarch64.opt: Likewise. + * config/aarch64/driver-aarch64.cc: Likewise. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * common/config/aarch64/aarch64-common.cc (aarch64_option_extension) + (processor_name_to_arch, arch_to_arch_name): Remove const from + member variables. + (all_extensions, all_cores, all_architectures): Make a constexpr. + * config/aarch64/aarch64.cc (processor): Remove const from + member variables. + (all_architectures): Make a constexpr. + * config/aarch64/driver-aarch64.cc (aarch64_core_data) + (aarch64_arch_driver_info): Remove const from member variables. + (aarch64_cpu_data, aarch64_arches): Make a constexpr. + (get_arch_from_id): Return a pointer to const. + (host_detect_local_cpu): Update accordingly. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * common/config/aarch64/aarch64-common.cc (processor_name_to_arch) + (arch_to_arch_name): Use const char * instead of std::string. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * common/config/aarch64/aarch64-common.cc + (TARGET_OPTION_INIT_STRUCT): Delete. + (aarch64_option_extension): Remove is_synthetic_flag. + (all_extensions): Update accordingly. + (all_extensions_by_on, opt_ext, opt_ext_cmp): Delete. + (aarch64_option_init_struct, aarch64_contains_opt): Delete. + (aarch64_get_extension_string_for_isa_flags): Rewrite to use + all_extensions instead of all_extensions_on. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-option-extensions.def: Switch to a new format. + * config/aarch64/aarch64-cores.def: Use the same format to specify + lists of features. + * config/aarch64/aarch64-arches.def: Likewise, moving that information + from aarch64.h. + * config/aarch64/aarch64-opts.h (aarch64_feature_flags): New typedef. + * config/aarch64/aarch64.h (aarch64_feature): New class enum. + Turn AARCH64_FL_* macros into constexprs, getting the definitions + from aarch64-option-extensions.def. Remove AARCH64_FL_FOR_* macros. + * common/config/aarch64/aarch64-common.cc: Include + aarch64-feature-deps.h. + (all_extensions): Update for new .def format. + (all_extensions_by_on, all_cores, all_architectures): Likewise. + * config/aarch64/driver-aarch64.cc: Include aarch64-feature-deps.h. + (aarch64_extensions): Update for new .def format. + (aarch64_cpu_data, aarch64_arches): Likewise. + * config/aarch64/aarch64.cc: Include aarch64-feature-deps.h. + (all_architectures, all_cores): Update for new .def format. + * config/aarch64/aarch64-sve-builtins.cc + (check_required_extensions): Likewise. + * config/aarch64/aarch64-feature-deps.h: New file. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-option-extensions.def: Move crypto + after sha2. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-option-extensions.def (dotprod): Depend + on fp as well as simd. + (sha3): Likewise. + (aes): Likewise. Make +noaes disable crypto. + (sha2): Likewise +nosha2. Also make +nosha2 disable sha3 and + sve2-sha3. + (sve2-sha3): Depend on sha2 as well as sha3. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + PR target/107025 + * config/aarch64/aarch64.h (oAARCH64_FL_RCPC8_4): Delete. + (AARCH64_FL_FOR_V8_4A): Update accordingly. + (AARCH64_ISA_RCPC8_4): Use AARCH64_FL_V8_4A directly. + * config/aarch64/aarch64-cores.def (thunderx3t110): Remove + AARCH64_FL_RCPC8_4. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-cores.def: Remove AARCH64_FL_FOR_<ARCH> + from the flags field. + * common/config/aarch64/aarch64-common.cc (all_cores): Add it + here instead. + * config/aarch64/aarch64.cc (all_cores): Likewise. + * config/aarch64/driver-aarch64.cc (all_cores): Likewise. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * config.gcc: Remove dead aarch64-option-extensions.def code. + * config/aarch64/aarch64-arches.def: Update comment. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-arches.def: Add a leading "V" to the + ARCH_IDENT fields. + * config/aarch64/aarch64-cores.def: Update accordingly. + * common/config/aarch64/aarch64-common.cc (all_cores): Likewise. + * config/aarch64/aarch64.cc (all_cores): Likewise. + * config/aarch64/driver-aarch64.cc (aarch64_arches): Skip the + leading "V". + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8): Rename to... + (AARCH64_FL_FOR_V8A): ...this. + (AARCH64_FL_FOR_ARCH8_1): Rename to... + (AARCH64_FL_FOR_V8_1A): ...this. + (AARCH64_FL_FOR_ARCH8_2): Rename to... + (AARCH64_FL_FOR_V8_2A): ...this. + (AARCH64_FL_FOR_ARCH8_3): Rename to... + (AARCH64_FL_FOR_V8_3A): ...this. + (AARCH64_FL_FOR_ARCH8_4): Rename to... + (AARCH64_FL_FOR_V8_4A): ...this. + (AARCH64_FL_FOR_ARCH8_5): Rename to... + (AARCH64_FL_FOR_V8_5A): ...this. + (AARCH64_FL_FOR_ARCH8_6): Rename to... + (AARCH64_FL_FOR_V8_6A): ...this. + (AARCH64_FL_FOR_ARCH8_7): Rename to... + (AARCH64_FL_FOR_V8_7A): ...this. + (AARCH64_FL_FOR_ARCH8_8): Rename to... + (AARCH64_FL_FOR_V8_8A): ...this. + (AARCH64_FL_FOR_ARCH8_R): Rename to... + (AARCH64_FL_FOR_V8R): ...this. + (AARCH64_FL_FOR_ARCH9): Rename to... + (AARCH64_FL_FOR_V9A): ...this. + (AARCH64_FL_FOR_ARCH9_1): Rename to... + (AARCH64_FL_FOR_V9_1A): ...this. + (AARCH64_FL_FOR_ARCH9_2): Rename to... + (AARCH64_FL_FOR_V9_2A): ...this. + (AARCH64_FL_FOR_ARCH9_3): Rename to... + (AARCH64_FL_FOR_V9_3A): ...this. + * common/config/aarch64/aarch64-common.cc (all_cores): Update + accordingly. + * config/aarch64/aarch64-arches.def: Likewise. + * config/aarch64/aarch64-cores.def: Likewise. + * config/aarch64/aarch64.cc (all_cores): Likewise. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.h (AARCH64_FL_V8_1, AARCH64_FL_V8_2) + (AARCH64_FL_V8_3, AARCH64_FL_V8_4, AARCH64_FL_V8_5, AARCH64_FL_V8_6) + (AARCH64_FL_V9, AARCH64_FL_V8_7, AARCH64_FL_V8_8, AARCH64_FL_V9_1) + (AARCH64_FL_V9_2, AARCH64_FL_V9_3): Add "A" to the end of the name. + (AARCH64_FL_V8_R): Rename to AARCH64_FL_V8R. + (AARCH64_FL_FOR_ARCH8_1, AARCH64_FL_FOR_ARCH8_2): Update accordingly. + (AARCH64_FL_FOR_ARCH8_3, AARCH64_FL_FOR_ARCH8_4): Likewise. + (AARCH64_FL_FOR_ARCH8_5, AARCH64_FL_FOR_ARCH8_6): Likewise. + (AARCH64_FL_FOR_ARCH8_7, AARCH64_FL_FOR_ARCH8_8): Likewise. + (AARCH64_FL_FOR_ARCH8_R, AARCH64_FL_FOR_ARCH9): Likewise. + (AARCH64_FL_FOR_ARCH9_1, AARCH64_FL_FOR_ARCH9_2): Likewise. + (AARCH64_FL_FOR_ARCH9_3, AARCH64_ISA_V8_2A, AARCH64_ISA_V8_3A) + (AARCH64_ISA_V8_4A, AARCH64_ISA_V8_5A, AARCH64_ISA_V8_6A): Likewise. + (AARCH64_ISA_V8R, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A): Likewise. + (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A): Likewise. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.h (AARCH64_ISA_V8_2, AARCH64_ISA_V8_3) + (AARCH64_ISA_V8_4, AARCH64_ISA_V8_5, AARCH64_ISA_V8_6) + (AARCH64_ISA_V9, AARCH64_ISA_V9_1, AARCH64_ISA_V9_2) + (AARCH64_ISA_V9_3): Add "A" to the end of the name. + (AARCH64_ISA_V8_R): Rename to AARCH64_ISA_V8R. + (TARGET_ARMV8_3, TARGET_JSCVT, TARGET_FRINT, TARGET_MEMTAG): Update + accordingly. + * common/config/aarch64/aarch64-common.cc + (aarch64_get_extension_string_for_isa_flags): Likewise. + * config/aarch64/aarch64-c.cc + (aarch64_define_unconditional_macros): Likewise. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * Makefile.in (GTFILES): Add OPTIONS_H_EXTRA. + +2022-09-29 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/107059 + * cppdefault.cc (cpp_include_defaults): If SYSROOT_HEADERS_SUFFIX_SPEC + isn't defined, add FIXED_INCLUDE_DIR entry with multilib flag 2 + before FIXED_INCLUDE_DIR entry with multilib flag 0. + * gcc.cc (do_spec_1): If multiarch_dir, add + include-fixed/multiarch_dir paths before include-fixed paths. + +2022-09-29 Martin Liska <mliska@suse.cz> + + PR driver/106897 + * common.opt: Add -gz=zstd value. + * configure.ac: Detect --compress-debug-sections=zstd + for both linker and assembler. + * configure: Regenerate. + * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Handle -gz=zstd. + (ASM_COMPRESS_DEBUG_SPEC): Likewise. + +2022-09-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105646 + * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute + the set of fallthru reachable blocks from function entry + and use that to determine wlims.always_executed. + +2022-09-29 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/107055 + * tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for + nonlinear induction variables. + * tree-vect-loop.cc (vect_can_peel_nonlinear_iv_p): New + functions. + (vectorizable_nonlinear_induction): Put part codes into + vect_can_peel_nonlinear_iv_p. + * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Declare. + +2022-09-28 Eugene Rozenfeld <erozen@microsoft.com> + + * basic-block.h: Remove discriminator from basic blocks. + * cfghooks.cc (split_block_1): Remove discriminator from basic blocks. + * final.cc (final_start_function_1): Switch from per-bb to per statement + discriminator. + (final_scan_insn_1): Don't keep track of basic block discriminators. + (compute_discriminator): Switch from basic block discriminators to + instruction discriminators. + (insn_discriminator): New function to return instruction discriminator. + (notice_source_line): Use insn_discriminator. + * gimple-pretty-print.cc (dump_gimple_bb_header): Remove dumping of + basic block discriminators. + * gimple-streamer-in.cc (input_bb): Remove reading of basic block + discriminators. + * gimple-streamer-out.cc (output_bb): Remove writing of basic block + discriminators. + * input.cc (make_location): Pass 0 discriminator to COMBINE_LOCATION_DATA. + (location_with_discriminator): New function to combine locus with + a discriminator. + (has_discriminator): New function to check if a location has a discriminator. + (get_discriminator_from_loc): New function to get the discriminator + from a location. + * input.h: Declarations of new functions. + * lto-streamer-in.cc (cmp_loc): Use discriminators in location comparison. + (apply_location_cache): Keep track of current discriminator. + (input_location_and_block): Read discriminator from stream. + * lto-streamer-out.cc (clear_line_info): Set current discriminator to + UINT_MAX. + (lto_output_location_1): Write discriminator to stream. + * lto-streamer.h: Add discriminator to cached_location. + Add current_discr to lto_location_cache. + Add current_discr to output_block. + * print-rtl.cc (print_rtx_operand_code_i): Print discriminator. + * rtl.h: Add extern declaration of insn_discriminator. + * tree-cfg.cc (assign_discriminator): New function to assign a unique + discriminator value to all statements in a basic block that have the given + line number. + (assign_discriminators): Assign discriminators to statement locations. + * tree-pretty-print.cc (dump_location): Dump discriminators. + * tree.cc (set_block): Preserve discriminator when setting block. + (set_source_range): Preserve discriminator when setting source range. + +2022-09-28 H.J. Lu <hjl.tools@gmail.com> + + PR target/107061 + * config/i386/predicates.md (encodekey128_operation): Check + XMM4-XMM6 as clobbered. + (encodekey256_operation): Likewise. + * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6. + (encodekey256u32): Likewise. + +2022-09-28 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * config.gcc: Add riscv-vector-builtins.o. + * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV builtin function. + * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): New function. + * config/riscv/riscv.cc (ENTRY): New macro. + (riscv_v_ext_enabled_vector_mode_p): New function. + (riscv_mangle_type): Add RVV mangle. + (riscv_vector_mode_supported_p): Adjust RVV machine mode. + (riscv_verify_type_context): Add context check for RVV. + (riscv_vector_alignment): Add RVV alignment target hook support. + (TARGET_VECTOR_MODE_SUPPORTED_P): New target hook support. + (TARGET_VERIFY_TYPE_CONTEXT): Ditto. + (TARGET_VECTOR_ALIGNMENT): Ditto. + * config/riscv/t-riscv: Add riscv-vector-builtins.o + * config/riscv/riscv-vector-builtins.cc: New file. + * config/riscv/riscv-vector-builtins.def: New file. + * config/riscv/riscv-vector-builtins.h: New file. + * config/riscv/riscv-vector-switch.def: New file. + +2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * var-tracking.cc (vt_add_function_parameter): Add entry values + up to maximal register mode. + +2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * cselib.cc (new_cselib_val): Keep track of further subvalue + relations. + +2022-09-28 Andrea Corallo <andrea.corallo@arm.com> + + * config/arm/arm-c.cc (arm_cpu_builtins): Define + __ARM_FEATURE_AES and __ARM_FEATURE_SHA2. + +2022-09-28 Xi Ruoyao <xry111@xry111.site> + + PR tree-optimization/105414 + * config/loongarch/loongarch.md (UNSPEC_FMAX): New unspec. + (UNSPEC_FMIN): Likewise. + (fmax<mode>3): Use UNSPEC_FMAX instead of smax. + (fmin<mode>3): Use UNSPEC_FMIN instead of smin. + +2022-09-28 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): + Fixed typo in "asan_mapping.h". + +2022-09-28 H.J. Lu <hjl.tools@gmail.com> + + PR middle-end/58245 + * calls.cc: Include "tree-eh.h". + (expand_call): Check stack canary before throwing exception. + +2022-09-27 Eugene Rozenfeld <erozen@microsoft.com> + + * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison. + +2022-09-27 Kim Kuparinen <kim.kuparinen@rightware.com> + + * doc/invoke.texi: Update ABI version info. + +2022-09-27 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a + singleton. + +2022-09-27 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (irange::set_nonzero_bits): Set range when known. + +2022-09-27 Aldy Hernandez <aldyh@redhat.com> + + * value-range.h (irange::set): New version taking wide_int_ref. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107029 + * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): Treat + OFFSET_TYPE like POINTER_TYPE, except that OFFSET_TYPE may be + signed and so can trigger even the (b % 4) == 3 case. + +2022-09-27 Jeff Law <jeffreyalaw@gmail.com> + + * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return + and return are available before trying to use them. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + PR c++/106652 + PR c++/85518 + * tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE + enumerator. + * tree.h (float128t_type_node): Define. + * tree.cc (build_common_tree_nodes): Initialize float128t_type_node. + * builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that + _Float<N> is supported in C++ too. + * config/i386/i386.cc (ix86_mangle_type): Only mangle as "g" + float128t_type_node. + * config/i386/i386-builtins.cc (ix86_init_builtin_types): Use + float128t_type_node for __float128 instead of float128_type_node + and create it if NULL. + * config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph, + _mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of + 0.0f. + * config/ia64/ia64.cc (ia64_init_builtins): Use + float128t_type_node for __float128 instead of float128_type_node + and create it if NULL. + * config/rs6000/rs6000-c.cc (is_float128_p): Also return true + for float128t_type_node if non-NULL. + * config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle + float128_type_node as "u9__ieee128". + * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use + float128t_type_node for __float128 instead of float128_type_node + and create it if NULL. + +2022-09-26 Martin Liska <mliska@suse.cz> + + * doc/invoke.texi: Add missing dash for + Wanalyzer-exposure-through-uninit-copy. + +2022-09-26 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107009 + * range-op.cc (operator_bitwise_and::op1_range): Optimize 0 = x & MASK. + (range_op_bitwise_and_tests): New test. + +2022-09-26 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107009 + * tree-ssa-dom.cc + (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): + Iterate over exports. + +2022-09-26 Thomas Schwinge <thomas@codesourcery.com> + + * config.gcc (with_arch) [nvptx]: Allow '--with-arch' to override + the default. + * config/nvptx/gen-multilib-matches.sh: New. + * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES) + (MULTILIB_EXCEPTIONS): Handle this. + * doc/install.texi (Specific) <nvptx-*-none>: Document this. + * doc/invoke.texi (Nvidia PTX Options): Likewise. + +2022-09-26 Thomas Schwinge <thomas@codesourcery.com> + + * config.gcc (TM_MULTILIB_CONFIG) [nvptx]: Set to '$with_arch'. + * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES) + (MULTILIB_EXCEPTIONS): Handle it. + +2022-09-26 Thomas Schwinge <thomas@codesourcery.com> + + * config.gcc (with_arch) [nvptx]: Set to 'sm_30'. + * config/nvptx/nvptx.cc (nvptx_option_override): Assert that + '-misa' appeared. + * config/nvptx/nvptx.h (OPTION_DEFAULT_SPECS): Define. + * config/nvptx/nvptx.opt (misa=): Remove 'Init'. + +2022-09-26 Thomas Schwinge <thomas@codesourcery.com> + + * config/nvptx/nvptx.h (ASM_SPEC): Define. + +2022-09-26 Jeff Law <jeffreyalaw@gmail.com> + + * cfgcleanup.cc (bb_is_just_return): No longer static. + * cfgcleanup.h (bb_is_just_return): Add prototype. + * cfgrtl.cc (fixup_reorder_chain): Do not create an + unconditional jump to a return block. Conditionally + remove unreachable blocks. + +2022-09-26 Tobias Burnus <tobias@codesourcery.com> + + PR middle-end/106982 + * omp-low.cc (lower_oacc_reductions): Add some unshare_expr. + +2022-09-26 Martin Liska <mliska@suse.cz> + + * config/s390/s390.cc (s390_rtx_costs): Remove dest variable + and use only dst. + +2022-09-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/aarch64-arches.def (armv9.1-a): Define. + (armv9.2-a): Likewise. + (armv9.3-a): Likewise. + * config/aarch64/aarch64.h (AARCH64_FL_V9_1): Likewise. + (AARCH64_FL_V9_2): Likewise. + (AARCH64_FL_V9_3): Likewise. + (AARCH64_FL_FOR_ARCH9_1): Likewise. + (AARCH64_FL_FOR_ARCH9_2): Likewise. + (AARCH64_FL_FOR_ARCH9_3): Likewise. + (AARCH64_ISA_V9_1): Likewise. + (AARCH64_ISA_V9_2): Likewise. + (AARCH64_ISA_V9_3): Likewise. + * doc/invoke.texi (AArch64 Options): Document armv9.1-a, armv9.2-a, + armv9.3-a values to -march. + +2022-09-26 Martin Liska <mliska@suse.cz> + + * value-range.cc (tree_compare): Remove unused function. + +2022-09-26 Kewen Lin <linkw@linux.ibm.com> + + PR target/96072 + * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the + condition for adding REG_CFA_DEF_CFA reg note with + frame_pointer_needed_indeed. + +2022-09-26 Kewen Lin <linkw@linux.ibm.com> + + PR target/100645 + * config/rs6000/vector.md (vec_shr_<mode>): Replace condition + TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P. + +2022-09-26 Hongtao Liu <hongtao.liu@intel.com> + Liwei Xu <liwei.xu@intel.com> + + PR target/53346 + * config/i386/i386-expand.cc (expand_vec_perm_shufps_shufps): + New function. + (ix86_expand_vec_perm_const_1): Insert + expand_vec_perm_shufps_shufps at the end of 2-instruction + expand sequence. + +2022-09-25 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * doc/sourcebuild.texi: Fix chapter level. + +2022-09-24 Jakub Jelinek <jakub@redhat.com> + + PR c/107001 + * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement + at the end. + * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA + is not stand-alone directive. For GIMPLE_OMP_TASKGROUP, also don't + update parent. + (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset + cur_region back after new_omp_region. + +2022-09-23 Vineet Gupta <vineetg@rivosinc.com> + + * config/riscv/riscv.h (LOCAL_SYM_P): New. + (USE_LOAD_ADDRESS_MACRO): Simplify by calling LOCAL_SYM_P. + +2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add RVV mask modes. + (ADJUST_NUNITS): Adjust nunits using riscv_vector_chunks. + (ADJUST_ALIGNMENT): Adjust alignment. + (ADJUST_BYTESIZE): Adjust bytesize using riscv_vector_chunks. + (RVV_MODES): New macro. + (VECTOR_MODE_WITH_PREFIX): Add RVV vector modes. + (VECTOR_MODES_WITH_PREFIX): Add RVV vector modes. + +2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai> + + * common/config/riscv/riscv-common.cc: Change "static void" to "void". + * config.gcc: Add riscv-selftests.o + * config/riscv/predicates.md: Allow const_poly_int. + * config/riscv/riscv-protos.h (riscv_reinit): New function. + (riscv_parse_arch_string): change as exten function. + (riscv_run_selftests): New function. + * config/riscv/riscv.cc (riscv_cannot_force_const_mem): Don't allow poly + into const pool. + (riscv_report_v_required): New function. + (riscv_expand_op): New function. + (riscv_expand_mult_with_const_int): New function. + (riscv_legitimize_poly_move): Ditto. + (riscv_legitimize_move): New function. + (riscv_hard_regno_mode_ok): Add VL/VTYPE register allocation and fix + vector RA. + (riscv_convert_vector_bits): Fix riscv_vector_chunks configuration for + -marh no 'v'. + (riscv_reinit): New function. + (TARGET_RUN_TARGET_SELFTESTS): New target hook support. + * config/riscv/t-riscv: Add riscv-selftests.o. + * config/riscv/riscv-selftests.cc: New file. + +2022-09-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106922 + * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow + an arbitrary number of same valued skipped stores. + +2022-09-23 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::set): Swap setters such that the one + accepting REAL_VALUE_TYPE does all the work. + +2022-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/aarch64-cores.def (neoverse-v2): New entry. + (demeter): Update tunings to neoversev2. + * config/aarch64/aarch64-tune.md: Regenerate. + * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to + neoversev2_addrcost_table. + (demeter_regmove_cost): Rename to neoversev2_addrcost_table. + (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost. + (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost. + (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info. + (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info. + (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info. + (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info. + Update references to above. + (demeter_vector_cost): Rename to neoversev2_vector_cost. + (demeter_tunings): Rename to neoversev2_tunings. + (aarch64_vec_op_count::rename_cycles_per_iter): Use + neoversev2_sve_issue_info instead of demeter_sve_issue_info. + * doc/invoke.texi (AArch64 Options): Document neoverse-v2. + +2022-09-23 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (build_le): Use vrp_val_*. + (build_lt): Same. + (build_ge): Same. + (build_gt): Same. + * value-range.cc (frange::set): Chop ranges outside of the + representable numbers for -ffinite-math-only. + (frange::normalize_kind): Use vrp_val*. + (frange::verify_range): Same. + (frange::set_nonnegative): Same. + (range_tests_floats): Remove tests that depend on -INF and +INF. + * value-range.h (real_max_representable): Add prototype. + (real_min_representable): Same. + (vrp_val_max): Set max representable number for + -ffinite-math-only. + (vrp_val_min): Same but for min. + (frange::set_varying): Use vrp_val*. + +2022-09-23 Aldy Hernandez <aldyh@redhat.com> + + * real.cc (debug): New. + +2022-09-23 Aldy Hernandez <aldyh@redhat.com> + + * value-range-pretty-print.cc (vrange_printer::print_real_value): New. + (vrange_printer::visit): Call print_real_value. + * value-range-pretty-print.h: New print_real_value. + +2022-09-23 Martin Liska <mliska@suse.cz> + + * common.opt: Update -flto-compression-level documentation. + * opts.cc (print_filtered_help): Do not append range to an + option that uses \t syntax. + +2022-09-23 Jakub Jelinek <jakub@redhat.com> + + * attribs.cc (decl_attributes): Improve diagnostics, instead of + saying expected between 1 and 1, found 2 just say expected 1, found 2. + +2022-09-23 Hu, Lin1 <lin1.hu@intel.com> + + PR target/94962 + * config/i386/constraints.md (BH): New define_constraint. + * config/i386/i386.cc (standard_sse_constant_p): Add return + 3/4 when operand matches new predicate. + (standard_sse_constant_opcode): Add new alternative branch to + return "vpcmpeqd". + * config/i386/predicates.md + (vector_all_ones_zero_extend_half_operand): New define_predicate. + (vector_all_ones_zero_extend_quarter_operand): Ditto. + * config/i386/sse.md: Add constraint to insn "mov<mode>_internal". + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (range_of_range_op): Handle no operands. + (range_of_call): Do not check for builtins. + (fold_using_range::range_of_builtin_call): Delete. + (fold_using_range::range_of_builtin_int_call): Delete. + * gimple-range-fold.h: Adjust prototypes. + * gimple-range-op.cc (class cfn_parity): New. + (gimple_range_op_handler::maybe_builtin_call): Set arguments. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (range_of_builtin_int_call): Remove case + for CFN_GOACC_DIM_*. + * gimple-range-op.cc (class cfn_goacc_dim): New. + (gimple_range_op_handler::maybe_builtin_call): Set arguments. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (range_of_builtin_int_call): Remove case + for CFN_BUILT_IN_STRLEN. + * gimple-range-op.cc (class cfn_strlen): New. + (gimple_range_op_handler::maybe_builtin_call): Set arguments. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (range_of_builtin_ubsan_call): Delete. + (range_of_builtin_int_call): Remove cases for + CFN_BUILT_IN_UBSAN_CHECK. + * gimple-range-op.cc (class cfn_ubsan): New. + (gimple_range_op_handler::maybe_builtin_call): Set arguments. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (range_of_builtin_int_call): Remove case + for CFN_BUILT_IN_CLRSB. + * gimple-range-op.cc (class cfn_clrsb): New. + (gimple_range_op_handler::maybe_builtin_call): Set arguments. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (range_of_builtin_int_call): Remove case + for CFN_CTZ. + * gimple-range-op.cc (class cfn_ctz): New. + (gimple_range_op_handler::maybe_builtin_call): Set arguments. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (range_of_builtin_int_call): Remove case + for CFN_CLZ. + * gimple-range-op.cc (class cfn_clz): New. + (gimple_range_op_handler::maybe_builtin_call): Set arguments. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (range_of_builtin_int_call): Remove case + for CFN_FFS and CFN_POPCOUNT. + * gimple-range-op.cc (class cfn_pocount): New. + (gimple_range_op_handler::maybe_builtin_call): Set arguments. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (get_letter_range): Move to new class. + (range_of_builtin_int_call): Remove case for CFN_BUILT_IN_TOUPPER + and CFN_BUILT_IN_TOLOWER. + * gimple-range-op.cc (class cfn_toupper_tolower): New. + (gimple_range_op_handler::maybe_builtin_call): Set arguments. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (range_of_builtin_int_call): Remove case + for CFN_BUILT_IN_SIGNBIT. + * gimple-range-op.cc (class cfn_signbit): New. + (gimple_range_op_handler::maybe_builtin_call): Set arguments. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc + (fold_using_range::range_of_builtin_int_call): Remove case for + CFN_BUILT_IN_CONSTANT_P. + * gimple-range-op.cc (gimple_range_op_handler::supported_p): + Check if a call also creates a range-op object. + (gimple_range_op_handler): Also check builtin calls. + (class cfn_constant_float_p): New. Float CFN_BUILT_IN_CONSTANT_P. + (class cfn_constant_p): New. Integral CFN_BUILT_IN_CONSTANT_P. + (gimple_range_op_handler::maybe_builtin_call): Set arguments and + handler for supported built-in calls. + * gimple-range-op.h (maybe_builtin_call): New prototype. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (range_of_range_op): Set result to + VARYING if the call to fold_range fails. + * tree-data-ref.cc (compute_distributive_range): Ditto. + * tree-vrp.cc (range_fold_binary_expr): Ditto. + (range_fold_unary_expr): Ditto. + * value-query.cc (range_query::get_tree_range): Ditto. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * range-op-float.cc (range_operator_float::fold_range): New base + method for "int = float op int". + * range-op.cc (range_op_handler::fold_range): New case. + * range-op.h: Update prototypes. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use + operand 1 for second range if there is no operand 2. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * Makefile.in (OBJS): Add gimple-range-op.o. + * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Use + gimple_range_op_handler. + * gimple-range-fold.cc (gimple_range_base_of_assignment): Move + to a method in gimple_range_op_handler. + (gimple_range_operand1): Ditto. + (gimple_range_operand2): Ditto. + (fold_using_range::fold_stmt): Use gimple_range_op_handler. + (fold_using_range::range_of_range_op): Ditto. + (fold_using_range::relation_fold_and_or): Ditto. + (fur_source::register_outgoing_edges): Ditto. + (gimple_range_ssa_names): Relocate to gimple-range-op.cc. + * gimple-range-fold.h: Adjust prototypes. + * gimple-range-gori.cc (gimple_range_calc_op1): Move + to a method in gimple_range_op_handler. + (gimple_range_calc_op2): Ditto. + (gori_compute::compute_operand_range): Use + gimple_range_op_handler. + (gori_compute::compute_logical_operands): Ditto. + (compute_operand1_range): Ditto. + (gori_compute::compute_operand2_range): Ditto. + (gori_compute::compute_operand1_and_operand2_range): Ditto. + * gimple-range-gori.h: Adjust protoypes. + * gimple-range-op.cc: New. Supply gimple_range_op_handler methods. + * gimple-range-op.h: New. Supply gimple_range_op_handler class. + * gimple-range.cc (gimple_ranger::prefill_name): Use + gimple_range_op_handler. + (gimple_ranger::prefill_stmt_dependencies): Ditto. + * gimple-range.h: Include gimple-range-op.h. + * range-op.cc (range_op_handler::range_op_handler): Adjust and + remove gimple * parameter option. + * range-op.h: Adjust prototypes. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * range-op.cc (range_op_handler::set_op_handler): Set new fields. + (ange_op_handler::range_op_handler): Likewise. + (range_op_handler::operator bool): Remove. + (range_op_handler::fold_range): Use appropriate handler. + (range_op_handler::op1_range): Likewise. + (range_op_handler::op2_range): Likewise. + (range_op_handler::lhs_op1_relation): Likewise. + (range_op_handler::lhs_op2_relation): Likewise. + (range_op_handler::op1_op2_relation): Likewise. + * range-op.h (class range_op_handler): Store handler pointers. + (range_op_handler:: operator bool): Inline. + +2022-09-22 Andrew MacLeod <amacleod@redhat.com> + + * tree-ssa-threadbackward.cc + (back_threader::find_paths_to_names): Replace sequence with + a call to gimple_range_ssa_names. + +2022-09-22 Martin Liska <mliska@suse.cz> + Fangrui Song <i@maskray.me> + + * configure: Regenerate. + * configure.ac: Simplify to gcc_cv_ld_compress_debug={0,1} + and gcc_cv_as_compress_debug={0,1}. + * doc/invoke.texi: Document the removal. + * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Simplify and ignore + zlib-gnu. + (ASM_COMPRESS_DEBUG_SPEC): Likewise. + +2022-09-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106922 + * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member. + (vn_walk_cb_data::finish): Perform delayed verification of + a skipped may-alias. + (vn_reference_lookup_pieces): Likewise. + (vn_reference_lookup): Likewise. + (vn_reference_lookup_3): When skipping stores of the same + value also handle constant stores that are more than a + single VDEF away by delaying the verification. + +2022-09-22 Max Filippov <jcmvbkbc@gmail.com> + + * config/xtensa/xtensa.cc (TARGET_MAX_ANCHOR_OFFSET): New + definition. + +2022-09-22 Max Filippov <jcmvbkbc@gmail.com> + + * config/xtensa/xtensa.cc (xtensa_can_output_mi_thunk) + (xtensa_output_mi_thunk): New functions. + (TARGET_ASM_CAN_OUTPUT_MI_THUNK) + (TARGET_ASM_OUTPUT_MI_THUNK): New macro definitions. + (xtensa_prepare_expand_call): Use fixed register a8 as temporary + when called with reload_completed set to 1. + +2022-09-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/99407 + * tree-ssa-dse.cc (dse_stmt_to_dr_map): New global. + (dse_classify_store): Use data-ref analysis to disambiguate more uses. + (pass_dse::use_dr_analysis_p): New pass parameter. + (pass_dse::set_pass_param): Implement. + (pass_dse::execute): Allocate and deallocate dse_stmt_to_dr_map. + * passes.def: Allow DR analysis for the DSE pass before loop. + +2022-09-22 Richard Biener <rguenther@suse.de> + + * tree-ssa-sccvn.cc (can_track_predicate_on_edge): New + function split out from ... + (vn_nary_op_insert_pieces_predicated): ... here. + +2022-09-22 liuhongt <hongtao.liu@intel.com> + + PR target/106994 + * config/i386/mmx.md (floorv2sf2): Fix typo, use + register_operand instead of vector_operand for operands[1]. + +2022-09-21 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/106967 + * value-range.cc (frange::set): Set known NANs to undefined for + flag_finite_math_only. + +2022-09-21 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::combine_zeros): Call set_undefined. + (frange::intersect_nans): Same. + (frange::intersect): Same. + (frange::verify_range): Undefined ranges do not have a type. + * value-range.h (frange::set_undefined): Clear NAN flags and type. + +2022-09-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106984 + * tsan.cc (instrument_builtin_call): Build the COND_EXPR condition in + a separate statement. + +2022-09-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT, + EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS): Move definitions up before + OPTION_DEFAULT_SPECS. + (MCPU_MTUNE_NATIVE_SPECS): Pass "cpu" to + local_cpu_detect when rewriting -march=native and no -mcpu or -mtune + is given. + (CONFIG_TUNE_SPEC): Define. + (OPTION_DEFAULT_SPECS): Use CONFIG_TUNE_SPEC for "tune". + +2022-09-21 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/106967 + * range-op-float.cc (foperator_equal::fold_range): Adjust for NAN. + (foperator_equal::op1_range): Same. + (foperator_not_equal::fold_range): Same. + (foperator_not_equal::op1_range): Same. + (foperator_lt::fold_range): Same. + (foperator_lt::op1_range): Same. + (foperator_lt::op2_range): Same. + (foperator_le::fold_range): Same. + (foperator_le::op1_range): Same. + (foperator_le::op2_range): Same. + (foperator_gt::fold_range): Same. + (foperator_gt::op1_range): Same. + (foperator_gt::op2_range): Same. + (foperator_ge::fold_range): Same. + (foperator_ge::op1_range): Same. + (foperator_ge::op2_range): Same. + (foperator_unordered::op1_range): Same. + (foperator_ordered::fold_range): Same. + (foperator_ordered::op1_range): Same. + (build_le): Assert that we don't have a NAN. + (build_lt): Same. + (build_gt): Same. + (build_ge): Same. + +2022-09-21 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/106963 + * tree-vect-loop.cc (vect_create_nonlinear_iv_init): Use + vec_gen_perm_mask_any instead of vec_gen_perm_mask_check. + +2022-09-20 Aldy Hernandez <aldyh@redhat.com> + + * value-range.h (frange::maybe_isnan): Return false for + undefined ranges. + +2022-09-20 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::set_nonnegative): Set +NAN. + (range_tests_signed_zeros): New test. + * value-range.h (frange::update_nan): New overload to set NAN sign. + +2022-09-20 Richard Sandiford <richard.sandiford@arm.com> + + PR target/106491 + * config/aarch64/aarch64-sve-builtins.cc (scalar_types) + (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY + markup to (new) extern declarations instead of to the main + definition. + +2022-09-20 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/106794 + PR tree-optimization/106914 + * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost): + Only consider loads that already have a permutation. + (vect_optimize_slp_pass::start_choosing_layouts): Assert that + loads with permutations are leaf nodes. Prevent any kind of grouped + access from changing layout if it doesn't have a load permutation. + +2022-09-20 Richard Sandiford <richard.sandiford@arm.com> + + * tree-vect-data-refs.cc (vect_check_gather_scatter): Restrict + early-out optimisation to SSA_NAMEs. + +2022-09-20 Martin Liska <mliska@suse.cz> + + * ctfc.cc (ctf_add_string): Replace "the the" with "the". + * doc/md.texi: Likewise. + * gimple-range-infer.cc (non_null_loadstore): Likewise. + +2022-09-20 liuhongt <hongtao.liu@intel.com> + + PR target/106910 + * config/i386/mmx.md (nearbyintv2sf2): New expander. + (rintv2sf2): Ditto. + (ceilv2sf2): Ditto. + (lceilv2sfv2si2): Ditto. + (floorv2sf2): Ditto. + (lfloorv2sfv2si2): Ditto. + (btruncv2sf2): Ditto. + (lrintv2sfv2si2): Ditto. + (roundv2sf2): Ditto. + (lroundv2sfv2si2): Ditto. + (*mmx_roundv2sf2): New define_insn. + +2022-09-20 konglin1 <lingling.kong@intel.com> + + PR middle-end/105735 + * tree-scalar-evolution.cc + (analyze_and_compute_bitop_with_inv_effect): New function. + (final_value_replacement_loop): Enhanced to handle bitop + with inv induction. + +2022-09-20 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): For + -static-pie, pass -static -pie --no-dynamic-linker -z text to + the linker, and do not pass --dynamic-linker. + +2022-09-20 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::flush_denormals_to_zero): New. + (frange::set): Call flush_denormals_to_zero. + * value-range.h (class frange): Add flush_denormals_to_zero. + +2022-09-20 liuhongt <hongtao.liu@intel.com> + + * config/i386/x86-tune-sched.cc (ix86_issue_rate): Adjust for + latest Intel processors. + +2022-09-20 konglin1 <lingling.kong@intel.com> + + PR target/106887 + * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): + Fixed V16BF mode case. + +2022-09-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * targhooks.cc (default_zero_call_used_regs): Improve sorry + message. + +2022-09-18 Julian Brown <julian@codesourcery.com> + + * gimplify.cc (omp_segregate_mapping_groups): Update comment. + (gimplify_adjust_omp_clauses): Move ATTACH and + ATTACH_ZERO_LENGTH_ARRAY_SECTION nodes to the end of the clause list + for offloaded OpenMP regions. + +2022-09-18 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/106831 + * value-range.cc (frange::singleton_p): Avoid propagating long + doubles that may have multiple representations. + +2022-09-18 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (frange_add_zeros): Replace set_signbit with + union of zero. + * value-query.cc (range_query::get_tree_range): Remove set_signbit + use. + * value-range-pretty-print.cc (vrange_printer::print_frange_prop): + Remove. + (vrange_printer::print_frange_nan): New. + * value-range-pretty-print.h (print_frange_prop): Remove. + (print_frange_nan): New. + * value-range-storage.cc (frange_storage_slot::set_frange): Set + kind and NAN fields. + (frange_storage_slot::get_frange): Restore kind and NAN fields. + * value-range-storage.h (class frange_storage_slot): Add kind and + NAN fields. + * value-range.cc (frange::update_nan): Remove. + (frange::set_signbit): Remove. + (frange::set): Adjust for NAN fields. + (frange::normalize_kind): Remove m_props. + (frange::combine_zeros): New. + (frange::union_nans): New. + (frange::union_): Handle new NAN fields. + (frange::intersect_nans): New. + (frange::intersect): Handle new NAN fields. + (frange::operator=): Same. + (frange::operator==): Same. + (frange::contains_p): Same. + (frange::singleton_p): Remove special case for signed zeros. + (frange::verify_range): Adjust for new NAN fields. + (frange::set_zero): Handle signed zeros. + (frange::set_nonnegative): Same. + (range_tests_nan): Adjust tests. + (range_tests_signed_zeros): Same. + (range_tests_signbit): Same. + (range_tests_floats): Same. + * value-range.h (class fp_prop): Remove. + (FP_PROP_ACCESSOR): Remove. + (class frange_props): Remove + (frange::lower_bound): NANs don't have endpoints. + (frange::upper_bound): Same. + (frange_props::operator==): Remove. + (frange_props::union_): Remove. + (frange_props::intersect): Remove. + (frange::update_nan): New. + (frange::clear_nan): New. + (frange::undefined_p): New. + (frange::set_nan): New. + (frange::known_finite): Adjust for new NAN representation. + (frange::maybe_isnan): Same. + (frange::known_isnan): Same. + (frange::signbit_p): Same. + * gimple-range-fold.cc (range_of_builtin_int_call): Rename + known_signbit_p into signbit_p. + +2022-09-17 Jan-Benedict Glaw <jbglaw@lug-owl.de> + + * config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int) + to prevent warning. + +2022-09-17 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106958 + * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): If + id >= l, cast op to type1, otherwise to pointer_sized_int_node. + If type has pointer type, cast exp to pointer_sized_int_node + even when id < l. + +2022-09-16 liuhongt <hongtao.liu@intel.com> + + PR target/106910 + * config/i386/i386-builtins.cc + (ix86_builtin_vectorized_function): Modernized with + corresponding expanders. + * config/i386/sse.md (lrint<mode><sseintvecmodelower>2): New + expander. + (floor<mode>2): Ditto. + (lfloor<mode><sseintvecmodelower>2): Ditto. + (ceil<mode>2): Ditto. + (lceil<mode><sseintvecmodelower>2): Ditto. + (btrunc<mode>2): Ditto. + (lround<mode><sseintvecmodelower>2): Ditto. + (exp2<mode>2): Ditto. + +2022-09-15 Joseph Myers <joseph@codesourcery.com> + + * ginclude/float.h (INFINITY): Define only if + [__FLT_HAS_INFINITY__]. + +2022-09-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106922 + * tree-ssa-pre.cc (translate_vuse_through_block): Only + keep the VUSE if its def dominates PHIBLOCK. + (prune_clobbered_mems): Rewrite logic so we check whether + a value dies in a block when the VUSE def doesn't dominate it. + +2022-09-15 Richard Biener <rguenther@suse.de> + + * tree.cc (build_common_tree_nodes): Initialize void_list_node + here. + +2022-09-15 Jiufu Guo <guojiufu@linux.ibm.com> + + PR target/106550 + * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Use pli. + +2022-09-14 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (frange_add_zeros): New. + (build_le): Call frange_add_zeros. + (build_ge): Same. + (foperator_equal::op1_range): Same. + (foperator_not_equal::op1_range): Same. + +2022-09-14 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (build_le): Accept frange instead of number. + (build_lt): Same. + (build_ge): Same. + (build_gt): Same. + (foperator_lt::op1_range): Pass full range to build_*. + (foperator_lt::op2_range): Same. + (foperator_le::op1_range): Same. + (foperator_le::op2_range): Same. + (foperator_gt::op1_range): Same. + (foperator_gt::op2_range): Same. + (foperator_ge::op1_range): Same. + (foperator_ge::op2_range): Same. + +2022-09-14 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::set): Use set_nan. + * value-range.h (frange::set_nan): Inline code originally in + set(). + +2022-09-14 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (frange_set_nan): Remove. + (build_lt): Use set_nan, update_nan, clear_nan. + (build_gt): Same. + (foperator_equal::op1_range): Same. + (foperator_not_equal::op1_range): Same. + (foperator_lt::op1_range): Same. + (foperator_lt::op2_range): Same. + (foperator_le::op1_range): Same. + (foperator_le::op2_range): Same. + (foperator_gt::op1_range): Same. + (foperator_gt::op2_range): Same. + (foperator_ge::op1_range): Same. + (foperator_ge::op2_range): Same. + (foperator_unordered::op1_range): Same. + (foperator_ordered::op1_range): Same. + * value-query.cc (range_query::get_tree_range): Same. + * value-range.cc (frange::set_nan): Same. + (frange::update_nan): Same. + (frange::union_): Same. + (frange::intersect): Same. + (range_tests_nan): Same. + (range_tests_signed_zeros): Same. + (range_tests_signbit): Same. + (range_tests_floats): Same. + * value-range.h (class frange): Add update_nan and clear_nan. + (frange::set_nan): New. + +2022-09-14 Aldy Hernandez <aldyh@redhat.com> + + * value-query.cc (range_query::get_tree_range): Remove check for overflow. + * value-range-pretty-print.cc (vrange_printer::visit): Move read + of type until after undefined_p is checked. + * value-range.cc (frange::set): Remove asserts for REAL_CST. + (frange::contains_p): Tidy up. + (range_tests_nan): Add comment. + * value-range.h (frange::type): Check for undefined_p. + (frange::set_undefined): Remove set of endpoints. + +2022-09-14 Julian Brown <julian@codesourcery.com> + + * gimplify.cc (omp_group_last): Allow GOMP_MAP_ATTACH_DETACH after + GOMP_MAP_STRUCT (for reindexing). + (omp_gather_mapping_groups): Reimplement using... + (omp_gather_mapping_groups_1): This new function. Stop processing at + GATHER_SENTINEL. + (omp_group_base): Allow GOMP_MAP_TO_PSET without any following node. + (omp_index_mapping_groups): Reimplement using... + (omp_index_mapping_groups_1): This new function. Handle + REINDEX_SENTINEL. + (omp_reindex_mapping_groups, omp_mapped_by_containing_struct): New + functions. + (omp_tsort_mapping_groups_1): Adjust handling of base group being the + same as current group. Use omp_mapped_by_containing_struct. + (omp_build_struct_sibling_lists): Use omp_mapped_by_containing_struct + and omp_reindex_mapping_groups. Robustify group deletion for reordered + lists. + (gimplify_scan_omp_clauses): Update calls to + omp_build_struct_sibling_lists. + +2022-09-14 Julian Brown <julian@codesourcery.com> + + * gimplify.cc (gimplify_omp_var_data): Remove GOVD_MAP_HAS_ATTACHMENTS. + (GOMP_FIRSTPRIVATE_IMPLICIT): Renumber. + (insert_struct_comp_map): Refactor function into... + (build_omp_struct_comp_nodes): This new function. Remove list handling + and improve self-documentation. + (extract_base_bit_offset): Remove BASE_REF, OFFSETP parameters. Move + code to strip outer parts of address out of function, but strip no-op + conversions. + (omp_mapping_group): Add DELETED field for use during reindexing. + (omp_strip_components_and_deref, omp_strip_indirections): New functions. + (omp_group_last, omp_group_base): Add GOMP_MAP_STRUCT handling. + (omp_gather_mapping_groups): Initialise DELETED field for new groups. + (omp_index_mapping_groups): Notice DELETED groups when (re)indexing. + (omp_siblist_insert_node_after, omp_siblist_move_node_after, + omp_siblist_move_nodes_after, omp_siblist_move_concat_nodes_after): New + helper functions. + (omp_accumulate_sibling_list): New function to build up GOMP_MAP_STRUCT + node groups for sibling lists. Outlined from gimplify_scan_omp_clauses. + (omp_build_struct_sibling_lists): New function. + (gimplify_scan_omp_clauses): Remove struct_map_to_clause, + struct_seen_clause, struct_deref_set. Call + omp_build_struct_sibling_lists as pre-pass instead of handling sibling + lists in the function's main processing loop. + (gimplify_adjust_omp_clauses_1): Remove GOVD_MAP_HAS_ATTACHMENTS + handling, unused now. + * omp-low.cc (scan_sharing_clauses): Handle pointer-type indirect + struct references, and references to pointers to structs also. + +2022-09-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106938 + * tree-cfg.cc (execute_fixup_cfg): Purge dead abnormal + edges for all last stmts in a block. Do EH cleanup + only on the last stmt in a block. + +2022-09-14 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/106936 + * value-query.cc (range_query::get_value_range): Remove assert. + +2022-09-14 Jan-Benedict Glaw <jbglaw@lug-owl.de> + + * config/mips/mips.cc (mips_option_override): Drop unused variable. + +2022-09-14 Julian Brown <julian@codesourcery.com> + + * gimplify.cc (is_or_contains_p, omp_target_reorder_clauses): Delete + functions. + (omp_tsort_mark): Add enum. + (omp_mapping_group): Add struct. + (debug_mapping_group, omp_get_base_pointer, omp_get_attachment, + omp_group_last, omp_gather_mapping_groups, omp_group_base, + omp_index_mapping_groups, omp_containing_struct, + omp_tsort_mapping_groups_1, omp_tsort_mapping_groups, + omp_segregate_mapping_groups, omp_reorder_mapping_groups): New + functions. + (gimplify_scan_omp_clauses): Call above functions instead of + omp_target_reorder_clauses, unless we've seen an error. + * omp-low.cc (scan_sharing_clauses): Avoid strict test if we haven't + sorted mapping groups. + +2022-09-14 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106878 + * tree-cfg.cc (verify_gimple_assign_binary): Disallow pointer, + reference or OFFSET_TYPE BIT_IOR_EXPR, BIT_XOR_EXPR or, unless + the second argument is INTEGER_CST, BIT_AND_EXPR. + * match.pd ((type) X op CST -> (type) (X op ((type-x) CST)), + (type) (((type2) X) op Y) -> (X op (type) Y)): Punt for + POINTER_TYPE_P or OFFSET_TYPE. + * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): For + pointers cast them to pointer sized integers first. + +2022-09-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106934 + * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs + of bitfields. + (maybe_rewrite_mem_ref_base): Likewise. + +2022-09-14 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/106905 + * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return + false when !vect_use_loop_mask_for_alignment_p (loop_vinfo) && + LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) < 0. + +2022-09-13 Roger Sayle <roger@nextmovesoftware.com> + + PR target/106877 + * reg-stack.cc (move_for_stack_reg): Check for any_malformed_asm + in gcc_assert. + +2022-09-13 Max Filippov <jcmvbkbc@gmail.com> + + Revert: + 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P): + New macro definition. + (xtensa_constant_ok_for_cprop_p): + Implement the hook as mentioned above. + +2022-09-13 Kewen Lin <linkw@linux.ibm.com> + + PR target/104482 + * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix + the equality check for argument number, and move this hunk ahead. + +2022-09-13 Kewen.Lin <linkw@gcc.gnu.org> + + PR target/105485 + * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add + the handling for unresolved overloaded builtin function. + (rs6000_expand_builtin): Likewise. + +2022-09-13 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.cc (class rs6000_cost_data): Add new members + m_nstores, m_reduc_factor, m_gather_load and member function + determine_suggested_unroll_factor. + (rs6000_cost_data::update_target_cost_per_stmt): Update for m_nstores, + m_reduc_factor and m_gather_load. + (rs6000_cost_data::determine_suggested_unroll_factor): New function. + (rs6000_cost_data::finish_cost): Use determine_suggested_unroll_factor. + * config/rs6000/rs6000.opt (rs6000-vect-unroll-limit): New parameter. + (rs6000-vect-unroll-issue): Likewise. + (rs6000-vect-unroll-reduc-threshold): Likewise. + * doc/invoke.texi (rs6000-vect-unroll-limit): Document new parameter. + +2022-09-13 Richard Biener <rguenther@suse.de> + + PR middle-end/106909 + * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering + flag of a unreachable call. + +2022-09-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106913 + * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set + ft_reachable on EXIT_BLOCK. + +2022-09-13 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Use + TARGET_FLOAT instead of TARGET_SIMD. + (aarch64_vectorize_related_mode): Restrict ADVSIMD handling to + TARGET_SIMD. + (aarch64_hard_regno_mode_ok): Don't allow tuples of 2 64-bit vectors + in GPRs. + (aarch64_classify_address): Treat little-endian structure moves + like big-endian for TARGET_FLOAT && !TARGET_SIMD. + (aarch64_secondary_memory_needed): New function. + (aarch64_secondary_reload): Handle 128-bit Advanced SIMD vectors + in the same way as TF, TI and TD. + (aarch64_rtx_mult_cost): Restrict ADVSIMD handling to TARGET_SIMD. + (aarch64_rtx_costs): Likewise. + (aarch64_register_move_cost): Treat a pair of 64-bit vectors + separately from a single 128-bit vector. Handle the cost implied + by aarch64_secondary_memory_needed. + (aarch64_simd_valid_immediate): Restrict ADVSIMD handling to + TARGET_SIMD. + (aarch64_expand_vec_perm_const_1): Likewise. + (TARGET_SECONDARY_MEMORY_NEEDED): New macro. + * config/aarch64/iterators.md (VTX): New iterator. + * config/aarch64/aarch64.md (arches): Add fp_q as a synonym of simd. + (arch_enabled): Adjust accordingly. + (@aarch64_reload_mov<TX:mode>): Extend to... + (@aarch64_reload_mov<VTX:mode>): ...this. + * config/aarch64/aarch64-simd.md (mov<mode>): Require TARGET_FLOAT + rather than TARGET_SIMD. + (movmisalign<mode>): Likewise. + (load_pair<DREG:mode><DREG2:mode>): Likewise. + (vec_store_pair<DREG:mode><DREG2:mode>): Likewise. + (load_pair<VQ:mode><VQ2:mode>): Likewise. + (vec_store_pair<VQ:mode><VQ2:mode>): Likewise. + (@aarch64_split_simd_mov<mode>): Likewise. + (aarch64_get_low<mode>): Likewise. + (aarch64_get_high<mode>): Likewise. + (aarch64_get_half<mode>): Likewise. Canonicalize to a move for + lowpart extracts. + (*aarch64_simd_mov<VDMOV:mode>): Require TARGET_FLOAT rather than + TARGET_SIMD. Use different w<-w and r<-w instructions for + !TARGET_SIMD. Disable immediate moves for !TARGET_SIMD but + add an alternative specifically for w<-Z. + (*aarch64_simd_mov<VQMOV:mode>): Require TARGET_FLOAT rather than + TARGET_SIMD. Likewise for the associated define_splits. Disable + FPR moves and immediate moves for !TARGET_SIMD but add an alternative + specifically for w<-Z. + (aarch64_simd_mov_from_<mode>high): Require TARGET_FLOAT rather than + TARGET_SIMD. Restrict the existing alternatives to TARGET_SIMD + but add a new r<-w one for !TARGET_SIMD. + (*aarch64_get_high<mode>): New pattern. + (load_pair_lanes<mode>): Require TARGET_FLOAT rather than TARGET_SIMD. + (store_pair_lanes<mode>): Likewise. + (*aarch64_combine_internal<mode>): Likewise. Restrict existing + w<-w, w<-r and w<-m alternatives to TARGET_SIMD but add a new w<-r + alternative for !TARGET_SIMD. + (*aarch64_combine_internal_be<mode>): Likewise. + (aarch64_combinez<mode>): Require TARGET_FLOAT rather than TARGET_SIMD. + Remove bogus arch attribute. + (*aarch64_combinez_be<mode>): Likewise. + (@aarch64_vec_concat<mode>): Require TARGET_FLOAT rather than + TARGET_SIMD. + (aarch64_combine<mode>): Likewise. + (aarch64_rev_reglist<mode>): Likewise. + (mov<mode>): Likewise. + (*aarch64_be_mov<VSTRUCT_2D:mode>): Extend to TARGET_FLOAT && + !TARGET_SIMD, regardless of endianness. Extend associated + define_splits in the same way, both for this pattern and the + ones below. + (*aarch64_be_mov<VSTRUCT_2Qmode>): Likewise. Restrict w<-w + alternative to TARGET_SIMD. + (*aarch64_be_movoi): Likewise. + (*aarch64_be_movci): Likewise. + (*aarch64_be_movxi): Likewise. + (*aarch64_be_mov<VSTRUCT_4QD:mode>): Extend to TARGET_FLOAT + && !TARGET_SIMD, regardless of endianness. Restrict w<-w alternative + to TARGET_SIMD for tuples of 128-bit vectors. + (*aarch64_be_mov<VSTRUCT_4QD:mode>): Likewise. + * config/aarch64/aarch64-ldpstp.md: Remove TARGET_SIMD condition + from DREG STP peephole. Change TARGET_SIMD to TARGET_FLOAT in + the VQ and VP_2E LDP and STP peepholes. + +2022-09-13 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-simd.md (movv8di): Remove TARGET_SIMD + condition. Likewise for the related define_split. Tweak formatting. + +2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P): + New macro definition. + (xtensa_constant_ok_for_cprop_p): + Implement the hook as mentioned above. + +2022-09-12 Joseph Myers <joseph@codesourcery.com> + + * ginclude/stdatomic.h [defined __STDC_VERSION__ && + __STDC_VERSION__ > 201710L] (ATOMIC_VAR_INIT): Do not define. + +2022-09-12 Tobias Burnus <tobias@codesourcery.com> + + * config/nvptx/mkoffload.cc (process): Replace a fatal_error by + a warning + not enabling offloading if -misa=sm_30 prevents + reverse offload. + (main): Use tool_name as progname for diagnostic. + * config/gcn/mkoffload.cc (main): Likewise. + +2022-09-12 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::set_signbit): Avoid changing sign when + already in the correct sign. + +2022-09-12 Max Filippov <jcmvbkbc@gmail.com> + + * config/xtensa/xtensa.cc (xtensa_function_value_regno_p): + Recognize all 4 return registers. + * config/xtensa/xtensa.h (GP_RETURN_REG_COUNT): New definition. + * config/xtensa/xtensa.md (untyped_call): New pattern. + +2022-09-12 Jonathan Wakely <jwakely@redhat.com> + + * doc/extend.texi (Floating Types): Fix "_float128" typo. + +2022-09-10 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_constantsynth): + Add new pattern for the abovementioned case. + +2022-09-10 Akari Takahashi <akaritakahashioss@gmail.com> + Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/rs6000.cc (get_memref_parts): Regularize some code. + +2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md: Rewrite the split pattern that performs + the abovementioned process so that insns that overwrite clobbered + register no longer need to be contiguous. + (DSC): Remove as no longer needed. + +2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (machine_function): New boolean member as + a flag that controls whether to emit the insns for stack pointer + adjustment inside of the pro/epilogue. + (xtensa_emit_adjust_stack_ptr): New function to share the common + codes and to emit insns if not inhibited. + (xtensa_expand_epilogue): Change to use the function mentioned + above when using the CALL0 ABI. + (xtensa_expand_prologue): Ditto. + And also change to set the inhibit flag used by + xtensa_emit_adjust_stack_ptr() to true if the stack pointer is only + used for its own adjustment. + +2022-09-09 David Malcolm <dmalcolm@redhat.com> + + * doc/invoke.texi (Static Analyzer Options): Add + -Wanalyzer-exposure-through-uninit-copy. + +2022-09-09 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (ANALYZER_OBJS): Add + analyzer/known-function-manager.o. + +2022-09-09 Tobias Burnus <tobias@codesourcery.com> + + * config/nvptx/mkoffload.cc (struct id_map): Add 'dim' member. + (record_id): Store func name without quotes, store dim separately. + (process): For GOMP_REQUIRES_REVERSE_OFFLOAD, check that -march is + at least sm_35, create '$offload_func_table' global array and init + with reverse-offload function addresses. + * config/nvptx/nvptx.cc (write_fn_proto_1, write_fn_proto): New + force_public attribute to force .visible. + (nvptx_declare_function_name): For "omp target + device_ancestor_nohost" attribut, force .visible/TREE_PUBLIC. + +2022-09-09 Tobias Burnus <tobias@codesourcery.com> + + * config/gcn/mkoffload.cc (process_asm): Create .offload_func_table, + similar to pre-existing .offload_var_table. + +2022-09-09 Joseph Myers <joseph@codesourcery.com> + + * ginclude/stddef.h [__STDC_VERSION__ > 201710L] (unreachable): + New macro. + +2022-09-09 Kewen Lin <linkw@linux.ibm.com> + + PR middle-end/106833 + * tree.cc (verify_opaque_type): New function. + (verify_type): Call verify_opaque_type for OPAQUE_TYPE. + +2022-09-09 Kwok Cheung Yeung <kcy@codesourcery.com> + + * config/gcn/gcn-builtins.def (FABSVF, LDEXPVF, LDEXPV, FREXPVF_EXP, + FREXPVF_MANT, FREXPV_EXP, FREXPV_MANT): Add new builtins. + * config/gcn/gcn-protos.h (gcn_dconst1over2pi): New prototype. + * config/gcn/gcn-valu.md (MATH_UNOP_1OR2REG, MATH_UNOP_1REG, + MATH_UNOP_TRIG): New iterators. + (math_unop): New attributes. + (<math_unop><mode>2, <math_unop><mode>2<exec>, + <math_unop><mode>2, <math_unop><mode>2<exec>, + *<math_unop><mode>2_insn, *<math_unop><mode>2<exec>_insn, + ldexp<mode>3, ldexp<mode>3<exec>, + frexp<mode>_exp2, frexp<mode>_mant2, + frexp<mode>_exp2<exec>, frexp<mode>_mant2<exec>): New instructions. + (<math_unop><mode>2, <math_unop><mode>2<exec>): New expanders. + * config/gcn/gcn.cc (init_ext_gcn_constants): Update definition of + dconst1over2pi. + (gcn_dconst1over2pi): New. + (gcn_builtin_type_index): Add entry for v64df type. + (v64df_type_node): New. + (gcn_init_builtin_types): Initialize v64df_type_node. + (gcn_expand_builtin_1): Expand new builtins to instructions. + (print_operand): Fix assembler output for 1/(2*PI) constant. + * config/gcn/gcn.md (unspec): Add new entries. + +2022-09-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106722 + * tree-predcom.cc (ref_at_iteration): Do not associate the + constant part of the offset into the MEM_REF offset + operand, across a non-zero offset. + +2022-09-09 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.cc (RISCV_USE_CUSTOMISED_MULTI_LIB): + Move forward for cover all all necessary functions for suppress + unused function warnings. + (riscv_multi_lib_check): Move forward, and tweak message to suppress + -Werror=format-diag warning. + +2022-09-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106881 + * gimple-predicate-analysis.cc (simple_control_dep_chain): + Add only non-fallthru edges and avoid the same set of edges + as compute_control_dep_chain_pdom does. + +2022-09-09 Jan-Benedict Glaw <jbglaw@lug-owl.de> + + * doc/tm.texi.in (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Document requirement + of TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT being defined as well. + * doc/tm.texi: Regenerate. + +2022-09-09 Martin Liska <mliska@suse.cz> + + * optc-save-gen.awk: Always compare array option values with memcmp. + +2022-09-08 Jonathan Wakely <jwakely@redhat.com> + + PR c++/106838 + * doc/extend.texi (Type Traits): Fix requirements. Document + __is_aggregate and __is_final. + +2022-09-08 Tim Lange <mail@tim-lange.me> + + PR analyzer/106625 + * doc/invoke.texi: + State that the checker also reasons about symbolic values. + +2022-09-08 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/106886 + * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout): + Fix copying of scalar stmts. + +2022-09-08 Chung-Lin Tang <cltang@codesourcery.com> + + * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define. + +2022-09-08 Richard Biener <rguenther@suse.de> + + PR middle-end/106870 + * gimple-harden-conditionals.cc (insert_check_and_trap): + Set the control-altering flag on the built IFN_TRAP. + * gimple.cc (gimple_build_builtin_unreachable): Likewise. + * tree-cfg.cc (handle_abnormal_edges): Set the control-altering + flag on the .ABNORMAL_DISPATCHER call. + * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid + resetting the control altering flag for ECF_NORETURN calls. + (cleanup_control_flow_bb): Set the control altering flag on + discovered noreturn calls. + * symtab-thunks.cc (expand_thunk): Set the control altering + flag for the noreturn tailcall case. + * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume + calls. + +2022-09-08 Jakub Jelinek <jakub@redhat.com> + + * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument. + Add doacross(sink:omp_cur_iteration-1) support. + (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1]. + Adjust expand_omp_ordered_sink caller. + (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is + non-NULL, set that variable to true at the start of outermost + non-collapsed loop and set it to false at the end of innermost + ordered loop. + (expand_omp_for_generic): If fd->ordered, allocate + 1 + (fd->ordered - fd->collapse) further elements in counts array. + Copy to counts + 2 + fd->ordered the counts of fd->collapse .. + fd->ordered - 1 loop if any. + +2022-09-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106881 + * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom): + Add only non-fallthru edges and avoid the same set of edges + as the caller does. + +2022-09-08 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-fold.cc + (fold_using_range::range_of_builtin_int_call): Use fpclassify like API. + * range-op-float.cc (finite_operand_p): Same. + (finite_operands_p): Same. + (foperator_lt::fold_range): Same. + (foperator_le::fold_range): Same. + (foperator_gt::fold_range): Same. + (foperator_ge::fold_range): Same. + (foperator_unordered::fold_range): Same. + (foperator_unordered::op1_range): Same. + (foperator_ordered::fold_range): Same. + * value-range.cc (frange::set_nan): Same. + (frange::set_signbit): Same. + (frange::union_): Same. + (frange::intersect): Same. + (frange::operator==): Same. + (frange::singleton_p): Same. + (frange::verify_range): Same. + (range_tests_nan): Same. + (range_tests_floats): Same. + * value-range.h(frange::known_finite): New. + (frange::maybe_inf): New. + (frange::known_inf): New. + (frange::maybe_nan): New. + (frange::known_nan): New. + (frange::known_signbit): New. + +2022-09-08 Iain Buclaw <ibuclaw@gdcproject.org> + + * config/darwin-d.cc: Include tm.h. + * config/dragonfly-d.cc: Likewise. + * config/freebsd-d.cc: Remove memmodel.h. + * config/glibc-d.cc: Likewise. + * config/netbsd-d.cc: Include tm.h. + * config/openbsd-d.cc: Likewise. + * config/sol2-d.cc: Likewise. + +2022-09-08 Christophe Lyon <christophe.lyon@arm.com> + + * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use + MVE_pred/MVE_constraint instead of mve_imm_7/Ra. + (mve_vqshluq_m_n_s<mode>): Likewise. + (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3 + instead of mve_imm_8/Rb. + (mve_vqrshrunbq_n_s<mode>): Likewise. + (mve_vqrshrntq_n_<supf><mode>): Likewise. + (mve_vqrshruntq_n_s<mode>): Likewise. + (mve_vrshrnbq_n_<supf><mode>): Likewise. + (mve_vrshrntq_n_<supf><mode>): Likewise. + (mve_vqrshrnbq_m_n_<supf><mode>): Likewise. + (mve_vqrshrntq_m_n_<supf><mode>): Likewise. + (mve_vrshrnbq_m_n_<supf><mode>): Likewise. + (mve_vrshrntq_m_n_<supf><mode>): Likewise. + (mve_vqrshrunbq_m_n_s<mode>): Likewise. + (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead + of mve_imm_selective_upto_8/Rg. + (mve_vsriq_m_n_<supf><mode>): Likewise. + +2022-09-08 Jiufu Guo <guojiufu@linux.ibm.com> + + * config/rs6000/rs6000.md (splitter for set to and_mask constants): + Use int_reg_operand (instead of int_reg_operand_not_pseudo). + (splitter for multi-insn constant loads): Ditto. + +2022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if + -mvrsave is present. + * config/rs6000/t-rtems: Add -mvrsave multilib variants for + -mcpu=e6500. + +2022-09-07 Martin Liska <mliska@suse.cz> + + * configure.ac: Restore detection of HAVE_XCOFF_DWARF_EXTRAS. + * config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it. + * configure: Regenerate. + * config.in: Regenerate. + +2022-09-07 Surya Kumari Jangala <jskumari@linux.ibm.com> + + PR rtl-optimization/105586 + * sched-rgn.cc (save_state_for_fallthru_edge): New function. + (schedule_region): Use it for all blocks. + +2022-09-07 Joseph Myers <joseph@codesourcery.com> + + * ginclude/stdalign.h [defined __STDC_VERSION__ && + __STDC_VERSION__ > 201710L]: Disable all content. + * ginclude/stdbool.h [defined __STDC_VERSION__ && __STDC_VERSION__ + > 201710L] (bool, true, false): Do not define. + +2022-09-07 Martin Liska <mliska@suse.cz> + + PR bootstrap/106855 + * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO. + * config/rs6000/rs6000.cc (rs6000_option_override_internal): + Restore usage of XCOFF_DEBUGGING_INFO. + * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore. + * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for + XCOFF_DEBUGGING_INFO. + (dw2_asm_output_nstring): Likewise. + (USE_LINKONCE_INDIRECT): Likewise. + * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise. + (HAVE_XCOFF_DWARF_EXTRAS): Likewise. + (output_fde): Likewise. + (output_call_frame_info): Likewise. + (have_macinfo): Likewise. + (add_AT_loc_list): Likewise. + (add_AT_view_list): Likewise. + (output_compilation_unit_header): Likewise. + (output_pubnames): Likewise. + (output_aranges): Likewise. + (output_line_info): Likewise. + (output_macinfo): Likewise. + (dwarf2out_finish): Likewise. + (dwarf2out_early_finish): Likewise. + +2022-09-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106866 + * tree-ssa-dce.cc (eliminate_unnecessary_stmts): When + we changed cfun->calls_setjmp make sure to purge all + abnormal call edges. + +2022-09-07 Xianmiao Qu <cooper.qu@linux.alibaba.com> + + * config/csky/csky.cc (csky_emit_compare_float): Fix the expanding of + float LE comparing with zero for fpuv3. + * config/csky/csky.h (TARGET_SUPPORT_FPV2): New, true if any fpuv2 + features are enabled. + +2022-09-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106860 + * tree-ssa-loop-split.cc (split_loop): Find the exit to + latch edge from the loop exit edge instead of from the + latch. Verify we're going to find it. + +2022-09-07 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (dfs_mark_dominating_region): + Adjust to take the region exit source as argument. + (uninit_analysis::init_from_phi_def): Adjust. + (uninit_analysis::init_use_preds): Mark the dominating region + before computing control dependences. + +2022-09-07 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.md (*mov<SHORT:mode>_aarch64): Extend + w<-w, r<-w and w<-r alternatives to !simd, using 32-bit moves + in that case. Extend w<-r to w<-Z. + (*mov<HFBF:mode>_aarch64): Likewise, but with Y instead of Z. + (*movti_aarch64): Use an FMOV from XZR for w<-Z if MOVI is not + available. + (define_split): Do not apply the floating-point immediate-to-register + split to zeros, even if MOVI is not available. + +2022-09-07 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.cc (aarch64_conditional_register_usage): + Disallow use of FPRs in register asms for !TARGET_FLOAT. + +2022-09-07 Lulu Cheng <chenglulu@loongson.cn> + + PR target/106828 + * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New. + (TARGET_ASAN_SHADOW_OFFSET): New. + +2022-09-07 Jakub Jelinek <jakub@redhat.com> + + * doc/invoke.texi (-Wno-unicode): Document. + +2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com> + + * config/rs6000/rs6000.md (const_scalar_int splitter): Remove. + +2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com> + + * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the + replacements. + +2022-09-07 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/103144 + * tree-vect-loop.cc (vect_is_nonlinear_iv_evolution): New function. + (vect_analyze_scalar_cycles_1): Detect nonlinear iv by upper function. + (vect_create_nonlinear_iv_init): New function. + (vect_peel_nonlinear_iv_init): Ditto. + (vect_create_nonlinear_iv_step): Ditto + (vect_create_nonlinear_iv_vec_step): Ditto + (vect_update_nonlinear_iv): Ditto + (vectorizable_nonlinear_induction): Ditto. + (vectorizable_induction): Call + vectorizable_nonlinear_induction when induction_type is not + vect_step_op_add. + * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer): + Update nonlinear iv for epilogue loop. + * tree-vectorizer.h (enum vect_induction_op_type): New enum. + (STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE): New Macro. + +2022-09-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106754 + * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom): + New function, split out from compute_control_dep_chain. Handle + loop-exit like conditions here by pushing to the control vector. + (compute_control_dep_chain): Adjust and streamline dumping. + In the wrapper perform a post-dominator walk as well. + (uninit_analysis::init_use_preds): Remove premature early exit. + +2022-09-06 Max Filippov <jcmvbkbc@gmail.com> + + * config/xtensa/linux.h (LINK_SPEC): Add static-pie. + +2022-09-06 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (build_le): Handle NANs and going past infinity. + (build_lt): Same. + (build_ge): Same. + (build_gt): Same. + (foperator_lt::op1_range): Avoid adjustments to range if build_* + returned false. + (foperator_lt::op2_range): Same. + (foperator_le::op1_range): Same. + (foperator_le::op2_range): Same. + (foperator_gt::op1_range): Same. + (foperator_gt::op2_range): Same. + +2022-09-06 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (compute_control_dep_chain): + Add output flag to indicate whether we possibly have dropped + any chains. Return whether the info is complete from the + wrapping overload. + (uninit_analysis::init_use_preds): Adjust accordingly, with + a workaround for PR106754. + (uninit_analysis::init_from_phi_def): Properly guard the + case where we complete an empty chain. + +2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de> + + * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument. + +2022-09-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + * tree-ssa-forwprop.cc (simplify_permutation): Set res_type to a vector + type with same element type as arg0, and length as op2. + +2022-09-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106844 + * gimple-predicate-analysis.cc (compute_control_dep_chain): + Return whether we found a chain. + +2022-09-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106841 + * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process + scatter/gather offset. + +2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de> + + * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void). + +2022-09-06 Jakub Jelinek <jakub@redhat.com> + + * gimple.h (enum gf_mask): Add GF_OMP_ORDERED_STANDALONE enumerator. + (gimple_omp_subcode): Use GIMPLE_OMP_ORDERED instead of + GIMPLE_OMP_TEAMS as upper bound. + (gimple_omp_ordered_standalone_p, gimple_omp_ordered_standalone): New + inline functions. + * gimplify.cc (find_standalone_omp_ordered): Look for OMP_ORDERED with + NULL OMP_ORDERED_BODY rather than with OMP_DOACROSS clause. + (gimplify_expr): Call gimple_omp_ordered_standalone for OMP_ORDERED + with NULL OMP_ORDERED_BODY. + * omp-low.cc (check_omp_nesting_restrictions): Use + gimple_omp_ordered_standalone_p test instead of + omp_find_clause (..., OMP_CLAUSE_DOACROSS). + (lower_omp_ordered): Likewise. + * omp-expand.cc (expand_omp, build_omp_regions_1, + omp_make_gimple_edges): Likewise. + +2022-09-06 Xianmiao Qu <cooper.qu@linux.alibaba.com> + + * config/csky/csky.md (cskyv2_addcc): Fix missing operand. + (cskyv2_addcc_invert): Likewise. + +2022-09-06 Jose E. Marchesi <jose.marchesi@oracle.com> + + * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic + `insn'. + (bpf_expand_epilogue): Likewise. + +2022-09-06 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386-builtin.def (IX86_BUILTIN_CVTPS2PH512): + Map to CODE_FOR_avx512f_vcvtps2ph512_mask_sae. + * config/i386/sse.md (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Extend to .. + (<mask_codefor>avx512f_vcvtps2ph512<mask_name><round_saeonly_name>): .. this. + (avx512f_vcvtps2ph512_mask_sae): New expander + +2022-09-05 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-fold.cc + (fold_using_range::range_of_builtin_int_call): Ignore sign bit + when there's the possibility of a NAN. + +2022-09-05 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-fold.cc + (fold_using_range::range_of_builtin_int_call): Fold a set signbit + in __builtin_signbit to nonzero. + +2022-09-05 Alexander Monakov <amonakov@ispras.ru> + + PR target/106453 + * config/i386/i386.md (sse4_2_crc32di): Model that only low 32 + bits of operand 0 are consumed, and the result is zero-extended + to 64 bits. + +2022-09-05 Aldy Hernandez <aldyh@redhat.com> + + PR middle-end/106831 + * value-range.h (frange::supports_p): Disable decimal floats. + * range-op-float.cc (frange_drop_inf): Remove DECIMAL_FLOAT_MODE_P + check. + (frange_drop_ninf): Same. + +2022-09-05 Aldy Hernandez <aldyh@redhat.com> + + PR middle-end/106824 + * value-range.cc (frange::set_nan): Set undefined when updating a + NAN to a non-NAN. + +2022-09-05 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/riscv.cc (riscv_option_override): Fix wrong + condition for MASK_DIV and simplify incompatible checking. + * config/riscv/riscv.md (muldi3): Adding parentheses. + +2022-09-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch + string is a valid -mcpu string and emit hint. + +2022-09-05 LiaoShihua <shihua@iscas.ac.cn> + + * common/config/riscv/riscv-common.cc: Add Zmmul. + * config/riscv/riscv-opts.h (MASK_ZMMUL): New. + (TARGET_ZMMUL): Ditto. + * config/riscv/riscv.cc (riscv_option_override):Ditto. + * config/riscv/riscv.md: Add Zmmul + * config/riscv/riscv.opt: Ditto. + +2022-09-05 Richard Biener <rguenther@suse.de> + + * tree-cfg.h (get_cases_for_edge): Declare. + * tree-cfg.cc (get_cases_for_edge): Export. + * tree-ssa-uninit.cc (execute_late_warn_uninitialized): + Start and end recording case labels. + * gimple-predicate-analysis.cc (MAX_SWITCH_CASES): Remove. + (predicate::init_from_control_deps): Use get_cases_for_edge. + +2022-09-05 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (MAX_POSTDOM_CHECK): Remove. + (compute_control_dep_chain): Move uninit-control-dep-attempts + checking where it also counts the post-dominator check + invocations. + +2022-09-05 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.h (predicate::debug): New. + (predicate::dump): Add FILE * argument, add base overload. + * gimple-predicate-analysis.cc (debug): New. + (dump_pred_info): Add FILE * argument. + (dump_pred_chain): Likewise. + (predicate::dump): Split out preamble into overload. Add + FILE * argument. + (predicate::debug): New. + (predicate::simplify): Adjust. + (predicate::normalize): Likewise. + (predicate::init_from_control_deps): Likewise. + +2022-09-05 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-protos.h + (aarch64_init_simd_builtins): Remove prototype. + * config/aarch64/aarch64-builtins.cc + (aarch64_simd_builtins_initialized_p): Delete. + (aarch64_init_simd_builtins): Make static. Remove protection + against multiple calls. + * config/aarch64/aarch64-c.cc (aarch64_pragma_target_parse): Remove + lazy SIMD builtin initialization. + * config/aarch64/aarch64.cc + (aarch64_option_valid_attribute_p): Likewise. + +2022-09-05 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/genopts/loongarch.opt.in: Add + -mdirect-extern-access option. + * config/loongarch/loongarch.opt: Regenerate. + * config/loongarch/loongarch.cc + (loongarch_symbol_binds_local_p): Return true if + TARGET_DIRECT_EXTERN_ACCESS. + (loongarch_option_override_internal): Complain if + -mdirect-extern-access is used with -fPIC or -fpic. + * doc/invoke.texi: Document -mdirect-extern-access for + LoongArch. + +2022-09-05 Martin Liska <mliska@suse.cz> + + * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to + DEBUGGER_REGNO. + * doc/tm.texi: Regenerate. + +2022-09-05 Martin Liska <mliska@suse.cz> + + * config/aarch64/aarch64-protos.h (aarch64_dbx_regno): + Rename DBX_REGISTER_NUMBER to DEBUGGER_REGNO. + (aarch64_debugger_regno): Likewise. + * config/aarch64/aarch64.cc (aarch64_dbx_regno): Likewise. + (aarch64_debugger_regno): Likewise. + * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + (DWARF_FRAME_REGNUM): Likewise. + * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Likewise. + * config/arc/arc.cc (arc_init_reg_tables): Likewise. + * config/arc/arc.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/arm/arm-protos.h (arm_dbx_regno): Likewise. + (arm_debugger_regno): Likewise. + * config/arm/arm.cc (arm_dbx_regno): Likewise. + (arm_debugger_regno): Likewise. + * config/arm/arm.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/bfin/bfin.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/c6x/c6x.cc: Likewise. + * config/c6x/c6x.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/cris/cris.h (enum reg_class): Likewise. + (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/csky/csky.cc (enum reg_class): Likewise. + * config/csky/csky.h (DWARF_FRAME_REGNUM): Likewise. + (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/frv/frv.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/gcn/gcn.cc (print_operand): Likewise. + * config/i386/bsd.h (ASM_QUAD): Likewise. + * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + (DWARF_FRAME_REGNUM): Likewise. + * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/i386/djgpp.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/i386/dragonfly.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/i386/freebsd.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/i386/gas.h: Likewise. + * config/i386/gnu-user.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/i386/i386.cc (enum reg_class): Likewise. + * config/i386/i386.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/i386/i386elf.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/i386/iamcu.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/i386/lynx.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/i386/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/i386/nto.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/i386/openbsdelf.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/i386/sysv4.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/i386/x86-64.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/ia64/ia64-protos.h (ia64_dbx_regno): Likewise. + (ia64_debugger_regno): Likewise. + * config/ia64/ia64.cc (ia64_output_function_prologue): Likewise. + (ia64_dbx_regno): Likewise. + (ia64_debugger_regno): Likewise. + (process_cfa_adjust_cfa): Likewise. + (process_cfa_register): Likewise. + (ia64_asm_unwind_emit): Likewise. + * config/ia64/ia64.h: Likewise. + * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/lm32/lm32.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/m32c/m32c.cc (m32c_eh_return_stackadj_rtx): Likewise. + * config/m32c/m32c.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/m68k/linux.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/m68k/m68k.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + (__transfer_from_trampoline): Likewise. + * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise. + (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/microblaze/microblaze.cc (microblaze_option_override): Likewise. + * config/microblaze/microblaze.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + (GP_DBX_FIRST): Likewise. + (GP_DEBUGGER_FIRST): Likewise. + * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/mmix/mmix-protos.h (mmix_dbx_regno): Likewise. + (mmix_debugger_regno): Likewise. + * config/mmix/mmix.cc (mmix_dbx_regno): Likewise. + (mmix_debugger_regno): Likewise. + * config/mmix/mmix.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/nds32/nds32-protos.h (nds32_dbx_regno): Likewise. + (nds32_debugger_regno): Likewise. + * config/nds32/nds32.cc (nds32_dbx_regno): Likewise. + (nds32_debugger_regno): Likewise. + (nds32_use_blocks_for_constant_p): Likewise. + * config/nds32/nds32.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/nvptx/nvptx.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/or1k/or1k.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/pa/pa32-regs.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/pa/pa64-regs.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/rs6000/rs6000-protos.h (rs6000_dbx_regno): Likewise. + (rs6000_debugger_regno): Likewise. + * config/rs6000/rs6000.cc (rs6000_dbx_regno): Likewise. + (rs6000_debugger_regno): Likewise. + * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + (DWARF2_FRAME_REG_OUT): Likewise. + * config/s390/s390.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/sh/linux.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/sh/sh.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + (SH_DBX_REGISTER_NUMBER): Likewise. + (SH_DEBUGGER_REGNO): Likewise. + * config/visium/visium.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/xtensa/elf.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/xtensa/linux.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/xtensa/uclinux.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * config/xtensa/xtensa-protos.h (xtensa_dbx_regno): Likewise. + (xtensa_debugger_regno): Likewise. + * config/xtensa/xtensa.cc (xtensa_dbx_regno): Likewise. + (xtensa_debugger_regno): Likewise. + * config/xtensa/xtensa.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + * defaults.h (DBX_REGISTER_NUMBER): Likewise. + (DEBUGGER_REGNO): Likewise. + (DWARF_FRAME_REGNUM): Likewise. + * doc/tm.texi: Likewise. + * doc/tm.texi.in: Likewise. + * dwarf2out.cc (dbx_reg_number): Likewise. + (debugger_reg_number): Likewise. + (reg_loc_descriptor): Likewise. + (multiple_reg_loc_descriptor): Likewise. + (mem_loc_descriptor): Likewise. + * except.cc: Likewise. + +2022-09-05 konglin1 <lingling.kong@intel.com> + + PR target/106742 + * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): + Handle V8BF mode. + (expand_vec_perm_broadcast_1): Ditto. + * config/i386/sse.md (avx512fmaskhalfmode): Add BF vector mode. + (vec_set<mode>_0): Add @ to it. + (@vec_set<mode>_0): Ditto. + (vec_interleave_high<mode><mask_name>): Ditto. + (@vec_interleave_high<mode><mask_name>): Ditto. + (vec_interleave_low<mode><mask_name>): Ditto. + (@vec_interleave_low<mode><mask_name>): Ditto. + * config/i386/subst.md (SUBST_V): Add BF vector mode. + +2022-09-05 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (early_nan_resolve): Remove. + (frange::intersect): Handle NANs. + +2022-09-04 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::union_): Do not drop properties when + unioning a NAN with something else. + (range_tests_signed_zeros): Add tests. + +2022-09-04 Aldy Hernandez <aldyh@redhat.com> + + * real.cc (encode_ieee_single): Use real_isdenormal. + (encode_ieee_double): Same. + (encode_ieee_extended): Same. + (encode_ieee_quad): Same. + (encode_ieee_half): Same. + (encode_arm_bfloat_half): Same. + * real.h (real_isdenormal): New. + +2022-09-03 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::singleton_p): Move NAN check to the top. + +2022-09-03 Jan-Benedict Glaw <jbglaw@lug-owl.de> + + * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments. + +2022-09-03 Jakub Jelinek <jakub@redhat.com> + + * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DOACROSS. + (enum omp_clause_depend_kind): Remove OMP_CLAUSE_DEPEND_SOURCE + and OMP_CLAUSE_DEPEND_SINK, add OMP_CLAUSE_DEPEND_INVALID. + (enum omp_clause_doacross_kind): New type. + (struct tree_omp_clause): Add subcode.doacross_kind member. + * tree.h (OMP_CLAUSE_DEPEND_SINK_NEGATIVE): Remove. + (OMP_CLAUSE_DOACROSS_KIND): Define. + (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE): Define. + (OMP_CLAUSE_DOACROSS_DEPEND): Define. + (OMP_CLAUSE_ORDERED_DOACROSS): Define. + * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add + OMP_CLAUSE_DOACROSS entries. + * tree-nested.cc (convert_nonlocal_omp_clauses, + convert_local_omp_clauses): Handle OMP_CLAUSE_DOACROSS. + * tree-pretty-print.cc (dump_omp_clause): Don't handle + OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. Handle + OMP_CLAUSE_DOACROSS. + * gimplify.cc (gimplify_omp_depend): Don't handle + OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. + (gimplify_scan_omp_clauses): Likewise. Handle OMP_CLAUSE_DOACROSS. + (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_DOACROSS. + (find_standalone_omp_ordered): New function. + (gimplify_omp_for): When OMP_CLAUSE_ORDERED is present, search + body for OMP_ORDERED with OMP_CLAUSE_DOACROSS and if found, + set OMP_CLAUSE_ORDERED_DOACROSS. + (gimplify_omp_ordered): Don't handle OMP_CLAUSE_DEPEND_SINK or + OMP_CLAUSE_DEPEND_SOURCE, instead check OMP_CLAUSE_DOACROSS, adjust + diagnostics that presence or absence of ordered clause parameter + is irrelevant. Handle doacross(sink:omp_cur_iteration-1). Use + actual user name of the clause - doacross or depend - in diagnostics. + * omp-general.cc (omp_extract_for_data): Don't set fd->ordered + if !OMP_CLAUSE_ORDERED_DOACROSS (t). If + OMP_CLAUSE_ORDERED_DOACROSS (t) but !OMP_CLAUSE_ORDERED_EXPR (t), + set fd->ordered to -1 and set it after the loop in that case to + fd->collapse. + * omp-low.cc (check_omp_nesting_restrictions): Don't handle + OMP_CLAUSE_DEPEND_SOURCE nor OMP_CLAUSE_DEPEND_SINK, instead check + OMP_CLAUSE_DOACROSS. Use actual user name of the clause - doacross + or depend - in diagnostics. Diagnose mixing of stand-alone and + block associated ordered constructs binding to the same loop. + (lower_omp_ordered_clauses): Don't handle OMP_CLAUSE_DEPEND_SINK, + instead handle OMP_CLAUSE_DOACROSS. + (lower_omp_ordered): Look for OMP_CLAUSE_DOACROSS instead of + OMP_CLAUSE_DEPEND. + (lower_depend_clauses): Don't handle OMP_CLAUSE_DEPEND_SOURCE and + OMP_CLAUSE_DEPEND_SINK. + * omp-expand.cc (expand_omp_ordered_sink): Emit a sorry for + doacross(sink:omp_cur_iteration-1). + (expand_omp_ordered_source_sink): Use + OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of + OMP_CLAUSE_DEPEND_SINK_NEGATIVE. Use actual user name of the clause + - doacross or depend - in diagnostics. + (expand_omp): Look for OMP_CLAUSE_DOACROSS clause instead of + OMP_CLAUSE_DEPEND. + (build_omp_regions_1): Likewise. + (omp_make_gimple_edges): Likewise. + * lto-streamer-out.cc (hash_tree): Handle OMP_CLAUSE_DOACROSS. + * tree-streamer-in.cc (unpack_ts_omp_clause_value_fields): Likewise. + * tree-streamer-out.cc (pack_ts_omp_clause_value_fields): Likewise. + +2022-09-02 David Malcolm <dmalcolm@redhat.com> + + PR c/90885 + * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow. + +2022-09-02 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/105659 + * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h. + * config/aarch64/aarch64-d.cc: Include tm_d.h. + * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to + config/aarch64/aarch64-d.h. + (aarch64_d_register_target_info): Likewise. + * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise. + (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. + * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of + tm_p.h. + * config/arm/arm-protos.h (arm_d_target_versions): Move to + config/arm/arm-d.h. + (arm_d_register_target_info): Likewise. + * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise. + (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. + * config/default-d.cc: Remove memmodel.h include. + * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h. + * config/glibc-d.cc: Likewise. + * config/i386/i386-d.cc: Include tm_d.h. + * config/i386/i386-protos.h (ix86_d_target_versions): Move to + config/i386/i386-d.h. + (ix86_d_register_target_info): Likewise. + (ix86_d_has_stdcall_convention): Likewise. + * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise. + (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. + (TARGET_D_HAS_STDCALL_CONVENTION): Likewise. + * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h. + * config/mips/mips-d.cc: Include tm_d.h. + * config/mips/mips-protos.h (mips_d_target_versions): Move to + config/mips/mips-d.h. + (mips_d_register_target_info): Likewise. + * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise. + (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. + * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h. + * config/openbsd-d.cc: Likewise. + * config/pa/pa-d.cc: Include tm_d.h. + * config/pa/pa-protos.h (pa_d_target_versions): Move to + config/pa/pa-d.h. + (pa_d_register_target_info): Likewise. + * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise. + (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. + * config/riscv/riscv-d.cc: Include tm_d.h. + * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to + config/riscv/riscv-d.h. + (riscv_d_register_target_info): Likewise. + * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise. + (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. + * config/rs6000/rs6000-d.cc: Include tm_d.h. + * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to + config/rs6000/rs6000-d.h. + (rs6000_d_register_target_info): Likewise. + * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.: + (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.: + * config/s390/s390-d.cc: Include tm_d.h. + * config/s390/s390-protos.h (s390_d_target_versions): Move to + config/s390/s390-d.h. + (s390_d_register_target_info): Likewise. + * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise. + (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. + * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h. + * config/sparc/sparc-d.cc: Include tm_d.h. + * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to + config/sparc/sparc-d.h. + (sparc_d_register_target_info): Likewise. + * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise. + (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. + * configure: Regenerate. + * configure.ac (tm_d_file): Remove defaults.h. + (tm_d_include_list): Remove options.h and insn-constants.h. + * config/aarch64/aarch64-d.h: New file. + * config/arm/arm-d.h: New file. + * config/i386/i386-d.h: New file. + * config/mips/mips-d.h: New file. + * config/pa/pa-d.h: New file. + * config/riscv/riscv-d.h: New file. + * config/rs6000/rs6000-d.h: New file. + * config/s390/s390-d.h: New file. + * config/sparc/sparc-d.h: New file. + +2022-09-02 Aldy Hernandez <aldyh@redhat.com> + + * builtins.cc (fold_builtin_inf): Convert use of real_info to dconstinf. + (fold_builtin_fpclassify): Same. + * fold-const-call.cc (fold_const_call_cc): Same. + * match.pd: Same. + * omp-low.cc (omp_reduction_init_op): Same. + * realmpfr.cc (real_from_mpfr): Same. + * tree.cc (build_complex_inf): Same. + +2022-09-02 Peter Bergner <bergner@linux.ibm.com> + + * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use + NOP_EXPR for MMA pointer casting. + +2022-09-02 Richard Sandiford <richard.sandiford@arm.com> + + * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost): + Reduce the fallback cost to 1. Only use it if the number of + input lanes is equal to the number of output lanes. + +2022-09-02 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/106787 + * tree-vect-slp.cc (vect_map_to_instance): New function, split out + from... + (vect_bb_partition_graph_r): ...here. Replace the visited set + with a map from nodes to instances. Ensure that a node only + appears in one partition. + (vect_bb_partition_graph): Update accordingly. + +2022-09-02 Richard Biener <rguenther@suse.de> + + * timevar.def (TV_TREE_RPO_VN): New. + * tree-ssa-sccvn.h (do_rpo_vn): Remove one overload. + * tree-ssa-sccvn.cc (do_rpo_vn_1): Rename the worker. + (do_rpo_vn): Unify the public API, track with TV_TREE_RPO_VN. + (pass_fre::execute): Adjust. + * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust. + +2022-09-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106809 + * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have + more than one successor before doing extra work. + +2022-09-02 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.cc: Include <vector>. + (struct riscv_multi_lib_info_t): New. + (riscv_subset_list::match_score): Ditto. + (find_last_appear_switch): Ditto. + (prefixed_with): Ditto. + (struct multi_lib_info_t): Ditto. + (riscv_current_arch_str): Ditto. + (riscv_current_abi_str): Ditto. + (riscv_multi_lib_info_t::parse): Ditto. + (riscv_check_cond): Ditto. + (riscv_check_conds): Ditto. + (riscv_compute_multilib): Ditto. + (TARGET_COMPUTE_MULTILIB): Defined. + * config/riscv/elf.h (LIB_SPEC): Call riscv_multi_lib_check if + doing link. + (RISCV_USE_CUSTOMISED_MULTI_LIB): New. + * config/riscv/riscv.h (riscv_multi_lib_check): New. + (EXTRA_SPEC_FUNCTIONS): Add riscv_multi_lib_check. + * config/riscv/riscv-subset.h (riscv_subset_list::match_score): New. + +2022-09-02 Kito Cheng <kito.cheng@sifive.com> + + * common/common-target.def (compute_multilib): New. + * common/common-targhooks.h (default_compute_multilib): New. + * common/common-targhooks.cc (default_compute_multilib): New. + * doc/tm.texi.in (TARGET_COMPUTE_MULTILIB): New. + * doc/tm.texi: Regen. + * gcc.cc: Include common/common-target.h. + (set_multilib_dir) Call targetm_common.compute_multilib. + (SWITCH_LIVE): Move to opts.h. + (SWITCH_FALSE): Ditto. + (SWITCH_IGNORE): Ditto. + (SWITCH_IGNORE_PERMANENTLY): Ditto. + (SWITCH_KEEP_FOR_GCC): Ditto. + (struct switchstr): Ditto. + * opts.h (SWITCH_LIVE): Move from gcc.c. + (SWITCH_FALSE): Ditto. + (SWITCH_IGNORE): Ditto. + (SWITCH_IGNORE_PERMANENTLY): Ditto. + (SWITCH_KEEP_FOR_GCC): Ditto. + (struct switchstr): Ditto. + +2022-09-02 Martin Liska <mliska@suse.cz> + + * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable + debugging format. + +2022-09-02 Martin Liska <mliska@suse.cz> + + * Makefile.in: Remove -gstabs option support, DBX-related + macros and DBX debugging info support. + * collect2.cc (scan_prog_file): Likewise. + * common.opt: Likewise. + * config.gcc: Likewise. + * config.in: Likewise. + * config/aarch64/aarch64-elf.h (DBX_DEBUGGING_INFO): Likewise. + * config/alpha/alpha.cc: Likewise. + * config/alpha/elf.h (ASM_SPEC): Likewise. + * config/arc/arc.h (DBX_DEBUGGING_INFO): Likewise. + (DBX_CONTIN_LENGTH): Likewise. + * config/arm/aout.h (DBX_DEBUGGING_INFO): Likewise. + (DBX_CONTIN_LENGTH): Likewise. + * config/arm/netbsd-elf.h (DBX_CONTIN_LENGTH): Likewise. + * config/darwin.h (DSYMUTIL_SPEC): Likewise. + (ASM_DEBUG_SPEC): Likewise. + (DBX_DEBUGGING_INFO): Likewise. + (DBX_USE_BINCL): Likewise. + (DBX_CONTIN_LENGTH): Likewise. + (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise. + * config/epiphany/epiphany.h (DBX_DEBUGGING_INFO): Likewise. + (DBX_CONTIN_LENGTH): Likewise. + * config/i386/bsd.h (DBX_NO_XREFS): Likewise. + (DBX_CONTIN_LENGTH): Likewise. + * config/i386/gas.h (DBX_NO_XREFS): Likewise. + (DBX_CONTIN_LENGTH): Likewise. + * config/ia64/ia64.h: Likewise. + * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Likewise. + * config/m68k/linux.h (DBX_CONTIN_LENGTH): Likewise. + * config/m68k/openbsd.h (DBX_DEBUGGING_INFO): Likewise. + (DBX_CONTIN_LENGTH): Likewise. + (DBX_CONTIN_CHAR): Likewise. + * config/mips/mips.cc (mips_output_filename): Likewise. + (mips_option_override): Likewise. + * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Likewise. + (DBX_DEBUGGING_INFO): Likewise. + (DBX_CONTIN_LENGTH): Likewise. + (DBX_REGISTER_NUMBER): Likewise. + (GP_DBX_FIRST): Likewise. + (FP_DBX_FIRST): Likewise. + (MD_DBX_FIRST): Likewise. + * config/nvptx/nvptx.cc: Likewise. + * config/openbsd.h (DBX_NO_XREFS): Likewise. + * config/pa/pa-64.h (DBX_DEBUGGING_INFO): Likewise. + * config/pa/pa.h (ASSEMBLER_DIALECT): Likewise. + (DBX_CONTIN_LENGTH): Likewise. + * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Likewise. + (DBX_USE_BINCL): Likewise. + (DBX_LINES_FUNCTION_RELATIVE): Likewise. + (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise. + * config/pdp11/pdp11.cc: Likewise. + * config/pdp11/pdp11.h (DBX_DEBUGGING_INFO): Likewise. + (PREFERRED_DEBUGGING_TYPE): Likewise. + (DBX_CONTIN_LENGTH): Likewise. + * config/rs6000/rs6000-builtin.cc: Likewise. + * config/rs6000/rs6000-call.cc: Likewise. + * config/rs6000/rs6000-logue.cc (defined): Likewise. + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise. + (HAVE_XCOFF_DWARF_EXTRAS): Likewise. + (rs6000_xcoff_declare_function_name): Likewise. + * config/rs6000/sysv4.h (DBX_DEBUGGING_INFO): Likewise. + (DBX_FUNCTION_FIRST): Likewise. + * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Likewise. + * config/rx/rx.h (DBX_DEBUGGING_INFO): Likewise. + * config/sh/elf.h (DBX_LINES_FUNCTION_RELATIVE): Likewise. + (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise. + * config/sol2.h (NO_DBX_BNSYM_ENSYM): Likewise. + * config/sparc/freebsd.h (DBX_CONTIN_CHAR): Likewise. + * config/sparc/netbsd-elf.h (DBX_CONTIN_CHAR): Likewise. + * config/sparc/sparc.h (DBX_CONTIN_LENGTH): Likewise. + * config/vax/vax.cc (vax_file_start): Likewise. + * config/vax/vax.h (DBX_DEBUGGING_INFO): Likewise. + (DBX_CONTIN_LENGTH): Likewise. + (DBX_CONTIN_CHAR): Likewise. + (DBX_NO_XREFS): Likewise. + (DBX_STATIC_STAB_DATA_SECTION): Likewise. + * config/vx-common.h (DBX_DEBUGGING_INFO): Likewise. + (XCOFF_DEBUGGING_INFO): Likewise. + * configure: Regenerate. Likewise. + * configure.ac: Likewise. + * debug.h: Likewise. + * doc/install.texi: Likewise. + * doc/invoke.texi: Likewise. + * doc/passes.texi: Likewise. + * doc/tm.texi: Likewise. + * doc/tm.texi.in: Likewise. + * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Likewise. + (dw2_asm_output_nstring): Likewise. + (USE_LINKONCE_INDIRECT): Likewise. + * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise. + (HAVE_XCOFF_DWARF_EXTRAS): Likewise. + (output_fde): Likewise. + (output_call_frame_info): Likewise. + (have_macinfo): Likewise. + (add_AT_loc_list): Likewise. + (add_AT_view_list): Likewise. + (output_compilation_unit_header): Likewise. + (output_pubnames): Likewise. + (output_aranges): Likewise. + (output_line_info): Likewise. + (output_macinfo): Likewise. + (dwarf2out_finish): Likewise. + (dwarf2out_early_finish): Likewise. + * final.cc (final_scan_insn_1): Likewise. + (rest_of_handle_final): Likewise. + * flag-types.h (enum debug_info_type): Likewise. + (DBX_DEBUG): Likewise. + (XCOFF_DEBUG): Likewise. + * function.cc (defined): Likewise. + * gcc.cc (defined): Likewise. + (ASM_DEBUG_SPEC): Likewise. + (ASM_DEBUG_OPTION_SPEC): Likewise. + * opts.cc (common_handle_option): Likewise. + (set_debug_level): Likewise. + * system.h (fancy_abort): Likewise. + * target-def.h (TARGET_ASM_CONSTRUCTOR): Likewise. + (TARGET_ASM_DESTRUCTOR): Likewise. + * toplev.cc (defined): Likewise. + * varasm.cc: Likewise. + * config/dbxcoff.h: Removed. + * config/dbxelf.h: Removed. + * dbxout.cc: Removed. + * dbxout.h: Removed. + * gstab.h: Removed. + * stab.def: Removed. + * xcoffout.cc: Removed. + * xcoffout.h: Removed. + +2022-09-02 Simon Rainer <gcc.gnu@vvalter.com> + + PR ipa/106627 + * config/i386/i386-features.cc (ix86_get_function_versions_dispatcher): + Set TREE_NOTHROW correctly for dispatcher declaration. + * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher): + Likewise. + +2022-09-01 Tamar Christina <tamar.christina@arm.com> + + PR other/106782 + * config/aarch64/aarch64.cc + (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with + HOST_WIDE_INT_PRINT_UNSIGNED. + +2022-09-01 Richard Sandiford <richard.sandiford@arm.com> + + * tree-vect-slp.cc (vect_build_slp_tree_2): When building a + VEC_PERM_EXPR of an existing vector, set the SLP_TREE_LANES + to the number of vector elements, if that's a known constant. + (vect_optimize_slp_pass::is_compatible_layout): Remove associated + comment about zero SLP_TREE_LANES. + (vect_optimize_slp_pass::start_choosing_layouts): Iterate over + all partition members when looking for potential layouts. + Handle existing permutes of fixed-length vectors. + +2022-09-01 Uroš Bizjak <ubizjak@gmail.com> + + PR target/106707 + * config/i386/i386.md (moves to/from AX_REG into xchg peephole2): + Do not convert a move pattern where both operands are AX_REG. + +2022-09-01 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (build_le): Convert to dconst*inf. + (build_ge): Same. + * value-range.cc (frange::set_signbit): Same. + (frange::normalize_kind): Same. + (range_tests_floats): Same. + * value-range.h (vrp_val_max): Same. + (vrp_val_min): Same. + (frange::set_varying): Same. + +2022-09-01 Aldy Hernandez <aldyh@redhat.com> + + * emit-rtl.cc (init_emit_once): Initialize dconstinf and + dconstninf. + * real.h: Add dconstinf and dconstninf. + +2022-09-01 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (compute_control_dep_chain): + Remove cycle detection, instead avoid walking backedges. + +2022-09-01 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (compute_control_dep_chain): + New wrapping overload. + (uninit_analysis::init_use_preds): Simplify. + (uninit_analysis::init_from_phi_def): Likewise. + +2022-09-01 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-fold.cc + (fold_using_range::range_of_builtin_int_call): Add case for + CFN_BUILT_IN_SIGNBIT. + +2022-09-01 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (foperator_equal::op1_range): Do not copy sign + bit. + (foperator_not_equal::op1_range): Same. + * value-query.cc (range_query::get_tree_range): Set sign bit. + * value-range-pretty-print.cc (vrange_printer::visit): Dump sign bit. + * value-range.cc (frange::set_signbit): New. + (frange::set): Adjust for sign bit. + (frange::normalize_kind): Same. + (frange::union_): Remove useless comment. + (frange::intersect): Same. + (frange::contains_p): Adjust for sign bit. + (frange::singleton_p): Same. + (frange::verify_range): Same. + (range_tests_signbit): New tests. + (range_tests_floats): Call range_tests_signbit. + * value-range.h (class frange_props): Add signbit + (class frange): Same. + +2022-09-01 Jakub Jelinek <jakub@redhat.com> + + PR other/106782 + * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4) + instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0). + * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to + derived types of gimple to gimple * to avoid -Wformat warnings. + * tree-vect-loop-manip.cc (vect_set_loop_condition, + vect_update_ivs_after_vectorizer): Likewise. + * tree-vect-stmts.cc (vectorizable_load): Likewise. + * tree-vect-patterns.cc (vect_split_statement, + vect_recog_mulhs_pattern, vect_recog_average_pattern, + vect_determine_precisions_from_range, + vect_determine_precisions_from_users): Likewise. + * gimple-loop-versioning.cc + (loop_versioning::analyze_term_using_scevs): Likewise. + * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise. + (vect_build_slp_tree): Cast slp_tree to void * to avoid + -Wformat warnings. + (optimize_load_redistribution_1, vect_match_slp_patterns, + vect_build_slp_instance, vect_optimize_slp_pass::materialize, + vect_optimize_slp_pass::dump, vect_slp_convert_to_external, + vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise. + (vect_print_slp_tree): Likewise. Also use + HOST_WIDE_INT_PRINT_UNSIGNED instead of %u. + * tree-vect-loop.cc (vect_determine_vectorization_factor, + vect_analyze_scalar_cycles_1, vect_analyze_loop_operations, + vectorizable_induction, vect_transform_loop): Cast pointers to derived + types of gimple to gimple * to avoid -Wformat warnings. + (vect_analyze_loop_2): Cast slp_tree to void * to avoid + -Wformat warnings. + (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED + instead of %d. + * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G + instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node)) + instead of SLP_TREE_DEF_TYPE (node). + +2022-09-01 Jakub Jelinek <jakub@redhat.com> + + PR c++/106655 + * doc/invoke.texi (-Winvalid-utf8): Document it. + +2022-09-01 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/106785 + * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS. + (range_tests_floats): Same. + +2022-09-01 konglin1 <lingling.kong@intel.com> + + * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR + recognition. + +2022-09-01 Peter Bergner <bergner@linux.ibm.com> + + PR target/101322 + * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): + Enforce the use of a valid MMA pointer type. + +2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector + registers. + +2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.cc (riscv_const_insns): Add cost of poly_int. + (riscv_output_move): Add csrr vlenb assembly. + * config/riscv/riscv.md (move_type): Add csrr vlenb type. + (ext): New attribute. + (ext_enabled): Ditto. + (enabled): Ditto. + +2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> + + * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Add + "vr" constraint. + (TARGET_VECTOR ? VD_REGS : NO_REGS): Add "vd" constraint. + (TARGET_VECTOR ? VM_REGS : NO_REGS): Add "vm" constraint. + (vp): Add poly constraint. + +2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.h (enum reg_class): Change vype to vtype. + +2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.cc (riscv_convert_vector_bits): Change + configuration according to TARGET_MIN_VLEN. + * config/riscv/riscv.h (UNITS_PER_FP_REG): Fix comment. + +2022-08-31 Martin Liska <mliska@suse.cz> + + * config.build: Remove deprecated ports. + * config.gcc: Likewise. + * config.host: Likewise. + * configure.ac: Likewise. + * configure: Regenerate. + * config/pa/pa-hpux10.h: Removed. + * config/pa/pa-hpux10.opt: Removed. + * config/pa/t-dce-thr: Removed. + +2022-08-31 Martin Liska <mliska@suse.cz> + + * Makefile.in: Always install limits.h and syslimits.h to + include folder. + * configure.ac: Assign STMP_FIXINC blank if + --disable-fixincludes is used. + * configure: Regenerate. + +2022-08-31 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (predicate::init_from_control_deps): + Assert the guard_bb isn't empty and has more than one successor. + Drop appropriate parts of the predicate when an edge fails to + register a predicate. + (predicate::dump): Dump empty predicate as TRUE. + +2022-08-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/90994 + * gimple-predicate-analysis.cc (predicate::init_from_control_deps): + Ignore exceptional control flow and skip the edge for the purpose of + predicate generation also for non-calls. + +2022-08-31 Aldy Hernandez <aldyh@redhat.com> + + * value-range-storage.cc (frange_storage_slot::set_frange): Save + endpoints. + (frange_storage_slot::get_frange): Restore endpoints. + * value-range-storage.h (class frange_storage_slot): Add endpoint + fields. + +2022-08-31 Martin Liska <mliska@suse.cz> + + PR tree-optimization/106789 + * range-op-float.cc (default_frelop_fold_range): Remove the + function. + +2022-08-31 Martin Liska <mliska@suse.cz> + + * value-range.h: Add more override keywords. + +2022-08-31 Martin Liska <mliska@suse.cz> + + * value-range.h: Add override. + +2022-08-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/65244 + * gimple-predicate-analysis.h (predicate::init_from_control_deps): + Add argument to specify whether the predicate is for the USE. + * gimple-predicate-analysis.cc (predicate::init_from_control_deps): + Also include predicates effective fallthru control edges when + the predicate is for the USE. + +2022-08-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/73550 + * gimple-predicate-analysis.cc (predicate::init_from_control_deps): + Sanitize debug dumping. Handle case labels with a CASE_HIGH. + (predicate::dump): Adjust for better readability. + +2022-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + Jakub Jelinek <jakub@redhat.com> + + * omp-simd-clone.cc (simd_clone_adjust_return_type, + simd_clone_adjust_argument_types): Use known_eq (veclen, 0U) + instead of known_eq (veclen, 0) to avoid -Wsign-compare warnings. + +2022-08-31 Richard Sandiford <richard.sandiford@arm.com> + + * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus + argument. + +2022-08-31 zhongjuzhe <juzhe.zhong@rivai.ai> + + * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply + initialize const_vf to 0. + +2022-08-31 Martin Liska <mliska@suse.cz> + + * config.gcc: Remove cr16. + +2022-08-30 Martin Jambor <mjambor@suse.cz> + + * vec.h (array_slice): Add constructors for non-const reference to + heap vector and pointers to heap vectors. + +2022-08-30 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (early_nan_resolve): Change comment. + (frange::union_): Handle union when one side is a NAN. + (range_tests_nan): Add tests for NAN union. + +2022-08-30 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): New. + (gcn_simd_clone_adjust): New. + (gcn_simd_clone_usable): New. + (TARGET_SIMD_CLONE_ADJUST): New. + (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New. + (TARGET_SIMD_CLONE_USABLE): New. + +2022-08-30 Andrew Stubbs <ams@codesourcery.com> + + * doc/tm.texi: Regenerate. + * omp-simd-clone.cc (simd_clone_adjust_return_type): Allow zero + vecsize. + (simd_clone_adjust_argument_types): Likewise. + * target.def (compute_vecsize_and_simdlen): Document the new + vecsize_int and vecsize_float semantics. + +2022-08-30 Richard Sandiford <richard.sandiford@arm.com> + + * expmed.cc (store_bit_field_1): Fix byte offset calculation + for undefined structures. + +2022-08-30 Richard Sandiford <richard.sandiford@arm.com> + + * params.opt (-param=vect-max-layout-candidates=): New parameter. + * doc/invoke.texi (vect-max-layout-candidates): Document it. + * tree-vectorizer.h (auto_lane_permutation_t): New typedef. + (auto_load_permutation_t): Likewise. + * tree-vect-slp.cc (vect_slp_node_weight): New function. + (slpg_layout_cost): New class. + (slpg_vertex): Replace perm_in and perm_out with partition, + out_degree, weight and out_weight. + (slpg_partition_info, slpg_partition_layout_costs): New classes. + (vect_optimize_slp_pass): Likewise, cannibalizing some part of + the previous vect_optimize_slp. + (vect_optimize_slp): Use it. + +2022-08-30 Richard Sandiford <richard.sandiford@arm.com> + + * hash-traits.h (vec_hash_base): New class. + (vec_free_hash_base): Likewise. + +2022-08-30 Richard Sandiford <richard.sandiford@arm.com> + + * hash-traits.h (int_hash_base): New struct, split out from... + (int_hash): ...this class, which now inherits from int_hash_base. + * hash-map-traits.h (unbounded_hashmap_traits): Take a template + parameter for the key that provides hash and equality functions. + (unbounded_int_hashmap_traits): Turn into a type alias of + unbounded_hashmap_traits. + +2022-08-30 Richard Sandiford <richard.sandiford@arm.com> + + * graphds.cc (graphds_scc): Add a pass-back parameter for the + final node order. + * graphds.h (graphds_scc): Update prototype accordingly. + +2022-08-30 Richard Sandiford <richard.sandiford@arm.com> + + * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Split out from... + (vect_transform_slp_perm_load): ...here. Use SLP_TREE_VECTYPE instead + of STMT_VINFO_VECTYPE. + +2022-08-30 Richard Sandiford <richard.sandiford@arm.com> + + * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from... + (vectorizable_slp_permutation): ...here. + +2022-08-30 Richard Sandiford <richard.sandiford@arm.com> + + * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): Check + that the requested number of units is interoperable with the requested + prevailing mode. + +2022-08-30 Martin Liska <mliska@suse.cz> + + * config.gcc: Remove the port. + * config/m32c/rtems.h: Removed. + +2022-08-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/73550 + * gimple-predicate-analysis.cc (predicate::init_from_control_deps): + Do not apply MAX_NUM_CHAINS again. + +2022-08-30 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (format_edge_vec): Dump + both source and destination. + (dump_dep_chains): Remove. + (uninit_analysis::init_use_preds): Remove redundant + dumping of chains. + +2022-08-30 Aldy Hernandez <aldyh@redhat.com> + + * value-range-storage.cc (frange_storage_slot::get_frange): Use + frange_nan. + * value-range.cc (frange::set_nan): New. + (frange_nan): Move to header file. + (range_tests_nan): Adjust frange_nan callers to pass type. + New test. + * value-range.h (FRANGE_PROP_ACCESSOR): Remove. + (frange_nan): New. + +2022-08-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/67196 + * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded): + Simplify and normalize use prediates before first use. + +2022-08-30 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (dump_pred_chain): Fix + parentizing and AND prepending. + (predicate::dump): Do not dump the GENERIC expanded + predicate, properly parentize and prepend ORs to the + piecewise predicate dump. + (build_pred_expr): Remove. + +2022-08-30 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (finite_operand_p): New. + (build_le): New. + (build_lt): New. + (build_ge): New. + (build_gt): New. + (foperator_equal::fold_range): New implementation with endpoints. + (foperator_equal::op1_range): Same. + (foperator_not_equal::fold_range): Same. + (foperator_not_equal::op1_range): Same. + (foperator_lt::fold_range): Same. + (foperator_lt::op1_range): Same. + (foperator_lt::op2_range): Same. + (foperator_le::fold_range): Same. + (foperator_le::op1_range): Same. + (foperator_le::op2_range): Same. + (foperator_gt::fold_range): Same. + (foperator_gt::op1_range): Same. + (foperator_gt::op2_range): Same. + (foperator_ge::fold_range): Same. + (foperator_ge::op1_range): Same. + (foperator_ge::op2_range): Same. + +2022-08-30 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (frange_set_nan): New. + (frange_drop_inf): New. + (frange_drop_ninf): New. + (foperator_equal::op1_range): Adjust for endpoints. + (foperator_lt::op1_range): Same. + (foperator_lt::op2_range): Same. + (foperator_gt::op1_range): Same. + (foperator_gt::op2_range): Same. + (foperator_unordered::op1_range): Same. + * value-query.cc (range_query::get_tree_range): Same. + * value-range-pretty-print.cc (vrange_printer::visit): Same. + * value-range-storage.cc (frange_storage_slot::get_frange): Same. + * value-range.cc (frange::set): Same. + (frange::normalize_kind): Same. + (frange::union_): Same. + (frange::intersect): Same. + (frange::operator=): Same. + (early_nan_resolve): New. + (frange::contains_p): New. + (frange::singleton_p): New. + (frange::set_nonzero): New. + (frange::nonzero_p): New. + (frange::set_zero): New. + (frange::zero_p): New. + (frange::set_nonnegative): New. + (frange_float): New. + (frange_nan): New. + (range_tests_nan): New. + (range_tests_signed_zeros): New. + (range_tests_floats): New. + (range_tests): New. + * value-range.h (frange::lower_bound): New. + (frange::upper_bound): New. + (vrp_val_min): Use real_inf with a sign instead of negating inf. + (frange::frange): New. + (frange::set_varying): Adjust for endpoints. + (real_max_representable): New. + (real_min_representable): New. + +2022-08-30 Aldy Hernandez <aldyh@redhat.com> + + * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant + for real zero. + +2022-08-30 Martin Liska <mliska@suse.cz> + + * config/s390/s390.cc (s390_rtx_costs): Use proper type as + argument. + +2022-08-30 Richard Biener <rguenther@suse.de> + + * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute + the set of fallthru reachable blocks from function entry + and use that to determine wlims.always_executed. + +2022-08-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/56654 + * tree-ssa-uninit.cc (cand_cmp): New. + (find_uninit_use): First process all PHIs and collect candidate + stmts, then sort those after RPO. + (warn_uninitialized_phi): Pass on bb_to_rpo. + (execute_late_warn_uninitialized): Compute and pass on + reverse lookup of RPO number from basic block index. + +2022-08-30 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.h (uninit_analysis::operator()): + Remove. + * gimple-predicate-analysis.cc + (uninit_analysis::collect_phi_def_edges): Use phi_arg_set, + simplify a bit. + * tree-ssa-uninit.cc (defined_args): New global. + (compute_uninit_opnds_pos): Mask with the recorded set + of guarded maybe-uninitialized uses. + (uninit_undef_val_t::operator()): Remove. + (find_uninit_use): Process all PHI uses, recording the + guarded ones and marking the PHI result as uninitialized + consistently. + (warn_uninitialized_phi): Adjust. + (execute_late_warn_uninitialized): Get rid of the PHI worklist + and instead walk the function in RPO order. + * spellcheck.h (best_match::m_best_candidate_len): Initialize. + +2022-08-30 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/106744 + * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments. + +2022-08-30 Tamar Christina <tamar.christina@arm.com> + + * expmed.cc (store_bit_field_1): Initialize regnum to 0. + +2022-08-29 David Faust <david.faust@oracle.com> + + PR target/106745 + * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix + computation of index for anonymous members. + +2022-08-29 Jose E. Marchesi <jose.marchesi@oracle.com> + + * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a + target macro. + +2022-08-29 H.J. Lu <hjl.tools@gmail.com> + + PR target/106748 + * config/i386/i386-expand.cc + (ix86_avx256_split_vector_move_misalign): Handle E_V16BFmode. + * config/i386/sse.md (V_256H): Add V16BF. + +2022-08-29 Robin Dapp <rdapp@linux.ibm.com> + + * config/s390/s390.cc (s390_address_cost): Declare. + (s390_hard_regno_nregs): Declare. + (s390_rtx_costs): Add handling for REG and MEM in SET. + +2022-08-29 Robin Dapp <rdapp@linux.ibm.com> + + * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern. + (is_reverse_perm_mask): New function. + (expand_perm_with_rot): Recognize reverse pattern. + (expand_perm_with_vstbrq): New function. + (expand_perm_with_vster): Use vler/vster for element reversal on z15. + (vectorize_vec_perm_const_1): Use. + (s390_vectorize_vec_perm_const): Add expand functions. + * config/s390/vx-builtins.md: Prefer vster over vler. + +2022-08-29 Robin Dapp <rdapp@linux.ibm.com> + + * config/s390/s390.md: Remove UNSPEC_VEC_EXTRACT. + * config/s390/vector.md: Rewrite patterns to use vec_select. + * config/s390/vx-builtins.md (vec_scatter_element<V_HW_2:mode>_SI): + Likewise. + +2022-08-29 Robin Dapp <rdapp@linux.ibm.com> + + PR target/100869 + * config/s390/vector.md (@vpdi4_2<mode>): New pattern. + (rotl<mode>3_di): New pattern. + * config/s390/vx-builtins.md: Use vpdi and verll for reversing + elements. + +2022-08-29 Robin Dapp <rdapp@linux.ibm.com> + + * config/s390/s390.cc (s390_issue_rate): Add z15. + +2022-08-29 Robin Dapp <rdapp@linux.ibm.com> + + * common/config/s390/s390-common.cc: Enable -funroll-loops and + -munroll-only-small-loops for OPT_LEVELS_2_PLUS_SPEED_ONLY. + * config/s390/s390.cc (s390_loop_unroll_adjust): Do not unroll + loops larger than 12 instructions. + (s390_override_options_after_change): Set unroll options. + (s390_option_override_internal): Likewise. + * config/s390/s390.opt: Document munroll-only-small-loops. + +2022-08-29 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (is_loop_exit, + find_control_equiv_block): Inline into single caller ... + (uninit_analysis::init_use_preds): ... here and refactor. + +2022-08-29 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (compute_control_dep_chain): + Inline is_loop_exit and refactor, add comment about + loop exits. + +2022-08-29 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/riscv.cc (riscv_frame_info): Introduce `reset(void)`; + (riscv_frame_info::reset(void)): New. + (riscv_compute_frame_info): Use riscv_frame_info::reset instead + of memset when clean frame. + +2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): New function. + (riscv_classify_address): Disallow PLUS/LO_SUM/CONST_INT address types for RVV. + (riscv_address_insns): Add RVV modes condition. + (riscv_binary_cost): Ditto. + (riscv_rtx_costs): Adjust cost for RVV. + (riscv_secondary_memory_needed): Add RVV modes condition. + (riscv_hard_regno_nregs): Add RVV register allocation. + (riscv_hard_regno_mode_ok): Add RVV register allocation. + (riscv_class_max_nregs): Add RVV register allocation. + * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Add VL/VTYPE and vector registers in Dwarf. + (UNITS_PER_V_REG): New macro. + (FIRST_PSEUDO_REGISTER): Adjust first pseudo num for RVV. + (V_REG_FIRST): New macro. + (V_REG_LAST): Ditto. + (V_REG_NUM): Ditto. + (V_REG_P): Ditto. + (VL_REG_P): Ditto. + (VTYPE_REG_P): Ditto. + (RISCV_DWARF_VL): Ditto. + (RISCV_DWARF_VTYPE): Ditto. + (enum reg_class): Add RVV register types. + (REG_CLASS_CONTENTS): Add RVV register types. + * config/riscv/riscv.md: Add VL/VTYPE register number constants. + +2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.md: Add new type for vector instructions. + +2022-08-28 Peter Bergner <bergner@linux.ibm.com> + + PR target/106017 + * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling + of MMA pointer conversions. + +2022-08-27 Xi Ruoyao <xry111@xry111.site> + + * config/i386/gcc-auto-profile: Regenerate. + +2022-08-26 Aldy Hernandez <aldyh@redhat.com> + + * real.cc (real_iszero): New. + * real.h (real_iszero): New. + +2022-08-26 Aldy Hernandez <aldyh@redhat.com> + + * real.cc (real_isinf): New overload. + (real_inf): Add sign argument. + * real.h (real_isinf): New overload. + (real_inf): Add sign argument. + +2022-08-26 Marek Polacek <polacek@redhat.com> + + PR c++/81159 + * doc/invoke.texi: Document -Wself-move. + +2022-08-26 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (vrange::set): Set varying. + (vrange::set_nonzero): Same. + (vrange::set_zero): Same. + (vrange::set_nonnegative): Same. + +2022-08-26 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (foperator_equal::op1_range): Do not blindly + copy op2 range when honoring signed zeros. + +2022-08-26 Aldy Hernandez <aldyh@redhat.com> + + * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always + add newline. + (profitable_path_p): Same. + +2022-08-26 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.h + (uninit_analysis::use_cannot_happen): Remove. + * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove. + (uninit_analysis::use_cannot_happen): Likewise. + (uninit_analysis::is_use_guarded): Do not call + use_cannot_happen. + (dump_predicates): Remove. + (simple_control_dep_chain): Remove edge overload. + +2022-08-26 Tobias Burnus <tobias@codesourcery.com> + + * internal-fn.cc (expand_GOMP_TARGET_REV): New. + * internal-fn.def (GOMP_TARGET_REV): New. + * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark + 'omp target device_ancestor_host' as in_other_partition and don't + error if absent. + * omp-low.cc (create_omp_child_function): Mark as 'noclone'. + * omp-expand.cc (expand_omp_target): For reverse offload, remove + sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create + empty-body nohost function. + * omp-offload.cc (execute_omp_device_lower): Handle + IFN_GOMP_TARGET_REV. + (pass_omp_target_link::execute): For ACCEL_COMPILER, don't + nullify fn argument for reverse offload + +2022-08-26 Jakub Jelinek <jakub@redhat.com> + + * builtins.def (BUILT_IN_ISSIGNALING): New built-in. + * builtins.cc (expand_builtin_issignaling): New function. + (expand_builtin_signbit): Don't overwrite target. + (expand_builtin): Handle BUILT_IN_ISSIGNALING. + (fold_builtin_classify): Likewise. + (fold_builtin_1): Likewise. + * optabs.def (issignaling_optab): New. + * fold-const-call.cc (fold_const_call_ss): Handle + BUILT_IN_ISSIGNALING. + * config/i386/i386.md (issignalingxf2): New expander. + * doc/extend.texi (__builtin_issignaling): Document. + (__builtin_isinf, __builtin_isnan): Clarify behavior with + -ffinite-math-only. + * doc/md.texi (issignaling<mode>2): Likewise. + +2022-08-26 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106099 + * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag. + * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of + __builtin_trap to avoid the need of vops. + +2022-08-26 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (dfs_mark_dominating_region): + New helper. + (compute_control_dep_chain): Adjust to honor marked region + if provided. + (uninit_analysis::init_from_phi_def): Pre-mark the dominating + region to improve compute_control_dep_chain walking. + * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder. + +2022-08-26 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc + (uninit_analysis::collect_phi_def_edges): Only expand a + PHI def edge when it is possibly undefined. + +2022-08-26 Martin Liska <mliska@suse.cz> + + * doc/extend.texi: Remove cr16 related stuff. + * doc/install.texi: Likewise. + * doc/invoke.texi: Likewise. + * doc/md.texi: Likewise. + * function-tests.cc (test_expansion_to_rtl): Likewise. + * common/config/cr16/cr16-common.cc: Removed. + * config/cr16/constraints.md: Removed. + * config/cr16/cr16-protos.h: Removed. + * config/cr16/cr16.cc: Removed. + * config/cr16/cr16.h: Removed. + * config/cr16/cr16.md: Removed. + * config/cr16/cr16.opt: Removed. + * config/cr16/predicates.md: Removed. + * config/cr16/t-cr16: Removed. + +2022-08-26 liuhongt <hongtao.liu@intel.com> + + PR target/106704 + * config/i386/i386-builtin.def (BDESC): Add + CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to + corresponding builtins. + * config/i386/i386.cc (ix86_gimple_fold_builtin): + Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256, + IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2. + +2022-08-25 Marek Polacek <polacek@redhat.com> + + * ginclude/stddef.h: Define nullptr_t. + +2022-08-25 Joseph Myers <joseph@codesourcery.com> + + * gimplify.cc (gimplify_modify_expr): Convert initialization from + a variable-size CONSTRUCTOR to memset before call to + gimplify_modify_expr_rhs. + +2022-08-25 Jason Merrill <jason@redhat.com> + + * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t. + +2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com> + + PR target/106101 + * config/s390/predicates.md (subreg_register_operand): New + predicate. + * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New + function prototype. + * config/s390/s390.cc (s390_gen_lowpart_subreg): New function. + (s390_expand_insv): Use s390_gen_lowpart_subreg instead of + gen_lowpart. + * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31") + ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise. + ("movstrictqi", "movstricthi", "movstrictsi"): Use the + subreg_register_operand predicate instead of register_operand. + +2022-08-25 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch-protos.h (loongarch_symbol_type): + Add SYMBOL_PCREL64 and change the description for SYMBOL_PCREL. + * config/loongarch/loongarch.cc (loongarch_attribute_table): + New attribute table. + (TARGET_ATTRIBUTE_TABLE): Define the target hook. + (loongarch_handle_model_attribute): New static function. + (loongarch_classify_symbol): Take TARGET_CMODEL_EXTREME and the + model attribute of SYMBOL_REF_DECL into account returning + SYMBOL_PCREL or SYMBOL_PCREL64. + (loongarch_use_anchors_for_symbol_p): New static function. + (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define the target hook. + (loongarch_symbol_extreme_p): New static function. + (loongarch_symbolic_constant_p): Handle SYMBOL_PCREL64. + (loongarch_symbol_insns): Likewise. + (loongarch_split_symbol_type): Likewise. + (loongarch_split_symbol): Check SYMBOL_PCREL64 instead of + TARGET_CMODEL_EXTREME for PC-relative addressing. + (loongarch_print_operand_reloc): Likewise. + * doc/extend.texi (Variable Attributes): Document new + LoongArch specific attribute. + +2022-08-25 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.cc (loongarch_classify_symbol): + Return early if the rtx is not SYMBOL_REF. + +2022-08-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106737 + * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not + verify SSA form. + +2022-08-25 Chenghua Xu <xuchenghua@loongson.cn> + + PR target/106459 + * config/loongarch/loongarch.cc (loongarch_build_integer): + Use HOST_WIDE_INT. + * config/loongarch/loongarch.h (IMM_REACH): Likewise. + (HWIT_1U): New Defined. + (LU12I_OPERAND): Use HOST_WIDE_INT. + (LU32I_OPERAND): Likewise. + (LU52I_OPERAND): Likewise. + (HWIT_UC_0xFFF): Likwise. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + PR target/106632 + PR target/106588 + * config/riscv/bitmanip.md (*shNadduw): Use n constraint + instead of i. + (*slliuw): Likewise. + (*bexti): Likewise. Also add a check for operands[2] to be less + than the mode bitsize. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + * config/riscv/constraints.md (DbS): New constraint. + (DnS): New constraint. + * config/riscv/bitmanip.md (*bset<mode>_1_mask): Use new constraint. + (*bclr<mode>): Likewise. + (*binvi<mode>): Likewise. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + PR target/106586 + * config/riscv/predicates.md (single_bit_mask_operand): + Use SINGLE_BIT_MASK_OPERAND instead of directly calling pow2p_hwi. + (not_single_bit_mask_operand): Likewise. + * config/riscv/riscv.cc (riscv_build_integer_1): Don't special case + 1<<31 for 32bits as it is already handled. + Call trunc_int_for_mode on the upper part after the subtraction. + (riscv_move_integer): Call trunc_int_for_mode before generating + the integer just make sure the constant has been sign extended + corectly. + (riscv_emit_int_compare): Call trunc_int_for_mode after doing the + addition for the new rhs. + * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): If !TARGET64BIT, + then mask off the upper 32bits of the HWI as it will be sign extended. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + * config/riscv/constraints.md (DsS): New constraint. + (DsD): New constraint. + * config/riscv/iterators.md (shiftm1c): New iterator. + * config/riscv/bitmanip.md (*bset<mode>_mask): + Use shiftm1c. + (*bset<mode>_1_mask): Likewise. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + * config/riscv/constraints.md (Ds3): New constraint. + * config/riscv/predicates.md (imm123_operand): New predicate. + * config/riscv/bitmanip.md (*shNadd): Use Ds3 and imm123_operand. + (*shNadduw): Likewise. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + * config/riscv/riscv.cc (riscv_print_operand): + Handle '~'. + (riscv_print_operand_punct_valid_p): New function + (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define. + * config/riscv/bitmanip.md (<bitmanip_optab>si2/clz_ctz_pcnt): + Use %~ instead of conditional the pattern on TARGET_64BIT. + (rotrsi3): Likewise. + (rotlsi3): Likewise. + * config/riscv/riscv.md: Add ~ to the list of modifiers. + (addsi3): Use %~ instead of conditional the pattern on TARGET_64BIT. + (subsi3): Likewise. + (negsi2): Likewise. + (mulsi3): Likewise. + (optab>si3/any_div): Likewise. + (*add<mode>hi3): Likewise. + (<optab>si3/any_shift): Likewise. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + * config/riscv/riscv.cc (riscv_print_operand): Make a mention to + keep the list in riscv.md in sync with this list. + * config/riscv/riscv.md: Add list of modifiers as comments. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + * config/riscv/sync.md (any_atomic, atomic_optab): Move to ... + * config/riscv/iterators.md: Here. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + * config/riscv/bitmanip.md + (bitmanip_bitwise, bitmanip_minmax, clz_ctz_pcna, + tbitmanip_optab, bitmanip_insn, shiftm1): Move to ... + * config/riscv/iterators.md: Here. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + * config/riscv/riscv.md (GPR): Move to new file. + (P, X, BR): Likewise. + (MOVE32, MOVE64, SHORT): Likewise. + (HISI, SUPERQI, SUBX): Likewise. + (ANYI, ANYF, SOFTF): Likewise. + (size, load, default_load): Likewise. + (softload, store, softstore): Likewise. + (reg, fmt, ifmt, amo): Likewise. + (UNITMODE, HALFMODE): Likewise. + (RINT, rint_pattern, rint_rm): Likewise. + (QUIET_COMPARISON, quiet_pattern, QUIET_PATTERN): Likewise. + (any_extend, any_shiftrt, any_shift): Likewise. + (any_bitwise): Likewise. + (any_div, any_mod): Likewise. + (any_gt, any_ge, any_lt, any_le): Likewise. + (u, su): Likewise. + (optab, insn): Likewise. + * config/riscv/iterators.md: New file. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + PR target/106601 + * config/riscv/bitmanip.md (bswaphi2): New pattern. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + PR target/106600 + * config/riscv/bitmanip.md (bswap<mode>2): Remove + condition on TARGET_64BIT as X is already conditional there. + +2022-08-24 Joseph Myers <joseph@codesourcery.com> + + * tree.cc (build_real): Give DFP dconst0 the minimum quantum + exponent for the type. + +2022-08-24 Jose E. Marchesi <jose.marchesi@oracle.com> + + PR target/106733 + * config/bpf/bpf.cc (bpf_legitimate_address_p): Recognize integer + constants as legitimate addresses for functions. + (bpf_small_register_classes_for_mode_p): Define target hook. + +2022-08-24 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc: Move predicate normalization + after the comment documenting it. + +2022-08-24 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.h (predicate): Split out + non-predicate related functionality into .. + (uninit_analysis): .. this new class. + * gimple-predicate-analysis.cc: Refactor into two classes. + * tree-ssa-uninit.cc (find_uninit_use): Use uninit_analysis. + +2022-08-24 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (predicate::use_cannot_happen): + Do simple_control_dep_chain only up to cd_root, add the PHI + operand edge to the chains like init_from_phi_def does. + (predicate::is_use_guarded): Speedup early out, avoid half-way + initializing the PHI def predicate. + +2022-08-24 Jakub Jelinek <jakub@redhat.com> + + PR target/106721 + * config/i386/sse.md (shuffletype): Add V32BF, V16BF and V8BF entries. + Change V32HF, V16HF and V8HF entries from "f" to "i". + (iptr): Add V32BF, V16BF, V8BF and BF entries. + (i128vldq): Add V16HF and V16BF entries. + (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo, + mask_opernad3 -> mask_operand3. + +2022-08-24 Martin Liska <mliska@suse.cz> + Jørgen Kvalsvik <j@lambda.is> + + * gcov.cc (add_line_counts): Add group functions to coverage + summary. + (accumulate_line_counts): Similarly for files. + +2022-08-24 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/genopts/loongarch-strings: Support code model medium. + * config/loongarch/genopts/loongarch.opt.in: Likewise. + * config/loongarch/loongarch-def.c: Likewise. + * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise. + (CMODEL_EXTREME): Likewise. + (N_CMODEL_TYPES): Likewise. + (CMODEL_MEDIUM): Likewise. + * config/loongarch/loongarch-opts.cc: Likewise. + * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise. + * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise. + * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr): + Tls symbol Loading support medium mode. + (loongarch_legitimize_call_address): When medium mode, make a symbolic + jump with two instructions. + (loongarch_option_override_internal): Support medium. + * config/loongarch/loongarch.md (@pcalau12i<mode>): New template. + (@sibcall_internal_1<mode>): New function call templates added to support + medium mode. + (@sibcall_value_internal_1<mode>): Likewise. + (@sibcall_value_multiple_internal_1<mode>): Likewise. + (@call_internal_1<mode>): Likewise. + (@call_value_internal_1<mode>): Likewise. + (@call_value_multiple_internal_1<mode>): Likewise. + * config/loongarch/loongarch.opt: Support medium. + * config/loongarch/predicates.md: Add processing about medium mode. + * doc/invoke.texi: Document for '-mcmodel=medium'. + +2022-08-24 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (predicate::use_cannot_happen): + Start the compute_control_dep_chain walk from the immediate + dominator of the PHI. + +2022-08-23 H.J. Lu <hjl.tools@gmail.com> + + PR target/106714 + * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to + __PTRDIFF_TYPE__. + (_tile_stream_loadd_internal): Likewise. + (_tile_stored_internal): Likewise. + +2022-08-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106722 + * gimple-predicate-analysis.h (MAX_NUM_CHAINS, MAX_CHAIN_LEN, + MAX_POSTDOM_CHECK, MAX_SWITCH_CASES): Move ... + * gimple-predicate-analysis.cc: ... here and document. + (simple_control_dep_chain): New function, factored from + predicate::use_cannot_happen. + (predicate::use_cannot_happen): Adjust. + (predicate::predicate): Use simple_control_dep_chain as fallback. + +2022-08-23 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (foperator_equal::op1_range): Set range to + range of op2. + +2022-08-23 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (is_loop_exit): Split out + from ... + (is_non_loop_exit_postdominating): ... here. Remove after + inlining ... + (find_control_equiv_block): ... here. + (compute_control_dep_chain): ... and here. + (predicate::is_use_guarded): Do not excempt loop exits + from short-cutting the case of the use post-dominating the + PHI definition. + +2022-08-23 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106687 + * range-op.cc (operator_minus::lhs_op1_relation): Return VREL_LE + for the VREL_GT case as well. + +2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/pru/pru.md (pru_<code>di3): New alternative for + two operands but without earlyclobber. + +2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/pru/pru.md (prumov<mode>, mov<mode>): Add + variants for loading -1 consts. + +2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> + + PR target/106564 + * config/pru/constraints.md (Um): New constraint for -1. + (Uf): New constraint for IOR fill-bytes constants. + (Uz): New constraint for AND zero-bytes constants. + * config/pru/predicates.md (const_fillbytes_operand): New + predicate for IOR fill-bytes constants. + (const_zerobytes_operand): New predicate for AND zero-bytes + constants. + * config/pru/pru-protos.h (pru_output_sign_extend): Remove. + (struct pru_byterange): New struct to describe a byte range. + (pru_calc_byterange): New declaration. + * config/pru/pru.cc (pru_rtx_costs): Add penalty for + 64-bit zero-extend. + (pru_output_sign_extend): Remove. + (pru_calc_byterange): New helper function to extract byte + range info from a constant. + (pru_print_operand): Remove 'y' and 'z' print modifiers. + * config/pru/pru.md (zero_extendqidi2): New pattern. + (zero_extendhidi2): New pattern. + (zero_extendsidi2): New pattern. + (extend<EQS0:mode><EQD:mode>2): Rewrite as an expand. + (@pru_ior_fillbytes<mode>): New pattern. + (@pru_and_zerobytes<mode>): New pattern. + (<code>di3): Rewrite as an expand and handle ZERO and FILL + special cases. + (pru_<code>di3): New name for <code>di3. + (@cbranch_qbbx_const_<BIT_TEST:code><HIDI:mode>): New pattern to + handle bit-test for 64-bit registers. + +2022-08-22 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.h (predicate::m_use_expr): Remove. + (predicate::def_expr): Likewise. + (predicate::use_expr): Likewise. + (predicate::expr): Likewise. + * gimple-predicate-analysis.cc (predicate::def_expr): Remove. + (predicate::use_expr): Likewise. + (predicate::expr): Likewise. + (predicate::is_use_guarded): Do not build m_use_expr. + +2022-08-22 Martin Liska <mliska@suse.cz> + + PR lto/106700 + * configure.ac: Detect O_NONBLOCK flag for open. + * config.in: Regenerate. + * configure: Regenerate. + * opts-common.cc (jobserver_info::connect): Set is_connected + properly based on O_NONBLOCK. + * opts-jobserver.h (struct jobserver_info): Add is_connected + member variable. + +2022-08-22 zhongjuzhe <juzhe.zhong@rivai.ai> + + * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value + and repeat value different. + +2022-08-22 Tobias Burnus <tobias@codesourcery.com> + + PR lto/106686 + * lto-wrapper.cc (free_array_of_ptrs): Move before tool_cleanup. + (tool_cleanup): Unlink offload_names. + (compile_offload_image): Take filename argument to set it early. + (compile_images_for_offload_targets): Update call; set + offload_names to NULL after freeing the array. + +2022-08-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105937 + * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs + on backedges. + (execute_late_warn_uninitialized): Mark backedges. + +2022-08-22 Richard Biener <rguenther@suse.de> + + * gimple-predicate-analysis.cc (predicate::use_cannot_happen): + If the use is guarded with multiple predicate paths compute + the predicates intersection before going forward. When + compute_control_dep_chain wasn't able to come up with at + least one path from function entry to the PHI edge compute + a conservative sparse path instead. + +2022-08-20 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch-opts.cc: Allow cmodel to be extreme. + * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr): + Add extreme support for TLS GD and LD types. + (loongarch_legitimize_tls_address): Add extreme support for TLS LE + and IE. + (loongarch_split_symbol): When compiling with -mcmodel=extreme, + the symbol address will be obtained through five instructions. + (loongarch_print_operand_reloc): Add support. + (loongarch_print_operand): Add support. + (loongarch_print_operand_address): Add support. + (loongarch_option_override_internal): Set '-mcmodel=extreme' option + incompatible with '-mno-explicit-relocs'. + * config/loongarch/loongarch.md (@lui_l_hi20<mode>): + Loads bits 12-31 of data into registers. + (lui_h_lo20): Load bits 32-51 of the data and spell bits 0-31 of + the source register. + (lui_h_hi12): Load bits 52-63 of the data and spell bits 0-51 of + the source register. + * config/loongarch/predicates.md: Symbols need to be decomposed + when defining the macro TARGET_CMODEL_EXTREME + * doc/invoke.texi: Modify the description information of cmodel in the document. + Document -W[no-]extreme-plt. + +2022-08-19 Tobias Burnus <tobias@codesourcery.com> + + * config/gcn/mkoffload.cc (main): Add omp_requires_file and dbgobj to + files_to_cleanup. + * config/i386/intelmic-mkoffload.cc (prepare_target_image): Add + omp_requires_file to temp_files. + * config/nvptx/mkoffload.cc (omp_requires_file): New global static var. + (main): Remove local omp_requires_file var. + (tool_cleanup): Handle omp_requires_file. + +2022-08-19 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-path.cc (path_range_query::path_range_query): + Remove constructor that takes edge. + * gimple-range-path.h (class path_range_query): Same. + * tree-ssa-loop-ch.cc (edge_range_query): New. + (entry_loop_condition_is_static): Call edge_range_query. + +2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.h + (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): + Add new register class "ISC_REGS". + * config/xtensa/constraints.md (c): Add new register constraint. + * config/xtensa/xtensa.md (define_constants): Remove "A11_REG". + (sibcall_internal, sibcall_value_internal): + Change to use the new register constraint, and remove two split + patterns for fixups that are no longer needed. + +2022-08-18 Maciej W. Rozycki <macro@embecosm.com> + + * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output + pattern formatting. + +2022-08-18 Tim Lange <mail@tim-lange.me> + + PR analyzer/106181 + * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic. + +2022-08-18 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-path.cc (path_range_query::path_range_query): Add + various constructors to take a path. + (path_range_query::~path_range_query): Remove m_alloced_ranger. + (path_range_query::range_on_path_entry): Adjust for m_ranger being + a reference. + (path_range_query::set_path): Rename to... + (path_range_query::reset_path): ...this and call compute_ranges. + (path_range_query::ssa_range_in_phi): Adjust for m_ranger + reference. + (path_range_query::range_defined_in_block): Same. + (path_range_query::compute_ranges_in_block): Same. + (path_range_query::adjust_for_non_null_uses): Same. + (path_range_query::compute_exit_dependencies): Use m_path instead + of argument. + (path_range_query::compute_ranges): Remove path argument. + (path_range_query::range_of_stmt): Adjust for m_ranger reference. + (path_range_query::compute_outgoing_relations): Same. + * gimple-range-path.h (class path_range_query): Add various + constructors. + Make compute_ranges and compute_exit_dependencies private. + Rename set_path to reset_path. + Make m_ranger a reference. + Remove m_alloced_ranger. + * tree-ssa-dom.cc (pass_dominator::execute): Adjust constructor to + path_range_query. + * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Take a + ranger and instantiate a new path_range_query every time. + (ch_base::copy_headers): Pass ranger instead of path_range_query. + * tree-ssa-threadbackward.cc (class back_threader): Remove m_solver. + (back_threader::~back_threader): Remove m_solver. + (back_threader::find_taken_edge_switch): Adjust for m_ranger + reference. + (back_threader::find_taken_edge_cond): Same. + (back_threader::dump): Remove m_solver. + (back_threader::back_threader): Move verify_marked_backedges + here from the path_range_query constructor. + * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Move + some code from compute_ranges_from_state here. + (hybrid_jt_simplifier::compute_ranges_from_state): Rename... + (hybrid_jt_simplifier::compute_exit_dependencies): ...to this. + * tree-ssa-threadedge.h (class hybrid_jt_simplifier): Rename + compute_ranges_from_state to compute_exit_dependencies. + Remove m_path. + +2022-08-18 Richard Biener <rguenther@suse.de> + + PR middle-end/106617 + * match.pd ((a ? b : c) > d -> a ? (b > d) : (c > d)): Fix + guard, disable on GENERIC to not cause quadratic behavior + with the fold-const.cc implementation and the use of ! + +2022-08-18 Andrew Pinski <apinski@marvell.com> + + PR gcov-profile/106659 + * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with + INCLUDE_VECTOR. + +2022-08-18 konglin1 <lingling.kong@intel.com> + + * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle vector + BFmode. + (ix86_expand_vector_init_duplicate): Support vector BFmode. + (ix86_expand_vector_init_one_nonzero): Ditto. + (ix86_expand_vector_init_one_var): Ditto. + (ix86_expand_vector_init_concat): Ditto. + (ix86_expand_vector_init_interleave): Ditto. + (ix86_expand_vector_init_general): Ditto. + (ix86_expand_vector_init): Ditto. + (ix86_expand_vector_set_var): Ditto. + (ix86_expand_vector_set): Ditto. + (ix86_expand_vector_extract): Ditto. + * config/i386/i386.cc (classify_argument): Add BF vector modes. + (function_arg_64): Ditto. + (ix86_gimplify_va_arg): Ditto. + (ix86_get_ssemov): Ditto. + * config/i386/i386.h (VALID_AVX256_REG_MODE): Add BF vector modes. + (VALID_AVX512F_REG_MODE): Ditto. + (host_detect_local_cpu): Ditto. + (VALID_SSE2_REG_MODE): Ditto. + * config/i386/i386.md: Add BF vector modes. + (MODE_SIZE): Ditto. + (ssemodesuffix): Add bf suffix for BF vector modes. + (ssevecmode): Ditto. + * config/i386/sse.md (VMOVE): Adjust for BF vector modes. + (VI12HFBF_AVX512VL): Ditto. + (V_256_512): Ditto. + (VF_AVX512HFBF16): Ditto. + (VF_AVX512BWHFBF16): Ditto. + (VIHFBF): Ditto. + (avx512): Ditto. + (VIHFBF_256): Ditto. + (VIHFBF_AVX512BW): Ditto. + (VI2F_256_512):Ditto. + (V8_128):Ditto. + (V16_256): Ditto. + (V32_512): Ditto. + (sseinsnmode): Ditto. + (sseconstm1): Ditto. + (sseintmodesuffix): New mode_attr. + (avx512fmaskmode): Ditto. + (avx512fmaskmodelower): Ditto. + (ssedoublevecmode): Ditto. + (ssehalfvecmode): Ditto. + (ssehalfvecmodelower): Ditto. + (ssescalarmode): Add vector BFmode mapping. + (ssescalarmodelower): Ditto. + (ssexmmmode): Ditto. + (ternlogsuffix): Ditto. + (ssescalarsize): Ditto. + (sseintprefix): Ditto. + (i128): Ditto. + (xtg_mode): Ditto. + (bcstscalarsuff): Ditto. + (<avx512>_blendm<mode>): New define_insn for BFmode. + (<avx512>_store<mode>_mask): Ditto. + (vcond_mask_<mode><avx512fmaskmodelower>): Ditto. + (vec_set<mode>_0): New define_insn for BF vector set. + (V8BFH_128): New mode_iterator for BFmode. + (avx512fp16_mov<mode>): Ditto. + (vec_set<mode>): New define_insn for BF vector set. + (@vec_extract_hi_<mode>): Ditto. + (@vec_extract_lo_<mode>): Ditto. + (vec_set_hi_<mode>): Ditto. + (vec_set_lo_<mode>): Ditto. + (*vec_extract<mode>_0): New define_insn_and_split for BF + vector extract. + (*vec_extract<mode>): New define_insn. + (VEC_EXTRACT_MODE): Add BF vector modes. + (PINSR_MODE): Add V8BF. + (sse2p4_1): Ditto. + (pinsr_evex_isa): Ditto. + (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support + insert for V8BFmode. + (pbroadcast_evex_isa): Add BF vector modes. + (AVX2_VEC_DUP_MODE): Ditto. + (VEC_INIT_MODE): Ditto. + (VEC_INIT_HALF_MODE): Ditto. + (avx2_pbroadcast<mode>): Adjust to support BF vector mode + broadcast. + (avx2_pbroadcast<mode>_1): Ditto. + (<avx512>_vec_dup<mode>_1): Ditto. + (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>): + Ditto. + +2022-08-18 Martin Liska <mliska@suse.cz> + + * configure: Regenerate. + +2022-08-18 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/103109 + * config/rs6000/rs6000.md (<u>maddditi4): New pattern for multiply-add. + (<u>madddi4_highpart): New. + (<u>madddi4_highpart_le): New. + +2022-08-18 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-path.cc + (path_range_query::compute_exit_dependencies): Use + gimple_range_ssa_names. + +2022-08-18 zhongjuzhe <juzhe.zhong@rivai.ai> + + * config/riscv/predicates.md: Adjust runtime invariant. + * config/riscv/riscv-modes.def (MAX_BITSIZE_MODE_ANY_MODE): New. + (NUM_POLY_INT_COEFFS): New. + * config/riscv/riscv-protos.h (riscv_initial_elimination_offset):Adjust + runtime invariant. + * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls): + Adjust runtime invariant. + * config/riscv/riscv.cc (struct riscv_frame_info): Adjust runtime + invariant. + (enum riscv_microarchitecture_type): Ditto. + (riscv_valid_offset_p): Ditto. + (riscv_valid_lo_sum_p): Ditto. + (riscv_address_insns): Ditto. + (riscv_load_store_insns): Ditto. + (riscv_legitimize_move): Ditto. + (riscv_binary_cost): Ditto. + (riscv_rtx_costs): Ditto. + (riscv_output_move): Ditto. + (riscv_extend_comparands): Ditto. + (riscv_flatten_aggregate_field): Ditto. + (riscv_get_arg_info): Ditto. + (riscv_pass_by_reference): Ditto. + (riscv_elf_select_rtx_section): Ditto. + (riscv_stack_align): Ditto. + (riscv_compute_frame_info): Ditto. + (riscv_initial_elimination_offset): Ditto. + (riscv_set_return_address): Ditto. + (riscv_for_each_saved_reg): Ditto. + (riscv_first_stack_step): Ditto. + (riscv_expand_prologue): Ditto. + (riscv_expand_epilogue): Ditto. + (riscv_can_use_return_insn): Ditto. + (riscv_secondary_memory_needed): Ditto. + (riscv_hard_regno_nregs): Ditto. + (riscv_convert_vector_bits): New. + (riscv_option_override): Adjust runtime invariant. + (riscv_promote_function_mode): Ditto. + * config/riscv/riscv.h (POLY_SMALL_OPERAND_P): New. + (BITS_PER_RISCV_VECTOR): New. + (BYTES_PER_RISCV_VECTOR): New. + * config/riscv/riscv.md: Adjust runtime invariant. + +2022-08-18 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr): + Get __tls_get_addr address through got table when disable plt. + +2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_expand_prologue): + Use an "addmi" machine instruction for updating the stack pointer + rather than addition/subtraction via hard register A9, if the amount + of change satisfies the literal value conditions of that instruction + when the CALL0 ABI is used. + (xtensa_expand_epilogue): Ditto. + And also inhibit the stack pointer addition of constant zero. + +2022-08-17 Roger Sayle <roger@nextmovesoftware.com> + + PR target/106640 + * config/i386/i386-features.cc + (timde_scalar_chain::compute_convert_gain): Replace incorrect use + of XINT with INTVAL (XEXP (src, 1)). + +2022-08-17 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-path.cc + (path_range_query::compute_ranges_in_block): Remove + set_root_oracle call. + (path_range_query::compute_ranges): Pass ranger oracle to + reset_path. + * value-relation.cc (path_oracle::reset_path): Set root oracle. + * value-relation.h (path_oracle::reset_path): Add root oracle + argument. + +2022-08-17 Marek Polacek <polacek@redhat.com> + + PR c++/89780 + * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Handle + OPT_Wpessimizing_move and OPT_Wredundant_move. + * diagnostic-spec.h (nowarn_spec_t): Add NW_REDUNDANT enumerator. + +2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + Jakub Jelinek <jakub@redhat.com> + + PR fortran/46539 + * common.opt (static-libquadmath): New option. + * gcc.cc (driver_handle_option): Always accept -static-libquadmath. + * config/darwin.h (LINK_SPEC): Handle -static-libquadmath. + +2022-08-17 Tobias Burnus <tobias@codesourcery.com> + + * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic + when filenames come out identically. + +2022-08-17 Tobias Burnus <tobias@codesourcery.com> + + PR middle-end/106548 + * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref + for 'simd' linear-step values that are variable. + +2022-08-17 Tobias Burnus <tobias@codesourcery.com> + Chung-Lin Tang <cltang@codesourcery.com> + + PR c++/104493 + * gimplify.cc (omp_notice_variable): Call omp_mappable_type + instead of removed langhook. + * omp-general.h (omp_mappable_type): New prototype. + * omp-general.cc (omp_mappable_type): New; moved from ... + * langhooks.cc (lhd_omp_mappable_type): ... here. + * langhooks-def.h (lhd_omp_mappable_type, + LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove. + (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remote the latter. + * langhooks.h (struct lang_hooks_for_types): Remove + omp_mappable_type. + +2022-08-17 Christophe Lyon <christophe.lyon@arm.com> + + * config.gcc (arm): Define with_float to hard if target name ends + with 'hf'. + +2022-08-17 Richard Biener <rguenther@suse.de> + + * tree-ssa-threadbackward.cc + (back_threader_profitability): Split profitable_path_p + into possibly_profitable_path_p and itself, keep state + as new members. + (back_threader::m_profit): Remove. + (back_threader::find_paths): Likewise. + (back_threader::maybe_register_path): Take profitability + instance as parameter. + (back_threader::find_paths_to_names): Likewise. Use + possibly_profitable_path_p and avoid the path range query + when the path is currently too large. + (back_threader::find_paths): Fold into ... + (back_threader::maybe_thread_block): ... this. + (get_gimple_control_stmt): Remove. + (back_threader_profitability::possibly_profitable_path_p): + Split out from profitable_path_p, do early profitability + checks. + (back_threader_profitability::profitable_path_p): Do final + profitability path after the taken edge has been determined. + +2022-08-17 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern. + (fmin<mode>3): Likewise. + +2022-08-17 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (gimple_range_ssa_names): New. + * gimple-range-fold.h (gimple_range_ssa_names): New prototype. + * gimple-range-gori.cc (range_def_chain::get_def_chain): Move + code to new routine. + +2022-08-16 Martin Liska <mliska@suse.cz> + + PR target/106637 + * doc/install.texi: Remove link to www.bullfreeware.com + +2022-08-16 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.cc (riscv_implied_info): Add + zfh and zfhmin. + (riscv_ext_version_table): Ditto. + (riscv_ext_flag_table): Ditto. + * config/riscv/riscv-opts.h (MASK_ZFHMIN): New. + (MASK_ZFH): Ditto. + (TARGET_ZFHMIN): Ditto. + (TARGET_ZFH): Ditto. + * config/riscv/riscv.cc (riscv_output_move): Handle HFmode move + for zfh and zfhmin. + (riscv_emit_float_compare): Handle HFmode. + * config/riscv/riscv.md (ANYF): Add HF. + (SOFTF): Add HF. + (load): Ditto. + (store): Ditto. + (truncsfhf2): New. + (truncdfhf2): Ditto. + (extendhfsf2): Ditto. + (extendhfdf2): Ditto. + (*movhf_hardfloat): Ditto. + (*movhf_softfloat): Make sure not ZFHMIN. + * config/riscv/riscv.opt (riscv_zf_subext): New. + +2022-08-16 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/riscv-builtins.cc: include stringpool.h + (riscv_float16_type_node): New. + (riscv_init_builtin_types): Ditto. + (riscv_init_builtins): Call riscv_init_builtin_types. + * config/riscv/riscv-modes.def (HF): New. + * config/riscv/riscv.cc (riscv_output_move): Handle HFmode. + (riscv_mangle_type): New. + (riscv_scalar_mode_supported_p): Ditto. + (riscv_libgcc_floating_mode_supported_p): Ditto. + (riscv_excess_precision): Ditto. + (riscv_floatn_mode): Ditto. + (riscv_init_libfuncs): Ditto. + (TARGET_MANGLE_TYPE): Ditto. + (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto. + (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Ditto. + (TARGET_INIT_LIBFUNCS): Ditto. + (TARGET_C_EXCESS_PRECISION): Ditto. + (TARGET_FLOATN_MODE): Ditto. + * config/riscv/riscv.md (mode): Add HF. + (softload): Add HF. + (softstore): Ditto. + (fmt): Ditto. + (UNITMODE): Ditto. + (movhf): New. + (*movhf_softfloat): New. + +2022-08-16 Richard Biener <rguenther@suse.de> + + * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names): + Do not walk further if we are leaving the current loop. + +2022-08-16 Sergei Trofimovich <siarheit@google.com> + + PR driver/106624 + * gcc.cc (driver::detect_jobserver): Allocate storage xputenv() + argument using xstrdup(). + +2022-08-16 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-path.cc (path_range_query::import_p): Rename to... + (path_range_query::exit_dependency_p): ...this. + (path_range_query::dump): Rename imports to exit dependencies. + (path_range_query::compute_ranges_in_phis): Same. + (path_range_query::compute_ranges_in_block): Same. + (path_range_query::adjust_for_non_null_uses): Same. + (path_range_query::compute_ranges): Same. + (path_range_query::compute_phi_relations): Same. + (path_range_query::add_to_imports): Rename to... + (path_range_query::add_to_exit_dependencies): ...this. + (path_range_query::compute_imports): Rename to... + (path_range_query::compute_exit_dependencies): ...this. + * gimple-range-path.h (class path_range_query): Rename imports to + exit dependencies. + +2022-08-16 Martin Liska <mliska@suse.cz> + + * value-range-storage.h (class obstack_vrange_allocator): Mark + the class as final. + (class ggc_vrange_allocator): Likewise. + +2022-08-16 Martin Liska <mliska@suse.cz> + + * value-range-equiv.h (class value_range_equiv): Add virtual + destructor. + * value-range.h: Likewise. + +2022-08-16 Richard Biener <rguenther@suse.de> + + PR middle-end/106630 + * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to + narrowing conversions. + +2022-08-16 Martin Liska <mliska@suse.cz> + + * value-range-equiv.h (class value_range_equiv): + +2022-08-16 Martin Liska <mliska@suse.cz> + + * config/i386/i386-features.h (class general_scalar_chain): Add + final override for a method. + (class timode_scalar_chain): Likewise. + +2022-08-16 Richard Biener <rguenther@suse.de> + + * doc/invoke.texi (max-jump-thread-paths): Adjust. + +2022-08-16 Martin Liska <mliska@suse.cz> + + * opts-common.cc (jobserver_info::connect): Open fifo + in non-blocking mode. + +2022-08-16 Kewen.Lin <linkw@gcc.gnu.org> + + PR target/103353 + * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition + check to preparation statements and add handlings for !TARGET_MMA. + (define_expand movxo): Likewise. + +2022-08-16 Kewen Lin <linkw@linux.ibm.com> + + PR tree-optimization/106322 + * tree-vect-stmts.cc (vectorizable_call): Don't allow + vect_emulated_vector_p type for both vectype_in and vectype_out. + +2022-08-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * common/config/xtensa/xtensa-common.cc + (xtensa_option_optimization_table): Add OPT_fsplit_wide_types_early + for OPT_LEVELS_ALL in order to restore pre-GCC10 behavior. + +2022-08-15 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106621 + * value-range.cc (irange::set): Check for POLY_INT_CST early. + +2022-08-15 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-features.cc + (timode_scalar_chain::compute_convert_gain): Provide costs for + shifts and rotates. + (timode_scalar_chain::convert_insn): Handle ASHIFTRT, ROTATERT + and ROTATE just like existing ASHIFT and LSHIFTRT cases. + (timode_scalar_to_vector_candidate_p): Handle all shifts and + rotates by integer constants between 0 and 127. + +2022-08-15 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-features.cc + (timode_scalar_chain::compute_convert_gain): Provide gains for + comparisons against 0/-1, including "*testti" patterns. + +2022-08-15 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/64992 + PR tree-optimization/98956 + * match.pd (ne (lshift @0 @1) 0): Simplify (X << C) != 0 to X + when X is zero_one_valued_p and the shift constant C is valid. + (eq (lshift @0 @1) 0): Likewise, simplify (X << C) == 0 to !X + when X is zero_one_valued_p and the shift constant C is valid. + +2022-08-15 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/71343 + * match.pd (op (lshift @0 @1) (lshift @2 @1)): Optimize the + expression (X<<C) + (Y<<C) to (X+Y)<<C for multiple operators. + (op (rshift @0 @1) (rshift @2 @1)): Likewise, simplify (X>>C)^(Y>>C) + to (X^Y)>>C for binary logical operators, AND, IOR and XOR. + +2022-08-15 Richard Biener <rguenther@suse.de> + + * gimple-range-path.cc (range_on_path_entry): Just + call range_on_entry. + +2022-08-15 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/106590 + * ifcvt.cc (check_for_cc_cmp_clobbers): New function. + (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs + mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any + further conditional moves. + +2022-08-15 konglin1 <lingling.kong@intel.com> + + * config/i386/i386-builtin-types.def (BFLOAT16): New primitive type. + * config/i386/i386-builtins.cc : Support __bf16 type for i386 backend. + (ix86_register_bf16_builtin_type): New function. + (ix86_bf16_type_node): New. + (ix86_bf16_ptr_type_node): Ditto. + (ix86_init_builtin_types): Add ix86_register_bf16_builtin_type function call. + * config/i386/i386-modes.def (FLOAT_MODE): Add BFmode. + (ADJUST_FLOAT_FORMAT): Ditto. + * config/i386/i386.cc (classify_argument): Handle BFmode. + (construct_container): Ditto. + (function_value_32): Return __bf16 by %xmm0. + (function_value_64): Return __bf16 by SSE register. + (ix86_output_ssemov): Handle BFmode. + (ix86_legitimate_constant_p): Disable BFmode constant double. + (ix86_secondary_reload): Require gpr as intermediate register + to store __bf16 from sse register when sse4 is not available. + (ix86_scalar_mode_supported_p): Enable __bf16 under sse2. + (ix86_mangle_type): Add manlging for __bf16 type. + (ix86_invalid_conversion): New function for target hook. + (ix86_invalid_unary_op): Ditto. + (ix86_invalid_binary_op): Ditto. + (TARGET_INVALID_CONVERSION): New define for target hook. + (TARGET_INVALID_UNARY_OP): Ditto. + (TARGET_INVALID_BINARY_OP): Ditto. + * config/i386/i386.h (host_detect_local_cpu): Add BFmode. + * config/i386/i386.md ("mode"): Add BFmode. + (MODE_SIZE): Ditto. + (X87MODEFH): Ditto. + (HFBF): Add new define_mode_iterator. + (*pushhf_rex64): Change for BFmode. + (*push<mode>_rex64): Ditto. + (*pushhf): Ditto. + (*push<mode>): Ditto. + (MODESH): Ditto. + (hfbfconstf): Add new define_mode_attr. + (*mov<mode>_internal): Add BFmode. + +2022-08-13 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/predicates.md (const_0_to_255_not_mul_8_operand): + New predicate for values between 0/1 and 255, not multiples of 8. + * config/i386/sse.md (ashlv1ti3): Delay lowering of logical left + shifts by constant bit counts. + (*ashlvti3_internal): New define_insn_and_split that lowers + logical left shifts by constant bit counts, that aren't multiples + of 8, before reload. + (lshrv1ti3): Delay lowering of logical right shifts by constant. + (*lshrv1ti3_internal): New define_insn_and_split that lowers + logical right shifts by constant bit counts, that aren't multiples + of 8, before reload. + (ashrv1ti3):: Delay lowering of arithmetic right shifts by + constant bit counts. + (*ashrv1ti3_internal): New define_insn_and_split that lowers + arithmetic right shifts by constant bit counts before reload. + (rotlv1ti3): Delay lowering of rotate left by constant. + (*rotlv1ti3_internal): New define_insn_and_split that lowers + rotate left by constant bits counts before reload. + (rotrv1ti3): Delay lowering of rotate right by constant. + (*rotrv1ti3_internal): New define_insn_and_split that lowers + rotate right by constant bits counts before reload. + +2022-08-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com> + + * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options. + +2022-08-12 Jan Hubicka <hubicka@ucw.cz> + + PR middle-end/106057 + * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New + function. + (possible_polymorphic_call_targets): Use it. + +2022-08-12 Andrew Carlotti <andrew.carlotti@arm.com> + + * tree-ssa-loop.h: Improve comment + +2022-08-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106506 + * tree-ssa-phiopt.cc (spaceship_replacement): Don't punt for + is_cast or orig_use_lhs cases if phi_bb has 3 predecessors. + +2022-08-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106593 + * tree-ssa-threadbackward.cc (back_threader::find_paths): + If the imports from the conditional do not satisfy + gimple_range_ssa_p don't try to thread anything. + +2022-08-12 Tamar Christina <tamar.christina@arm.com> + + PR target/106524 + * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine, + *fcmuo<mode>_bic_combine): Don't accept comparisons against zero. + +2022-08-12 Tim Lange <mail@tim-lange.me> + + PR analyzer/106000 + * doc/invoke.texi: Add Wanalyzer-out-of-bounds. + +2022-08-12 Andrew Pinski <apinski@marvell.com> + + * config/aarch64/aarch64.md: Remove comment + about MD_INCLUDES as it is out of date and not needed. + +2022-08-11 Richard Biener <rguenther@suse.de> + + * gimple-range-path.cc (path_range_query::compute_imports): + Restrict walking SSA defs to blocks inside the path. Track + the same operands as range_def_chain::get_def_chain does. + +2022-08-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106514 + * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names): + Compute and unwind both m_imports and interesting on the fly during + path discovery. + (back_threader::find_paths): Compute the original m_imports + from just the SSA uses of the exit conditional. Drop + handling single_succ_to_potentially_threadable_block. + * gimple-range-path.cc (path_range_query::ssa_range_in_phi): Handle + constant PHI arguments without crashing. Use PHI_ARG_DEF_FROM_EDGE. + +2022-08-11 Richard Biener <rguenther@suse.de> + + * gimple-range-path.h (path_range_query::compute_imports): + Take path as argument, not the exit block. + * gimple-range-path.cc (path_range_query::compute_imports): + Likewise, and adjust, avoiding possibly stale m_path. + (path_range_query::compute_outgoing_relations): Register + relations for all conditionals. + * tree-ssa-threadbackward.cc (back_threader::find_paths): + Adjust. + +2022-08-11 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Fix the + oversight on ENB_CELL by simplifying with rs6000_builtin_is_supported. + (rs6000_expand_builtin): Simplify with rs6000_builtin_is_supported. + +2022-08-11 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p): + Remove function declaration. + +2022-08-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106513 + * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t + for head_marker. + +2022-08-10 Martin Liska <mliska@suse.cz> + + PR lto/106328 + * opts-jobserver.h (struct jobserver_info): Add pipefd. + (jobserver_info::connect): New. + (jobserver_info::disconnect): Likewise. + (jobserver_info::get_token): Likewise. + (jobserver_info::return_token): Likewise. + * opts-common.cc: Implement the new functions. + +2022-08-10 Martin Liska <mliska@suse.cz> + + * opts-jobserver.h: Add one member. + * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO + format of --jobserver-auth. + +2022-08-10 Martin Liska <mliska@suse.cz> + + * gcc.cc (driver::detect_jobserver): Remove and move to + jobserver.h. + * lto-wrapper.cc (jobserver_active_p): Likewise. + (run_gcc): Likewise. + * opts-jobserver.h: New file. + * opts-common.cc (jobserver_info::jobserver_info): New function. + +2022-08-09 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-features.cc (scalar_chain::convert_compare): + Create new pseudos only when/if needed. Add support for TEST, + i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST. + When broadcasting V2DImode and V4SImode use new pseudo register. + (timode_scalar_chain::convert_op): Do nothing if operand is + already V1TImode. Avoid generating useless SUBREG conversions, + i.e. (SUBREG:V1TImode (REG:V1TImode) 0). Handle CONST_WIDE_INT + in addition to CONST_INT by using CONST_SCALAR_INT_P. + (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both + CONST_WIDE_INT and CONST_INT. Recognize new *testti_doubleword + pattern as an STV candidate. + (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P + operands in binary logic operations. + * config/i386/i386.cc (ix86_rtx_costs) <case UNSPEC>: Add costs + for UNSPEC_PTEST; a PTEST that performs an AND has the same cost + as regular PTEST, i.e. cost->sse_op. + * config/i386/i386.md (*testti_doubleword): New pre-reload + define_insn_and_split that recognizes comparison of TI mode AND + against zero. + * config/i386/sse.md (*ptest<mode>_and): New pre-reload + define_insn_and_split that recognizes UNSPEC_PTEST of identical + AND operands. + +2022-08-09 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR middle-end/21137 + PR tree-optimization/98954 + * fold-const.cc (fold_binary_loc): Remove optimizations to + optimize ((X >> C1) & C2) ==/!= 0. + * match.pd (cmp (bit_and (lshift @0 @1) @2) @3): Remove wi::ctz + check, and handle all values of INTEGER_CSTs @2 and @3. + (cmp (bit_and (rshift @0 @1) @2) @3): Likewise, remove wi::clz + checks, and handle all values of INTEGER_CSTs @2 and @3. + +2022-08-09 David Malcolm <dmalcolm@redhat.com> + + * doc/invoke.texi (Static Analyzer Options): Add notes on which + functions the analyzer has hardcoded knowledge of. + +2022-08-09 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn.cc (gcn_function_value): Allow vector return values. + (num_arg_regs): Allow vector arguments. + (gcn_function_arg): Likewise. + (gcn_function_arg_advance): Likewise. + (gcn_arg_partial_bytes): Likewise. + (gcn_return_in_memory): Likewise. + (gcn_expand_epilogue): Get return value from v8. + * config/gcn/gcn.h (RETURN_VALUE_REG): Set to v8. + (FIRST_PARM_REG): USE FIRST_SGPR_REG for clarity. + (FIRST_VPARM_REG): New. + (FUNCTION_ARG_REGNO_P): Allow vector parameters. + (struct gcn_args): Add vnum field. + (LIBCALL_VALUE): All vector return values. + * config/gcn/gcn.md (gcn_call_value): Add vector constraints. + (gcn_call_value_indirect): Likewise. + +2022-08-09 Richard Biener <rguenther@suse.de> + + * omp-expand.cc (expand_omp_atomic_load): Emit GIMPLE + directly. Avoid update_ssa when in SSA form. + (expand_omp_atomic_store): Likewise. + (expand_omp_atomic_fetch_op): Avoid update_ssa when in SSA + form. + (expand_omp_atomic_pipeline): Likewise. + (expand_omp_atomic_mutex): Likewise. + * tree-parloops.cc (gen_parallel_loop): Use + TODO_update_ssa_no_phi after loop_version. + +2022-08-09 Richard Biener <rguenther@suse.de> + + * doc/invoke.texi (max-fsm-thread-length): Remove. + * params.opt (max-fsm-thread-length): Likewise. + * tree-ssa-threadbackward.cc + (back_threader_profitability::profitable_path_p): Do not + check max-fsm-thread-length. + +2022-08-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106514 + * params.opt (max-jump-thread-paths): New. + * doc/invoke.texi (max-jump-thread-paths): Document. + * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names): + Honor max-jump-thread-paths, take overall_path argument. + (back_threader::find_paths): Pass 1 as initial overall_path. + +2022-08-09 Tobias Burnus <tobias@codesourcery.com> + + PR middle-end/106492 + * omp-low.cc (lower_rec_input_clauses): Add missing folding + to data type of linear-clause list item. + +2022-08-08 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106556 + * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use the + type of the cond_expr operands being evaluted. + +2022-08-08 Tom Honermann <tom@honermann.net> + + * ginclude/stdatomic.h (atomic_char8_t, + ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro. + +2022-08-08 Andrew Pinski <apinski@marvell.com> + + PR middle-end/103645 + * gimplify.cc (gimplify_init_constructor): Don't build/add + gimple assignment of an empty type. + +2022-08-08 Richard Biener <rguenther@suse.de> + + PR lto/106540 + PR lto/106334 + * dwarf2out.cc (dwarf2out_register_external_die): Restore + original assert. + * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1 + to input DECL_INITIAL, avoiding to commit drefs. + +2022-08-07 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.md (*cmp<dwi>_doubleword): Change predicate + for x86_64_hilo_general_operand to general operand. Call + force_reg on parts that are not x86_64_immediate_operand. + +2022-08-05 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105947 + * doc/invoke.texi: Add -Wanalyzer-jump-through-null. + +2022-08-05 Roger Sayle <roger@nextmovesoftware.com> + + * expmed.cc (emit_store_flag_1): Move code to expand double word + equality and inequality against zero or -1, using word operations, + to after trying to use the backend's cstore<mode>4 optab/expander. + +2022-08-05 Tamar Christina <tamar.christina@arm.com> + + PR middle-end/106534 + * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the + value_replacement and store_elim from diamonds. + +2022-08-05 Richard Biener <rguenther@suse.de> + + * tree-ssa-threadbackward.cc (back_threader::maybe_register_path): + Check whether the registry register_path rejected the path. + (back_threader_registry::register_path): Return whether + register_jump_thread succeeded. + +2022-08-05 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/106514 + * value-range.cc (unsupported_range::unsupported_range): Move... + * value-range.h (unsupported_range::unsupported_range): ...here. + (unsupported_range::set_undefined): New. + +2022-08-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106533 + * tree-loop-distribution.cc (loop_distribution::execute): Continue + analyzing the inner loops when find_seed_stmts_for_distribution + fails. + +2022-08-05 Andrew Pinski <apinski@marvell.com> + + * config/riscv/predicates.md (splittable_const_int_operand): + Remove the check for TARGET_64BIT for single bit const values. + +2022-08-04 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106514 + * gimple-range-path.cc (path_range_query::compute_ranges_in_block): + Use EXECUTE_IF_AND_IN_BITMAP to loop over 2 bitmaps. + +2022-08-04 Tamar Christina <tamar.christina@arm.com> + + * match.pd: New bit_not rule. + +2022-08-04 Tamar Christina <tamar.christina@arm.com> + + PR middle-end/106519 + * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for + diamond shapes. + +2022-08-04 Sam Feifer <sfeifer@redhat.com> + + PR tree-optimization/106243 + * match.pd (-x & 1): New simplification. + +2022-08-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106521 + * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Perform + CFG cleanup manually before rewriting into LC SSA. + +2022-08-04 Richard Biener <rguenther@suse.de> + + * tree-ssa-threadbackward.cc (populate_worklist): Remove. + (back_threader::resolve_phi): Likewise. + (back_threader::find_paths_to_names): Rewrite greedy search. + +2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com> + + * config/s390/vector.md (V_HW_FT): New iterator. + * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead + of V_HW. + +2022-08-03 Michael Meissner <meissner@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code + setting -mblock-ops-vector-pair. + +2022-08-03 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106514 + * value-relation.cc (path_oracle::killing_def) Do not walk the + equivalence set clearing bits. + +2022-08-03 Tamar Christina <tamar.christina@arm.com> + + * tree-ssa-phiopt.cc (minmax_replacement): Optionally search for the phi + sequence of a three-way conditional. + (replace_phi_edge_with_variable): Support diamonds. + (tree_ssa_phiopt_worker): Detect diamond phi structure for three-way + min/max. + (strip_bit_not, invert_minmax_code): New. + +2022-08-03 Richard Earnshaw <rearnsha@arm.com> + + PR rtl-optimization/106187 + * alias.h (mems_same_for_tbaa_p): Declare. + * alias.cc (mems_same_for_tbaa_p): New function. + * dse.cc (record_store): Use it instead of open-coding + alias check. + * cselib.h (cselib_redundant_set_p): Declare. + * cselib.cc: Include alias.h + (cselib_redundant_set_p): New function. + * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead + of rtx_equal_for_cselib_p. + * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p. + (reload_cse_noop_set_p): Delete. + +2022-08-03 Martin Liska <mliska@suse.cz> + + * doc/gcov-dump.texi: Document the new option. + * gcov-dump.cc (main): Parse the new option. + (print_usage): Show the option. + (tag_counters): Sort key:value pairs of TOP N counter. + +2022-08-03 Martin Liska <mliska@suse.cz> + + * profile.cc (compute_branch_probabilities): Do not collect + stats unless TDF_DETAILS. + +2022-08-03 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + PR target/47949 + * config/i386/i386.md (peephole2): New peephole2 to convert + SWI48 moves to/from %rax/%eax where the src is dead to xchg, + when optimizing for minimal size with -Oz. + +2022-08-03 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case + to split comparisons against -1 using AND and CMP -1 instructions. + +2022-08-03 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-features.cc (compute_convert_gain): Add gain + for converting suitable TImode shift to a V1TImode shift. + (timode_scalar_chain::convert_insn): Add support for converting + suitable ASHIFT and LSHIFTRT. + (timode_scalar_to_vector_candidate_p): Consider logical shifts + by integer constants that are multiples of 8 to be candidates. + +2022-08-03 Roger Sayle <roger@nextmovesoftware.com> + Segher Boessenkool <segher@kernel.crashing.org> + Richard Sandiford <richard.sandiford@arm.com> + + * simplify-rtx.cc (simplify_unary_operation_1) <ABS>: Add + optimizations for CLRSB, PARITY, POPCOUNT, SS_ABS and LSHIFTRT + that are all positive to complement the existing FFS and + idempotent ABS simplifications. + <SIGN_EXTEND>: Canonicalize SIGN_EXTEND to ZERO_EXTEND when + val_signbit_known_clear_p is true of the operand. + Simplify sign extensions of SUBREG truncations of operands + that are already suitably (zero) extended. + <ZERO_EXTEND>: Simplify zero extensions of SUBREG truncations + of operands that are already suitably zero extended. + +2022-08-02 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106510 + * gimple-range-fold.cc (fur_source::register_outgoing_edges): + Check for unsupported statements early. + +2022-08-02 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106474 + * gimple-range-cache.cc (ranger_cache::fill_block_cache): Query + range of equivalences that may contribute to the range. + +2022-08-02 Jose E. Marchesi <jose.marchesi@oracle.com> + + * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR + encoding bit in BTF. + +2022-08-02 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-fold.cc (fold_using_range::range_of_phi): Remove + irange check. + (tree_lower_bound): New. + (tree_upper_bound): New. + (fold_using_range::range_of_ssa_name_with_loop_info): Convert to + vrange. + * gimple-range-fold.h (range_of_ssa_name_with_loop_info): Change + argument to vrange. + +2022-08-02 Richard Biener <rguenther@suse.de> + + * tree-ssa-threadbackward.cc + (back_threader_profitability::profitable_path_p): Apply + size constraints to all paths again. + +2022-08-02 Aldy Hernandez <aldyh@redhat.com> + + * range-op-float.cc (finite_operands_p): New. + (frelop_early_resolve): New. + (default_frelop_fold_range): New. + (class foperator_equal): New. + (class foperator_not_equal): New. + (class foperator_lt): New. + (class foperator_le): New. + (class foperator_gt): New. + (class foperator_ge): New. + (class foperator_unordered): New. + (class foperator_ordered): New. + (class foperator_relop_unknown): New. + (floating_op_table::floating_op_table): Add above classes to + floating op table. + * value-range.h (frange::supports_p): Enable. + +2022-08-02 Aldy Hernandez <aldyh@redhat.com> + + * tree-core.h (struct tree_ssa_name): Add frange_info and + reshuffle the rest. + * value-range-storage.cc (vrange_storage::alloc_slot): Add case + for frange. + (vrange_storage::set_vrange): Same. + (vrange_storage::get_vrange): Same. + (vrange_storage::fits_p): Same. + (frange_storage_slot::alloc_slot): New. + (frange_storage_slot::set_frange): New. + (frange_storage_slot::get_frange): New. + (frange_storage_slot::fits_p): New. + * value-range-storage.h (class frange_storage_slot): New. + +2022-08-02 Aldy Hernandez <aldyh@redhat.com> + + * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger + query to integrals. + +2022-08-02 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (frange::set): Initialize m_props and cleanup. + +2022-08-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106497 + * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg): + Also verify we can copy EDGE_COPY_SRC_JOINER_BLOCK. + +2022-08-02 Martin Liska <mliska@suse.cz> + + * profile.cc (compute_branch_probabilities): Dump details only + if TDF_DETAILS. + * symtab.cc (symtab_node::dump_base): Do not dump pointer unless + TDF_ADDRESS is used, it makes comparison harder. + +2022-08-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106498 + * omp-expand.cc (expand_omp_taskreg): Do not perform virtual + SSA update here. + (expand_omp_for): Or here. + (execute_expand_omp): Instead schedule it here together + with CFG cleanup via TODO. + +2022-08-02 Richard Biener <rguenther@suse.de> + + PR lto/106334 + * dwarf2out.cc (dwarf2out_register_external_die): Adjust + assert. + +2022-08-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106495 + * tree-ssa-threadbackward.cc + (back_threader_profitability::profitable_path_p): If known_edge + is probably never executed avoid threading. + +2022-08-01 David Malcolm <dmalcolm@redhat.com> + + * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste + error. + +2022-08-01 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + PR target/106481 + * config/i386/i386-features.cc (timode_scalar_chain::convert_insn): + Convert a CONST_SCALAR_INT_P in a REG_EQUAL note into a V1TImode + CONST_VECTOR. + +2022-08-01 H.J. Lu <hjl.tools@gmail.com> + + PR target/83782 + * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New. + (TARGET_IFUNC_REF_LOCAL_OK): Use it. + +2022-08-01 Jose E. Marchesi <jose.marchesi@oracle.com> + + PR debug/106263 + * ctfc.h (struct ctf_dtdef): Add field linkage. + * ctfc.cc (ctf_add_function): Set ctti_linkage. + * dwarf2ctf.cc (gen_ctf_function_type): Pass a linkage for + function types and subprograms. + * btfout.cc (btf_asm_func_type): Emit linkage information for the + function. + (btf_dtd_emit_preprocess_cb): Propagate the linkage information + for functions. + +2022-08-01 Andrew Stubbs <ams@codesourcery.com> + Jakub Jelinek <jakub@redhat.com> + + * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match + the mask type. + +2022-08-01 Sam Feifer <sfeifer@redhat.com> + + PR tree-optimization/104992 + * match.pd (x / y * y == x): New simplification. + +2022-08-01 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (tree_compare): New. + (frange::set): Make more general. + (frange::normalize_kind): Cleanup and return bool. + (frange::union_): Use normalize_kind return value. + (frange::intersect): Same. + (frange::verify_range): Remove unnecessary else. + * value-range.h (vrp_val_max): Move before frange class. + (vrp_val_min): Same. + (frange::frange): Remove set to m_type. + +2022-08-01 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (vrange::supports_type_p): Use const_tree. + (irange::supports_type_p): Same. + (frange::supports_type_p): Same. + * value-range.h (Value_Range::supports_type_p): Same. + (irange::supports_p): Same. + +2022-08-01 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-fold.cc (fold_using_range::range_of_phi): Only + query SCEV for integers. + (fold_using_range::range_of_ssa_name_with_loop_info): Remove + irange check. + +2022-07-31 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.md (define_expand <any_rotate>ti3): For + rotations by 64 bits use new rot[lr]64ti2_doubleword pattern. + (rot[lr]64ti2_doubleword): New post-reload splitter. + +2022-07-31 Roger Sayle <roger@nextmovesoftware.com> + H.J. Lu <hjl.tools@gmail.com> + + PR target/106450 + * config/i386/i386-features.cc (timode_check_non_convertible_regs): + Do nothing if REGNO is set in the REGS bitmap, or is a hard reg. + (timode_remove_non_convertible_regs): Update comment. + Call timode_check_non_convertible_reg on all TImode register + DEFs and USEs in each instruction. + +2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md: Change hard register number used in + the split patterns for indirect sibling call fixups from 10 to 11, + the last free one for the CALL0 ABI. + +2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_rtx_costs): + Add new case for IF_THEN_ELSE. + +2022-07-29 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn-valu.md (V_INT_noHI): New iterator. + (<expander><mode>3<exec>): Use V_INT_noHI. + (v<expander><mode>3<exec>): Likewise. + +2022-07-29 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn.md (one_cmpldi2): New. + +2022-07-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105679 + * tree-ssa-threadbackward.cc + (back_threader_profitability::profitable_path_p): Avoid threading + when the entry edge is probably never executed. + +2022-07-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106422 + * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg): + Check whether we can copy thread blocks and cancel the thread if not. + +2022-07-29 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/106449 + * omp-expand.cc (expand_omp_simd): Fix up handling of pointer + iterators in non-rectangular simd loops. Unshare fd->loops[i].n2 + or n2 before regimplifying it inside of a condition. + +2022-07-29 Jakub Jelinek <jakub@redhat.com> + + * omp-expand.cc (expand_omp_for_init_counts, expand_omp_for_init_vars, + extract_omp_for_update_vars, expand_omp_for_ordered_loops, + expand_omp_simd): Don't fold_convert second argument to + fold_build_pointer_plus to sizetype. + +2022-07-29 Lulu Cheng <chenglulu@loongson.cn> + + * config.in: Regenerate. + * config/loongarch/loongarch.h (ASM_PREFERRED_EH_DATA_FORMAT): + Select the value of the macro definition according to whether + HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT is defined. + * configure: Regenerate. + * configure.ac: Reinstate HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT test. + +2022-07-29 Richard Biener <rguenther@suse.de> + + * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset): + Use CONVERT_EXPR_CODE_P. + +2022-07-29 Richard Biener <rguenther@suse.de> + + * tree-vect-patterns.cc (vect_recog_bool_pattern): Use + get_vectype_for_scalar_type instead of + vect_get_vector_types_for_stmt. + +2022-07-28 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105893 + * doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var. + +2022-07-28 David Malcolm <dmalcolm@redhat.com> + + * doc/invoke.texi (-fdiagnostics-show-cwe): Use uref rather than + url. + (Static Analyzer Options): Likewise. Add urefs for all of the + warnings that have associated CWE identifiers. + +2022-07-28 Maciej W. Rozycki <macro@embecosm.com> + + * doc/implement-c.texi (Floating point implementation): Mention + `-fno-trapping-math' in the context of FENV_ACCESS pragma. + * doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma + implication in the descriptions of `-fno-trapping-math' and + `-frounding-math'. + +2022-07-28 Maciej W. Rozycki <macro@embecosm.com> + + * config/riscv/riscv.md (UNSPECV_FSNVSNAN): New constant. + (QUIET_PATTERN): New int attribute. + (f<quiet_pattern>_quiet<ANYF:mode><X:mode>4): Emit the intended + RTL insns entirely within the preparation statements. + (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default) + (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Remove + insns. + (*riscv_fsnvsnan<mode>2): New insn. + +2022-07-28 Richard Biener <rguenther@suse.de> + + PR middle-end/106457 + * tree.cc (array_at_struct_end_p): Handle array objects + specially. + +2022-07-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106099 + * internal-fn.def (TRAP): New internal fn. + * internal-fn.h (expand_TRAP): Declare. + * internal-fn.cc (expand_TRAP): Define. + * gimple.cc (gimple_build_builtin_unreachable): For BUILT_IN_TRAP, + use internal fn rather than builtin. + +2022-07-27 Andrew Carlotti <andrew.carlotti@arm.com> + + * doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead. + +2022-07-27 WANG Xuerui <i@xen0n.name> + + * doc/invoke.texi: Document -m[no-]explicit-relocs for + LoongArch. + +2022-07-27 Maciej W. Rozycki <macro@embecosm.com> + + * config/riscv/riscv.md (stack_protect_set_<mode>): Remove + duplicate backslashes. + +2022-07-27 Maciej W. Rozycki <macro@embecosm.com> + + * config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New + case. + +2022-07-27 Jakub Jelinek <jakub@redhat.com> + + PR debug/106261 + * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't + output asm thunks for -dx. + +2022-07-27 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/106332 + * opts-common.cc (candidates_list_and_hint): Add gcc_assert + that candidates is not an empty vector. + +2022-07-27 Xi Ruoyao <xry111@xry111.site> + + * configure.ac (HAVE_AS_EXPLICIT_RELOCS): Define to 1 if the + assembler supports explicit relocation for LoongArch. + * configure: Regenerate. + * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS): + Define to 0 if not defined. + * config/loongarch/genopts/loongarch.opt.in + (TARGET_EXPLICIT_RELOCS): Default to HAVE_AS_EXPLICIT_RELOCS. + * config/loongarch/loongarch.opt: Regenerate. + +2022-07-26 Peter Bergner <bergner@linux.ibm.com> + + PR c/106016 + * expr.cc (count_type_elements): Handle OPAQUE_TYPE. + +2022-07-26 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch-opts.cc: Modify the output message string + of the warning. + +2022-07-26 Martin Liska <mliska@suse.cz> + + * doc/tm.texi.in: Fix placement of defmac. + * doc/tm.texi: Copy. + +2022-07-26 Martin Liska <mliska@suse.cz> + + * doc/tm.texi.in: Fix cross @defmac and @hook. + * doc/tm.texi: Copy. + +2022-07-26 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/106444 + * value-range-pretty-print.cc (vrange_printer::visit): Handle + legacy ranges. + (vrange_printer::print_irange_bound): Work on wide_int's. + * value-range-pretty-print.h (print_irange_bound): Same. + * value-range.cc (irange::get_nonzero_bits): Handle legacy ranges. + +2022-07-26 Richard Biener <rguenther@suse.de> + + * tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1 + points to a constant continue checking ptr2. + +2022-07-26 Andrew Carlotti <Andrew.Carlotti@arm.com> + + * config/aarch64/aarch64-builtins.cc + (MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8) + (MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16) + (MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64) + (MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8) + (MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16) + (MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64) + (MODE_q_p128): Define macro to map to corresponding mode name. + (QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16) + (QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64) + (QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to + corresponding qualifier name. + (LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix. + (SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro + functions for the above mappings + (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS) + (VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1) + (VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN) + (AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions + for all vreinterpret intrinsics + (enum aarch64_builtins): Add vreinterpret function codes + (aarch64_init_simd_intrinsics): New + (handle_arm_neon_h): Improved comment. + (aarch64_general_fold_builtin): Fold vreinterpret calls + * config/aarch64/arm_neon.h + (vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8) + (vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64) + (vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16) + (vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16) + (vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8) + (vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64) + (vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8) + (vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64) + (vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128) + (vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8) + (vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64) + (vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16) + (vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8) + (vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8) + (vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64) + (vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8) + (vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64) + (vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128) + (vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8) + (vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64) + (vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16) + (vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8) + (vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8) + (vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64) + (vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128) + (vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16) + (vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8) + (vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16) + (vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64) + (vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16) + (vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16) + (vreinterpretq_p128_u32, vreinterpret_f16_f64, vreinterpret_f16_s8) + (vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64) + (vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16) + (vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8) + (vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64) + (vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32) + (vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8) + (vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64) + (vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16) + (vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64) + (vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32) + (vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16) + (vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8) + (vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16) + (vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16) + (vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8) + (vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64) + (vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64) + (vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32) + (vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64) + (vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32) + (vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16) + (vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16) + (vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16) + (vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16) + (vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8) + (vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64) + (vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8) + (vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32) + (vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32) + (vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16) + (vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8) + (vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16) + (vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16) + (vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8) + (vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128) + (vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8) + (vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64) + (vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16) + (vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16) + (vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8) + (vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64) + (vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8) + (vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8) + (vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128) + (vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16) + (vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32) + (vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32) + (vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16) + (vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16) + (vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16) + (vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16) + (vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8) + (vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128) + (vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8) + (vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32) + (vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32) + (vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16) + (vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8) + (vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16) + (vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16) + (vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8) + (vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128) + (vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8) + (vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32) + (vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32) + (vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16) + (vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8) + (vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16) + (vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16) + (vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8) + (vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128) + (vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8) + (vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64) + (vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32) + (vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16) + (vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8) + (vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64) + (vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16) + (vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8) + (vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128) + (vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8) + (vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64) + (vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32) + (vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16) + (vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8) + (vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64) + (vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8) + (vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8) + (vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128) + (vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8) + (vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64) + (vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16) + (vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16) + (vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8) + (vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64) + (vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8) + (vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8) + (vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128) + (vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8) + (vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64) + (vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32) + (vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16) + (vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32) + (vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16) + (vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8) + (vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64) + (vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64) + (vreinterpretq_bf16_p128, vreinterpretq_bf16_f16) + (vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16) + (vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16) + (vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16) + (vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16) + (vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16) + (vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16) + (vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16) + (vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16) + (vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16) + (vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16) + (vreinterpretq_p128_bf16): Delete + +2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-builtins.cc + (aarch64_simd_builtin_std_type): Rename to... + (aarch64_int_or_fp_type): ...this, and allow irrelevant qualifiers. + (aarch64_lookup_simd_builtin_type): Rename to... + (aarch64_simd_builtin_type): ...this. Add const/pointer + support, and extract table lookup to... + (aarch64_lookup_simd_type_in_table): ...this function. + (aarch64_init_crc32_builtins): Update to use aarch64_simd_builtin_type. + (aarch64_init_fcmla_laneq_builtins): Ditto. + (aarch64_init_simd_builtin_functions): Ditto. + +2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-builtins.cc + (aarch64_general_gimple_fold_builtin): Add combine. + +2022-07-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106189 + * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref): + Divide using offset_ints. + +2022-07-26 Lulu Cheng <chenglulu@loongson.cn> + + * common/config/loongarch/loongarch-common.cc: + Enable '-fsection-anchors' when O1 and more advanced optimization. + * config/loongarch/genopts/loongarch.opt.in: Add new option + '-mexplicit-relocs', and enable by default. + * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p): + Delete function declaration. + (loongarch_split_move_insn): Delete function declaration. + (loongarch_split_symbol_type): Add function declaration. + * config/loongarch/loongarch.cc (enum loongarch_address_type): + Add new address type 'ADDRESS_LO_SUM'. + (loongarch_classify_symbolic_expression): New function definitions. + Classify the base of symbolic expression X, given that X appears in + context CONTEXT. + (loongarch_symbol_insns): Add a judgment condition TARGET_EXPLICIT_RELOCS. + (loongarch_split_symbol_type): New function definitions. + Determines whether the symbol load should be split into two instructions. + (loongarch_valid_lo_sum_p): New function definitions. + Return true if a LO_SUM can address a value of mode MODE when the LO_SUM + symbol has type SYMBOL_TYPE. + (loongarch_classify_address): Add handling of 'LO_SUM'. + (loongarch_address_insns): Add handling of 'ADDRESS_LO_SUM'. + (loongarch_signed_immediate_p): Sort code. + (loongarch_12bit_offset_address_p): Return true if address type is ADDRESS_LO_SUM. + (loongarch_const_insns): Add handling of 'HIGH'. + (loongarch_split_move_insn_p): Add the static attribute to the function. + (loongarch_emit_set): New function definitions. + (loongarch_call_tls_get_addr): Add symbol handling when defining TARGET_EXPLICIT_RELOCS. + (loongarch_legitimize_tls_address): Add symbol handling when defining the + TARGET_EXPLICIT_RELOCS macro. + (loongarch_split_symbol): New function definitions. Split symbol. + (loongarch_legitimize_address): Add codes see if the address can split into a high part + and a LO_SUM. + (loongarch_legitimize_const_move): Add codes split moves of symbolic constants into + high and low. + (loongarch_split_move_insn): Delete function definitions. + (loongarch_output_move): Add support for HIGH and LO_SUM. + (loongarch_print_operand_reloc): New function definitions. + Print symbolic operand OP, which is part of a HIGH or LO_SUM in context CONTEXT. + (loongarch_memmodel_needs_release_fence): Sort code. + (loongarch_print_operand): Rearrange alphabetical order and add H and L to support HIGH + and LOW output. + (loongarch_print_operand_address): Add handling of 'ADDRESS_LO_SUM'. + (TARGET_MIN_ANCHOR_OFFSET): Define macro to -IMM_REACH/2. + (TARGET_MAX_ANCHOR_OFFSET): Define macro to IMM_REACH/2-1. + * config/loongarch/loongarch.md (movti): Delete the template. + (*movti): Delete the template. + (movtf): Delete the template. + (*movtf): Delete the template. + (*low<mode>): New template of normal symbol low address. + (@tls_low<mode>): New template of tls symbol low address. + (@ld_from_got<mode>): New template load address from got table. + (@ori_l_lo12<mode>): New template. + * config/loongarch/loongarch.opt: Update from loongarch.opt.in. + * config/loongarch/predicates.md: Add support for symbol_type HIGH. + +2022-07-26 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/constraints.md (a): Delete the constraint. + (b): A constant call not local address. + (h): Delete the constraint. + (t): Delete the constraint. + * config/loongarch/loongarch-opts.cc (loongarch_config_target): + Remove cModel type support other than normal. + * config/loongarch/loongarch-protos.h (enum loongarch_symbol_type): + Add new symbol type 'SYMBOL_PCREL', 'SYMBOL_TLS_IE' and 'SYMBOL_TLS_LE'. + (loongarch_split_symbol): Delete useless function declarations. + (loongarch_split_symbol_type): Delete useless function declarations. + * config/loongarch/loongarch.cc (enum loongarch_address_type): + Delete unnecessary comment information. + (loongarch_symbol_binds_local_p): Modified the judgment order of label + and symbol. + (loongarch_classify_symbol): Return symbol type. If symbol is a label, + or symbol is a local symbol return SYMBOL_PCREL. If is a tls symbol, + return SYMBOL_TLS. If is a not local symbol return SYMBOL_GOT_DISP. + (loongarch_symbolic_constant_p): Add handling of 'SYMBOL_TLS_IE' + 'SYMBOL_TLS_LE' and 'SYMBOL_PCREL'. + (loongarch_symbol_insns): Add handling of 'SYMBOL_TLS_IE' 'SYMBOL_TLS_LE' + and 'SYMBOL_PCREL'. + (loongarch_address_insns): Sort code. + (loongarch_12bit_offset_address_p): Sort code. + (loongarch_14bit_shifted_offset_address_p): Sort code. + (loongarch_call_tls_get_addr): Sort code. + (loongarch_legitimize_tls_address): Sort code. + (loongarch_output_move): Remove schema support for cmodel other than normal. + (loongarch_memmodel_needs_release_fence): Sort code. + (loongarch_print_operand): Sort code. + * config/loongarch/loongarch.h (LARCH_U12BIT_OFFSET_P): + Rename to LARCH_12BIT_OFFSET_P. + (LARCH_12BIT_OFFSET_P): New macro. + * config/loongarch/loongarch.md: Reimplement the function call. Remove schema + support for cmodel other than normal. + * config/loongarch/predicates.md (is_const_call_weak_symbol): Delete this predicate. + (is_const_call_plt_symbol): Delete this predicate. + (is_const_call_global_noplt_symbol): Delete this predicate. + (is_const_call_no_local_symbol): New predicate, determines whether it is a local + symbol or label. + +2022-07-26 Kewen Lin <linkw@linux.ibm.com> + + PR target/106091 + * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy + REG_EH_REGION when replacing one store insn having it. + (replace_swapped_aligned_load): Likewise. + +2022-07-25 Aldy Hernandez <aldyh@redhat.com> + + * Makefile.in (OBJS): Add range-op-float.o. + * range-op.cc (get_float_handler): New. + (range_op_handler::range_op_handler): Save code and type for + delayed querying. + (range_op_handler::oeprator bool): Move from header file, and + add support for floats. + (range_op_handler::fold_range): Add support for floats. + (range_op_handler::op1_range): Same. + (range_op_handler::op2_range): Same. + (range_op_handler::lhs_op1_relation): Same. + (range_op_handler::lhs_op2_relation): Same. + (range_op_handler::op1_op2_relation): Same. + * range-op.h (class range_operator_float): New. + (class floating_op_table): New. + * value-query.cc (range_query::get_tree_range): Add case for + REAL_CST. + * range-op-float.cc: New file. + +2022-07-25 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + PR target/91681 + * config/i386/i386-expand.cc (split_double_concat): A new helper + function for setting a double word value from two word values. + * config/i386/i386-protos.h (split_double_concat): Prototype here. + * config/i386/i386.md (zero_extendditi2): New define_insn_and_split. + (*add<dwi>3_doubleword_zext): New define_insn_and_split. + (*sub<dwi>3_doubleword_zext): New define_insn_and_split. + (*concat<mode><dwi>3_1): New define_insn_and_split replacing + previous define_split for implementing DST = (HI<<32)|LO as + pair of move instructions, setting lopart and hipart. + (*concat<mode><dwi>3_2): Likewise. + (*concat<mode><dwi>3_3): Likewise, where HI is zero_extended. + (*concat<mode><dwi>3_4): Likewise, where HI is zero_extended. + +2022-07-25 Aldy Hernandez <aldyh@redhat.com> + + PR middle-end/106432 + * gimple-range.cc (gimple_ranger::range_on_edge): Return false + when the result range type is unsupported. + +2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef. + +2022-07-25 Richard Biener <rguenther@suse.de> + + PR middle-end/106414 + * match.pd (~(x ^ y) -> x == y): Restrict to single bit + precision types. + +2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/aarch64/aarch64.md (rbit<mode>2): Rename this ... + (@aarch64_rbit<mode>): ... to this and change it in... + (ffs<mode>2,ctz<mode>2): ... here. + (@aarch64_rev16<mode>): New. + * config/aarch64/aarch64-builtins.cc: (aarch64_builtins): + Define the following enum AARCH64_REV16, AARCH64_REV16L, + AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL. + (aarch64_init_data_intrinsics): New. + (aarch64_general_init_builtins): Add call to + aarch64_init_data_intrinsics. + (aarch64_expand_builtin_data_intrinsic): New. + (aarch64_general_expand_builtin): Add call to + aarch64_expand_builtin_data_intrinsic. + * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl, + __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16, + __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New. + +2022-07-25 Martin Liska <mliska@suse.cz> + + * doc/extend.texi: Remove trailing whitespaces. + * doc/invoke.texi: Likewise. + +2022-07-25 Aldy Hernandez <aldyh@redhat.com> + + * value-range-pretty-print.cc (vrange_printer::visit): New. + (vrange_printer::print_frange_prop): New. + * value-range-pretty-print.h (class vrange_printer): Add visit and + print_frange_prop. + * value-range-storage.h (vrange_allocator::alloc_vrange): Handle frange. + (vrange_allocator::alloc_frange): New. + * value-range.cc (vrange::operator=): Handle frange. + (vrange::operator==): Same. + (frange::accept): New. + (frange::set): New. + (frange::normalize_kind): New. + (frange::union_): New. + (frange::intersect): New. + (frange::operator=): New. + (frange::operator==): New. + (frange::supports_type_p): New. + (frange::verify_range): New. + * value-range.h (enum value_range_discriminator): Handle frange. + (class fp_prop): New. + (FP_PROP_ACCESSOR): New. + (class frange_props): New. + (FRANGE_PROP_ACCESSOR): New. + (class frange): New. + (Value_Range::init): Handle frange. + (Value_Range::operator=): Same. + (Value_Range::supports_type_p): Same. + (frange_props::operator==): New. + (frange_props::union_): New. + (frange_props::intersect): New + (frange::frange): New. + (frange::type): New. + (frange::set_varying): New. + (frange::set_undefined): New. + +2022-07-25 Peter Bergner <bergner@linux.ibm.com> + Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/106345 + * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu + to filter out all -mtune options. + +2022-07-24 Aldy Hernandez <aldyh@redhat.com> + + * value-query.cc (range_query::get_value_range): Add assert. + * vr-values.cc (vr_values::range_of_expr): Make sure we don't ICE + on unsupported types in vr_values. + (simplify_using_ranges::simplify): Same. + +2022-07-24 Aldy Hernandez <aldyh@redhat.com> + + * tree-ssanames.cc (get_nonzero_bits): Return -1 for unsupported + types. + * value-query.cc (get_ssa_name_range_info): Remove precision check. + +2022-07-24 Aldy Hernandez <aldyh@redhat.com> + + * value-relation.cc (value_relation::set_relation): Remove assert. + (path_oracle::register_relation): Exit when trying to register + same SSA name relations. + +2022-07-24 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-cache.cc (ranger_cache::edge_range): Convert to vrange. + (ranger_cache::range_from_dom): Same. + * tree-ssa-dom.cc + (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same. + +2022-07-24 Roger Sayle <roger@nextmovesoftware.com> + H.J. Lu <hjl.tools@gmail.com> + + PR target/106303 + PR target/106347 + * config/i386/i386-features.cc (make_vector_copies): Move from + general_scalar_chain to scalar_chain. + (convert_reg): Likewise. + (convert_insn_common): New scalar_chain method split out from + general_scalar_chain convert_insn. + (convert_registers): Move from general_scalar_chain to + scalar_chain. + (scalar_chain::convert): Call convert_insn_common before calling + convert_insn. + (timode_remove_non_convertible_regs): Iterate until there are + no further changes to the candidates. + * config/i386/i386-features.h (scalar_chain::hash_map): Move + from general_scalar_chain. + (scalar_chain::convert_reg): Likewise. + (scalar_chain::convert_insn_common): New shared method. + (scalar_chain::make_vector_copies): Move from general_scalar_chain. + (scalar_chain::convert_registers): Likewise. No longer virtual. + (general_scalar_chain::hash_map): Delete. Moved to scalar_chain. + (general_scalar_chain::convert_reg): Likewise. + (general_scalar_chain::make_vector_copies): Likewise. + (general_scalar_chain::convert_registers): Delete virtual method. + (timode_scalar_chain::convert_registers): Likewise. + +2022-07-23 Immad Mir <mirimmad@outlook.com> + + * doc/extend.texi: Add fd_arg, fd_arg_read and fd_arg_write under + "Common Function Attributes" section. + * doc/invoke.texi: Add docs to -Wanalyzer-fd-access-mode-mismatch, + -Wanalyzer-use-after-close, -Wanalyzer-fd-use-without-check that these + warnings may be emitted through usage of three function attributes used + for static analysis of file descriptors namely fd_arg, fd_arg_read and + fd_arg_write. + +2022-07-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (*masktrue_const_bitcmpl): + Add a new insn_and_split pattern, and a few split patterns for + spacial cases. + +2022-07-22 Richard Sandiford <richard.sandiford@arm.com> + + * graphds.cc (graphds_scc): Fix algorithm attribution. + +2022-07-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106403 + * tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored + value valueization after check for IFN_MASKED_STORE or + IFN_LEN_STORE. + +2022-07-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106397 + * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do + not update SSA form here. + (mark_nontemporal_stores): Return whether we marked any + non-temporal stores and inserted mfence. + (loop_prefetch_arrays): Note when we need to update SSA. + (tree_ssa_prefetch_arrays): Perform required (LC) SSA update + at the end of the pass. + +2022-07-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106387 + * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name + if ptr is not an SSA name. + +2022-07-22 liuhongt <hongtao.liu@intel.com> + + PR target/106038 + * config/i386/mmx.md (<code><mode>3): New define_expand, it's + original "<code><mode>3". + (*<code><mode>3): New define_insn, it's original + "<code><mode>3" be extended to handle memory and immediate + operand with ix86_binary_operator_ok. Also adjust define_split + after it. + (mmxinsnmode): New mode attribute. + (*mov<mode>_imm): Refactor with mmxinsnmode. + * config/i386/predicates.md + (register_or_x86_64_const_vector_operand): New predicate. + +2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com> + + * config/rs6000/altivec.md: + (vstrir_code_<mode>): Rename to... + (vstrir_direct_<mode>): ... this. + (vstrir_p_code_<mode>): Rename to... + (vstrir_p_direct_<mode>): ... this. + (vstril_code_<mode>): Rename to... + (vstril_direct_<mode>): ... this. + (vstril_p_code_<mode>): Rename to... + (vstril_p_direct_<mode>): ... this. + +2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com> + + * config/rs6000/rs6000-c.cc: Update comments. + (rs6000_target_modify_macros): Remove bu_mask references. + (rs6000_define_or_undefine_macro): Replace bu_mask reference + with a rs6000_cpu value check. + (rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate() + parameter from call to rs6000_target_modify_macros. + * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros, + rs6000_target_modify_macros_ptr): Remove parameter from extern + for the prototype. + * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove + parameter from prototype, update calls to this function. + (rs6000_print_builtin_options): Remove prototype, call and function. + (rs6000_builtin_mask_calculate): Remove function. + (rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options. + (rs6000_option_override_internal): Remove rs6000_builtin_mask var + and builtin_mask debug output. + (rs6000_builtin_mask_names): Remove. + (rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask, + diff_bumask references; Update calls to rs6000_target_modify_ptr. + * config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove. + +2022-07-21 Sam Feifer <sfeifer@redhat.com> + + PR tree-optimization/94920 + * match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification. + (x <= 0 ? -x : 0): New simplification. + +2022-07-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + Revert: + 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type + instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR. + +2022-07-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106379 + * match.pd (~(a ^ b) -> a == b): New pattern. + +2022-07-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106378 + * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle + LEN_STORE, add mode to initialize a may-def and handle + MASK_STORE that way. + (dse_optimize_stmt): Query may-defs. Handle internal + functions LEN_STORE and MASK_STORE similar to how + we handle memory builtins but without byte tracking. + +2022-07-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106365 + * tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining + the offset to start encoding of RHS from. + (vn_walk_cb_data::vn_walk_cb_data): Initialize it. + (vn_walk_cb_data::push_partial_def): Allow the first partial + definition to be fully providing the def. Offset RHS + before encoding if requested. + (vn_reference_lookup_3): Initialize def_rhs everywhere. + Add support for .MASK_STORE and .LEN_STORE (partial) definitions. + +2022-07-21 Richard Biener <rguenther@suse.de> + + * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case + store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD + and IFN_MASK_LOAD_LANES. + (call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE, + IFN_LEN_STORE and IFN_MASK_STORE_LANES. + +2022-07-20 Alexander Monakov <amonakov@ispras.ru> + + PR rtl-optimization/101347 + * builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move + population of nonlocal_goto_handler_labels from here ... + (expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here. + * rtlanal.cc (remove_node_from_insn_list): Verify that a + duplicate is not present in the remainder of the list. + +2022-07-20 Alexander Monakov <amonakov@ispras.ru> + + * rtl.h (remove_node_from_expr_list): Remove declaration. + * rtlanal.cc (remove_node_from_expr_list): Remove (no uses). + +2022-07-20 Richard Biener <rguenther@suse.de> + + * tree-vect-data-refs.cc (bump_vector_ptr): Return an + invariant updated address when the input was invariant. + +2022-07-20 liuhongt <hongtao.liu@intel.com> + + * passes.def: (Split pass_cse_sincos to pass_expand_powcabs + and pass_cse_sincos, and move pass_cse_sincos after vectorizer). + * timevar.def (TV_TREE_POWCABS): New timevar. + * tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos. + * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto. + (class pass_expand_powcabs): Ditto. + (pass_expand_powcabs::execute): Ditto. + (make_pass_expand_powcabs): Ditto. + (pass_cse_sincos::execute): Remove pow/cabs expand part. + (make_pass_cse_sincos): Ditto. + +2022-07-20 Richard Biener <richard.guenther@gmail.com> + Hongtao Liu <hongtao.liu@intel.com> + + PR tree-optimization/106010 + * tree-complex.cc (init_dont_simulate_again): Lower complex + type move. + (expand_complex_move): Also expand COMPLEX_CST for rhs. + +2022-07-19 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::range_from_dom): Check + for incoming ranges on join nodes and add to worklist. + +2022-07-19 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::resolve_dom): New. + (ranger_cache::range_from_dom): Put all nodes to be calculated + in the worklist and resolve after the dom walk. + * gimple-range-cache.h (resolve_dom): New prototype. + +2022-07-19 Alexander Monakov <amonakov@ispras.ru> + + * tree-cfg.cc (gimple_verify_flow_info): Check placement of + returns_twice calls. + +2022-07-19 Alexander Monakov <amonakov@ispras.ru> + + * cfghooks.cc (duplicate_block): Expand comment. + * tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with + calls that may return twice. + +2022-07-19 Alexander Monakov <amonakov@ispras.ru> + + * tree-ssa-sink.cc (select_best_block): Punt if selected block + has incoming abnormal edges. + +2022-07-19 Martin Liska <mliska@suse.cz> + + * doc/extend.texi: Remove trailing :. + +2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type + instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR. + +2022-07-19 Richard Biener <rguenther@suse.de> + + PR middle-end/106331 + * builtins.cc (get_memory_rtx): Compute alignment from + the original address and set MEM_OFFSET to unknown when + we create a MEM_EXPR from the base object of the address. + +2022-07-19 Richard Biener <rguenther@suse.de> + + PR lto/106334 + * dwarf2out.cc (dwarf2out_register_external_die): Allow + map entry re-use during WPA. + +2022-07-19 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR c/106264 + * builtins.cc (fold_builtin_frexp): Call suppress_warning on + COMPOUND_EXPR to silence spurious warning if result isn't used. + (fold_builtin_modf): Likewise. + (do_mpfr_remquo): Likewise. + +2022-07-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_rtx_costs): + Change the relative cost of '(set (reg) (const_int N))' where + N fits into signed 12-bit from 4 to 0 if optimizing for size. + And use the appropriate macro instead of the bare number 4. + +2022-07-18 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106280 + * value-relation.cc (dom_oracle::register_relation): Register + transitives only when it is possible for there to be one. + (dom_oracle::set_one_relation): Return NULL if this is an + existing relation. + +2022-07-18 Maciej W. Rozycki <macro@embecosm.com> + + * doc/invoke.texi (RISC-V Options): Add index references for + `mrelax' and `mriscv-attribute'. + +2022-07-18 Maciej W. Rozycki <macro@embecosm.com> + + * doc/invoke.texi (Option Summary): Add missing second space + around `-mstack-protector-guard-reg='. + +2022-07-18 Maciej W. Rozycki <macro@embecosm.com> + + * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'. + (RISC-V Options): Likewise, and `-mriscv-attribute'. + +2022-07-18 Claudiu Zissulescu <claziss@gmail.com> + + * config/arc/arc-arch.h (arc_tune_attr): Add + ARC_TUNE_ARCHS4X_REL31A variant. + * config/arc/arc.cc (arc_override_options): Tune options for + release 310a. + (arc_sched_issue_rate): Use correct enum. + (arc600_corereg_hazard): Textual change. + (arc_hazard): Add release 310a tunning. + * config/arc/arc.md (tune): Update and take into consideration new + tune option. + (tune_dspmpy): Likewise. + (tune_store): New attribute. + * config/arc/arc.opt (mtune): New tune option. + * config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units. + (hs4x_brcc_op): New instruction rezervation. + (hs4x_data_store_1_op): Likewise. + * config/arc/arc-cpus.def (hs4x_rel31): New cpu variant. + * config/arc/arc-tables.opt: Regenerate. + * config/arc/t-multilib: Likewise. + * doc/invoke.texi (ARC): Update mcpu and tune sections. + +2022-07-18 Richard Biener <rguenther@suse.de> + + * tree-loop-distribution.cc (loop_distribution::distribute_loop): + When computing cost-based merging do not disregard builtin + classified partitions in some cases. + +2022-07-18 Richard Sandiford <richard.sandiford@arm.com> + + PR target/106253 + * config/arm/arm-builtins.cc (arm_builtin_vectorized_function): + Delete. + * config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete. + * config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): + Delete. + * config/arm/arm_neon_builtins.def (copysignf): Delete. + * config/arm/iterators.md (nvrint_pattern): New attribute. + * config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2): + New pattern. + (l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2): + Likewise. + (neon_copysignf<mode>): Rename to... + (copysign<mode>3): ...this. + +2022-07-18 Claudiu Zissulescu <claziss@gmail.com> + + * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame + pointer first when in interrupts. + +2022-07-18 Richard Biener <rguenther@suse.de> + + * tree-loop-distribution.cc (copy_loop_before): Add + the ability to replace the original LC PHI defs. + (generate_loops_for_partition): Pass through a flag + whether to redirect original LC PHI defs. + (generate_code_for_partition): Likewise. + (loop_distribution::distribute_loop): Compute the partition + that should provide the LC PHI defs for common reductions + and pass that down. + +2022-07-18 Richard Ball <richard.ball@arm.com> + + * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap. + (aarch64_evpc_uzp): Likewise. + (aarch64_evpc_zip): Likewise. + +2022-07-18 Roger Sayle <roger@nextmovesoftware.com> + + PR target/106231 + * config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split + to recognize any_extend:DI of ctz:SI which is implicitly extended. + (*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode + extended ctz:SI that has preceding xor to break false dependency. + +2022-07-18 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/predicates.md (x86_64_const_vector_operand): + Check the operand's mode matches the specified mode argument. + +2022-07-18 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec. + (kunpcksi): Likewise, add UNSPEC_MASKOP unspec. + (kunpckdi): Likewise, add UNSPEC_MASKOP unspec. + (vec_pack_trunc_qi): Update to specify the now required + UNSPEC_MASKOP unspec. + (vec_pack_trunc_<mode>): Likewise. + +2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md + (*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2, + *masktrue_const_shifted_mask): If the immediate for bitwise AND is + represented as '-(1 << N)', decrease the lower bound of N from 12 + to 1. And the other immediate for conditional branch is now no + longer limited to zero, but also one of some positive integers. + Finally, remove the checks of some conditions, because the comparison + expressions that don't satisfy such checks are determined as + compile-time constants and thus will be optimized away before + RTL expansion. + +2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove. + (xtensa_constantsynth_2insn): Change to try all three synthetic + methods and to use the one that fits the immediate value of + the seed into a Narrow Move Immediate instruction "MOVI.N" + when the Code Density Option is configured. + +2022-07-15 H.J. Lu <hjl.tools@gmail.com> + + PR target/85620 + * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return + false if callee has indirect_return attribute and caller + doesn't. + +2022-07-15 Roger Sayle <roger@nextmovesoftware.com> + + PR target/106273 + * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the + constraints to reflect the output is earlyclobber, unless it is + the same register (pair) as one of the operands. + +2022-07-15 David Malcolm <dmalcolm@redhat.com> + + * doc/invoke.texi (Static Analyzer Options): Add the new fd + warnings to the initial gccoptlist, and to the list of those + disabled by -fanalyzer-checker=taint. + +2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-builtins.cc + (enum aarch64_type_qualifiers): Remove qualifier_internal. + (aarch64_init_simd_builtin_functions): Remove qualifier_internal check. + +2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-builtins.cc + (v1di_UP): Add V1DI mode to _UP macros. + * config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode. + * config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode. + * config/aarch64/aarch64-simd.md + (vec_extractv2dfv1df): Replace with... + (vec_extract<mode><V1half>): ...this. + * config/aarch64/aarch64.cc + (aarch64_classify_vector_mode): Add V1DI mode. + * config/aarch64/iterators.md + (VQ_2E, V1HALF, V1half): New. + (nunits): Add V1DI mode. + +2022-07-15 Roger Sayle <roger@nextmovesoftware.com> + + PR target/106278 + * config/i386/i386-features.cc (general_scalar_chain::convert_insn): + Fix indentation whitespace. + (timode_scalar_chain::fix_debug_reg_uses): Likewise. + (timode_scalar_chain::convert_insn): Delete dead code. + Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI. + Fix indentation whitespace. + (convertible_comparison_p): Likewise. + (timode_scalar_to_vector_candidate_p): Likewise. + +2022-07-15 Aldy Hernandez <aldyh@redhat.com> + + * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange. + +2022-07-15 Aldy Hernandez <aldyh@redhat.com> + + * Makefile.in (OBJS): Add value-range-pretty-print.o. + * pretty-print.h (pp_vrange): New. + * value-range.cc (vrange::dump): Call pp version. + (unsupported_range::dump): Move to its own file. + (dump_bound_with_infinite_markers): Same. + (irange::dump): Same. + (irange::dump_bitmasks): Same. + (vrange::debug): Remove. + * value-range.h: Remove virtual designation for dump methods. + Remove dump_bitmasks method. + * value-range-pretty-print.cc: New file. + * value-range-pretty-print.h: New file. + +2022-07-15 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (irange::accept): New. + (unsupported_range::accept): New. + * value-range.h (class vrange_visitor): New. + (class vrange): Add accept method. + (class unsupported_range): Same. + (class Value_Range): Same. + +2022-07-15 Jonathan Wakely <jwakely@redhat.com> + + * diagnostic-format-json.cc (json_from_location_range): Adjust + to new label_text API. + * diagnostic-format-sarif.cc (sarif_builder::make_location_object): + Likewise. + * diagnostic-show-locus.cc (struct pod_label_text): Likewise. + (layout::print_any_labels): Likewise. + * tree-diagnostic-path.cc (class path_label): Likewise. + (struct event_range): Likewise. + (default_tree_diagnostic_path_printer): Likewise. + (default_tree_make_json_for_path): Likewise. + +2022-07-15 konglin1 <lingling.kong@intel.com> + + PR target/106113 + * config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd} + comparison due to intrinsics changed over time. + * config/i386/i386-expand.cc (ix86_ssecom_setcc): + Add unordered check and mode for sse comi codegen. + (ix86_expand_sse_comi): Add unordered check and check a different + CCmode. + (ix86_expand_sse_comi_round):Extract unordered check and mode part + in ix86_ssecom_setcc. + +2022-07-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use + op_mode instead of vmode in calls to force_reg for op0 and op1. + +2022-07-14 H.J. Lu <hjl.tools@gmail.com> + + PR tree-optimization/103798 + * tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h". + (simplify_builtin_call): Inline memchr with constant strings of + no more than the bytes of a word. + * tree-ssa-strlen.cc (use_in_zero_equality): Make it global. + * tree-ssa-strlen.h (use_in_zero_equality): New. + +2022-07-14 Eric Botcazou <ebotcazou@adacore.com> + + * gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter + and set DECL_NOT_GIMPLE_REG_P on the variable according to it. + (internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and + pass it in the call to lookup_tmp_var. + (get_formal_tmp_var): Pass false in the call to lookup_tmp_var. + (get_initialized_tmp_var): Likewise. + (prepare_gimple_addressable): Call internal_get_tmp_var instead of + get_initialized_tmp_var with NOT_GIMPLE_REG set to true. + +2022-07-14 Martin Liska <mliska@suse.cz> + + * doc/gimple.texi: Close properly a deftypefn. + +2022-07-14 Martin Liska <mliska@suse.cz> + + * doc/gimple.texi: Close properly a deftypefn. + +2022-07-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md: + In FP constant synthesis split pattern, subcontract to + avoid_constant_pool_reference() as in the case of integer, + because it can handle well too. And cast to int32_t before + calling xtensa_constantsynth() in order to ignore upper 32-bit. + +2022-07-13 Aldy Hernandez <aldyh@redhat.com> + + * range-op.cc (operator_lt::fold_range): Use nonzero bits. + +2022-07-13 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (irange::copy_to_legacy): Set nonzero mask. + (irange::legacy_intersect): Clear nonzero mask. + (irange::legacy_union): Same. + (irange::invert): Same. + +2022-07-13 Richard Biener <rguenther@suse.de> + + * tree-ssa-dom.h (record_temporary_equivalences): Remove. + * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New. + (dom_jt_state::get_blocks_on_stack): Likewise. + (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state. + (back_propagate_equivalences): Remove dominator bitmap + compute and instead use passed in m_blocks_on_stack. + (record_temporary_equivalences): Likewise. + (record_equivalences_from_incoming_edge): Likewise. + (dom_opt_dom_walker::before_dom_children): Maintain and + pass down blocks on stack. + (dom_opt_dom_walker::after_dom_children): Likewise. + +2022-07-13 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-builtins.cc + (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE. + +2022-07-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106249 + * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): + Only verify LC SSA of the new_loop if we created it. + Use TODO_update_ssa_nophi for the SSA update after versioning + the loop. + +2022-07-12 Aldy Hernandez <aldyh@redhat.com> + + * range-op.cc (unsigned_singleton_p): Remove. + (operator_bitwise_and::remove_impossible_ranges): Remove. + (operator_bitwise_and::fold_range): Set nonzero bits. * + * value-range.cc (irange::get_nonzero_bits): Remove + legacy_mode_p assert. + (irange::dump_bitmasks): Remove legacy_mode_p check. + +2022-07-12 Richard Sandiford <richard.sandiford@arm.com> + + PR target/106253 + * predict.h (insn_optimization_type): Declare. + * predict.cc (insn_optimization_type): New function. + * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND) + (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL) + (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions. + * internal-fn.cc (unary_convert_direct): New macro. + (expand_convert_optab_fn): New function. + (expand_unary_convert_optab_fn): New macro. + (direct_unary_convert_optab_supported_p): Likewise. + * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to + convert_optab_handler. + * config/aarch64/aarch64-protos.h + (aarch64_builtin_vectorized_function): Delete. + * config/aarch64/aarch64-builtins.cc + (aarch64_builtin_vectorized_function): Delete. + * config/aarch64/aarch64.cc + (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete. + * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab. + * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove + optimize_insn_for_size_p test. + +2022-07-12 Richard Biener <rguenther@suse.de> + + * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi): + Remove. + (vect_do_peeling): Do not call it, adjust comment. + +2022-07-12 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-builtins.cc + (aarch64_builtin_vectorized_function): Remove handling of + floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz. + +2022-07-11 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106234 + * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator + cache value before recursively resolving it. + +2022-07-11 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-features.h (scalar_chain): Add fields + insns_conv, n_sse_to_integer and n_integer_to_sse to this + parent class, moved from general_scalar_chain. + (scalar_chain::convert_compare): Protected method moved + from general_scalar_chain. + (mark_dual_mode_def): Make protected, not private virtual. + (scalar_chain:convert_op): New private virtual method. + (general_scalar_chain::general_scalar_chain): Simplify constructor. + (general_scalar_chain::~general_scalar_chain): Delete destructor. + (general_scalar_chain): Move insns_conv, n_sse_to_integer and + n_integer_to_sse fields to parent class, scalar_chain. + (general_scalar_chain::mark_dual_mode_def): Delete prototype. + (general_scalar_chain::convert_compare): Delete prototype. + (timode_scalar_chain::compute_convert_gain): Remove simplistic + implementation, convert to a method prototype. + (timode_scalar_chain::mark_dual_mode_def): Delete prototype. + (timode_scalar_chain::convert_op): Prototype new virtual method. + * config/i386/i386-features.cc (scalar_chain::scalar_chain): + Allocate insns_conv and initialize n_sse_to_integer and + n_integer_to_sse fields in constructor. + (scalar_chain::scalar_chain): Free insns_conv in destructor. + (general_scalar_chain::general_scalar_chain): Delete + constructor, now defined in the class declaration. + (general_scalar_chain::~general_scalar_chain): Delete destructor. + (scalar_chain::mark_dual_mode_def): Renamed from + general_scalar_chain::mark_dual_mode_def. + (timode_scalar_chain::mark_dual_mode_def): Delete. + (scalar_chain::convert_compare): Renamed from + general_scalar_chain::convert_compare. + (timode_scalar_chain::compute_convert_gain): New method to + determine the gain from converting a TImode chain to V1TImode. + (timode_scalar_chain::convert_op): New method to convert an + operand from TImode to V1TImode. + (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE + on REG_EQUAL notes that were originally TImode (not CONST_INT). + Handle AND, ANDN, XOR, IOR, NOT and COMPARE. + (timode_mem_p): Helper predicate to check where operand is + memory reference with sufficient alignment for TImode STV. + (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p + to check whether COMPARE is convertible. Handle SET_DESTs that + that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT, + CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT. + +2022-07-11 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/106250 + * tree-vect-loop.cc (vectorizable_reduction): Reinstate final + argument to directly_supported_p. + +2022-07-11 Richard Biener <rguenther@suse.de> + + * tree-into-ssa.cc (update_ssa): Do not forcefully + re-compute dominance fast queries for TODO_update_ssa_no_phi. + +2022-07-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106228 + * tree-vect-data-refs.cc (vect_setup_realignment): Adjust + VUSE compute for the non-loop case. + +2022-07-11 Richard Biener <rguenther@suse.de> + + * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New. + (rewrite_update_dom_walker::rewrite_update_dom_walker): Update. + (rewrite_update_dom_walker::m_in_region_flag): New. + (rewrite_update_dom_walker::before_dom_children): If the region + to update is marked, STOP at exits. + (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region + to be updated. + (dump_update_ssa): Use bitmap_empty_p. + (update_ssa): Likewise. Use REWRITE_UPDATE_REGION when + TODO_update_ssa_no_phi. + * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account + pending update_ssa to the caller. + +2022-07-11 Richard Biener <rguenthert@suse.de> + + PR target/105459 + * config/i386/i386-options.cc (ix86_set_current_function): + Rebuild the target optimization node whenever necessary, + not only when the optimization node didn't change. + +2022-07-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106228 + * tree-vect-data-refs.cc (vect_setup_realignment): Properly + set a VUSE operand on the emitted load. + +2022-07-11 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range.cc (gimple_ranger::export_global_ranges): Remove + verification against legacy value_range. + (gimple_ranger::register_inferred_ranges): Same. + (gimple_ranger::export_global_ranges): Rename update_global_range + to set_range_info. + * tree-core.h (struct range_info_def): Remove. + (struct irange_storage_slot): New. + (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation. + (struct tree_ssa_name): Add vrange_storage support. + * tree-ssanames.cc (range_info_p): New. + (range_info_fits_p): New. + (range_info_alloc): New. + (range_info_free): New. + (range_info_get_range): New. + (range_info_set_range): New. + (set_range_info_raw): Remove. + (set_range_info): Adjust to use vrange_storage. + (set_nonzero_bits): Same. + (get_nonzero_bits): Same. + (duplicate_ssa_name_range_info): Remove overload taking + value_range_kind. + Rewrite tree overload to use vrange_storage. + (duplicate_ssa_name_fn): Adjust to use vrange_storage. + * tree-ssanames.h (struct range_info_def): Remove. + (set_range_info): Adjust prototype to take vrange. + * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call + duplicate_ssa_name_range_info. + * tree.h (SSA_NAME_ANTI_RANGE_P): Remove. + (SSA_NAME_RANGE_TYPE): Remove. + * value-query.cc (get_ssa_name_range_info): Adjust to use + vrange_storage. + (update_global_range): Remove. + (get_range_global): Remove as_a<irange>. + * value-query.h (update_global_range): Remove. + * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges): + Rename update_global_range to set_range_info. + * value-range-storage.cc (vrange_storage::alloc_slot): Remove + gcc_unreachable. + +2022-07-10 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (irange::operator=): Call verify_range. + (irange::irange_set): Normalize kind after everything else has + been set. + (irange::irange_set_anti_range): Same. + (irange::set): Same. + (irange::verify_range): Disallow nonzero masks for VARYING. + (irange::irange_union): Call verify_range. + Handle nonzero masks better. + (irange::irange_intersect): Same. + (irange::set_nonzero_bits): Calculate mask if either range has an + explicit mask. + (irange::intersect_nonzero_bits): Same. + (irange::union_nonzero_bits): Same. + (range_tests_nonzero_bits): New. + (range_tests): Call range_tests_nonzero_bits. + * value-range.h (class irange): Remove set_nonzero_bits method + with trees. + (irange::varying_compatible_p): Set nonzero mask. + +2022-07-10 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (<any_div>di3_fake): Describe + the sign-extend of result in the RTL template. + (<any_div><mode>3): Adjust for <any_div>di3_fake change. + +2022-07-10 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.cc (loongarch_check_zero_div_p): + Remove static, for use in the machine description file. + * config/loongarch/loongarch-protos.h: + (loongarch_check_zero_div_p): Add prototype. + * config/loongarch/loongarch.md (enabled): New attr. + (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for + idiv. Conditionally enable the alternatives using + loongarch_check_zero_div_p. + (<optab>di3_fake): Likewise. + +2022-07-10 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w + instead of mul.d. + +2022-07-09 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (irange::irange_single_pair_union): Set + VR_VARYING when appropriate. + +2022-07-09 Vit Kabele <vit.kabele@sysgo.com> + + * stor-layout.cc (finalize_record_size): Extend warning message. + +2022-07-09 Sam Feifer <sfeifer@redhat.com> + + PR tree-optimization/98304 + * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification. + +2022-07-09 Jeff Law <jeffreyalaw@gmail.com> + + * expr.cc (store_expr): Identify trailing NULs in a STRING_CST + initializer and use clear_storage rather than copying the + NULs to the destination array. + +2022-07-09 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.md (define_peephole2): Use match_operand of + flags_reg_operand to capture and preserve the mode of FLAGS_REG. + (define_peephole2): Likewise. + (define_peephole2): Likewise... + +2022-07-09 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-features.cc (convert_compare): Add support + for *testdi_not_doubleword pattern, "(compare (and (not ...)))" + by generating a pandn followed by ptest. + (convertible_comparison_p): Recognize both *cmpdi_doubleword and + recent *testdi_not_doubleword comparison patterns. + +2022-07-09 Tamar Christina <tamar.christina@arm.com> + + * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to + indicate that the value is not undefined. + +2022-07-09 Andrew Pinski <apinski@marvell.com> + + PR tree-optimization/106087 + * tree-ssa-dce.cc (simple_dce_from_worklist): Check + to make sure the statement is only defining one operand. + +2022-07-08 Lewis Hyatt <lhyatt@gmail.com> + + PR preprocessor/91733 + * input.cc (find_end_of_line): New helper function. + (file_cache_slot::get_next_line): Recognize \r as a line ending. + * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest + since \r will now be interpreted as a line-ending. + +2022-07-08 Martin Liska <mliska@suse.cz> + + PR sanitizer/106132 + * opts.cc (finish_options): Use 2 calls to + report_conflicting_sanitizer_options. + +2022-07-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106226 + * tree-vect-loop-manip.cc (vect_do_peeling): Assert that + no SSA update is needed. Move virtual SSA update ... + * tree-vectorizer.cc (pass_vectorize::execute): ... here, + via forced virtual renaming when TODO_update_ssa_only_virtuals + is queued. + (vect_transform_loops): Return TODO_update_ssa_only_virtuals + when virtual SSA update is required. + (try_vectorize_loop_1): Adjust. + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow + virtual renaming if the ABI forces an aggregate return + but the original call did not have a virtual definition. + +2022-07-08 Martin Liska <mliska@suse.cz> + + * toplev.cc (init_asm_output): Do not init asm_out_file. + +2022-07-08 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/106063 + * match.pd: Do not apply pattern after veclower is not supported. + +2022-07-08 Thomas Schwinge <thomas@codesourcery.com> + + * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct + 'fn2' computation. + +2022-07-08 Tamar Christina <tamar.christina@arm.com> + + * expmed.cc (store_bit_field_1): Add parameter that indicates if value is + still undefined and if so emit a subreg move instead. + (store_integral_bit_field): Likewise. + (store_bit_field): Likewise. + * expr.h (write_complex_part): Likewise. + * expmed.h (store_bit_field): Add new parameter. + * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new + parameter. + (expand_ifn_atomic_compare_exchange): Likewise. + * calls.cc (store_unaligned_arguments_into_pseudos): Likewise. + * emit-rtl.cc (validate_subreg): Likewise. + * expr.cc (emit_group_store): Likewise. + (copy_blkmode_from_reg): Likewise. + (copy_blkmode_to_reg): Likewise. + (clear_storage_hints): Likewise. + (write_complex_part): Likewise. + (emit_move_complex_parts): Likewise. + (expand_assignment): Likewise. + (store_expr): Likewise. + (store_field): Likewise. + (expand_expr_real_2): Likewise. + * ifcvt.cc (noce_emit_move_insn): Likewise. + * internal-fn.cc (expand_arith_set_overflow): Likewise. + (expand_arith_overflow_result_store): Likewise. + (expand_addsub_overflow): Likewise. + (expand_neg_overflow): Likewise. + (expand_mul_overflow): Likewise. + (expand_arith_overflow): Likewise. + +2022-07-08 Haochen Jiang <haochen.jiang@intel.com> + + PR target/106180 + * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1): + Rename from *sse2_cvtps2pd<mask_name>_1. + (vec_unpacks_lo_v4sf): Add handler for memory operand. + +2022-07-08 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_compute_frame_info): + Modify fp_sp_offset and gp_sp_offset's calculation method, + when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD + or UNITS_PER_FP_REG. + +2022-07-07 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-json.cc (json_from_location_range): Update for + removal of label_text::maybe_free in favor of automatic memory + management. + * diagnostic-format-sarif.cc + (sarif_builder::make_location_object): Likewise. + * diagnostic-show-locus.cc (struct pod_label_text): New. + (class line_label): Convert m_text from label_text to pod_label_text. + (layout::print_any_labels): Move "text" to the line_label. + * tree-diagnostic-path.cc (path_label::get_text): Update for + removal of label_text::maybe_free in favor of automatic memory + management. + (event_range::print): Likewise. + (default_tree_diagnostic_path_printer): Likewise. + (default_tree_make_json_for_path): Likewise. + +2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + * statistics.cc (get_function_name): Add check to see if fn is not NULL. + +2022-07-07 Richard Biener <rguenther@suse.de> + + * tree-into-ssa.cc (iterating_old_ssa_names): New. + (add_new_name_mapping): Grow {new,old}_ssa_names separately + and only when actually needed. Assert we are not growing + the old_ssa_names set when iterating over it. + (update_ssa): Remove old_ssa_names copying and empty_p + query, note we are iterating over it and expect no set changes. + +2022-07-07 Thomas Schwinge <thomas@codesourcery.com> + + * config/i386/intelmic-mkoffload.cc (generate_host_descr_file) + (prepare_target_image, main): Handle OpenMP 'requires'. + (generate_host_descr_file): Switch to 'GOMP_offload_register_ver', + 'GOMP_offload_unregister_ver'. + +2022-07-07 Richard Biener <rguenther@suse.de> + + PR target/106219 + * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly + set DECL_PURE_P. + +2022-07-07 Richard Biener <rguenther@suse.de> + + * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the + number of LC PHIs inserted. + (add_exit_phis): Return whether any variable required + multiple LC PHI nodes. + (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi + when possible. + +2022-07-07 Richard Biener <rguenther@suse.de> + + * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take + the def loop exit block bitmap as argument instead of + re-computing it here. + (add_exit_phis_var): Adjust. + (loop_name_cmp): New function. + (add_exit_phis): Sort variables to insert LC PHI nodes + after definition loop, for each definition loop compute + the exit block bitmap once. + (get_loops_exit): Remove. + (rewrite_into_loop_closed_ssa_1): Do not pre-record + all loop exit blocks into bitmaps. Record loop exits + if required. + +2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com> + + * config/mips/mips.cc (mips_asan_shadow_offset): Reformat + to handle the N32 ABI. + * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove + the macro, as it is not needed anymore. + +2022-07-06 Thomas Schwinge <thomas@codesourcery.com> + + * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' -> + '[...]_data'. + * config/nvptx/mkoffload.cc (process): Likewise. + +2022-07-06 Thomas Schwinge <thomas@codesourcery.com> + + * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'. + +2022-07-05 Andrew MacLeod <amacleod@redhat.com> + + * value-relation.cc (relation_to_code): New vector. + (relation_oracle::validate_relation): New. + (set_relation): Allow ssa1 == ssa2 to be registered. + * value-relation.h (validate_relation): New prototype. + (query_relation): Make internal variant protected. + +2022-07-05 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs + for double word comparisons and tests (comparisons against zero). + * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI + and;cmp into andn;cmp $0 as a pre-reload splitter. + (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name. + (*<any_or><dwi>3_doubleword): Likewise. + +2022-07-05 Roger Sayle <roger@nextmovesoftware.com> + Hongtao Liu <hongtao.liu@intel.com> + + * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change + CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti. + * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode + and gen_ssse3_palignv1ti instead of TImode. + * config/i386/sse.md (SSESCALARMODE): Delete. + (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode. + (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode + iterator instead of SSESCALARMODE. + (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64, + using a single move instruction (if required). + +2022-07-05 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + PR rtl-optimization/96692 + * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D + as (X & ~Y) ^ Z on target BMI when either C or D is A or B. + +2022-07-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106198 + * tree-cfgcleanup.cc (repair_loop_structures): Always do a + full LC SSA rewrite but only if any blocks changed loop + depth. + +2022-07-05 Richard Biener <rguenther@suse.de> + + * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove. + (find_uses_to_rename_in_loop): Likewise. + (rewrite_into_loop_closed_ssa_1): Remove loop parameter and + uses. + (rewrite_into_loop_closed_ssa): Adjust. + +2022-07-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106186 + * tree-ssa-propagate.cc (clean_up_loop_closed_phi): + Properly handle virtual PHI nodes. + +2022-07-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106196 + * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly + handle aggregate returns of calls for VDEF updates. + +2022-07-05 Richard Biener <rguenther@suse.de> + + * tree-vect-loop-manip.cc (vect_set_loop_condition_normal): + Maintain LC SSA. + +2022-07-05 Richard Sandiford <richard.sandiford@arm.com> + + * tree-vect-patterns.cc (vect_convert_input): Expect the input + type to be signed for optab_vector_mixed_sign. Update the vectype + at the same time as type. + (vect_recog_dot_prod_pattern): Update accordingly. If usdot isn't + available, try sdot instead. + * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function. + (vect_model_reduction_cost): Model the cost of implementing usdot + using sdot. + (vectorizable_reduction): Likewise. Skip target support test + for lane reductions. + (vect_emulate_mixed_dot_prod): New function. + (vect_transform_reduction): Use it to emulate usdot via sdot. + +2022-07-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106182 + * loop-init.cc (fix_loop_structure): Return the number + of newly discovered plus the number of deleted loops. + * tree-cfgcleanup.cc (repair_loop_structures): Adjust + variable name. + +2022-07-04 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-fold.cc + (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the + call to SCEV for irange supported types. + (fold_using_range::range_of_builtin_int_call): Convert to vrange. + * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same. + * tree-ssa-dom.cc (cprop_operand): Same. + +2022-07-04 Roger Sayle <roger@nextmovesoftware.com> + + PR target/104489 + * calls.cc (precompute_register_parameters): Allow promotion + of floating point values to be passed in wider integer modes + by calling new convert_float_to_wider_int. + (expand_call): Allow floating point results to be returned in + wider integer modes by calling new convert wider_int_to_float. + * cfgexpand.cc (expand_value_return): Allow backends to promote + a scalar floating point return value to a wider integer mode + by calling new convert_float_to_wider_int. + * expr.cc (convert_float_to_wider_int): New function. + (convert_wider_int_to_float): Likewise. + (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote + scalar FP PARM_DECLs to wider integer modes, by calling new + convert_wider_int_to_float. + * expr.h (convert_modes): Name arguments for improved documentation. + (convert_float_to_wider_int): Prototype new function here. + (convert_wider_int_to_float): Likewise. + * function.cc (assign_parm_setup_stack): Allow floating point + values to be passed on the stack as wider integer modes by + calling new convert_wider_int_to_float. + +2022-07-04 Martin Jambor <mjambor@suse.cz> + + PR tree-optimization/105860 + * tree-sra.cc (build_reconstructed_reference): Start expr + traversal only just below the outermost union. + +2022-07-04 Richard Biener <rguenther@suse.de> + + * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert + and update virtual SSA form again. Assert we do so for + a known set of transforms only. + * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New. + * tree-vect-stmts.cc (vectorizable_load): When vectorizing + using load-lanes allow virtual SSA update. + +2022-07-04 Tobias Burnus <tobias@codesourcery.com> + Chung-Lin Tang <cltang@codesourcery.com> + Thomas Schwinge <thomas@codesourcery.com> + + * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'. + (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver. + (main): Ask lto1 to obtain omp_requires_mask and pass it on. + * config/nvptx/mkoffload.cc (process, main): Likewise. + * lto-cgraph.cc (omp_requires_to_name): New. + (input_offload_tables): Save omp_requires_mask. + (output_offload_tables): Read it, check for consistency, + save value for mkoffload. + * omp-low.cc (lower_omp_target): Force output_offloadtables + call for OMP_REQUIRES_TARGET_USED. + +2022-07-04 Richard Biener <rguenther@suse.de> + + * tree-vect-loop-manip.cc (vect_do_peeling): Assert that + no SSA update is needed instead of updating virtual SSA + form. + * tree-vect-stmts.cc (vectorizable_load): For hoisted + invariant load use the loop entry virtual use. + For emulated gather loads use the virtual use of the + original stmt like vect_finish_stmt_generation would do. + +2022-07-04 Eric Botcazou <ebotcazou@adacore.com> + + * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard + for direct circularity. + +2022-07-04 Eric Botcazou <ebotcazou@adacore.com> + + * dwarf2out.cc (gen_array_type_die): Use the default lower bound of + the language for vector types. + +2022-07-04 Aldy Hernandez <aldyh@redhat.com> + + * value-range-storage.cc (irange_storage_slot::set_irange): Set + nonzero bits in irange. + (irange_storage_slot::get_irange): Get nonzero bits from irange. + * value-range.cc (irange::operator=): Set nonzero bits. + (irange::irange_set): Same. + (irange::irange_set_anti_range): Same. + (irange::set): Same. + (irange::verify_range): Same. + (irange::legacy_equal_p): Check nonzero bits. + (irange::equal_p): Same. + (irange::contains_p): Handle nonzero bits. + (irange::irange_union): Same. + (irange::irange_intersect): Same. + (irange::dump): Same. + (irange::set_nonzero_bits): New. + (irange::get_nonzero_bits): New. + (irange::intersect_nonzero_bits): New. + (irange::union_nonzero_bits): New. + (irange::dump_bitmasks): New. + * value-range.h (class irange): Add m_nonzero_mask. + (gt_ggc_mx): Handle nonzero bits. + (gt_pch_nx): Same. + (irange::set_undefined): Set nonzero bits. + (irange::set_varying): Same. + (irange::normalize_kind): Call set_undefined. + +2022-07-04 Richard Biener <rguenther@suse.de> + + * tree-ssa-loop-manip.h + (rewrite_virtuals_into_loop_closed_ssa): Remove. + (rewrite_into_loop_closed_ssa_1): Likewise. + * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1): + Make static. + (rewrite_into_loop_closed_ssa): Remove loop overload, + always rewrite virtuals into LC SSA. + (check_loop_closed_ssa_bb): Also check virtuals. + * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual + LC PHIs when in LC SSA. + * gimple-loop-jam.cc (fuse_loops): Do not rewrite into + loop-closed SSA here, but ... + (tree_loop_unroll_and_jam): ... here once. + * tree-if-conv.cc (version_loop_for_if_conversion): Use + the cheaper TODO_update_ssa_no_phi. + * tree-loop-distribution.cc (version_loop_by_alias_check): + Likewise. + * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop): + Likewise. + * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise. + (tree_unswitch_outer_loop): Do not rewrite virtuals into + LC ssa. + * tree-parloops.cc (transform_to_exit_first_loop_alt): + Likewise. + (pass_parallelize_loops::execute): After finishing rewrite + into LC SSA again because we do not maintain it properly. + +2022-07-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106055 + * graphite.cc (canonicalize_loop_closed_ssa): Check whether + we can propagate. + +2022-07-04 Haochen Jiang <haochen.jiang@intel.com> + + PR target/43618 + * config/i386/sse.md (extendv2sfv2df2): New define_expand. + (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1]. + (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2. + +2022-07-04 Aldy Hernandez <aldyh@redhat.com> + + * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=. + * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same. + * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set + with two arguments. + (find_unswitching_predicates_for_bb): Same. + * tree-vrp.cc (range_fold_unary_symbolics_p): Same. + * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==. + * value-range.cc (irange::equal_p): Rename to... + (irange::operator==): ...this. + * value-range.h (irange::set): Remove. + (irange::operator==): Remove. + (irange::set_zero): Use set with two arguments. + * vr-values.cc (vr_values::extract_range_from_binary_expr): Same. + (vr_values::extract_range_from_unary_expr): Same. + (check_for_binary_op_overflow): Same. + (bounds_of_var_in_loop): Same. + +2022-07-03 H.J. Lu <hjl.tools@gmail.com> + + PR target/106022 + * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer): + New. + * config/i386/i386.cc (ix86_convert_const_vector_to_integer): + New. + * config/i386/mmx.md (V_16_32_64): New. + (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit + and 64-bit constant vector. + * config/i386/predicates.md (x86_64_const_vector_operand): New. + +2022-07-03 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-cache.cc: Include value-range-storage.h. + * gimple-range-cache.h (class block_range_cache): Add "class" to + m_range_allocator. + * gimple-range-edge.cc + (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator. + (gimple_outgoing_range::~gimple_outgoing_range): Free allocator. + (gimple_outgoing_range::calc_switch_ranges): Dereference allocator. + * gimple-range-edge.h: Add "class" to m_range_allocator. + * gimple-range-infer.cc + (infer_range_manager::infer_range_manager): Allocate allocator. + (infer_range_manager::~infer_range_manager): Free allocator. + (infer_range_manager::get_nonzero): Dereference allocator. + (infer_range_manager::add_range): Same. + * gimple-range-infer.h (class vrange_allocator): Add "class" to + m_range_allocator. + * value-range-storage.h (class vrange_allocator): Move from + value-range.h. + (class obstack_vrange_allocator): Same. + (class ggc_vrange_allocator): Same. + (vrange_allocator::alloc_vrange): Same. + (vrange_allocator::alloc_irange): Same. + * value-range.h (class vrange_allocator): Move to value-range-storage.h. + (class obstack_vrange_allocator): Same. + (class ggc_vrange_allocator): Same. + +2022-07-03 Aldy Hernandez <aldyh@redhat.com> + + * Makefile.in (OBJS): Add value-range-storage.o. + (GTFILES): Add value-range-storage.h. + * gengtype.cc (open_base_files): Add value-range-storage.h. + * value-range-storage.cc: New file. + * value-range-storage.h: New file. + +2022-07-03 Xi Ruoyao <xry111@xry111.site> + Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_check_zero_div_p): + New static function. + (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead + of TARGET_CHECK_ZERO_DIV. + (loongarch_output_division): Likewise. + * common/config/loongarch/loongarch-common.cc + (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook. + * doc/invoke.texi: Update to match the new behavior. + +2022-07-03 Ian Lance Taylor <iant@golang.org> + + * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping + statement if -fdelete-dead-exceptions. + +2022-07-02 Tim Lange <mail@tim-lange.me> + + PR analyzer/105900 + * doc/invoke.texi: Added Wanalyzer-allocation-size. + +2022-07-02 Immad Mir <mirimmad17@gmail.com> + + PR analyzer/106003 + * Makefile.in (ANALYZER_OBJS): Add sm-fd.o. + * doc/invoke.texi: Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak, + -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check, + -Wanalyzer-fd-use-after-close. + +2022-07-01 Aldy Hernandez <aldyh@redhat.com> + + * wide-int.h (struct trailing_wide_ints): Add m_num_elements. + (trailing_wide_ints::set_precision): Add num_elements argument. + (trailing_wide_ints::extra_size): Same. + +2022-07-01 Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (*andn<mode>3_doubleword_bmi): + Use "r" constraint for operand 1. + +2022-07-01 Richard Biener <rguenther@suse.de> + + * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children): + Do not look at interesting_blocks which is a copy of + blocks_to_update. + (update_ssa): Do not initialize it. + (pass_build_ssa::execute): Set interesting_blocks to NULL + after releasing it. + +2022-07-01 Richard Biener <rguenther@suse.de> + + * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert + back to using maybe_ne (off, -1). + +2022-07-01 Richard Biener <rguenther@suse.de> + + * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make + checking dominance check conditional on flag_checking. + +2022-07-01 Tobias Burnus <tobias@codesourcery.com> + + * config/gcn/gcn-protos.h (print_operand_address): Remove register + keyword on 'rtx addr' argument. + +2022-07-01 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints + to post-reload define_insn_and_split. + +2022-07-01 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/106144 + * wide-int.cc (wi::shifted_mask): If end >= prec, return right after + emitting element for shift or if shift is 0 first element after start. + (wide_int_cc_tests): Add tests for equivalency of wi::mask and + wi::shifted_mask with 0 start. + +2022-07-01 Roger Sayle <roger@nextmovesoftware.com> + + PR target/106122 + * config/i386/i386.md (peephole2): Avoid generating pop %esp + when optimizing for size. + +2022-07-01 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (general_szext_operand): Add TImode + support using x86_64_hilo_general_operand predicate. + (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate. + (*add<dwi>3_doubleword): Improved optimization of zero addition. + (and<mode>3): Use SDWIM mode iterator to add support for double + word bit-wise AND in TImode. Use force_reg when double word + immediate operand isn't x86_64_hilo_general_operand. + (and<dwi>3_doubleword): Generalized from anddi3_doubleword and + converted into a post-reload splitter. + (*andndi3_doubleword): Previous define_insn deleted. + (*andn<mode>3_doubleword_bmi): New define_insn_and_split for + TARGET_BMI that splits post-reload. + (*andn<mode>3_doubleword): New define_insn_and_split for + !TARGET_BMI, that lowers/splits before reload. + (<any_or><mode>3): Use SDWIM mode iterator to add suppport for + double word bit-wise XOR and bit-wise IOR in TImode. Use + force_reg when double word immediate operand isn't + x86_64_hilo_general_operand. + (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword. + (one_cmpl<mode>2): Use SDWIM mode iterator to add support for + double word bit-wise NOT in TImode. + (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword + and converted into a post-reload splitter. + +2022-07-01 Eric Botcazou <ebotcazou@adacore.com> + + PR middle-end/105874 + * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force + EXPAND_MEMORY for the expansion of the inner reference only + in the usual cases where a memory reference is required. + +2022-07-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106131 + * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set + zero when offsetting the read looking through an aggregate + copy. + +2022-07-01 Martin Liska <mliska@suse.cz> + + PR tree-optimization/106126 + * gimple-if-to-switch.cc (struct condition_info): Save + has_side_effect. + (find_conditions): Parse all BBs. + (pass_if_to_switch::execute): Allow only side effects for first + BB. + +2022-07-01 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET): + Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove + OPTION_MASK_ISA2_AVX512BF16_UNSET and + OPTION_MASK_ISA2_AVX512FP16_UNSET. + +2022-06-30 Joseph Myers <joseph@codesourcery.com> + + PR lto/106129 + * lto-wrapper.cc (find_option): Add argument start. + (merge_and_complain): Loop over existing_opt_index and + existing_opt2_index for Xassembler check. Update calls to + find_option. + (find_and_merge_options): Add argument first to determine whether + to merge options with those passed in *opts. + (run_gcc): Update calls to find_and_merge_options. + +2022-06-30 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-cache.cc (block_range_cache::block_range_cache): + Rename vrange_allocator to obstack_vrange_allocator. + (ssa_global_cache::ssa_global_cache): Same. + * gimple-range-edge.h (class gimple_outgoing_range): Same. + * gimple-range-infer.h (class infer_range_manager): Same. + * value-range.h (class vrange_allocator): Make abstract. + (class obstack_vrange_allocator): Inherit from vrange_allocator. + (class ggc_vrange_allocator): New. + +2022-06-30 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (swap_mode): Rename from *swap<mode> to + provide gen_swapsi. + (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits + via new gen_<insn>32di2_doubleword below. + (<anyrotate>32di2_doubleword): New define_insn_and_split + that splits after reload as either a pair of move instructions + or an xchgl (using gen_swapsi). + +2022-06-30 Richard Biener <rguenther@suse.de> + + * domwalk.h (dom_walker::dom_walker): Update comment to + reflect reality and new special argument value for + bb_index_to_rpo. + * domwalk.cc (dom_walker::dom_walker): Recognize -1 + bb_index_to_rpo. + * tree-into-ssa.cc + (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell + dom_walker to not use RPO. + +2022-06-30 Martin Liska <mliska@suse.cz> + + * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as + it is unused. + +2022-06-30 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106114 + * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check + statement operands instead of GORI cache. + +2022-06-30 Antoni Boucher <bouanto@zoho.com> + + PR target/106095 + * config/i386/sse.md: Fix asm generation. + +2022-06-29 Sergei Trofimovich <siarheit@google.com> + + PR c++/106102 + * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>. + +2022-06-29 Joseph Myers <joseph@codesourcery.com> + + * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM + not gen_const_mem for UNSPEC_PIC_CALL_SYM. + +2022-06-29 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/106082 + * combine.cc (distribute_notes): Preserve notes when + they indicate a call doesn't perform a non-local goto. + +2022-06-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106112 + * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend + a constant operand according to its type. + +2022-06-29 Martin Liska <mliska@suse.cz> + + * doc/invoke.texi: Remove removed evrp-mode. + +2022-06-29 Lulu Cheng <chenglulu@loongson.cn> + + PR target/106097 + * config/loongarch/loongarch.cc (loongarch_build_integer): + Remove undefined behavior from code. + +2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu> + + * doc/sourcebuild.texi: Document new no_alignment_constraints + effective target check. + +2022-06-28 Aldy Hernandez <aldyh@redhat.com> + + * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o. + * flag-types.h (enum evrp_mode): Remove. + * params.opt: Remove --param=evrp-mode. + * tree-vrp.cc (make_pass_early_vrp): New. + (pass_vrp::execute): Call early VRP instance. + * gimple-ssa-evrp-analyze.cc: Removed. + * gimple-ssa-evrp-analyze.h: Removed. + * gimple-ssa-evrp.cc: Removed. + +2022-06-28 Alexandre Oliva <oliva@adacore.com> + + * Makefile.in (TFLAGS): New. + (GCC_FOR_TARGET): Add TFLAGS. + (FLAGS_TO_PASS): Pass TFLAGS down. + +2022-06-28 Richard Biener <rguenther@suse.de> + + * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not + call update_ssa. + +2022-06-28 Richard Biener <rguenther@suse.de> + + * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use + mark_block_for_update. + (update_ssa): Adjust. + +2022-06-28 Xi Ruoyao <xry111@xry111.site> + + PR target/106096 + * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude + $r13 from SIBCALL_REGS. + * config/loongarch/loongarch.cc (loongarch_regno_to_class): + Change $r13 to JIRL_REGS. + +2022-06-28 Aldy Hernandez <aldyh@redhat.com> + + * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove + irange::supports_p. + +2022-06-28 Richard Biener <rguenther@suse.de> + + PR middle-end/106053 + * match.pd ((T)a == (T)b): Avoid folding away sign + changes in a comparison if we'd truncate to a boolean. + +2022-06-28 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode + iterator GPR with SImode, adjust the condition and output template, + rename to ... + (*rotlsi3_insert_4): ... this. + +2022-06-27 David Malcolm <dmalcolm@redhat.com> + + * genmatch.cc: Add "final" and "override" to various vfunc + implementations, removing redundant "virtual" as appropriate. + * gensupport.cc: Likewise. + * gimple-range-cache.h: Likewise. + * ipa-icf-gimple.h: Likewise. + * ipa-icf.h: Likewise. + * read-md.h: Likewise. + * read-rtl-function.cc: Likewise. + * tree-ssa-loop-ch.cc: Likewise. + * tree-ssa-sccvn.cc: Likewise. + +2022-06-27 David Malcolm <dmalcolm@redhat.com> + + * config/i386/i386-features.h: Add "final" and "override" to + scalar_chain vfunc implementations as appropriate. + +2022-06-27 David Malcolm <dmalcolm@redhat.com> + + * tree-switch-conversion.h: Add "final" and "override" to cluster + vfunc implementations as appropriate. + +2022-06-27 David Malcolm <dmalcolm@redhat.com> + + * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc + implementations as appropriate. + +2022-06-27 David Malcolm <dmalcolm@redhat.com> + + * compare-elim.cc: Add "final" and "override" to dom_walker vfunc + implementations, removing redundant "virtual" as appropriate. + * gimple-ssa-strength-reduction.cc: Likewise. + * ipa-prop.cc: Likewise. + * rtl-ssa/blocks.cc: Likewise. + * tree-into-ssa.cc: Likewise. + * tree-ssa-dom.cc: Likewise. + * tree-ssa-math-opts.cc: Likewise. + * tree-ssa-phiopt.cc: Likewise. + * tree-ssa-propagate.cc: Likewise. + * tree-ssa-sccvn.cc: Likewise. + * tree-ssa-strlen.cc: Likewise. + * tree-ssa-uncprop.cc: Likewise. + +2022-06-27 David Malcolm <dmalcolm@redhat.com> + + * adjust-alignment.cc: Add "final" and "override" to opt_pass + vfunc implementations, removing redundant "virtual" as + appropriate. + * asan.cc: Likewise. + * auto-inc-dec.cc: Likewise. + * auto-profile.cc: Likewise. + * bb-reorder.cc: Likewise. + * cfgcleanup.cc: Likewise. + * cfgexpand.cc: Likewise. + * cfgrtl.cc: Likewise. + * cgraphbuild.cc: Likewise. + * combine-stack-adj.cc: Likewise. + * combine.cc: Likewise. + * compare-elim.cc: Likewise. + * config/i386/i386-features.cc: Likewise. + * coroutine-passes.cc: Likewise. + * cprop.cc: Likewise. + * cse.cc: Likewise. + * dce.cc: Likewise. + * df-core.cc: Likewise. + * dse.cc: Likewise. + * dwarf2cfi.cc: Likewise. + * early-remat.cc: Likewise. + * except.cc: Likewise. + * final.cc: Likewise. + * function.cc: Likewise. + * fwprop.cc: Likewise. + * gcse.cc: Likewise. + * gimple-harden-conditionals.cc: Likewise. + * gimple-if-to-switch.cc: Likewise. + * gimple-isel.cc: Likewise. + * gimple-laddress.cc: Likewise. + * gimple-loop-interchange.cc: Likewise. + * gimple-loop-jam.cc: Likewise. + * gimple-loop-versioning.cc: Likewise. + * gimple-low.cc: Likewise. + * gimple-ssa-backprop.cc: Likewise. + * gimple-ssa-evrp.cc: Likewise. + * gimple-ssa-isolate-paths.cc: Likewise. + * gimple-ssa-nonnull-compare.cc: Likewise. + * gimple-ssa-split-paths.cc: Likewise. + * gimple-ssa-store-merging.cc: Likewise. + * gimple-ssa-strength-reduction.cc: Likewise. + * gimple-ssa-warn-access.cc: Likewise. + * gimple-ssa-warn-alloca.cc: Likewise. + * gimple-ssa-warn-restrict.cc: Likewise. + * gimple-warn-recursion.cc: Likewise. + * graphite.cc: Likewise. + * ifcvt.cc: Likewise. + * init-regs.cc: Likewise. + * ipa-comdats.cc: Likewise. + * ipa-cp.cc: Likewise. + * ipa-devirt.cc: Likewise. + * ipa-fnsummary.cc: Likewise. + * ipa-free-lang-data.cc: Likewise. + * ipa-icf.cc: Likewise. + * ipa-inline.cc: Likewise. + * ipa-modref.cc: Likewise. + * ipa-profile.cc: Likewise. + * ipa-pure-const.cc: Likewise. + * ipa-reference.cc: Likewise. + * ipa-split.cc: Likewise. + * ipa-sra.cc: Likewise. + * ipa-visibility.cc: Likewise. + * ipa.cc: Likewise. + * ira.cc: Likewise. + * jump.cc: Likewise. + * loop-init.cc: Likewise. + * lower-subreg.cc: Likewise. + * mode-switching.cc: Likewise. + * modulo-sched.cc: Likewise. + * multiple_target.cc: Likewise. + * omp-expand.cc: Likewise. + * omp-low.cc: Likewise. + * omp-oacc-kernels-decompose.cc: Likewise. + * omp-oacc-neuter-broadcast.cc: Likewise. + * omp-offload.cc: Likewise. + * omp-simd-clone.cc: Likewise. + * passes.cc: Likewise. + * postreload-gcse.cc: Likewise. + * postreload.cc: Likewise. + * predict.cc: Likewise. + * recog.cc: Likewise. + * ree.cc: Likewise. + * reg-stack.cc: Likewise. + * regcprop.cc: Likewise. + * reginfo.cc: Likewise. + * regrename.cc: Likewise. + * reorg.cc: Likewise. + * sancov.cc: Likewise. + * sanopt.cc: Likewise. + * sched-rgn.cc: Likewise. + * stack-ptr-mod.cc: Likewise. + * store-motion.cc: Likewise. + * tracer.cc: Likewise. + * trans-mem.cc: Likewise. + * tree-call-cdce.cc: Likewise. + * tree-cfg.cc: Likewise. + * tree-cfgcleanup.cc: Likewise. + * tree-complex.cc: Likewise. + * tree-eh.cc: Likewise. + * tree-emutls.cc: Likewise. + * tree-if-conv.cc: Likewise. + * tree-into-ssa.cc: Likewise. + * tree-loop-distribution.cc: Likewise. + * tree-nrv.cc: Likewise. + * tree-object-size.cc: Likewise. + * tree-parloops.cc: Likewise. + * tree-predcom.cc: Likewise. + * tree-profile.cc: Likewise. + * tree-sra.cc: Likewise. + * tree-ssa-ccp.cc: Likewise. + * tree-ssa-copy.cc: Likewise. + * tree-ssa-dce.cc: Likewise. + * tree-ssa-dom.cc: Likewise. + * tree-ssa-dse.cc: Likewise. + * tree-ssa-forwprop.cc: Likewise. + * tree-ssa-ifcombine.cc: Likewise. + * tree-ssa-loop-ch.cc: Likewise. + * tree-ssa-loop-im.cc: Likewise. + * tree-ssa-loop-ivcanon.cc: Likewise. + * tree-ssa-loop-prefetch.cc: Likewise. + * tree-ssa-loop-split.cc: Likewise. + * tree-ssa-loop-unswitch.cc: Likewise. + * tree-ssa-loop.cc: Likewise. + * tree-ssa-math-opts.cc: Likewise. + * tree-ssa-phiopt.cc: Likewise. + * tree-ssa-phiprop.cc: Likewise. + * tree-ssa-pre.cc: Likewise. + * tree-ssa-reassoc.cc: Likewise. + * tree-ssa-sccvn.cc: Likewise. + * tree-ssa-sink.cc: Likewise. + * tree-ssa-strlen.cc: Likewise. + * tree-ssa-structalias.cc: Likewise. + * tree-ssa-uncprop.cc: Likewise. + * tree-ssa-uninit.cc: Likewise. + * tree-ssanames.cc: Likewise. + * tree-stdarg.cc: Likewise. + * tree-switch-conversion.cc: Likewise. + * tree-tailcall.cc: Likewise. + * tree-vect-generic.cc: Likewise. + * tree-vectorizer.cc: Likewise. + * tree-vrp.cc: Likewise. + * tsan.cc: Likewise. + * ubsan.cc: Likewise. + * var-tracking.cc: Likewise. + * vtable-verify.cc: Likewise. + * web.cc: Likewise. + +2022-06-27 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds. + (jump): Likewise. + (movdi_symbol_save_scc): Likewise. + +2022-06-27 Roger Sayle <roger@nextmovesoftware.com> + + PR rtl-optimization/7061 + * config/i386/i386.md (*highpartdisi2): New define_insn_and_split. + +2022-06-27 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/94026 + * match.pd (((X << C1) & C2) eq/ne C3): New simplification. + (((X >> C1) & C2) eq/ne C3): Likewise. + +2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + * statistics.cc: Include tree.h. + (get_function_name): New function. + (statistics_fini_pass_2): Call get_function_name instead of + current_function_name. + (statistics_counter_event): Call get_function_name instead of + function_name. + (statistics_histogram_event): Likewise. + +2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md: + Suppress unnecessary emitting nop insn in the split patterns for + integer/FP constant synthesis, and add new peephole2 pattern that + folds such synthesized additions. + +2022-06-25 Aldy Hernandez <aldyh@redhat.com> + + * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor + instead of evrp. + (dom_jt_state::push): Remove m_evrp. + (dom_jt_state::pop): Same. + (dom_jt_state::record_ranges_from_stmt): Remove. + (dom_jt_state::register_equiv): Remove updating of evrp ranges. + (class dom_jt_simplifier): Pass ranger to constructor. + Inherit from hybrid_jt_simplifier. + (dom_jt_simplifier::simplify): Convert to ranger. + (pass_dominator::execute): Same. + (all_uses_feed_or_dominated_by_stmt): New. + (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New. + (dom_opt_dom_walker::before_dom_children): Call + set_global_ranges_from_unreachable_edges. + Do not call record_ranges_from_stmt. + (dom_opt_dom_walker::after_dom_children): Remove evrp use. + (cprop_operand): Use int_range<> instead of value_range. + (dom_opt_dom_walker::fold_cond): New. + (dom_opt_dom_walker::optimize_stmt): Pass ranger to + cprop_into_stmt. + Use fold_cond() instead of vrp_visit_cond_stmt(). + * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not + pass state to simplifier. + * vr-values.h (class vr_values): Make fold_cond public. + +2022-06-25 Jeff Law <jeffreyalaw@gmail.com> + + * common/config/tilegx/tilegx-common.cc: Removed. + * common/config/tilepro/tilepro-common.cc: Removed. + * config.gcc: Remove tilegx and tilepro entries. + * config/tilegx/constraints.md: Removed. + * config/tilegx/feedback.h: Removed. + * config/tilegx/linux.h: Removed. + * config/tilegx/mul-tables.cc: Removed. + * config/tilegx/predicates.md: Removed. + * config/tilegx/sync.md: Removed. + * config/tilegx/t-tilegx: Removed. + * config/tilegx/tilegx-builtins.h: Removed. + * config/tilegx/tilegx-c.cc: Removed. + * config/tilegx/tilegx-generic.md: Removed. + * config/tilegx/tilegx-modes.def: Removed. + * config/tilegx/tilegx-multiply.h: Removed. + * config/tilegx/tilegx-opts.h: Removed. + * config/tilegx/tilegx-protos.h: Removed. + * config/tilegx/tilegx.cc: Removed. + * config/tilegx/tilegx.h: Removed. + * config/tilegx/tilegx.md: Removed. + * config/tilegx/tilegx.opt: Removed. + * config/tilepro/constraints.md: Removed. + * config/tilepro/feedback.h: Removed. + * config/tilepro/gen-mul-tables.cc: Removed. + * config/tilepro/linux.h: Removed. + * config/tilepro/mul-tables.cc: Removed. + * config/tilepro/predicates.md: Removed. + * config/tilepro/t-tilepro: Removed. + * config/tilepro/tilepro-builtins.h: Removed. + * config/tilepro/tilepro-c.cc: Removed. + * config/tilepro/tilepro-generic.md: Removed. + * config/tilepro/tilepro-modes.def: Removed. + * config/tilepro/tilepro-multiply.h: Removed. + * config/tilepro/tilepro-protos.h: Removed. + * config/tilepro/tilepro.cc: Removed. + * config/tilepro/tilepro.h: Removed. + * config/tilepro/tilepro.md: Removed. + * config/tilepro/tilepro.opt: Removed. + * configure.ac: Remove tilegx and tilepro entries. + * configure: Rebuilt. + * doc/extend.texi: Remove tilegx and tilepro entries. + * doc/install.texi: Remove tilegx and tilepro entries. + * doc/invoke.texi: Remove tilegx and tilepro entries. + * doc/md.texi: Remove tilegx and tilepro entries. + +2022-06-25 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + * regcprop.cc (pass_cprop_hardreg::execute): Perform a third + iteration over each basic block that was updated by the second + iteration. + +2022-06-24 Jason Merrill <jason@redhat.com> + + PR c++/87729 + PR c++/20423 + * doc/invoke.texi: Document changes. + +2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> + + * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop + condition to avoid overflow. + +2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com> + + * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with + OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT. + * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with + OPTION_MASK_PPC_GFXOPT. + * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same. + * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with + OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT. + * config/rs6000/rs6000-c.cc: Update comment. + * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls. + * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace + MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT. + (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB + with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB. + * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR, + MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT, + MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT, + MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete. + +2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com> + + * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with + OPTION_MASK_MFCRF. + * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with + OPTION_MASK_MULTIPLE. + * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same. + * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with + OPTION_MASK_MFCRF. + * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with + OPTION_MASK_EABI. + * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same. + * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace + MASK_ALTIVEC with OPTION_MASK_ALTIVEC. + * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB, + MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, + MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND, + MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF, + MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE): + Replace with + OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO, + OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB, + OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD, + OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION, + OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL, + OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW, + OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE. + * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace + MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC. + * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE + with OPTION_MASK_MULTIPLE. + (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP, + MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD, + MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT, + MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW, + MASK_MULTIPLE, MASK_NO_UPDATE): Delete. + * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI + with OPTION_MASK_EABI. + +2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com> + + * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB, + RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR, + RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO, + RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC, + OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB, + OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC, + OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM. + * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC, + RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR, + RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO, + RS6000_BTM_HTM, RS6000_BTM_FRE): Remove. + +2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com> + + * config/rs6000/rs6000-c.cc: Update comments. + * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE, + RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL, + RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP, + RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128, + RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace + with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT, + OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD, + OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64, + OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE, + OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW, + OPTION_MASK_MMA, OPTION_MASK_POWER10. + * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE, + RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL, + RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128, + RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128, + RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete. + +2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com> + + * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS, + MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE, + OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove. + +2022-06-24 Richard Biener <rguenther@suse.de> + + PR middle-end/106070 + * match.pd (a != b ? a : b): Fix translation of + operand_equal_for_comparison_p. + +2022-06-24 Jan Hubicka <jh@suse.cz> + + PR ipa/106057 + * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw. + +2022-06-24 Martin Liska <mliska@suse.cz> + + PR middle-end/106059 + * profile-count.h: *= and /= operators need to modify this + object. + +2022-06-24 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + PR target/105930 + * config/i386/i386.md (*<any_or>di3_doubleword): Split after + reload. Use rtx_equal_p to avoid creating memory-to-memory moves, + and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0). + +2022-06-24 Alexandre Oliva <oliva@adacore.com> + + * common.opt (nostdlib++): New. + * doc/invoke.texi (-nostdlib++): Document it. + +2022-06-24 Alexandre Oliva <oliva@adacore.com> + + * doc/sourcebuild.texi (Environment attributes): Document + two_plus_gigs. + +2022-06-23 David Malcolm <dmalcolm@redhat.com> + + * common.opt (fdiagnostics-show-rules): New option. + * diagnostic-format-json.cc (diagnostic_output_format_init_json): + Fix up context->show_rules. + * diagnostic-format-sarif.cc + (diagnostic_output_format_init_sarif): Likewise. + * diagnostic-metadata.h (diagnostic_metadata::rule): New class. + (diagnostic_metadata::precanned_rule): New class. + (diagnostic_metadata::add_rule): New. + (diagnostic_metadata::get_num_rules): New. + (diagnostic_metadata::get_rule): New. + (diagnostic_metadata::m_rules): New field. + * diagnostic.cc (diagnostic_initialize): Initialize show_rules. + (print_any_rules): New. + (diagnostic_report_diagnostic): Call it. + * diagnostic.h (diagnostic_context::show_rules): New field. + * doc/invoke.texi (-fno-diagnostics-show-rules): New option. + * opts.cc (common_handle_option): Handle + OPT_fdiagnostics_show_rules. + * toplev.cc (general_init): Set up global_dc->show_rules. + +2022-06-23 Martin Liska <mliska@suse.cz> + + PR c++/106062 + * ubsan.cc (sanitize_unreachable_fn): Change order of calls + in order to initialize UBSAN built-ins. + +2022-06-23 Martin Liska <mliska@suse.cz> + + PR ipa/105600 + * ipa-icf.cc (sem_item_optimizer::filter_removed_items): + Skip variables with body_removed. + +2022-06-23 liuhongt <hongtao.liu@intel.com> + + * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with + reg_or_subregno. + (sse4_2_pcmpistr): Ditto. + +2022-06-23 Xionghu Luo <xionghuluo@tencent.com> + + * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix + typo. + * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise. + * tree-switch-conversion.h: Likewise. + +2022-06-22 Jason Merrill <jason@redhat.com> + + PR c++/104642 + * common.opt: Add -funreachable-traps. + * doc/invoke.texi (-funreachable-traps): Document it. + * opts.cc (finish_options): Enable at -O0 or -Og. + * tree.cc (build_common_builtin_nodes): Add __builtin_trap. + (builtin_decl_unreachable, build_builtin_unreachable): New. + * tree.h: Declare them. + * ubsan.cc (sanitize_unreachable_fn): Factor out. + (ubsan_instrument_unreachable): Use + gimple_build_builtin_unreachable. + * ubsan.h (sanitize_unreachable_fn): Declare. + * gimple.cc (gimple_build_builtin_unreachable): New. + * gimple.h: Declare it. + * builtins.cc (expand_builtin_unreachable): Add assert. + (fold_builtin_0): Call build_builtin_unreachable. + * sanopt.cc: Don't run for just SANITIZE_RETURN + or SANITIZE_UNREACHABLE when trapping. + * cgraphunit.cc (walk_polymorphic_call_targets): Use new + unreachable functions. + * gimple-fold.cc (gimple_fold_call) + (gimple_get_virt_method_for_vtable) + * ipa-fnsummary.cc (redirect_to_unreachable) + * ipa-prop.cc (ipa_make_edge_direct_to_target) + (ipa_impossible_devirt_target) + * ipa.cc (walk_polymorphic_call_targets) + * tree-cfg.cc (pass_warn_function_return::execute) + (execute_fixup_cfg) + * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts) + (unloop_loops) + * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): + Likewise. + +2022-06-22 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/106019 + * tree-data-ref.cc (dr_may_alias_p): Try using the + innermost_loop_behavior to disambiguate non-loop queries. + +2022-06-22 Palmer Dabbelt <palmer@rivosinc.com> + + * doc/invoke.texi (RISC-V): Document -mtune=thead-c906. + +2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (bswapsi2_internal): + Enlarge the buffer that is obviously smaller than the template + string given to sprintf(). + +2022-06-21 Roger Sayle <roger@nextmovesoftware.com> + Marek Polacek <polacek@redhat.com> + Segher Boessenkool <segher@kernel.crashing.org> + Kewen Lin <linkw@linux.ibm.com> + + PR target/105991 + * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that + exact_log2 doesn't return -1 (or zero). + (plus_xor): New code iterator. + (*rotl<mode>3_insert_3_<code>): New define_insn_and_split. + +2022-06-21 Nathan Sidwell <nathan@acm.org> + + * doc/invoke.texi (C++ Modules): Remove language-linkage + as missing feature. + +2022-06-21 Arjun Shankar <arjun@redhat.com> + + PR tree-optimization/94899 + * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is + 0x80000000): New simplification. + +2022-06-21 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/106032 + * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and + t may_trap_or_fault_p, even if it is cheap. + +2022-06-21 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/106030 + * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of + temp to expand_operands if mode has been promoted. + +2022-06-21 Xionghu Luo <xionghuluo@tencent.com> + + PR target/105740 + * gimple-if-to-switch.cc (find_conditions): Don't skip the first + condition bb. + +2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR tree-optimization/105736 + * tree-object-size.cc (addr_object_size): Return size_unknown + when object offset computation returns an error. + +2022-06-20 H.J. Lu <hjl.tools@gmail.com> + + PR target/105960 + * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return + false if PIC register is used when calling ifunc functions. + +2022-06-20 Richard Biener <rguenther@suse.de> + + PR middle-end/106027 + * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the + type of the prevailing comparison for the new comparison type. + (fold_binary_loc): Use proper types for the A < X && A + 1 > Y + to A < X && A >= Y folding. + +2022-06-20 Kewen Lin <linkw@linux.ibm.com> + + PR tree-optimization/105940 + * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter + slp_done_for_suggested_uf and adjust with it accordingly. + (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf, + pass it down to vect_analyze_loop_2 for the initial analysis and + applying suggested unroll factor. + (vect_is_simple_reduction): Add parameter slp and adjust with it. + (vect_analyze_scalar_cycles_1): Add parameter slp and pass down. + (vect_analyze_scalar_cycles): Likewise. + +2022-06-20 Martin Liska <mliska@suse.cz> + + * bb-reorder.cc (find_traces_1_round): Add operators / and * and + use them. + (better_edge_p): Likewise. + * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise. + * cfgloopmanip.cc (scale_loop_profile): Likewise. + * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise. + * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise. + * config/sh/sh.cc (expand_cbranchdi4): Likewise. + * dojump.cc (do_compare_rtx_and_jump): Likewise. + * final.cc (compute_alignments): Likewise. + * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise. + (decide_about_value): Likewise. + * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise. + * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise. + * modulo-sched.cc (sms_schedule): Likewise. + * omp-expand.cc (extract_omp_for_update_vars): Likewise. + (expand_omp_ordered_sink): Likewise. + (expand_omp_for_ordered_loops): Likewise. + (expand_omp_for_static_nochunk): Likewise. + * predict.cc (maybe_hot_count_p): Likewise. + (probably_never_executed): Likewise. + (set_even_probabilities): Likewise. + (handle_missing_profiles): Likewise. + (expensive_function_p): Likewise. + * profile-count.h: Likewise. + * profile.cc (compute_branch_probabilities): Likewise. + * stmt.cc (emit_case_dispatch_table): Likewise. + * symtab-thunks.cc (expand_thunk): Likewise. + * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise. + * tree-ssa-sink.cc (select_best_block): Likewise. + * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise. + (switch_decision_tree::balance_case_nodes): Likewise. + (switch_decision_tree::emit_case_nodes): Likewise. + * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise. + +2022-06-20 yulong <shiyulong@iscas.ac.cn> + + * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New. + * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE + of RISCV_BUILTIN. + * config/riscv/riscv-ftypes.def (0): Remove unused. + (1): New. + +2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p): + Consider relaxed MOVI instructions as L32R. + +2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_emit_move_sequence): + Use can_create_pseudo_p(), instead of using individual + reload_in_progress and reload_completed. + (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(), + the existing predicate function. + (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall): + Use the standard RTX code predicate macros such as MEM_P, + SYMBOL_REF_P and/or CONST_INT_P. + * config/xtensa/xtensa.md: Avoid using numeric literals to determine + if callee-saved register, at the split patterns for indirect sibcall + fixups. + +2022-06-18 Jakub Jelinek <jakub@redhat.com> + + * common.opt (flag_sanitize_trap): New variable. + (fsanitize-trap=, fsanitize-trap): New options. + (fsanitize-undefined-trap-on-error): Change into deprecated alias + for -fsanitize-trap=all. + * opts.h (struct sanitizer_opts_s): Add can_trap member. + * opts.cc (finish_options): Complain about unsupported + -fsanitize-trap= options. + (sanitizer_opts): Add can_trap values to all entries. + (get_closest_sanitizer_option): Ignore -fsanitize-trap= + options which have can_trap false. + (parse_sanitizer_options): Add support for -fsanitize-trap=. + For -fsanitize-trap=all, enable + SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow + -fsanitize-trap=vptr here. + (common_handle_option): Handle OPT_fsanitize_trap_ and + OPT_fsanitize_trap. + * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check + flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of + flag_sanitize_undefined_trap_on_error. + * gcc.cc (sanitize_spec_function): Use + flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize + and drop use of flag_sanitize_undefined_trap_on_error in + "undefined" handling. + * ubsan.cc (ubsan_instrument_unreachable): Use + flag_sanitize_trap & SANITIZE_??? instead of + flag_sanitize_undefined_trap_on_error. + (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn, + ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn, + ubsan_build_overflow_builtin, instrument_bool_enum_load, + ubsan_instrument_float_cast, instrument_nonnull_arg, + instrument_nonnull_return, instrument_builtin): Likewise. + * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document. + (-fsanitize-undefined-trap-on-error): Document as deprecated + alias of -fsanitize-trap. + +2022-06-18 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/105998 + * varasm.cc (narrowing_initializer_constant_valid_p): Check + SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on + ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type. + +2022-06-18 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/105835 + * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)): + Narrow integer multiplication by a zero_one_valued_p operand. + (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer + conversions inside COND_EXPR where both data operands are + integer constants. + +2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/constraints.md (Y): + Change to include integer constants until reload begins. + * config/xtensa/predicates.md (move_operand): Ditto. + * config/xtensa/xtensa.cc (xtensa_emit_move_sequence): + Change to allow storing integer constants into litpool only after + reload begins. + +2022-06-17 Uroš Bizjak <ubizjak@gmail.com> + + PR target/105209 + * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New. + * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function. + (alpha_store_data_bypass_p_1): Ditto. + * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead + of generic store_data_bypass_p. + (ev4_ist_c): Remove insn reservation. + +2022-06-17 Uroš Bizjak <ubizjak@gmail.com> + + PR target/105970 + * config/i386/i386.cc (ix86_function_arg): Assert that + the mode of pointer argumet is equal to ptr_mode, not Pmode. + +2022-06-17 Uroš Bizjak <ubizjak@gmail.com> + + PR target/105993 + * config/i386/sse.md (vpmov splitter): Use (match_dup ...) + instead of REGNO comparisons in combine splitter. + +2022-06-17 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some + types. + +2022-06-17 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/bitmanip.md: Supress warning. + +2022-06-17 Richard Earnshaw <rearnsha@arm.com> + + PR target/106004 + * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL. + Clear bits in the mask above bit 31. + +2022-06-17 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/mve.md (*mve_mov<mode>): Re-order constraints + to avoid spilling trivial literals to the constant pool. + +2022-06-16 David Malcolm <dmalcolm@redhat.com> + + * gimple-ssa-warn-access.cc (warn_string_no_nul): Add + auto_diagnostic_group to group any warning with its note. + (maybe_warn_for_bound): Likewise. + (check_access): Likewise. + (warn_dealloc_offset): Likewise. + (pass_waccess::maybe_warn_memmodel): Likewise. + (pass_waccess::maybe_check_dealloc_call): Likewise. + (pass_waccess::warn_invalid_pointer): Likewise. + (pass_waccess::check_dangling_stores): Likewise. + +2022-06-16 Jason Merrill <jason@redhat.com> + + * opts.cc (common_handle_option) [OPT_fsanitize_]: Set + opts_set->x_flag_sanitize. + +2022-06-16 Jason Merrill <jason@redhat.com> + + * flags.h (issue_strict_overflow_warning): Comment #endif. + +2022-06-16 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name + was invaraint before, clear the invariant bit. + * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag. + * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype. + +2022-06-16 Andrew MacLeod <amacleod@redhat.com> + + * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt. + +2022-06-16 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105983 + * match.pd (y == XXX_MIN || x < y -> x <= y - 1, + y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s + on non-equality comparisons. + +2022-06-16 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105984 + * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) -> + x > stype_max / cst || x < stype_min / cst): fold_convert @1 + to TREE_TYPE (@0) just once and test for negative divisor + also on that folded constant instead of on @1. + +2022-06-16 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/105951 + * tree-ssa-ccp.cc (optimize_atomic_bit_test_and, + optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call) + as last argument to the internal functions. + * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the + extra call argument to ifns. If expand_atomic_fetch_op fails for the + lhs == NULL_TREE case, fall through into the optab code with + gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op + fails, construct a CALL_EXPR and expand that. + (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument + to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and + expand that. + +2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/103316 + * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable + gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET, + RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT, + RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI. + * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support + for new Power10 V1TI instructions. + (vec_cmp<mode><mode>): Set mode iterator to VEC_IC. + (vec_cmpu<mode><mode>): Likewise. + (vector_nlt<mode>): Set mode iterator to VEC_IC. + (vector_nltv1ti): Remove. + (vector_gtu<mode>): Set mode iterator to VEC_IC. + (vector_gtuv1ti): Remove. + (vector_nltu<mode>): Set mode iterator to VEC_IC. + (vector_nltuv1ti): Remove. + (vector_geu<mode>): Set mode iterator to VEC_IC. + (vector_ngt<mode>): Likewise. + (vector_ngtv1ti): Remove. + (vector_ngtu<mode>): Set mode iterator to VEC_IC. + (vector_ngtuv1ti): Remove. + (vector_gtu_<mode>_p): Set mode iterator to VEC_IC. + (vector_gtu_v1ti_p): Remove. + (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI. + (vrotlv1ti3): Remove. + (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI. + (vashrv1ti3): Remove. + +2022-06-16 Martin Liska <mliska@suse.cz> + + * gengtype-state.cc (read_a_state_token): Do not skip extra + character after escaped sequence. + +2022-06-16 Martin Liska <mliska@suse.cz> + + PR driver/105564 + * spellcheck.cc (test_find_closest_string): Add new test. + * spellcheck.h (class best_match): Prefer a difference in + trailing sign symbol. + +2022-06-16 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/53533 + * match.pd: Simplify (B * v + C) * D -> BD * v + CD and + (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST, + and there's no overflow or !TYPE_OVERFLOW_UNDEFINED. + +2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator. + +2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/predicates.md (reload_operand): + New predicate. + * config/xtensa/xtensa.md: New peephole2 pattern. + +2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (*round_up_to_even): + New insn-and-split pattern. + (*signed_ge_zero): Ditto. + +2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call, + xtensa_emit_sibcall): New prototypes. + (xtensa_expand_epilogue): Add new argument that specifies whether + or not sibling call. + * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL): + New macro definition. + (xtensa_prepare_expand_call): New function in order to share + the common code. + (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall): + New functions. + (xtensa_expand_epilogue): Add new argument sibcall_p and use it + for sibling call handling. + * config/xtensa/xtensa.md (call, call_value): + Use xtensa_prepare_expand_call. + (call_internal, call_value_internal): + Add the condition in order to be disabled if sibling call. + (sibcall, sibcall_value, sibcall_epilogue): New expansions. + (sibcall_internal, sibcall_value_internal): New insn patterns, + and split ones in order to take care of the indirect sibcalls. + +2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * doc/invoke.texi: Document -mextra-l32r-costs= option. + +2022-06-15 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105962 + * doc/invoke.texi: Add -fno-analyzer-undo-inlining. + * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer): + Extend -fdiagnostics-path-format=separate-events so that with + -fdiagnostics-show-path-depths it prints fndecls as well as stack + depths. + +2022-06-15 David Malcolm <dmalcolm@redhat.com> + + * value-relation.h: Add "final" and "override" to relation_oracle + vfunc implementations as appropriate. + +2022-06-15 Richard Sandiford <richard.sandiford@arm.com> + + PR middle-end/105975 + Revert everything apart from the expand_fn_using_insn and + expand_direct_optab_fn changes from: + * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro. + (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE) + (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY) + (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it. + * internal-fn.h (direct_internal_fn_info::directly_mapped): New + member variable. + (direct_internal_fn_info::vectorizable): Reduce to 1 bit. + (direct_internal_fn_p): Also return true for internal functions + that map directly to instructions defined target-insns.def. + (direct_internal_fn): Adjust comment accordingly. + * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1) + (vectorizable_optab2): New local macros. + (not_direct): Initialize directly_mapped. + (mask_load_direct, load_lanes_direct, mask_load_lanes_direct) + (gather_load_direct, len_load_direct, mask_store_direct) + (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct) + (vec_cond_direct, scatter_store_direct, len_store_direct) + (vec_set_direct, unary_direct, binary_direct, ternary_direct) + (cond_unary_direct, cond_binary_direct, cond_ternary_direct) + (while_direct, fold_extract_direct, fold_left_direct) + (mask_fold_left_direct, check_ptrs_direct): Use the macros above. + (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete + (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise; + (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise. + (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise. + (direct_internal_fn_types): Handle functions that map to instructions + defined in target-insns.def. + (direct_internal_fn_types): Likewise. + (direct_internal_fn_supported_p): Likewise. + (internal_fn_expanders): Likewise. + (expand_fn_using_insn): New function, + split out and adapted from... + (expand_direct_optab_fn): ...here. + (expand_GOMP_SIMT_ENTER_ALLOC): Use it. + (expand_GOMP_SIMT_EXIT): Likewise. + (expand_GOMP_SIMT_LANE): Likewise. + (expand_GOMP_SIMT_LAST_LANE): Likewise. + (expand_GOMP_SIMT_ORDERED_PRED): Likewise. + (expand_GOMP_SIMT_VOTE_ANY): Likewise. + (expand_GOMP_SIMT_XCHG_BFLY): Likewise. + (expand_GOMP_SIMT_XCHG_IDX): Likewise. + +2022-06-15 Richard Earnshaw <rearnsha@arm.com> + + PR target/105981 + * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg + to first_reg and second_reg respectively. Initialize them correctly + when generating big-endian code. + +2022-06-15 Richard Earnshaw <rearnsha@arm.com> + + PR target/105974 + * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT. + +2022-06-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105971 + * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for + FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation + to leak less surprising alias results. + +2022-06-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105969 + * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division + by zero in overflow check. + +2022-06-15 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/105254 + PR tree-optimization/105940 + Revert: + * config/aarch64/aarch64.cc + (aarch64_vector_costs::determine_suggested_unroll_factor): Take a + loop_vec_info as argument. Restrict the unroll factor to values + that divide the VF. + (aarch64_vector_costs::finish_cost): Update call accordingly. + +2022-06-15 Richard Sandiford <richard.sandiford@arm.com> + + * read-rtl.cc (find_int): Substitute symbolic constants + before converting the string to an integer. + +2022-06-15 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer + left shifts by a constant when the result is truncated, and the + shift constant is well-defined. + * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add + support for rotations of signed integer types, by lowering + using unsigned vector shifts. + +2022-06-15 liuhongt <hongtao.liu@intel.com> + + PR target/105953 + * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg + operands[3]. + +2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com> + + PR rtl-optimization/105041 + * regrename.cc (check_new_reg_p): Use nregs value from du chain. + +2022-06-14 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/vsx.md (VS_scalar): Delete. + (rest of file): Adjust. + +2022-06-14 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/105739 + * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads. + +2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/bitmanip.md: Add split to handle opportunities + for slli + sh[123]add.uw + +2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/predicates.md (consecutive_bits_operand): + Implement new predicate. + +2022-06-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105946 + * tree-ssa-uninit.cc (maybe_warn_pass_by_reference): + Do not look at arguments not specified in the function call. + +2022-06-14 Richard Biener <rguenther@suse.de> + + PR middle-end/105965 + * match.pd (view_convert CONSTRUCTOR): Handle single-element + CTOR case. + +2022-06-14 Eric Botcazou <ebotcazou@adacore.com> + + * warning-control.cc (copy_warning) [generic version]: Do not erase + the warning data of the destination location when the no-warning + bit is not set on the source. + (copy_warning) [tree version]: Return early if TO is equal to FROM. + (copy_warning) [gimple version]: Likewise. + +2022-06-14 Kewen Lin <linkw@linux.ibm.com> + + PR tree-optimization/105940 + * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of + applying suggested_unroll_factor after start_over. + +2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/predicates.md (shifted_mask_operand): + New predicate. + * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one): + New insn-and-split pattern. + (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask, + *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2, + *masktrue_const_shifted_mask): Ditto. + +2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern. + +2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa-protos.h (xtensa_emit_branch): + Remove the first argument. + (xtensa_emit_bit_branch): Remove it because now called only from the + output statement of *bittrue insn pattern. + * config/xtensa/xtensa.cc (gen_int_relational): Remove the last + argument 'p_invert', and make so that the condition is reversed by + itself as needed. + (xtensa_expand_conditional_branch): Share the common path, and remove + condition inversion code. + (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the + "false side" pattern. + (xtensa_emit_bit_branch): Remove it because of the abovementioned + reason, and move the function body to *bittrue insn pattern. + * config/xtensa/xtensa.md (*bittrue): Transplant the output + statement from removed xtensa_emit_bit_branch(). + (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side" + insn patterns. + +2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/predicates.md (logical_shift_operator, + xtensa_shift_per_byte_operator): New predicates. + * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction): + New prototype. + * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction): + New helper function for funnel shift patterns. + * config/xtensa/xtensa.md (ior_op): New code iterator. + (*ashlsi3_1): Replace with new split pattern. + (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x. + (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1): + New insn-and-split patterns that redirect to *xtensa_shift_per_byte, + in order to omit unnecessary bitwise AND operation. + (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>, + *shlrd_per_byte_<code>_omit_AND): + New insn patterns for funnel shifts. + +2022-06-13 Jason Merrill <jason@redhat.com> + + * tree-cfg.cc (pass_warn_function_return::execute): Also check + BUILT_IN_TRAP. + +2022-06-13 Maciej W. Rozycki <macro@embecosm.com> + + * config/riscv/riscv.md (length): Remove the explicit setting + for "fcmp". + +2022-06-13 H.J. Lu <hjl.tools@gmail.com> + + * common/config/i386/cpuinfo.h (get_available_features): Require + AVX for F16C and VAES. + +2022-06-13 Uroš Bizjak <ubizjak@gmail.com> + + PR target/105927 + * config/i386/predicates.md (register_no_elim_operand): + Return true for subreg of a memory operand. + +2022-06-13 Richard Sandiford <richard.sandiford@arm.com> + + * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro. + (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE) + (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY) + (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it. + * internal-fn.h (direct_internal_fn_info::directly_mapped): New + member variable. + (direct_internal_fn_info::vectorizable): Reduce to 1 bit. + (direct_internal_fn_p): Also return true for internal functions + that map directly to instructions defined target-insns.def. + (direct_internal_fn): Adjust comment accordingly. + * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1) + (vectorizable_optab2): New local macros. + (not_direct): Initialize directly_mapped. + (mask_load_direct, load_lanes_direct, mask_load_lanes_direct) + (gather_load_direct, len_load_direct, mask_store_direct) + (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct) + (vec_cond_direct, scatter_store_direct, len_store_direct) + (vec_set_direct, unary_direct, binary_direct, ternary_direct) + (cond_unary_direct, cond_binary_direct, cond_ternary_direct) + (while_direct, fold_extract_direct, fold_left_direct) + (mask_fold_left_direct, check_ptrs_direct): Use the macros above. + (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete + (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise; + (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise. + (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise. + (direct_internal_fn_types): Handle functions that map to instructions + defined in target-insns.def. + (direct_internal_fn_types): Likewise. + (direct_internal_fn_supported_p): Likewise. + (internal_fn_expanders): Likewise. + +2022-06-13 Richard Sandiford <richard.sandiford@arm.com> + + * internal-fn.cc (expand_fn_using_insn): New function, + split out and adapted from... + (expand_direct_optab_fn): ...here. + (expand_GOMP_SIMT_ENTER_ALLOC): Use it. + (expand_GOMP_SIMT_EXIT): Likewise. + (expand_GOMP_SIMT_LANE): Likewise. + (expand_GOMP_SIMT_LAST_LANE): Likewise. + (expand_GOMP_SIMT_ORDERED_PRED): Likewise. + (expand_GOMP_SIMT_VOTE_ANY): Likewise. + (expand_GOMP_SIMT_XCHG_BFLY): Likewise. + (expand_GOMP_SIMT_XCHG_IDX): Likewise. + +2022-06-13 Jakub Jelinek <jakub@redhat.com> + + * omp-expand.cc (expand_omp_target): Remap user provided + device clause arguments, -1 to -2 and -2 to -3, either + at compile time if constant, or at runtime. + +2022-06-13 Eric Botcazou <ebotcazou@adacore.com> + + * common.opt (finstrument-functions): Set explicit value. + (-finstrument-functions-once): New option. + * doc/invoke.texi (Program Instrumentation Options): Document it. + * gimplify.cc (build_instrumentation_call): New static function. + (gimplify_function_tree): Call it to emit the instrumentation calls + if -finstrument-functions[-once] is specified. + +2022-06-13 Eric Botcazou <ebotcazou@adacore.com> + + * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr. + * gimple.h (gimple_set_location): Do not copy warning data from + the previous location when it is UNKNOWN_LOCATION. + * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}. + +2022-06-13 Jakub Jelinek <jakub@redhat.com> + + PR target/105911 + * config/i386/i386.md (*ashl<dwi>3_doubleword_mask, + *<insn><dwi>3_doubleword_mask): Use operands[3] masked with + (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of + operands[3] unmodified. + +2022-06-12 Simon Wright <simon@pushface.org> + + PR target/104871 + * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS + version is darwin20 (macOS 11) or greater, truncate the version to the + major number. + +2022-06-12 Mark Mentovai <mark@mentovai.com> + + * config/darwin-c.cc: Make -mmacosx-version-min more future-proof. + +2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + PR target/96463 + * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h. + (svld1rq_impl::fold): Define. + * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members + op_mode and op_vec_flags. + (aarch64_evpc_reencode): Initialize newd.op_mode and + newd.op_vec_flags. + (aarch64_evpc_sve_dup): New function. + (aarch64_expand_vec_perm_const_1): Gate existing calls to + aarch64_evpc_* functions under d->vmode == d->op_mode, + and call aarch64_evpc_sve_dup. + (aarch64_vectorize_vec_perm_const): Remove assert + d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags. + * tree-cfg.cc (verify_gimple_assign_ternary): Allow different + vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is + constant. + +2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa-protos.h (xtensa_constantsynth): + New prototype. + * config/xtensa/xtensa.cc (xtensa_emit_constantsynth, + xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI, + xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth): + New backend functions that process the abovementioned logic. + (xtensa_emit_move_sequence): Revert the previous changes. + * config/xtensa/xtensa.md: New split patterns for integer + and floating-point, as the frontend part. + +2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case + for ABS and NEG, add missing case for BSWAP and CLRSB, and + double the costs for integer divisions using libfuncs if + optimizing for speed, in order to take advantage of fast constant + division by multiplication. + (TARGET_INSN_COST): New macro definition. + (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for + calculating relative costs of a RTL insns, for both of speed and + size. + * config/xtensa/xtensa.md (return, nop, trap): Correct values of + the attribute "length" that depends on TARGET_DENSITY. + (define_asm_attributes, blockage, frame_blockage): Add missing + attributes. + * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine- + dependent option, however, preparatory work for now. + +2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop): + Pass through the block length / loop count conditions if + zero-overhead looping is configured and active, + +2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (mulsidi3, umulsidi3): + Split into individual signedness, in order to use libcall + "__umulsidi3" but not the other. + (<u>mulhisi3): Merge into one by using code iterator. + (<u>mulsidi3, mulhisi3, umulhisi3): Remove. + +2022-06-11 Michael Meissner <meissner@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do + not generate block copies with vector pair instructions if we are + tuning for power10. + +2022-06-10 Roger Sayle <roger@nextmovesoftware.com> + + PR rtl-optimization/7061 + * expr.cc (emit_group_store): For groups that consist of a single + scalar integer register that hold a complex mode value, use + gen_lowpart to generate a SUBREG to "view_convert" to the complex + mode. For modes of different sizes, first convert to an integer + mode of the appropriate size. + +2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (clrsbsi2): New insn pattern. + +2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (*andsi3_bitcmpl): + New insn_and_split pattern. + +2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (one_cmplsi2): + Rearrange as an insn_and_split pattern. + +2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (bswaphi2): New insn pattern. + +2022-06-09 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/rs6000.md (FP_ISA3): Delete. + (float<QHI:mode><FP_ISA3:mode>2): Rename to... + (float<QHI:mode><SFDF:mode>2): ... this. Adjust. + (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to... + (*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust. + (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to... + (floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust. + (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to... + (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust. + +2022-06-09 Maciej W. Rozycki <macro@embecosm.com> + + * config/riscv/riscv.md + (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default) + (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab + rather than space with FSFLAGS. + +2022-06-09 Tobias Burnus <tobias@codesourcery.com> + + * omp-offload.cc (omp_discover_declare_target_tgt_fn_r, + omp_discover_declare_target_fn_r): Don't walk reverse-offload + target regions. + +2022-06-09 Jakub Jelinek <jakub@redhat.com> + + * doc/invoke.texi (-Waddress): Fix a typo in small example. + Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t. + +2022-06-09 Cui,Lili <lili.cui@intel.com> + + PR target/105493 + * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost + from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and + unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}. + (icelake_cost): Ditto. + (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads, + stores and unaligned stores cost from {6, 6, 6, 10, 15} to + {8, 8, 8, 10, 15}. + +2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org> + + * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift + and ior insns to one rotate and mask insn. + (define_split for bswapdi register): Likewise. + +2022-06-08 Roger Sayle <roger@nextmovesoftware.com> + + PR middle-end/105874 + * expr.cc (expand_expr_real_1) <normal_inner_ref>: New local + variable tem_modifier for calculating the expand_modifier enum to + use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY. + +2022-06-08 Max Filippov <jcmvbkbc@gmail.com> + + PR target/105879 + * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second' + to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and + 'gen_highpart' bitwise semantics and fix order of highpart and + lowpart depending on target endianness. + +2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com> + + * config/arm/arm-cpus.in (star-mc1): New cpu. + * config/arm/arm-tables.opt: Regenerate. + * config/arm/arm-tune.md: Regenerate. + * doc/invoke.texi: Update docs. + +2022-06-08 liuhongt <hongtao.liu@intel.com> + + PR target/105513 + PR target/105504 + * config/i386/i386.md (*movsi_internal): Change alternative + from *v to ?v. + (*movdi_internal): Ditto. + * config/i386/sse.md (vec_set<mode>_0): Change alternative *r + to ?r. + (*vec_extractv4sf_mem): Ditto. + (*vec_extracthf): Ditto. + +2022-06-07 Richard Earnshaw <rearnsha@arm.com> + + PR target/105090 + * config/arm/arm.cc (arm_bfi_1_p): New function. + (arm_bfi_p): New function. + (arm_rtx_costs_internal): Add costs for BFI idioms. + (arm_print_operand [case 'V']): Format output for BFI/BFC masks. + * config/arm/constraints.md (Dj): New constraint. + * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC. + (insv_zero): Convert to an insn with a split. + (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns. + +2022-06-07 liuhongt <hongtao.liu@intel.com> + + PR target/105854 + * config/i386/sse.md (ssse3_palignrdi): Change alternative 2 + from Yv to Yw. + +2022-06-07 Roger Sayle <roger@nextmovesoftware.com> + + PR middle-end/105853 + PR target/105856 + * calls.cc (load_register_parameters): Call store_constructor + and int_expr_size directly instead of expanding via expand_expr. + * expr.cc (static void store_constructor): Don't prototype here. + (static HOST_WIDE_INT int_expr_size): Likewise. + (store_constructor): No longer static. + (int_expr_size): Likewise, no longer static. + * expr.h (store_constructor): Prototype here. + (int_expr_size): Prototype here. + +2022-06-07 Jan Beulich <jbeulich@suse.com> + + Revert: + 2022-06-03 Jan Beulich <jbeulich@suse.com> + + * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New. + * configure.ac: Check for objcopy, producing + ORIGINAL_OBJCOPY_FOR_TARGET. + * configure: Update accordingly. + * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New. + Handle objcopy. + +2022-06-07 Jakub Jelinek <jakub@redhat.com> + + * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define. + * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>: + Adjust clause printing style depending on + OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER. + +2022-06-07 Jan Beulich <jbeulich@suse.com> + + * config/i386/i386-builtin.def (__builtin_ia32_psadbw256): + Change type. + * config/i386/i386-builtin-types.def: New function type + (V4DI, V32QI, V32QI). + * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle + V4DI_FTYPE_V32QI_V32QI. + +2022-06-07 Jan Beulich <jbeulich@suse.com> + + * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B + into account for reg-only insns. + +2022-06-07 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.cc (ix86_rtx_costs): Add a new case for + IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and + TARGET_CMOVE's (scalar integer) conditional moves. + * config/i386/sse.md (define_split): Recognize XOP's vpcmov + from its equivalent (canonical) pxor;pand;pxor sequence. + +2022-06-07 Kewen Lin <linkw@linux.ibm.com> + + * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for + parameter ORDER. + +2022-06-06 Andrew Stubbs <ams@codesourcery.com> + + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test. + +2022-06-04 Roger Sayle <roger@nextmovesoftware.com> + + PR middle-end/95126 + * calls.cc (load_register_parameters): When loading a suitable + immediate_const_ctor_p VAR_DECL into a single word_mode register, + construct it directly in a pseudo rather than read it (by parts) + from memory. + * expr.cc (int_expr_size): Make tree argument a const_tree. + (immediate_const_ctor_p): Helper predicate. Return true for + simple constructors that may be materialized in a register. + (expand_expr_real_1) [VAR_DECL]: When expanding a constant + VAR_DECL with a suitable immediate_const_ctor_p constructor + use store_constructor to materialize it directly in a pseudo. + * expr.h (immediate_const_ctor_p): Prototype here. + * varasm.cc (initializer_constant_valid_for_bitfield_p): Change + VALUE argument from tree to const_tree. + * varasm.h (initializer_constant_valid_for_bitfield_p): Update + prototype. + +2022-06-04 Jakub Jelinek <jakub@redhat.com> + + PR target/105825 + * config/i386/i386.md (*ashl<dwi>3_doubleword_mask, + *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower + bits of mask aren't all set, use operands[2] mode for the AND + operation instead of always SImode. + +2022-06-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/30314 + PR middle-end/105777 + * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) -> + x > stype_max / cst || x < stype_min / cst): New simplification. + +2022-06-03 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-cache.cc (ranger_cache::range_from_dom): Use + Value_Range. + * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same. + * value-range.h (Value_Range::Value_Range): Implement copy + constructor for Value_Range. + +2022-06-03 Aldy Hernandez <aldyh@redhat.com> + + * value-range.h (struct vrange_traits): Remove. + (is_a): Rewrite without vrange_traits. + (as_a): Same. + +2022-06-03 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (vrange::contains_p): Implement. + (vrange::type): Return void. + (vrange::supports_type_p): Implement. + (irange::fits_p): Same. + (vrange::set_undefined): Same. + (irange::set_nonnegative): Same. + (vrange::set_varying): Same. + (vrange::union_): Same. + (unsupported_range::set): Move to vrange. + (unsupported_range::type): Move to vrange. + (vrange::intersect): Implement for varying and undefined. + (vrange::zero_p): Implement. + (unsupported_range::supports_type_p): Move to vrange. + (vrange::nonzero_p): Implement. + (unsupported_range::set_undefined): Move to vrange. + (unsupported_range::set_varying): Same. + (unsupported_range::dump): Same. + (unsupported_range::union_): Same. Implement for varying and + undefined. + (unsupported_range::intersect): Move to vrange. + (unsupported_range::zero_p): Same. + (unsupported_range::nonzero_p): Same. + (unsupported_range::set_nonzero): Same. + (unsupported_range::set_zero): Same. + (unsupported_range::set_nonnegative): Same. + (unsupported_range::fits_p): Same. + * value-range.h (class vrange): Remove abstract markers for most + methods. + (class unsupported_range): Remove most methods as they will now be + inherited from vrange. + +2022-06-03 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for + an object level supports_type_p for irange and a static + Value_Range::supports_type_p. + * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same. + (fold_using_range::range_of_address): Same. + (fold_using_range::range_of_builtin_call): Same. + * gimple-range-fold.h (gimple_range_type): Same. + (gimple_range_ssa_p): Same. + * gimple-range-path.cc (path_range_query::internal_range_of_expr): + Same. + (path_range_query::range_of_stmt): Same. + (path_range_query::add_to_imports): Same. + * gimple-range.cc (gimple_ranger::range_on_edge): Same. + (gimple_ranger::export_global_ranges): Same. + * gimple-ssa-evrp-analyze.cc + (evrp_range_analyzer::record_ranges_from_phis): Same. + * range-op.cc (range_operator::wi_fold): Same. + (range_operator::fold_range): Same. + * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same. + * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same. + (evaluate_control_stmt_using_entry_checks): Same. + * tree-ssa-threadedge.cc + (hybrid_jt_simplifier::compute_ranges_from_state): Same. + * tree-vrp.cc (supported_types_p): Same. + * value-query.cc (range_query::value_of_expr): Same. + (range_query::value_on_edge): Same. + (range_query::value_of_stmt): Same. + (range_query::get_tree_range): Same. + (get_range_global): Same. + (global_range_query::range_of_expr): Same. + * value-range-equiv.h (class value_range_equiv): Same. + * value-range.cc (irange::supports_type_p): Same. + (unsupported_range::supports_type_p): Same. + * value-range.h (enum value_range_discriminator): Same. + (Value_Range::init): Same. + (Value_Range::supports_type_p): Same. + (irange::supports_type_p): Same. + (irange::supports_p): Same. + (vrange::supports_type_p): Same. + (vrange_allocator::alloc_vrange): Same. + +2022-06-03 Jan Beulich <jbeulich@suse.com> + + * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New. + * configure.ac: Check for objcopy, producing + ORIGINAL_OBJCOPY_FOR_TARGET. + * configure: Update accordingly. + * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New. + Handle objcopy. + +2022-06-03 Jan Beulich <jbeulich@suse.com> + + * config/i386/mmx.md (mmx_psadbw): Convert to expander. + (*mmx_psadbw): New. Mark as commutative. + * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander. + (*<sse2_avx2>_psadbw): New. Mark as commutative. + +2022-06-03 Alexandre Oliva <oliva@adacore.com> + + PR tree-optimization/105665 + PR tree-optimization/100810 + * tree-ssa-loop-ivopts.cc + (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New. + (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New. + (find_ssa_undef): Check precomputed flag and intervening uses. + (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs. + +2022-06-02 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and + tree-logical-location.o. + (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder. + (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME. + * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file. + (sarif-stderr, sarif-file): New enum values. + * diagnostic-client-data-hooks.h: New file. + * diagnostic-format-sarif.cc: New file. + * diagnostic-path.h (enum diagnostic_event::verb): New enum. + (enum diagnostic_event::noun): New enum. + (enum diagnostic_event::property): New enum. + (struct diagnostic_event::meaning): New struct. + (diagnostic_event::get_logical_location): New vfunc. + (diagnostic_event::get_meaning): New vfunc. + (simple_diagnostic_event::get_logical_location): New vfunc impl. + (simple_diagnostic_event::get_meaning): New vfunc impl. + * diagnostic.cc: Include "diagnostic-client-data-hooks.h". + (diagnostic_initialize): Initialize m_client_data_hooks. + (diagnostic_finish): Clean up m_client_data_hooks. + (diagnostic_event::meaning::dump_to_pp): New. + (diagnostic_event::meaning::maybe_get_verb_str): New. + (diagnostic_event::meaning::maybe_get_noun_str): New. + (diagnostic_event::meaning::maybe_get_property_str): New. + (get_cwe_url): Make non-static. + (diagnostic_output_format_init): Handle + DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and + DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE. + * diagnostic.h (enum diagnostics_output_format): Add + DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and + DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE. + (class diagnostic_client_data_hooks): New forward decl. + (class logical_location): New forward decl. + (diagnostic_context::m_client_data_hooks): New field. + (diagnostic_output_format_init_sarif_stderr): New decl. + (diagnostic_output_format_init_sarif_file): New decl. + (get_cwe_url): New decl. + * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and + sarif-file. + * doc/sourcebuild.texi (Scan a particular file): Add + scan-sarif-file and scan-sarif-file-not. + * langhooks-def.h (lhd_get_sarif_source_language): New decl. + (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro. + (LANG_HOOKS_INITIALIZER): Add + LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE. + * langhooks.cc (lhd_get_sarif_source_language): New. + * langhooks.h (lang_hooks::get_sarif_source_language): New field. + * logical-location.h: New file. + * plugin.cc (struct for_each_plugin_closure): New. + (for_each_plugin_cb): New. + (for_each_plugin): New. + * plugin.h (for_each_plugin): New decl. + * tree-diagnostic-client-data-hooks.cc: New file. + * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h". + (tree_diagnostics_defaults): Populate m_client_data_hooks. + * tree-logical-location.cc: New file. + * tree-logical-location.h: New file. + +2022-06-02 David Malcolm <dmalcolm@redhat.com> + + * common.opt (fdiagnostics-format=): Add json-stderr and json-file + to description. + (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to... + (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this. + (diagnostics_output_format): Add json-stderr and json-file. + * diagnostic-format-json.cc (json_flush_to_file): New. + (json_final_cb): Convert to... + (json_flush_to_file): ...this, ... + (json_stderr_final_cb): ...this, and... + (json_file_final_cb): ...this. + (diagnostic_output_format_init): Move to diagnostic.cc. + (json_output_base_file_name): New. + (diagnostic_output_format_init_json): New. + (diagnostic_output_format_init_json_stderr): New. + (diagnostic_output_format_init_json_file): New. + * diagnostic.cc (diagnostic_output_format_init): Move here from + diagnostic-format-json.cc; update for changes to enum. + * diagnostic.h (enum diagnostics_output_format): Rename + DIAGNOSTICS_OUTPUT_FORMAT_JSON to + DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add + DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE. + (diagnostic_output_format_init): Add base_file_name param. + (diagnostic_output_format_init_json_stderr): New decl. + (diagnostic_output_format_init_json_file): New dec. + * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and + "json-file". Rewrite so that the existing "json" is a synonym of + "json-stderr". + * gcc.cc (driver_handle_option): Pass dump_base_name to + diagnostic_output_format_init. + * opts.cc (common_handle_option): Likewise. + +2022-06-02 David Malcolm <dmalcolm@redhat.com> + + * json.cc (string::print): Fix escaping of '\'. + +2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as + (-1 << 31) for the single-bit case, when operating on (1 << 31) + in SImode. + * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for + any single-bit value, moving the special case for (1 << 31) to + riscv_build_integer_1 (in riscv.c). + +2022-06-02 Roger Sayle <roger@nextmovesoftware.com> + + PR target/105791 + * config/i386/sse.md (V_128_256):Add V1TI and V2TI. + (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI. + +2022-06-02 Jakub Jelinek <jakub@redhat.com> + + PR target/105778 + * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI + from AND and its operands and just verify operands[2] has HImode, + SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask + with all low 6 (64-bit) or 5 (32-bit) bits set and in that case + just throw away the masking. Use force_reg before calling + gen_lowpart. + (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask + with all low 6 (64-bit) or 5 (32-bit) bits set and in that case + just throw away the masking. + (*ashl<mode>3_doubleword): Rename to ... + (ashl<mode>3_doubleword): ... this. + (*ashl<mode>3_mask): Remove :SI from AND and its operands and just + verify operands[2] has HImode, SImode or for TARGET_64BIT DImode. + Use force_reg before calling gen_lowpart. + (*<insn><mode>3_mask): Likewise. + (*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be + a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that + case just throw away the masking. Use force_reg before calling + gen_lowpart. + (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask + with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just + throw away the masking. + (*<insn><mode>3_doubleword): Rename to ... + (<insn><mode>3_doubleword): ... this. + (*<insn><mode>3_mask): Remove :SI from AND and its operands and just + verify operands[2] has HImode, SImode or for TARGET_64BIT DImode. + Use force_reg before calling gen_lowpart. + (splitter after it): Remove :SI from AND and its operands and just + verify operands[2] has HImode, SImode or for TARGET_64BIT DImode. + (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its + operands and just verify operands[1] has HImode, SImode or for + TARGET_64BIT DImode. Use force_reg before calling gen_lowpart. + (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern. + * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with + ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND. + +2022-06-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/101668 + * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs + for vector types with compatible lane types. + (vect_build_slp_tree_2): Deal with this. + (vect_add_slp_permutation): Adjust. Emit lowpart/concat + special cases without VEC_PERM. + (vectorizable_slp_permutation): Select the operand vector + type and relax requirements. Handle identity permutes + with mismatching operand types. + * optabs-query.cc (can_vec_perm_const_p): Only allow variable + permutes for op_mode == mode. + +2022-06-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105802 + * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): + Make sure to also compute the range in the type of the switch index. + +2022-06-01 David Seifert <soap@gentoo.org> + + PR plugins/95648 + * configure: Regenerate. + +2022-06-01 H.J. Lu <hjl.tools@gmail.com> + + PR rtl-optimization/105638 + * df-core.cc (df_find_single_def_src): Moved and renamed from + find_single_def_src in loop-iv.cc. Change the argument to rtx + and use rtx_equal_p. Return null for partial or conditional + defs. + * df.h (df_find_single_def_src): New prototype. + * dse.cc (record_store): Use the constant source if the source + register is set only once. + * loop-iv.cc (find_single_def_src): Moved to df-core.cc. + (replace_single_def_regs): Replace find_single_def_src with + df_find_single_def_src. + +2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64.opt (explicit_tune_core): Rename to + selected_tune. + (explicit_arch): Rename to selected_arch. + (x_aarch64_override_tune_string): Remove. + (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored. + (aarch64_override_tune_string): Add Save so it gets saved/restored. + * config/aarch64/aarch64.h (aarch64_architecture_version): Remove. + * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove. + (processor): Remove archtecture_version field. + (selected_arch): Remove global. + (selected_cpu): Remove global. + (selected_tune): Remove global. + (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved. + (aarch64_override_options_internal): Use aarch64_get_tune_cpu. + (aarch64_override_options): Further simplify code to only set + selected_arch and selected_tune globals. + (aarch64_option_save): Remove now that target options are saved. + (aarch64_option_restore): Remove redundant target option restores. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use + AARCH64_ISA_V9. + * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from... + * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove. + (aarch64_ra_sign_key): Remove. + +2022-06-01 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/30314 + * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) -> + x > ~(utype)0 / cst): New simplification. + +2022-06-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105786 + * tree-loop-distribution.cc + (loop_distribution::transform_reduction_loop): Only do strlen + replacement for integer type reductions. + +2022-06-01 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105770 + * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast + CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx. + +2022-06-01 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange. + (sbr_vector::sbr_vector): Same. + (sbr_vector::grow): Same. + (sbr_vector::set_bb_range): Same. + (sbr_vector::get_bb_range): Same. + (sbr_sparse_bitmap::sbr_sparse_bitmap): Same. + (sbr_sparse_bitmap::set_bb_range): Same. + (sbr_sparse_bitmap::get_bb_range): Same. + (block_range_cache::set_bb_range): Same. + (block_range_cache::get_bb_range): Same. + (block_range_cache::dump): Same. + (ssa_global_cache::get_global_range): Same. + (ssa_global_cache::set_global_range): Same. + (ssa_global_cache::clear): Same. + (ssa_global_cache::dump): Same. + (ranger_cache::get_global_range): Same. + (ranger_cache::set_global_range): Same. + (ranger_cache::range_of_def): Same. + (ranger_cache::entry_range): Same. + (ranger_cache::exit_range): Same. + (ranger_cache::edge_range): Same. + (ranger_cache::range_of_expr): Same. + (ranger_cache::range_on_edge): Same. + (ranger_cache::block_range): Same. + (ranger_cache::propagate_cache): Same. + (ranger_cache::fill_block_cache): Same. + (ranger_cache::range_from_dom): Same. + * gimple-range-cache.h: Same. + * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range): + Same. + (gimple_outgoing_range::switch_edge_range): Same. + (gimple_outgoing_range::edge_range_p): Same. + * gimple-range-edge.h: Same. + * gimple-range-fold.cc (fur_source::get_operand): Same. + (fur_source::get_phi_operand): Same. + (fur_edge::get_operand): Same. + (fur_edge::get_phi_operand): Same. + (fur_stmt::get_operand): Same. + (fur_stmt::get_phi_operand): Same. + (fur_list::fur_list): Same. + (fur_list::get_operand): Same. + (fur_list::get_phi_operand): Same. + (fold_range): Same. + (adjust_imagpart_expr): Same. + (adjust_realpart_expr): Same. + (gimple_range_adjustment): Same. + (fold_using_range::fold_stmt): Same. + (fold_using_range::range_of_range_op): Same. + (fold_using_range::range_of_address): Same. + (fold_using_range::range_of_phi): Same. + (fold_using_range::range_of_call): Same. + (fold_using_range::range_of_builtin_call): Same. + (fold_using_range::range_of_builtin_int_call): Same. + (fold_using_range::range_of_cond_expr): Same. + (fur_source::register_outgoing_edges): Same. + * gimple-range-fold.h (fold_range): Same. + (gimple_range_type): Same. + (gimple_range_ssa_p): Same. + * gimple-range-gori.cc (gimple_range_calc_op1): Same. + (gimple_range_calc_op2): Same. + (gori_compute::compute_operand_range_switch): Same. + (gori_compute::compute_operand_range): Same. + (gori_compute::logical_combine): Same. + (gori_compute::compute_logical_operands): Same. + (gori_compute::compute_operand1_range): Same. + (gori_compute::compute_operand2_range): Same. + (gori_compute::compute_operand1_and_operand2_range): Same. + (gori_compute::outgoing_edge_range_p): Same. + (gori_compute::condexpr_adjust): Same. + * gimple-range-gori.h (gimple_range_calc_op1): Same. + (gimple_range_calc_op2): Same. + * gimple-range-path.cc (path_range_query::get_cache): Same. + (path_range_query::set_cache): Same. + (path_range_query::range_on_path_entry): Same. + (path_range_query::internal_range_of_expr): Same. + (path_range_query::range_of_expr): Same. + (path_range_query::ssa_range_in_phi): Same. + (path_range_query::range_defined_in_block): Same. + (path_range_query::compute_ranges_in_phis): Same. + (path_range_query::compute_ranges_in_block): Same. + (path_range_query::add_to_imports): Same. + (path_range_query::range_of_stmt): Same. + * gimple-range-path.h: Same. + * gimple-range-infer.cc (gimple_infer_range::add_range): Same. + (gimple_infer_range::~side_effect_manager): Same. + (gimple_infer_range::get_nonzero): Same. + (gimple_infer_range::maybe_adjust_range): Same. + (gimple_infer_range::add_range): Same. + * gimple-range-infer.h: Same. + * gimple-range-tests.cc: Same. + * gimple-range-trace.cc (range_tracer::trailer): Same. + (debug_seed_ranger): Same. + * gimple-range-trace.h: Same. + * gimple-range.cc (gimple_ranger::range_of_expr): Same. + (gimple_ranger::range_on_entry): Same. + (gimple_ranger::range_on_exit): Same. + (gimple_ranger::range_on_edge): Same. + (gimple_ranger::fold_range_internal): Same. + (gimple_ranger::range_of_stmt): Same. + (gimple_ranger::prefill_name): Same. + (gimple_ranger::prefill_stmt_dependencies): Same. + (gimple_ranger::export_global_ranges): Same. + (gimple_ranger::dump_bb): Same. + * gimple-range.h: Same. + * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same. + (memmodel_to_uhwi): Same. + * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same. + (determine_value_range): Same. + (record_nonwrapping_iv): Same. + (infer_loop_bounds_from_signedness): Same. + (scev_var_range_cant_overflow): Same. + * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same. + * value-query.cc (range_query::range_on_edge): Same. + (range_query::range_of_stmt): Same. + (range_query::value_of_expr): Same. + (range_query::value_on_edge): Same. + (range_query::value_of_stmt): Same. + (range_query::get_tree_range): Same. + (update_global_range): Same. + (get_range_global): Same. + (gimple_range_global): Same. + (global_range_query::range_of_expr): Same. + (range_query::query_relation): Same. + * value-query.h (gimple_range_global): Same. + (update_global_range): Same. + * vr-values.cc (vr_values::range_of_expr): Same. + (bounds_of_var_in_loop): Same. + (simplify_using_ranges::vrp_visit_cond_stmt): Same. + * vr-values.h (class vr_values): Same. + * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same. + +2022-06-01 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for + vrange allocator. + (sbr_vector::grow): Same. + (sbr_vector::set_bb_range): Same. + (sbr_sparse_bitmap::sbr_sparse_bitmap): Same. + (sbr_sparse_bitmap::set_bb_range): Same. + (block_range_cache::~block_range_cache): Same. + (block_range_cache::set_bb_range): Same. + (ssa_global_cache::ssa_global_cache): Same. + (ssa_global_cache::~ssa_global_cache): Same. + (ssa_global_cache::set_global_range): Same. + * gimple-range-cache.h (block_range_cache): Same. + (ssa_global_cache): Same. + * gimple-range-edge.cc + (gimple_outgoing_range::calc_switch_ranges): Same. + * gimple-range-edge.h (gimple_outgoing_range): Same. + * gimple-range-infer.cc (infer_range_manager::get_nonzero): + Same. + (infer_range_manager::add_range): Same. + * gimple-range-infer.h (class infer_range_manager): Same. + * value-range.h (class irange_allocator): Rename to... + (class vrange_allocator): ...this. + (irange_allocator::irange_allocator): New. + (vrange_allocator::vrange_allocator): New. + (irange_allocator::~irange_allocator): New. + (vrange_allocator::~vrange_allocator): New. + (irange_allocator::get_memory): Rename to... + (vrange_allocator::alloc): ...this. + (vrange_allocator::alloc_vrange): Rename from... + (irange_allocator::allocate): ...this. + (vrange_allocator::alloc_irange): New. + +2022-06-01 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for + vrange and convert range_op_handler function calls to use the + identically named object. + * gimple-range-fold.cc (gimple_range_operand1): Same. + (gimple_range_operand2): Same. + (fold_using_range::fold_stmt): Same. + (fold_using_range::range_of_range_op): Same. + (fold_using_range::range_of_builtin_ubsan_call): Same. + (fold_using_range::relation_fold_and_or): Same. + (fur_source::register_outgoing_edges): Same. + * gimple-range-fold.h (gimple_range_handler): Remove. + * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange. + (gimple_range_calc_op2): Same. + (range_def_chain::get_def_chain): Same. + (gori_compute::compute_operand_range): Same. + (gori_compute::condexpr_adjust): Same. + * gimple-range.cc (gimple_ranger::prefill_name): Same. + (gimple_ranger::prefill_stmt_dependencies): Same. + * range-op.cc (get_bool_state): Same. + (class operator_equal): Add using clause. + (class operator_not_equal): Same. + (class operator_lt): Same. + (class operator_le): Same. + (class operator_gt): Same. + (class operator_ge): Same. + (class operator_plus): Same. + (class operator_minus): Same. + (class operator_mult): Same. + (class operator_exact_divide): Same. + (class operator_lshift): Same. + (class operator_rshift): Same. + (class operator_cast): Same. + (class operator_logical_and): Same. + (class operator_bitwise_and): Same. + (class operator_logical_or): Same. + (class operator_bitwise_or): Same. + (class operator_bitwise_xor): Same. + (class operator_trunc_mod): Same. + (class operator_logical_not): Same. + (class operator_bitwise_not): Same. + (class operator_cst): Same. + (class operator_identity): Same. + (class operator_unknown): Same. + (class operator_abs): Same. + (class operator_negate): Same. + (class operator_addr_expr): Same. + (class pointer_or_operator): Same. + (operator_plus::op1_range): Adjust for vrange. + (operator_minus::op1_range): Same. + (operator_mult::op1_range): Same. + (operator_cast::op1_range): Same. + (operator_bitwise_not::fold_range): Same. + (operator_negate::fold_range): Same. + (range_op_handler): Rename to... + (get_handler): ...this. + (range_op_handler::range_op_handler): New. + (range_op_handler::fold_range): New. + (range_op_handler::op1_range): New. + (range_op_handler::op2_range): New. + (range_op_handler::lhs_op1_relation): New. + (range_op_handler::lhs_op2_relation): New. + (range_op_handler::op1_op2_relation): New. + (range_cast): Adjust for vrange. + * range-op.h (range_op_handler): Remove function. + (range_cast): Adjust for vrange. + (class range_op_handler): New. + (get_bool_state): Adjust for vrange. + (empty_range_varying): Same. + (relop_early_resolve): Same. + * tree-data-ref.cc (compute_distributive_range): Same. + * tree-vrp.cc (get_range_op_handler): Remove. + (range_fold_binary_symbolics_p): Use range_op_handler class + instead of get_range_op_handler. + (range_fold_unary_symbolics_p): Same. + (range_fold_binary_expr): Same. + (range_fold_unary_expr): Same. + * value-query.cc (range_query::get_tree_range): Adjust for vrange. + +2022-06-01 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-fold.h (gimple_range_type): Check type before + calling supports_type_p. + * gimple-range-path.cc (path_range_query::range_of_stmt): Same. + * value-query.cc (range_query::get_tree_range): Same. + * value-range.cc (Value_Range::lower_bound): New. + (Value_Range::upper_bound): New. + (Value_Range::dump): New. + * value-range.h (class Value_Range): New. + (irange::supports_type_p): Do not check if type is non-zero. + +2022-06-01 Aldy Hernandez <aldyh@redhat.com> + + * value-range-equiv.cc (value_range_equiv::set): New. + * value-range-equiv.h (class value_range_equiv): Make set method + virtual. + Remove default bitmap argument from set method. + * value-range.cc (vrange::contains_p): New. + (vrange::singleton_p): New. + (vrange::operator=): New. + (vrange::operator==): New. + (irange::fits_p): Move to .cc file. + (irange::set_nonnegative): New. + (unsupported_range::unsupported_range): New. + (unsupported_range::set): New. + (unsupported_range::type): New. + (unsupported_range::set_undefined): New. + (unsupported_range::set_varying): New. + (unsupported_range::dump): New. + (unsupported_range::union_): New. + (unsupported_range::intersect): New. + (unsupported_range::zero_p): New. + (unsupported_range::nonzero_p): New. + (unsupported_range::set_nonzero): New. + (unsupported_range::set_zero): New. + (unsupported_range::set_nonnegative): New. + (unsupported_range::fits_p): New. + (irange::set): Call irange::set_undefined. + (irange::verify_range): Check discriminator field. + (irange::dump): Dump [irange] marker. + (irange::debug): Move to... + (vrange::debug): ...here. + (dump_value_range): Accept vrange. + (debug): Same. + * value-range.h (enum value_range_discriminator): New. + (class vrange): New. + (class unsupported_range): New. + (struct vrange_traits): New. + (is_a): New. + (as_a): New. + (class irange): Inherit from vrange. + (dump_value_range): Adjust for vrange. + (irange::kind): Rename to... + (vrange::kind): ...this. + (irange::varying_p): Rename to... + (vrange::varying_p): ...this. + (irange::undefined_p): Rename to... + (vrange::undefined_p): ...this. + (irange::irange): Set discriminator. + (irange::union_): Convert to irange before passing to irange + method. + (irange::intersect): Same. + (vrange::supports_type_p): New. + * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass + NULL bitmap argument to value_range_equiv::set. + (vr_values::extract_range_basic): Same. + +2022-06-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105763 + * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): + Check gimple_range_ssa_p. + +2022-05-31 Jason Merrill <jason@redhat.com> + + * Makefile.in (TAGS): Look at libcpp/*.cc. + +2022-05-31 Christophe Lyon <christophe.lyon@arm.com> + + * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr): + Prefix mode names with E_. + +2022-05-31 Alan Modra <amodra@gmail.com> + + * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct + spelling of DW_AT_namelist_item. + +2022-05-31 Jakub Jelinek <jakub@redhat.com> + + * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE + allow var to be private in the outer context. + (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument + to build_outer_var_ref. + +2022-05-30 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be + tieable with DImode on TARGET_64BIT, and SCmode tieable with + V2SFmode, and DCmode with V2DFmode. + +2022-05-30 Roger Sayle <roger@nextmovesoftware.com> + + PR rtl-optimization/101617 + * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a + special case (indicated by negate_cc_compare_p) to generate a + -1/0 mask using neg;sbb. + * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand + to generate an *x86_neg<mode>_ccc instruction. + (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to + generate a *x86_mov<mode>cc_0_m1_neg instruction. + +2022-05-30 Roger Sayle <roger@nextmovesoftware.com> + + * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT, + SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT. + <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV. + +2022-05-30 Roger Sayle <roger@nextmovesoftware.com> + + PR target/70321 + * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose + DI mode equality/inequality using XOR here. Instead generate a + COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode). + * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use + gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode. + (general_scalar_chain::convert_compare): New function to convert + scalar equality/inequality comparison into vector operations. + (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call + new convert_compare helper method. + (convertible_comparion_p): Update to match doubleword COMPARE + of two register, memory or integer constant operands. + * config/i386/i386-features.h (general_scalar_chain::convert_compare): + Prototype/declare member function here. + * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but + only allow new doubleword modes for EQ and NE operators. + (*cmp<dwi>_doubleword): New define_insn_and_split, to split a + doubleword comparison into a pair of XORs followed by an IOR to + set the (zero) flags register, optimizing the XORs if possible. + * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode + iterator; V_AVX is (currently) only used by ptest. + (sse4_1 mode attribute): Update to support V1TI and V2TI. + +2022-05-30 Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md: Remove constraints when used with + const_int_operand, const0_operand, const_1_operand, constm1_operand, + const8_operand, const128_operand, const248_operand, const123_operand, + const2367_operand, const1248_operand, const359_operand, + const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand, + const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand, + const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand, + const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand, + const_0_to_255_mul_8_operand, const_1_to_31_operand, + const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand, + const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand, + const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand, + const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand, + const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand, + const_24_to_27_operand and const_28_to_31_operand. + * config/i386/mmx.md: Ditto. + * config/i386/sse.md: Ditto. + * config/i386/subst.md: Ditto. + * config/i386/sync.md: Ditto. + +2022-05-30 Jan Beulich <jbeulich@suse.com> + + * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P() + arguments. + +2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype. + +2022-05-29 Iain Sandoe <iain@sandoe.co.uk> + + PR target/105599 + * config/darwin.h: Move versions-specific handling of multiply_defined + from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC. + +2022-05-29 Eric Gallager <egallager@gcc.gnu.org> + + PR other/82383 + * doc/sourcebuild.texi: Add entries for the c++tools, + gotools, libbacktrace, libcc1, libcody, liboffloadmic, + and libsanitizer directories. Remove entry for boehm-gc. + Fix alphabetization for libquadmath. + +2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com> + + * config/avr/avr-mcus.def: Add device definitions. + * doc/avr-mmcu.texi: Corresponding changes. + * config/avr/gen-avr-mmcu-texi.cc: Added support for avr + device prefix. + * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags + from leaking into cc1. + +2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org> + + PR target/103722 + * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which + is special) for various scenarios. + +2022-05-28 Iain Sandoe <iain@sandoe.co.uk> + + * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block + describing this macro. + +2022-05-27 Richard Biener <rguenther@suse.de> + + * tree-dfa.cc (get_ref_base_and_extent): Avoid shift. + +2022-05-27 Martin Jambor <mjambor@suse.cz> + + PR ipa/105639 + * ipa-prop.cc (propagate_controlled_uses): Check type of the + constant before adding a LOAD reference. + +2022-05-27 Jakub Jelinek <jakub@redhat.com> + + * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE + to OMP_CLAUSE_ENTER. + * tree.h (OMP_CLAUSE_ENTER_TO): Define. + * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename + OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER. + * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER + instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print + "to" instead of "enter". + * tree-nested.cc (convert_nonlocal_omp_clauses, + convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of + OMP_CLAUSE_TO_DECLARE. + +2022-05-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105726 + * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset): + Constrain array-of-flexarray case more. + +2022-05-27 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/105729 + * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w) + to (X &) z + w if -fsanitize=null during GENERIC folding. + +2022-05-27 Roger Sayle <roger@nextmovesoftware.com> + + * match.pd (match_zero_one_valued_p): New predicate. + (mult @0 @1): Use zero_one_valued_p for optimization to the + expression "bit_and @0 @1". + (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR. + (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform. + (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise. + (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise. + Remove three redundant transforms obsoleted by the three above. + +2022-05-27 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.md (*test<mode>_not): New define_insn_and_split + to split a combined "and;cmp" sequence into "not;test". + +2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (bswapsi2): New expansion pattern. + (bswapsi2_internal): Revise the template and condition, and add + detection code for preceding the same insn in order to omit a + "SSAI 8" instruction of the latter. + (bswapdi2): Suppress built-in insn expansion with the corresponding + library call when optimizing for size. + +2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa-protos.h + (xtensa_expand_block_set_unrolled_loop, + xtensa_expand_block_set_small_loop): New prototypes. + * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI, + xtensa_expand_block_set_unrolled_loop, + xtensa_expand_block_set_small_loop): New functions. + * config/xtensa/xtensa.md (setmemsi): New expansion pattern. + * config/xtensa/xtensa.opt (mlongcalls): Add target mask. + +2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_expand_block_move): + Make instruction counting more accurate, and simplify emitting insns. + +2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/constraints.md (M, O): Use the macro. + * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand, + sext_fldsz_operand): Ditto. + * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256, + xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4, + xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg, + xtensa_expand_prologue): Ditto. + * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto. + +2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/predicates.md (extui_fldsz_operand): Simplify. + * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand): + Ditto. + +2022-05-25 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc: Adjust comments. + * gimple-range-infer.cc: Adjust comments. + * gimple-range-infer.h: Adjust comments. + * gimple-range.cc: Adjust comments. + +2022-05-25 Andrew MacLeod <amacleod@redhat.com> + + * Makefile.in (OBJS): Use gimple-range-infer.o. + * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg. + (ranger_cache::range_from_dom): Rename var side_effect to infer. + (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects. + * gimple-range-cache.h: Include gimple-range-infer.h. + (class ranger_cache): Adjust prototypes, use infer_range_manager. + * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc. + (gimple_infer_range::*): Rename from stmt_side_effects. + (infer_range_manager::*): Rename from side_effect_manager. + * gimple-range-side-effect.cc: Rename. + * gimple-range-side-effect.h: Rename. + * gimple-range-infer.h: Rename from gimple-range-side-effects.h. + (class gimple_infer_range): Rename from stmt_side_effects. + (class infer_range_manager): Rename from side_effect_manager. + * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename + from register_side_effects. + * gimple-range.h (register_inferred_ranges): Adjust prototype. + * range-op.h: Adjust comment. + * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges. + (rvrp_folder::post_fold_bb): Use register_inferred_ranges. + +2022-05-25 Simon Cook <simon.cook@embecosm.com> + + * config/riscv/arch-canonicalize: Only add mafd extension if + base was rv32/rv64g. + +2022-05-25 Tobias Burnus <tobias@codesourcery.com> + + * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a. + +2022-05-25 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/105714 + * asan.cc (has_stmt_been_instrumented_p): For assignments which + are both stores and loads, return true only if both destination + and source have been instrumented. + +2022-05-25 Martin Liska <mliska@suse.cz> + Richard Biener <rguenther@suse.de> + + * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter. + * params.opt (max-unswitch-level): Remove. + * doc/invoke.texi (max-unswitch-level): Likewise. + * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not + gimplified expressions. + * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New. + (tree_may_unswitch_on): Rename to ... + (find_unswitching_predicates_for_bb): ... this and handle + switch statements. + (get_predicates_for_bb): Likewise. + (set_predicates_for_bb): Likewise. + (init_loop_unswitch_info): Likewise. + (tree_ssa_unswitch_loops): Prepare stuff before calling + tree_unswitch_single_loop. + (tree_unswitch_single_loop): Rework the function using + pre-computed predicates and with a per original loop cost model. + (merge_last): New. + (add_predicate_to_path): Likewise. + (find_range_for_lhs): Likewise. + (simplify_using_entry_checks): Rename to ... + (evaluate_control_stmt_using_entry_checks): ... this, handle + switch statements and improve simplifications using ranger. + (simplify_loop_version): Rework using + evaluate_control_stmt_using_entry_checks. + (evaluate_bbs): New. + (evaluate_loop_insns_for_predicate): Likewise. + (tree_unswitch_loop): Adjust to allow switch statements and + pass in the edge to unswitch. + (clean_up_after_unswitching): New. + (pass_tree_unswitch::execute): Pass down fun. + +2022-05-24 Eugene Rozenfeld <erozen@microsoft.com> + + * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile + counts for the epilog loop. + +2022-05-24 Martin Sebor <msebor@redhat.com> + Richard Biener <rguenther@suse.de> + + PR middle-end/105604 + * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments. + (get_origin_and_offset_r): Remove null handling. Handle variable array + sizes. + (get_origin_and_offset): Handle null argument here. Simplify. + (alias_offset): Update comment. + * pointer-query.cc (field_at_offset): Update comment. Handle members + of variable-length types. + +2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + * target.def (vec_perm_const): Define new parameter op_mode and + update doc. + * doc/tm.texi: Regenerate. + * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust + vec_perm_const hook to add new parameter op_mode and return false + if result and operand modes do not match. + * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise. + * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise. + * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise. + * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise. + * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise + * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise. + * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise. + * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise. + * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust + prototype. + * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook. + (ashrv2di3): Likewise. + * optabs.cc (expand_vec_perm_const): Likewise. + * optabs-query.h (can_vec_perm_const_p): Adjust prototype. + * optabs-query.cc (can_vec_perm_const_p): Define new parameter + op_mode and pass it to vec_perm_const hook. + (can_mult_highpart_p): Adjust call to can_vec_perm_const_p. + * match.pd (vec_perm X Y CST): Likewise. + * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise. + * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise. + (vect_grouped_load_supported): Likewise. + (vect_shift_permute_load_chain): Likewise. + * tree-vect-generic.cc (lower_vec_perm): Likewise. + * tree-vect-loop-manip.cc (interleave_supported_p): Likewise. + * tree-vect-loop.cc (have_whole_vector_shift): Likewise. + * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise. + * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise. + (vect_transform_slp_perm_load): Likewise. + (vectorizable_slp_permutation): Likewise. + * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise. + (vectorizable_bswap): Likewise. + (scan_store_can_perm_p): Likewise. + (vect_gen_perm_mask_checked): Likewise. + +2022-05-24 H.J. Lu <hjl.tools@gmail.com> + + PR target/104816 + * config/i386/i386.opt: Remove Undocumented. + * doc/invoke.texi: Document -mcet-switch. + +2022-05-24 Andrew Stubbs <ams@codesourcery.com> + + * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a. + * config/gcn/gcn-opts.h (enum gcn_isa): New. + (TARGET_GCN3): Use enum gcn_isa. + (TARGET_GCN3_PLUS): Likewise. + (TARGET_GCN5): Likewise. + (TARGET_GCN5_PLUS): Likewise. + (TARGET_CDNA1): New. + (TARGET_CDNA1_PLUS): New. + (TARGET_CDNA2): New. + (TARGET_CDNA2_PLUS): New. + (TARGET_M0_LDS_LIMIT): New. + (TARGET_PACKED_WORK_ITEMS): New. + * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa. + (gcn_option_override): Recognise CDNA ISA variants. + (gcn_omp_device_kind_arch_isa): Support gfx90a. + (gcn_expand_prologue): Make m0 init optional. + Add support for packed work items. + (output_file_start): Support gfx90a. + (gcn_hsa_declare_function_name): Support gfx90a metadata. + * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and + __CDNA2__. + * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS. + (<su>mulsi3_highpart_imm): Likewise. + (<su>mulsidi3): Likewise. + (<su>mulsidi3_imm): Likewise. + * config/gcn/gcn.opt (gpu_type): Add gfx90a. + * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New. + (main): Support gfx90a. + * config/gcn/t-gcn-hsa: Add gfx90a multilib. + * config/gcn/t-omp-device: Add gfx90a isa. + +2022-05-24 Andrew Stubbs <ams@codesourcery.com> + + * config.in: Regenerate. + * config/gcn/gcn-hsa.h (X_FIJI): Delete. + (X_900): Delete. + (X_906): Delete. + (X_908): Delete. + (S_FIJI): Delete. + (S_900): Delete. + (S_906): Delete. + (S_908): Delete. + (NO_XNACK): New macro. + (NO_SRAM_ECC): New macro. + (SRAMOPT): Keep only v4 variant. + (HSACO3_SELECT_OPT): Delete. + (DRIVER_SELF_SPECS): Delete. + (ASM_SPEC): Remove LLVM 9 support. + * config/gcn/gcn-valu.md + (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround. + (scatter<mode>_insn_2offsets<exec_scatter>): Likewise. + * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support. + (print_operand_address): Remove assembler bug workaround. + * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete. + (EF_AMDGPU_SRAM_ECC_V3): Delete. + (SET_XNACK_ON): Delete v3 variants. + (SET_XNACK_OFF): Delete v3 variants. + (TEST_XNACK): Delete v3 variants. + (SET_SRAM_ECC_ON): Delete v3 variants. + (SET_SRAM_ECC_ANY): Delete v3 variants. + (SET_SRAM_ECC_OFF): Delete v3 variants. + (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants. + (TEST_SRAM_ECC_ANY): Delete v3 variants. + (TEST_SRAM_ECC_ON): Delete v3 variants. + (copy_early_debug_info): Remove v3 support. + (main): Remove v3 support. + * configure: Regenerate. + * configure.ac: Replace all GCN feature checks with a version check. + +2022-05-24 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg, + i.e. a double word negation of a zero extended operand, to + neg;sbb. + +2022-05-24 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/105668 + * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support + V1TImode, just like V2DImode. + * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>): + Use VI_128 mode iterator instead of VI124_128 to include V2DI. + (vcond_mask_v2div2di): Delete. + (vcond_mask_v1tiv1ti): New define_expand. + +2022-05-24 Roger Sayle <roger@nextmovesoftware.com> + + * genpreds.cc (write_lookup_constraint_1): Avoid generating a call + to strncmp for strings of length one. + +2022-05-24 ShiYulong <shiyulong@iscas.ac.cn> + + * config/riscv/predicates.md (imm5_operand): Add a new operand type for + prefetch instructions. + * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA + Extensions. + (RISCV_ATYPE_SI): New. + (RISCV_ATYPE_DI): New. + * config/riscv/riscv-ftypes.def (0): New. + (1): New. + * config/riscv/riscv.md (riscv_clean_<mode>): New. + (riscv_flush_<mode>): New. + (riscv_inval_<mode>): New. + (riscv_zero_<mode>): New. + (prefetch): New. + (riscv_prefetchi_<mode>): New. + * config/riscv/riscv-cmo.def: New file. + +2022-05-24 ShiYulong <shiyulong@iscas.ac.cn> + + * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions. + * config/riscv/riscv-opts.h (MASK_ZICBOZ): New. + (MASK_ZICBOM): New. + (MASK_ZICBOP): New. + (TARGET_ZICBOZ): New. + (TARGET_ZICBOM): New. + (TARGET_ZICBOP): New. + * config/riscv/riscv.opt (riscv_zicmo_subext): New. + +2022-05-24 David Malcolm <dmalcolm@redhat.com> + + * tree-vect-slp-patterns.cc: Add "final" and "override" to + vect_pattern::build impls as appropriate. + +2022-05-24 David Malcolm <dmalcolm@redhat.com> + + * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc + implementations, removing redundant "virtual" as appropriate. + * ipa-fnsummary.h: Likewise. + * ipa-modref.cc: Likewise. + * ipa-param-manipulation.cc: Likewise. + * ipa-profile.cc: Likewise. + * ipa-prop.h: Likewise. + * ipa-pure-const.cc: Likewise. + * ipa-reference.cc: Likewise. + * ipa-sra.cc: Likewise. + * symbol-summary.h: Likewise. + * symtab-thunks.cc: Likewise. + +2022-05-24 Martin Liska <mliska@suse.cz> + + Revert: + 2022-05-24 Martin Liska <mliska@suse.cz> + + * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized + warning. + +2022-05-24 Martin Liska <mliska@suse.cz> + + * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized + warning. + +2022-05-24 Bruno Haible <bruno@clisp.org> + + PR other/105527 + * doc/install.texi (Configuration): Add more details about --with-zstd. + Document --with-zstd-include and --with-zstd-lib + +2022-05-24 Richard Biener <rguenther@suse.de> + + PR middle-end/105711 + * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter + and use it. + (extract_bit_field_1): Pass down the mode of op0 to + extract_bit_field_as_subreg. + +2022-05-24 Vineet Gupta <vineetg@rivosinc.com> + + * config/riscv/riscv.cc: (struct riscv_tune_param): Add + fmv_cost. + (rocket_tune_info): Add default fmv_cost 8. + (sifive_7_tune_info): Ditto. + (thead_c906_tune_info): Ditto. + (optimize_size_tune_info): Ditto. + (riscv_register_move_cost): Use fmv_cost for int<->fp moves. + +2022-05-24 Jakub Jelinek <jakub@redhat.com> + + PR c/105378 + * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New + builtin. + * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait + clause but no depend clauses. + * omp-expand.cc (expand_taskwait_call): Use + BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than + BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present. + +2022-05-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/100221 + * tree-ssa-dse.cc (contains_phi_arg): New function. + (dse_classify_store): Postpone PHI defs that feed another PHI in defs. + +2022-05-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105629 + * tree-ssa-phiopt.cc (spaceship_replacement): Allow + a sign-extending conversion. + +2022-05-24 Kewen Lin <linkw@linux.ibm.com> + + PR target/105627 + * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't + be a debug insn. + (union_uses): Skip debug use_insn. + +2022-05-23 Vineet Gupta <vineetg@rivosinc.com> + + * config/riscv/predicates.md (const_0_operand): Remove + const_double. + * config/riscv/riscv.cc (riscv_rtx_costs): Add check for + CONST_DOUBLE. + * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define. + +2022-05-23 Mayshao <mayshao-oc@zhaoxin.com> + + * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect + the specific type of Zhaoxin CPU, and return Zhaoxin CPU name. + (cpu_indicator_init): Handle Zhaoxin processors. + * common/config/i386/i386-common.cc: Add lujiazui. + * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add + VENDOR_ZHAOXIN. + (enum processor_types): Add ZHAOXIN_FAM7H. + (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI. + * config.gcc: Add lujiazui. + * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add + Signatures for zhaoxin + (signature_SHANGHAI_ecx): Ditto. + (signature_SHANGHAI_edx): Ditto. + * config/i386/driver-i386.cc (host_detect_local_cpu): Let + -march=native recognize lujiazui processors. + * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui. + * config/i386/i386-options.cc (m_LUJIAZUI): New_definition. + * config/i386/i386.h (enum processor_type): Ditto. + * config/i386/i386.md: Add lujiazui. + * config/i386/x86-tune-costs.h (struct processor_costs): Add + lujiazui costs. + * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui. + (ix86_adjust_cost): Ditto. + * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings. + (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto. + (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto. + (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto. + (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto. + (X86_TUNE_MOVX): Ditto. + (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto. + (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto. + (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto. + (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto. + (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto. + (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto. + (X86_TUNE_USE_LEAVE): Ditto. + (X86_TUNE_PUSH_MEMORY): Ditto. + (X86_TUNE_LCP_STALL): Ditto. + (X86_TUNE_USE_INCDEC): Ditto. + (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto. + (X86_TUNE_OPT_AGU): Ditto. + (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto. + (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto. + (X86_TUNE_USE_SAHF): Ditto. + (X86_TUNE_USE_BT): Ditto. + (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto. + (X86_TUNE_ONE_IF_CONV_INSN): Ditto. + (X86_TUNE_AVOID_MFENCE): Ditto. + (X86_TUNE_EXPAND_ABS): Ditto. + (X86_TUNE_USE_SIMODE_FIOP): Ditto. + (X86_TUNE_USE_FFREEP): Ditto. + (X86_TUNE_EXT_80387_CONSTANTS): Ditto. + (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto. + (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto. + (X86_TUNE_SSE_TYPELESS_STORES): Ditto. + (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto. + * doc/extend.texi: Add details about lujiazui. + * doc/invoke.texi: Add details about lujiazui. + * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file. + +2022-05-23 Martin Liska <mliska@suse.cz> + + * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro. + +2022-05-23 Richard Biener <rguenther@suse.de> + + * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove. + (pass_forwprop::execute): Do not propagate into COND_EXPR conditions. + +2022-05-23 Richard Biener <rguenther@suse.de> + + * gimple-expr.cc (is_gimple_condexpr): Remove. + * gimple-expr.h (is_gimple_condexpr): Likewise. + * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage. + * tree-if-conv.cc (set_bb_predicate): Likewie. + (add_to_predicate_list): Likewise. + (gen_phi_arg_condition): Likewise. + (predicate_scalar_phi): Likewise. + (predicate_statements): Likewise. + +2022-05-23 Richard Biener <rguenther@suse.de> + + * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val. + * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition + as is_gimple_val. + * gimple-fold.cc (valid_gimple_rhs_p): Simplify. + * tree-cfg.cc (verify_gimple_assign_ternary): Likewise. + * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction): + Build the condition of the COND_EXPR separately. + * tree-ssa-loop-im.cc (move_computations_worker): Likewise. + * tree-vect-generic.cc (expand_vector_condition): Likewise. + * tree-vect-loop.cc (vect_create_epilog_for_reduction): + Likewise. + * vr-values.cc (simplify_using_ranges::simplify): Likewise. + * tree-vect-patterns.cc: Add comment indicating we are + building invalid COND_EXPRs and why. + * omp-expand.cc (expand_omp_simd): Gimplify the condition + to the COND_EXPR separately. + (expand_omp_atomic_cas): Note part that should be unreachable + now. + * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust + condition for valid replacements. + * tree-if-conv.cc (predicate_bbs): Simulate previous + re-folding of the condition in folded COND_EXPRs which + is necessary because of unfolded GIMPLE_CONDs in the IL + as in for example gcc.dg/fold-bopcond-1.c. + * gimple-range-gori.cc (gori_compute::condexpr_adjust): + Handle that the comparison is now in the def stmt of + the select operand. Required by gcc.dg/pr104526.c. + +2022-05-23 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/104949 + * langhooks-def.h (lhd_omp_array_size): New. + (LANG_HOOKS_OMP_ARRAY_SIZE): Define. + (LANG_HOOKS_DECLS): Add it. + * langhooks.cc (lhd_omp_array_size): New. + * langhooks.h (struct lang_hooks_for_decls): Add hook. + * omp-low.cc (scan_sharing_clauses, lower_omp_target): + Handle GOMP_MAP_FIRSTPRIVATE for array descriptors. + +2022-05-23 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from + XOR/IOR case. Account for two instructions for double-word + operations. In case of vector pandn, account for single + instruction. Likewise for integer andn with TARGET_BMI. + <case NOT>: Vector NOT requires more than 1 instruction (pxor). + <case NEG>: Double-word negation requires 3 instructions. + +2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com> + + * common/config/riscv/riscv-common.cc (riscv_supported_std_ext): + Fix "K" extension prefix to be placed before "J". + * config/riscv/arch-canonicalize: Likewise. + +2022-05-23 liuhongt <hongtao.liu@intel.com> + + * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr + <-> mask cost from 5 to 6. + (icelake_cost): Ditto. + +2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64.md + (and_<SHIFT:optab><mode>3_compare0): Support rotate left. + (and_<SHIFT:optab>si3_compare0_uxtw): Likewise. + (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise. + (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise. + (one_cmpl_<optab><mode>2): Likewise. + (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise. + (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern. + (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left. + (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise. + (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise. + (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise. + (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise. + (and_<SHIFT:optab><mode>3nr_compare0): Likewise. + (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate. + (rolsi3_insn_uxtw): New pattern. + * config/aarch64/iterators.md (SHIFT): Add rotate left. + (SHIFT_no_rotate): Add new iterator. + (SHIFT:shift): Print rotate left as ror. + (is_rotl): Add test for left rotate. + +2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch + processing. Add support for architectural extensions. + * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove + AARCH64_CPU_DEFAULT_FLAGS. + (TARGET_CPU_NBITS): Remove. + (TARGET_CPU_MASK): Remove. + * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define. + (get_tune_cpu): Assert CPU is always valid. + (get_arch): Assert architecture is always valid. + (aarch64_override_options): Cleanup CPU selection code and simplify logic. + (aarch64_option_restore): Remove unnecessary checks on tune. + +2022-05-20 David Malcolm <dmalcolm@redhat.com> + + * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of + "FINAL" and "OVERRIDE" with "final" and "override". + * config/aarch64/aarch64-sve-builtins-functions.h: Likewise. + * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise. + * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise. + * diagnostic-path.h: Likewise. + * digraph.cc: Likewise. + * gcc-rich-location.h: Likewise. + * gimple-array-bounds.cc: Likewise. + * gimple-loop-versioning.cc: Likewise. + * gimple-range-cache.cc: Likewise. + * gimple-range-cache.h: Likewise. + * gimple-range-fold.cc: Likewise. + * gimple-range-fold.h: Likewise. + * gimple-range-tests.cc: Likewise. + * gimple-range.h: Likewise. + * gimple-ssa-evrp.cc: Likewise. + * input.cc: Likewise. + * json.h: Likewise. + * read-rtl-function.cc: Likewise. + * tree-complex.cc: Likewise. + * tree-diagnostic-path.cc: Likewise. + * tree-ssa-ccp.cc: Likewise. + * tree-ssa-copy.cc: Likewise. + * tree-vrp.cc: Likewise. + * value-query.h: Likewise. + * vr-values.h: Likewise. + +2022-05-20 Marcel Vollweiler <marcel@codesourcery.com> + + * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and + target_memcpy_rect_async to omp_runtime_apis array. + +2022-05-20 Christophe Lyon <christophe.lyon@arm.com> + + * doc/sourcebuild.texi (Decimal floating point attributes): Document + dfp_bid effective-target. + +2022-05-20 Christophe Lyon <christophe.lyon@arm.com> + + * config/aarch64/aarch64.cc + (aarch64_split_128bit_move): Handle DFP modes. + (aarch64_mode_valid_for_sched_fusion_p): Likewise. + (aarch64_classify_address): Likewise. + (aarch64_legitimize_address_displacement): Likewise. + (aarch64_reinterpret_float_as_int): Likewise. + (aarch64_float_const_zero_rtx_p): Likewise. + (aarch64_can_const_movi_rtx_p): Likewise. + (aarch64_anchor_offset): Likewise. + (aarch64_secondary_reload): Likewise. + (aarch64_rtx_costs): Likewise. + (aarch64_legitimate_constant_p): Likewise. + (aarch64_gimplify_va_arg_expr): Likewise. + (aapcs_vfp_sub_candidate): Likewise. + (aarch64_vfp_is_call_or_return_candidate): Likewise. + (aarch64_output_scalar_simd_mov_immediate): Likewise. + (aarch64_gen_adjusted_ldpstp): Likewise. + (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled. + * config/aarch64/aarch64.md + (movsf_aarch64): Use SFD iterator and rename into + mov<mode>_aarch64. + (movdf_aarch64): Use DFD iterator and rename into + mov<mode>_aarch64. + (movtf_aarch64): Use TFD iterator and rename into + mov<mode>_aarch64. + (split pattern for move TF mode): Use TFD iterator. + * config/aarch64/iterators.md + (GPF_TF_F16_MOV): Add DFP modes. + (SFD, DFD, TFD): New iterators. + (GPF_TF): Add DFP modes. + (TX, DX, DX2): Likewise. + +2022-05-20 Christophe Lyon <christophe.lyon@arm.com> + + * configure: Regenerate. + +2022-05-19 Roger Sayle <roger@nextmovesoftware.com> + + PR middle-end/98865 + * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y + when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and + likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits. + +2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com> + + * config/rs6000/rs6000-builtins.def: Rephrase + to remove RS6000_BTC_SPECIAL from comment. + * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY, + RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY, + RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK, + RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS, + RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC, + RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP, + RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR, + RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID, + RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE, + RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT, + RS6000_BTM_ALWAYS): Delete. + +2022-05-19 Richard Biener <rguenther@suse.de> + + * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut + computation of the new value. + +2022-05-19 Richard Biener <rguenther@suse.de> + + * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove. + (add_to_value): Use get_expression_id. + (bitmap_insert_into_set): Likewise. + (bitmap_value_insert_into_set): Likewise. + +2022-05-19 David Malcolm <dmalcolm@redhat.com> + + * doc/invoke.texi (-fanalyzer-checker=): Add + -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to + the list of analyzer warnings disabled by + -fanalyzer-checker=taint. + +2022-05-19 Jakub Jelinek <jakub@redhat.com> + + PR debug/105630 + * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for + global vars without symtab node even when they have DECL_RTL + set. + +2022-05-19 Jakub Jelinek <jakub@redhat.com> + + PR c/105635 + * pointer-query.cc (gimple_parm_array_size): Return NULL if var + doesn't have pointer or reference type. + +2022-05-18 Marek Polacek <polacek@redhat.com> + + PR c/105131 + * doc/invoke.texi: Document -Wenum-int-mismatch. + +2022-05-18 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/gnu-user-common.h (defined): Only define + TARGET_CAN_SPLIT_STACK for glibc targets. + * config/i386/gnu.h (defined): Ditto. + +2022-05-18 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size + is wider than word_mode, a multiplication costs three word_mode + multiplications and two word_mode additions. + +2022-05-18 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.md (define_split): Split *andsi_1 + and *andn_si_ccno after reload with -Oz. + +2022-05-18 Frederik Harwath <frederik@codesourcery.com> + + * graphite-scop-detection.cc (scop_detection::can_represent_loop): + Output reason for failure to dump file. + (scop_detection::harmful_loop_in_region): Likewise. + (scop_detection::graphite_can_represent_expr): Likewise. + (scop_detection::stmt_has_simple_data_refs_p): Likewise. + (scop_detection::stmt_simple_for_scop_p): Likewise. + (print_sese_loop_numbers): New function. + (scop_detection::add_scop): Use from here. + +2022-05-18 liuhongt <hongtao.liu@intel.com> + + PR middle-end/103462 + * match.pd (bitwise_induction_p): New match. + * tree-scalar-evolution.cc (gimple_bitwise_induction_p): + Declare. + (analyze_and_compute_bitwise_induction_effect): New function. + (enum bit_op_kind): New enum. + (final_value_replacement_loop): Enhanced to handle bitwise + induction. + +2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/95737 + * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New. + +2022-05-18 liuhongt <hongtao.liu@intel.com> + + PR target/104375 + * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New + define_insn. + +2022-05-18 liuhongt <hongtao.liu@intel.com> + + PR target/104610 + * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest + for QImode when code is EQ or NE. + * config/i386/i386.md (cbranchoi4): New expander. + +2022-05-18 Peter Bergner <bergner@linux.ibm.com> + Segher Boessenkool <segher@kernel.crashing.org> + + PR target/105556 + * config/rs6000/mma.md (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>): Replace "wa" constraints with "v,?wa". + Update other operands accordingly. + +2022-05-17 Marek Polacek <polacek@redhat.com> + + * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE. + +2022-05-17 Pat Haugen <pthaugen@linux.ibm.com> + + PR target/99685 + * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump + register count when not splitting IEEE 128-bit Complex. + +2022-05-17 Tobias Burnus <tobias@codesourcery.com> + + * omp-low.cc (check_omp_nesting_restrictions): Skip warning for + target inside target if inner is reverse offload. + +2022-05-17 Tobias Burnus <tobias@codesourcery.com> + + * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE. + * config/nvptx/mkoffload.cc (process): Likewise. + +2022-05-17 Andrew MacLeod <amacleod@redhat.com> + + * Makefile.in (OBJS): Add gimple-range-side-effect.o. + * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete. + (non_null_ref::~non_null_ref): Delete. + (non_null_ref::set_nonnull): Delete. + (non_null_ref::non_null_deref_p): Delete. + (non_null_ref::process_name): Delete. + (ranger_cache::ranger_cache): Initialize m_exit object. + (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull. + (ranger_cache::range_from_dom): Use side_effect class and m_exit object. + (ranger_cache::update_to_nonnull): Delete. + (non_null_loadstore): Delete. + (ranger_cache::block_apply_nonnull): Delete. + (ranger_cache::apply_side_effects): New. + * gimple-range-cache.h (class non_null_ref): Delete. + (non_null_ref::adjust_range): Delete. + (class ranger_cache): Adjust prototypes, add side effect manager. + * gimple-range-path.cc (path_range_query::range_defined_in_block): Use + side effect manager for queries. + (path_range_query::adjust_for_non_null_uses): Ditto. + * gimple-range-path.h (class path_range_query): Delete non_null_ref. + * gimple-range-side-effect.cc: New. + * gimple-range-side-effect.h: New. + * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor. + (gimple_ranger::range_of_expr): Check def block for override value. + (gimple_ranger::range_on_entry): Don't scan dominators for non-null. + (gimple_ranger::range_on_edge): Check for outgoing side-effects. + (gimple_ranger::register_side_effects): Call apply_side_effects. + (enable_ranger): Update contructor. + * gimple-range.h (class gimple_ranger): Update prototype. + (enable_ranger): Update prototype. + * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag. + +2022-05-17 Giuliano Belinassi <gbelinassi@suse.de> + + PR c++/105169 + * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case. + * varasm.cc (switch_to_comdat_section): New + (handle_vtv_comdat_section): Call switch_to_comdat_section. + * varasm.h: Declare switch_to_comdat_section. + +2022-05-17 Richard Biener <rguenther@suse.de> + + * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do + not clear bb->aux of the copied blocks. + +2022-05-17 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/105458 + * value-relation.cc (path_oracle::register_relation): Merge, then check + for equivalence. + +2022-05-17 Uroš Bizjak <ubizjak@gmail.com> + + PR target/105624 + Revert: + * config/i386/i386.md: Remove constraints when used with + const_int_operand, const0_operand, const_1_operand, constm1_operand, + const8_operand, const128_operand, const248_operand, const123_operand, + const2367_operand, const1248_operand, const359_operand, + const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand, + const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand, + const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand, + const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand, + const_0_to_255_mul_8_operand, const_1_to_31_operand, + const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand, + const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand, + const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand, + const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand, + const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand, + const_24_to_27_operand and const_28_to_31_operand. + * config/i386/mmx.md: Ditto. + * config/i386/sse.md: Ditto. + * config/i386/subst.md: Ditto. + * config/i386/sync.md: Ditto. + +2022-05-17 Thomas Schwinge <thomas@codesourcery.com> + + * diagnostic.cc: Don't advise to call 'abort' instead of + 'internal_error'. + * system.h: Advise to call 'internal_error' instead of 'abort' or + 'fancy_abort'. + +2022-05-17 Frederik Harwath <frederik@codesourcery.com> + + * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and + a reference to a variable which does not exist. + * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo + in comment. + +2022-05-17 Frederik Harwath <frederik@codesourcery.com> + + * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ... + (isl_id_for_parameter): ... this new function name. + (build_scop_context): Adjust function use. + +2022-05-17 Tobias Burnus <tobias@codesourcery.com> + + PR target/105602 + * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'. + * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise. + +2022-05-17 Jakub Jelinek <jakub@redhat.com> + + * tree-core.h (enum omp_clause_depend_kind): Add + OMP_CLAUSE_DEPEND_INOUTSET. + * tree-pretty-print.cc (dump_omp_clause): Handle + OMP_CLAUSE_DEPEND_INOUTSET. + * gimplify.cc (gimplify_omp_depend): Likewise. + * omp-low.cc (lower_depend_clauses): Likewise. + +2022-05-17 Jakub Jelinek <jakub@redhat.com> + + PR target/105613 + * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use + andv4si3 only for EQ, for NE use iorv4si3 instead. + +2022-05-17 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105618 + * tree-ssa-sink.cc (statement_sink_location): For virtual + PHI uses ignore those defining the used virtual operand. + +2022-05-17 Jakub Jelinek <jakub@redhat.com> + + * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix: + hanlde -> handle. Fix up comment formatting. + +2022-05-17 liuhongt <hongtao.liu@intel.com> + + PR target/105033 + * config/i386/sse.md (*vec_concatv4si): Extend to .. + (*vec_concat<mode>): .. V16QI and V8HImode. + (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split. + (*vec_concatv8hi_permt2): Ditto. + +2022-05-17 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/105591 + * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp + vec_perm_expr index. + +2022-05-16 Jason Merrill <jason@redhat.com> + + PR c/105492 + * attribs.cc (decl_attributes): Fix broken typedefs here. + +2022-05-16 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105103 + * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o. + * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch, + -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and + -Wanalyzer-va-list-use-after-va-end. + +2022-05-16 Richard Biener <rguenther@suse.de> + + * gimple-match.h (gimple_build): Move code_helper overloads ... + * gimple-fold.h (gimple_build): ... here. + (gimple_build): Transition to new worker API. Provide + overloads from sequence-based API. + (gimple_convert): Likewise. + (gimple_convert_to_ptrofftype): Likewise. + (gimple_build_vector_from_val): Likewise. + (gimple_build_vector): Likewise. + (gimple_build_round_up): Likewise. + * gimple-fold.cc (gimple_build_insert_seq): New helper. + (gimple_build): Use it. Transition combined_fn and code_helper + API parts. + (gimple_convert): Transition to new worker API. + (gimple_convert_to_ptrofftype): Likewise. + (gimple_build_vector_from_val): Likewise. + (gimple_build_vector): Likewise. + (gimple_build_round_up): Likewise. + +2022-05-16 Richard Biener <rguenther@suse.de> + + * gimple-match.h (code_helper): Move class ... + * tree.h (code_helper): ... here. + +2022-05-16 Martin Liska <mliska@suse.cz> + + * opts-global.cc (write_langs): Add comment. + +2022-05-16 Eric Botcazou <ebotcazou@adacore.com> + + * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical + instead of a bitwise negation. + <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR. + +2022-05-16 Martin Liska <mliska@suse.cz> + + * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE. + (decls_mismatched_attributes): Likewise. + * builtins.cc (c_strlen): Likewise. + * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise. + * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise. + * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise. + (aarch64_init_simd_builtin_types): Likewise. + (aarch64_init_builtin_rsqrt): Likewise. + * config/aarch64/aarch64.cc (is_madd_op): Likewise. + * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise. + (arm_init_simd_builtin_types): Likewise. + * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise. + (c_prefix): Likewise. + (main): Likewise. + * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise. + * config/darwin-c.cc (darwin_register_frameworks): Likewise. + * config/gcn/mkoffload.cc (process_obj): Likewise. + * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise. + (fold_builtin_cpu): Likewise. + * config/m32c/m32c.cc (PUSHM_N): Likewise. + * config/nvptx/mkoffload.cc (process): Likewise. + * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise. + * config/s390/s390.cc (NR_C_MODES): Likewise. + * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise. + (create_insn_code_compression_table): Likewise. + * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise. + * diagnostic-format-json.cc (json_from_expanded_location): Likewise. + * dwarf2out.cc (ARRAY_SIZE): Likewise. + * genhooks.cc (emit_documentation): Likewise. + (emit_init_macros): Likewise. + * gimple-ssa-sprintf.cc (format_floating): Likewise. + * gimple-ssa-warn-access.cc (memmodel_name): Likewise. + * godump.cc (keyword_hash_init): Likewise. + * hash-table.cc (hash_table_higher_prime_index): Likewise. + * input.cc (for_each_line_table_case): Likewise. + * ipa-free-lang-data.cc (free_lang_data): Likewise. + * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise. + * optc-save-gen.awk: Likewise. + * spellcheck.cc (test_metric_conditions): Likewise. + * tree-vect-slp-patterns.cc (sizeof): Likewise. + (ARRAY_SIZE): Likewise. + * tree.cc (build_common_tree_nodes): Likewise. + +2022-05-16 Martin Liska <mliska@suse.cz> + + * opts-global.cc (write_langs): Allocate at least one byte. + +2022-05-16 Richard Biener <rguenther@suse.de> + + * match.pd (A cmp B ? A : B -> min/max): New patterns + carried over from fold_cond_expr_with_comparison. + +2022-05-16 liuhongt <hongtao.liu@intel.com> + + PR target/105587 + * config/i386/i386-expand.cc + (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] == + d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1. + +2022-05-15 Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md: Remove constraints when used with + const_int_operand, const0_operand, const_1_operand, constm1_operand, + const8_operand, const128_operand, const248_operand, const123_operand, + const2367_operand, const1248_operand, const359_operand, + const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand, + const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand, + const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand, + const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand, + const_0_to_255_mul_8_operand, const_1_to_31_operand, + const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand, + const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand, + const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand, + const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand, + const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand, + const_24_to_27_operand and const_28_to_31_operand. + * config/i386/mmx.md: Ditto. + * config/i386/sse.md: Ditto. + * config/i386/subst.md: Ditto. + * config/i386/sync.md: Ditto. + +2022-05-13 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2. + For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed + by a pshufd and pand. + (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode + vector equality as a V2DImode vector comparison (see above), + followed by a pshufd and pand. + +2022-05-13 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/83907 + * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo + for memset with an constant char value. + (handle_store): Improved handling of stores with a first byte + of zero, but not storing_all_zeros_p. + +2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu> + Manolis Tsamis <manolis.tsamis@vrull.eu> + + * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement. + (CTZ_DEFINED_VALUE_AT_ZERO): Same. + * doc/sourcebuild.texi: add documentation for RISC-V specific + test target keywords + +2022-05-13 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/105597 + * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead + of the lhs and make sure it is not undefined. + +2022-05-13 Sebastian Pop <spop@amazon.com> + + PR target/105162 + * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension + of str array. + * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call + memmodel_from_int and handle MEMMODEL_SYNC_*. + (DEF0): Add __aarch64_*_sync functions. + +2022-05-13 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_* + enumerated values. + * gimple-range-path.cc (maybe_register_phi_relation): Ditto. + * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use + new VREL enumerated values. + (*::lhs_op2_relation): Ditto. + (*::op1_op2_relation): Ditto. + (*::fold_range): Use new VREL enumerated values. + (minus_op1_op2_relation_effect): Ditto. + (range_relational_tests): Ditto. + * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING. + (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return + relation_kind. + (*_op1_op2_relation): Return relation_kind. + (relop_early_resolve): Use VREL_UNDEFINED. + * value-query.cc (range_query::query_relation): Use VREL_VARYING. + * value-relation.cc (VREL_LAST): Change enumerated value. + (vrel_range_assert): Delete. + (print_relation): Remove range assert. + (rr_negate_table): Adjust table to use new enumerated values.. + (relation_negate): Remove range assert. + (rr_swap_table): Adjust. + (relation_swap): Remove range assert. + (rr_intersect_table): Adjust. + (relation_intersect): Remove range assert. + (rr_union_table): Adjust. + (relation_union): Remove range assert. + (rr_transitive_table): Adjust. + (relation_transitive): Remove range assert. + (equiv_oracle::query_relation): Use new VREL enumerated values. + (equiv_oracle::register_relation): Ditto. + (relation_oracle::register_stmt): Ditto. + (dom_oracle::set_one_relation): Ditto. + (dom_oracle::register_transitives): Ditto. + (dom_oracle::query_relation): Ditto. + (path_oracle::register_relation): Ditto. + (path_oracle::query_relation): Ditto. + * value-relation.h (enum relation_kind_t): New relation_kind. + (*_op1_op2_relation): Adjust prototypes. + +2022-05-13 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-edge.cc (calc_switch_ranges): Check union return value. + * value-range.cc (irange::legacy_verbose_union_): Add return value. + (irange::irange_single_pair_union): New. + (irange::irange_union): Add return value. + * value-range.h (class irange): Adjust prototypes. + +2022-05-13 Andrew MacLeod <amacleod@redhat.com> + + * value-range.cc (irange::legacy_verbose_intersect): Add return value. + (irange::irange_contains_p): New. + (irange::irange_intersect): Add return value. + * value-range.h (class irange): Adjust prototypes. + +2022-05-13 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::get_global_range): Return the + had_global value instead. + +2022-05-13 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/104547 + * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add + the op1/op2 relation to the relation call. + * range-op.cc (*::lhs_op1_relation): Add param. + (*::lhs_op2_relation): Ditto. + (operator_minus::lhs_op1_relation): New. + (range_relational_tests): Add relation param. + * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype. + +2022-05-13 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range.cc (gimple_ranger::register_side_effects): First check + if the DEF should be exported as a global. + * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects, + which will export globals. + (execute_ranger_vrp): Remove call to export_global_ranges. + +2022-05-13 Andrew MacLeod <amacleod@redhat.com> + + * value-relation.cc (path_oracle::reset_path): Clear killing_defs. + +2022-05-13 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with + worlist truncated. + (ranger_cache::entry_range): Add rfd_mode parameter. + (ranger_cache::exit_range): Ditto. + (ranger_cache::edge_range): New. Incorporate from range_on_edge. + (ranger_cache::range_of_expr): Adjust call to entry_range. + (ranger_cache::range_on_edge): Split to edge_range and call. + (ranger_cache::fill_block_cache): Always invoke range_from_dom. + (ranger_cache::range_from_dom): Make reentrant, add search mode, handle + mutiple predecessors. + (ranger_cache::update_to_nonnull): Adjust call to exit_range. + * gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust + prototypes. + +2022-05-13 Alexandre Oliva <oliva@adacore.com> + + * gimple-harden-conditionals.cc: Include sbitmap.h. + (pass_harden_conditional_branches::execute): Skip new blocks. + (pass_harden_compares::execute): Likewise. + +2022-05-13 Richard Earnshaw <rearnsha@arm.com> + + PR target/105463 + * config/arm/mve.md (*movmisalign<mode>_mve_store): Use + mve_memory_operand. + (*movmisalign<mode>_mve_load): Likewise. + * config/arm/vec-common.md (movmisalign<mode>): Convert to generator + form... + (@movmisalign<mode>): ... thus. Use generic predicates and then + rework operands if they are not valid. For MVE rework to a + narrower element size if the alignment is not high enough. + +2022-05-13 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM + when there is no write-back. Fix use when strict is true. + +2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro + definition. + +2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi, + extzvsi_internal): Rename from extv, extv_internal, extzv and + extzv_internal, respectively. + +2022-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * tree-sra.cc (sra_modify_assign): Check that scalar storage order + is the same on the LHS and RHS before rewriting one with the model + of the other. + +2022-05-13 Richard Biener <rguenther@suse.de> + + * gimple-fold.cc (gimple_build): Adjust for new + main API. + * gimple-fold.h (gimple_build): New main APIs with + iterator, insert direction and iterator update. + (gimple_build): New forwarder template. + (clear_padding_type_may_have_padding_p): Remove. + (clear_type_padding_in_mask): Likewise. + (arith_overflowed_p): Likewise. + * fold-const.h (clear_padding_type_may_have_padding_p): Declare. + (clear_type_padding_in_mask): Likewise. + (arith_overflowed_p): Likewise. + * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API. + (gimplify_build2): Likewise. + (gimplify_build1): Likewise. + * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra + compare stmt. + * gengtype.cc (open_base_files): Re-order includes. + * builtins.cc: Re-order gimple-fold.h include. + * calls.cc: Likewise. + * cgraphbuild.cc: Likewise. + * cgraphunit.cc: Likewise. + * config/rs6000/rs6000-builtin.cc: Likewise. + * config/rs6000/rs6000-call.cc: Likewise. + * config/rs6000/rs6000.cc: Likewise. + * config/s390/s390.cc: Likewise. + * expr.cc: Likewise. + * fold-const.cc: Likewise. + * function-tests.cc: Likewise. + * gimple-match-head.cc: Likewise. + * gimple-range-fold.cc: Likewise. + * gimple-ssa-evrp-analyze.cc: Likewise. + * gimple-ssa-evrp.cc: Likewise. + * gimple-ssa-sprintf.cc: Likewise. + * gimple-ssa-warn-access.cc: Likewise. + * gimplify.cc: Likewise. + * graphite-isl-ast-to-gimple.cc: Likewise. + * ipa-cp.cc: Likewise. + * ipa-devirt.cc: Likewise. + * ipa-prop.cc: Likewise. + * omp-low.cc: Likewise. + * pointer-query.cc: Likewise. + * range-op.cc: Likewise. + * tree-cfg.cc: Likewise. + * tree-if-conv.cc: Likewise. + * tree-inline.cc: Likewise. + * tree-object-size.cc: Likewise. + * tree-ssa-ccp.cc: Likewise. + * tree-ssa-dom.cc: Likewise. + * tree-ssa-forwprop.cc: Likewise. + * tree-ssa-ifcombine.cc: Likewise. + * tree-ssa-loop-ivcanon.cc: Likewise. + * tree-ssa-math-opts.cc: Likewise. + * tree-ssa-pre.cc: Likewise. + * tree-ssa-propagate.cc: Likewise. + * tree-ssa-reassoc.cc: Likewise. + * tree-ssa-sccvn.cc: Likewise. + * tree-ssa-strlen.cc: Likewise. + * tree-ssa.cc: Likewise. + * value-pointer-equiv.cc: Likewise. + * vr-values.cc: Likewise. + +2022-05-13 Alexandre Oliva <oliva@adacore.com> + + PR rtl-optimization/105455 + * gimple-harden-conditionals.cc (insert_check_and_trap): Set + probabilities for newly-conditional edges. + +2022-05-13 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/102583 + * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a + contiguous stride in the VEC_PERM_EXPR. + +2022-05-12 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/105577 + * dse.cc (rest_of_handle_dse): Make sure to purge dead EH + edges before running fast DCE via df_analyze. + +2022-05-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105562 + * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate + against all CLOBBER defs if there's not an obvious must-alias + and we are not doing redundant store elimination. + (vn_walk_cb_data::redundant_store_removal_p): New field. + (vn_reference_lookup_pieces): Initialize it. + (vn_reference_lookup): Add argument to specify if we are + doing redundant store removal. + (eliminate_dom_walker::eliminate_stmt): Specify we do. + * tree-ssa-sccvn.h (vn_reference_lookup): Adjust. + +2022-05-12 Haochen Jiang <haochen.jiang@intel.com> + + PR target/104371 + * config/i386/sse.md (vi1avx2const): New define_mode_attr. + (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter): + New define_split pattern. + +2022-05-12 Jakub Jelinek <jakub@redhat.com> + + * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr + if null_pointer_node. + (gimplify_scan_omp_clauses): Likewise. + * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node + as omp_all_memory. + +2022-05-11 Patrick Palka <ppalka@redhat.com> + + * tree.h (TREE_VEC_BEGIN): Define. + (TREE_VEC_END): Correct 'length' member access. + (class tree_vec_range): Define. + +2022-05-11 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/rs6000.md: Use wa instead of <Fv>. + +2022-05-11 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/rs6000.md: Use d instead of <Ff>. + +2022-05-11 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/constraints.md (register_constraint "f"): Use + RS6000_CONSTRAINT_d. + * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle + RS6000_CONSTRAINT_f. + (rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit. + * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete + RS6000_CONSTRAINT_d. + +2022-05-11 Richard Biener <rguenther@suse.de> + + * gimple-fold.h (gimple_build): Use variadic template + functions for the gimple_build API forwarders without + location_t argument. + +2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR middle-end/70090 + * asan.cc (initialize_sanitizer_builtins): Register + __builtin_dynamic_object_size if necessary. + +2022-05-11 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/105559 + * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END + for non-debug insns. + +2022-05-11 Richard Biener <rguenther@suse.de> + + * generic-match-head.cc: Include tree-eh.h. + * match.pd ((cond ...) cmp X): New simplification inspired + by fold_binary_op_with_conditional_arg. + (eq/ne (cmp ...) true/false): Likewise. + +2022-05-11 Thomas Schwinge <thomas@codesourcery.com> + + * doc/install.texi: Don't document '--with-hsa-runtime', + '--with-hsa-runtime-include', '--with-hsa-runtime-lib'. + +2022-05-11 Martin Liska <mliska@suse.cz> + + PR other/105527 + * doc/install.texi: Document the configure option --with-zstd. + +2022-05-11 Martin Liska <mliska@suse.cz> + + * common/config/i386/cpuinfo.h (has_cpu_feature): Directly + compute index in cpu_features2. + (set_cpu_feature): Likewise. + * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove + loop for cpu_features2 and use NOP_EXPRs. + +2022-05-11 Richard Biener <rguenther@suse.de> + + PR bootstrap/105551 + * opts.cc (finish_options): Also disable var-tracking if + !DWARF2_DEBUGGING_INFO. + +2022-05-11 liuhongt <hongtao.liu@intel.com> + + PR target/104915 + * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New + pre_reload define_insn_and_split. + (*vec_setv2di_0_zero_extendhi_1): Ditto. + (*vec_set<mode>_0_zero_extendsi): Ditto. + (*vec_setv2di_0_zero_extendsi_1): Ditto. + (ssewvecmode): New mode attr. + (ssewvecmodelower): Ditto. + (ssepackmodelower): Ditto. + +2022-05-11 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/constraints.md (register constraint v): Use + rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS. + +2022-05-11 Martin Liska <mliska@suse.cz> + + PR target/105355 + * config/riscv/riscv.opt: Remove Separate from + -msmall-data-limit=. + * optc-gen.awk: Report error for the described situation. + * gcc.cc: Use Separate syntax. + * opts.cc (gen_command_line_string): Change option name. + +2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/105414 + * match.pd (minmax): Skip constant folding for fmin/fmax when both + arguments are sNaN or one is sNaN and another is NaN. + +2022-05-10 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105528 + * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove + set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment. + +2022-05-10 Segher Boessenkool <segher@kernel.crashing.org> + + * doc/md.texi (Defining Mode Iterators): Correct example replacement + text. + +2022-05-10 Maciej W. Rozycki <macro@embecosm.com> + + * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New + constants. + (fmin<mode>3, fmax<mode>3): New insns. + +2022-05-10 Richard Biener <rguenther@suse.de> + + * tree-if-conv.cc (fold_build_cond_expr): Use + match-and-simplify to simplify the condition. + (ifcvt_follow_ssa_use_edges): Remove. + (predicate_scalar_phi): Use follow_all_ssa_edges. + +2022-05-10 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100400 + * omp-oacc-kernels-decompose.cc + (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly + call 'internal_error'. + +2022-05-10 Richard Biener <rguenther@suse.de> + + PR middle-end/105537 + * toplev.cc (process_options): Move flag_var_tracking + handling ... + * opts.cc (finish_options): ... here. + +2022-05-10 Martin Liska <mliska@suse.cz> + + * basic-block.h (struct basic_block_d): Use void * + instead PTR. + * cfgloop.h: Likewise. + * cgraph.h: Likewise. + * gengtype-state.cc (state_ident_by_name): Likewise. + (record_type): Likewise. + (read_state_already_seen_type): Likewise. + * gengtype.cc (dump_type): Likewise. + (input_file_by_name): Likewise. + (main): Likewise. + * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise. + * ipa-utils.h (struct ipa_dfs_info): Likewise. + * plugin.cc (htab_hash_plugin): Likewise. + +2022-05-10 Richard Biener <rguenther@suse.de> + + * flags.h (dwarf_debuginfo_p): Add opts argument, guard + API with !GENERATOR_FILE. + * opts.cc (global_options): Poison. + (global_options_set): Likewise. + (finish_options): Refer to options via opts. + +2022-05-10 Uroš Bizjak <ubizjak@gmail.com> + Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode + alternative when optimizing for size and the immediate operand is + const_0_to_127_operand. + (*andqi_2_maybe_si): Likewise. + * config/i386/predicates.md (const_0_to_127_operand): New predicate. + +2022-05-10 Roger Sayle <roger@nextmovesoftware.com> + + * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec + "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1, + can't be negative. + +2022-05-10 Eric Botcazou <ebotcazou@adacore.com> + + PR target/105292 + * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return + true only for 8-byte vector modes. + +2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR middle-end/70090 + * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE. + (instrument_object_size): Get dynamic object size expression. + +2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com> + + PR preprocessor/101168 + * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand): + Avoid empty identifier. + +2022-05-09 Qing Zhao <qing.zhao@oracle.com> + + PR target/101891 + * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode + as a generic MMX mode instead of V4HImode. + (zero_all_mm_registers): Use SET to zero instead of MOV for + zeroing scratch registers. + (ix86_zero_call_used_regs): Likewise. + +2022-05-09 liuhongt <hongtao.liu@intel.com> + + PR target/105354 + * config/i386/i386-expand.cc + (expand_vec_perm_pslldq_psrldq_por): New function. + (ix86_expand_vec_perm_const_1): Try + expand_vec_perm_pslldq_psrldq_por for both 3-instruction and + 4/5-instruction sequence. + +2022-05-09 Martin Liška <mliska@suse.cz> + + * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT. + * system.h (STATIC_ASSERT): Define as static_assert for C++ + and fallback to array index in C. + +2022-05-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105517 + * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated + offset can be represented in the POINTER_PLUS_EXPR IL. + (vn_reference_insert): Likewise. + * poly-int.h (sext_hwi): Add poly version of sext_hwi. + +2022-05-09 Richard Biener <rguenther@suse.de> + + * match.pd: Remove #if GIMPLE guards around ! using patterns. + +2022-05-09 liuhongt <hongtao.liu@intel.com> + + PR target/105072 + * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1): + New define_insn. + (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload + define_insn_and_split. + +2022-05-09 Alex Coplan <alex.coplan@arm.com> + + * cgraph.cc (cgraph_node::get_create): Don't dump if the current + symtab state is PARSING. + +2022-05-09 Martin Liska <mliska@suse.cz> + + * system.h (LIKELY): Define. + (UNLIKELY): Likewise. + * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY + macros. + * dse.cc (set_position_unneeded): Likewise. + (set_all_positions_unneeded): Likewise. + (any_positions_needed_p): Likewise. + (all_positions_needed_p): Likewise. + * expmed.cc (flip_storage_order): Likewise. + * genmatch.cc (dt_simplify::gen_1): Likewise. + * ggc-common.cc (gt_pch_save): Likewise. + * print-rtl.cc: Likewise. + * rtl-iter.h (T>::array_type::~array_type): Likewise. + (T>::next): Likewise. + * rtl-ssa/internals.inl: Likewise. + * rtl-ssa/member-fns.inl: Likewise. + * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise. + (rtx_properties::try_to_add_dest): Likewise. + * rtlanal.h (growing_rtx_properties::repeat): Likewise. + (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise. + * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise. + * sort.cc (likely): Likewise. + (mergesort): Likewise. + * wide-int.h (wi::eq_p): Likewise. + (wi::ltu_p): Likewise. + (wi::cmpu): Likewise. + (wi::bit_and): Likewise. + (wi::bit_and_not): Likewise. + (wi::bit_or): Likewise. + (wi::bit_or_not): Likewise. + (wi::bit_xor): Likewise. + (wi::add): Likewise. + (wi::sub): Likewise. + +2022-05-09 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/arch-canonicalize: Handle g correctly. + +2022-05-07 Marek Polacek <polacek@redhat.com> + + PR c++/101833 + PR c++/47634 + * tree-core.h (struct attribute_spec): Update comment for HANDLER. + +2022-05-06 Jason Merrill <jason@redhat.com> + + * diagnostic-color.cc: Add fnname and targs color entries. + * doc/invoke.texi: Document them. + +2022-05-06 Jason Merrill <jason@redhat.com> + + * vec.h (vec::iterate): Fix comment. + +2022-05-06 Michael Meissner <meissner@linux.ibm.com> + + PR target/102059 + * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion + and -mpower10-fusion options for inlining purposes. + +2022-05-06 Christophe Lyon <christophe.lyon@arm.com> + + * config/aarch64/iterators.md (GPF_TF_F16): Delete. + +2022-05-06 Marcel Vollweiler <marcel@codesourcery.com> + + * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to + omp_runtime_apis array. + +2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com> + + * omp-low.cc (omp_maybe_offloaded_ctx): New prototype. + (scan_sharing_clauses): Check a restriction on allocate clause. + +2022-05-05 Sandra Loosemore <sandra@codesourcery.com> + + * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED + and ORDERED clause conflict errors. Add check for GRAINSIZE and + NUM_TASKS on TASKLOOP. + +2022-05-05 Martin Liska <mliska@suse.cz> + + * genautomata.cc (create_composed_state): Remove dead code. + * graphite-poly.cc (print_pdrs): Likewise. + * lto-wrapper.cc (run_gcc): Likewise. + * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes): + Likewise. + +2022-05-05 Martin Liska <mliska@suse.cz> + + * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with + PROF_*. + (gimple_gen_time_profiler): Likewise. + +2022-05-05 Martin Liska <mliska@suse.cz> + + * value-prof.cc (stream_out_histogram_value): Remove sanity + checking. + +2022-05-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104162 + * tree-ssa-sccvn.cc (vn_reference_lookup): Handle + &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset + becomes invariant. + (vn_reference_insert): Likewise. + +2022-05-05 Richard Biener <rguenther@suse.de> + + * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer + to real_value field. + (tree_real_cst::value): Add real_value field. + * tree.h (TREE_REAL_CST_PTR): Adjust. + * tree.cc (build_real): Remove separate allocation. + * tree-streamer-in.cc (unpack_ts_real_cst_value_fields): + Likewise. + +2022-05-05 Richard Biener <rguenther@suse.de> + + * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing + divisions with undefined overflow unconditionally. + (pass_tree_ifcombine::execute): Rewrite stmts with undefined + overflow to defined. + +2022-05-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105484 + * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return + whether the CFG changed. + (gimple_expand_vec_exprs): When the CFG changed, clean it up. + +2022-05-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104595 + * tree-vect-patterns.cc (vect_recog_bool_pattern): For + COND_EXPR do not fail if check_bool_pattern returns false. + +2022-05-04 Tobias Burnus <tobias@codesourcery.com> + + * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list + item that is in an outer data-sharing clause. + +2022-05-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104658 + * tree-vect-slp.cc (vect_slp_convert_to_external): Do not + create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector + type on nodes we promote. + (vectorizable_bb_reduc_epilogue): Deal with externalized + root. + * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do + not allow VECTOR_BOOLEAN_TYPE_P extern defs. + +2022-05-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103116 + * tree-vect-stmts.cc (get_group_load_store_type): Handle the + case we need peeling for gaps even though GROUP_GAP is zero. + +2022-05-04 Martin Liska <mliska@suse.cz> + + * gengtype-state.cc (read_a_state_token): Remove dead code. + * ipa-profile.cc (ipa_profile_read_summary_section): Likewise. + +2022-05-04 Richard Biener <rguenther@suse.de> + + * gimplify.cc (gimplify_init_constructor): First gimplify, + then simplify the result to a VECTOR_CST. + +2022-05-04 Jakub Jelinek <jakub@redhat.com> + + * genconditions.cc (write_conditions): Append a { nullptr, -1 } + element at the end of insn_conditions. + (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of + ARRAY_SIZE (insn_conditions). + +2022-05-04 Christophe Lyon <christophe.lyon@arm.com> + + PR target/104662 + * config/arm/arm.cc (simd_valid_immediate): Exit when input is a + vector of booleans and MVE is not enabled. + +2022-05-04 Richard Biener <rguenther@suse.de> + + PR debug/105158 + * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder): + Move debug stmts to the predecessor if moving to the + destination is not possible. + (remove_forwarder_block): Adjust. + (remove_forwarder_block_with_phi): Likewise. + +2022-05-03 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/102950 + * range-op.cc (wi_optimize_signed_bitwise_op): New function to + determine bounds of bitwise operations on signed types. + (operator_bitwise_and::wi_fold): Call the above function. + (operator_bitwise_or::wi_fold): Likewise. + (operator_bitwise_xor::wi_fold): Likewise. Additionally, the + result can't be zero if the operands can't be equal. + +2022-05-03 Iain Sandoe <iain@sandoe.co.uk> + + * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make + protocol class methods linker-visible. + +2022-05-03 Uroš Bizjak <ubizjak@gmail.com> + + PR target/105079 + * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload + define_insn_and_split pattern. + +2022-05-03 Richard Biener <rguenther@suse.de> + + PR middle-end/105083 + * tree-scalar-evolution.cc (scev_initialize): Verify we + have appropriate loop state. + * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and + loop init and finalization. + +2022-05-03 Richard Biener <rguenther@suse.de> + + PR middle-end/105461 + * opts.cc (finish_options): Match the condition to + disable flag_var_tracking to that of process_options. + +2022-05-03 Richard Biener <rguenther@suse.de> + + * opts.cc: #undef OPTIONS_SET_P. + (finish_options): Use opts_set instead of OPTIONS_SET_P. + +2022-05-03 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105394 + * tree-vect-generic.cc (expand_vector_condition): Adjust + comp_width for non-integer mode masks as well. + +2022-05-03 Marcel Vollweiler <marcel@codesourcery.com> + + * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to + omp_runtime_apis array. + +2022-05-02 Richard Biener <rguenther@suse.de> + + * tree-scalar-evolution.cc (expression_expensive_p): + Never consider mismatched calls as cheap. + +2022-05-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104240 + * tree-vect-slp.cc (op1_op0_map): New. + (vect_get_operand_map): Handle compares. + (vect_build_slp_tree_1): Support swapped operands for + tcc_comparison. + +2022-05-02 Jakub Jelinek <jakub@redhat.com> + + PR debug/105415 + * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug + if there is no symtab node for the VAR_DECL. + +2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * gcov-io.cc (gcov_rewrite): Clear the file error status. + +2022-05-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105437 + * tree-vect-slp.cc (vect_schedule_slp_node): Handle the + case where last_stmt alters control flow. + +2022-05-02 Richard Biener <rguenther@suse.de> + + * dojump.cc (do_jump): Use CASE_CONVERT. + * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise. + +2022-05-02 Jakub Jelinek <jakub@redhat.com> + + * system.h: Include initializer_list. + +2022-05-01 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/constraints.md (Y constraint): Fix comment. + +2022-05-01 Aldy Hernandez <aldyh@redhat.com> + + * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to + VR_RANGE before passing a piecewise range to set_range_info_raw. + +2022-04-30 Patrick Palka <ppalka@redhat.com> + + * gengtype.cc (adjust_field_tree_exp): Remove. + (adjust_field_type): Don't handle the "tree_exp" special attribute. + * tree-core.h (struct tree_exp): Remove "special" and "desc" + attributes. Add "length" attribute. + +2022-04-29 Martin Jambor <mjambor@suse.cz> + + PR ipa/100413 + * cgraph.cc (cgraph_node::remove): Release body of the node this + is clone_of if appropriate. + +2022-04-29 Uroš Bizjak <ubizjak@gmail.com> + + PR target/51954 + * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2. + +2022-04-29 Richard Biener <rguenther@suse.de> + + * gimple-expr.cc (is_gimple_condexpr): Adjust comment. + (canonicalize_cond_expr_cond): Move here from gimple.cc, + allow both COND_EXPR and GIMPLE_COND forms. + * gimple-expr.h (canonicalize_cond_expr_cond): Declare. + * gimple.cc (canonicalize_cond_expr_cond): Remove here. + * gimple.h (canonicalize_cond_expr_cond): Likewise. + * gimple-loop-versioning.cc (loop_versioning::version_loop): + Use is_gimple_condexpr_for_cond. + * tree-parloops.cc (gen_parallel_loop): Likewise. + * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for + a proper cond expr after canonicalize_cond_expr_cond. + Use is_gimple_condexpr_for_cond where appropriate. + * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise. + * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise. + +2022-04-29 Richard Biener <rguenther@suse.de> + + * gimple-iterator.h (gsi_after_labels): Add overload for + gimple_seq. + (gsi_start_1): Rename to gsi_start and take a reference. + (gsi_last_1): Likewise. + * gimple-iterator.cc (gsi_for_stmt): Use gsi_start. + * omp-low.cc (lower_rec_input_clauses): Likewise. + (lower_omp_scan): Likewise. + +2022-04-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105431 + * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned. + (powi_as_mults): Use absu_hwi. + (gimple_expand_builtin_powi): Remove now pointless n != -n + check. + +2022-04-29 Aldy Hernandez <aldyh@redhat.com> + + * range-op.cc (empty_range_varying): Move to range-op.h. + (range_true): Move to range.h. + (range_false): Same. + (range_true_and_false): Same. + (enum bool_range_state): Move to range-op.h. + (relop_early_resolve): Same. + (operator_equal::op1_op2_relation): Abstract code to... + (equal_op1_op2_relation): ...here. + (operator_not_equal::op1_op2_relation): Abstract code to... + (not_equal_op1_op2_relation): ...here. + (operator_lt::op1_op2_relation): Abstract code to... + (lt_op1_op2_relation): ...here. + (operator_le::op1_op2_relation): Abstract code to... + (le_op1_op2_relation): ...here. + (operator_gt::op1_op2_relation): Abstract code to... + (gt_op1_op2_relation): ...here. + (operator_ge::op1_op2_relation): Abstract code to... + (ge_op1_op2_relation): ...here. + (class range_op_table): Move to range-op.h. + * range-op.h (equal_op1_op2_relation): Moved from range-op.cc. + (not_equal_op1_op2_relation): Same. + (lt_op1_op2_relation): Same. + (le_op1_op2_relation): Same. + (gt_op1_op2_relation): Same. + (ge_op1_op2_relation): Same. + (enum bool_range_state): Same. + (get_bool_state): Same. + (empty_range_varying): Same. + (relop_early_resolve): Same. + (class range_op_table): Same. + * range.h (range_true): Same. + (range_false): Same. + (range_true_and_false): Same. + +2022-04-29 Aldy Hernandez <aldyh@redhat.com> + + * gimple-fold.cc (size_must_be_zero_p): Use reference + instead of pointer + * gimple-ssa-evrp-analyze.cc + (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename + intersect to legacy_verbose_intersect. + * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead + of pointer. + * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range + instead of value_range_equiv. + * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference + instead of pointer. + (find_case_label_range): Same. + * value-range-equiv.cc (value_range_equiv::intersect): Rename to... + (value_range_equiv::legacy_verbose_intersect): ...this. + (value_range_equiv::union_): Rename to... + (value_range_equiv::legacy_verbose_union_): ...this. + * value-range-equiv.h (class value_range_equiv): Rename union and + intersect to legacy_verbose_{intersect,union}. + * value-range.cc (irange::union_): Rename to... + (irange::legacy_verbose_union_): ...this. + (irange::intersect): Rename to... + (irange::legacy_verbose_intersect): ...this. + * value-range.h (irange::union_): Rename union_ to + legacy_verbose_union. + (irange::intersect): Rename intersect to legacy_verbose_intersect. + * vr-values.cc (vr_values::update_value_range): Same. + (vr_values::extract_range_for_var_from_comparison_expr): Same. + (vr_values::extract_range_from_cond_expr): Rename union_ to + legacy_verbose_union. + (vr_values::extract_range_from_phi_node): Same. + +2022-04-29 Aldy Hernandez <aldyh@redhat.com> + + * gimple-ssa-evrp-analyze.cc + (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods + that take a range. + * gimple-ssa-sprintf.cc (try_substitute_return_value): Same. + * ipa-prop.cc (ipcp_update_vr): Same. + * tree-inline.cc (remap_ssa_name): Same. + * tree-ssa-copy.cc (fini_copy_prop): Same. + * tree-ssa-math-opts.cc (optimize_spaceship): Same. + * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same. + * tree-ssa-pre.cc (insert_into_preds_of_block): Same. + * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same. + * tree-ssa-strlen.cc (set_strlen_range): Same. + (strlen_pass::handle_builtin_string_cmp): Same. + * tree-ssanames.cc (set_range_info): Make static. + (duplicate_ssa_name_range_info): Make static and add a new variant + calling the static. + * tree-ssanames.h (set_range_info): Remove version taking wide ints. + (duplicate_ssa_name_range_info): Remove version taking a + range_info_def and replace with a version taking SSA names. + * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods + that take a range. + (vect_do_peeling): Same. + * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same. + * vr-values.cc (simplify_truth_ops_using_ranges): Same. + +2022-04-29 Aldy Hernandez <aldyh@redhat.com> + + * value-range.h (irange::irange): Use set_undefined. + +2022-04-29 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-cache.h (non_null_ref::adjust_range): Do not use + irange::intersect (wide_int, wide_int). + * gimple-range-fold.cc (adjust_pointer_diff_expr): Same. + (adjust_imagpart_expr): Same. + * value-range.h (irange::intersect (wide_int, wide_int)): Make + private. + +2022-04-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104322 + * tree-vect-loop.cc (vectorizable_reduction): Remove dead code. + +2022-04-29 Richard Biener <rguenther@suse.de> + + PR middle-end/105376 + * tree.cc (build_real): Special case dconst* arguments + for decimal floating point types. + +2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * doc/gcov.texi (Profiling and Test Coverage in Freestanding + Environments): New section. + +2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * doc/gcov-tool.texi: Document merge-stream subcommand. + * doc/invoke.texi (fprofile-info-section): Mention merge-stream + subcommand of gcov-tool. + * gcov-tool.cc (gcov_profile_merge_stream): Declare. + (print_merge_stream_usage_message): New. + (merge_stream_usage): Likewise. + (do_merge_stream): Likewise. + (print_usage): Call print_merge_stream_usage_message(). + (main): Call do_merge_stream() to execute merge-stream subcommand. + +2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * gcov-io.cc (gcov_file_error): New enum. + (gcov_var): Use gcov_file_error enum for the error member. + (gcov_open): Use GCOV_FILE_NO_ERROR. + (gcov_close): Use GCOV_FILE_WRITE_ERROR. + (gcov_write): Likewise. + (gcov_write_unsigned): Likewise. + (gcov_write_string): Likewise. + (gcov_read_bytes): Set error code if EOF is reached. + (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW. + +2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * gcov-io.cc (GCOV_MODE_STDIN): Define. + (gcov_position): For gcov-tool, return calculated position if file is + stdin. + (gcov_open): For gcov-tool, use stdin if filename is NULL. + (gcov_close): For gcov-tool, do not close stdin. + (gcov_read_bytes): For gcov-tool, update position if file is stdin. + (gcov_sync): For gcov-tool, discard input if file is stdin. + +2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * doc/invoke.texi (fprofile-info-section): Mention + __gcov_filename_to_gcfn(). Use "freestanding" to match with C11 + standard language. Fix minor example code issues. + * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document. + +2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * gcov-io.cc (gcov_seek): Make it static. + * gcov-io.h (struct gcov_summary): Do not mention gcov_seek(). + +2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * gcov-tool.cc (gcov_do_dump): Add mode parameter. + (gcov_output_files): Open files for reading and writing. + +2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * gcov-io.cc (gcov_open): Always use the mode parameter. + * gcov-io.h (gcov_open): Declare it unconditionally. + +2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * gcov-tool.cc (gcov_profile_merge): Adjust return type. + (profile_merge): Allow merging of directories which contain no profile + files. + +2022-04-28 David Malcolm <dmalcolm@redhat.com> + + * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the + fpath.txt output. + +2022-04-28 Jakub Jelinek <jakub@redhat.com> + + * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a + temporary only if out overlaps compare_op, not when it overlaps + op0 or op1. + +2022-04-28 Jakub Jelinek <jakub@redhat.com> + + PR lto/105399 + * cgraph.cc (cgraph_node::verify_node): Don't verify + semantic_interposition flag against + opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1. + +2022-04-28 Jakub Jelinek <jakub@redhat.com> + + PR target/105331 + * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp + temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR + of it. + +2022-04-28 Jonathan Wakely <jwakely@redhat.com> + + * doc/install.texi (Configuration): Remove misleading text + around LE PowerPC Linux multilibs. + +2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR d/103528 + * doc/install.texi (Tools/packages necessary for building GCC) + (GDC): Document libphobos requirement. + (Host/target specific installation notes for GCC, *-*-solaris2*): + Document libphobos and GDC specifics. + +2022-04-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105219 + * tree-vect-loop.cc (vect_transform_loop): Disable + special code narrowing the vectorized epilogue max + iterations when peeling for alignment or gaps was in effect. + +2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang> + + * config/loongarch/loongarch.cc + (loongarch_flatten_aggregate_field): Ignore empty fields for + RECORD_TYPE. + +2022-04-27 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.md: Add fdiv define_expand template, + then generate floating-point division and floating-point reciprocal + instructions. + +2022-04-27 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))' + to PLV instruction templates. + +2022-04-27 Richard Biener <rguenther@suse.de> + + PR middle-end/104492 + * gimple-ssa-warn-access.cc + (pass_waccess::warn_invalid_pointer): Exclude equality compare + diagnostics for all kind of invalidations. + (pass_waccess::check_dangling_uses): Fix post-dominator query. + (pass_waccess::check_pointer_uses): Likewise. + +2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com> + + PR target/102024 + * config/s390/s390-protos.h (s390_function_arg_vector): Remove + prototype. + * config/s390/s390.cc (s390_single_field_struct_p): New function. + (s390_function_arg_vector): Invoke s390_single_field_struct_p. + (s390_function_arg_float): Likewise. + +2022-04-27 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/105396 + * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case + where offset is bigger than off but smaller than m_prev_offset + 32 + bits by pushing one or more 0 bytes. Sink the + m_shadow_bytes.safe_push (value); flush_if_full (); statements from + all cases to the end of the function. + +2022-04-27 Kewen Lin <linkw@linux.ibm.com> + + PR target/105271 + * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector] + stanza. + +2022-04-26 Thomas Schwinge <thomas@codesourcery.com> + + * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private + data-share memory exhausted" error more verbose. + +2022-04-26 Martin Liska <mliska@suse.cz> + + PR lto/105364 + * lto-wrapper.cc (print_lto_docs_link): Use global_dc. + (run_gcc): Parse OPT_fdiagnostics_urls_. + (main): Initialize global_dc. + +2022-04-26 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/105314 + * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero + operand is equal to if_info->x, instead use the non-zero operand + as one of the operands of AND with if_info->x as target. + +2022-04-26 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105374 + * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if + !fold_convertible_p rather than assuming fold_convert must succeed. + +2022-04-26 Jakub Jelinek <jakub@redhat.com> + + PR target/105367 + * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass + el_mode == DFmode ? double_type_node : float_type_node instead of + TREE_TYPE (type_in) as first arguments to mathfn_built_in. + +2022-04-25 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104308 + * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set + the location of new_stmt in all places that don't already set it, + whether explicitly, or via a call to gsi_replace. + +2022-04-25 Paul A. Clarke <pc@us.ibm.com> + + * doc/extend.texi (Other Builtins): Correct reference to 'modff'. + +2022-04-25 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/105276 + * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include + existing global range with calculated value. + +2022-04-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105368 + * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi. + +2022-04-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/100810 + * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag. + (find_ssa_undef): New function. + (add_candidate_1): Avoid adding derived candidates with + undefined SSA names and mark the original ones. + (determine_group_iv_cost_generic): Reject rewriting + uses with a different IV when that involves undefined SSA names. + +2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org> + + PR target/89125 + * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be + bsd_libc_has_function. + * targhooks.cc (bsd_libc_has_function): New function. + Expand the supported math functions to inclue C99 libm. + * targhooks.h (bsd_libc_has_function): New Prototype. + +2022-04-25 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/105231 + * combine.cc (distribute_notes): Assert that a REG_EH_REGION + with landing pad > 0 is from i3. Put any REG_EH_REGION note + on i3 or drop it if the insn can not trap. + (try_combine): Ensure that we can merge REG_EH_REGION notes + with non-call exceptions. Ensure we are not splitting a + trapping part of an insn with non-call exceptions when there + is any REG_EH_REGION note to preserve. + +2022-04-25 Hongyu Wang <hongyu.wang@intel.com> + + PR target/105339 + * config/i386/avx512fintrin.h (_mm512_scalef_round_pd): + Add parentheses for parameters and djust format. + (_mm512_mask_scalef_round_pd): Ditto. + (_mm512_maskz_scalef_round_pd): Ditto. + (_mm512_scalef_round_ps): Ditto. + (_mm512_mask_scalef_round_ps): Ditto. + (_mm512_maskz_scalef_round_ps): Ditto. + (_mm_scalef_round_sd): Use _mm_undefined_pd. + (_mm_scalef_round_ss): Use _mm_undefined_ps. + (_mm_mask_scalef_round_sd): New macro. + (_mm_mask_scalef_round_ss): Ditto. + (_mm_maskz_scalef_round_sd): Ditto. + (_mm_maskz_scalef_round_ss): Ditto. + +2022-04-23 Jakub Jelinek <jakub@redhat.com> + + PR target/105338 + * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle + op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov + cases. + +2022-04-22 Segher Boessenkool <segher@kernel.crashing.org> + + PR target/105334 + * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander. + (pack<mode> for FMOVE128): Rename and split the insn_and_split to... + (pack<mode>_hard for FMOVE128): ... this... + (pack<mode>_soft for FMOVE128): ... and this. + +2022-04-22 Paul A. Clarke <pc@us.ibm.com> + + * doc/extend.texi: Correct "This" to "These". + +2022-04-22 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/105333 + * rtlanal.cc (replace_rtx): Use simplify_subreg or + simplify_unary_operation if CONST_SCALAR_INT_P rather than just + CONST_INT_P. + +2022-04-21 Segher Boessenkool <segher@kernel.crashing.org> + + PR target/103197 + PR target/102146 + * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage + the "Z" alternatives in {l,st}{f,xs}iwzx. + (zero_extendhi<mode>2 for EXTHI): Ditto. + (zero_extendsi<mode>2 for EXTSI): Ditto. + (*movsi_internal1): Ditto. + (*mov<mode>_internal1 for QHI): Ditto. + (movsd_hardfloat): Ditto. + +2022-04-21 Martin Liska <mliska@suse.cz> + + * configure.ac: Enable compressed debug sections for mold + linker. + * configure: Regenerate. + +2022-04-21 Jakub Jelinek <jakub@redhat.com> + + PR debug/105203 + * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label + on DEBUG_INSNs. + +2022-04-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104912 + * tree-vect-loop-manip.cc (vect_loop_versioning): Split + the cost model check to a separate BB to make sure it is + checked first and not combined with other version checks. + +2022-04-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105312 + * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both + VCOND and VCONDU for EQ and NE. + +2022-04-20 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/103818 + * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use + poly_offset_int to avoid overflow. + (modref_access_node::update2): likewise. + +2022-04-20 Jakub Jelinek <jakub@redhat.com> + + PR ipa/105306 + * cgraph.cc (cgraph_node::create): Set node->semantic_interposition + to opt_for_fn (decl, flag_semantic_interposition). + * cgraphclones.cc (cgraph_node::create_clone): Copy over + semantic_interposition flag. + +2022-04-19 Sergei Trofimovich <siarheit@google.com> + + PR gcov-profile/105282 + * value-prof.cc (stream_out_histogram_value): Allow negative counts + on HIST_TYPE_INDIR_CALL. + +2022-04-19 Jakub Jelinek <jakub@redhat.com> + + PR target/105257 + * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO, + use gen_raw_REG instead of gen_rtx_REG and copy over also + ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */. + +2022-04-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104010 + PR tree-optimization/103941 + * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When + we run into stmts in patterns continue walking those + for uses outside of the vectorized region instead of + marking the lane live. + +2022-04-18 Hans-Peter Nilsson <hp@axis.com> + + * doc/install.texi <CRIS>: Remove references to removed websites and + adjust for cris-*-elf being the only remaining toolchain. + +2022-04-18 Hans-Peter Nilsson <hp@axis.com> + + * doc/invoke.texi <CRIS>: Remove references to options for removed + subtarget cris-axis-linux-gnu and tweak wording accordingly. + +2022-04-16 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/install.texi (Specific): Adjust mingw-w64 download link. + +2022-04-15 Hongyu Wang <hongyu.wang@intel.com> + + * config/i386/smmintrin.h: Correct target pragma from sse4.1 + and sse4.2 to crc32 for crc32 intrinsics. + +2022-04-14 Indu Bhagat <indu.bhagat@oracle.com> + + PR debug/105089 + * ctfc.cc (ctf_dvd_ignore_insert): New function. + (ctf_dvd_ignore_lookup): Likewise. + (ctf_add_variable): Keep track of non-defining decl DIEs. + (new_ctf_container): Initialize the new hash-table. + (ctfc_delete_container): Empty hash-table. + * ctfc.h (struct ctf_container): Add new hash-table. + (ctf_dvd_ignore_lookup): New declaration. + (ctf_add_variable): Add additional argument. + * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable + record for non-defining decl for which a defining decl exists + in the same TU. + (ctf_preprocess): Defer updating the number of global objts + until here. + (output_ctf_header): Use ctfc_vars_list_count as some CTF + variables may not make it to the final output. + (output_ctf_vars): Likewise. + * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable + if this is known to be a non-defining decl DIE. + +2022-04-14 Indu Bhagat <indu.bhagat@oracle.com> + + * ctfc.h (struct ctf_container): Introduce a new member. + * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static + variable. + +2022-04-14 Jakub Jelinek <jakub@redhat.com> + + PR target/105247 + * simplify-rtx.cc (simplify_const_binary_operation): For shifts + or rotates by VOIDmode constant integer shift count use word_mode + for the operand if int_mode is narrower than word. + +2022-04-14 Robin Dapp <rdapp@linux.ibm.com> + + * config/s390/s390.cc (s390_get_sched_attrmask): Add z16. + (s390_get_unit_mask): Likewise. + (s390_is_fpd): Likewise. + (s390_is_fxd): Likewise. + * config/s390/s390.h (s390_tune_attr): Set max tune level to z16. + * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15): + Add z16. + (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16): + Likewise. + * config/s390/3931.md: New file. + +2022-04-13 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/105254 + * config/aarch64/aarch64.cc + (aarch64_vector_costs::determine_suggested_unroll_factor): Take a + loop_vec_info as argument. Restrict the unroll factor to values + that divide the VF. + (aarch64_vector_costs::finish_cost): Update call accordingly. + +2022-04-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105263 + * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume + negates in multiplication chains with DFP. + +2022-04-13 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/105253 + * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple, + use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT + comparisons or tree_nop_conversion_p checks. + +2022-04-13 Hongyu Wang <hongyu.wang@intel.com> + + PR target/103069 + * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): + Add missing set to target_val at pause label. + +2022-04-13 Jakub Jelinek <jakub@redhat.com> + + PR target/105234 + * attribs.cc (decl_attributes): Don't set + DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is + NULL. + +2022-04-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105250 + * fold-const.cc (fold_convertible_p): Revert + r12-7979-geaaf77dd85c333, instead check for size equality + of the vector types involved. + +2022-04-13 Richard Biener <rguenther@suse.de> + + Revert: + 2022-04-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104912 + * tree-vect-loop-manip.cc (vect_loop_versioning): Split + the cost model check to a separate BB to make sure it is + checked first and not combined with other version checks. + +2022-04-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104912 + * tree-vect-loop-manip.cc (vect_loop_versioning): Split + the cost model check to a separate BB to make sure it is + checked first and not combined with other version checks. + +2022-04-13 Jakub Jelinek <jakub@redhat.com> + + * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo. + +2022-04-12 Antoni Boucher <bouanto@zoho.com> + + PR jit/104072 + * reginfo.cc: New functions (clear_global_regs_cache, + reginfo_cc_finalize) to avoid an issue where compiling the same + code multiple times gives an error about assigning the same + register to 2 global variables. + * rtl.h: New function (reginfo_cc_finalize). + * toplev.cc: Call it. + +2022-04-12 Antoni Boucher <bouanto@zoho.com> + + PR jit/104071 + * toplev.cc: Call the new function tree_cc_finalize in + toplev::finalize. + * tree.cc: New functions (clear_nonstandard_integer_type_cache + and tree_cc_finalize) to clear the cache of non-standard integer + types to avoid having issues with some optimizations of + bitcast where the SSA_NAME will have a size of a cached + integer type that should have been invalidated, causing a + comparison of integer constant to fail. + * tree.h: New function (tree_cc_finalize). + +2022-04-12 Thomas Schwinge <thomas@codesourcery.com> + + PR target/97348 + * config/nvptx/nvptx.h (ASM_SPEC): Don't set. + * config/nvptx/nvptx.opt (misa): Adjust comment. + +2022-04-12 Thomas Schwinge <thomas@codesourcery.com> + + Revert: + 2022-03-03 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}. + +2022-04-12 Thomas Schwinge <thomas@codesourcery.com> + + Revert: + 2022-03-31 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30. + +2022-04-12 Richard Biener <rguenther@suse.de> + + PR ipa/104303 + * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not + include local escaped memory as obviously necessary stores. + +2022-04-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105235 + * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and + return whether the CFG changed. + (execute_cse_sincos_1): Adjust. + +2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com> + + PR target/104144 + * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options. + (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories. + (MULTILIB_REQUIRED): Don't require Armv9-a libraries. + (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a. + (MULTILIB_REUSE): Remove remap rules for Armv9-a. + * config/arm/t-multilib (v9_a_nosimd_variants): Delete. + (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants. + +2022-04-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105232 + * tree.cc (component_ref_size): Bail out for too large + or non-constant sizes. + +2022-04-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105226 + * tree-vect-loop-manip.cc (vect_loop_versioning): Verify + we can split the exit of an outer loop we choose to version. + +2022-04-12 Jakub Jelinek <jakub@redhat.com> + + * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh, + ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh, + ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round, + ix86_emit_swdivsf, ix86_emit_swsqrtsf, + ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop): + Formatting fix. + * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise. + +2022-04-12 Jakub Jelinek <jakub@redhat.com> + + PR target/105214 + * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call + do_pending_stack_adjust. + +2022-04-12 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/105211 + * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1 + fails for TREE_TYPE (arg), retry it with + TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that + fails, emit call normally. + +2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com> + + * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16. + * config.gcc: Add z16 as march/mtune switch. + * config/s390/driver-native.cc (s390_host_detect_local_cpu): + Recognize z16 with -march=native. + * config/s390/s390-opts.h (enum processor_type): Rename + PROCESSOR_ARCH14 to PROCESSOR_3931_Z16. + * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ... + (PROCESSOR_3931_Z16): ... throughout the file. + (s390_processor processor_table): Add z16 as cpu string. + * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to + PF_Z16. + (TARGET_CPU_ARCH14): Rename to ... + (TARGET_CPU_Z16): ... this. + (TARGET_CPU_ARCH14_P): Rename to ... + (TARGET_CPU_Z16_P): ... this. + (TARGET_ARCH14): Rename to ... + (TARGET_Z16): ... this. + (TARGET_ARCH14_P): Rename to ... + (TARGET_Z16_P): ... this. + * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and + check TARGET_Z16 instead of TARGET_ARCH14. + * config/s390/s390.opt: Add z16 to processor_type. + * doc/invoke.texi: Document z16 and arch14. + +2022-04-12 chenglulu <chenglulu@loongson.cn> + + * config/loongarch/loongarch.cc: Fix bug for + tmpdir-g++.dg-struct-layout-1/t033. + +2022-04-11 Peter Bergner <bergner@linux.ibm.com> + + PR target/104894 + * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls + to longcall functions. + +2022-04-11 Jason Merrill <jason@redhat.com> + + * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos. + +2022-04-11 Segher Boessenkool <segher@kernel.crashing.org> + + PR target/105213 + PR target/103623 + * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative. + +2022-04-11 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105218 + * tree-ssa-phiopt.cc (value_replacement): If middle_bb has + more than one predecessor or phi's bb more than 2 predecessors, + reset phi result uses instead of adding a debug temp. + +2022-04-11 Kito Cheng <kito.cheng@sifive.com> + + PR target/104853 + * config.gcc: Pass -misa-spec to arch-canonicalize and + multilib-generator. + * config/riscv/arch-canonicalize: Adding -misa-spec option. + (SUPPORTED_ISA_SPEC): New. + (arch_canonicalize): New argument `isa_spec`. + Handle multiple ISA spec versions. + * config/riscv/multilib-generator: Adding -misa-spec option. + +2022-04-11 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/arch-canonicalize: Add TODO item. + (IMPLIED_EXT): Sync. + (arch_canonicalize): Checking until no change. + +2022-04-11 Tamar Christina <tamar.christina@arm.com> + + PR target/105197 + * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when + not masked. + +2022-04-11 Jason Merrill <jason@redhat.com> + + PR c++/100370 + * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require + deref == -1. + +2022-04-11 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104639 + * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h. + (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3 + into x != cst3. + +2022-04-11 Jeff Law <jeffreyalaw@gmail.com> + + * config/bfin/bfin.md (rol_one): Fix pattern to indicate the + sign bit of the source ends up in CC. + +2022-04-09 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/103376 + * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition + flag. + +2022-04-09 Jan Hubicka <hubicka@ucw.cz> + + * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate + nondeterministic and side_effects flags. + +2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR target/105157 + * config.gcc: Shift ext_mask by TARGET_CPU_NBITS. + * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro. + (TARGET_CPU_MASK): Likewise. + (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS. + * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK. + (aarch64_get_arch): Likewise. + (aarch64_override_options): Use TARGET_CPU_NBITS. + +2022-04-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105198 + * tree-predcom.cc (find_looparound_phi): Check whether + the found memory location of the entry value is clobbered + inbetween the value we want to use and loop entry. + +2022-04-08 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105189 + * fold-const.cc (make_range_step): Fix up handling of + (unsigned) x +[low, -] ranges for signed x if low fits into + typeof (x). + +2022-04-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105175 + * tree-vect-stmts.cc (vectorizable_operation): Suppress + -Wvector-operation-performance if using emulated vectors. + * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose + -Wvector-operation-performance when suppressed. + (expand_vector_parallel): Likewise. + (expand_vector_comparison): Likewise. + (expand_vector_condition): Likewise. + (lower_vec_perm): Likewise. + (expand_vector_conversion): Likewise. + +2022-04-07 Tamar Christina <tamar.christina@arm.com> + + PR target/104409 + * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New. + (aarch64_general_init_builtins): Move LS64 code. + * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support + arm_acle.h + * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New. + * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h". + +2022-04-07 Richard Biener <rguenther@suse.de> + Jan Hubicka <hubicka@ucw.cz> + + PR ipa/104303 + * tree-ssa-alias.h (ptr_deref_may_alias_global_p, + ref_may_alias_global_p, ref_may_alias_global_p, + stmt_may_clobber_global_p, pt_solution_includes_global): Add + bool parameters indicating whether escaped locals should be + considered global. + * tree-ssa-structalias.cc (pt_solution_includes_global): + When the new escaped_nonlocal_p flag is true also consider + pt->vars_contains_escaped. + * tree-ssa-alias.cc (ptr_deref_may_alias_global_p): + Pass down new escaped_nonlocal_p flag. + (ref_may_alias_global_p): Likewise. + (stmt_may_clobber_global_p): Likewise. + (ref_may_alias_global_p_1): Likewise. For decls also + query the escaped solution if true. + (ref_may_access_global_memory_p): Remove. + (modref_may_conflict): Use ref_may_alias_global_p with + escaped locals considered global. + (ref_maybe_used_by_stmt_p): Adjust. + * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p): + Likewise. + * tree-ssa-dse.cc (dse_classify_store): Likewise. + * trans-mem.cc (thread_private_new_memory): Likewise, but + consider escaped locals global. + * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise. + +2022-04-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105185 + * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify + modref query again. + +2022-04-07 Tamar Christina <tamar.christina@arm.com> + + PR target/104049 + * config/aarch64/aarch64-simd.md + (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to... + (reduc_plus_scal_<mode>): ... This. + (reduc_plus_scal_v4sf): Moved. + (aarch64_reduc_plus_internalv2si): Fix RTL and rename to... + (reduc_plus_scal_v2si): ... This. + +2022-04-07 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/102586 + * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base + langhook. + * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define. + (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it. + * gimple-fold.cc (clear_padding_type): Use ftype instead of + TREE_TYPE (field) some more. For artificial FIELD_DECLs without + name try the lang_hooks.types.classtype_as_base langhook and + if it returns non-NULL, use that instead of ftype for recursive call. + +2022-04-07 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105150 + * tree.cc (tree_builtin_call_types_compatible_p): New function. + (get_call_combined_fn): Use it. + +2022-04-07 Richard Biener <rguenther@suse.de> + + PR middle-end/105165 + * tree-complex.cc (expand_complex_asm): Sorry for asm goto + _Complex outputs. + +2022-04-07 liuhongt <hongtao.liu@intel.com> + + * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask): + Removed. + (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns + for mask_applied. + (<code><mode>3<mask_name>): Ditto. + (*<code><mode>3<mask_name>): Ditto. + (VFB_128_256): Adjust condition of V8HF/V16HFmode according to + real instruction. + (VFB_512): Ditto. + (VFB): Ditto. + +2022-04-06 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/104985 + * combine.cc (struct undo): Add where.regno member. + (do_SUBST_MODE): Rename to ... + (subst_mode): ... this. Change first argument from rtx * into int, + operate on regno_reg_rtx[regno] and save regno into where.regno. + (SUBST_MODE): Remove. + (try_combine): Use subst_mode instead of SUBST_MODE, change first + argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use + regno_reg_rtx[undo->where.regno] instead of *undo->where.r. + (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno] + instead of *undo->where.r. + (simplify_set): Use subst_mode instead of SUBST_MODE, change first + argument from regno_reg_rtx[whatever] to whatever. + +2022-04-06 Jakub Jelinek <jakub@redhat.com> + + PR target/105069 + * config/sh/sh.opt (mdiv=): Add Save. + +2022-04-06 Martin Liska <mliska@suse.cz> + + PR driver/105096 + * common.opt: Document properly based on what it does. + * gcc.cc (display_help): Unify with what we have in common.opt. + * opts.cc (common_handle_option): Do not print undocumented + options. + +2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang> + + * config/mips/mips.cc (mips_fpr_return_fields): Ignore + cxx17_empty_base_field_p fields and set an indicator. + (mips_return_in_msb): Adjust for mips_fpr_return_fields change. + (mips_function_value_1): Inform psABI change about C++17 empty + bases. + +2022-04-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105150 + * gimple.cc (gimple_builtin_call_types_compatible_p): Use + builtin_decl_explicit here... + (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than + here. + +2022-04-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105173 + * tree-ssa-reassoc.cc (find_insert_point): Get extra + insert_before output argument and compute it. + (insert_stmt_before_use): Adjust. + (rewrite_expr_tree): Likewise. + +2022-04-06 Richard Biener <rguenther@suse.de> + + PR ipa/105166 + * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail + out for non-pointer arguments. + +2022-04-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105163 + * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating + negated abnormals. + +2022-04-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105150 + * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn): + For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p + preferrably on builtin_decl_explicit decl rather than fndecl. + * tree-ssa-strlen.cc (valid_builtin_call): Don't call + gimple_builtin_call_types_compatible_p here. + +2022-04-06 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/103761 + * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace + the ncopies parameter with an slp_node parameter. Calculate the + number of vectors based on it and vectype. Rename lambda to + group_memory_nvectors. + (vectorizable_store, vectorizable_load): Update calls accordingly. + +2022-04-06 Martin Liska <mliska@suse.cz> + + * doc/invoke.texi: Document it. + +2022-04-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105148 + * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands + 2 and 3 of ARRAY_REFs. + +2022-04-06 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI. + (*andnottf3): Replace with... + (*andnot<mode>3): New define_insn using ANDNOT_MODE. + +2022-04-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105142 + * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted + basic-block parameter. + (maybe_fold_or_comparisons): Likewise. + * gimple-fold.cc (follow_outer_ssa_edges): New. + (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges + when an outer condition basic-block is specified. + (and_comparisons_1, and_var_with_comparison, + and_var_with_comparison_1, or_comparisons_1, + or_var_with_comparison, or_var_with_comparison_1): Receive and pass + down the outer condition basic-block. + * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the + basic-block of the outer condition. + +2022-04-06 Kewen Lin <linkw@linux.ibm.com> + + PR target/105002 + * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more + comparison codes UNLT/UNLE/UNGT/UNGE. + +2022-04-05 David Malcolm <dmalcolm@redhat.com> + + * doc/extend.texi (Common Function Attributes): Document that + 'access' does not imply 'nonnull'. + +2022-04-05 Uroš Bizjak <ubizjak@gmail.com> + + PR target/105139 + * config/i386/mmx.md (*movv2qi_internal): + Change insn mode of alternative 5 to HF for TARGET_AVX512FP16. + +2022-04-05 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a + define_expand and turn operands 0 and 1 from REGs to MEMs. + (*aarch64_cpymemdi): New pattern. + (aarch64_setmemdi): Turn into a define_expand and turn operand 0 + from a REG to a MEM. + (*aarch64_setmemdi): New pattern. + * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use + copy_to_mode_reg on all three registers. Replace the original + MEM addresses rather than creating wild reads and writes. + (aarch64_expand_setmem_mops): Likewise for the size and for the + destination memory and address. + +2022-04-05 Richard Sandiford <richard.sandiford@arm.com> + + PR target/103147 + * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class. + * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit + from aarch64_simd_switcher. + * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes): + New variable. + (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE. + (register_tuple_type): Add more asserts. Expect the alignment + of the structure to be subject to flag_pack_struct and + maximum_field_alignment. Set aarch64_simd_tuple_modes. + (aarch64_simd_switcher::aarch64_simd_switcher): New function. + (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise. + (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout. + (aarch64_general_init_builtins): Hold an aarch64_simd_switcher + while calling aarch64_init_simd_builtins. + * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher) + (sve_switcher::~sve_switcher): Remove code now performed by + aarch64_simd_switcher. + +2022-04-05 Richard Sandiford <richard.sandiford@arm.com> + + PR target/104897 + * config/aarch64/aarch64-sve-builtins.cc + (function_resolver::infer_vector_or_tuple_type): Use error_n + for "%d vectors" messages. + +2022-04-05 Chung-Lin Tang <cltang@codesourcery.com> + + * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as + argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from + current clause. + +2022-04-05 Richard Biener <rguenther@suse.de> + + PR c/105151 + * passes.def (pass_walloca): Move early instance into + pass_build_ssa_passes to make SSA form available. + +2022-04-05 liuhongt <hongtao.liu@intel.com> + + PR target/101908 + * config/i386/i386.cc (ix86_split_stlf_stall_load): New + function + (ix86_reorg): Call ix86_split_stlf_stall_load. + * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New + param. + +2022-04-05 Alexandre Oliva <oliva@adacore.com> + + * targhooks.cc (default_zero_call_used_regs): Attempt to group + regs that the target refuses to use in their natural modes. + (zcur_select_mode_rtx): New. + * regs.h (struct target_regs): Add x_hard_regno_max_nregs. + (hard_regno_max_nregs): Define. + * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs. + +2022-04-04 Alex Coplan <alex.coplan@arm.com> + + * doc/match-and-simplify.texi: Fix typos. + +2022-04-04 Jakub Jelinek <jakub@redhat.com> + + PR target/105144 + * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change + only if configured with --enable-maintainer-mode, otherwise compare + tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and + if they differ, emit a message and fail. + +2022-04-04 Jakub Jelinek <jakub@redhat.com> + + PR target/105144 + * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md. + * config/aarch64/aarch64-tune.md: Regenerated. + +2022-04-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105132 + * tree-vect-stmts.cc (vectorizable_operation): Check that + the input vectors have the same number of elements. + +2022-04-04 Richard Biener <rguenther@suse.de> + + PR middle-end/105140 + * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg. + +2022-04-03 Jeff Law <jeffreyalaw@gmail.com> + + PR target/104987 + * config/iq2000/iq2000.md (bbi): New attribute, default to no. + (delay slot descripts): Use different delay slot description when + the insn as the "bbi" attribute. + (bbi, bbin patterns): Set the bbi attribute to yes. + +2022-04-03 Jakub Jelinek <jakub@redhat.com> + + PR target/105123 + * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid + using word as target for expand_simple_binop when doing ASHIFT and + IOR. + +2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang> + + * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is + NULL before dereferencing it. + +2022-04-01 Qing Zhao <qing.zhao@oracle.com> + + * config/i386/i386.cc (zero_all_st_registers): Return the value of + num_of_st. + (ix86_zero_call_used_regs): Update zeroed_hardregs set according to + the return value of zero_all_st_registers. + * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS. + * function.cc (gen_call_used_regs_seq): Add an assertion. + * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS. + +2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang> + + PR target/102024 + * config/mips/mips.cc (mips_function_arg): Ignore zero-width + fields, and inform if it causes a psABI change. + +2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang> + + PR target/102024 + * config/mips/mips.cc (mips_fpr_return_fields): Detect C++ + zero-width bit-fields and set up an indicator. + (mips_return_in_msb): Adapt for mips_fpr_return_fields change. + (mips_function_value_1): Diagnose when the presense of a C++ + zero-width bit-field changes function returning in GCC 12. + +2022-04-01 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104645 + * tree-ssa-phiopt.cc (value_replacement): If assign has + CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation + statement with constant evaluation. + +2022-04-01 YunQiang Su <yunqiang.su@cipunited.com> + + * config/mips/mips.cc (mips_expand_prologue): + IPL is 8bit for MCU ASE. + +2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com> + + PR target/104004 + * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft. + (MTFSB0): Likewise. + (MTFSB1): Likewise. + (SET_FPSCR_RN): Likewise. + (SET_FPSCR_DRN): Mark nosoft and no32bit. + +2022-03-31 Thomas Schwinge <thomas@codesourcery.com> + + * doc/options.texi (Option file format): Clarifications around + option definition records' help texts. + +2022-03-31 Thomas Schwinge <thomas@codesourcery.com> + + * optc-gen.awk <END>: Fix "Multiple different help strings" error + diagnostic. + +2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/aarch64/aarch64.cc (aarch64_vector_costs): Define + determine_suggested_unroll_factor and m_has_avg. + (determine_suggested_unroll_factor): New function. + (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern + to set m_nosve_pattern. + (aarch64_vector_costs::finish_costs): Use + determine_suggested_unroll_factor. + * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New. + * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option. + +2022-03-31 Martin Jambor <mjambor@suse.cz> + + PR ipa/103083 + * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null; + (ipa_get_jf_ancestor_keep_null): New function. + * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the + ancestor function. + (compute_complex_assign_jump_func): Pass false to keep_null + parameter of ipa_set_ancestor_jf. + (compute_complex_ancestor_jump_func): Pass true to keep_null + parameter of ipa_set_ancestor_jf. + (update_jump_functions_after_inlining): Carry over keep_null from the + original ancestor jump-function or merge them. + (ipa_write_jump_function): Stream keep_null flag. + (ipa_read_jump_function): Likewise. + (ipa_print_node_jump_functions_for_edge): Print the new flag. + * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New + member function known_nonzero_p. + (ipcp_bits_lattice::known_nonzero_p): New. + (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones, + observe it. + (ipcp_bits_lattice::meet_with): Likewise. + (propagate_bits_across_jump_function): Simplify. Pass true in + drop_all_ones when it is necessary. + (propagate_aggs_across_jump_function): Take care of keep_null + flag. + (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null + jump functions. + +2022-03-31 Martin Jambor <mjambor@suse.cz> + + PR ipa/102513 + * ipa-cp.cc (decide_whether_version_node): Skip scalar values + which do not fit the known value_range. + +2022-03-31 Martin Jambor <mjambor@suse.cz> + + PR ipa/103171 + * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference + always when an ADDR_EXPR constant is known to reach a load because + of inlining, not just when removing an ADDR reference. + +2022-03-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105109 + * tree-ssa.cc (execute_update_addresses_taken): Suppress + diagnostics on the load of the other complex component. + +2022-03-31 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30. + +2022-03-31 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/105091 + * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF + bases. + +2022-03-31 Richard Biener <rguenther@suse.de> + + Revert: + 2021-09-13 Richard Earnshaw <rearnsha@arm.com> + + PR target/102125 + * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding + memcpy if the size is not more than MOVE_MAX * MOVE_RATIO. + +2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * gcov-io.cc (gcov_read_string): Reword documentation comment. + +2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec] + stanza. + (NEG_V4SF): Likewise. + (NEG_V4SI): Likewise. + (NEG_V8HI): Likewise. + (NEG_V2DF): Move to [vsx] stanza. + (NEG_V2DI): Likewise. + +2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com> + + PR middle-end/105032 + * lra-assigns.cc (find_reload_regno_insns): Modify loop condition. + +2022-03-30 Tom de Vries <tdevries@suse.de> + Tobias Burnus <tobias@codesourcery.com> + + * doc/invoke.texi (march): Document __PTX_SM__. + (mptx): Document __PTX_ISA_VERSION_MAJOR__ and + __PTX_ISA_VERSION_MINOR__. + +2022-03-30 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/105093 + * ubsan.cc (instrument_object_size): If t is equal to inner and + is a decl other than global var, punt. When emitting call to + UBSAN_OBJECT_SIZE ifn, make sure base is addressable. + +2022-03-30 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105094 + * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if + bitsize <= 0 rather than just == 0. + +2022-03-30 Tom de Vries <tdevries@suse.de> + + * doc/invoke.texi (misa, mptx): Update. + (march, march-map): Add. + +2022-03-30 Thomas Schwinge <thomas@codesourcery.com> + + * opt-functions.awk (n_args): New function. + (lang_enabled_by): Merge function into... + * optc-gen.awk <END>: ... sole user here. + Improve diagnostics. + +2022-03-29 Marek Polacek <polacek@redhat.com> + Jakub Jelinek <jakub@redhat.com> + + PR middle-end/103597 + * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps + into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P. + (gimplify_cond_expr): Set UNUSED_LABEL_P. + * tree.h (UNUSED_LABEL_P): New. + +2022-03-29 Michael Meissner <meissner@linux.ibm.com> + + * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to + be any VSX register. + +2022-03-29 Richard Earnshaw <rearnsha@arm.com> + + PR target/102024 + * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle + zero-sized bit-fields. Detect cases where a warning may be needed. + (aarch64_vfp_is_call_or_return_candidate): Emit a note if a + zero-sized bit-field has caused parameter passing to change. + +2022-03-29 Richard Earnshaw <rearnsha@arm.com> + + PR target/102024 + * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized + bit-fields. Detect cases where a warning may be needed. + (aapcs_vfp_is_call_or_return_candidate): Emit a note if + a zero-sized bit-field has caused parameter passing to change. + +2022-03-29 Richard Earnshaw <rearnsha@arm.com> + + PR target/96882 + * config/arm/arm.cc (arm_get_pcs_model): Disable selection of + ARM_PCS_AAPCS_LOCAL. + +2022-03-29 Tom de Vries <tdevries@suse.de> + + PR target/104857 + * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit + __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__. + * config/nvptx/nvptx.cc (ptx_version_to_number): New function. + * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare. + +2022-03-29 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.opt (m64): Update help text to reflect that it + is ignored. + +2022-03-29 Tom de Vries <tdevries@suse.de> + + PR target/104714 + * config/nvptx/nvptx.opt (march-map=*): Add aliases. + +2022-03-29 Jan Hubicka <hubicka@ucw.cz> + + * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test + TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS. + * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro. + (TARGET_USE_GATHER_4PARTS): New macro. + * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune + (X86_TUNE_USE_GATHER_4PARTS): New tune + +2022-03-29 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.opt (march): Add alias of misa. + +2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> + Lulu Cheng <chenglulu@loongson.cn> + + * doc/install.texi: Add LoongArch options section. + * doc/invoke.texi: Add LoongArch options section. + * doc/md.texi: Add LoongArch options section. + +2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> + Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch-c.cc + +2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> + Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/larchintrin.h: New file. + * config/loongarch/loongarch-builtins.cc: New file. + +2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> + Lulu Cheng <chenglulu@loongson.cn> + + * config/host-linux.cc: Add LoongArch support. + * config/loongarch/loongarch-protos.h: New file. + * config/loongarch/loongarch-tune.h: Likewise. + * config/loongarch/loongarch.cc: Likewise. + * config/loongarch/loongarch.h: Likewise. + +2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> + Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/constraints.md: New file. + * config/loongarch/generic.md: New file. + * config/loongarch/la464.md: New file. + * config/loongarch/loongarch-ftypes.def: New file. + * config/loongarch/loongarch-modes.def: New file. + * config/loongarch/loongarch.md: New file. + * config/loongarch/predicates.md: New file. + * config/loongarch/sync.md: New file. + +2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> + Lulu Cheng <chenglulu@loongson.cn> + + * configure: Regenerate file. + +2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> + Lulu Cheng <chenglulu@loongson.cn> + + * common/config/loongarch/loongarch-common.cc: New file. + * config/loongarch/genopts/genstr.sh: New file. + * config/loongarch/genopts/loongarch-strings: New file. + * config/loongarch/genopts/loongarch.opt.in: New file. + * config/loongarch/loongarch-str.h: New file. + * config/loongarch/gnu-user.h: New file. + * config/loongarch/linux.h: New file. + * config/loongarch/loongarch-cpu.cc: New file. + * config/loongarch/loongarch-cpu.h: New file. + * config/loongarch/loongarch-def.c: New file. + * config/loongarch/loongarch-def.h: New file. + * config/loongarch/loongarch-driver.cc: New file. + * config/loongarch/loongarch-driver.h: New file. + * config/loongarch/loongarch-opts.cc: New file. + * config/loongarch/loongarch-opts.h: New file. + * config/loongarch/loongarch.opt: New file. + * config/loongarch/t-linux: New file. + * config/loongarch/t-loongarch: New file. + * config.gcc: Add LoongArch support. + * configure.ac: Add LoongArch support. + +2022-03-29 Thomas Schwinge <thomas@codesourcery.com> + + * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs' + typo. + +2022-03-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105080 + * tree-ssa-strlen.cc (printf_strlen_execute): Always init + loops and SCEV. + +2022-03-28 Indu Bhagat <indu.bhagat@oracle.com> + + * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead. + (output_ctf_vars): Likewise. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/59426 + * doc/extend.texi: Refer to __is_trivial instead of __is_pod. + +2022-03-28 H.J. Lu <hjl.tools@gmail.com> + + PR target/105068 + * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with + "Yw" in clobber. + +2022-03-28 Tom de Vries <tdevries@suse.de> + + PR target/104818 + * config/nvptx/gen-opt.sh (ptx_isa): Improve help text. + * config/nvptx/nvptx-gen.opt: Regenerate. + * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text. + * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on + gen-opt.sh. + +2022-03-28 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104308 + * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing + to loads then stores, set the location of the new load stmt. + +2022-03-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105070 + * tree-switch-conversion.h + (bit_test_cluster::hoist_edge_and_branch_if_true): Add location + argument. + * tree-switch-conversion.cc + (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate + cond with location. + (bit_test_cluster::emit): Annotate all generated expressions + with location. + +2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry. + +2022-03-28 liuhongt <hongtao.liu@intel.com> + + PR target/105066 + * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of + alternative 4 from sse4_noavx to noavx. + +2022-03-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105056 + * tree-predcom.cc (component::component): Initialize also comp_step. + +2022-03-27 H.J. Lu <hjl.tools@gmail.com> + + PR target/105068 + * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with + "Yw". + +2022-03-26 Roger Sayle <roger@nextmovesoftware.com> + + PR middle-end/104885 + * calls.cc (mark_stack_region_used): Check that the region + is within the allocated size of stack_usage_map. + +2022-03-26 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/103775 + * recog.cc (check_invalid_inc_dec): New function. + (insn_invalid_p): Return 1 if REG_INC operand overlaps + any stored REGs. + +2022-03-26 H.J. Lu <hjl.tools@gmail.com> + + PR target/105058 + * config/i386/sse.md (loadiwkey): Replace "v" with "x". + (aes<aesklvariant>u8): Likewise. + +2022-03-26 H.J. Lu <hjl.tools@gmail.com> + + PR target/105052 + * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3): + Replace "Yv" with "x". + (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise. + (ssse3_psign<mode>3): Likewise. + +2022-03-26 Hans-Peter Nilsson <hp@axis.com> + + * reload.cc (find_reloads): Align comment with code where + considering the intersection of register classes then tweaking the + regclass for the current alternative or rejecting it. + +2022-03-25 Christophe Lyon <christohe.lyon@arm.com> + + PR target/104882 + Revert + 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete. + (mve_vec_unpack<US>_hi_<mode>): Delete. + (@mve_vec_pack_trunc_lo_<mode>): Delete. + (mve_vmovntq_<supf><mode>): Remove '@' prefix. + * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back + from vec-common.md. + (vec_unpack<US>_lo_<mode>): Likewise. + (vec_pack_trunc_<mode>): Rename from + neon_quad_vec_pack_trunc_<mode>. + * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete. + (vec_unpack<US>_lo_<mode>): Delete. + (vec_pack_trunc_<mode>): Delete. + +2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com> + + PR middle-end/104971 + * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard + regs to clear remove_p flag. + +2022-03-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105053 + * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick + the correct live-out stmt for a reduction chain. + +2022-03-25 Richard Biener <rguenther@suse.de> + + PR middle-end/105049 + * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or + CONSTRUCTOR first elements. + +2022-03-25 Tobias Burnus <tobias@codesourcery.com> + + PR analyzer/103533 + * doc/invoke.texi (Static Analyzer Options): Move + @ignore block after @gccoptlist's '}' for 'make pdf'. + +2022-03-25 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104954 + * doc/invoke.texi (Static Analyzer Options): Add + -fdump-analyzer-untracked. + +2022-03-25 Avinash Sonawane <rootkea@gmail.com> + + PR analyzer/103533 + * doc/invoke.texi: Document that enabling taint analyzer + checker disables some warnings from `-fanalyzer`. + +2022-03-24 Alexandre Oliva <oliva@adacore.com> + + PR debug/104564 + * gimple-harden-conditionals.cc (detach_value): Keep temps + anonymous. + +2022-03-24 Alexandre Oliva <oliva@adacore.com> + + PR middle-end/104975 + * gimple-harden-conditionals.cc + (pass_harden_compares::execute): Force split in case of + multiple edges. + +2022-03-24 Jakub Jelinek <jakub@redhat.com> + + PR c++/105035 + * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either + field0 or field1 is not a FIELD_DECL, return false. + +2022-03-24 Richard Biener <rguenther@suse.de> + + * tree-predcom.cc (chain::chain): Add CTOR. + (component::component): Likewise. + (pcom_worker::release_chain): Use delete. + (release_components): Likewise. + (pcom_worker::filter_suitable_components): Likewise. + (pcom_worker::split_data_refs_to_components): Use new. + (make_invariant_chain): Likewise. + (make_rooted_chain): Likewise. + (pcom_worker::combine_chains): Likewise. + * tree-vect-loop.cc (vect_create_epilog_for_reduction): + Make sure to release previously constructed scalar_results. + * tree-vect-stmts.cc (vectorizable_load): Use auto_vec + for vec_offsets. + * vr-values.cc (simplify_using_ranges::~simplify_using_ranges): + Release m_flag_set_edges. + +2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR tree-optimization/104970 + * tree-object-size.cc (parm_object_size): Restrict size + computation scenarios to explicit access attributes. + +2022-03-24 Kewen Lin <linkw@linux.ibm.com> + + PR target/104967 + * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null + function types. + +2022-03-23 Richard Biener <rguenther@suse.de> + + PR target/102125 + * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the + use of movmisalign when either the source or destination + decl is properly aligned. + +2022-03-23 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/105028 + * ira-color.cc (form_threads_from_copies): Remove unnecessary + copying of the sorted_copies tail. + +2022-03-23 Martin Liska <mliska@suse.cz> + + * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): + Use %qs in format. + * config/rs6000/rs6000.cc (rs6000_option_override_internal): + Reword the error message. + +2022-03-23 liuhongt <hongtao.liu@intel.com> + + PR target/104976 + * config/i386/sse.md (ssePSmodelower): New. + (*avx_cmp<mode>3_ltint_not): Force_reg operand before + lowpart_subreg to avoid NULL_RTX. + (<avx512>_fmaddc_<mode>_mask1<round_expand_name>, + <avx512>_fcmaddc_<mode>_mask1<round_expand_name>, + fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst, + <avx512>_<complexopname>_<mode>_mask<round_name>, + avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>, + avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>, + avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>, + avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>, + float<floatunssuffix><mode>v4hf2, + float<floatunssuffix>v2div2hf2, + fix<fixunssuffix>_truncv4hf<mode>2, + fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2, + extendv2hfv2df2, + trunc<mode>v4hf2,truncv2dfv2hf2, + *avx512bw_permvar_truncv16siv16hi_1, + *avx512bw_permvar_truncv16siv16hi_1_hf, + *avx512f_permvar_truncv8siv8hi_1, + *avx512f_permvar_truncv8siv8hi_1_hf, + *avx512f_vpermvar_truncv8div8si_1, + *avx512f_permvar_truncv32hiv32qi_1, + *avx512f_permvar_truncv16hiv16qi_1, + *avx512f_permvar_truncv4div4si_1, + *avx512f_pshufb_truncv8hiv8qi_1, + *avx512f_pshufb_truncv4siv4hi_1, + *avx512f_pshufd_truncv2div2si_1, + sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1, + ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto. + +2022-03-22 Tom de Vries <tdevries@suse.de> + + PR target/104925 + * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"): + Use % as register prefix. + +2022-03-22 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p) + (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for + mexperimental. + +2022-03-22 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.opt (mexperimental): New option. + +2022-03-22 Tom de Vries <tdevries@suse.de> + + PR target/104957 + * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare. + * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker + for alias. + (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def. + (nvptx_asm_output_def_from_decls): New function. + * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to + gcc_unreachable (). + (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to + nvptx_asm_output_def_from_decls. + * config/nvptx/nvptx.opt (malias): New opt. + +2022-03-22 Tom de Vries <tdevries@suse.de> + + PR target/104916 + PR target/104783 + * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp + sync (or uniform warp check for mptx < 6.0). + +2022-03-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105012 + * tree-if-conv.cc (ifcvt_local_dce): Only call + dse_classify_store when we have a VDEF. + +2022-03-22 Martin Liska <mliska@suse.cz> + + PR target/104902 + * config/nvptx/nvptx.cc (handle_ptx_version_option): + Fix option wrapping in an error message. + +2022-03-22 Martin Liska <mliska@suse.cz> + + PR target/104903 + * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): + Wrap const keyword. + +2022-03-22 Martin Liska <mliska@suse.cz> + + * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma + name. + +2022-03-22 Martin Liska <mliska@suse.cz> + + PR target/104898 + * config/rs6000/rs6000.cc (rs6000_option_override_internal): + Use %qs instead of (%qs). + +2022-03-22 Martin Liska <mliska@suse.cz> + + PR target/104898 + * config/i386/i386-options.cc (ix86_option_override_internal): + Use '%qs' instead of '(%qs)'. + +2022-03-22 Martin Liska <mliska@suse.cz> + + PR target/104898 + * config/aarch64/aarch64.cc (aarch64_handle_attr_arch): + Use 'qs' and remove usage '(%qs)'. + (aarch64_handle_attr_cpu): Likewise. + (aarch64_handle_attr_tune): Likewise. + (aarch64_handle_attr_isa_flags): Likewise. + +2022-03-22 Tamar Christina <tamar.christina@arm.com> + Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning + struct. + (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int + cost. + (neoverse512tvb_tunings): Likewise. + +2022-03-22 Tamar Christina <tamar.christina@arm.com> + Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/aarch64/aarch64.cc (demeter_addrcost_table, + demeter_regmove_cost, demeter_advsimd_vector_cost, + demeter_sve_vector_cost, demeter_scalar_issue_info, + demeter_advsimd_issue_info, demeter_sve_issue_info, + demeter_vec_issue_info, demeter_vector_cost, + demeter_tunings): New tuning structs. + (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter + tuning. + * config/aarch64/aarch64-cores.def: Add entry for demeter. + * config/aarch64/aarch64-tune.md (tune): Add demeter to list. + +2022-03-22 Tamar Christina <tamar.christina@arm.com> + Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct. + (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost. + * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all + tunings to use cpu_memmov_cost struct. + +2022-03-22 Tamar Christina <tamar.christina@arm.com> + Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/aarch64/aarch64.cc (neoversen2_addrcost_table, + neoversen2_regmove_cost, neoversen2_advsimd_vector_cost, + neoversen2_sve_vector_cost, neoversen2_scalar_issue_info, + neoversen2_advsimd_issue_info, neoversen2_sve_issue_info, + neoversen2_vec_issue_info, neoversen2_tunings): New structs. + (neoversen2_tunings): Use new structs and update tuning flags. + (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2 + tuning. + +2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature + bit. + +2022-03-22 liuhongt <hongtao.liu@intel.com> + + PR target/104982 + * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the + following splitter to reversed condition. + +2022-03-22 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/104989 + * calls.cc (expand_call): Don't set ECF_NORETURN in flags after + sorry for passing too large argument, instead set sibcall_failure + for pass == 0, or a new normal_failure flag otherwise. If + normal_failure is set, don't assert all stack has been deallocated + at the end and throw away the whole insn sequence. + +2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com> + + * print-tree.cc: Change array length + +2022-03-22 Hongyu Wang <hongyu.wang@intel.com> + + PR target/104978 + * config/i386/sse.md + (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name): + Use avx512f_movsf_mask instead of vmovaps or vblend, and + force_reg before lowpart_subreg. + (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise. + +2022-03-21 H.J. Lu <hjl.tools@gmail.com> + + PR target/105000 + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace + OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET. + +2022-03-21 H.J. Lu <hjl.tools@gmail.com> + + PR target/104998 + * common/config/i386/cpuinfo.h (get_available_features): Pass + 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if + bit_AESKLE is set. + +2022-03-21 Richard Sandiford <richard.sandiford@arm.com> + + PR middle-end/104869 + * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare. + (clobber_group::next_clobber): Likewise. + (def_lookup::prev_def): Rename to... + (def_lookup::last_def_of_prev_group): ...this. + (def_lookup::next_def): Rename to... + (def_lookup::first_def_of_next_group): ...this. + (def_lookup::matching_or_prev_def): Rename to... + (def_lookup::matching_set_or_last_def_of_prev_group): ...this. + (def_lookup::matching_or_next_def): Rename to... + (def_lookup::matching_set_or_first_def_of_next_group): ...this. + (def_lookup::prev_def): New function, taking the lookup insn as + argument. + (def_lookup::next_def): Likewise. + * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to... + (def_lookup::last_def_of_prev_group): ...this. + (def_lookup::next_def): Rename to... + (def_lookup::first_def_of_next_group): ...this. + (def_lookup::matching_or_prev_def): Rename to... + (def_lookup::matching_set_or_last_def_of_prev_group): ...this. + (def_lookup::matching_or_next_def): Rename to... + (def_lookup::matching_set_or_first_def_of_next_group): ...this. + * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after + above renaming. + * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function. + (clobber_group::next_clobber): Likewise. + (def_lookup::prev_def): Likewise. + (def_lookup::next_def): Likewise. + (function_info::make_use_available): Pass the lookup insn to + def_lookup::prev_def and def_lookup::next_def. + +2022-03-21 Martin Liska <mliska@suse.cz> + + * doc/invoke.texi: Document min-pagesize parameter. + +2022-03-21 Richard Biener <rguenther@suse.de> + + * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump + we are estimating niter of loop. + +2022-03-21 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.cc (riscv_ext_flag_table): + Update flag name and mask name. + * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define + misc macro for vector extensions. + * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ... + (MASK_VECTOR_ELEN_32): ... this. + (MASK_VECTOR_EEW_64): Rename to ... + (MASK_VECTOR_ELEN_64): ... this. + (MASK_VECTOR_EEW_FP_32): Rename to ... + (MASK_VECTOR_ELEN_FP_32): ... this. + (MASK_VECTOR_EEW_FP_64): Rename to ... + (MASK_VECTOR_ELEN_FP_64): ... this. + (TARGET_VECTOR_ELEN_32): New. + (TARGET_VECTOR_ELEN_64): Ditto. + (TARGET_VECTOR_ELEN_FP_32): Ditto. + (TARGET_VECTOR_ELEN_FP_64): Ditto. + (TARGET_MIN_VLEN): Ditto. + * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ... + (riscv_vector_elen_flags): ... this. + +2022-03-21 Hongyu Wang <hongyu.wang@intel.com> + + PR target/104977 + * config/i386/sse.md + (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>): + Correct round operand for intel dialect. + +2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com> + + * diagnostic.cc (diagnostic_cc_tests): Rename to... + (c_diagnostic_cc_tests): ...this. + * opt-problem.cc (opt_problem_cc_tests): Rename to... + (c_opt_problem_cc_tests): ...this. + * selftest-run-tests.cc (selftest::run_tests): No longer run + opt_problem_cc_tests or diagnostic_cc_tests. + * selftest.h (diagnostic_cc_tests): Remove declaration. + (opt_problem_cc_tests): Likewise. + +2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> + + PR jit/63854 + * hash-traits.h (struct typed_const_free_remove): New. + (struct free_string_hash): New. + * pass_manager.h: Use free_string_hash. + * passes.cc (pass_manager::register_pass_name): Use free_string_hash. + (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map. + +2022-03-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104971 + * config/i386/i386-expand.cc + (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore, + don't push/pop anything and just return const0_rtx. + +2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/104961 + * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber. + +2022-03-18 Jason Merrill <jason@redhat.com> + + * tree.h (IDENTIFIER_LENGTH): Add comment. + +2022-03-18 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/99578 + PR middle-end/100680 + PR tree-optimization/100834 + * params.opt (--param=min-pagesize=): New parameter. + * pointer-query.cc + (compute_objsize_r) <case ARRAY_REF>: Formatting fix. + (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead + of zero for pointer constants equal or larger than min-pagesize. + +2022-03-18 Tom de Vries <tdevries@suse.de> + + * gimplify.cc (gimplify_omp_for): Set location using 'input_location'. + Set gfor location only when dealing with a OMP_TASKLOOP. + +2022-03-18 Tom de Vries <tdevries@suse.de> + + * gimplify.cc (gimplify_omp_for): Set taskloop location. + +2022-03-18 Tom de Vries <tdevries@suse.de> + + PR target/104952 + * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY + is executed unconditionally. + +2022-03-18 liuhongt <hongtao.liu@intel.com> + + PR target/104974 + * config/i386/i386.md (*movhi_internal): Set attr type from HI + to HF for alternative 12 under TARGET_AVX512FP16. + +2022-03-18 Cui,Lili <lili.cui@intel.com> + + PR target/104963 + * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX. + * doc/invoke.texi: Update documents for Intel sapphirerapids. + +2022-03-17 Roger Sayle <roger@nextmovesoftware.com> + + PR target/86722 + PR tree-optimization/90356 + * config/i386/i386.md (*movtf_internal): Don't guard + standard_sse_constant_p clause by optimize_function_for_size_p. + (*movdf_internal): Likewise. + (*movsf_internal): Likewise. + +2022-03-17 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/102943 + * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via + dominators and apply intermediary outgoing edge ranges. + +2022-03-17 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104960 + * passes.def: Add pass parameter to pass_sink_code, mark + last one to unsplit edges. + * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New. + (pass_sink_code::execute): Always execute TODO_cleanup_cfg + when we need to unsplit edges. + +2022-03-17 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/103984 + * gimplify.cc (gimplify_target_expr): Gimplify type sizes and + TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers + and asan unpoisioning, then append the temporary sequence and + finally the TARGET_EXPR_CLEANUP clobbers. + +2022-03-16 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/sse.md: Delete corrupt character/typo. + +2022-03-16 Roger Sayle <roger@nextmovesoftware.com> + + PR target/94680 + * config/i386/sse.md (sse2_movq128): New define_expand to + preserve previous named instruction. + (*sse2_movq128_<mode>): Renamed from sse2_movq128, and + generalized to VI8F_128 (both V2DI and V2DF). + +2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR tree-optimization/104941 + * tree-object-size.cc (size_for_offset): Make useless conversion + check lighter and assign result of fold_convert to OFFSET. + +2022-03-16 H.J. Lu <hjl.tools@gmail.com> + + PR target/104890 + * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before + pushing target("general-regs-only"). + +2022-03-16 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.cc (riscv_ext_version_table): + Add version info for zk, zks and zkn. + +2022-03-16 LiaoShihua <shihua@iscas.ac.cn> + + * common/config/riscv/riscv-common.cc + (riscv_combine_info): New. + (riscv_subset_list::handle_combine_ext): Combine back into zk to + maintain the canonical order in isa strings. + (riscv_subset_list::parse): Ditto. + * config/riscv/riscv-subset.h (handle_combine_ext): New. + +2022-03-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/102008 + * passes.def: Move the added code sinking pass before the + preceeding phiopt pass. + +2022-03-16 Patrick Palka <ppalka@redhat.com> + + PR c++/96780 + * doc/invoke.texi (C++ Dialect Options): Document + -ffold-simple-inlines. + +2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR tree-optimization/104942 + * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS. + +2022-03-16 Jakub Jelinek <jakub@redhat.com> + + PR target/104910 + * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy + imm rtx. + +2022-03-16 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + * gimple-match-head.cc (single_use): Implement inline using a + single loop. + +2022-03-16 Roger Sayle <roger@nextmovesoftware.com> + + * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p + instead of HONOR_NANS. + (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as + this can't trap/signal. + +2022-03-16 liuhongt <hongtao.liu@intel.com> + + PR target/104946 + * config/i386/i386-builtin.def (BDESC): Add + CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD. + * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold + __builtin_ia32_blendvpd w/o sse4.2 + +2022-03-15 Peter Bergner <bergner@linux.ibm.com> + + PR target/104923 + * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict + acceptable MEM addresses. + +2022-03-15 Jakub Jelinek <jakub@redhat.com> + + PR target/91229 + * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p, + riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0 + to warning calls. + +2022-03-15 Jakub Jelinek <jakub@redhat.com> + + PR target/104890 + * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse + instead of general-regs-only. + +2022-03-15 Roger Sayle <roger@nextmovesoftware.com> + Marc Glisse <marc.glisse@inria.fr> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/101895 + * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def. + (plus (vec_perm (mult ...) ...) ...): New reordering simplification. + +2022-03-15 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/104814 + * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't + end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL. + +2022-03-15 Martin Sebor <msebor@redhat.com> + + PR middle-end/104436 + * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores): + Check for warning suppression. Avoid by-value arguments transformed + into by-transparent-reference. + +2022-03-14 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable + transformation when *zero_extend<mode>si2 is not available. + +2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang> + + * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define. + * config/mips/mips.cc (mips_option_override): Make + -fsanitize=address imply -fasynchronous-unwind-tables. This is + needed by libasan for stack backtrace on MIPS. + (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET. + +2022-03-14 Jakub Jelinek <jakub@redhat.com> + + PR debug/104778 + * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify + SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive + call simplified the first operand into VOIDmode constant. + +2022-03-14 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/102586 + * doc/extend.texi (__builtin_clear_padding): Clearify that for C++ + argument type should be pointer to trivially-copyable type unless it + is address of a variable or parameter. + +2022-03-14 Jakub Jelinek <jakub@redhat.com> + + PR target/99754 + * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into + first rather than last element of the vector, use __m32_u to do + a really unaligned load, use just 0 instead of (int)0. + (_mm_loadu_si16): Put loaded value into first rather than last + element of the vector, use __m16_u to do a really unaligned load, + use just 0 instead of (short)0. + +2022-03-14 Jakub Jelinek <jakub@redhat.com> + + PR other/104899 + * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo + in diagnostic message - cannott -> cannot. Use %< and %> around + names of attribute. Avoid too long line. + * range-op.cc (operator_logical_and::op1_range): Fix up a typo + in comment - cannott -> cannot. Use 2 spaces after . instead of one. + +2022-03-14 liuhongt <hongtao.liu@intel.com> + + PR target/104666 + * config/i386/i386-expand.cc + (ix86_check_builtin_isa_match): New func. + (ix86_expand_builtin): Move code to + ix86_check_builtin_isa_match and call it. + * config/i386/i386-protos.h + (ix86_check_builtin_isa_match): Declare. + * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold + builtin into gimple when isa mismatches. + +2022-03-13 Tobias Burnus <tobias@codesourcery.com> + + * doc/invoke.texi: Fix typos. + * doc/tm.texi.in: Remove duplicated word. + * doc/tm.texi: Regenerate. + +2022-03-12 Segher Boessenkool <segher@kernel.crashing.org> + + PR target/104829 + * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output + "ppc" and "ppc64" based on rs6000_cpu. + +2022-03-12 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100280 + PR middle-end/104892 + * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1): + Remove special handling of 'GOMP_MAP_FORCE_TOFROM'. + +2022-03-12 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100280 + PR middle-end/104086 + * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1): + Mark variables used in 'present' clauses as addressable. + * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully + handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'. + +2022-03-12 Thomas Schwinge <thomas@codesourcery.com> + + PR other/65095 + * tree-core.h (user_omp_claus_code_name): Declare function. + * tree.cc (user_omp_clause_code_name): New function. + +2022-03-12 Roger Sayle <roger@nextmovesoftware.com> + + PR middle-end/98420 + * match.pd (minus @0 @0): Additional checks for -fno-rounding-math + (the defaut) or -fno-signed-zeros. + +2022-03-12 Michael Meissner <meissner@linux.ibm.com> + + PR target/104868 + * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when + moving from a GPR register to an Altivec register. + +2022-03-11 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/98335 + * config/i386/i386.md (peephole2): Eliminate redundant insv. + Combine movl followed by movb. Transform xorl followed by + a suitable movb or movw into the equivalent movz[bw]l. + +2022-03-11 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/98335 + * builtins.cc (get_object_alignment_2): Export. + * builtins.h (get_object_alignment_2): Likewise. + * tree-ssa-alias.cc (ao_ref_alignment): New. + * tree-ssa-alias.h (ao_ref_alignment): Declare. + * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether + to align head/tail, writing more bytes but using fewer store insns. + +2022-03-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104880 + * tree-ssa.cc (execute_update_address_taken): Remember if we + optimistically made something not addressable and + prepare to undo it. + +2022-03-11 Richard Biener <rguenther@suse.de> + + PR target/104762 + * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not + cost the first lane of SSE pieces as inserts for vec_construct. + +2022-03-10 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/84964 + * calls.cc (expand_call): Ignore stack adjustments after sorry. + +2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com> + + PR target/103074 + * lra-constraints.cc (split_reg): Set up + check_and_force_assignment_correctness_p when splitting hard + register live range. + +2022-03-10 Martin Jambor <mjambor@suse.cz> + + PR ipa/104813 + * ipa-cp.cc (create_specialized_node): Move removal of + self-recursive calls from callers vector before refrence + adjustments. + +2022-03-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/102943 + * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec): + Make a bitmap_head. + (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch + to tree view. + (sbr_sparse_bitmap::set_bb_range): Adjust. + (sbr_sparse_bitmap::get_bb_range): Likewise. + +2022-03-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/102943 + * tree-ssa-dom.cc (back_propagate_equivalences): Only + populate the dominance bitmap if fast queries are not + available. Use a tree view bitmap. + (record_temporary_equivalences): Cache the dominance bitmap + across all equivalences on the edge. + +2022-03-10 Tom de Vries <tdevries@suse.de> + + PR target/104840 + * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead + of false,true. + +2022-03-10 Tom de Vries <tdevries@suse.de> + + PR target/104783 + * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate) + (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate. + (nvptx_get_unisimt_outside_simt_predicate): New function. + (predicate_insn): New function, factored out of ... + (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns. + * config/nvptx/nvptx.h (struct machine_function): Add + unisimt_outside_simt_predicate field. + * config/nvptx/nvptx.md (define_insn "nvptx_warpsync") + (define_insn "nvptx_uniform_warp_check"): Make predicable. + +2022-03-10 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused + result. + +2022-03-10 Tom de Vries <tdevries@suse.de> + + PR target/104815 + * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand + modifier. + * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns. + +2022-03-10 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"): + Emit atom.and.b64 instead of atom.b64.and. + +2022-03-10 Tom de Vries <tdevries@suse.de> + + * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ... + (MULTILIB_OPTIONS): ... here. + +2022-03-10 Tom de Vries <tdevries@suse.de> + + PR target/104758 + * config/nvptx/nvptx.opt (misa): Set default to sm_30. + * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30. + +2022-03-10 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/90115 + PR middle-end/102330 + PR middle-end/104774 + * omp-low.cc (oacc_privatization_candidate_p) + (oacc_privatization_scan_clause_chain) + (oacc_privatization_scan_decl_chain, lower_oacc_private_marker): + Analyze 'lookup_decl'-translated DECL. + +2022-03-10 Jakub Jelinek <jakub@redhat.com> + + PR target/99708 + * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove + RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float. + (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove. + * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return + "**NULL**" if type_node is NULL first. Handle + ieee128_float_type_node. + (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node + and ptr_ibm128_float_type_node. Set ibm128_float_type_node and + ieee128_float_type_node to NULL rather than long_double_type_node if + they aren't supported. Do support __ibm128 even if + !TARGET_FLOAT128_TYPE when long double is double double. + (rs6000_expand_builtin): Error if bif_is_ibm128 and + !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to + RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check + for it. + * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define + __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined. + (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here. + Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL. + Formatting fix. + * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute. + (struct attrinfo): Add isibm128 member. + (TYPE_MAP_SIZE): Remove. + (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use + ibm128_float_type_node only if it is non-NULL, otherwise fall back + to long_double_type_node. Remove "pif" entry. + (parse_bif_attrs): Handle ibm128 attribute and print it for debugging. + (write_decls): Output bif_ibm128_bit and bif_is_ibm128. + (write_type_node): Use sizeof type_map / sizeof type_map[0] + instead of TYPE_MAP_SIZE. + (write_bif_static_init): Handle isibm128. + * config/rs6000/rs6000-builtins.def: Document ibm128 attribute. + (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128 + attribute. + +2022-03-09 Richard Biener <rguenther@suse.de> + + * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF + with non-decl operand, avoiding a copy. + +2022-03-09 Jakub Jelinek <jakub@redhat.com> + + PR target/104781 + * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32. + +2022-03-09 Richard Biener <rguenther@suse.de> + + PR middle-end/104786 + * cfgexpand.cc (expand_asm_stmt): Do not generate a copy + for VLAs without an upper size bound. + +2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang> + + PR tree-optimization/104851 + * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one + error. + +2022-03-09 Jakub Jelinek <jakub@redhat.com> + + PR c/104711 + * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value + is enabled by it only for C++11 to C++17 rather than for C++03 or + later. + (-Wshift-negative-value): Similarly (except here we stated + that it is enabled for C++11 or later). + +2022-03-09 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/104839 + * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>: + Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET. + (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED + instead of incorrect 0 in SUBREG_PROMOTED_SET. + +2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang> + + PR target/104842 + * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned + value before adding an offset. + +2022-03-08 Christophe Lyon <christophe.lyon@arm.com> + + * config/arm/arm-builtins.cc + (arm_binop_none_none_unone_qualifiers): Delete. + (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete. + +2022-03-08 Iain Sandoe <iain@sandoe.co.uk> + + PR translation/104552 + * config/host-darwin.cc (darwin_gt_pch_get_address): Amend + the PCH out of memory error message punctuation and wording. + +2022-03-08 Marek Polacek <polacek@redhat.com> + + PR rtl-optimization/104777 + * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if + ASM_OPERANDS_LABEL_VEC has at least one element. + +2022-03-08 H.J. Lu <hjl.tools@gmail.com> + + PR target/104781 + * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is + stack realignment or regparm nested function with EH return. + +2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR target/104790 + * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO. + * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base + register for non widening loads or narrowing stores. + +2022-03-08 Eric Gallager <egallager@gcc.gnu.org> + + PR translation/104552 + * params.opt: Fix typo. + +2022-03-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/84201 + * params.opt (-param=vect-induction-float): Add. + * doc/invoke.texi (vect-induction-float): Document. + * tree-vect-loop.cc (vectorizable_induction): Honor + param_vect_induction_float. + +2022-03-08 Martin Jambor <mjambor@suse.cz> + + PR translation/104552 + * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word + "that" in the description. + +2022-03-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104825 + * tree-ssa-sccvn.cc (visit_reference_op_call): Properly + guard modref get_ao_ref on a pointer typed argument. + +2022-03-08 liuhongt <hongtao.liu@intel.com> + + * config/i386/sse.md (*vec_dupv4si): Disable memory operand + for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed. + +2022-03-07 Jonathan Wakely <jwakely@redhat.com> + + * doc/invoke.texi (C++ Modules): Remove anachronism. + +2022-03-07 Martin Liska <mliska@suse.cz> + + PR middle-end/104381 + * opts.cc (finish_options): If debug info is disabled + (debug_info_level) and -fvar-tracking is unset, disable it. + +2022-03-07 Jakub Jelinek <jakub@redhat.com> + + * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment. + * config/riscv/riscv.cc: Likewise. + * config/darwin.h: Likewise. + * config/i386/i386.cc: Likewise. + * config/aarch64/thunderx3t110.md: Likewise. + * config/aarch64/fractional-cost.h: Likewise. + * config/vax/vax.cc: Likewise. + * config/rs6000/pcrel-opt.md: Likewise. + * config/rs6000/predicates.md: Likewise. + * ctfc.h: Likewise. + * tree-ssa-uninit.cc: Likewise. + * value-relation.h: Likewise. + * gimple-range-gori.cc: Likewise. + * ipa-polymorphic-call.cc: Likewise. + * pointer-query.cc: Likewise. + * ipa-sra.cc: Likewise. + * internal-fn.cc: Likewise. + * varasm.cc: Likewise. + * gimple-ssa-warn-access.cc: Likewise. + +2022-03-07 Martin Liska <mliska@suse.cz> + + PR target/104794 + * config/arm/arm.cc (arm_option_override_internal): Add missing + space. + +2022-03-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104782 + * tree-vect-slp.cc (vectorize_slp_instance_root_stmt): + Re-instantiate r10-5979 fix, add comment. + +2022-03-07 Martin Liska <mliska@suse.cz> + + PR target/104797 + * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove + parenthesis from built-in name. + +2022-03-07 Martin Liska <mliska@suse.cz> + + PR target/104794 + * config/arm/arm.cc (arm_option_override_internal): Fix quoting + of options in error messages. + (arm_option_reconfigure_globals): Likewise. + +2022-03-07 Martin Liska <mliska@suse.cz> + + PR target/104794 + * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error + message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can + have only range [0,32]. + +2022-03-07 Jakub Jelinek <jakub@redhat.com> + + PR target/104775 + * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use + S constraint instead of T in the last alternative. + +2022-03-07 Martin Liska <mliska@suse.cz> + + * plugin.cc (default_plugin_dir_name): Remove <dir> from error + message. + +2022-03-07 Martin Liska <mliska@suse.cz> + + PR translation/90148 + * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put + quote to a proper place. + * plugin.cc (default_plugin_dir_name): Likewise. + +2022-03-07 Martin Liska <mliska@suse.cz> + + PR target/99297 + * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation + string. + +2022-03-07 Jakub Jelinek <jakub@redhat.com> + + PR target/104779 + * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New + define_expand pattern. Rename define_insn to ... + (*avx512dq_mul<mode>3<mask_name>): ... this. + (<code><mode>3_mask): New any_logic define_expand pattern. + (<mask_codefor><code><mode>3<mask_name>): Rename to ... + (*<code><mode>3<mask_name>): ... this. + +2022-03-05 Jakub Jelinek <jakub@redhat.com> + + * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove + visited bitmap and its use. Also punt on EDGE_ABNORMAL edges. + +2022-03-05 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + PR testsuite/104732 + * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s. + Include DI mode unconditionally. + (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition, + i.e. always split on !TARGET_64BIT. + (*<any_or>di3_doubleword): Likewise. + (*one_cmpldi2_doubleword): Likewise. + (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s. + (<any_or><mode>3 expander): Likewise. + (one_cmpl<mode>2 expander): Likewise. + +2022-03-05 Michael Meissner <meissner@linux.ibm.com> + + PR target/104698 + * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete. + (mtvsrdd_diti_w1): Delete. + (extendditi2): Convert from define_expand to + define_insn_and_split. Replace with code to deal with both GPR + registers and with altivec registers. + +2022-03-04 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a + bit. Handle most older CPUs. + +2022-03-04 Iain Sandoe <iain@sandoe.co.uk> + + * config/darwin.cc (darwin_fold_builtin): Make fcode an int to + avoid a mismatch with DECL_MD_FUNCTION_CODE(). + +2022-03-04 Iain Sandoe <iain@sandoe.co.uk> + + PR target/104117 + * config/rs6000/darwin.md (@machopic_high_<mode>): New. + (@machopic_low_<mode>): New. + * config/rs6000/predicates.md (macho_pic_address): New. + * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not + apply the TLS processing to Darwin. + * lra-constraints.cc (process_address_1): Revert the changes + in r12-7209. + +2022-03-04 Peter Bergner <bergner@linux.ibm.com> + + PR target/87496 + PR target/104208 + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the + ISA 2.06 requirement for -mabi=ieeelongdouble conditional on + -mlong-double-128. + Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking + from here... + * common/config/rs6000/rs6000-common.cc (rs6000_handle_option): + ... to here. + +2022-03-04 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104529 + * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY + on automatic objects which will be runtime initialized. + +2022-03-04 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100280 + PR middle-end/104132 + PR middle-end/104133 + * omp-low.cc (task_shared_vars): Rename to + 'make_addressable_vars'. Adjust all users. + (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for + 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too. + +2022-03-04 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100280 + * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New. + * tree-core.h: Document it. + * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle + 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'. + * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region): + Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of + 'TREE_ADDRESSABLE'. + +2022-03-04 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100280 + * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region): + Add diagnostic: "note: OpenACC 'kernels' decomposition: variable + '[...]' declared in block made addressable". + +2022-03-04 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100400 + PR middle-end/103836 + PR middle-end/104061 + * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body): + Catch 'GIMPLE_DEBUG'. + +2022-03-04 Jakub Jelinek <jakub@redhat.com> + + PR c/104627 + * tree.cc (warn_deprecated_use): For types prefer to use node + and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is + NULL. + +2022-03-04 H.J. Lu <hjl.tools@gmail.com> + + PR target/104704 + * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return + a pseudo register. + +2022-03-03 Martin Sebor <msebor@redhat.com> + + PR middle-end/104761 + * gimple-ssa-warn-access.cc (pass_waccess::execute): Call + mark_dfs_back_edges. + +2022-03-03 Martin Liska <mliska@suse.cz> + + * configure.ac: Use linker plug-in by default. + * configure: Regenerate. + +2022-03-03 Martin Liska <mliska@suse.cz> + + * configure.ac: Now ld.mold support LTO plugin API, use it. + * configure: Regenerate. + +2022-03-03 Tom de Vries <tdevries@suse.de> + + * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1. + +2022-03-03 Tom de Vries <tdevries@suse.de> + + PR target/104758 + * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30. + +2022-03-03 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}. + +2022-03-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104757 + * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than + gimplify_omp_for. + (gimplify_expr) <case OMP_SIMD>: Temporarily disable + gimplify_ctxp->into_ssa around call to gimplify_omp_for. + +2022-03-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104558 + * calls.cc (store_one_arg): When not calling emit_push_insn + because size_rtx is const0_rtx, call at least anti_adjust_stack + on arg->locate.alignment_pad if !argblock and the alignment might + be non-zero. + +2022-03-02 Alexandre Oliva <oliva@adacore.com> + + * lra-constraints.cc (undo_optional_reloads): Recognize and + drop insns of multi-word move sequences, tolerate removal + iteration on an already-removed clobber, and refuse to + substitute original pseudos into clobbers. + +2022-03-02 Qing Zhao <qing.zhao@oracle.com> + + PR middle-end/102276 + * common.opt (-Wtrivial-auto-var-init): New option. + * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option. + (-ftrivial-auto-var-init): Update option; + * gimplify.cc (emit_warn_switch_unreachable): New function. + (warn_switch_unreachable_r): Rename to ... + (warn_switch_unreachable_and_auto_init_r): This. + (maybe_warn_switch_unreachable): Rename to ... + (maybe_warn_switch_unreachable_and_auto_init): This. + (gimplify_switch_expr): Update calls to renamed function. + +2022-03-02 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/104686 + * ira-color.cc (object_conflicts_with_allocno_p): New function + using a bitvector test instead of iterating when possible. + (allocnos_conflict_p): Choose the best allocno to iterate over + object conflicts. + (update_conflict_hard_regno_costs): Do allocnos_conflict_p test + last. + +2022-03-02 Jakub Jelinek <jakub@redhat.com> + + * cfg.cc (dump_edge_info): Dump goto_locus if present. + +2022-03-02 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/104589 + * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct + INSN_LOCATION comparison with goto_locus. + +2022-03-02 Jakub Jelinek <jakub@redhat.com> + + * tree-ssa-strlen.cc (strlen_pass::handle_assign, + strlen_pass::before_dom_children): Comment spelling fixes. + +2022-03-02 Jakub Jelinek <jakub@redhat.com> + + * ipa-modref-tree.cc (modref_access_node::contains, + modref_access_node::closer_pair_p, modref_access_node::insert, + modref_access_node::insert_kill): Comment spelling fixes. + * ipa-modref.cc: Likewise. + (modref_summary::finalize, ignore_nondeterminism_p, + class modref_access_analysis, + modref_access_analysis::set_side_effects, + modref_access_analysis::set_nondeterministic, + modref_access_analysis::record_global_memory_load, + modref_access_analysis::propagate, modref_access_analysis::analyze, + struct escape_point, class modref_lattice, modref_lattice::merge, + modref_lattice::merge_deref, class modref_eaf_analysis, + modref_eaf_analysis::merge_call_lhs_flags, + modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate, + modref_eaf_analysis::record_escape_points, remap_kills, + update_escape_summary, remove_useless_summaries, + ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute): + Likewise. + * ipa-modref.h (struct modref_summary, interposable_eaf_flags): + Likewise. + * ipa-modref-tree.h (enum modref_special_parms, + struct modref_access_node): Likewise. + +2022-03-01 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104715 + * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't + unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs + of a call if gimple_call_return_arg is equal to ptr, not just when it + is non-NULL. + +2022-03-01 Jakub Jelinek <jakub@redhat.com> + + * gimple-ssa-warn-access.cc (warn_string_no_nul, + maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p, + matching_alloc_calls_p, maybe_warn_alloc_args_overflow, + pass_waccess::check_alloca, pass_waccess::check_strcat, + memmodel_to_uhwi, fntype_argno_type, + pass_waccess::maybe_check_access_sizes, + pass_waccess::check_call_access, + pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt): + Comment spelling fixes. + +2022-03-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104716 + * tree-loop-distribution.cc (find_seed_stmts_for_distribution): + Check if we can copy the loop. + +2022-03-01 H.J. Lu <hjl.tools@gmail.com> + + PR middle-end/104721 + * cfgexpand.cc (expand_gimple_basic_block): Clear + currently_expanding_gimple_stmt when returning inside the loop. + +2022-03-01 Martin Liska <mliska@suse.cz> + + PR ipa/104533 + * multiple_target.cc (get_attr_len): Move to tree.c. + (expand_target_clones): Remove single value checking. + * tree.cc (get_target_clone_attr_len): New fn. + * tree.h (get_target_clone_attr_len): Likewise. + +2022-03-01 Martin Liska <mliska@suse.cz> + + PR gcov-profile/104677 + * doc/invoke.texi: Document more .gcda file name generation. + +2022-03-01 Tom de Vries <tdevries@suse.de> + + PR target/102429 + * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode. + * config/nvptx/nvptx.md + (define_predicate "nvptx_register_or_complex_di_df_register_operand"): + New predicate. + (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"): + Use nvptx_register_or_complex_di_df_register_operand. + +2022-03-01 Tom de Vries <tdevries@suse.de> + + * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options. + * config/nvptx/gen-copyright.sh: New file. + * config/nvptx/gen-h.sh: New file. + * config/nvptx/gen-opt.sh: New file. + * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70) + (TARGET_SM75, TARGET_SM80): Move ... + * config/nvptx/nvptx-gen.h: ... here. New file, generate. + * config/nvptx/nvptx.opt (Enum ptx_isa): Move ... + * config/nvptx/nvptx-gen.opt: ... here. New file, generate. + * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h) + ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target. + +2022-03-01 Tom de Vries <tdevries@suse.de> + + * config/nvptx/gen-omp-device-properties.sh: New file. + * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh. + +2022-03-01 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx-sm.def: New file. + * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def. + * config/nvptx/nvptx-opts.h (enum ptx_isa): Same. + * config/nvptx/nvptx.cc (sm_version_to_string) + (nvptx_omp_device_kind_arch_isa): Same. + +2022-03-01 Robin Dapp <rdapp@linux.ibm.com> + + PR rtl-optimization/104154 + * config/arc/arc.cc (gen_compare_reg): Return the CC-mode + comparison ifcvt passed us. + +2022-03-01 Hongyu Wang <hongyu.wang@intel.com> + + PR target/104664 + * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): + Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg. + +2022-02-28 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/91384 + * config/i386/i386.md (peephole2): Eliminate final testl insn + from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by + transforming using *negsi_2 for the negation. + +2022-02-28 Roger Sayle <roger@nextmovesoftware.com> + Eric Botcazou <ebotcazou@adacore.com> + + PR middle-end/80270 + * expmed.cc (extract_integral_bit_field): If OP0 is a hard + register, copy it to a pseudo before calling simplify_gen_subreg. + +2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/104637 + * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many + as possible on one subpass. + +2022-02-28 Qing Zhao <qing.zhao@oracle.com> + + PR middle-end/104550 + * gimple-fold.cc (clear_padding_flush): Suppress warnings for new + created uses. + +2022-02-28 Martin Liska <mliska@suse.cz> + + PR ipa/104648 + * main.cc (main): Use flag_checking instead of CHECKING_P + and run toplev::finalize only if there is not error seen. + +2022-02-28 Richard Biener <rguenther@suse.de> + + * tree-ssa-pre.cc (compute_avail): Revert part of last change. + +2022-02-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104700 + * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline + into ... + (find_or_generate_expression): ... here, simplifying code. + +2022-02-28 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx-opts.h (enum ptx_version): Add + PTX_VERSION_default. + * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle + PTX_VERSION_default. + * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default. + +2022-02-28 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/104686 + * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop + skipping bits that are zero. + (ira_object_conflict_iter_cond): Likewise. + +2022-02-28 Hongyu Wang <hongyu.wang@intel.com> + + * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum. + (_mm512_ternarylogic_epi64): Truncate imm to unsigned + char to avoid error when using ~enum as parameter. + (_mm512_mask_ternarylogic_epi64): Likewise. + (_mm512_maskz_ternarylogic_epi64): Likewise. + (_mm512_ternarylogic_epi32): Likewise. + (_mm512_mask_ternarylogic_epi32): Likewise. + (_mm512_maskz_ternarylogic_epi32): Likewise. + * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64): + Adjust imm param type to unsigned char. + (_mm256_mask_ternarylogic_epi64): Likewise. + (_mm256_maskz_ternarylogic_epi64): Likewise. + (_mm256_ternarylogic_epi32): Likewise. + (_mm256_mask_ternarylogic_epi32): Likewise. + (_mm256_maskz_ternarylogic_epi32): Likewise. + (_mm_ternarylogic_epi64): Likewise. + (_mm_mask_ternarylogic_epi64): Likewise. + (_mm_maskz_ternarylogic_epi64): Likewise. + (_mm_ternarylogic_epi32): Likewise. + (_mm_mask_ternarylogic_epi32): Likewise. + (_mm_maskz_ternarylogic_epi32): Likewise. + +2022-02-25 Jakub Jelinek <jakub@redhat.com> + Marc Glisse <marc.glisse@inria.fr> + + PR tree-optimization/104675 + * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1): + Restrict simplifications to INTEGRAL_TYPE_P. + +2022-02-25 Jakub Jelinek <jakub@redhat.com> + + PR target/104681 + * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move. + +2022-02-25 Claudiu Zissulescu <claziss@synopsys.com> + + * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the + comparison is not valid. + * config/arc/arc.md (movsicc): Fail if comparison is not valid. + (movdicc): Likewise. + (movsfcc): Likewise. + (movdfcc): Likewise. + +2022-02-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103037 + * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare. + (vn_nary_length_from_stmt): Likewise. + (init_vn_nary_op_from_stmt): Likewise. + (vn_nary_op_compute_hash): Likewise. + * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export. + (vn_nary_length_from_stmt): Likewise. + (init_vn_nary_op_from_stmt): Likewise. + (vn_nary_op_compute_hash): Likewise. + * tree-ssa-pre.cc (pre_expr_obstack): New obstack. + (get_or_alloc_expr_for_nary): Pass in the value-id to use, + (re-)compute the hash value and if the expression is not + found allocate it from pre_expr_obstack. + (phi_translate_1): Do not insert the NARY found in the + VN tables but build a PRE expression from the valueized + NARY with the value-id we eventually found. + (find_or_generate_expression): Assert we have an entry + for constant values. + (compute_avail): Insert not valueized expressions into + EXP_GEN using the value-id from the VN tables. + (init_pre): Allocate pre_expr_obstack. + (fini_pre): Free pre_expr_obstack. + +2022-02-25 Jakub Jelinek <jakub@redhat.com> + + PR target/104674 + * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387. + * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use + SLOT_FLOATxFDI_387 rather than SLOT_TEMP. + +2022-02-25 Jakub Jelinek <jakub@redhat.com> + + * warning-control.cc (get_nowarn_spec): Comment spelling fix. + +2022-02-25 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104679 + * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust. + +2022-02-25 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104675 + * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for + COMPLEX_TYPE. + +2022-02-25 Alexandre Oliva <oliva@adacore.com> + + PR target/104121 + PR target/103302 + * expr.cc (emit_move_multi_word): Restore clobbers during LRA. + +2022-02-25 Alexandre Oliva <oliva@adacore.com> + + PR middle-end/104540 + * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL + dw_cfi_cfa_loc. + +2022-02-25 Alexandre Oliva <oliva@adacore.com> + + PR tree-optimization/103856 + * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the + eh edge to be requested through an extra parameter. + (pass_harden_compares::execute): Copy PHI args in the EH dest + block for the new EH edge added for the inverted compare. + +2022-02-24 Palmer Dabbelt <palmer@rivosinc.com> + + * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree + of position independence that -mcmodel=medany affords. + +2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com> + + PR target/104656 + * configure.ac: --disable-gcov if targetting bpf-*. + * configure: Regenerate. + +2022-02-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104676 + * tree-loop-distribution.cc (loop_distribution::execute): + Do a full scev_reset. + +2022-02-24 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104601 + * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with + non-SSA_NAME lhs value number vdef to itself instead of e.g. the + vuse value number. + +2022-02-24 Tom de Vries <tdevries@suse.de> + Tobias Burnus <tobias@codesourcery.com> + + * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle + sm_70, sm_75 and sm_80. + * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80. + +2022-02-24 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn + "rotrsi3"): New define_insn. + +2022-02-24 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.cc (gen_comment): Use + DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus. + +2022-02-24 liuhongt <hongtao.liu@intel.com> + + * config/i386/sse.md (<code>v1ti3): Add suffix and replace + isa attr of alternative 2 from avx to avx512vl. + +2022-02-23 Richard Biener <rguenther@suse.de> + Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104644 + * doc/match-and-simplify.texi: Amend ! documentation. + * genmatch.cc (expr::gen_transform): Code-generate ! support + for GENERIC. + (parser::parse_expr): Allow ! for GENERIC. + * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on + bswap. + +2022-02-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/101636 + * tree-vect-slp.cc (vect_print_slp_tree): Dump the + vector type of the node. + (vect_slp_analyze_operations): Make sure the CTOR + is vectorized with an expected type. + (vectorize_slp_instance_root_stmt): Revert r10-5979 fix. + +2022-02-23 Jakub Jelinek <jakub@redhat.com> + + PR c/104633 + * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit): + Don't warn about calls to corresponding builtin from extern inline + gnu_inline wrappers. + +2022-02-23 Roger Sayle <roger@nextmovesoftware.com> + + PR target/104489 + * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute. + +2022-02-23 Christophe Lyon <christophe.lyon@arm.com> + + PR target/100757 + PR target/101325 + * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix + typo. + +2022-02-23 Cui,Lili <lili.cui@intel.com> + + * doc/invoke.texi: Update documents for Intel architectures. + +2022-02-22 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore + bootstrap. + +2022-02-22 Thomas Schwinge <thomas@codesourcery.com> + + * omp-low.cc (omp_build_component_ref): Move function... + * omp-general.cc (omp_build_component_ref): ... here. Remove + 'static'. + * omp-general.h (omp_build_component_ref): Declare function. + * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove + function. + (build_receiver_ref, build_sender_ref): Call + 'omp_build_component_ref' instead. + +2022-02-22 Thomas Schwinge <thomas@codesourcery.com> + + * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further + simplify. Adjust all users. + +2022-02-22 Segher Boessenkool <segher@kernel.crashing.org> + + PR target/88134 + * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl, + atomic_update_decl): Add GTY markup. + +2022-02-22 Christophe Lyon <christophe.lyon@arm.com> + + * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS. + +2022-02-22 Christophe Lyon <christophe.lyon@arm.com> + + PR target/100757 + PR target/101325 + * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use + predicate. + (CX_BINARY_UNONE_QUALIFIERS): Likewise. + (CX_TERNARY_UNONE_QUALIFIERS): Likewise. + (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete. + (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete. + (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete. + * config/arm/arm_mve_builtins.def: Use predicated qualifiers. + * config/arm/mve.md: Use VxBI instead of HI. + +2022-02-22 Christophe Lyon <christophe.lyon@arm.com> + + PR target/100757 + PR target/101325 + * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate + qualifier. + (STRSBU_P_QUALIFIERS): Likewise. + (LDRGBS_Z_QUALIFIERS): Likewise. + (LDRGBU_Z_QUALIFIERS): Likewise. + (LDRGBWBXU_Z_QUALIFIERS): Likewise. + (LDRGBWBS_Z_QUALIFIERS): Likewise. + (LDRGBWBU_Z_QUALIFIERS): Likewise. + (STRSBWBS_P_QUALIFIERS): Likewise. + (STRSBWBU_P_QUALIFIERS): Likewise. + * config/arm/mve.md: Use VxBI instead of HI. + +2022-02-22 Christophe Lyon <christophe.lyon@arm.com> + + PR target/100757 + PR target/101325 + * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ... + (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this. + (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... + (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this. + (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ... + (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this. + (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ... + (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this. + (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ... + (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this. + (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New. + (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ... + (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this. + (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New. + (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ... + (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this. + (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... + (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this. + (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... + (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this. + (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ... + (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this. + (STRS_P_QUALIFIERS): Use predicate qualifier. + (STRU_P_QUALIFIERS): Likewise. + (STRSU_P_QUALIFIERS): Likewise. + (STRSS_P_QUALIFIERS): Likewise. + (LDRGS_Z_QUALIFIERS): Likewise. + (LDRGU_Z_QUALIFIERS): Likewise. + (LDRS_Z_QUALIFIERS): Likewise. + (LDRU_Z_QUALIFIERS): Likewise. + (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... + (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this. + (BINOP_NONE_NONE_PRED_QUALIFIERS): New. + (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New. + * config/arm/arm_mve_builtins.def: Use new predicated qualifiers. + * config/arm/mve.md: Use MVE_VPRED instead of HI. + +2022-02-22 Christophe Lyon <christophe.lyon@arm.com> + + PR target/100757 + PR target/101325 + * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS): + Delete. + (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ... + (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this. + (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New. + * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new + predicated qualifiers. + * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>) + (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI. + +2022-02-22 Christophe Lyon <christophe.lyon@arm.com> + + PR target/100757 + * config/arm/arm-protos.h (arm_get_mask_mode): New prototype. + (arm_expand_vector_compare): Update prototype. + * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New. + (arm_vector_mode_supported_p): Add support for VxBI modes. + (arm_expand_vector_compare): Remove useless generation of vpsel. + (arm_expand_vcond): Fix select operands. + (arm_get_mask_mode): New. + * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New. + (vec_cmpu<mode><MVE_vpred>): New. + (vcond_mask_<mode><MVE_vpred>): New. + * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>) + (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ... + * config/arm/neon.md (vec_cmp<mode><v_cmp_result>) + (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here + and disable for MVE. + * doc/sourcebuild.texi (arm_mve): Document new effective-target. + +2022-02-22 Christophe Lyon <christophe.lyon@arm.com> + + PR target/100757 + PR target/101325 + * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS) + (BINOP_PRED_NONE_NONE_QUALIFIERS) + (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS) + (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New. + * config/arm/arm-protos.h (mve_bool_vec_to_const): New. + * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI + modes. + (arm_mode_to_pred_mode): New. + (arm_expand_vector_compare): Use the right VxBI mode instead of + HI. + (arm_expand_vcond): Likewise. + (simd_valid_immediate): Handle MODE_VECTOR_BOOL. + (mve_bool_vec_to_const): New. + (neon_make_constant): Call mve_bool_vec_to_const when needed. + * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_) + (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f) + (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u) + (vpselq_s, vpselq_f): Use new predicated qualifiers. + * config/arm/constraints.md (DB): New. + * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators. + (MVE_VPRED, MVE_vpred): New attribute iterators. + * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>) + (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>) + (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI. + (@mve_vpselq_<supf>v2di): Define separately. + (mov<mode>): New expander for VxBI modes. + * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use + MVE_7_HI iterator and add support for DB constraint. + +2022-02-22 Christophe Lyon <christophe.lyon@arm.com> + Richard Sandiford <richard.sandiford@arm.com> + + PR target/100757 + PR target/101325 + * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI, + VNx2BI): Update definition. + * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new + simd types. + (arm_init_builtin): Map predicate vectors arguments to HImode. + (arm_expand_builtin_args): Move HImode predicate arguments to VxBI + rtx. Move return value to HImode rtx. + * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate. + * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes. + * config/arm/arm-simd-builtin-types.def (Pred1x16_t, + Pred2x8_t,Pred4x4_t): New. + * emit-rtl.cc (init_emit_once): Handle all boolean modes. + * genmodes.cc (mode_data): Add boolean field. + (blank_mode): Initialize it. + (make_complex_modes): Fix handling of boolean modes. + (make_vector_modes): Likewise. + (VECTOR_BOOL_MODE): Use new COMPONENT parameter. + (make_vector_bool_mode): Likewise. + (BOOL_MODE): New. + (make_bool_mode): New. + (emit_insn_modes_h): Fix generation of boolean modes. + (emit_class_narrowest_mode): Likewise. + * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT + parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to + define BImode. + * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value): + Fix handling of constm1_rtx for VECTOR_BOOL. + * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL. + (native_decode_vector_rtx): Likewise. + (test_vector_ops_duplicate): Skip vec_merge test + with vectors of booleans. + * varasm.cc (output_constant_pool_2): Likewise. + +2022-02-22 Christophe Lyon <christophe.lyon@arm.com> + + * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode + for operand 1. + +2022-02-22 Christophe Lyon <christophe.lyon@arm.com> + + * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG. + +2022-02-22 Christophe Lyon <christophe.lyon@arm.com> + + * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS. + (REG_CLASS_NAMES): Likewise. + (REG_CLASS_CONTENTS): Likewise. + (CLASS_MAX_NREGS): Handle VPR. + * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR. + +2022-02-22 Tobias Burnus <tobias@codesourcery.com> + Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70. + * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm): + Likewise. + * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70. + +2022-02-22 Tobias Burnus <tobias@codesourcery.com> + Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0. + * doc/invoke.texi (-mptx): Update for new values and defaults. + +2022-02-22 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.cc (gen_comment): New function. + (workaround_uninit_method_1, workaround_uninit_method_2) + (workaround_uninit_method_3): : Use gen_comment. + * config/nvptx/nvptx.opt (mptx-comment): New option. + +2022-02-22 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used + for a splat. + +2022-02-22 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + * fold-const.cc (ctor_single_nonzero_element): New function to + return the single non-zero element of a (vector) constructor. + * fold-const.h (ctor_single_nonzero_element): Prototype here. + * match.pd (reduc (constructor@0)): Simplify reductions of a + constructor containing a single non-zero element. + (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify + reductions of vector operations of the same operator with + constant vector operands. + +2022-02-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104604 + * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr): + Only check if gimple_assign_rhs1 is COMPLEX_CST if + gimple_assign_rhs_code is COMPLEX_CST. + +2022-02-22 Jakub Jelinek <jakub@redhat.com> + + PR target/104612 + * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg + on input operands before calling lowpart_subreg on it. For output + operand, use a vmode pseudo as destination and then move its lowpart + subreg into operands[0] if lowpart_subreg fails on dest. + (ix86_expand_xorsign): Likewise. + +2022-02-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104582 + PR target/99881 + * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): + Cost GPR to vector register moves for integer vector construction. + +2022-02-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104582 + * tree-vectorizer.h (stmt_info_for_cost::node): New field. + (vector_costs::add_stmt_cost): Add SLP node parameter. + (dump_stmt_cost): Likewise. + (add_stmt_cost): Likewise, new overload and adjust. + (add_stmt_costs): Adjust. + (record_stmt_cost): New overload. + * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node. + (vector_costs::add_stmt_cost): Adjust. + * tree-vect-loop.cc (vect_estimate_min_profitable_iters): + Adjust. + * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record + the SLP node for costing. + (vectorizable_slp_permutation): Likewise. + * tree-vect-stmts.cc (record_stmt_cost): Adjust and add + new overloads. + * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): + Adjust. + * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost): + Adjust. + * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost): + Adjust. + (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise. + +2022-02-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104582 + * tree-vectorizer.h (add_stmt_cost): New overload. + (record_stmt_cost): Likewise. + * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost): + Use add_stmt_costs. + (vect_get_known_peeling_cost): Use new overloads. + (vect_estimate_min_profitable_iters): Likewise. Consistently + use scalar_stmt for costing versioning checks. + * tree-vect-stmts.cc (record_stmt_cost): New overload. + +2022-02-22 Hongyu Wang <hongyu.wang@intel.com> + + PR target/103069 + * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop): + Split atomic fetch and loop part. + (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop. + * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New + prototype. + * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new + expander under TARGET_RELAX_CMPXCHG_LOOP. + (atomic_compare_and_swap<mode>): Likewise for doubleword modes. + +2022-02-21 Dan Li <ashimida@linux.alibaba.com> + + * config/aarch64/aarch64.cc (SLOT_REQUIRED): + Change wb_candidate[12] to wb_push_candidate[12]. + (aarch64_layout_frame): Likewise, and + change callee_adjust when scs is enabled. + (aarch64_save_callee_saves): + Change wb_candidate[12] to wb_push_candidate[12]. + (aarch64_restore_callee_saves): + Change wb_candidate[12] to wb_pop_candidate[12]. + (aarch64_get_separate_components): + Change wb_candidate[12] to wb_push_candidate[12]. + (aarch64_expand_prologue): Push x30 onto SCS before it's + pushed onto stack. + (aarch64_expand_epilogue): Pop x30 frome SCS, while + preventing it from being popped from the regular stack again. + (aarch64_override_options_internal): Add SCS compile option check. + (TARGET_HAVE_SHADOW_CALL_STACK): New hook. + * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled, + wb_pop_candidate[12], and rename wb_candidate[12] to + wb_push_candidate[12]. + * config/aarch64/aarch64.md (scs_push): New template. + (scs_pop): Likewise. + * doc/invoke.texi: Document -fsanitize=shadow-call-stack. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in: Add hook have_shadow_call_stack. + * flag-types.h (enum sanitize_code): + Add SANITIZE_SHADOW_CALL_STACK. + * opts.cc (parse_sanitizer_options): Add shadow-call-stack + and exclude SANITIZE_SHADOW_CALL_STACK. + * target.def: New hook. + * toplev.cc (process_options): Add SCS compile option check. + * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion. + +2022-02-21 Tom de Vries <tdevries@suse.de> + + PR target/104440 + * config/nvptx/nvptx.cc (workaround_uninit_method_1) + (workaround_uninit_method_2, workaround_uninit_method_3) + (workaround_uninit): New function. + (nvptx_reorg): Use workaround_uninit. + * config/nvptx/nvptx.opt (minit-regs): New option. + +2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR rtl-optimization/104498 + * alias.cc (compare_base_symbol_refs): Correct distance computation + when swapping x and y. + +2022-02-21 Andrew Pinski <apinski@marvell.com> + + PR c/104506 + * tree-ssa.cc (tree_ssa_useless_type_conversion): + Check the inner type before calling useless_type_conversion_p. + +2022-02-19 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn. + * config/nvptx/nvptx.md + (define_insn "nvptx_atomic_store<mode>"): Rename to ... + (define_insn "nvptx_atomic_store_sm70<mode>"): This. + (define_insn "nvptx_atomic_store<mode>"): New define_insn. + (define_expand "atomic_store<mode>"): Handle rename. Use + nvptx_atomic_store instead of atomic_exchange. + +2022-02-19 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all + insns with atomic attribute. Assert that all handled insns are + PARALLELs. + * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): + Set atomic attribute to false. + +2022-02-19 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return + type to bool. + (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or + nvptx_warpsync, if necessary. + +2022-02-19 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/102656 + * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is + known to be within bounds, treat it like automatic variables. + If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from + current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark + it addressable. + +2022-02-18 Pat Haugen <pthaugen@linux.ibm.com> + + * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented. + (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical, + mpower10-fusion-logical-add, mpower10-fusion-add-logical, + mpower10-fusion-2add, mpower10-fusion-2store): Remove. + * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER, + OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options. + * config/rs6000/rs6000.cc (rs6000_option_override_internal, + power10_sched_reorder): Likewise. + * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf, + gen_addadd): Likewise + * config/rs6000/fusion.md: Regenerate. + +2022-02-18 Jakub Jelinek <jakub@redhat.com> + + PR target/104257 + PR target/104598 + * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign + rather than __posix_memalign. + +2022-02-18 Richard Biener <rguenther@suse.de> + + PR target/104581 + * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove. + (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead + of calling ix86_avx_u128_mode_source which would eventually + have returned AVX_U128_ANY in some very special case. + +2022-02-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/96881 + * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment + CLOBBER handling. + (control_parents_preserved_p): New function. + (eliminate_unnecessary_stmts): Check that we preserved control + parents before retaining a CLOBBER. + (perform_tree_ssa_dce): Pass down aggressive flag + to eliminate_unnecessary_stmts. + +2022-02-17 Jason Merrill <jason@redhat.com> + + * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL + on TYPE_MAIN_VARIANT. + +2022-02-17 Paul A. Clarke <pc@us.ibm.com> + + PR target/104257 + * config/rs6000/bmi2intrin.h: Uglify local variables. + * config/rs6000/emmintrin.h: Likewise. + * config/rs6000/mm_malloc.h: Likewise. + * config/rs6000/mmintrin.h: Likewise. + * config/rs6000/pmmintrin.h: Likewise. + * config/rs6000/smmintrin.h: Likewise. + * config/rs6000/tmmintrin.h: Likewise. + * config/rs6000/xmmintrin.h: Likewise. + +2022-02-17 Robin Dapp <rdapp@linux.ibm.com> + + PR target/104335 + * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false + if the expected comparison's first operand is of mode MODE_CC. + +2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/104447 + * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore + hard reg set by lra_no_alloc_regs. + +2022-02-17 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/104551 + PR tree-optimization/103771 + * match.pd (cond_expr_convert_p): Add types_match check when + convert is extension. + * tree-vect-patterns.cc + (gimple_cond_expr_convert_p): Adjust comments. + (vect_recog_cond_expr_convert_pattern): Ditto. + +2022-02-17 Jakub Jelinek <jakub@redhat.com> + + PR debug/104557 + * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG + if expr has VOIDmode. + +2022-02-17 liuhongt <hongtao.liu@intel.com> + + * config/i386/cpuid.h (bit_MPX): Removed. + (bit_BNDREGS): Ditto. + (bit_BNDCSR): Ditto. + +2022-02-17 Michael Meissner <meissner@the-meissners.org> + + PR target/99708 + * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define + __SIZEOF_IBM128__ if the IBM 128-bit long double type is created. + Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type + is created. + +2022-02-16 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use + range_compatible_p instead of direct type comparison. + +2022-02-16 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/104544 + * combine.cc (try_combine): When looking for insn whose links + should be updated from i3 to i2, don't stop on debug insns, instead + skip over them. + +2022-02-16 Richard Sandiford <richard.sandiford@arm.com> + + PR target/100056 + * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator. + * config/aarch64/aarch64.md: Extend the PR100056 patterns + to handle plus in the same way as ior, if the operands have + no set bits in common. + +2022-02-15 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/104526 + * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call + new routine. + * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build + of dependency chain if there isn't one. + (gori_compute::condexpr_adjust): New. + * gimple-range-gori.h (class gori_compute): New prototype. + +2022-02-15 Richard Sandiford <richard.sandiford@arm.com> + + PR target/100874 + * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const): + Declare. + * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function. + * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern. + +2022-02-15 Richard Sandiford <richard.sandiford@arm.com> + + * tree-vectorizer.h (vect_scalar_ops_slice): New struct. + (vect_scalar_ops_slice_hash): Likewise. + (vect_scalar_ops_slice::op): New function. + * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function. + (vect_scalar_ops_slice_hash::hash): Likewise. + (vect_scalar_ops_slice_hash::equal): Likewise. + (vect_prologue_cost_for_slp): Check for duplicate vectors. + * config/aarch64/aarch64.cc + (aarch64_vector_costs::m_stp_sequence_cost): New member variable. + (aarch64_aligned_constant_offset_p): New function. + (aarch64_stp_sequence_cost): Likewise. + (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic. + (aarch64_vector_costs::finish_cost): Likewise. + +2022-02-15 Richard Sandiford <richard.sandiford@arm.com> + + * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix + use after free. + +2022-02-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104543 + * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits + come after the inner loop. + +2022-02-15 Jakub Jelinek <jakub@redhat.com> + + PR target/104536 + * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use + cannot instead of can%'t in diagnostics. Formatting fixes. + +2022-02-15 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104522 + * fold-const.h (native_interpret_real): Declare. + * fold-const.cc (native_interpret_real): No longer static. Don't + perform MODE_COMPOSITE_P verification here. + (native_interpret_expr) <case REAL_TYPE>: But perform it here instead + for all modes. + * gimple-fold.cc (clear_padding_type): Call native_interpret_real + instead of native_interpret_expr. + * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx + and comparison verification for all FLOAT_MODE_P modes, not just + MODE_COMPOSITE_P. + +2022-02-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104519 + * fold-const.cc (multiple_of_p): Remove never true condition. + * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use + the appropriate types for determining whether the difference + of final and base is a multiple of the step. + +2022-02-15 Jakub Jelinek <jakub@redhat.com> + + PR debug/104517 + * omp-low.cc (task_cpyfns): New variable. + (delete_omp_context): Don't call finalize_task_copyfn from here. + (create_task_copyfn): Push task_stmt into task_cpyfns. + (execute_lower_omp): Call finalize_task_copyfn here on entries from + task_cpyfns vector and release the vector. + +2022-02-14 Martin Sebor <msebor@redhat.com> + + PR middle-end/104355 + * doc/invoke.texi (-Warray-bounds): Update documentation. + +2022-02-14 Michael Meissner <meissner@the-meissners.org> + + PR target/104253 + * config/rs6000/rs6000.cc (init_float128_ibm): Update the + conversion functions used to convert IFmode types. + +2022-02-14 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg. + +2022-02-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104528 + * tree-ssa.h (find_released_ssa_name): Declare. + * tree-ssa.cc (find_released_ssa_name): Export. + * cfgloop.cc (verify_loop_structure): Look for released + SSA names in loops nb_iterations. + * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration + estimates. + +2022-02-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104511 + * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid + touching DFP <-> FP conversions. + +2022-02-14 Richard Biener <rguenther@suse.de> + + PR middle-end/104497 + * gimplify.cc (gimplify_compound_lval): Make sure the + base is a non-register if needed and possible. + +2022-02-13 liuhongt <hongtao.liu@intel.com> + + PR target/103771 + * match.pd (cond_expr_convert_p): New match. + * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare. + (vect_recog_cond_expr_convert_pattern): New. + +2022-02-12 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/104449 + * asan.cc: Include tree-eh.h. + (handle_builtin_alloca): Handle the case when __builtin_alloca or + __builtin_alloca_with_align can throw. + +2022-02-12 Jakub Jelinek <jakub@redhat.com> + + PR target/104502 + * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+ + and AVX512VL isn't available, move operands[1] to operands[0] first. + +2022-02-12 Uroš Bizjak <ubizjak@gmail.com> + + PR target/79754 + * config/i386/i386.cc (type_natural_mode): + Skip decimal float vector modes. + +2022-02-11 Iain Sandoe <iain@sandoe.co.uk> + Vladimir Makarov <vmakarov@redhat.com> + + PR target/104117 + * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p): + Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when + emitting PIC code. + (legitimate_lo_sum_address_p): Likewise. + * lra-constraints.cc (process_address_1): Do not attempt to emit a reg + load from an invalid lo_sum address. + +2022-02-11 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104499 + * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead + of convert. + +2022-02-11 Jakub Jelinek <jakub@redhat.com> + + * tree.cc (build_common_builtin_nodes): Fix up formatting in + __builtin_clear_padding decl creation. + * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode + for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING + argument rather than in 3rd argument. + (gimplify_call_expr): Likewise. Fix up comment formatting. + * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect + 2 arguments instead of 3, take for_auto_init from the value + of 2nd argument. + +2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/104400 + * lra-constraints.cc (process_alt_operands): Don't make union of + this_alternative_exclude_start_hard_regs when reg class in insn + alternative covers other reg classes in the same alternative. + +2022-02-11 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104446 + * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC + operands. + +2022-02-11 Richard Biener <rguenther@suse.de> + + PR middle-end/104496 + * internal-fn.cc (vectorized_internal_fn_supported_p): + Bail out for integer mode vector types. + +2022-02-11 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/104459 + * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when + moving DEBUG_INSNs between bbs. + +2022-02-11 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/104479 + * match.pd (uncond_op + vec_cond -> cond_op): Add single_use + for the dest of uncond_op. + +2022-02-11 Tom de Vries <tdevries@suse.de> + + PR target/104456 + * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm + insn. + +2022-02-10 Qing Zhao <qing.zhao@oracle.com> + + PR middle-end/100775 + * function.cc (gen_call_used_regs_seq): Call + df_update_exit_block_uses when updating df. + +2022-02-10 Uroš Bizjak <ubizjak@gmail.com> + + PR target/104469 + * config/i386/sse.md (vec_unpacks_float_lo_v4si): + Change operand 1 constraint to register_operand. + +2022-02-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104373 + * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the + walk kind. + * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default + walk kind as argument. + (run_rpo_vn): Adjust. + (pass_fre::execute): Likewise. + * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip + blocks not reachable. + (execute_late_warn_uninitialized): Mark all edges as + executable. + (execute_early_warn_uninitialized): Use VN to compute + executable edges. + (pass_data_early_warn_uninitialized): Enable a dump file, + change dump name to warn_uninit. + +2022-02-10 Richard Biener <rguenther@suse.de> + + PR middle-end/104467 + * match.pd (vector extract simplification): Multiply the + number of CTOR elements with the number of element elements. + +2022-02-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104466 + * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2 + for the MR_DEPENDENCE checks as intended. + +2022-02-10 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New + define_insn. + (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for + TARGET_SM70. + (define_c_enum "unspecv"): Add UNSPECV_ST. + +2022-02-10 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare. + * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function. + (nvptx_mem_maybe_shared_p): New function. + * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New + define_expand. + +2022-02-10 Tom de Vries <tdevries@suse.de> + + PR target/97005 + * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround + driver JIT bug by using sub.s16 instead of sub.u16. + +2022-02-10 Roger Sayle <roger@nextmovesoftware.com> + + * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate + floating point constants as operands 1 and/or 2. + +2022-02-10 Roger Sayle <roger@nextmovesoftware.com> + + PR target/104345 + * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation. + (sel_false<mode>): Likewise. + (define_code_iterator eqne): New code iterator for EQ and NE. + (*selp<mode>_neg_<code>): New define_insn_and_split to optimize + the negation of a selp instruction. + (*selp<mode>_not_<code>): New define_insn_and_split to optimize + the bitwise not of a selp instruction. + (*setcc_int<mode>): Use set instruction for neg:SI of a selp. + +2022-02-10 Roger Sayle <roger@nextmovesoftware.com> + + * config/nvptx/nvptx.md (any_logic): Move code iterator earlier + in machine description. + (logic): Move code attribute earlier in machine description. + (ilogic): New code attribute, like logic but "ior" for IOR. + (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with... + (<ilogic><mode>3): New define_insn for HSDIM logic operations. + (<ilogic>bi3): New define_insn for BI mode logic operations. + (define_split): Lower logic operations from integer modes to + BI mode predicate operations. + +2022-02-10 Roger Sayle <roger@nextmovesoftware.com> + + * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC. + (one_cmplbi2): New define_insn for not.pred. + (mulditi3): New define_expand for signed widening multiply. + (umulditi3): New define_expand for unsigned widening multiply. + (smul<mode>3_highpart): New define_insn for signed highpart mult. + (umul<mode>3_highpart): New define_insn for unsigned highpart mult. + (*smulhi3_highpart_2): Renamed from smulhi3_highpart. + (*smulsi3_highpart_2): Renamed from smulsi3_highpart. + (*umulhi3_highpart_2): Renamed from umulhi3_highpart. + (*umulsi3_highpart_2): Renamed from umulsi3_highpart. + (*setcc<mode>_from_not_bi): New define_insn. + (*setcc_isinf<mode>): New define_insn for testp.infinite. + (isinf<mode>2): New define_expand. + +2022-02-10 Roger Sayle <roger@nextmovesoftware.com> + + * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>. + (setcc<mode>_from_bi): Additionally support QImode. + (extendbi<mode>2): Additionally support QImode. + (zero_extendbi<mode>2): Additionally support QImode. + (any_sbinary, any_ubinary, any_sunary, any_uunary): New code + iterators for signed and unsigned, binary and unary operations. + (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New + expanders to perform QImode operations using SImode instructions. + (cstoreqi4): New define_expand. + (*ext_truncsi2_qi): New define_insn. + (*zext_truncsi2_qi): New define_insn. + +2022-02-10 Roger Sayle <roger@nextmovesoftware.com> + + * config/nvptx/nvptx.md (*cmpf): New define_insn. + (cstorehf4): New define_expand. + (fmahf4): New define_insn. + (neghf2): New define_insn. + (abshf2): New define_insn. + +2022-02-10 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/install.texi (Specific): Change the www.bitwizard.nl + reference to use https. + +2022-02-10 Marcel Vollweiler <marcel@codesourcery.com> + + * gimplify.cc (gimplify_scan_omp_clauses): Added cases for + OMP_CLAUSE_HAS_DEVICE_ADDR + and handle array sections. + (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case. + * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR. + (lower_omp_target): Same. + * tree-core.h (enum omp_clause_code): Same. + * tree-nested.cc (convert_nonlocal_omp_clauses): Same. + (convert_local_omp_clauses): Same. + * tree-pretty-print.cc (dump_omp_clause): Same. + * tree.cc: Same. + +2022-02-10 Eugene Rozenfeld <erozen@microsoft.com> + + * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls + that will result in direct recursive calls. + +2022-02-10 Andrew Pinski <apinski@marvell.com> + + PR target/104474 + * config/aarch64/aarch64.cc + (aarch64_sve_expand_vector_init_handle_trailing_constants): + Use CONST0_RTX instead of const0_rtx for the non-constant elements. + +2022-02-09 Uroš Bizjak <ubizjak@gmail.com> + + PR target/104462 + * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET): + Also include OPTION_MASK_ISA2_AVX2_UNSET. + +2022-02-09 Uroš Bizjak <ubizjak@gmail.com> + + PR target/104458 + * config/i386/i386-expand.cc (ix86_split_idivmod): + Force operands[2] and operands[3] into a register.. + +2022-02-09 Jeff Law <jeffreyalaw@gmail.com> + + PR target/97040 + * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4. + (*v850_fnmssf4): Renamed from fnmssf4 + +2022-02-09 Ian Lance Taylor <iant@golang.org> + + * godump.cc (go_force_record_alignment): Really name the alignment + field "_" (complete 2021-12-29 change). + +2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change + function prototype. + (VREPLACE_UN_UV4SI): Likewise. + (VREPLACE_UN_V2DF): Likewise. + (VREPLACE_UN_V2DI): Likewise. + (VREPLACE_UN_V4SF): Likewise. + (VREPLACE_UN_V4SI): Likewise. + * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all + function prototypes. + * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand. + (vreplace_un_<mode>): New define_insn. + +2022-02-09 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/iterators.md (VDCSIF): New mode iterator. + (VDBL): Handle SF. + (single_wx, single_type, single_dtype, dblq): New mode attributes. + * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend + from VDC to VDCSIF. + (store_pair_lanes<mode>): Likewise. + (*aarch64_combine_internal<mode>): Likewise. + (*aarch64_combine_internal_be<mode>): Likewise. + (*aarch64_combinez<mode>): Likewise. + (*aarch64_combinez_be<mode>): Likewise. + * config/aarch64/aarch64.cc (aarch64_classify_address): Handle + 8-byte modes for ADDR_QUERY_LDP_STP_N. + (aarch64_print_operand): Likewise for %y. + +2022-02-09 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>): + Use aarch64_combine instead of move_lo/hi_quad. Tabify. + (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete. + (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete. + (vec_pack_trunc_<mode>): Take general_operand elements and use + aarch64_combine rather than move_lo/hi_quad to combine them. + (vec_pack_trunc_df): Likewise. + +2022-02-09 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine): + Delete. + * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename + to... + (*aarch64_combinez<mode>): ...this. + (@aarch64_combinez_be<mode>): Rename to... + (*aarch64_combinez_be<mode>): ...this. + (@aarch64_vec_concat<mode>): New expander. + (aarch64_combine<mode>): Use it. + (@aarch64_simd_combine<mode>): Delete. + * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete. + (aarch64_expand_vector_init): Use aarch64_vec_concat. + +2022-02-09 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand): + New predicate. + * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>) + (*aarch64_combine_internal_be<mode>): New patterns. + +2022-02-09 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>) + (move_lo_quad_internal_be_<mode>): Delete. + (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above. + +2022-02-09 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p): + Declare. + * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use + aarch64_mergeable_load_pair_p instead of inline check. + * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise. + (aarch64_check_consecutive_mems): Allow the reversed parameter + to be null. + (aarch64_mergeable_load_pair_p): New function. + +2022-02-09 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the + element to be an aarch64_simd_nonimmediate_operand. + +2022-02-09 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use + aarch64_simd_nonimmediate_operand instead of + aarch64_simd_general_operand. + (@aarch64_combinez<mode>): Use nonimmediate_operand instead of + general_operand. + (@aarch64_combinez_be<mode>): Likewise. + +2022-02-09 Richard Biener <rguenther@suse.de> + + PR middle-end/104464 + * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone + throwing check to after unproblematic replacement. + +2022-02-09 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/104420 + * match.pd (mult @0 real_zerop): Tweak conditions for constant + folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate. + +2022-02-09 Jakub Jelinek <jakub@redhat.com> + + PR debug/104407 + * dwarf2out.cc (mangle_referenced_decls): New function. + (tree_add_const_value_attribute): Don't call rtl_for_decl_init if + early_dwarf. Instead walk the initializer and try to mangle vars or + functions referenced from it. + +2022-02-09 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/104288 + * gimple-range-cache.cc (non_null_ref::set_nonnull): New. + (non_null_ref::adjust_range): Move to header. + (ranger_cache::range_of_def): Don't check non-null. + (ranger_cache::entry_range): Don't check non-null. + (ranger_cache::range_on_edge): Check for nonnull on normal edges. + (ranger_cache::update_to_nonnull): New. + (non_null_loadstore): New. + (ranger_cache::block_apply_nonnull): New. + * gimple-range-cache.h (class non_null_ref): Update prototypes. + (non_null_ref::adjust_range): Move to here and inline. + (class ranger_cache): Update prototypes. + * gimple-range-path.cc (path_range_query::range_defined_in_block): Do + not search dominators. + (path_range_query::adjust_for_non_null_uses): Ditto. + * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for + def overrides. Do not check nonnull. + (gimple_ranger::range_on_entry): Check dominators for nonnull. + (gimple_ranger::range_on_edge): Check for nonnull on normal edges.. + (gimple_ranger::register_side_effects): New. + * gimple-range.h (gimple_ranger::register_side_effects): New. + * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects. + +2022-02-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104445 + PR tree-optimization/102832 + * optabs-query.h (can_vec_extract): New. + * optabs-query.cc (can_vec_extract): Likewise. + * tree-vect-loop.cc (vect_find_reusable_accumulator): Check + we can extract a hi/lo part from the larger vector, rework + check iteration from larger to smaller sizes. + +2022-02-09 H.J. Lu <hjl.tools@gmail.com> + + PR target/35513 + PR target/100593 + * config/i386/gnu-property.cc: Include "i386-protos.h". + (file_end_indicate_exec_stack_and_gnu_property): Generate + a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or + nodirect_extern_access attribute. + * config/i386/i386-options.cc + (handle_nodirect_extern_access_attribute): New function. + (ix86_attribute_table): Add nodirect_extern_access attribute. + * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a + bool argument. + (ix86_has_no_direct_extern_access): New. + * config/i386/i386.cc (ix86_has_no_direct_extern_access): New. + (ix86_force_load_from_GOT_p): Add a bool argument to indicate + call operand. Force non-call load from GOT for + -mno-direct-extern-access or nodirect_extern_access attribute. + (legitimate_pic_address_disp_p): Avoid copy relocation in PIE + for -mno-direct-extern-access or nodirect_extern_access attribute. + (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p + for call operand. + (asm_preferred_eh_data_format): Use PC-relative format for + -mno-direct-extern-access to avoid copy relocation. Check + ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4. + (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to + true for -mno-direct-extern-access or nodirect_extern_access + attribute. Don't treat protected data as extern and avoid copy + relocation on common symbol with -mno-direct-extern-access or + nodirect_extern_access attribute. + (ix86_reloc_rw_mask): New to avoid copy relocation for + -mno-direct-extern-access. + (TARGET_ASM_RELOC_RW_MASK): New. + * config/i386/i386.opt: Add -mdirect-extern-access. + * doc/extend.texi: Document nodirect_extern_access attribute. + * doc/invoke.texi: Document -m[no-]direct-extern-access. + +2022-02-09 H.J. Lu <hjl.tools@gmail.com> + + PR target/104441 + * config/i386/i386.cc (ix86_avx_u128_mode_source): New function. + (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN. + Call ix86_avx_u128_mode_source to check mode for each component + of source operand. + +2022-02-09 liuhongt <hongtao.liu@intel.com> + + PR target/104451 + * config/i386/sse.md (<insn><mode>3): lowpart_subreg + operands[2] from SImode to QImode. + +2022-02-09 Richard Biener <rguenther@suse.de> + + PR middle-end/104450 + * gimple-isel.cc: Pass cfun around. + (+gimple_expand_vec_cond_expr): Do not combine a throwing + comparison with the select. + +2022-02-09 Richard Biener <rguenther@suse.de> + + PR target/104453 + * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift + folding for NULL LHS. + +2022-02-08 Robin Dapp <rdapp@linux.ibm.com> + + PR rtl-optimization/104198 + PR rtl-optimization/104153 + * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of + using it directly. Rework comparison handling and always + perform a second pass. + +2022-02-08 Jakub Jelinek <jakub@redhat.com> + + PR target/102140 + * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if + split1 pass has finished already. + +2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (VMSUMCUD): New. + * config/rs6000/rs6000-overload.def (VEC_MSUMC): New. + * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant. + (vmsumcud): New define_insn. + +2022-02-08 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70. + * config/nvptx/nvptx.h (TARGET_SM70): Define. + +2022-02-08 Robin Dapp <rdapp@linux.ibm.com> + + * config/s390/s390.cc (s390_rtx_costs): Increase costs for load + on condition. + * config/s390/s390.md: Use paradoxical subreg. + +2022-02-08 Robin Dapp <rdapp@linux.ibm.com> + + * combine.cc (reg_subword_p): Check for paradoxical subreg. + +2022-02-08 Tom de Vries <tdevries@suse.de> + + PR target/104283 + * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0 + and PTX_VERSION_4_2. + * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm) + (default_ptx_version_option, ptx_version_to_string) + (sm_version_to_string, handle_ptx_version_option): New function. + (nvptx_option_override): Call handle_ptx_version_option. + (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string. + * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>") + (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0. + * config/nvptx/nvptx.opt (mptx): Remove 'Init'. + +2022-02-08 Maciej W. Rozycki <macro@embecosm.com> + + * doc/install.texi (Configuration): Document `--with-isa-spec=' + RISC-V option. + * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V + option. + (RISC-V Options): Document it. + +2022-02-08 Maciej W. Rozycki <macro@embecosm.com> + + * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency. + +2022-02-08 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'. + +2022-02-08 Tom de Vries <tdevries@suse.de> + + PR target/104364 + * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare. + * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that + change is validated. + (nvptx_mem_local_p): New function. + * config/nvptx/nvptx.md: Use nvptx_mem_local_p. + (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL. + (define_insn "atomic_compare_and_swap<mode>_1_local"): New + non-atomic, non-predicable define_insn, factored out of ... + (define_insn "atomic_compare_and_swap<mode>_1"): ... here. + Make predicable again. + (define_expand "atomic_compare_and_swap<mode>"): Use + atomic_compare_and_swap<mode>_1_local. + +2022-02-08 liuhongt <hongtao.liu@intel.com> + + PR rtl-optimization/104059 + * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate + for a more expensive reg-reg move. + +2022-02-07 Tamar Christina <tamar.christina@arm.com> + + * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32, + vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New + * config/arm/arm_neon_builtins.def (usdot): Add V16QI. + (usdot_laneq, sudot_laneq): New. + * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New. + (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code. + +2022-02-07 Tamar Christina <tamar.christina@arm.com> + + * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32, + vdot_laneq_s32, vdotq_laneq_s32): New. + * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New. + * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New. + (<sup>dot_prod<vsi2qi>): Re-order rtl. + (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes. + (neon_<sup>dot_laneq<vsi2qi>): New. + +2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com> + + PR target/104327 + * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags + if always_inline is set. Don't inline when tune differs without + always_inline. + +2022-02-07 Richard Biener <rguenther@suse.de> + + PR middle-end/104402 + * gimple-expr.cc (is_gimple_condexpr): _Complex typed + compares are not valid. + * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR + check is_gimple_condexpr. + +2022-02-07 Kewen Lin <linkw@linux.ibm.com> + + PR target/103627 + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the + hunk affecting VSX and ALTIVEC to appropriate place. + +2022-02-07 Kewen Lin <linkw@linux.ibm.com> + + PR target/103627 + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable + MMA if !TARGET_VSX. + +2022-02-06 Jakub Jelinek <jakub@redhat.com> + + PR c++/89074 + PR c++/104033 + * fold-const.h (folding_initializer): Adjust comment. + (folding_cxx_constexpr): Declare. + * fold-const.cc (folding_initializer): Adjust comment. + (folding_cxx_constexpr): New variable. + (address_compare): Restrict the decl vs. STRING_CST + or vice versa or STRING_CST vs. STRING_CST or + is_global_var != is_global_var optimizations to !folding_cxx_constexpr. + Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer, + assume non-aliased functions have non-zero size and have different + addresses. For folding_cxx_constexpr, punt on comparisons of start + of some object and end of another one, regardless whether it is a decl + or string literal. Also punt for folding_cxx_constexpr on + STRING_CST vs. STRING_CST comparisons if the two literals could be + overlapping. + +2022-02-05 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104389 + * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are + honored. + +2022-02-05 Kito Cheng <kito.cheng@sifive.com> + + * configure.ac: Fix detection for zifencei support. + * configure: Regenerate. + +2022-02-05 Kito Cheng <kito.cheng@sifive.com> + + PR target/104219 + * config.gcc (riscv*-*-*): Normalize the with_isa_spec value. + (all_defaults): Add isa_spec. + * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec. + +2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com> + + * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types + parameters instead of arglist and nargs. Simplify accordingly. Remove + unnecessary test for argument count mismatch. + (resolve_vec_cmpne): Likewise. + (resolve_vec_adde_sube): Likewise. + (resolve_vec_addec_subec): Likewise. + (altivec_resolve_overloaded_builtin): Move overload special handling + after the gathering of arguments into args[] and types[] and the test + for correct number of arguments. Don't perform the test for correct + number of arguments for certain special cases. Call the other special + cases with args and types instead of arglist and nargs. + +2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com> + + PR target/100808 + * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA + 3.1): Provide consistent type names. Remove unnecessary semicolons. + Fix bad line breaks. + +2022-02-04 Jakub Jelinek <jakub@redhat.com> + + PR target/104380 + * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also + adjust mangling of __builtin*printf_chk. + +2022-02-04 Jonathan Wakely <jwakely@redhat.com> + + * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20. + +2022-02-04 Richard Biener <rguenther@suse.de> + Bin Cheng <bin.cheng@linux.alibaba.com> + + PR tree-optimization/100499 + * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted + to true. + * fold-const.cc (multiple_of_p): Likewise. Honor it for + MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along, + switching to false for conversions. + * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not + claim the outermost expression does not wrap when calling + multiple_of_p. Refactor the check done to check the + original IV, avoiding a bias that might wrap. + +2022-02-04 Richard Biener <rguenther@suse.de> + + * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR + handling. + +2022-02-04 Eric Botcazou <ebotcazou@adacore.com> + + PR debug/104366 + * dwarf2out.cc (dwarf2out_finish): Empty base_types. + (dwarf2out_early_finish): Likewise. + +2022-02-04 Eric Botcazou <ebotcazou@adacore.com> + + PR tree-optimization/104356 + * match.pd (X / bool_range_Y is X): Add guard. + (X / X is one): Likewise. + (X / abs (X) is X < 0 ? -1 : 1): Likewise. + (X / -X is -1): Likewise. + (1 / X -> X == 1): Likewise. + +2022-02-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103641 + * tree-vect-patterns.cc (vect_synth_mult_by_constant): + Pass the vector mode to choose_mult_variant. + +2022-02-04 Roger Sayle <roger@nextmovesoftware.com> + + PR rtl-optimization/101885 + * combine.cc (try_combine): When splitting a parallel into two + sequential sets, check not only that the first doesn't clobber + the second but also that the second doesn't clobber the first. + +2022-02-04 Richard Biener <rguenther@suse.de> + + PR middle-end/90348 + PR middle-end/104092 + * tree-core.h (clobber_kind): New enum. + (tree_base::u::bits::address_space): Document use in CONSTRUCTORs. + * tree.h (CLOBBER_KIND): Add. + (build_clobber): Add clobber kind argument, defaulted to + CLOBBER_UNDEF. + * tree.cc (build_clobber): Likewise. + * gimple.h (gimple_clobber_p): New overload with specified kind. + * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream + CLOBBER_KIND. + * tree-streamer-out.cc (streamer_write_tree_bitfields): + Likewise. + * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs. + * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers + with CLOBBER_EOL. + (gimplify_target_expr): Likewise. + * tree-inline.cc (expand_call_inline): Likewise. + * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise. + * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat + CLOBBER_EOL clobbers as ending lifetime of storage. + +2022-02-04 Martin Sebor <msebor@redhat.com> + + * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto + cleanup. + +2022-02-03 Martin Sebor <msebor@redhat.com> + + PR middle-end/104260 + * passes.def (pass_warn_access): Adjust pass placement. + +2022-02-03 Uroš Bizjak <ubizjak@gmail.com> + + PR target/104362 + * config/i386/i386.cc (find_drap_reg): For 32bit targets + return DI_REG if function uses __builtin_eh_return. + +2022-02-03 Martin Sebor <msebor@redhat.com> + + * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor. + (pass_wrestrict::m_ptr_qry): New member. + (wrestrict_walk): Rename... + (pass_wrestrict::check_block): ...to this. + (pass_wrestrict::execute): Set up and tear down pointer_query and + ranger. + (builtin_memref::builtin_memref): Change ctor argument. Simplify. + (builtin_access::builtin_access): Same. + (builtin_access::m_ptr_qry): New member. + (check_call): Rename... + (pass_wrestrict::check_call): ...to this. + (check_bounds_or_overlap): Change argument. + * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same. + +2022-02-03 Martin Sebor <msebor@redhat.com> + + * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker): + Define ctor. + (array_bounds_checker::get_value_range): Use new member. + (array_bounds_checker::check_mem_ref): Same. + * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker): + Outline ctor. + (array_bounds_checker::m_ptr_query): New member. + +2022-02-03 Martin Sebor <msebor@redhat.com> + + * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove + pointer_query cache. + * pointer-query.cc (pointer_query::pointer_query): Remove cache + argument. Zero-initialize new cache member. + (pointer_query::get_ref): Replace cache pointer with direct access. + (pointer_query::put_ref): Same. + (pointer_query::flush_cache): Same. + (pointer_query::dump): Same. + * pointer-query.h (class pointer_query): Remove cache argument from + ctor. Change cache pointer to cache subobject member. + * tree-ssa-strlen.cc: Remove pointer_query cache. + +2022-02-03 Martin Sebor <msebor@redhat.com> + + PR tree-optimization/104119 + * gimple-ssa-sprintf.cc (struct directive): Change argument type. + (format_none): Same. + (format_percent): Same. + (format_integer): Same. + (format_floating): Same. + (get_string_length): Same. + (format_character): Same. + (format_string): Same. + (format_plain): Same. + (format_directive): Same. + (compute_format_length): Same. + (handle_printf_call): Same. + * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call + get_maxbound. + (get_range_strlen_phi): Same. + (get_maxbound): New function. + (strlen_pass::get_len_or_size): Adjust to parameter change. + * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type. + +2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> + + PR target/103686 + * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove + test for !rs6000_fold_gimple. + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise. + * config/rs6000/rs6000.opt (mfold-gimple): Remove. + +2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> + + PR target/95082 + * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle + endianness for vclzlsbb and vctzlsbb. + * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change + default pattern and indicate a different pattern will be used for + big endian. + (VCLZLSBB_V4SI): Likewise. + (VCLZLSBB_V8HI): Likewise. + (VCTZLSBB_V16QI): Likewise. + (VCTZLSBB_V4SI): Likewise. + (VCTZLSBB_V8HI): Likewise. + +2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> + + * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs. + * config/rs6000/rs6000-builtin.cc: New file, containing code moved + from other files. + * config/rs6000/rs6000-call.cc (cpu_is_info): Move to + rs6000-builtin.cc. + (cpu_supports_info): Likewise. + (rs6000_type_string): Likewise. + (altivec_expand_predicate_builtin): Likewise. + (rs6000_htm_spr_icode): Likewise. + (altivec_expand_vec_init_builtin): Likewise. + (get_element_number): Likewise. + (altivec_expand_vec_set_builtin): Likewise. + (altivec_expand_vec_ext_builtin): Likewise. + (rs6000_invalid_builtin): Likewise. + (rs6000_fold_builtin): Likewise. + (fold_build_vec_cmp): Likewise. + (fold_compare_helper): Likewise. + (map_to_integral_tree_type): Likewise. + (fold_mergehl_helper): Likewise. + (fold_mergeeo_helper): Likewise. + (rs6000_builtin_valid_without_lhs): Likewise. + (rs6000_builtin_is_supported): Likewise. + (rs6000_gimple_fold_mma_builtin): Likewise. + (rs6000_gimple_fold_builtin): Likewise. + (rs6000_expand_ldst_mask): Likewise. + (cpu_expand_builtin): Likewise. + (elemrev_icode): Likewise. + (ldv_expand_builtin): Likewise. + (lxvrse_expand_builtin): Likewise. + (lxvrze_expand_builtin): Likewise. + (stv_expand_builtin): Likewise. + (mma_expand_builtin): Likewise. + (htm_spr_num): Likewise. + (htm_expand_builtin): Likewise. + (rs6000_expand_builtin): Likewise. + (rs6000_vector_type): Likewise. + (rs6000_init_builtins): Likewise. Remove initialization of + builtin_mode_to_type entries. + (rs6000_builtin_decl): Move to rs6000-builtin.cc. + * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New + external declaration. + (rs6000_builtin_md_vectorized_function): Likewise. + (rs6000_builtin_reciprocal): Likewise. + (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc. + (rs6000_builtin_types): Likewise. + (builtin_mode_to_type): Remove. + (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove + static qualifier. + (rs6000_builtin_md_vectorized_function): Likewise. + (rs6000_builtin_reciprocal): Likewise. + * config/rs6000/rs6000.h (builtin_mode_to_type): Remove. + * config/rs6000/t-rs6000 (rs6000-builtin.o): New target. + +2022-02-03 Richard Biener <rguenther@suse.de> + + PR debug/104337 + * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found + together via DECL_ABSTRACT_ORIGIN. + +2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> + + * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error + message for RES_BITS case. + +2022-02-03 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly. + +2022-02-03 Jakub Jelinek <jakub@redhat.com> + + * config/arm/arm.opt (mfix-cortex-a57-aes-1742098, + mfix-cortex-a72-aes-1655431): Ensure description ends with full stop. + +2022-02-03 Aldy Hernandez <aldyh@redhat.com> + + * cfganal.cc (verify_marked_backedges): New. + * cfganal.h (verify_marked_backedges): New. + * gimple-range-path.cc (path_range_query::path_range_query): + Verify freshness of back edges. + * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call + mark_dfs_back_edges. + * tree-ssa-threadbackward.cc (back_threader::back_threader): Move + path_range_query construction after backedges have been + updated. + +2022-02-03 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from + VALL to VALL_F16. + +2022-02-03 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/iterators.md (VALL_F16MOV): Delete. + * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead + of VALL_F16MOV. + +2022-02-03 Martin Liska <mliska@suse.cz> + + * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): + Change subject and object in the error message. + * config/s390/s390.cc (s390_valid_target_attribute_inner_p): + Likewise. + +2022-02-03 Martin Liska <mliska@suse.cz> + + * config/s390/s390.cc (s390_valid_target_attribute_inner_p): + Use the error message for i386 target. + +2022-02-03 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104334 + * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range + and rh_range type to widest_int and subtract in widest_int. Remove + ov_rh, ov_lh and sign vars, always perform comparisons as signed + and use >, < and == operators for it. + +2022-02-03 Martin Sebor <msebor@redhat.com> + + * common.opt (-Wuse-after-free): Correct typos. + +2022-02-02 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104270 + * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to + -Wanalyzer-use-of-uninitialized-value to paragraph documenting that + -ftrivial-auto-var-init= doesn't suppress warnings. + +2022-02-02 Martin Liska <mliska@suse.cz> + + * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro. + +2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de> + + PR target/94372 + * config/or1k/linux.h (CPP_SPEC): Define. + +2022-02-02 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/102819 + PR tree-optimization/103169 + * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use + canonical order. + +2022-02-02 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/102819 + PR tree-optimization/103169 + * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use + canonical order. + * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise. + +2022-02-02 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/102819 + PR tree-optimization/103169 + * doc/md.texi: Update docs for cfms, cfma. + * tree-data-ref.h (same_data_refs): Accept optional offset. + * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating + patterns. + (vect_normalize_conj_loc): Remove. + (is_eq_or_top): Change to take two nodes. + (enum _conj_status, compatible_complex_nodes_p, + vect_validate_multiplication): New. + (class complex_add_pattern, complex_add_pattern::matches, + complex_add_pattern::recognize, class complex_mul_pattern, + complex_mul_pattern::recognize, class complex_fms_pattern, + complex_fms_pattern::recognize, class complex_operations_pattern, + complex_operations_pattern::recognize, addsub_pattern::recognize): Pass + new cache. + (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new + cache and use new validation code. + * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns, + vect_analyze_slp): Pass along cache. + (compatible_calls_p): Expose. + * tree-vectorizer.h (compatible_calls_p, slp_node_hash, + slp_compat_nodes_map_t): New. + (class vect_pattern): Update signatures include new cache. + +2022-02-02 Hans-Peter Nilsson <hp@axis.com> + + * config/cris/cris.cc (cris_preferred_reload_class): Reject + "eliminated" registers and small-enough constants unless + reloaded into a class that is a subset of GENERAL_REGS. + * config/cris/cris.md (attribute "cpu_variant"): New. + (attribute "enabled"): Conditionalize on a matching attribute + cpu_variant, if specified. + ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from + memory, add cpu-variant-enabled variants for "r" alternatives on + the far side of the "x" alternatives, preferring the "x" ones + only for variants where MOF is present (in addition to SRP). + +2022-02-02 Hans-Peter Nilsson <hp@axis.com> + + * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira + extra cost for ALL_REGS. + +2022-02-02 Hans-Peter Nilsson <hp@axis.com> + + * config/cris/constraints.md (define_register_constraint "b"): Now + GENERAL_REGS. + * config/cris/cris.md (CRIS_ACR_REGNUM): Remove. + * config/cris/cris.h: (reg_class, REG_CLASS_NAMES) + (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS, + and SPEC_GENNONACR_REGS. + * config/cris/cris.cc (cris_preferred_reload_class): Don't mention + ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS. + +2022-02-02 Hans-Peter Nilsson <hp@axis.com> + + * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"): + Conditionalize on (sub-)register operands or operand 1 being 0. + +2022-02-02 Hans-Peter Nilsson <hp@axis.com> + + * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG. + (MUL_BUG_ASM_DEFAULT): New macro. + (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT. + * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust + accordingly. + +2022-02-01 Eugene Rozenfeld <erozen@microsoft.com> + + * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations + to 10 for AutoFDO. + +2022-02-01 Eugene Rozenfeld <erozen@microsoft.com> + + * auto-profile.cc (auto_profile): Hard-code the number of iterations (10). + +2022-02-01 Andrew Pinski <apinski@marvell.com> + + * doc/install.texi: + +2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com> + + * config/s390/s390.cc (s390_code_end): Do not switch back to + code section. + +2022-02-01 Jakub Jelinek <jakub@redhat.com> + + PR target/104323 + * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h + rather than $(srcdir)/config/rs6000/rs6000-builtins.def. + * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use + GTY((user)) for struct bifdata and struct ovlddata. Instead add + GTY((skip(""))) to members with pointer and enum types that don't need + to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info + declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations. + (write_extern_fntype, write_fntype): Remove. + (write_fntype_init): Emit the fntype vars as automatic vars instead + of file scope ones. + (write_header_file): Don't iterate with write_extern_fntype. + (write_init_file): Don't iterate with write_fntype. Don't emit + gt_ggc_mx and gt_pch_nx definitions. + +2022-02-01 Jason Merrill <jason@redhat.com> + + * tree.h (struct tree_vec_map_cache_hasher): Move from... + * tree.cc (struct tree_vec_map_cache_hasher): ...here. + +2022-02-01 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check. + * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add + UNSPECV_UNIFORM_WARP_CHECK. + (define_insn "nvptx_uniform_warp_check"): New define_insn. + +2022-02-01 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync. + * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add + UNSPECV_WARPSYNC. + (define_insn "nvptx_warpsync"): New define_insn. + +2022-02-01 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default. + +2022-02-01 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0. + * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro. + * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier + insn for TARGET_PTX_6_0. + +2022-02-01 Tom de Vries <tdevries@suse.de> + + PR target/100428 + * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop + insn. + +2022-02-01 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1") + (define_insn "atomic_exchange<mode>") + (define_insn "atomic_fetch_add<mode>") + (define_insn "atomic_fetch_addsf") + (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version + if memory operands is frame-relative. + +2022-02-01 Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.cc (enum nvptx_builtins): Add + NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA. + (VOID): New macro. + (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA. + (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and + NVPTX_BUILTIN_MEMBAR_CTA. + (nvptx_lockfull_update): Add level parameter. Emit barriers. + (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to + nvptx_lockfull_update. + * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add + UNSPECV_MEMBAR_GL. + (define_expand "nvptx_membar_gl"): New expand. + (define_insn "*nvptx_membar_gl"): New insn. + +2022-02-01 Martin Liska <mliska@suse.cz> + + * doc/install.texi: Remove option for GCC < 4.8. + +2022-02-01 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104307 + * tree-vect-generic.cc (expand_vector_comparison): Don't push debug + stmts to uses vector, just set vec_cond_expr_only to false for + non-VEC_COND_EXPRs instead of pushing them into uses. Treat + VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too + like non-VEC_COND_EXPRs. + +2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com> + + * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token. + (VEC_BLENDV): Likewise. + (VEC_BPERM): Likewise. + (VEC_CFUGE): Likewise. + (VEC_CIPHER_BE): Likewise. + (VEC_CIPHERLAST_BE): Likewise. + (VEC_CLRL): Likewise. + (VEC_CLRR): Likewise. + (VEC_CMPNEZ): Likewise. + (VEC_CNTLZ): Likewise. + (VEC_CNTLZM): Likewise. + (VEC_CNTTZM): Likewise. + (VEC_CNTLZ_LSBB): Likewise. + (VEC_CNTM): Likewise. + (VEC_CNTTZ): Likewise. + (VEC_CNTTZ_LSBB): Likewise. + (VEC_CONVERT_4F32_8F16): Likewise. + (VEC_DIV): Likewise. + (VEC_DIVE): Likewise. + (VEC_EQV): Likewise. + (VEC_EXPANDM): Likewise. + (VEC_EXTRACT_FP_FROM_SHORTH): Likewise. + (VEC_EXTRACT_FP_FROM_SHORTL): Likewise. + (VEC_EXTRACTH): Likewise. + (VEC_EXTRACTL): Likewise. + (VEC_EXTRACTM): Likewise. + (VEC_EXTRACT4B): Likewise. + (VEC_EXTULX): Likewise. + (VEC_EXTURX): Likewise. + (VEC_FIRSTMATCHINDEX): Likewise. + (VEC_FIRSTMACHOREOSINDEX): Likewise. + (VEC_FIRSTMISMATCHINDEX): Likewise. + (VEC_FIRSTMISMATCHOREOSINDEX): Likewise. + (VEC_GB): Likewise. + (VEC_GENBM): Likewise. + (VEC_GENHM): Likewise. + (VEC_GENWM): Likewise. + (VEC_GENDM): Likewise. + (VEC_GENQM): Likewise. + (VEC_GENPCVM): Likewise. + (VEC_GNB): Likewise. + (VEC_INSERTH): Likewise. + (VEC_INSERTL): Likewise. + (VEC_INSERT4B): Likewise. + (VEC_LXVL): Likewise. + (VEC_MERGEE): Likewise. + (VEC_MERGEO): Likewise. + (VEC_MOD): Likewise. + (VEC_MSUB): Likewise. + (VEC_MULH): Likewise. + (VEC_NAND): Likewise. + (VEC_NCIPHER_BE): Likewise. + (VEC_NCIPHERLAST_BE): Likewise. + (VEC_NEARBYINT): Likewise. + (VEC_NMADD): Likewise. + (VEC_ORC): Likewise. + (VEC_PDEP): Likewise. + (VEC_PERMX): Likewise. + (VEC_PEXT): Likewise. + (VEC_POPCNT): Likewise. + (VEC_PARITY_LSBB): Likewise. + (VEC_REPLACE_ELT): Likewise. + (VEC_REPLACE_UN): Likewise. + (VEC_REVB): Likewise. + (VEC_RINT): Likewise. + (VEC_RLMI): Likewise. + (VEC_RLNM): Likewise. + (VEC_SBOX_BE): Likewise. + (VEC_SIGNEXTI): Likewise. + (VEC_SIGNEXTLL): Likewise. + (VEC_SIGNEXTQ): Likewise. + (VEC_SLDB): Likewise. + (VEC_SLV): Likewise. + (VEC_SPLATI): Likewise. + (VEC_SPLATID): Likewise. + (VEC_SPLATI_INS): Likewise. + (VEC_SQRT): Likewise. + (VEC_SRDB): Likewise. + (VEC_SRV): Likewise. + (VEC_STRIL): Likewise. + (VEC_STRIL_P): Likewise. + (VEC_STRIR): Likewise. + (VEC_STRIR_P): Likewise. + (VEC_STXVL): Likewise. + (VEC_TERNARYLOGIC): Likewise. + (VEC_TEST_LSBB_ALL_ONES): Likewise. + (VEC_TEST_LSBB_ALL_ZEROS): Likewise. + (VEC_VEE): Likewise. + (VEC_VES): Likewise. + (VEC_VIE): Likewise. + (VEC_VPRTYB): Likewise. + (VEC_VSCEEQ): Likewise. + (VEC_VSCEGT): Likewise. + (VEC_VSCELT): Likewise. + (VEC_VSCEUO): Likewise. + (VEC_VSEE): Likewise. + (VEC_VSES): Likewise. + (VEC_VSIE): Likewise. + (VEC_VSTDC): Likewise. + (VEC_VSTDCN): Likewise. + (VEC_VTDC): Likewise. + (VEC_XL): Likewise. + (VEC_XL_BE): Likewise. + (VEC_XL_LEN_R): Likewise. + (VEC_XL_SEXT): Likewise. + (VEC_XL_ZEXT): Likewise. + (VEC_XST): Likewise. + (VEC_XST_BE): Likewise. + (VEC_XST_LEN_R): Likewise. + (VEC_XST_TRUNC): Likewise. + (VEC_XXPERMDI): Likewise. + (VEC_XXSLDWI): Likewise. + (VEC_TSTSFI_EQ_DD): Likewise. + (VEC_TSTSFI_EQ_TD): Likewise. + (VEC_TSTSFI_GT_DD): Likewise. + (VEC_TSTSFI_GT_TD): Likewise. + (VEC_TSTSFI_LT_DD): Likewise. + (VEC_TSTSFI_LT_TD): Likewise. + (VEC_TSTSFI_OV_DD): Likewise. + (VEC_TSTSFI_OV_TD): Likewise. + (VEC_VADDCUQ): Likewise. + (VEC_VADDECUQ): Likewise. + (VEC_VADDEUQM): Likewise. + (VEC_VADDUDM): Likewise. + (VEC_VADDUQM): Likewise. + (VEC_VBPERMQ): Likewise. + (VEC_VCLZB): Likewise. + (VEC_VCLZD): Likewise. + (VEC_VCLZH): Likewise. + (VEC_VCLZW): Likewise. + (VEC_VCTZB): Likewise. + (VEC_VCTZD): Likewise. + (VEC_VCTZH): Likewise. + (VEC_VCTZW): Likewise. + (VEC_VEEDP): Likewise. + (VEC_VEESP): Likewise. + (VEC_VESDP): Likewise. + (VEC_VESSP): Likewise. + (VEC_VIEDP): Likewise. + (VEC_VIESP): Likewise. + (VEC_VPKSDSS): Likewise. + (VEC_VPKSDUS): Likewise. + (VEC_VPKUDUM): Likewise. + (VEC_VPKUDUS): Likewise. + (VEC_VPOPCNT): Likewise. + (VEC_VPOPCNTB): Likewise. + (VEC_VPOPCNTD): Likewise. + (VEC_VPOPCNTH): Likewise. + (VEC_VPOPCNTW): Likewise. + (VEC_VPRTYBD): Likewise. + (VEC_VPRTYBQ): Likewise. + (VEC_VPRTYBW): Likewise. + (VEC_VRLD): Likewise. + (VEC_VSLD): Likewise. + (VEC_VSRAD): Likewise. + (VEC_VSRD): Likewise. + (VEC_VSTDCDP): Likewise. + (VEC_VSTDCNDP): Likewise. + (VEC_VSTDCNQP): Likewise. + (VEC_VSTDCNSP): Likewise. + (VEC_VSTDCQP): Likewise. + (VEC_VSTDCSP): Likewise. + (VEC_VSUBECUQ): Likewise. + (VEC_VSUBEUQM): Likewise. + (VEC_VSUBUDM): Likewise. + (VEC_VSUBUQM): Likewise. + (VEC_VTDCDP): Likewise. + (VEC_VTDCSP): Likewise. + (VEC_VUPKHSW): Likewise. + (VEC_VUPKLSW): Likewise. + +2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com> + + PR rtl-optimization/101260 + * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for + copy_regno. + +2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang> + + PR middle-end/95115 + * fold-const.cc (const_binop): Do not fold NaN result from + non-NaN operands. + +2022-02-01 Tom de Vries <tdevries@suse.de> + + * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for + -ftree-loop-distribute-patterns. + (loop_distribution::execute): Don't call transform_reduction_loop for + -fno-tree-loop-distribute-patterns. + +2022-01-31 Andrew Pinski <apinski@marvell.com> + + * fold-const.h (operand_compare::operand_equal_p): + Fix comment about OEP_* flags. + +2022-01-31 Jakub Jelinek <jakub@redhat.com> + + PR target/104298 + * config/rs6000/aix.h (OPTION_GLIBC): Remove. + * config/rs6000/darwin.h (OPTION_GLIBC): Likewise. + * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0 + if not already defined. + +2022-01-31 Martin Sebor <msebor@redhat.com> + + PR middle-end/104232 + * gimple-ssa-warn-access.cc (pointers_related_p): Add argument. + Handle PHIs. Add a synonymous overload. + (pass_waccess::check_pointer_uses): Call pointers_related_p. + +2022-01-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/100499 + * fold-const.cc (multiple_of_p): Pass the correct type of + the expression to the recursive invocation of multiple_of_p + for conversions and use CASE_CONVERT. + +2022-01-31 Eric Botcazou <ebotcazou@adacore.com> + + PR target/104189 + * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS. + +2022-01-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/100499 + * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p + on poly-ints instead of multiple_of_p. + * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise. + (non_rewritable_mem_ref_base): Likewise. + (non_rewritable_lvalue_p): Likewise. + (execute_update_addresses_taken): Likewise. + +2022-01-29 Jakub Jelinek <jakub@redhat.com> + Andrew Pinski <apinski@marvell.com> + + PR tree-optimization/104279 + PR tree-optimization/104280 + PR tree-optimization/104281 + * match.pd (1 / X -> X == 1 for unsigned X): Build eq with + boolean_type_node and convert to type. Formatting fixes. + +2022-01-28 Yoshinori Sato <yo-satoh@sios.com> + + * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a. + +2022-01-28 Navid Rahimi <navidrahimi@microsoft.com> + + PR tree-optimization/103514 + * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization. + (a & b) == (a ^ b) -> !(a | b): New optimization. + +2022-01-28 Marek Polacek <polacek@redhat.com> + + * doc/invoke.texi: Update -Wbidi-chars documentation. + +2022-01-28 Iain Sandoe <iain@sandoe.co.uk> + + * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0. + +2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com> + + PR tree-optimization/95424 + * match.pd: Simplify 1 / X where X is an integer. + +2022-01-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104263 + * gimple-ssa-store-merging.cc (get_status_for_store_merging): For + cfun->can_throw_non_call_exceptions && cfun->eh test whether + last non-debug stmt in the bb is store_valid_for_store_merging_p + rather than last stmt. + +2022-01-28 Martin Liska <mliska@suse.cz> + + * diagnostic.cc (diagnostic_action_after_output): Remove extra + newline. + +2022-01-28 Martin Liska <mliska@suse.cz> + + * config/rs6000/host-darwin.cc (segv_crash_handler): + Do not use leading capital letter. + (segv_handler): Likewise. + * ipa-sra.cc (verify_splitting_accesses): Likewise. + * varasm.cc (get_section): Likewise. + +2022-01-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104267 + * tree-vect-stmts.cc (vectorizable_call): Properly use the + per-argument determined vector type for externals and + invariants. + +2022-01-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104263 + * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges): + Purge edges also when !cfun->has_nonlocal_label + and !cfun->calls_setjmp. + +2022-01-28 Maciej W. Rozycki <macro@embecosm.com> + + * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type' + attributes. + +2022-01-28 Jakub Jelinek <jakub@redhat.com> + + PR lto/104237 + * cfgrtl.cc (loc_equal): New function. + (unique_locus_on_edge_between_p): Use it. + +2022-01-28 Richard Biener <rguenther@suse.de> + + * cfganal.h (mark_dfs_back_edges): Provide API with struct + function argument. + * cfganal.cc (mark_dfs_back_edges): Take a struct function + to work on, add a wrapper passing cfun. + * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun + uses with fun which is already passed. + (draw_cfg_edges): Likewise. + (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop + for fun != cfun. + +2022-01-27 Patrick Palka <ppalka@redhat.com> + + PR c++/99895 + * tree.cc (build_call_vec): Add const to second parameter. + * tree.h (build_call_vec): Likewise. + +2022-01-27 Martin Liska <mliska@suse.cz> + + PR web/104254 + * diagnostic.cc (diagnostic_initialize): + Initialize report_bug flag. + (diagnostic_action_after_output): + Explain that -freport-bug option can be used for pre-processed + file creation. Make the message shorter. + (error_recursion): Rename Internal to internal. + * diagnostic.h (struct diagnostic_context): New field. + * opts.cc (common_handle_option): Init the field here. + +2022-01-27 Kewen Lin <linkw@linux.ibm.com> + + PR target/103702 + * config/rs6000/rs6000.cc + (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong + assertion with early return. + +2022-01-27 Chung-Lin Tang <cltang@codesourcery.com> + + PR middle-end/103642 + * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling + for non-pointer or non-reference-to-pointer cases. + +2022-01-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104196 + * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument. + * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true, + return NULL and emit needed stmts before and after stmt. + * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt + pick as operand_entry that will hold the merged test the one feeding + earliest condition, ensure that by swapping range->idx with some + other range's idx if needed. If seq is non-NULL, don't actually swap + it but instead rewrite stmts with undefined overflow in between + the two locations. + (maybe_optimize_range_tests): Set ops[]->id to bb->index with the + corresponding condition even if they have non-NULL ops[]->op. + Formatting fix. + +2022-01-26 Jakub Jelinek <jakub@redhat.com> + + PR target/104239 + * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of + asm. + * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator + before for loop instead of for init clause. + * config/rs6000/bmi2intrin.h (_pext_u64): Likewise. + +2022-01-26 Jakub Jelinek <jakub@redhat.com> + + PR target/104239 + * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of + _X86INTRIN_H_INCLUDED and adjust #error wording. + * config/rs6000/bmi2intrin.h: Likewise. + +2022-01-26 Jakub Jelinek <jakub@redhat.com> + + PR debug/104194 + * dwarf2out.cc (long_double_as_float128): New function. + (modified_type_die): For powerpc64le IEEE 754 quad long double + and complex long double emit those as DW_TAG_typedef to + _Float128 or complex _Float128 base type. + +2022-01-26 Marek Polacek <polacek@redhat.com> + + PR target/104213 + * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't + warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free. + +2022-01-26 Martin Liska <mliska@suse.cz> + + * ipa-modref-tree.cc (modref_access_node::update): + Remove "--param param=foo" with "--param foo". + (modref_access_node::insert): Likewise. + (modref_access_node::insert_kill): Likewise. + * ipa-modref-tree.h (struct modref_ref_node): Likewise. + (struct modref_base_node): Likewise. + (struct modref_tree): Likewise. + +2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com> + + PR target/94193 + * builtins.cc (expand_builtin_feclear_feraise_except): Add op0 + predicate check. + +2022-01-25 Martin Sebor <msebor@redhat.com> + + PR tree-optimization/104203 + * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use + TV_WARN_ACCESS. + * pointer-query.cc (access_ref::merge_ref): Change return type. + Convert failure to a conservative success. + (access_ref::get_ref): Adjust to the change above. Short-circuit + PHI evaluation after first failure turned into conservative success. + * pointer-query.h (access_ref::merge_ref): Change return type. + * timevar.def (TV_WARN_ACCESS): New timer variable. + +2022-01-25 David Edelsohn <dje.gcc@gmail.com> + + * config/rs6000/aix.h (OPTION_GLIBC): Define as 0. + +2022-01-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104214 + * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use + stronger guarantees for relational pointer compares when + rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as + BASE0 + STEP0 - STEP1 cmp BASE1. + +2022-01-25 Jakub Jelinek <jakub@redhat.com> + + PR target/104172 + * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't + declare. + * config/rs6000/rs6000.cc (rs6000_passes_ieee128, + ieee128_mangling_gcc_8_1): Remove. + (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine. + (rs6000_mangle_type): Return "u9__ieee128" instead of + ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128". + (rs6000_globalize_decl_name): Remove. + * config/rs6000/rs6000-call.cc (init_cumulative_args, + rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128. + +2022-01-24 Martin Sebor <msebor@redhat.com> + + * pointer-query.cc (pointer_query::dump): Remove duplicate + block. + +2022-01-24 Marek Polacek <polacek@redhat.com> + + PR preprocessor/104030 + * doc/invoke.texi: Update documentation for -Wbidi-chars. + +2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com> + + PR target/94193 + * builtins.cc (expand_builtin_fegetround): New function. + (expand_builtin_feclear_feraise_except): New function. + (expand_builtin): Add cases for BUILT_IN_FEGETROUND, + BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT. + * config/rs6000/rs6000.md (fegetroundsi): New pattern. + (feclearexceptsi): New Pattern. + (feraiseexceptsi): New Pattern. + * doc/extend.texi: Add a new introductory paragraph about the + new builtins. + * doc/md.texi: (fegetround@var{m}): Document new optab. + (feclearexcept@var{m}): Document new optab. + (feraiseexcept@var{m}): Document new optab. + * optabs.def (fegetround_optab): New optab. + (feclearexcept_optab): New optab. + (feraiseexcept_optab): New optab. + +2022-01-24 Richard Biener <rguenther@suse.de> + Jiufu Guo <guojiufu@linux.ibm.com> + + PR tree-optimization/100740 + PR tree-optimization/101508 + PR tree-optimization/101972 + PR tree-optimization/102131 + * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly + constrain BASE0 + STEP0 cmp BASE1 + STEP1 to + BASE0 + STEP0 - STEP1 cmp BASE1 transform. + +2022-01-24 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/104158 + * opt-functions.awk (var_set): Handle EnumBitSet property. + * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is + specified. + * opts.h (enum cl_enum_var_value): New type. + * opts-common.cc (decode_cmdline_option): Use CLEV_* values. + Handle CLEV_BITSET. + (cmdline_handle_error): Handle CLEV_BITSET. + * opts.cc (test_enum_sets): Also test EnumBitSet requirements. + * doc/options.texi (EnumBitSet): Document. + * common.opt (fsanitize-coverage=): Use EnumBitSet instead of + EnumSet. + (trace-pc, trace-cmp): Drop Set properties. + +2022-01-24 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/104158 + * common.opt (flag_sanitize_coverage): Remove Variable entry. + (fsanitize-coverage=): Remove RejectNegative property, add + Var(flag_sanitize_coverage) and EnumSet properties. + (trace-pc): Add Set(1) property. + (trace-cmp): Add Set(2) property. + * opts.cc (common_handle_option): Don't handle + OPT_fsanitize_coverage_. + +2022-01-24 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/104158 + * opt-functions.awk (var_set): Handle EnumSet property. + * optc-gen.awk: Don't disallow RejectNegative if EnumSet is + specified. + * opt-read.awk: Handle Set property. + * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define. + (struct cl_decoded_option): Mention enum in value description. + Add mask member. + (set_option): Add mask argument defaulted to 0. + * opts.cc (test_enum_sets): New function. + (opts_cc_tests): Call it. + * opts-common.cc (enum_arg_to_value): Change return argument + from bool to int, on success return index into the cl_enum_arg + array, on failure -1. Add len argument, if non-0, use strncmp + instead of strcmp. + (opt_enum_arg_to_value): Adjust caller. + (decode_cmdline_option): Handle EnumSet represented as + CLVC_ENUM with non-zero var_value. Initialize decoded->mask. + (decode_cmdline_options_to_array): CLear opt_array[0].mask. + (handle_option): Pass decoded->mask to set_options last argument. + (generate_option): Clear decoded->mask. + (generate_option_input_file): Likewise. + (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG. + (set_option): Add mask argument, use it for CLVC_ENUM. + (control_warning_option): Adjust enum_arg_to_value caller. + * doc/options.texi: Document Set and EnumSet properties. + +2022-01-24 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/104170 + * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, + OPTION_BIONIC_P, OPTION_MUSL_P): Define. + (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine + using OPTION_*_P macros. + * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, + OPTION_BIONIC_P, OPTION_MUSL_P): Define. + (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine + using OPTION_*_P macros. + * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, + OPTION_BIONIC_P, OPTION_MUSL_P): Define. + (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine + using OPTION_*_P macros. + * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, + OPTION_BIONIC_P, OPTION_MUSL_P): Define. + (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine + using OPTION_*_P macros. + * config/fuchsia.h (OPTION_MUSL_P): Redefine. + * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined. + * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add + ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use + OPTION_GLIBC_P (opts) as condition, otherwise assume if (false). + * common/config/i386/i386-common.cc (ix86_supports_split_stack): If + OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition, + otherwise assume if (true). + +2022-01-24 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string): + Skip zicsr and zifencei if I-ext is 2.0. + +2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn> + + * config.gcc: Modify default isa_spec version. + +2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com> + + PR tree-optimization/102087 + * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap): + Correct PLUS result type. + +2022-01-24 H.J. Lu <hjl.tools@gmail.com> + + PR target/104188 + * config/i386/predicates.md (bcst_mem_operand): Also check mode + of memory broadcast. + +2022-01-23 Andrew Pinski <apinski@marvell.com> + + PR target/64821 + * config/aarch64/aarch64-builtins.cc + (aarch64_general_gimple_fold_builtin): Handle + __builtin_aarch64_sqrt* and simplify into SQRT internal + function. + +2022-01-22 Jakub Jelinek <jakub@redhat.com> + + PR other/104176 + * opts-global.cc (handle_common_deferred_options): Quote + --enable-plugin in diagnostics to avoid -Werror=format-diag. + +2022-01-21 Michael Meissner <meissner@the-meissners.org> + + PR target/104136 + * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete. + * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete. + * config/rs6000/rs6000.md (prefixed attribute): Delete section + that sets the prefixed attribute for xxspltiw, xxspltidp, and + xxsplti32dx instructions. + (movsf_hardfloat): Explicitly set the prefixed attribute + when xxspltiw and xxspltidp instructions are generated. + (mov<mode>_hardfloat32): Likewise. + (mov<mode>_hardfloat64): Likewise. + * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the + prefixed attribute for xxspltiw and xxspltidp instructions. + (vsx_mov<mode>_32bit): Likewise. + +2022-01-21 H.J. Lu <hjl.tools@gmail.com> + + PR bootstrap/104170 + * common/config/i386/i386-common.cc (ix86_supports_split_stack): + Return true only on glibc. + * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): + Revert commit c163647ffbc. + * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise. + +2022-01-21 Sören Tempel <soeren@soeren-tempel.net> + + * common/config/s390/s390-common.cc (s390_supports_split_stack): + Only support split-stack on glibc targets. + * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto. + * config/i386/gnu.h (defined): Ditto. + +2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com> + + * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for + vector float and vector double. + +2022-01-21 Bill Seurer <seurer@gcc.gnu.org> + + * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher): + Fix mention of ifunc in string. + +2022-01-21 Roger Sayle <roger@nextmovesoftware.com> + + PR middle-end/104140 + * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the + operands of the widening multiplication are either both signed or + both unsigned, and abort the conversion if mismatched. + * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node. + (MULT_HIGHPART_EXPR): Clarify that operands must have the same + signedness. + * tree.def (MULT_HIGHPART_EXPR): Document both operands must have + integer types with the same precision and signedness. + (WIDEN_MULT_EXPR): Document that operands must have integer types + with the same precision, but possibly differing signedness. + * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against + riscv_current_subset_list returning a NULL pointer (empty list). + +2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com> + + PR target/103676 + * ira.h (struct target_ira): Add member + x_ira_exclude_class_mode_regs. + (ira_exclude_class_mode_regs): New macro. + * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and + move from here ... + * lra-int.h: ... to here. + (lra_create_new_reg_with_unique_value): Add arg + exclude_start_hard_regs. + (class lra_reg): Add member exclude_start_hard_regs. + * lra-assigns.cc (find_hard_regno_for_1): Setup + impossible_start_hard_regs from exclude_start_hard_regs. + * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass + it lra_create_new_reg[_with_unique_value]. + (match_reload): Ditto. + (check_and_process_move): Pass NULL + exclude_start_hard_regs to lra_create_new_reg_with_unique_value. + (goal_alt_exclude_start_hard_regs): New static variable. + (process_addr_reg, simplify_operand_subreg): Pass NULL + exclude_start_hard_regs to lra_create_new_reg_with_unique_value + and get_reload_reg. + (process_alt_operands): Setup goal_alt_exclude_start_hard_regs. + Use this_alternative_exclude_start_hard_regs additionally to find + winning operand alternative. + (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL + exclude_start_hard_regs to lra_create_new_reg. + (process_address_1, emit_inc): Ditto. + (curr_insn_transform): Pass exclude_start_hard_regs value to + lra_create_new_reg, get_reload_reg, match_reload. + (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs + to lra_create_new_reg. + (process_invariant_for_inheritance): Ditto. + * lra-remat.cc (update_scratch_ops): Ditto. + * lra.cc (lra_create_new_reg_with_unique_value): Add arg + exclude_start_hard_regs. Setup the corresponding member of + lra reg info. + (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it + to lra_create_new_reg_with_unique_value. + (initialize_lra_reg_info_element): Initialize member + exclude_start_hard_regs. + (get_scratch_reg): Pass NULL to lra_create_new_reg. + * ira.cc (setup_prohibited_class_mode_regs): Rename to + setup_prohibited_and_exclude_class_mode_regs and calculate + ira_exclude_class_mode_regs. + +2022-01-21 Martin Liska <mliska@suse.cz> + + * configure.ac: Detect ld_is_mold and use it for + comdat_group=yes and gcc_cv_ld_hidden=yes. + * configure: Regenerate. + +2022-01-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/100089 + * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization + of if-converted loops with unvectorized COND_EXPRs for + all but the unlimited cost models. + +2022-01-21 Ard Biesheuvel <ardb@kernel.org> + + * config/arm/arm-opts.h (enum stack_protector_guard): New. + * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem): + New. + * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define. + (arm_option_override_internal): Handle and put in error checks. + for stack protector guard options. + (arm_option_reconfigure_globals): Likewise. + (arm_stack_protect_tls_canary_mem): New. + (arm_stack_protect_guard): New. + * config/arm/arm.md (stack_protect_set): New. + (stack_protect_set_tls): Likewise. + (stack_protect_test): Likewise. + (stack_protect_test_tls): Likewise. + (reload_tp_hard): Likewise. + * config/arm/arm.opt (-mstack-protector-guard): New + (-mstack-protector-guard-offset): New. + * doc/invoke.texi: Document new options. + +2022-01-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104156 + * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop): + Collect and reset debug stmts with out-of-loop uses when + hoisting guards. + (find_loop_guard): Adjust. + (empty_bb_without_guard_p): Likewise. Ignore debug stmts. + (used_outside_loop_p): Push debug uses to a vector of + debug stmts to reset. + (hoist_guard): Adjust -fopt-info category. + +2022-01-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104152 + * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing + can_duplicate_and_interleave_p check. + +2022-01-21 Jakub Jelinek <jakub@redhat.com> + + * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): + Avoid passing var to warning_at when the format string doesn't + refer to it. + +2022-01-21 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/103721 + * gimple-range-path.cc + (path_range_query::relations_may_be_invalidated): New. + (path_range_query::compute_ranges_in_block): Reset relations if + they may be invalidated. + (path_range_query::maybe_register_phi_relation): Exit if relations + may be invalidated on incoming edge. + (path_range_query::compute_phi_relations): Pass incoming PHI edge + to maybe_register_phi_relation. + * gimple-range-path.h (relations_may_be_invalidated): New. + (maybe_register_phi_relation): Pass edge instead of tree. + * tree-ssa-threadbackward.cc (back_threader::back_threader): + Mark DFS edges. + * value-relation.cc (path_oracle::path_oracle): Call + mark_dfs_back_edges. + (path_oracle::register_relation): Add SSA names to m_registered + bitmap. + (path_oracle::reset_path): Clear m_registered bitmap. + * value-relation.h (path_oracle::set_root_oracle): New. + +2022-01-21 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/102478 + * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't + force_reg constants and for -fnon-call-exceptions fail if copy_to_reg + would be needed. + +2022-01-20 Richard Biener <rguenther@suse.de> + + PR middle-end/100786 + * gimple-fold.cc (get_symbol_constant_value): Only return + values of compatible type to the symbol. + +2022-01-20 Andrew MacLeod <amacleod@redhat.com> + + * value-relation.cc (relation_oracle::valid_equivs): Query and add + if valid members of a set. + (equiv_oracle::register_equiv): Call valid_equivs rather than + bitmap direct operations. + (path_oracle::register_equiv): Ditto. + * value-relation.h (relation_oracle::valid_equivs): New prototype. + +2022-01-20 Richard Biener <rguenther@suse.de> + + PR target/100784 + * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for + LHS before folding __builtin_ia32_shufpd and friends. + +2022-01-20 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/crypto.md (aes_op_protect): Allow moves from core + registers and from memory. + (aes_op_protect_misalign_load): New pattern. + (aes_op_protect_neon_vld1v16qi): New pattern. + +2022-01-20 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected): + New pattern. + (aarch32_crypto_aese_fused_protected): Likewise. + (aarch32_crypto_aesd_fused_protected): Likewise. + +2022-01-20 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert + to define_expand. Add mitigation for the Cortex-A AES erratum + when enabled. + (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based + on original crypto_<CRYPTO_AES:crypto_pattern> insn. + (aes_op_protect): New pattern. + * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT. + +2022-01-20 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature + (ALL_QUIRKS): Add it. + (cortex-a57, cortex-a72): Enable it. + (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise. + * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line + option. + (mfix-cortex-a72-aes-1655431): New option alias. + * config/arm/arm.cc (arm_option_override): Handle default settings + for AES erratum switch. + * doc/invoke.texi (Arm Options): Document new options. + +2022-01-20 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use + <crypto_mode> rather than hard-coding the mode. + (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space. + (crypto_<CRYPTO_AES:crypto_pattern>): Likewise. + (*aarch32_crypto_aese_fused): Likewise. + (*aarch32_crypto_aesd_fused): Likewise. + (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise. + (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise. + (crypto_sha1h_lb): Likewise. + (crypto_vmullp64): Likewise. + (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise. + (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise. + +2022-01-20 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add + iterator to pattern name to disambiguate. + (crypto_<CRYPTO_AES:crypto_pattern>): Likewise. + (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise. + (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise. + (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise. + (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise. + +2022-01-20 Martin Liska <mliska@suse.cz> + + PR bootstrap/104135 + * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings. + * rtl.cc: Partially disable -Wformat-diag for RTL checking + error messages. + +2022-01-20 Jakub Jelinek <jakub@redhat.com> + + PR debug/103874 + * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and + block_num > 0, index entry even if !have_multiple_function_sections. + +2022-01-20 liuhongt <hongtao.liu@intel.com> + + PR target/103771 + * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance + integral mode mask pack by multi steps which takes + vec_pack_sbool_trunc_optab as start when elements number is + less than BITS_PER_UNITS. + +2022-01-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104114 + * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose + single element vector decomposition. + +2022-01-19 Robin Dapp <rdapp@linux.ibm.com> + + * ifcvt.cc (noce_convert_multiple_sets_1): New function. + (noce_convert_multiple_sets): Call function a second time if we can + improve the first try. + +2022-01-19 Robin Dapp <rdapp@linux.ibm.com> + + * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the + reversed comparison. + (try_emit_cmove_seq): New function to facilitate creating a cmov + sequence. + (noce_convert_multiple_sets): Create two sequences and use the less + expensive one. + +2022-01-19 Robin Dapp <rdapp@linux.ibm.com> + + * rtl.h (struct rtx_comparison): New struct that holds an rtx + comparison. + * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of + single parameters. + (rs6000_emit_swsqrt): Likewise. + * expmed.cc (expand_sdiv_pow2): Likewise. + (emit_store_flag): Likewise. + * expr.cc (expand_cond_expr_using_cmove): Likewise. + (expand_expr_real_2): Likewise. + * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare + parameters. + * optabs.cc (emit_conditional_move_1): New function. + (expand_doubleword_shift_condmove): Use struct. + (emit_conditional_move): Use struct and allow to call directly + without going through preparation steps. + * optabs.h (emit_conditional_move): Use struct. + +2022-01-19 Robin Dapp <rdapp@linux.ibm.com> + + * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs. + (noce_process_if_block): Use potential costs. + +2022-01-19 Robin Dapp <rdapp@linux.ibm.com> + + * ifcvt.cc (noce_convert_multiple_sets): Allow constants. + (bb_ok_for_noce_convert_multiple_sets): Likewise. + +2022-01-19 Robin Dapp <rdapp@linux.ibm.com> + + * ifcvt.cc (need_cmov_or_rewire): New function. + (noce_convert_multiple_sets): Call it. + +2022-01-19 David Malcolm <dmalcolm@redhat.com> + + * attribs.cc (attribute_c_tests): Rename to... + (attribs_cc_tests): ...this. + * bitmap.cc (bitmap_c_tests): Rename to... + (bitmap_cc_tests): ...this. + * cgraph.cc (cgraph_c_finalize): Rename to... + (cgraph_cc_finalize): ...this. + (cgraph_c_tests): Rename to... + (cgraph_cc_tests): ...this. + * cgraph.h (cgraph_c_finalize): Rename to... + (cgraph_cc_finalize): ...this. + (cgraphunit_c_finalize): Rename to... + (cgraphunit_cc_finalize): ...this. + * cgraphunit.cc (cgraphunit_c_finalize): Rename to... + (cgraphunit_cc_finalize): ...this. + * convert.cc (convert_c_tests): Rename to... + (convert_cc_tests): ...this. + * dbgcnt.cc (dbgcnt_c_tests): Rename to... + (dbgcnt_cc_tests): ...this. + * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to... + (diagnostic_show_locus_cc_tests): ...this. + * diagnostic.cc (diagnostic_c_tests): Rename to... + (diagnostic_cc_tests): ...this. + * dumpfile.cc (dumpfile_c_tests): Rename to... + (dumpfile_cc_tests): ...this. + * dwarf2out.cc (dwarf2out_c_finalize): Rename to... + (dwarf2out_cc_finalize): ...this. + * dwarf2out.h (dwarf2out_c_finalize): Rename to... + (dwarf2out_cc_finalize): ...this. + * edit-context.cc (edit_context_c_tests): Rename to... + (edit_context_cc_tests): ...this. + * et-forest.cc (et_forest_c_tests): Rename to... + (et_forest_cc_tests): ...this. + * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to... + (fibonacci_heap_cc_tests): ...this. + * fold-const.cc (fold_const_c_tests): Rename to... + (fold_const_cc_tests): ...this. + * function-tests.cc (function_tests_c_tests): Rename to... + (function_tests_cc_tests): ...this. + * gcse.cc (gcse_c_finalize): Rename to... + (gcse_cc_finalize): ...this. + * gcse.h (gcse_c_finalize): Rename to... + (gcse_cc_finalize): ...this. + * ggc-tests.cc (ggc_tests_c_tests): Rename to... + (ggc_tests_cc_tests): ...this. + * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to... + (store_merging_cc_tests): ...this. + * gimple.cc (gimple_c_tests): Rename to... + (gimple_cc_tests): ...this. + * hash-map-tests.cc (hash_map_tests_c_tests): Rename to... + (hash_map_tests_cc_tests): ...this. + * hash-set-tests.cc (hash_set_tests_c_tests): Rename to... + (hash_set_tests_cc_tests): ...this. + * input.cc (input_c_tests): Rename to... + (input_cc_tests): ...this. + * ipa-cp.cc (ipa_cp_c_finalize): Rename to... + (ipa_cp_cc_finalize): ...this. + * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to... + (ipa_fnsummary_cc_finalize): ...this. + * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to... + (ipa_fnsummary_cc_finalize): ...this. + * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to... + (ipa_modref_tree_cc_tests): ...this. + * ipa-modref-tree.h (modref_c_tests): Delete bogus decl. + * ipa-modref.cc (ipa_modref_c_finalize): Rename to... + (ipa_modref_cc_finalize): ...this. + * ipa-modref.h (ipa_modref_c_finalize): Rename to... + (ipa_modref_cc_finalize): ...this. + * ipa-prop.h (ipa_cp_c_finalize): Rename to... + (ipa_cp_cc_finalize): ...this. + * ipa-reference.cc (ipa_reference_c_finalize): Rename to... + (ipa_reference_cc_finalize): ...this. + * ipa-reference.h (ipa_reference_c_finalize): Rename to... + (ipa_reference_cc_finalize): ...this. + * ira-costs.cc (ira_costs_c_finalize): Rename to... + (ira_costs_cc_finalize): ...this. + * ira.h (ira_costs_c_finalize): Rename to... + (ira_costs_cc_finalize): ...this. + * opt-suggestions.cc (opt_proposer_c_tests): Rename to... + (opt_suggestions_cc_tests): ...this. + * opts.cc (opts_c_tests): Rename to... + (opts_cc_tests): ...this. + * predict.cc (predict_c_tests): Rename to... + (predict_cc_tests): ...this. + * pretty-print.cc (pretty_print_c_tests): Rename to... + (pretty_print_cc_tests): ...this. + * read-rtl-function.cc (read_rtl_function_c_tests): Rename to... + (read_rtl_function_cc_tests): ...this. + * rtl-tests.cc (rtl_tests_c_tests): Rename to... + (rtl_tests_cc_tests): ...this. + * sbitmap.cc (sbitmap_c_tests): Rename to... + (sbitmap_cc_tests): ...this. + * selftest-run-tests.cc (selftest::run_tests): Update calls for + _c_ to _cc_ function renamings; fix names of attribs and + opt-suggestions tests. + * selftest.cc (selftest_c_tests): Rename to... + (selftest_cc_tests): ...this. + * selftest.h (attribute_c_tests): Rename to... + (attribs_cc_tests): ...this. + (bitmap_c_tests): Rename to... + (bitmap_cc_tests): ...this. + (cgraph_c_tests): Rename to... + (cgraph_cc_tests): ...this. + (convert_c_tests): Rename to... + (convert_cc_tests): ...this. + (diagnostic_c_tests): Rename to... + (diagnostic_cc_tests): ...this. + (diagnostic_show_locus_c_tests): Rename to... + (diagnostic_show_locus_cc_tests): ...this. + (dumpfile_c_tests): Rename to... + (dumpfile_cc_tests): ...this. + (edit_context_c_tests): Rename to... + (edit_context_cc_tests): ...this. + (et_forest_c_tests): Rename to... + (et_forest_cc_tests): ...this. + (fibonacci_heap_c_tests): Rename to... + (fibonacci_heap_cc_tests): ...this. + (fold_const_c_tests): Rename to... + (fold_const_cc_tests): ...this. + (function_tests_c_tests): Rename to... + (function_tests_cc_tests): ...this. + (ggc_tests_c_tests): Rename to... + (ggc_tests_cc_tests): ...this. + (gimple_c_tests): Rename to... + (gimple_cc_tests): ...this. + (hash_map_tests_c_tests): Rename to... + (hash_map_tests_cc_tests): ...this. + (hash_set_tests_c_tests): Rename to... + (hash_set_tests_cc_tests): ...this. + (input_c_tests): Rename to... + (input_cc_tests): ...this. + (opts_c_tests): Rename to... + (opts_cc_tests): ...this. + (predict_c_tests): Rename to... + (predict_cc_tests): ...this. + (pretty_print_c_tests): Rename to... + (pretty_print_cc_tests): ...this. + (read_rtl_function_c_tests): Rename to... + (read_rtl_function_cc_tests): ...this. + (rtl_tests_c_tests): Rename to... + (rtl_tests_cc_tests): ...this. + (sbitmap_c_tests): Rename to... + (sbitmap_cc_tests): ...this. + (selftest_c_tests): Rename to... + (selftest_cc_tests): ...this. + (simplify_rtx_c_tests): Rename to... + (simplify_rtx_cc_tests): ...this. + (spellcheck_c_tests): Rename to... + (spellcheck_cc_tests): ...this. + (spellcheck_tree_c_tests): Rename to... + (spellcheck_tree_cc_tests): ...this. + (sreal_c_tests): Rename to... + (sreal_cc_tests): ...this. + (store_merging_c_tests): Rename to... + (store_merging_cc_tests): ...this. + (tree_c_tests): Rename to... + (tree_cc_tests): ...this. + (tree_cfg_c_tests): Rename to... + (tree_cfg_cc_tests): ...this. + (typed_splay_tree_c_tests): Rename to... + (typed_splay_tree_cc_tests): ...this. + (vec_c_tests): Rename to... + (vec_cc_tests): ...this. + (vec_perm_indices_c_tests): Rename to... + (vec_perm_indices_cc_tests): ..this. + (opt_proposer_c_tests): Rename to... + (opt_suggestions_cc_tests): ...this. + (dbgcnt_c_tests): Rename to... + (dbgcnt_cc_tests): ...this. + (ipa_modref_tree_c_tests): Rename to... + (ipa_modref_tree_cc_tests): ...this. + * simplify-rtx.cc (simplify_rtx_c_tests): Rename to... + (simplify_rtx_cc_tests): ...this. + * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to... + (spellcheck_tree_cc_tests): ...this. + * spellcheck.cc (spellcheck_c_tests): Rename to... + (spellcheck_cc_tests): ...this. + * sreal.cc (sreal_c_tests): Rename to... + (sreal_cc_tests): ...this. + * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_ + function renamings. + * tree-cfg.cc (tree_cfg_c_tests): Rename to... + (tree_cfg_cc_tests): ...this. + * tree.cc (tree_c_tests): Rename to... + (tree_cc_tests): ...this. + * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to... + (typed_splay_tree_cc_tests): ...this. + * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to... + (vec_perm_indices_cc_tests): ...this. + * vec.cc (vec_c_tests): Rename to... + (vec_cc_tests): ...this. + +2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR tree-optimization/103997 + * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue + vectorization. + +2022-01-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/102860 + * match.pd (x %[fl] y -> x % y): New simplification for + unsigned integral types. + * optabs-tree.cc (optab_for_tree_code): Return unknown_optab + for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE. + +2022-01-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104112 + * tree-vect-loop.cc (vect_find_reusable_accumulator): Check + for required intermediate vector types. + +2022-01-19 Jakub Jelinek <jakub@redhat.com> + + * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:. + +2022-01-19 Martin Liska <mliska@suse.cz> + + * configure.ac: Remove -Wno-error=format-diag. + * configure: Regenerate. + +2022-01-19 Martin Liska <mliska@suse.cz> + + * config/riscv/riscv.cc (riscv_handle_type_attribute): + Update one -Wformat-diag string in warning message. + +2022-01-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104103 + * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check + .ASAN_MARK calls. + +2022-01-19 Jakub Jelinek <jakub@redhat.com> + + PR c++/89074 + * fold-const.cc (address_compare): Consider different STRING_CSTs + with the same lengths that memcmp the same as equal, not different. + +2022-01-19 Jakub Jelinek <jakub@redhat.com> + + * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of + {%0}. + +2022-01-19 Martin Liska <mliska@suse.cz> + Thomas Schwinge <thomas@codesourcery.com> + + * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update + warning messages. + +2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de> + + PR target/104090 + * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also + rs6000_cpu. + +2022-01-19 Jakub Jelinek <jakub@redhat.com> + + PR target/104104 + * config/i386/sse.md + (<avx512>_<complexopname>_<mode><maskc_name><round_name>, + avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>, + avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>, + avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>, + avx512dq_rangep<mode><mask_name><round_saeonly_name>, + avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>, + <avx512>_getmant<mode><mask_name><round_saeonly_name>, + avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>): + Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}. + +2022-01-19 Martin Sebor <msebor@redhat.com> + + PR middle-end/104069 + * gimple-ssa-warn-access.cc (pointers_related_p): Return false for + an unknown result as documented. + +2022-01-18 Andrew Pinski <apinski@marvell.com> + + * ipa-split.cc (visit_bb): Fix comment before the + warning/error attribute checking code. + +2022-01-18 David Faust <david.faust@oracle.com> + + * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account + for base strtab offset yet as it may change. + (output_asm_btfext_core_reloc): Do so here instead. + (output_btfext_core_sections): Likewise. + +2022-01-18 David Faust <david.faust@oracle.com> + + * config/bpf/coreout.cc (output_btfext_header): Account for + 4-byte record size in core_relo_len. + (output_btfext_core_sections): Only write record size once. + * config/bpf/coreout.h (btf_ext_section_header): Delete unused + member. + +2022-01-18 Maciej W. Rozycki <macro@embecosm.com> + + * common/config/riscv/riscv-common.cc + (riscv_subset_list::parse_multiletter_ext): Move pointer + arithmetic ahead of `free'. + +2022-01-18 Jason Merrill <jason@redhat.com> + + PR c++/104007 + * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional + context. + +2022-01-18 Sandra Loosemore <sandra@codesourcery.com> + + PR middle-end/103163 + * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here... + (init_emit_once): ...not here. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * collect2.cc (scan_libraries): Fix -Wformat-diag issues. + * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise. + * config/arc/arc.md: Likewise. + * config/avr/avr.cc (avr_section_type_flags): Likewise. + * config/bfin/bfin.cc (bfin_option_override): Likewise. + (bfin_handle_longcall_attribute): Likewise. + * config/cris/cris.h (FUNCTION_PROFILER): Likewise. + * config/frv/frv.cc (frv_expand_builtin): Likewise. + * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise. + * config/iq2000/iq2000.cc (save_restore_insns): Likewise. + (iq2000_print_operand_address): Likewise. + (iq2000_print_operand): Likewise. + * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise. + (m32c_pragma_address): Likewise. + * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise. + * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise. + (mips_set_compression_mode): Likewise. + * config/mmix/mmix.cc (mmix_function_profiler): Likewise. + (mmix_print_operand): Likewise. + (mmix_output_shiftvalue_op_from_str): Likewise. + (mmix_output_shifted_value): Likewise. + * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise. + * config/msp430/msp430.cc (msp430_option_override): Likewise. + (msp430_attr): Likewise. + (msp430_expand_delay_cycles): Likewise. + (msp430_expand_builtin): Likewise. + * config/rs6000/aix73.h: Likewise. + * config/rs6000/rtems.h (INVALID_64BIT): Likewise. + * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise. + (valid_psw_flag): Likewise. + * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise. + * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise. + (xstormy16_expand_builtin_va_start): Likewise. + (xstormy16_handle_below100_attribute): Likewise. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag + warning. + (vms_pragma_standard): Likewise. + (vms_pragma_extern_prefix): Likewise. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * config/xtensa/xtensa.cc (print_operand): Fix warnings. + (print_operand_address): Likewise. + (xtensa_multibss_section_type_flags): Likewise. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change + wording of an error message. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag + warning. + (ghs_pragma_section): Likewise. + (ghs_pragma_interrupt): Likewise. + (ghs_pragma_starttda): Likewise. + (ghs_pragma_startsda): Likewise. + (ghs_pragma_startzda): Likewise. + (ghs_pragma_endtda): Likewise. + (ghs_pragma_endsda): Likewise. + (ghs_pragma_endzda): Likewise. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl): + Fix warnings. + * config/nds32/nds32-intrinsic.md: Likewise. + * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise. + * config/nds32/nds32.cc (nds32_print_operand): Likewise. + (nds32_insert_attributes): Likewise. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap + keyword. + * config/nvptx/nvptx.md: Remove trailing dot. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * common/config/riscv/riscv-common.cc (riscv_subset_list::add): + Wrap keywords with quotes and remove trailing dots. + (riscv_subset_list::parsing_subset_version): Likewise. + (riscv_subset_list::parse_std_ext): Likewise. + (riscv_subset_list::parse_multiletter_ext): Likewise. + * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise. + +2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new + argument suggested_unroll_factor. + (vect_analyze_loop_costing): Likewise. + (_loop_vec_info::_loop_vec_info): Initialize new member + suggested_unroll_factor. + (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled + main loop use partial vectors. + (vect_analyze_loop_2): Pass and use new argument + suggested_unroll_factor. + (vect_analyze_loop_1): Change to intialize local + suggested_unroll_factor and use it. + (vectorizable_reduction): Don't use single_defuse_cycle when unrolling. + * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member + suggested_unroll_factor. + (vector_costs::vector_costs): Add new member m_suggested_unroll_factor. + (vector_costs::suggested_unroll_factor): New getter function. + (finish_cost): Set return argument suggested_unroll_factor. + +2022-01-18 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/104038 + * doc/invoke.texi (relation-block-limit): New. + * params.opt (relation-block-limit): New. + * value-relation.cc (dom_oracle::register_relation): Check for NULL + record before invoking transitive registery. + (dom_oracle::set_one_relation): Check limit before creating record. + (dom_oracle::register_transitives): Stop when no record created. + * value-relation.h (relation_chain_head::m_num_relations): New. + +2022-01-18 Richard Biener <rguenther@suse.de> + + PR ipa/103989 + * ipa-inline.cc (inline_small_functions): Do not enqueue call + edges originating in functions compiled with -Og. + +2022-01-18 Richard Biener <rguenther@suse.de> + + PR ipa/103989 + * passes.def (pass_all_optimizations_g): Remove pass_modref + and pass_local_pure_const. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * config/s390/s390.cc: Fix -Wformat-diag warnings. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap + keyword in quotes. + (s390_resolve_overloaded_builtin): Remove trailing dot. + * config/s390/s390.cc (s390_const_operand_ok): Use - for range. + (s390_expand_builtin): Remove trailing dot. + (s390_emit_prologue): Likewise, use semicolon. + (s390_option_override_internal): Update keyword. + * varasm.cc (do_assemble_alias): Wrap keyword in quotes. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap + keywords and use %qs instead of %<%s%>. + +2022-01-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103987 + * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref + query with a pointer check. + +2022-01-18 Richard Sandiford <richard.sandiford@arm.com> + + PR target/104005 + * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems): + When using MEM_EXPR, require the base to be a decl. + +2022-01-18 Richard Biener <rguenther@suse.de> + + * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to + avoid padding. + * function.h (struct function): Likewise. + +2022-01-18 Arnaud Charlet <charlet@adacore.com> + + * doc/install.texi: Update prerequisites for GNAT + +2022-01-18 Andrew Pinski <apinski@marvell.com> + + PR tree-optimization/101941 + * ipa-split.cc (visit_bb): Disallow function calls where + the function has either error or warning attribute. + +2022-01-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104064 + * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check + DR_INIT fits in a signed HWI, represent the difference from the + first DR in unsigned. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * Makefile.in: Rename .c names to .cc. + * config.gcc: Likewise. + * configure: Regenerate. Likewise. + * configure.ac: Likewise. + * gengtype.cc (set_gc_used): Likewise. + (source_dot_c_frul): Likewise. + (source_dot_cc_frul): Likewise. + (struct file_rule_st): Likewise. + (close_output_files): Likewise. + * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * Makefile.in: Rename .c names to .cc. + * alias.h: Likewise. + * asan.cc: Likewise. + * auto-profile.h: Likewise. + * basic-block.h (struct basic_block_d): Likewise. + * btfout.cc: Likewise. + * builtins.cc (expand_builtin_longjmp): Likewise. + (validate_arg): Likewise. + (access_ref::offset_bounded): Likewise. + * caller-save.cc (reg_restore_code): Likewise. + (setup_save_areas): Likewise. + * calls.cc (initialize_argument_information): Likewise. + (expand_call): Likewise. + (emit_library_call_value_1): Likewise. + * cfg-flags.def (RTL): Likewise. + (SIBCALL): Likewise. + (CAN_FALLTHRU): Likewise. + * cfganal.cc (post_order_compute): Likewise. + * cfgcleanup.cc (try_simplify_condjump): Likewise. + (merge_blocks_move_predecessor_nojumps): Likewise. + (merge_blocks_move_successor_nojumps): Likewise. + (merge_blocks_move): Likewise. + (old_insns_match_p): Likewise. + (try_crossjump_bb): Likewise. + * cfgexpand.cc (expand_gimple_stmt): Likewise. + * cfghooks.cc (split_block_before_cond_jump): Likewise. + (profile_record_check_consistency): Likewise. + * cfghooks.h: Likewise. + * cfgrtl.cc (pass_free_cfg::execute): Likewise. + (rtl_can_merge_blocks): Likewise. + (try_redirect_by_replacing_jump): Likewise. + (make_pass_outof_cfg_layout_mode): Likewise. + (cfg_layout_can_merge_blocks_p): Likewise. + * cgraph.cc (release_function_body): Likewise. + (cgraph_node::get_fun): Likewise. + * cgraph.h (struct cgraph_node): Likewise. + (asmname_hasher::equal): Likewise. + (cgraph_inline_failed_type): Likewise. + (thunk_adjust): Likewise. + (dump_callgraph_transformation): Likewise. + (record_references_in_initializer): Likewise. + (ipa_discover_variable_flags): Likewise. + * cgraphclones.cc (GTY): Likewise. + * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise. + * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise. + * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise. + * collect2.cc (maybe_run_lto_and_relink): Likewise. + * combine-stack-adj.cc: Likewise. + * combine.cc (setup_incoming_promotions): Likewise. + (combine_simplify_rtx): Likewise. + (count_rtxs): Likewise. + * common.opt: Likewise. + * common/config/aarch64/aarch64-common.cc: Likewise. + * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise. + * common/config/avr/avr-common.cc: Likewise. + * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise. + * conditions.h: Likewise. + * config.gcc: Likewise. + * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise. + * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise. + (aarch64_get_extension_string_for_isa_flags): Likewise. + * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise. + * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise. + (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise. + (aarch64_option_valid_attribute_p): Likewise. + (aarch64_short_vector_p): Likewise. + (aarch64_float_const_representable_p): Likewise. + * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise. + (ASM_OUTPUT_POOL_EPILOGUE): Likewise. + (GTY): Likewise. + * config/aarch64/cortex-a57-fma-steering.cc: Likewise. + * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise. + * config/aarch64/t-aarch64: Likewise. + * config/aarch64/x-aarch64: Likewise. + * config/aarch64/x-darwin: Likewise. + * config/alpha/alpha-protos.h: Likewise. + * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise. + * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise. + (enum reg_class): Likewise. + * config/alpha/alpha.md: Likewise. + * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise. + * config/alpha/x-alpha: Likewise. + * config/arc/arc-protos.h (arc_eh_uses): Likewise. + * config/arc/arc.cc (ARC_OPT): Likewise. + (arc_ccfsm_advance): Likewise. + (arc_arg_partial_bytes): Likewise. + (conditionalize_nonjump): Likewise. + * config/arc/arc.md: Likewise. + * config/arc/builtins.def: Likewise. + * config/arc/t-arc: Likewise. + * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise. + (arm_pragma_target_parse): Likewise. + * config/arm/arm-protos.h (save_restore_target_globals): Likewise. + (arm_cpu_cpp_builtins): Likewise. + * config/arm/arm.cc (vfp3_const_double_index): Likewise. + (shift_op): Likewise. + (thumb2_final_prescan_insn): Likewise. + (arm_final_prescan_insn): Likewise. + (arm_asm_output_labelref): Likewise. + (arm_small_register_classes_for_mode_p): Likewise. + * config/arm/arm.h: Likewise. + * config/arm/arm.md: Likewise. + * config/arm/driver-arm.cc: Likewise. + * config/arm/symbian.h: Likewise. + * config/arm/t-arm: Likewise. + * config/arm/thumb1.md: Likewise. + * config/arm/x-arm: Likewise. + * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise. + * config/avr/avr-fixed.md: Likewise. + * config/avr/avr-log.cc (avr_log_vadump): Likewise. + * config/avr/avr-mcus.def: Likewise. + * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise. + * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise. + * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise. + * config/avr/avr.cc (avr_option_override): Likewise. + (avr_build_builtin_va_list): Likewise. + (avr_mode_dependent_address_p): Likewise. + (avr_function_arg_advance): Likewise. + (avr_asm_output_aligned_decl_common): Likewise. + * config/avr/avr.h (RETURN_ADDR_RTX): Likewise. + (SUPPORTS_INIT_PRIORITY): Likewise. + * config/avr/avr.md: Likewise. + * config/avr/builtins.def: Likewise. + * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise. + * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise. + (main): Likewise. + * config/avr/t-avr: Likewise. + * config/bfin/bfin.cc (frame_related_constant_load): Likewise. + * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise. + * config/bpf/bpf.h (enum reg_class): Likewise. + * config/bpf/t-bpf: Likewise. + * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise. + * config/cr16/cr16-protos.h: Likewise. + * config/cris/cris.cc (cris_address_cost): Likewise. + (cris_side_effect_mode_ok): Likewise. + (cris_init_machine_status): Likewise. + (cris_emit_movem_store): Likewise. + * config/cris/cris.h (INDEX_REG_CLASS): Likewise. + (enum reg_class): Likewise. + (struct cum_args): Likewise. + * config/cris/cris.opt: Likewise. + * config/cris/sync.md: Likewise. + * config/csky/csky.cc (csky_expand_prologue): Likewise. + * config/darwin-c.cc: Likewise. + * config/darwin-f.cc: Likewise. + * config/darwin-sections.def (zobj_const_section): Likewise. + * config/darwin.cc (output_objc_section_asm_op): Likewise. + (fprintf): Likewise. + * config/darwin.h (GTY): Likewise. + * config/elfos.h: Likewise. + * config/epiphany/epiphany-sched.md: Likewise. + * config/epiphany/epiphany.cc (epiphany_function_value): Likewise. + * config/epiphany/epiphany.h (GTY): Likewise. + (NO_FUNCTION_CSE): Likewise. + * config/epiphany/mode-switch-use.cc: Likewise. + * config/epiphany/predicates.md: Likewise. + * config/epiphany/t-epiphany: Likewise. + * config/fr30/fr30-protos.h: Likewise. + * config/frv/frv-protos.h: Likewise. + * config/frv/frv.cc (TLS_BIAS): Likewise. + * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise. + * config/ft32/ft32-protos.h: Likewise. + * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise. + * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise. + * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise. + * config/gcn/t-gcn-hsa: Likewise. + * config/gcn/t-omp-device: Likewise. + * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise. + (same_cmp_following_p): Likewise. + * config/h8300/h8300.cc (F): Likewise. + * config/h8300/h8300.h (struct cum_arg): Likewise. + (BRANCH_COST): Likewise. + * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise. + * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise. + * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise. + * config/i386/driver-i386.cc (detect_caches_intel): Likewise. + * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise. + * config/i386/i386-c.cc (ix86_target_macros): Likewise. + * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise. + * config/i386/i386-options.cc (ix86_set_func_type): Likewise. + * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise. + (ix86_register_pragmas): Likewise. + (ix86_d_has_stdcall_convention): Likewise. + (i386_pe_seh_init_sections): Likewise. + * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise. + (ix86_function_value_regno_p): Likewise. + (ix86_compute_frame_layout): Likewise. + (legitimize_pe_coff_symbol): Likewise. + (output_pic_addr_const): Likewise. + * config/i386/i386.h (defined): Likewise. + (host_detect_local_cpu): Likewise. + (CONSTANT_ADDRESS_P): Likewise. + (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise. + (struct machine_frame_state): Likewise. + * config/i386/i386.md: Likewise. + * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise. + * config/i386/mmx.md: Likewise. + * config/i386/sse.md: Likewise. + * config/i386/t-cygming: Likewise. + * config/i386/t-djgpp: Likewise. + * config/i386/t-gnu-property: Likewise. + * config/i386/t-i386: Likewise. + * config/i386/t-intelmic: Likewise. + * config/i386/t-omp-device: Likewise. + * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise. + (i386_pe_adjust_class_at_definition): Likewise. + * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise. + (i386_pe_mangle_decl_assembler_name): Likewise. + (i386_pe_encode_section_info): Likewise. + * config/i386/x-cygwin: Likewise. + * config/i386/x-darwin: Likewise. + * config/i386/x-i386: Likewise. + * config/i386/x-mingw32: Likewise. + * config/i386/x86-tune-sched-core.cc: Likewise. + * config/i386/x86-tune.def: Likewise. + * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise. + * config/ia64/freebsd.h: Likewise. + * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise. + * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise. + * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise. + (ia64_secondary_reload_class): Likewise. + (bundling): Likewise. + * config/ia64/ia64.h: Likewise. + * config/ia64/ia64.md: Likewise. + * config/ia64/predicates.md: Likewise. + * config/ia64/sysv4.h: Likewise. + * config/ia64/t-ia64: Likewise. + * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise. + * config/iq2000/iq2000.md: Likewise. + * config/linux.h (TARGET_HAS_BIONIC): Likewise. + (if): Likewise. + * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise. + * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise. + * config/m32c/t-m32c: Likewise. + * config/m32r/m32r-protos.h: Likewise. + * config/m32r/m32r.cc (m32r_print_operand): Likewise. + * config/m32r/m32r.h: Likewise. + * config/m32r/m32r.md: Likewise. + * config/m68k/m68k-isas.def: Likewise. + * config/m68k/m68k-microarchs.def: Likewise. + * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise. + (m68k_epilogue_uses): Likewise. + * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise. + (m68k_sched_adjust_cost): Likewise. + (m68k_sched_md_init): Likewise. + * config/m68k/m68k.h (__transfer_from_trampoline): Likewise. + (enum m68k_function_kind): Likewise. + * config/m68k/m68k.md: Likewise. + * config/m68k/m68kemb.h: Likewise. + * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise. + * config/mcore/mcore-protos.h: Likewise. + * config/mcore/mcore.cc (mcore_expand_insv): Likewise. + (mcore_expand_prolog): Likewise. + * config/mcore/mcore.h (TARGET_MCORE): Likewise. + * config/mcore/mcore.md: Likewise. + * config/microblaze/microblaze-protos.h: Likewise. + * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise. + (microblaze_function_prologue): Likewise. + (microblaze_function_epilogue): Likewise. + (microblaze_select_section): Likewise. + (microblaze_asm_output_mi_thunk): Likewise. + (microblaze_eh_return): Likewise. + * config/microblaze/microblaze.h: Likewise. + * config/microblaze/microblaze.md: Likewise. + * config/microblaze/t-microblaze: Likewise. + * config/mips/driver-native.cc: Likewise. + * config/mips/loongson2ef.md: Likewise. + * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise. + * config/mips/mips.cc (mips_rtx_costs): Likewise. + (mips_output_filename): Likewise. + (mips_output_function_prologue): Likewise. + (mips_output_function_epilogue): Likewise. + (mips_output_mi_thunk): Likewise. + * config/mips/mips.h: Likewise. + * config/mips/mips.md: Likewise. + * config/mips/t-mips: Likewise. + * config/mips/x-native: Likewise. + * config/mmix/mmix-protos.h: Likewise. + * config/mmix/mmix.cc (mmix_option_override): Likewise. + (mmix_dbx_register_number): Likewise. + (mmix_expand_prologue): Likewise. + * config/mmix/mmix.h: Likewise. + * config/mmix/mmix.md: Likewise. + * config/mmix/predicates.md: Likewise. + * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise. + (mn10300_legitimate_pic_operand_p): Likewise. + * config/mn10300/mn10300.h (enum reg_class): Likewise. + (NO_FUNCTION_CSE): Likewise. + * config/moxie/moxie-protos.h: Likewise. + * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise. + * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise. + * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise. + (msp430_incoming_return_addr_rtx): Likewise. + * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise. + * config/msp430/t-msp430: Likewise. + * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise. + (nds32_rtx_costs_size_prefer): Likewise. + (nds32_init_rtx_costs): Likewise. + * config/nds32/nds32-doubleword.md: Likewise. + * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise. + (nds32_builtin_decl): Likewise. + * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise. + (enum nds32_isr_nested_type): Likewise. + (enum reg_class): Likewise. + * config/nds32/predicates.md: Likewise. + * config/nds32/t-nds32: Likewise. + * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise. + * config/nvptx/nvptx-protos.h: Likewise. + * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise. + * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise. + * config/nvptx/t-nvptx: Likewise. + * config/nvptx/t-omp-device: Likewise. + * config/pa/elf.h: Likewise. + * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise. + * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise. + * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise. + * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise. + (pa_legitimize_reload_address): Likewise. + (pa_can_use_return_insn): Likewise. + * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise. + (som_output_text_section_asm_op): Likewise. + * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise. + * config/pa/pa.md: Likewise. + * config/pa/som.h: Likewise. + * config/pa/t-pa: Likewise. + * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise. + * config/pdp11/pdp11.h: Likewise. + * config/pdp11/pdp11.md: Likewise. + * config/pdp11/t-pdp11: Likewise. + * config/pru/pru.md: Likewise. + * config/pru/t-pru: Likewise. + * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise. + (riscv_gpr_save_operation_p): Likewise. + (riscv_d_register_target_info): Likewise. + (riscv_init_builtins): Likewise. + * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise. + * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise. + * config/riscv/t-riscv: Likewise. + * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise. + * config/rl78/t-rl78: Likewise. + * config/rs6000/aix.h: Likewise. + * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise. + * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise. + * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise. + * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise. + * config/rs6000/driver-rs6000.cc: Likewise. + * config/rs6000/freebsd.h: Likewise. + * config/rs6000/freebsd64.h: Likewise. + * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise. + * config/rs6000/rbtree.cc: Likewise. + * config/rs6000/rbtree.h: Likewise. + * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise. + * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise. + (rs6000_expand_builtin): Likewise. + (rs6000_init_builtins): Likewise. + * config/rs6000/rs6000-cpus.def: Likewise. + * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise. + * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise. + (quad_address_offset_p): Likewise. + * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise. + (rs6000_emit_epilogue): Likewise. + * config/rs6000/rs6000-overload.def: Likewise. + * config/rs6000/rs6000-p8swap.cc: Likewise. + * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise. + (rs6000_const_f32_to_i32): Likewise. + * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise. + (rs6000_debug_legitimize_address): Likewise. + (rs6000_mode_dependent_address): Likewise. + (rs6000_adjust_priority): Likewise. + (rs6000_c_mode_for_suffix): Likewise. + * config/rs6000/rs6000.h (defined): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/rs6000/rs6000.md: Likewise. + * config/rs6000/sysv4.h: Likewise. + * config/rs6000/t-linux: Likewise. + * config/rs6000/t-linux64: Likewise. + * config/rs6000/t-rs6000: Likewise. + * config/rs6000/x-darwin: Likewise. + * config/rs6000/x-darwin64: Likewise. + * config/rs6000/x-rs6000: Likewise. + * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise. + * config/rx/rx.cc (rx_expand_builtin): Likewise. + * config/s390/constraints.md: Likewise. + * config/s390/driver-native.cc: Likewise. + * config/s390/htmxlintrin.h: Likewise. + * config/s390/s390-builtins.def (B_DEF): Likewise. + (OB_DEF_VAR): Likewise. + * config/s390/s390-builtins.h: Likewise. + * config/s390/s390-c.cc: Likewise. + * config/s390/s390-opts.h: Likewise. + * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise. + (s390_register_target_pragmas): Likewise. + * config/s390/s390.cc (s390_init_builtins): Likewise. + (s390_expand_plus_operand): Likewise. + (s390_expand_atomic): Likewise. + (s390_valid_target_attribute_inner_p): Likewise. + * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/s390/s390.md: Likewise. + * config/s390/t-s390: Likewise. + * config/s390/vx-builtins.md: Likewise. + * config/s390/x-native: Likewise. + * config/sh/divtab-sh4-300.cc (main): Likewise. + * config/sh/divtab-sh4.cc (main): Likewise. + * config/sh/divtab.cc (main): Likewise. + * config/sh/elf.h: Likewise. + * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise. + * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise. + (sh_struct_value_rtx): Likewise. + (sh_remove_reg_dead_or_unused_notes): Likewise. + * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise. + * config/sh/t-sh: Likewise. + * config/sol2-protos.h (solaris_override_options): Likewise. + * config/sol2.h: Likewise. + * config/sparc/driver-sparc.cc: Likewise. + * config/sparc/freebsd.h: Likewise. + * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise. + * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise. + (sparc_asan_shadow_offset): Likewise. + * config/sparc/sparc.h: Likewise. + * config/sparc/sparc.md: Likewise. + * config/sparc/t-sparc: Likewise. + * config/sparc/x-sparc: Likewise. + * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise. + * config/t-darwin: Likewise. + * config/t-dragonfly: Likewise. + * config/t-freebsd: Likewise. + * config/t-glibc: Likewise. + * config/t-linux: Likewise. + * config/t-netbsd: Likewise. + * config/t-openbsd: Likewise. + * config/t-pnt16-warn: Likewise. + * config/t-sol2: Likewise. + * config/t-vxworks: Likewise. + * config/t-winnt: Likewise. + * config/tilegx/t-tilegx: Likewise. + * config/tilegx/tilegx-c.cc: Likewise. + * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise. + * config/tilegx/tilegx.md: Likewise. + * config/tilepro/t-tilepro: Likewise. + * config/tilepro/tilepro-c.cc: Likewise. + * config/v850/t-v850: Likewise. + * config/v850/v850-protos.h: Likewise. + * config/v850/v850.cc (F): Likewise. + * config/v850/v850.h (enum reg_class): Likewise. + (SLOW_BYTE_ACCESS): Likewise. + * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise. + * config/vax/vax.h (enum reg_class): Likewise. + * config/vax/vax.md: Likewise. + * config/visium/visium.cc (visium_legitimate_address_p): Likewise. + * config/visium/visium.h: Likewise. + * config/vms/t-vms: Likewise. + * config/vms/vms-crtlmap.map: Likewise. + * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise. + * config/vx-common.h: Likewise. + * config/x-darwin: Likewise. + * config/x-hpux: Likewise. + * config/x-linux: Likewise. + * config/x-netbsd: Likewise. + * config/x-openbsd: Likewise. + * config/x-solaris: Likewise. + * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise. + * config/xtensa/xtensa.cc (xtensa_option_override): Likewise. + * config/xtensa/xtensa.h: Likewise. + * configure.ac: Likewise. + * context.cc: Likewise. + * convert.h: Likewise. + * coretypes.h: Likewise. + * coverage.cc: Likewise. + * coverage.h: Likewise. + * cppdefault.h (struct default_include): Likewise. + * cprop.cc (local_cprop_pass): Likewise. + (one_cprop_pass): Likewise. + * cse.cc (hash_rtx_cb): Likewise. + (fold_rtx): Likewise. + * ctfc.h (ctfc_get_num_vlen_bytes): Likewise. + * data-streamer.h (bp_unpack_var_len_int): Likewise. + (streamer_write_widest_int): Likewise. + * dbgcnt.def: Likewise. + * dbxout.cc (dbxout_early_global_decl): Likewise. + (dbxout_common_check): Likewise. + * dbxout.h: Likewise. + * debug.h (struct gcc_debug_hooks): Likewise. + (dump_go_spec_init): Likewise. + * df-core.cc: Likewise. + * df-scan.cc (df_insn_info_delete): Likewise. + (df_insn_delete): Likewise. + * df.h (debug_df_chain): Likewise. + (can_move_insns_across): Likewise. + * dfp.cc (decimal_from_binary): Likewise. + * diagnostic-color.cc: Likewise. + * diagnostic-event-id.h: Likewise. + * diagnostic-show-locus.cc (test_one_liner_labels): Likewise. + * diagnostic.cc (bt_callback): Likewise. + (num_digits): Likewise. + * doc/avr-mmcu.texi: Likewise. + * doc/cfg.texi: Likewise. + * doc/contrib.texi: Likewise. + * doc/cppinternals.texi: Likewise. + * doc/extend.texi: Likewise. + * doc/generic.texi: Likewise. + * doc/gimple.texi: Likewise. + * doc/gty.texi: Likewise. + * doc/invoke.texi: Likewise. + * doc/loop.texi: Likewise. + * doc/lto.texi: Likewise. + * doc/match-and-simplify.texi: Likewise. + * doc/md.texi: Likewise. + * doc/optinfo.texi: Likewise. + * doc/options.texi: Likewise. + * doc/passes.texi: Likewise. + * doc/plugins.texi: Likewise. + * doc/rtl.texi: Likewise. + * doc/sourcebuild.texi: Likewise. + * doc/tm.texi: Likewise. + * doc/tm.texi.in: Likewise. + * doc/tree-ssa.texi: Likewise. + * dojump.cc (do_jump): Likewise. + * dojump.h: Likewise. + * dumpfile.cc (test_impl_location): Likewise. + (test_capture_of_dump_calls): Likewise. + * dumpfile.h (enum dump_kind): Likewise. + (class dump_location_t): Likewise. + (dump_enabled_p): Likewise. + (enable_rtl_dump_file): Likewise. + (dump_combine_total_stats): Likewise. + * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise. + * dwarf2ctf.h (ctf_debug_finish): Likewise. + * dwarf2out.cc (dwarf2out_begin_prologue): Likewise. + (struct loc_descr_context): Likewise. + (rtl_for_decl_location): Likewise. + (gen_subprogram_die): Likewise. + (gen_label_die): Likewise. + (is_trivial_indirect_ref): Likewise. + (dwarf2out_late_global_decl): Likewise. + (dwarf_file_hasher::hash): Likewise. + (dwarf2out_end_source_file): Likewise. + (dwarf2out_define): Likewise. + (dwarf2out_early_finish): Likewise. + * dwarf2out.h (struct dw_fde_node): Likewise. + (struct dw_discr_list_node): Likewise. + (output_loc_sequence_raw): Likewise. + * emit-rtl.cc (gen_raw_REG): Likewise. + (maybe_set_max_label_num): Likewise. + * emit-rtl.h (struct rtl_data): Likewise. + * errors.cc (internal_error): Likewise. + (trim_filename): Likewise. + * et-forest.cc: Likewise. + * except.cc (init_eh_for_function): Likewise. + * explow.cc (promote_ssa_mode): Likewise. + (get_dynamic_stack_size): Likewise. + * explow.h: Likewise. + * expmed.h: Likewise. + * expr.cc (safe_from_p): Likewise. + (expand_expr_real_2): Likewise. + (expand_expr_real_1): Likewise. + * file-prefix-map.cc (remap_filename): Likewise. + * final.cc (app_enable): Likewise. + (make_pass_compute_alignments): Likewise. + (final_scan_insn_1): Likewise. + (final_scan_insn): Likewise. + * fixed-value.h (fixed_from_string): Likewise. + * flag-types.h (NO_DEBUG): Likewise. + (DWARF2_DEBUG): Likewise. + (VMS_DEBUG): Likewise. + (BTF_DEBUG): Likewise. + (enum ctf_debug_info_levels): Likewise. + * fold-const.cc (const_binop): Likewise. + (fold_binary_loc): Likewise. + (fold_checksum_tree): Likewise. + * fp-test.cc: Likewise. + * function.cc (expand_function_end): Likewise. + * function.h (struct function): Likewise. + * fwprop.cc (should_replace_address): Likewise. + * gcc-main.cc: Likewise. + * gcc-rich-location.h (class gcc_rich_location): Likewise. + * gcc-symtab.h: Likewise. + * gcc.cc (MIN_FATAL_STATUS): Likewise. + (driver_handle_option): Likewise. + (quote_spec_arg): Likewise. + (driver::finalize): Likewise. + * gcc.h (set_input): Likewise. + * gcov-dump.cc: Likewise. + * gcov.cc (solve_flow_graph): Likewise. + * gcse-common.cc: Likewise. + * gcse.cc (make_pass_rtl_hoist): Likewise. + * genattr-common.cc: Likewise. + * genattrtab.cc (min_fn): Likewise. + (write_const_num_delay_slots): Likewise. + * genautomata.cc: Likewise. + * genconditions.cc (write_one_condition): Likewise. + * genconstants.cc: Likewise. + * genemit.cc (gen_exp): Likewise. + * generic-match-head.cc: Likewise. + * genextract.cc: Likewise. + * gengenrtl.cc (always_void_p): Likewise. + * gengtype-parse.cc (gtymarker_opt): Likewise. + * gengtype-state.cc (state_writer::state_writer): Likewise. + (write_state_trailer): Likewise. + (equals_type_number): Likewise. + (read_state): Likewise. + * gengtype.cc (open_base_files): Likewise. + (struct file_rule_st): Likewise. + (header_dot_h_frul): Likewise. + * gengtype.h: Likewise. + * genmatch.cc (main): Likewise. + * genmddeps.cc: Likewise. + * genmodes.cc (emit_mode_inner): Likewise. + (emit_mode_unit_size): Likewise. + * genpeep.cc (gen_peephole): Likewise. + * genpreds.cc (write_tm_preds_h): Likewise. + * genrecog.cc (validate_pattern): Likewise. + (write_header): Likewise. + (main): Likewise. + * gensupport.cc (change_subst_attribute): Likewise. + (traverse_c_tests): Likewise. + (add_predicate): Likewise. + (init_predicate_table): Likewise. + * gensupport.h (struct optab_pattern): Likewise. + (get_num_insn_codes): Likewise. + (maybe_eval_c_test): Likewise. + (struct pred_data): Likewise. + * ggc-internal.h: Likewise. + * gimple-fold.cc (maybe_fold_reference): Likewise. + (get_range_strlen_tree): Likewise. + * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise. + * gimple-low.cc: Likewise. + * gimple-match-head.cc (directly_supported_p): Likewise. + * gimple-pretty-print.h: Likewise. + * gimple-ssa-sprintf.cc (format_percent): Likewise. + (adjust_range_for_overflow): Likewise. + * gimple-streamer.h: Likewise. + * gimple.h (struct GTY): Likewise. + (is_gimple_resx): Likewise. + * gimplify.cc (gimplify_expr): Likewise. + (gimplify_init_constructor): Likewise. + (omp_construct_selector_matches): Likewise. + (gimplify_omp_target_update): Likewise. + (gimplify_omp_ordered): Likewise. + (gimplify_va_arg_expr): Likewise. + * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise. + * haifa-sched.cc (increase_insn_priority): Likewise. + (try_ready): Likewise. + (sched_create_recovery_edges): Likewise. + * ifcvt.cc (find_if_case_1): Likewise. + (find_if_case_2): Likewise. + * inchash.h: Likewise. + * incpath.cc (add_env_var_paths): Likewise. + * input.cc (dump_location_info): Likewise. + (assert_loceq): Likewise. + (test_lexer_string_locations_concatenation_1): Likewise. + (test_lexer_string_locations_concatenation_2): Likewise. + (test_lexer_string_locations_concatenation_3): Likewise. + * input.h (BUILTINS_LOCATION): Likewise. + (class string_concat_db): Likewise. + * internal-fn.cc (expand_MUL_OVERFLOW): Likewise. + (expand_LOOP_VECTORIZED): Likewise. + * ipa-cp.cc (make_pass_ipa_cp): Likewise. + * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise. + (ipa_fn_summary_t::duplicate): Likewise. + (make_pass_ipa_fn_summary): Likewise. + * ipa-fnsummary.h (enum ipa_hints_vals): Likewise. + * ipa-free-lang-data.cc (fld_simplified_type): Likewise. + (free_lang_data_in_decl): Likewise. + * ipa-inline.cc (compute_inlined_call_time): Likewise. + (inline_always_inline_functions): Likewise. + * ipa-inline.h (free_growth_caches): Likewise. + (inline_account_function_p): Likewise. + * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise. + (modref_eaf_analysis::analyze_ssa_name): Likewise. + * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise. + (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise. + * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise. + * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise. + (unadjusted_ptr_and_unit_offset): Likewise. + * ipa-reference.cc (make_pass_ipa_reference): Likewise. + * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise. + * ipa-split.cc (consider_split): Likewise. + * ipa-sra.cc (isra_read_node_info): Likewise. + * ipa-utils.h (struct ipa_dfs_info): Likewise. + (recursive_call_p): Likewise. + (ipa_make_function_pure): Likewise. + * ira-build.cc (ira_create_allocno): Likewise. + (ira_flattening): Likewise. + * ira-color.cc (do_coloring): Likewise. + (update_curr_costs): Likewise. + * ira-conflicts.cc (process_regs_for_copy): Likewise. + * ira-int.h (struct ira_emit_data): Likewise. + (ira_prohibited_mode_move_regs): Likewise. + (ira_get_dup_out_num): Likewise. + (ira_destroy): Likewise. + (ira_tune_allocno_costs): Likewise. + (ira_implicitly_set_insn_hard_regs): Likewise. + (ira_build_conflicts): Likewise. + (ira_color): Likewise. + * ira-lives.cc (process_bb_node_lives): Likewise. + * ira.cc (class ira_spilled_reg_stack_slot): Likewise. + (setup_uniform_class_p): Likewise. + (def_dominates_uses): Likewise. + * ira.h (ira_nullify_asm_goto): Likewise. + * langhooks.cc (lhd_post_options): Likewise. + * langhooks.h (class substring_loc): Likewise. + (struct lang_hooks_for_tree_inlining): Likewise. + (struct lang_hooks_for_types): Likewise. + (struct lang_hooks): Likewise. + * libfuncs.h (synchronize_libfunc): Likewise. + * loop-doloop.cc (doloop_condition_get): Likewise. + * loop-init.cc (fix_loop_structure): Likewise. + * loop-invariant.cc: Likewise. + * lower-subreg.h: Likewise. + * lra-constraints.cc (curr_insn_transform): Likewise. + * lra-int.h (struct lra_insn_reg): Likewise. + (lra_undo_inheritance): Likewise. + (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise. + (lra_split_hard_reg_for): Likewise. + (lra_coalesce): Likewise. + (lra_final_code_change): Likewise. + * lra-spills.cc (lra_final_code_change): Likewise. + * lra.cc (lra_process_new_insns): Likewise. + * lto-compress.h (struct lto_compression_stream): Likewise. + * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise. + (write_symbol): Likewise. + * lto-streamer.h (enum LTO_tags): Likewise. + (lto_value_range_error): Likewise. + (lto_append_block): Likewise. + (lto_streamer_hooks_init): Likewise. + (stream_read_tree_ref): Likewise. + (lto_prepare_function_for_streaming): Likewise. + (select_what_to_stream): Likewise. + (omp_lto_input_declare_variant_alt): Likewise. + (cl_optimization_stream_in): Likewise. + * lto-wrapper.cc (append_compiler_options): Likewise. + * machmode.def: Likewise. + * machmode.h (struct int_n_data_t): Likewise. + * main.cc (main): Likewise. + * match.pd: Likewise. + * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise. + (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise. + * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise. + (make_pass_expand_omp_ssa): Likewise. + * omp-low.cc (struct omp_context): Likewise. + (struct omp_taskcopy_context): Likewise. + (lower_omp): Likewise. + * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise. + (mask_name): Likewise. + (omp_sese_dump_pars): Likewise. + (worker_single_simple): Likewise. + * omp-offload.cc (omp_finish_file): Likewise. + (execute_oacc_loop_designation): Likewise. + * optabs-query.cc (lshift_cheap_p): Likewise. + * optc-gen.awk: Likewise. + * optc-save-gen.awk: Likewise. + * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise. + * opts-common.cc: Likewise. + * output.h (app_enable): Likewise. + (output_operand_lossage): Likewise. + (insn_current_reference_address): Likewise. + (get_insn_template): Likewise. + (output_quoted_string): Likewise. + * pass_manager.h (struct register_pass_info): Likewise. + * plugin.cc: Likewise. + * plugin.def (PLUGIN_ANALYZER_INIT): Likewise. + * plugin.h (invoke_plugin_callbacks): Likewise. + * pointer-query.cc (handle_mem_ref): Likewise. + * postreload-gcse.cc (alloc_mem): Likewise. + * predict.h (enum prediction): Likewise. + (add_reg_br_prob_note): Likewise. + * prefix.h: Likewise. + * profile.h (get_working_sets): Likewise. + * read-md.cc: Likewise. + * read-md.h (struct mapping): Likewise. + (class md_reader): Likewise. + (class noop_reader): Likewise. + * read-rtl-function.cc (function_reader::create_function): Likewise. + (function_reader::extra_parsing_for_operand_code_0): Likewise. + * read-rtl.cc (initialize_iterators): Likewise. + * real.cc: Likewise. + * real.h (struct real_value): Likewise. + (format_helper::format_helper): Likewise. + (real_hash): Likewise. + (real_can_shorten_arithmetic): Likewise. + * recog.cc (struct target_recog): Likewise. + (offsettable_nonstrict_memref_p): Likewise. + (constrain_operands): Likewise. + * recog.h (MAX_RECOG_ALTERNATIVES): Likewise. + (which_op_alt): Likewise. + (struct insn_gen_fn): Likewise. + * reg-notes.def (REG_NOTE): Likewise. + * reg-stack.cc: Likewise. + * regs.h (reg_is_parm_p): Likewise. + * regset.h: Likewise. + * reload.cc (push_reload): Likewise. + (find_reloads): Likewise. + (find_reloads_address_1): Likewise. + (find_replacement): Likewise. + (refers_to_regno_for_reload_p): Likewise. + (refers_to_mem_for_reload_p): Likewise. + * reload.h (push_reload): Likewise. + (deallocate_reload_reg): Likewise. + * reload1.cc (emit_input_reload_insns): Likewise. + * reorg.cc (relax_delay_slots): Likewise. + * rtl.def (UNKNOWN): Likewise. + (SEQUENCE): Likewise. + (BARRIER): Likewise. + (ASM_OPERANDS): Likewise. + (EQ_ATTR_ALT): Likewise. + * rtl.h (struct GTY): Likewise. + (LABEL_NAME): Likewise. + (LABEL_ALT_ENTRY_P): Likewise. + (SUBREG_BYTE): Likewise. + (get_stack_check_protect): Likewise. + (dump_rtx_statistics): Likewise. + (unwrap_const_vec_duplicate): Likewise. + (subreg_promoted_mode): Likewise. + (gen_lowpart_common): Likewise. + (operand_subword): Likewise. + (immed_wide_int_const): Likewise. + (decide_function_section): Likewise. + (active_insn_p): Likewise. + (delete_related_insns): Likewise. + (try_split): Likewise. + (val_signbit_known_clear_p): Likewise. + (simplifiable_subregs): Likewise. + (set_insn_deleted): Likewise. + (subreg_get_info): Likewise. + (remove_free_EXPR_LIST_node): Likewise. + (finish_subregs_of_mode): Likewise. + (get_mem_attrs): Likewise. + (lookup_constant_def): Likewise. + (rtx_to_tree_code): Likewise. + (hash_rtx): Likewise. + (condjump_in_parallel_p): Likewise. + (validate_subreg): Likewise. + (make_compound_operation): Likewise. + (schedule_ebbs): Likewise. + (print_inline_rtx): Likewise. + (fixup_args_size_notes): Likewise. + (expand_dec): Likewise. + (prepare_copy_insn): Likewise. + (mark_elimination): Likewise. + (valid_mode_changes_for_regno): Likewise. + (make_debug_expr_from_rtl): Likewise. + (delete_vta_debug_insns): Likewise. + (simplify_using_condition): Likewise. + (set_insn_locations): Likewise. + (fatal_insn_not_found): Likewise. + (word_register_operation_p): Likewise. + * rtlanal.cc (get_call_fndecl): Likewise. + (side_effects_p): Likewise. + (subreg_nregs): Likewise. + (rtx_cost): Likewise. + (canonicalize_condition): Likewise. + * rtlanal.h (rtx_properties::try_to_add_note): Likewise. + * run-rtl-passes.cc (run_rtl_passes): Likewise. + * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise. + * sched-deps.cc (add_dependence_1): Likewise. + * sched-ebb.cc (begin_move_insn): Likewise. + (add_deps_for_risky_insns): Likewise. + (advance_target_bb): Likewise. + * sched-int.h (reemit_notes): Likewise. + (struct _haifa_insn_data): Likewise. + (HID): Likewise. + (DEP_CANCELLED): Likewise. + (debug_ds): Likewise. + (number_in_ready): Likewise. + (schedule_ebbs_finish): Likewise. + (find_modifiable_mems): Likewise. + * sched-rgn.cc (debug_rgn_dependencies): Likewise. + * sel-sched-dump.cc (dump_lv_set): Likewise. + * sel-sched-dump.h: Likewise. + * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise. + (setup_id_reg_sets): Likewise. + (has_dependence_p): Likewise. + (sel_num_cfg_preds_gt_1): Likewise. + (bb_ends_ebb_p): Likewise. + * sel-sched-ir.h (struct _list_node): Likewise. + (struct idata_def): Likewise. + (bb_next_bb): Likewise. + * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise. + (choose_best_pseudo_reg): Likewise. + (verify_target_availability): Likewise. + (can_speculate_dep_p): Likewise. + (sel_rank_for_schedule): Likewise. + * selftest-run-tests.cc (selftest::run_tests): Likewise. + * selftest.h (class auto_fix_quotes): Likewise. + * shrink-wrap.cc (handle_simple_exit): Likewise. + * shrink-wrap.h: Likewise. + * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise. + (simplify_context::simplify_gen_vec_select): Likewise. + * spellcheck-tree.h: Likewise. + * spellcheck.h: Likewise. + * statistics.h (struct function): Likewise. + * stmt.cc (conditional_probability): Likewise. + * stmt.h: Likewise. + * stor-layout.h: Likewise. + * streamer-hooks.h: Likewise. + * stringpool.h: Likewise. + * symtab.cc (symbol_table::change_decl_assembler_name): Likewise. + * target.def (HOOK_VECTOR_END): Likewise. + (type.): Likewise. + * target.h (union cumulative_args_t): Likewise. + (by_pieces_ninsns): Likewise. + (class predefined_function_abi): Likewise. + * targhooks.cc (default_translate_mode_attribute): Likewise. + * timevar.def: Likewise. + * timevar.h (class timer): Likewise. + * toplev.h (enable_rtl_dump_file): Likewise. + * trans-mem.cc (collect_bb2reg): Likewise. + * tree-call-cdce.cc (gen_conditions_for_pow): Likewise. + * tree-cfg.cc (remove_bb): Likewise. + (verify_gimple_debug): Likewise. + (remove_edge_and_dominated_blocks): Likewise. + (push_fndecl): Likewise. + * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise. + * tree-complex.cc (expand_complex_multiplication): Likewise. + (expand_complex_div_straight): Likewise. + * tree-core.h (enum tree_index): Likewise. + (enum operand_equal_flag): Likewise. + * tree-eh.cc (honor_protect_cleanup_actions): Likewise. + * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise. + * tree-inline.cc (initialize_inlined_parameters): Likewise. + * tree-inline.h (force_value_to_type): Likewise. + * tree-nested.cc (get_chain_decl): Likewise. + (walk_all_functions): Likewise. + * tree-object-size.h: Likewise. + * tree-outof-ssa.cc: Likewise. + * tree-parloops.cc (create_parallel_loop): Likewise. + * tree-pretty-print.cc (print_generic_expr_to_str): Likewise. + (dump_generic_node): Likewise. + * tree-profile.cc (tree_profiling): Likewise. + * tree-sra.cc (maybe_add_sra_candidate): Likewise. + * tree-ssa-address.cc: Likewise. + * tree-ssa-alias.cc: Likewise. + * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise. + (dump_alias_stats): Likewise. + * tree-ssa-ccp.cc: Likewise. + * tree-ssa-coalesce.h: Likewise. + * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise. + * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise. + * tree-ssa-loop-unswitch.cc: Likewise. + * tree-ssa-math-opts.cc: Likewise. + * tree-ssa-operands.cc (class operands_scanner): Likewise. + * tree-ssa-pre.cc: Likewise. + * tree-ssa-reassoc.cc (optimize_ops_list): Likewise. + (debug_range_entry): Likewise. + * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise. + * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise. + * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise. + (equal_mem_array_ref_p): Likewise. + * tree-ssa-strlen.cc (is_strlen_related_p): Likewise. + * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise. + * tree-ssa-tail-merge.cc (stmt_local_def): Likewise. + * tree-ssa-ter.h: Likewise. + * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise. + * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise. + * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise. + (write_ts_block_tree_pointers): Likewise. + * tree-streamer.h (struct streamer_tree_cache_d): Likewise. + (streamer_read_tree_bitfields): Likewise. + (streamer_write_integer_cst): Likewise. + * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise. + (vect_synth_mult_by_constant): Likewise. + * tree-vect-stmts.cc (vectorizable_operation): Likewise. + * tree-vectorizer.cc: Likewise. + * tree-vectorizer.h (class auto_purge_vect_location): Likewise. + (vect_update_inits_of_drs): Likewise. + (vect_get_mask_type_for_stmt): Likewise. + (vect_rgroup_iv_might_wrap_p): Likewise. + (cse_and_gimplify_to_preheader): Likewise. + (vect_free_slp_tree): Likewise. + (vect_pattern_recog): Likewise. + (vect_stmt_dominates_stmt_p): Likewise. + * tree.cc (initialize_tree_contains_struct): Likewise. + (need_assembler_name_p): Likewise. + (type_with_interoperable_signedness): Likewise. + * tree.def (SWITCH_EXPR): Likewise. + * tree.h (TYPE_SYMTAB_ADDRESS): Likewise. + (poly_int_tree_p): Likewise. + (inlined_function_outer_scope_p): Likewise. + (tree_code_for_canonical_type_merging): Likewise. + * value-prof.cc: Likewise. + * value-prof.h (get_nth_most_common_value): Likewise. + (find_func_by_profile_id): Likewise. + * value-range.cc (vrp_operand_equal_p): Likewise. + * value-range.h: Likewise. + * var-tracking.cc: Likewise. + * varasm.cc (default_function_section): Likewise. + (function_section_1): Likewise. + (assemble_variable): Likewise. + (handle_vtv_comdat_section): Likewise. + * vec.h (struct vec_prefix): Likewise. + * vmsdbgout.cc (full_name): Likewise. + * vtable-verify.cc: Likewise. + * vtable-verify.h (struct vtv_graph_node): Likewise. + * xcoffout.cc: Likewise. + * xcoffout.h (DEBUG_SYMS_TEXT): Likewise. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * adjust-alignment.c: Moved to... + * adjust-alignment.cc: ...here. + * alias.c: Moved to... + * alias.cc: ...here. + * alloc-pool.c: Moved to... + * alloc-pool.cc: ...here. + * asan.c: Moved to... + * asan.cc: ...here. + * attribs.c: Moved to... + * attribs.cc: ...here. + * auto-inc-dec.c: Moved to... + * auto-inc-dec.cc: ...here. + * auto-profile.c: Moved to... + * auto-profile.cc: ...here. + * bb-reorder.c: Moved to... + * bb-reorder.cc: ...here. + * bitmap.c: Moved to... + * bitmap.cc: ...here. + * btfout.c: Moved to... + * btfout.cc: ...here. + * builtins.c: Moved to... + * builtins.cc: ...here. + * caller-save.c: Moved to... + * caller-save.cc: ...here. + * calls.c: Moved to... + * calls.cc: ...here. + * ccmp.c: Moved to... + * ccmp.cc: ...here. + * cfg.c: Moved to... + * cfg.cc: ...here. + * cfganal.c: Moved to... + * cfganal.cc: ...here. + * cfgbuild.c: Moved to... + * cfgbuild.cc: ...here. + * cfgcleanup.c: Moved to... + * cfgcleanup.cc: ...here. + * cfgexpand.c: Moved to... + * cfgexpand.cc: ...here. + * cfghooks.c: Moved to... + * cfghooks.cc: ...here. + * cfgloop.c: Moved to... + * cfgloop.cc: ...here. + * cfgloopanal.c: Moved to... + * cfgloopanal.cc: ...here. + * cfgloopmanip.c: Moved to... + * cfgloopmanip.cc: ...here. + * cfgrtl.c: Moved to... + * cfgrtl.cc: ...here. + * cgraph.c: Moved to... + * cgraph.cc: ...here. + * cgraphbuild.c: Moved to... + * cgraphbuild.cc: ...here. + * cgraphclones.c: Moved to... + * cgraphclones.cc: ...here. + * cgraphunit.c: Moved to... + * cgraphunit.cc: ...here. + * collect-utils.c: Moved to... + * collect-utils.cc: ...here. + * collect2-aix.c: Moved to... + * collect2-aix.cc: ...here. + * collect2.c: Moved to... + * collect2.cc: ...here. + * combine-stack-adj.c: Moved to... + * combine-stack-adj.cc: ...here. + * combine.c: Moved to... + * combine.cc: ...here. + * common/common-targhooks.c: Moved to... + * common/common-targhooks.cc: ...here. + * common/config/aarch64/aarch64-common.c: Moved to... + * common/config/aarch64/aarch64-common.cc: ...here. + * common/config/alpha/alpha-common.c: Moved to... + * common/config/alpha/alpha-common.cc: ...here. + * common/config/arc/arc-common.c: Moved to... + * common/config/arc/arc-common.cc: ...here. + * common/config/arm/arm-common.c: Moved to... + * common/config/arm/arm-common.cc: ...here. + * common/config/avr/avr-common.c: Moved to... + * common/config/avr/avr-common.cc: ...here. + * common/config/bfin/bfin-common.c: Moved to... + * common/config/bfin/bfin-common.cc: ...here. + * common/config/bpf/bpf-common.c: Moved to... + * common/config/bpf/bpf-common.cc: ...here. + * common/config/c6x/c6x-common.c: Moved to... + * common/config/c6x/c6x-common.cc: ...here. + * common/config/cr16/cr16-common.c: Moved to... + * common/config/cr16/cr16-common.cc: ...here. + * common/config/cris/cris-common.c: Moved to... + * common/config/cris/cris-common.cc: ...here. + * common/config/csky/csky-common.c: Moved to... + * common/config/csky/csky-common.cc: ...here. + * common/config/default-common.c: Moved to... + * common/config/default-common.cc: ...here. + * common/config/epiphany/epiphany-common.c: Moved to... + * common/config/epiphany/epiphany-common.cc: ...here. + * common/config/fr30/fr30-common.c: Moved to... + * common/config/fr30/fr30-common.cc: ...here. + * common/config/frv/frv-common.c: Moved to... + * common/config/frv/frv-common.cc: ...here. + * common/config/gcn/gcn-common.c: Moved to... + * common/config/gcn/gcn-common.cc: ...here. + * common/config/h8300/h8300-common.c: Moved to... + * common/config/h8300/h8300-common.cc: ...here. + * common/config/i386/i386-common.c: Moved to... + * common/config/i386/i386-common.cc: ...here. + * common/config/ia64/ia64-common.c: Moved to... + * common/config/ia64/ia64-common.cc: ...here. + * common/config/iq2000/iq2000-common.c: Moved to... + * common/config/iq2000/iq2000-common.cc: ...here. + * common/config/lm32/lm32-common.c: Moved to... + * common/config/lm32/lm32-common.cc: ...here. + * common/config/m32r/m32r-common.c: Moved to... + * common/config/m32r/m32r-common.cc: ...here. + * common/config/m68k/m68k-common.c: Moved to... + * common/config/m68k/m68k-common.cc: ...here. + * common/config/mcore/mcore-common.c: Moved to... + * common/config/mcore/mcore-common.cc: ...here. + * common/config/microblaze/microblaze-common.c: Moved to... + * common/config/microblaze/microblaze-common.cc: ...here. + * common/config/mips/mips-common.c: Moved to... + * common/config/mips/mips-common.cc: ...here. + * common/config/mmix/mmix-common.c: Moved to... + * common/config/mmix/mmix-common.cc: ...here. + * common/config/mn10300/mn10300-common.c: Moved to... + * common/config/mn10300/mn10300-common.cc: ...here. + * common/config/msp430/msp430-common.c: Moved to... + * common/config/msp430/msp430-common.cc: ...here. + * common/config/nds32/nds32-common.c: Moved to... + * common/config/nds32/nds32-common.cc: ...here. + * common/config/nios2/nios2-common.c: Moved to... + * common/config/nios2/nios2-common.cc: ...here. + * common/config/nvptx/nvptx-common.c: Moved to... + * common/config/nvptx/nvptx-common.cc: ...here. + * common/config/or1k/or1k-common.c: Moved to... + * common/config/or1k/or1k-common.cc: ...here. + * common/config/pa/pa-common.c: Moved to... + * common/config/pa/pa-common.cc: ...here. + * common/config/pdp11/pdp11-common.c: Moved to... + * common/config/pdp11/pdp11-common.cc: ...here. + * common/config/pru/pru-common.c: Moved to... + * common/config/pru/pru-common.cc: ...here. + * common/config/riscv/riscv-common.c: Moved to... + * common/config/riscv/riscv-common.cc: ...here. + * common/config/rs6000/rs6000-common.c: Moved to... + * common/config/rs6000/rs6000-common.cc: ...here. + * common/config/rx/rx-common.c: Moved to... + * common/config/rx/rx-common.cc: ...here. + * common/config/s390/s390-common.c: Moved to... + * common/config/s390/s390-common.cc: ...here. + * common/config/sh/sh-common.c: Moved to... + * common/config/sh/sh-common.cc: ...here. + * common/config/sparc/sparc-common.c: Moved to... + * common/config/sparc/sparc-common.cc: ...here. + * common/config/tilegx/tilegx-common.c: Moved to... + * common/config/tilegx/tilegx-common.cc: ...here. + * common/config/tilepro/tilepro-common.c: Moved to... + * common/config/tilepro/tilepro-common.cc: ...here. + * common/config/v850/v850-common.c: Moved to... + * common/config/v850/v850-common.cc: ...here. + * common/config/vax/vax-common.c: Moved to... + * common/config/vax/vax-common.cc: ...here. + * common/config/visium/visium-common.c: Moved to... + * common/config/visium/visium-common.cc: ...here. + * common/config/xstormy16/xstormy16-common.c: Moved to... + * common/config/xstormy16/xstormy16-common.cc: ...here. + * common/config/xtensa/xtensa-common.c: Moved to... + * common/config/xtensa/xtensa-common.cc: ...here. + * compare-elim.c: Moved to... + * compare-elim.cc: ...here. + * config/aarch64/aarch64-bti-insert.c: Moved to... + * config/aarch64/aarch64-bti-insert.cc: ...here. + * config/aarch64/aarch64-builtins.c: Moved to... + * config/aarch64/aarch64-builtins.cc: ...here. + * config/aarch64/aarch64-c.c: Moved to... + * config/aarch64/aarch64-c.cc: ...here. + * config/aarch64/aarch64-d.c: Moved to... + * config/aarch64/aarch64-d.cc: ...here. + * config/aarch64/aarch64.c: Moved to... + * config/aarch64/aarch64.cc: ...here. + * config/aarch64/cortex-a57-fma-steering.c: Moved to... + * config/aarch64/cortex-a57-fma-steering.cc: ...here. + * config/aarch64/driver-aarch64.c: Moved to... + * config/aarch64/driver-aarch64.cc: ...here. + * config/aarch64/falkor-tag-collision-avoidance.c: Moved to... + * config/aarch64/falkor-tag-collision-avoidance.cc: ...here. + * config/aarch64/host-aarch64-darwin.c: Moved to... + * config/aarch64/host-aarch64-darwin.cc: ...here. + * config/alpha/alpha.c: Moved to... + * config/alpha/alpha.cc: ...here. + * config/alpha/driver-alpha.c: Moved to... + * config/alpha/driver-alpha.cc: ...here. + * config/arc/arc-c.c: Moved to... + * config/arc/arc-c.cc: ...here. + * config/arc/arc.c: Moved to... + * config/arc/arc.cc: ...here. + * config/arc/driver-arc.c: Moved to... + * config/arc/driver-arc.cc: ...here. + * config/arm/aarch-common.c: Moved to... + * config/arm/aarch-common.cc: ...here. + * config/arm/arm-builtins.c: Moved to... + * config/arm/arm-builtins.cc: ...here. + * config/arm/arm-c.c: Moved to... + * config/arm/arm-c.cc: ...here. + * config/arm/arm-d.c: Moved to... + * config/arm/arm-d.cc: ...here. + * config/arm/arm.c: Moved to... + * config/arm/arm.cc: ...here. + * config/arm/driver-arm.c: Moved to... + * config/arm/driver-arm.cc: ...here. + * config/avr/avr-c.c: Moved to... + * config/avr/avr-c.cc: ...here. + * config/avr/avr-devices.c: Moved to... + * config/avr/avr-devices.cc: ...here. + * config/avr/avr-log.c: Moved to... + * config/avr/avr-log.cc: ...here. + * config/avr/avr.c: Moved to... + * config/avr/avr.cc: ...here. + * config/avr/driver-avr.c: Moved to... + * config/avr/driver-avr.cc: ...here. + * config/avr/gen-avr-mmcu-specs.c: Moved to... + * config/avr/gen-avr-mmcu-specs.cc: ...here. + * config/avr/gen-avr-mmcu-texi.c: Moved to... + * config/avr/gen-avr-mmcu-texi.cc: ...here. + * config/bfin/bfin.c: Moved to... + * config/bfin/bfin.cc: ...here. + * config/bpf/bpf.c: Moved to... + * config/bpf/bpf.cc: ...here. + * config/bpf/coreout.c: Moved to... + * config/bpf/coreout.cc: ...here. + * config/c6x/c6x.c: Moved to... + * config/c6x/c6x.cc: ...here. + * config/cr16/cr16.c: Moved to... + * config/cr16/cr16.cc: ...here. + * config/cris/cris.c: Moved to... + * config/cris/cris.cc: ...here. + * config/csky/csky.c: Moved to... + * config/csky/csky.cc: ...here. + * config/darwin-c.c: Moved to... + * config/darwin-c.cc: ...here. + * config/darwin-d.c: Moved to... + * config/darwin-d.cc: ...here. + * config/darwin-driver.c: Moved to... + * config/darwin-driver.cc: ...here. + * config/darwin-f.c: Moved to... + * config/darwin-f.cc: ...here. + * config/darwin.c: Moved to... + * config/darwin.cc: ...here. + * config/default-c.c: Moved to... + * config/default-c.cc: ...here. + * config/default-d.c: Moved to... + * config/default-d.cc: ...here. + * config/dragonfly-d.c: Moved to... + * config/dragonfly-d.cc: ...here. + * config/epiphany/epiphany.c: Moved to... + * config/epiphany/epiphany.cc: ...here. + * config/epiphany/mode-switch-use.c: Moved to... + * config/epiphany/mode-switch-use.cc: ...here. + * config/epiphany/resolve-sw-modes.c: Moved to... + * config/epiphany/resolve-sw-modes.cc: ...here. + * config/fr30/fr30.c: Moved to... + * config/fr30/fr30.cc: ...here. + * config/freebsd-d.c: Moved to... + * config/freebsd-d.cc: ...here. + * config/frv/frv.c: Moved to... + * config/frv/frv.cc: ...here. + * config/ft32/ft32.c: Moved to... + * config/ft32/ft32.cc: ...here. + * config/gcn/driver-gcn.c: Moved to... + * config/gcn/driver-gcn.cc: ...here. + * config/gcn/gcn-run.c: Moved to... + * config/gcn/gcn-run.cc: ...here. + * config/gcn/gcn-tree.c: Moved to... + * config/gcn/gcn-tree.cc: ...here. + * config/gcn/gcn.c: Moved to... + * config/gcn/gcn.cc: ...here. + * config/gcn/mkoffload.c: Moved to... + * config/gcn/mkoffload.cc: ...here. + * config/glibc-c.c: Moved to... + * config/glibc-c.cc: ...here. + * config/glibc-d.c: Moved to... + * config/glibc-d.cc: ...here. + * config/h8300/h8300.c: Moved to... + * config/h8300/h8300.cc: ...here. + * config/host-darwin.c: Moved to... + * config/host-darwin.cc: ...here. + * config/host-hpux.c: Moved to... + * config/host-hpux.cc: ...here. + * config/host-linux.c: Moved to... + * config/host-linux.cc: ...here. + * config/host-netbsd.c: Moved to... + * config/host-netbsd.cc: ...here. + * config/host-openbsd.c: Moved to... + * config/host-openbsd.cc: ...here. + * config/host-solaris.c: Moved to... + * config/host-solaris.cc: ...here. + * config/i386/djgpp.c: Moved to... + * config/i386/djgpp.cc: ...here. + * config/i386/driver-i386.c: Moved to... + * config/i386/driver-i386.cc: ...here. + * config/i386/driver-mingw32.c: Moved to... + * config/i386/driver-mingw32.cc: ...here. + * config/i386/gnu-property.c: Moved to... + * config/i386/gnu-property.cc: ...here. + * config/i386/host-cygwin.c: Moved to... + * config/i386/host-cygwin.cc: ...here. + * config/i386/host-i386-darwin.c: Moved to... + * config/i386/host-i386-darwin.cc: ...here. + * config/i386/host-mingw32.c: Moved to... + * config/i386/host-mingw32.cc: ...here. + * config/i386/i386-builtins.c: Moved to... + * config/i386/i386-builtins.cc: ...here. + * config/i386/i386-c.c: Moved to... + * config/i386/i386-c.cc: ...here. + * config/i386/i386-d.c: Moved to... + * config/i386/i386-d.cc: ...here. + * config/i386/i386-expand.c: Moved to... + * config/i386/i386-expand.cc: ...here. + * config/i386/i386-features.c: Moved to... + * config/i386/i386-features.cc: ...here. + * config/i386/i386-options.c: Moved to... + * config/i386/i386-options.cc: ...here. + * config/i386/i386.c: Moved to... + * config/i386/i386.cc: ...here. + * config/i386/intelmic-mkoffload.c: Moved to... + * config/i386/intelmic-mkoffload.cc: ...here. + * config/i386/msformat-c.c: Moved to... + * config/i386/msformat-c.cc: ...here. + * config/i386/winnt-cxx.c: Moved to... + * config/i386/winnt-cxx.cc: ...here. + * config/i386/winnt-d.c: Moved to... + * config/i386/winnt-d.cc: ...here. + * config/i386/winnt-stubs.c: Moved to... + * config/i386/winnt-stubs.cc: ...here. + * config/i386/winnt.c: Moved to... + * config/i386/winnt.cc: ...here. + * config/i386/x86-tune-sched-atom.c: Moved to... + * config/i386/x86-tune-sched-atom.cc: ...here. + * config/i386/x86-tune-sched-bd.c: Moved to... + * config/i386/x86-tune-sched-bd.cc: ...here. + * config/i386/x86-tune-sched-core.c: Moved to... + * config/i386/x86-tune-sched-core.cc: ...here. + * config/i386/x86-tune-sched.c: Moved to... + * config/i386/x86-tune-sched.cc: ...here. + * config/ia64/ia64-c.c: Moved to... + * config/ia64/ia64-c.cc: ...here. + * config/ia64/ia64.c: Moved to... + * config/ia64/ia64.cc: ...here. + * config/iq2000/iq2000.c: Moved to... + * config/iq2000/iq2000.cc: ...here. + * config/linux.c: Moved to... + * config/linux.cc: ...here. + * config/lm32/lm32.c: Moved to... + * config/lm32/lm32.cc: ...here. + * config/m32c/m32c-pragma.c: Moved to... + * config/m32c/m32c-pragma.cc: ...here. + * config/m32c/m32c.c: Moved to... + * config/m32c/m32c.cc: ...here. + * config/m32r/m32r.c: Moved to... + * config/m32r/m32r.cc: ...here. + * config/m68k/m68k.c: Moved to... + * config/m68k/m68k.cc: ...here. + * config/mcore/mcore.c: Moved to... + * config/mcore/mcore.cc: ...here. + * config/microblaze/microblaze-c.c: Moved to... + * config/microblaze/microblaze-c.cc: ...here. + * config/microblaze/microblaze.c: Moved to... + * config/microblaze/microblaze.cc: ...here. + * config/mips/driver-native.c: Moved to... + * config/mips/driver-native.cc: ...here. + * config/mips/frame-header-opt.c: Moved to... + * config/mips/frame-header-opt.cc: ...here. + * config/mips/mips-d.c: Moved to... + * config/mips/mips-d.cc: ...here. + * config/mips/mips.c: Moved to... + * config/mips/mips.cc: ...here. + * config/mmix/mmix.c: Moved to... + * config/mmix/mmix.cc: ...here. + * config/mn10300/mn10300.c: Moved to... + * config/mn10300/mn10300.cc: ...here. + * config/moxie/moxie.c: Moved to... + * config/moxie/moxie.cc: ...here. + * config/msp430/driver-msp430.c: Moved to... + * config/msp430/driver-msp430.cc: ...here. + * config/msp430/msp430-c.c: Moved to... + * config/msp430/msp430-c.cc: ...here. + * config/msp430/msp430-devices.c: Moved to... + * config/msp430/msp430-devices.cc: ...here. + * config/msp430/msp430.c: Moved to... + * config/msp430/msp430.cc: ...here. + * config/nds32/nds32-cost.c: Moved to... + * config/nds32/nds32-cost.cc: ...here. + * config/nds32/nds32-fp-as-gp.c: Moved to... + * config/nds32/nds32-fp-as-gp.cc: ...here. + * config/nds32/nds32-intrinsic.c: Moved to... + * config/nds32/nds32-intrinsic.cc: ...here. + * config/nds32/nds32-isr.c: Moved to... + * config/nds32/nds32-isr.cc: ...here. + * config/nds32/nds32-md-auxiliary.c: Moved to... + * config/nds32/nds32-md-auxiliary.cc: ...here. + * config/nds32/nds32-memory-manipulation.c: Moved to... + * config/nds32/nds32-memory-manipulation.cc: ...here. + * config/nds32/nds32-pipelines-auxiliary.c: Moved to... + * config/nds32/nds32-pipelines-auxiliary.cc: ...here. + * config/nds32/nds32-predicates.c: Moved to... + * config/nds32/nds32-predicates.cc: ...here. + * config/nds32/nds32-relax-opt.c: Moved to... + * config/nds32/nds32-relax-opt.cc: ...here. + * config/nds32/nds32-utils.c: Moved to... + * config/nds32/nds32-utils.cc: ...here. + * config/nds32/nds32.c: Moved to... + * config/nds32/nds32.cc: ...here. + * config/netbsd-d.c: Moved to... + * config/netbsd-d.cc: ...here. + * config/netbsd.c: Moved to... + * config/netbsd.cc: ...here. + * config/nios2/nios2.c: Moved to... + * config/nios2/nios2.cc: ...here. + * config/nvptx/mkoffload.c: Moved to... + * config/nvptx/mkoffload.cc: ...here. + * config/nvptx/nvptx-c.c: Moved to... + * config/nvptx/nvptx-c.cc: ...here. + * config/nvptx/nvptx.c: Moved to... + * config/nvptx/nvptx.cc: ...here. + * config/openbsd-d.c: Moved to... + * config/openbsd-d.cc: ...here. + * config/or1k/or1k.c: Moved to... + * config/or1k/or1k.cc: ...here. + * config/pa/pa-d.c: Moved to... + * config/pa/pa-d.cc: ...here. + * config/pa/pa.c: Moved to... + * config/pa/pa.cc: ...here. + * config/pdp11/pdp11.c: Moved to... + * config/pdp11/pdp11.cc: ...here. + * config/pru/pru-passes.c: Moved to... + * config/pru/pru-passes.cc: ...here. + * config/pru/pru-pragma.c: Moved to... + * config/pru/pru-pragma.cc: ...here. + * config/pru/pru.c: Moved to... + * config/pru/pru.cc: ...here. + * config/riscv/riscv-builtins.c: Moved to... + * config/riscv/riscv-builtins.cc: ...here. + * config/riscv/riscv-c.c: Moved to... + * config/riscv/riscv-c.cc: ...here. + * config/riscv/riscv-d.c: Moved to... + * config/riscv/riscv-d.cc: ...here. + * config/riscv/riscv-shorten-memrefs.c: Moved to... + * config/riscv/riscv-shorten-memrefs.cc: ...here. + * config/riscv/riscv-sr.c: Moved to... + * config/riscv/riscv-sr.cc: ...here. + * config/riscv/riscv.c: Moved to... + * config/riscv/riscv.cc: ...here. + * config/rl78/rl78-c.c: Moved to... + * config/rl78/rl78-c.cc: ...here. + * config/rl78/rl78.c: Moved to... + * config/rl78/rl78.cc: ...here. + * config/rs6000/driver-rs6000.c: Moved to... + * config/rs6000/driver-rs6000.cc: ...here. + * config/rs6000/host-darwin.c: Moved to... + * config/rs6000/host-darwin.cc: ...here. + * config/rs6000/host-ppc64-darwin.c: Moved to... + * config/rs6000/host-ppc64-darwin.cc: ...here. + * config/rs6000/rbtree.c: Moved to... + * config/rs6000/rbtree.cc: ...here. + * config/rs6000/rs6000-c.c: Moved to... + * config/rs6000/rs6000-c.cc: ...here. + * config/rs6000/rs6000-call.c: Moved to... + * config/rs6000/rs6000-call.cc: ...here. + * config/rs6000/rs6000-d.c: Moved to... + * config/rs6000/rs6000-d.cc: ...here. + * config/rs6000/rs6000-gen-builtins.c: Moved to... + * config/rs6000/rs6000-gen-builtins.cc: ...here. + * config/rs6000/rs6000-linux.c: Moved to... + * config/rs6000/rs6000-linux.cc: ...here. + * config/rs6000/rs6000-logue.c: Moved to... + * config/rs6000/rs6000-logue.cc: ...here. + * config/rs6000/rs6000-p8swap.c: Moved to... + * config/rs6000/rs6000-p8swap.cc: ...here. + * config/rs6000/rs6000-pcrel-opt.c: Moved to... + * config/rs6000/rs6000-pcrel-opt.cc: ...here. + * config/rs6000/rs6000-string.c: Moved to... + * config/rs6000/rs6000-string.cc: ...here. + * config/rs6000/rs6000.c: Moved to... + * config/rs6000/rs6000.cc: ...here. + * config/rx/rx.c: Moved to... + * config/rx/rx.cc: ...here. + * config/s390/driver-native.c: Moved to... + * config/s390/driver-native.cc: ...here. + * config/s390/s390-c.c: Moved to... + * config/s390/s390-c.cc: ...here. + * config/s390/s390-d.c: Moved to... + * config/s390/s390-d.cc: ...here. + * config/s390/s390.c: Moved to... + * config/s390/s390.cc: ...here. + * config/sh/divtab-sh4-300.c: Moved to... + * config/sh/divtab-sh4-300.cc: ...here. + * config/sh/divtab-sh4.c: Moved to... + * config/sh/divtab-sh4.cc: ...here. + * config/sh/divtab.c: Moved to... + * config/sh/divtab.cc: ...here. + * config/sh/sh-c.c: Moved to... + * config/sh/sh-c.cc: ...here. + * config/sh/sh.c: Moved to... + * config/sh/sh.cc: ...here. + * config/sol2-c.c: Moved to... + * config/sol2-c.cc: ...here. + * config/sol2-cxx.c: Moved to... + * config/sol2-cxx.cc: ...here. + * config/sol2-d.c: Moved to... + * config/sol2-d.cc: ...here. + * config/sol2-stubs.c: Moved to... + * config/sol2-stubs.cc: ...here. + * config/sol2.c: Moved to... + * config/sol2.cc: ...here. + * config/sparc/driver-sparc.c: Moved to... + * config/sparc/driver-sparc.cc: ...here. + * config/sparc/sparc-c.c: Moved to... + * config/sparc/sparc-c.cc: ...here. + * config/sparc/sparc-d.c: Moved to... + * config/sparc/sparc-d.cc: ...here. + * config/sparc/sparc.c: Moved to... + * config/sparc/sparc.cc: ...here. + * config/stormy16/stormy16.c: Moved to... + * config/stormy16/stormy16.cc: ...here. + * config/tilegx/mul-tables.c: Moved to... + * config/tilegx/mul-tables.cc: ...here. + * config/tilegx/tilegx-c.c: Moved to... + * config/tilegx/tilegx-c.cc: ...here. + * config/tilegx/tilegx.c: Moved to... + * config/tilegx/tilegx.cc: ...here. + * config/tilepro/mul-tables.c: Moved to... + * config/tilepro/mul-tables.cc: ...here. + * config/tilepro/tilepro-c.c: Moved to... + * config/tilepro/tilepro-c.cc: ...here. + * config/tilepro/tilepro.c: Moved to... + * config/tilepro/tilepro.cc: ...here. + * config/v850/v850-c.c: Moved to... + * config/v850/v850-c.cc: ...here. + * config/v850/v850.c: Moved to... + * config/v850/v850.cc: ...here. + * config/vax/vax.c: Moved to... + * config/vax/vax.cc: ...here. + * config/visium/visium.c: Moved to... + * config/visium/visium.cc: ...here. + * config/vms/vms-c.c: Moved to... + * config/vms/vms-c.cc: ...here. + * config/vms/vms-f.c: Moved to... + * config/vms/vms-f.cc: ...here. + * config/vms/vms.c: Moved to... + * config/vms/vms.cc: ...here. + * config/vxworks-c.c: Moved to... + * config/vxworks-c.cc: ...here. + * config/vxworks.c: Moved to... + * config/vxworks.cc: ...here. + * config/winnt-c.c: Moved to... + * config/winnt-c.cc: ...here. + * config/xtensa/xtensa.c: Moved to... + * config/xtensa/xtensa.cc: ...here. + * context.c: Moved to... + * context.cc: ...here. + * convert.c: Moved to... + * convert.cc: ...here. + * coverage.c: Moved to... + * coverage.cc: ...here. + * cppbuiltin.c: Moved to... + * cppbuiltin.cc: ...here. + * cppdefault.c: Moved to... + * cppdefault.cc: ...here. + * cprop.c: Moved to... + * cprop.cc: ...here. + * cse.c: Moved to... + * cse.cc: ...here. + * cselib.c: Moved to... + * cselib.cc: ...here. + * ctfc.c: Moved to... + * ctfc.cc: ...here. + * ctfout.c: Moved to... + * ctfout.cc: ...here. + * data-streamer-in.c: Moved to... + * data-streamer-in.cc: ...here. + * data-streamer-out.c: Moved to... + * data-streamer-out.cc: ...here. + * data-streamer.c: Moved to... + * data-streamer.cc: ...here. + * dbgcnt.c: Moved to... + * dbgcnt.cc: ...here. + * dbxout.c: Moved to... + * dbxout.cc: ...here. + * dce.c: Moved to... + * dce.cc: ...here. + * ddg.c: Moved to... + * ddg.cc: ...here. + * debug.c: Moved to... + * debug.cc: ...here. + * df-core.c: Moved to... + * df-core.cc: ...here. + * df-problems.c: Moved to... + * df-problems.cc: ...here. + * df-scan.c: Moved to... + * df-scan.cc: ...here. + * dfp.c: Moved to... + * dfp.cc: ...here. + * diagnostic-color.c: Moved to... + * diagnostic-color.cc: ...here. + * diagnostic-show-locus.c: Moved to... + * diagnostic-show-locus.cc: ...here. + * diagnostic-spec.c: Moved to... + * diagnostic-spec.cc: ...here. + * diagnostic.c: Moved to... + * diagnostic.cc: ...here. + * dojump.c: Moved to... + * dojump.cc: ...here. + * dominance.c: Moved to... + * dominance.cc: ...here. + * domwalk.c: Moved to... + * domwalk.cc: ...here. + * double-int.c: Moved to... + * double-int.cc: ...here. + * dse.c: Moved to... + * dse.cc: ...here. + * dumpfile.c: Moved to... + * dumpfile.cc: ...here. + * dwarf2asm.c: Moved to... + * dwarf2asm.cc: ...here. + * dwarf2cfi.c: Moved to... + * dwarf2cfi.cc: ...here. + * dwarf2ctf.c: Moved to... + * dwarf2ctf.cc: ...here. + * dwarf2out.c: Moved to... + * dwarf2out.cc: ...here. + * early-remat.c: Moved to... + * early-remat.cc: ...here. + * edit-context.c: Moved to... + * edit-context.cc: ...here. + * emit-rtl.c: Moved to... + * emit-rtl.cc: ...here. + * errors.c: Moved to... + * errors.cc: ...here. + * et-forest.c: Moved to... + * et-forest.cc: ...here. + * except.c: Moved to... + * except.cc: ...here. + * explow.c: Moved to... + * explow.cc: ...here. + * expmed.c: Moved to... + * expmed.cc: ...here. + * expr.c: Moved to... + * expr.cc: ...here. + * fibonacci_heap.c: Moved to... + * fibonacci_heap.cc: ...here. + * file-find.c: Moved to... + * file-find.cc: ...here. + * file-prefix-map.c: Moved to... + * file-prefix-map.cc: ...here. + * final.c: Moved to... + * final.cc: ...here. + * fixed-value.c: Moved to... + * fixed-value.cc: ...here. + * fold-const-call.c: Moved to... + * fold-const-call.cc: ...here. + * fold-const.c: Moved to... + * fold-const.cc: ...here. + * fp-test.c: Moved to... + * fp-test.cc: ...here. + * function-tests.c: Moved to... + * function-tests.cc: ...here. + * function.c: Moved to... + * function.cc: ...here. + * fwprop.c: Moved to... + * fwprop.cc: ...here. + * gcc-ar.c: Moved to... + * gcc-ar.cc: ...here. + * gcc-main.c: Moved to... + * gcc-main.cc: ...here. + * gcc-rich-location.c: Moved to... + * gcc-rich-location.cc: ...here. + * gcc.c: Moved to... + * gcc.cc: ...here. + * gcov-dump.c: Moved to... + * gcov-dump.cc: ...here. + * gcov-io.c: Moved to... + * gcov-io.cc: ...here. + * gcov-tool.c: Moved to... + * gcov-tool.cc: ...here. + * gcov.c: Moved to... + * gcov.cc: ...here. + * gcse-common.c: Moved to... + * gcse-common.cc: ...here. + * gcse.c: Moved to... + * gcse.cc: ...here. + * genattr-common.c: Moved to... + * genattr-common.cc: ...here. + * genattr.c: Moved to... + * genattr.cc: ...here. + * genattrtab.c: Moved to... + * genattrtab.cc: ...here. + * genautomata.c: Moved to... + * genautomata.cc: ...here. + * gencfn-macros.c: Moved to... + * gencfn-macros.cc: ...here. + * gencheck.c: Moved to... + * gencheck.cc: ...here. + * genchecksum.c: Moved to... + * genchecksum.cc: ...here. + * gencodes.c: Moved to... + * gencodes.cc: ...here. + * genconditions.c: Moved to... + * genconditions.cc: ...here. + * genconfig.c: Moved to... + * genconfig.cc: ...here. + * genconstants.c: Moved to... + * genconstants.cc: ...here. + * genemit.c: Moved to... + * genemit.cc: ...here. + * genenums.c: Moved to... + * genenums.cc: ...here. + * generic-match-head.c: Moved to... + * generic-match-head.cc: ...here. + * genextract.c: Moved to... + * genextract.cc: ...here. + * genflags.c: Moved to... + * genflags.cc: ...here. + * gengenrtl.c: Moved to... + * gengenrtl.cc: ...here. + * gengtype-parse.c: Moved to... + * gengtype-parse.cc: ...here. + * gengtype-state.c: Moved to... + * gengtype-state.cc: ...here. + * gengtype.c: Moved to... + * gengtype.cc: ...here. + * genhooks.c: Moved to... + * genhooks.cc: ...here. + * genmatch.c: Moved to... + * genmatch.cc: ...here. + * genmddeps.c: Moved to... + * genmddeps.cc: ...here. + * genmddump.c: Moved to... + * genmddump.cc: ...here. + * genmodes.c: Moved to... + * genmodes.cc: ...here. + * genopinit.c: Moved to... + * genopinit.cc: ...here. + * genoutput.c: Moved to... + * genoutput.cc: ...here. + * genpeep.c: Moved to... + * genpeep.cc: ...here. + * genpreds.c: Moved to... + * genpreds.cc: ...here. + * genrecog.c: Moved to... + * genrecog.cc: ...here. + * gensupport.c: Moved to... + * gensupport.cc: ...here. + * gentarget-def.c: Moved to... + * gentarget-def.cc: ...here. + * genversion.c: Moved to... + * genversion.cc: ...here. + * ggc-common.c: Moved to... + * ggc-common.cc: ...here. + * ggc-none.c: Moved to... + * ggc-none.cc: ...here. + * ggc-page.c: Moved to... + * ggc-page.cc: ...here. + * ggc-tests.c: Moved to... + * ggc-tests.cc: ...here. + * gimple-builder.c: Moved to... + * gimple-builder.cc: ...here. + * gimple-expr.c: Moved to... + * gimple-expr.cc: ...here. + * gimple-fold.c: Moved to... + * gimple-fold.cc: ...here. + * gimple-iterator.c: Moved to... + * gimple-iterator.cc: ...here. + * gimple-laddress.c: Moved to... + * gimple-laddress.cc: ...here. + * gimple-loop-jam.c: Moved to... + * gimple-loop-jam.cc: ...here. + * gimple-low.c: Moved to... + * gimple-low.cc: ...here. + * gimple-match-head.c: Moved to... + * gimple-match-head.cc: ...here. + * gimple-pretty-print.c: Moved to... + * gimple-pretty-print.cc: ...here. + * gimple-ssa-backprop.c: Moved to... + * gimple-ssa-backprop.cc: ...here. + * gimple-ssa-evrp-analyze.c: Moved to... + * gimple-ssa-evrp-analyze.cc: ...here. + * gimple-ssa-evrp.c: Moved to... + * gimple-ssa-evrp.cc: ...here. + * gimple-ssa-isolate-paths.c: Moved to... + * gimple-ssa-isolate-paths.cc: ...here. + * gimple-ssa-nonnull-compare.c: Moved to... + * gimple-ssa-nonnull-compare.cc: ...here. + * gimple-ssa-split-paths.c: Moved to... + * gimple-ssa-split-paths.cc: ...here. + * gimple-ssa-sprintf.c: Moved to... + * gimple-ssa-sprintf.cc: ...here. + * gimple-ssa-store-merging.c: Moved to... + * gimple-ssa-store-merging.cc: ...here. + * gimple-ssa-strength-reduction.c: Moved to... + * gimple-ssa-strength-reduction.cc: ...here. + * gimple-ssa-warn-alloca.c: Moved to... + * gimple-ssa-warn-alloca.cc: ...here. + * gimple-ssa-warn-restrict.c: Moved to... + * gimple-ssa-warn-restrict.cc: ...here. + * gimple-streamer-in.c: Moved to... + * gimple-streamer-in.cc: ...here. + * gimple-streamer-out.c: Moved to... + * gimple-streamer-out.cc: ...here. + * gimple-walk.c: Moved to... + * gimple-walk.cc: ...here. + * gimple-warn-recursion.c: Moved to... + * gimple-warn-recursion.cc: ...here. + * gimple.c: Moved to... + * gimple.cc: ...here. + * gimplify-me.c: Moved to... + * gimplify-me.cc: ...here. + * gimplify.c: Moved to... + * gimplify.cc: ...here. + * godump.c: Moved to... + * godump.cc: ...here. + * graph.c: Moved to... + * graph.cc: ...here. + * graphds.c: Moved to... + * graphds.cc: ...here. + * graphite-dependences.c: Moved to... + * graphite-dependences.cc: ...here. + * graphite-isl-ast-to-gimple.c: Moved to... + * graphite-isl-ast-to-gimple.cc: ...here. + * graphite-optimize-isl.c: Moved to... + * graphite-optimize-isl.cc: ...here. + * graphite-poly.c: Moved to... + * graphite-poly.cc: ...here. + * graphite-scop-detection.c: Moved to... + * graphite-scop-detection.cc: ...here. + * graphite-sese-to-poly.c: Moved to... + * graphite-sese-to-poly.cc: ...here. + * graphite.c: Moved to... + * graphite.cc: ...here. + * haifa-sched.c: Moved to... + * haifa-sched.cc: ...here. + * hash-map-tests.c: Moved to... + * hash-map-tests.cc: ...here. + * hash-set-tests.c: Moved to... + * hash-set-tests.cc: ...here. + * hash-table.c: Moved to... + * hash-table.cc: ...here. + * hooks.c: Moved to... + * hooks.cc: ...here. + * host-default.c: Moved to... + * host-default.cc: ...here. + * hw-doloop.c: Moved to... + * hw-doloop.cc: ...here. + * hwint.c: Moved to... + * hwint.cc: ...here. + * ifcvt.c: Moved to... + * ifcvt.cc: ...here. + * inchash.c: Moved to... + * inchash.cc: ...here. + * incpath.c: Moved to... + * incpath.cc: ...here. + * init-regs.c: Moved to... + * init-regs.cc: ...here. + * input.c: Moved to... + * input.cc: ...here. + * internal-fn.c: Moved to... + * internal-fn.cc: ...here. + * intl.c: Moved to... + * intl.cc: ...here. + * ipa-comdats.c: Moved to... + * ipa-comdats.cc: ...here. + * ipa-cp.c: Moved to... + * ipa-cp.cc: ...here. + * ipa-devirt.c: Moved to... + * ipa-devirt.cc: ...here. + * ipa-fnsummary.c: Moved to... + * ipa-fnsummary.cc: ...here. + * ipa-icf-gimple.c: Moved to... + * ipa-icf-gimple.cc: ...here. + * ipa-icf.c: Moved to... + * ipa-icf.cc: ...here. + * ipa-inline-analysis.c: Moved to... + * ipa-inline-analysis.cc: ...here. + * ipa-inline-transform.c: Moved to... + * ipa-inline-transform.cc: ...here. + * ipa-inline.c: Moved to... + * ipa-inline.cc: ...here. + * ipa-modref-tree.c: Moved to... + * ipa-modref-tree.cc: ...here. + * ipa-modref.c: Moved to... + * ipa-modref.cc: ...here. + * ipa-param-manipulation.c: Moved to... + * ipa-param-manipulation.cc: ...here. + * ipa-polymorphic-call.c: Moved to... + * ipa-polymorphic-call.cc: ...here. + * ipa-predicate.c: Moved to... + * ipa-predicate.cc: ...here. + * ipa-profile.c: Moved to... + * ipa-profile.cc: ...here. + * ipa-prop.c: Moved to... + * ipa-prop.cc: ...here. + * ipa-pure-const.c: Moved to... + * ipa-pure-const.cc: ...here. + * ipa-ref.c: Moved to... + * ipa-ref.cc: ...here. + * ipa-reference.c: Moved to... + * ipa-reference.cc: ...here. + * ipa-split.c: Moved to... + * ipa-split.cc: ...here. + * ipa-sra.c: Moved to... + * ipa-sra.cc: ...here. + * ipa-utils.c: Moved to... + * ipa-utils.cc: ...here. + * ipa-visibility.c: Moved to... + * ipa-visibility.cc: ...here. + * ipa.c: Moved to... + * ipa.cc: ...here. + * ira-build.c: Moved to... + * ira-build.cc: ...here. + * ira-color.c: Moved to... + * ira-color.cc: ...here. + * ira-conflicts.c: Moved to... + * ira-conflicts.cc: ...here. + * ira-costs.c: Moved to... + * ira-costs.cc: ...here. + * ira-emit.c: Moved to... + * ira-emit.cc: ...here. + * ira-lives.c: Moved to... + * ira-lives.cc: ...here. + * ira.c: Moved to... + * ira.cc: ...here. + * jump.c: Moved to... + * jump.cc: ...here. + * langhooks.c: Moved to... + * langhooks.cc: ...here. + * lcm.c: Moved to... + * lcm.cc: ...here. + * lists.c: Moved to... + * lists.cc: ...here. + * loop-doloop.c: Moved to... + * loop-doloop.cc: ...here. + * loop-init.c: Moved to... + * loop-init.cc: ...here. + * loop-invariant.c: Moved to... + * loop-invariant.cc: ...here. + * loop-iv.c: Moved to... + * loop-iv.cc: ...here. + * loop-unroll.c: Moved to... + * loop-unroll.cc: ...here. + * lower-subreg.c: Moved to... + * lower-subreg.cc: ...here. + * lra-assigns.c: Moved to... + * lra-assigns.cc: ...here. + * lra-coalesce.c: Moved to... + * lra-coalesce.cc: ...here. + * lra-constraints.c: Moved to... + * lra-constraints.cc: ...here. + * lra-eliminations.c: Moved to... + * lra-eliminations.cc: ...here. + * lra-lives.c: Moved to... + * lra-lives.cc: ...here. + * lra-remat.c: Moved to... + * lra-remat.cc: ...here. + * lra-spills.c: Moved to... + * lra-spills.cc: ...here. + * lra.c: Moved to... + * lra.cc: ...here. + * lto-cgraph.c: Moved to... + * lto-cgraph.cc: ...here. + * lto-compress.c: Moved to... + * lto-compress.cc: ...here. + * lto-opts.c: Moved to... + * lto-opts.cc: ...here. + * lto-section-in.c: Moved to... + * lto-section-in.cc: ...here. + * lto-section-out.c: Moved to... + * lto-section-out.cc: ...here. + * lto-streamer-in.c: Moved to... + * lto-streamer-in.cc: ...here. + * lto-streamer-out.c: Moved to... + * lto-streamer-out.cc: ...here. + * lto-streamer.c: Moved to... + * lto-streamer.cc: ...here. + * lto-wrapper.c: Moved to... + * lto-wrapper.cc: ...here. + * main.c: Moved to... + * main.cc: ...here. + * mcf.c: Moved to... + * mcf.cc: ...here. + * mode-switching.c: Moved to... + * mode-switching.cc: ...here. + * modulo-sched.c: Moved to... + * modulo-sched.cc: ...here. + * multiple_target.c: Moved to... + * multiple_target.cc: ...here. + * omp-expand.c: Moved to... + * omp-expand.cc: ...here. + * omp-general.c: Moved to... + * omp-general.cc: ...here. + * omp-low.c: Moved to... + * omp-low.cc: ...here. + * omp-offload.c: Moved to... + * omp-offload.cc: ...here. + * omp-simd-clone.c: Moved to... + * omp-simd-clone.cc: ...here. + * opt-suggestions.c: Moved to... + * opt-suggestions.cc: ...here. + * optabs-libfuncs.c: Moved to... + * optabs-libfuncs.cc: ...here. + * optabs-query.c: Moved to... + * optabs-query.cc: ...here. + * optabs-tree.c: Moved to... + * optabs-tree.cc: ...here. + * optabs.c: Moved to... + * optabs.cc: ...here. + * opts-common.c: Moved to... + * opts-common.cc: ...here. + * opts-global.c: Moved to... + * opts-global.cc: ...here. + * opts.c: Moved to... + * opts.cc: ...here. + * passes.c: Moved to... + * passes.cc: ...here. + * plugin.c: Moved to... + * plugin.cc: ...here. + * postreload-gcse.c: Moved to... + * postreload-gcse.cc: ...here. + * postreload.c: Moved to... + * postreload.cc: ...here. + * predict.c: Moved to... + * predict.cc: ...here. + * prefix.c: Moved to... + * prefix.cc: ...here. + * pretty-print.c: Moved to... + * pretty-print.cc: ...here. + * print-rtl-function.c: Moved to... + * print-rtl-function.cc: ...here. + * print-rtl.c: Moved to... + * print-rtl.cc: ...here. + * print-tree.c: Moved to... + * print-tree.cc: ...here. + * profile-count.c: Moved to... + * profile-count.cc: ...here. + * profile.c: Moved to... + * profile.cc: ...here. + * read-md.c: Moved to... + * read-md.cc: ...here. + * read-rtl-function.c: Moved to... + * read-rtl-function.cc: ...here. + * read-rtl.c: Moved to... + * read-rtl.cc: ...here. + * real.c: Moved to... + * real.cc: ...here. + * realmpfr.c: Moved to... + * realmpfr.cc: ...here. + * recog.c: Moved to... + * recog.cc: ...here. + * ree.c: Moved to... + * ree.cc: ...here. + * reg-stack.c: Moved to... + * reg-stack.cc: ...here. + * regcprop.c: Moved to... + * regcprop.cc: ...here. + * reginfo.c: Moved to... + * reginfo.cc: ...here. + * regrename.c: Moved to... + * regrename.cc: ...here. + * regstat.c: Moved to... + * regstat.cc: ...here. + * reload.c: Moved to... + * reload.cc: ...here. + * reload1.c: Moved to... + * reload1.cc: ...here. + * reorg.c: Moved to... + * reorg.cc: ...here. + * resource.c: Moved to... + * resource.cc: ...here. + * rtl-error.c: Moved to... + * rtl-error.cc: ...here. + * rtl-tests.c: Moved to... + * rtl-tests.cc: ...here. + * rtl.c: Moved to... + * rtl.cc: ...here. + * rtlanal.c: Moved to... + * rtlanal.cc: ...here. + * rtlhash.c: Moved to... + * rtlhash.cc: ...here. + * rtlhooks.c: Moved to... + * rtlhooks.cc: ...here. + * rtx-vector-builder.c: Moved to... + * rtx-vector-builder.cc: ...here. + * run-rtl-passes.c: Moved to... + * run-rtl-passes.cc: ...here. + * sancov.c: Moved to... + * sancov.cc: ...here. + * sanopt.c: Moved to... + * sanopt.cc: ...here. + * sbitmap.c: Moved to... + * sbitmap.cc: ...here. + * sched-deps.c: Moved to... + * sched-deps.cc: ...here. + * sched-ebb.c: Moved to... + * sched-ebb.cc: ...here. + * sched-rgn.c: Moved to... + * sched-rgn.cc: ...here. + * sel-sched-dump.c: Moved to... + * sel-sched-dump.cc: ...here. + * sel-sched-ir.c: Moved to... + * sel-sched-ir.cc: ...here. + * sel-sched.c: Moved to... + * sel-sched.cc: ...here. + * selftest-diagnostic.c: Moved to... + * selftest-diagnostic.cc: ...here. + * selftest-rtl.c: Moved to... + * selftest-rtl.cc: ...here. + * selftest-run-tests.c: Moved to... + * selftest-run-tests.cc: ...here. + * selftest.c: Moved to... + * selftest.cc: ...here. + * sese.c: Moved to... + * sese.cc: ...here. + * shrink-wrap.c: Moved to... + * shrink-wrap.cc: ...here. + * simplify-rtx.c: Moved to... + * simplify-rtx.cc: ...here. + * sparseset.c: Moved to... + * sparseset.cc: ...here. + * spellcheck-tree.c: Moved to... + * spellcheck-tree.cc: ...here. + * spellcheck.c: Moved to... + * spellcheck.cc: ...here. + * sreal.c: Moved to... + * sreal.cc: ...here. + * stack-ptr-mod.c: Moved to... + * stack-ptr-mod.cc: ...here. + * statistics.c: Moved to... + * statistics.cc: ...here. + * stmt.c: Moved to... + * stmt.cc: ...here. + * stor-layout.c: Moved to... + * stor-layout.cc: ...here. + * store-motion.c: Moved to... + * store-motion.cc: ...here. + * streamer-hooks.c: Moved to... + * streamer-hooks.cc: ...here. + * stringpool.c: Moved to... + * stringpool.cc: ...here. + * substring-locations.c: Moved to... + * substring-locations.cc: ...here. + * symtab.c: Moved to... + * symtab.cc: ...here. + * target-globals.c: Moved to... + * target-globals.cc: ...here. + * targhooks.c: Moved to... + * targhooks.cc: ...here. + * timevar.c: Moved to... + * timevar.cc: ...here. + * toplev.c: Moved to... + * toplev.cc: ...here. + * tracer.c: Moved to... + * tracer.cc: ...here. + * trans-mem.c: Moved to... + * trans-mem.cc: ...here. + * tree-affine.c: Moved to... + * tree-affine.cc: ...here. + * tree-call-cdce.c: Moved to... + * tree-call-cdce.cc: ...here. + * tree-cfg.c: Moved to... + * tree-cfg.cc: ...here. + * tree-cfgcleanup.c: Moved to... + * tree-cfgcleanup.cc: ...here. + * tree-chrec.c: Moved to... + * tree-chrec.cc: ...here. + * tree-complex.c: Moved to... + * tree-complex.cc: ...here. + * tree-data-ref.c: Moved to... + * tree-data-ref.cc: ...here. + * tree-dfa.c: Moved to... + * tree-dfa.cc: ...here. + * tree-diagnostic.c: Moved to... + * tree-diagnostic.cc: ...here. + * tree-dump.c: Moved to... + * tree-dump.cc: ...here. + * tree-eh.c: Moved to... + * tree-eh.cc: ...here. + * tree-emutls.c: Moved to... + * tree-emutls.cc: ...here. + * tree-if-conv.c: Moved to... + * tree-if-conv.cc: ...here. + * tree-inline.c: Moved to... + * tree-inline.cc: ...here. + * tree-into-ssa.c: Moved to... + * tree-into-ssa.cc: ...here. + * tree-iterator.c: Moved to... + * tree-iterator.cc: ...here. + * tree-loop-distribution.c: Moved to... + * tree-loop-distribution.cc: ...here. + * tree-nested.c: Moved to... + * tree-nested.cc: ...here. + * tree-nrv.c: Moved to... + * tree-nrv.cc: ...here. + * tree-object-size.c: Moved to... + * tree-object-size.cc: ...here. + * tree-outof-ssa.c: Moved to... + * tree-outof-ssa.cc: ...here. + * tree-parloops.c: Moved to... + * tree-parloops.cc: ...here. + * tree-phinodes.c: Moved to... + * tree-phinodes.cc: ...here. + * tree-predcom.c: Moved to... + * tree-predcom.cc: ...here. + * tree-pretty-print.c: Moved to... + * tree-pretty-print.cc: ...here. + * tree-profile.c: Moved to... + * tree-profile.cc: ...here. + * tree-scalar-evolution.c: Moved to... + * tree-scalar-evolution.cc: ...here. + * tree-sra.c: Moved to... + * tree-sra.cc: ...here. + * tree-ssa-address.c: Moved to... + * tree-ssa-address.cc: ...here. + * tree-ssa-alias.c: Moved to... + * tree-ssa-alias.cc: ...here. + * tree-ssa-ccp.c: Moved to... + * tree-ssa-ccp.cc: ...here. + * tree-ssa-coalesce.c: Moved to... + * tree-ssa-coalesce.cc: ...here. + * tree-ssa-copy.c: Moved to... + * tree-ssa-copy.cc: ...here. + * tree-ssa-dce.c: Moved to... + * tree-ssa-dce.cc: ...here. + * tree-ssa-dom.c: Moved to... + * tree-ssa-dom.cc: ...here. + * tree-ssa-dse.c: Moved to... + * tree-ssa-dse.cc: ...here. + * tree-ssa-forwprop.c: Moved to... + * tree-ssa-forwprop.cc: ...here. + * tree-ssa-ifcombine.c: Moved to... + * tree-ssa-ifcombine.cc: ...here. + * tree-ssa-live.c: Moved to... + * tree-ssa-live.cc: ...here. + * tree-ssa-loop-ch.c: Moved to... + * tree-ssa-loop-ch.cc: ...here. + * tree-ssa-loop-im.c: Moved to... + * tree-ssa-loop-im.cc: ...here. + * tree-ssa-loop-ivcanon.c: Moved to... + * tree-ssa-loop-ivcanon.cc: ...here. + * tree-ssa-loop-ivopts.c: Moved to... + * tree-ssa-loop-ivopts.cc: ...here. + * tree-ssa-loop-manip.c: Moved to... + * tree-ssa-loop-manip.cc: ...here. + * tree-ssa-loop-niter.c: Moved to... + * tree-ssa-loop-niter.cc: ...here. + * tree-ssa-loop-prefetch.c: Moved to... + * tree-ssa-loop-prefetch.cc: ...here. + * tree-ssa-loop-split.c: Moved to... + * tree-ssa-loop-split.cc: ...here. + * tree-ssa-loop-unswitch.c: Moved to... + * tree-ssa-loop-unswitch.cc: ...here. + * tree-ssa-loop.c: Moved to... + * tree-ssa-loop.cc: ...here. + * tree-ssa-math-opts.c: Moved to... + * tree-ssa-math-opts.cc: ...here. + * tree-ssa-operands.c: Moved to... + * tree-ssa-operands.cc: ...here. + * tree-ssa-phiopt.c: Moved to... + * tree-ssa-phiopt.cc: ...here. + * tree-ssa-phiprop.c: Moved to... + * tree-ssa-phiprop.cc: ...here. + * tree-ssa-pre.c: Moved to... + * tree-ssa-pre.cc: ...here. + * tree-ssa-propagate.c: Moved to... + * tree-ssa-propagate.cc: ...here. + * tree-ssa-reassoc.c: Moved to... + * tree-ssa-reassoc.cc: ...here. + * tree-ssa-sccvn.c: Moved to... + * tree-ssa-sccvn.cc: ...here. + * tree-ssa-scopedtables.c: Moved to... + * tree-ssa-scopedtables.cc: ...here. + * tree-ssa-sink.c: Moved to... + * tree-ssa-sink.cc: ...here. + * tree-ssa-strlen.c: Moved to... + * tree-ssa-strlen.cc: ...here. + * tree-ssa-structalias.c: Moved to... + * tree-ssa-structalias.cc: ...here. + * tree-ssa-tail-merge.c: Moved to... + * tree-ssa-tail-merge.cc: ...here. + * tree-ssa-ter.c: Moved to... + * tree-ssa-ter.cc: ...here. + * tree-ssa-threadbackward.c: Moved to... + * tree-ssa-threadbackward.cc: ...here. + * tree-ssa-threadedge.c: Moved to... + * tree-ssa-threadedge.cc: ...here. + * tree-ssa-threadupdate.c: Moved to... + * tree-ssa-threadupdate.cc: ...here. + * tree-ssa-uncprop.c: Moved to... + * tree-ssa-uncprop.cc: ...here. + * tree-ssa-uninit.c: Moved to... + * tree-ssa-uninit.cc: ...here. + * tree-ssa.c: Moved to... + * tree-ssa.cc: ...here. + * tree-ssanames.c: Moved to... + * tree-ssanames.cc: ...here. + * tree-stdarg.c: Moved to... + * tree-stdarg.cc: ...here. + * tree-streamer-in.c: Moved to... + * tree-streamer-in.cc: ...here. + * tree-streamer-out.c: Moved to... + * tree-streamer-out.cc: ...here. + * tree-streamer.c: Moved to... + * tree-streamer.cc: ...here. + * tree-switch-conversion.c: Moved to... + * tree-switch-conversion.cc: ...here. + * tree-tailcall.c: Moved to... + * tree-tailcall.cc: ...here. + * tree-vect-data-refs.c: Moved to... + * tree-vect-data-refs.cc: ...here. + * tree-vect-generic.c: Moved to... + * tree-vect-generic.cc: ...here. + * tree-vect-loop-manip.c: Moved to... + * tree-vect-loop-manip.cc: ...here. + * tree-vect-loop.c: Moved to... + * tree-vect-loop.cc: ...here. + * tree-vect-patterns.c: Moved to... + * tree-vect-patterns.cc: ...here. + * tree-vect-slp-patterns.c: Moved to... + * tree-vect-slp-patterns.cc: ...here. + * tree-vect-slp.c: Moved to... + * tree-vect-slp.cc: ...here. + * tree-vect-stmts.c: Moved to... + * tree-vect-stmts.cc: ...here. + * tree-vector-builder.c: Moved to... + * tree-vector-builder.cc: ...here. + * tree-vectorizer.c: Moved to... + * tree-vectorizer.cc: ...here. + * tree-vrp.c: Moved to... + * tree-vrp.cc: ...here. + * tree.c: Moved to... + * tree.cc: ...here. + * tsan.c: Moved to... + * tsan.cc: ...here. + * typed-splay-tree.c: Moved to... + * typed-splay-tree.cc: ...here. + * ubsan.c: Moved to... + * ubsan.cc: ...here. + * valtrack.c: Moved to... + * valtrack.cc: ...here. + * value-prof.c: Moved to... + * value-prof.cc: ...here. + * var-tracking.c: Moved to... + * var-tracking.cc: ...here. + * varasm.c: Moved to... + * varasm.cc: ...here. + * varpool.c: Moved to... + * varpool.cc: ...here. + * vec-perm-indices.c: Moved to... + * vec-perm-indices.cc: ...here. + * vec.c: Moved to... + * vec.cc: ...here. + * vmsdbgout.c: Moved to... + * vmsdbgout.cc: ...here. + * vr-values.c: Moved to... + * vr-values.cc: ...here. + * vtable-verify.c: Moved to... + * vtable-verify.cc: ...here. + * web.c: Moved to... + * web.cc: ...here. + * xcoffout.c: Moved to... + * xcoffout.cc: ...here. + +2022-01-17 qing zhao <qing.zhao@oracle.com> + + * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle + .DEFERRED_INIT call with an anonymous SSA_NAME specially. + (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME + specially. + (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit. + (warn_uninitialized_vars): Likewise. + (warn_uninitialized_phi): Likewise. + +2022-01-17 Jason Merrill <jason@redhat.com> + + * diagnostic.h (struct diagnostic_context): Add includes_seen. + * diagnostic.c (diagnostic_initialize): Initialize it. + (diagnostic_finish): Clean it up. + (includes_seen): New function. + (diagnostic_report_current_module): Use it. + +2022-01-17 Richard Biener <rguenther@suse.de> + + PR middle-end/101292 + * diagnostic-spec.c (copy_warning): Make sure to not + reference old hashtable content on possible resize. + * warning-control.cc (copy_warning): Likewise. + +2022-01-17 Jakub Jelinek <jakub@redhat.com> + + PR target/103973 + * tree-cfg.h (cond_only_block_p): Declare. + * tree-ssa-phiopt.c (cond_only_block_p): Move function to ... + * tree-cfg.c (cond_only_block_p): ... here. No longer static. + * optabs.def (spaceship_optab): New optab. + * internal-fn.def (SPACESHIP): New internal function. + * internal-fn.h (expand_SPACESHIP): Declare. + * internal-fn.c (expand_PHI): Formatting fix. + (expand_SPACESHIP): New function. + * tree-ssa-math-opts.c (optimize_spaceship): New function. + (math_opts_dom_walker::after_dom_children): Use it. + * config/i386/i386.md (spaceship<mode>3): New define_expand. + * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare. + * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function. + * doc/md.texi (spaceship@var{m}3): Document. + +2022-01-17 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/altivec.md (altivec_vreveti2): Remove. + * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df, + *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use + known constant values to simplify code. + +2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/103124 + * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined. + +2022-01-16 wwwhhhyyy <hongyu.wang@intel.com> + + * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro. + * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>): + Insert zero-idiom in output template when attr enabled, set new attribute to + true for non-mask/maskz insn. + (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>): + Likewise. + (avx512dq_mul<mode>3<mask_name>): Likewise. + (<avx2_avx512>_permvar<mode><mask_name>): Likewise. + (avx2_perm<mode>_1<mask_name>): Likewise. + (avx512f_perm<mode>_1<mask_name>): Likewise. + (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise. + (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>): + Likewise. + (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise. + (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>): + Likewise. + * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New + subst_attr. + (mask4_dest_false_dep_for_glc_cond): Likewise. + (mask6_dest_false_dep_for_glc_cond): Likewise. + (mask10_dest_false_dep_for_glc_cond): Likewise. + (maskc_dest_false_dep_for_glc_cond): Likewise. + (mask_scalar4_dest_false_dep_for_glc_cond): Likewise. + (mask_scalarc_dest_false_dep_for_glc_cond): Likewise. + * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New + DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE + +2022-01-15 Martin Sebor <msebor@redhat.com> + + PR c/63272 + * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle + -Wdangling-pointer. + * doc/invoke.texi (-Wdangling-pointer): Document new option. + * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member. + (pass_waccess::check_pointer_uses): New function. + (pass_waccess::gimple_call_return_arg): New function. + (pass_waccess::gimple_call_return_arg_ref): New function. + (pass_waccess::check_call_dangling): New function. + (pass_waccess::check_dangling_uses): New function overloads. + (pass_waccess::check_dangling_stores): New function. + (pass_waccess::check_dangling_stores): New function. + (pass_waccess::m_clobbers): New data member. + (pass_waccess::m_func): New data member. + (pass_waccess::m_run_number): New data member. + (pass_waccess::m_check_dangling_p): New data member. + (pass_waccess::check_alloca): Check m_early_checks_p. + (pass_waccess::check_alloc_size_call): Same. + (pass_waccess::check_strcat): Same. + (pass_waccess::check_strncat): Same. + (pass_waccess::check_stxcpy): Same. + (pass_waccess::check_stxncpy): Same. + (pass_waccess::check_strncmp): Same. + (pass_waccess::check_memop_access): Same. + (pass_waccess::check_read_access): Same. + (pass_waccess::check_builtin): Call check_pointer_uses. + (pass_waccess::warn_invalid_pointer): Add arguments. + (is_auto_decl): New function. + (pass_waccess::check_stmt): New function. + (pass_waccess::check_block): Call check_stmt. + (pass_waccess::execute): Call check_dangling_uses, + check_dangling_stores. Empty m_clobbers. + * passes.def (pass_warn_access): Invoke pass two more times. + +2022-01-15 Martin Sebor <msebor@redhat.com> + + PR tree-optimization/80532 + * common.opt (-Wuse-after-free): New options. + * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle + OPT_Wreturn_local_addr and OPT_Wuse_after_free_. + * diagnostic-spec.h (NW_DANGLING): New enumerator. + * doc/invoke.texi (-Wuse-after-free): Document new option. + * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename... + (pass_waccess::check_call_access): ...to this. + (pass_waccess::check): Rename... + (pass_waccess::check_block): ...to this. + (pass_waccess::check_pointer_uses): New function. + (pass_waccess::gimple_call_return_arg): New function. + (pass_waccess::warn_invalid_pointer): New function. + (pass_waccess::check_builtin): Handle free and realloc. + (gimple_use_after_inval_p): New function. + (get_realloc_lhs): New function. + (maybe_warn_mismatched_realloc): New function. + (pointers_related_p): New function. + (pass_waccess::check_call): Call check_pointer_uses. + (pass_waccess::execute): Compute and free dominance info. + +2022-01-15 Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use + expand_simple_unop and expand_simple_binop instead of manually + constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand + consistently. Eliminate common subexpressions and simplify code. + * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander. + (<any_logic:code><MODEF:mode>3): Make public. + +2022-01-14 Eric Botcazou <ebotcazou@adacore.com> + + * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump + reverse flag as "reverse" for the sake of consistency. + * ipa-sra.c: Fix copyright year. + (ipa_sra_function_summaries::duplicate): Copy the reverse flag. + (dump_isra_access): Tweak dump line. + (isra_write_node_summary): Write the reverse flag. + (isra_read_node_info): Read it. + (pull_accesses_from_callee): Test its consistency and copy it. + +2022-01-14 Richard Sandiford <richard.sandiford@arm.com> + + PR middle-end/104026 + * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize + partial_load_store_bias. + +2022-01-14 Martin Sebor <msebor@redhat.com> + + PR middle-end/101475 + * pointer-query.cc (handle_component_ref): Use the size of + the enclosing object if it's smaller than the member. + +2022-01-14 Martin Liska <mliska@suse.cz> + + * configure: Regenerate. + +2022-01-14 Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (*add<mode>_1_slp"): + Mark alternative 1 output operand earlyclobbered. + (*sub<mode>_1_slp): Ditto. + (*and<mode>_1_slp): Ditto. + (*<code><mode>_1_slp): Ditto. + (*neg<mode>_1_slp): Ditto. + (*one_cmpl<mode>_1_slp): Ditto. + (*ashl<mode>3_1_slp): Ditto. + (*<insn><mode>3_1_slp): Ditto. + (*<insn><mode>3_1_slp): Ditto. + +2022-01-14 Kewen Lin <linkw@linux.ibm.com> + + PR tree-optimization/104015 + * tree-vect-loop.c (vect_analyze_loop): Check + param_vect_partial_vector_usage for supports_partial_vectors. + +2022-01-14 Jakub Jelinek <jakub@redhat.com> + + PR c++/89074 + * fold-const.c (address_compare): Punt on comparison of address of + one object with address of end of another object if + folding_initializer. + +2022-01-14 Jakub Jelinek <jakub@redhat.com> + + PR target/98737 + * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize + __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y) + and __atomic_op_fetch (p, x, y) iop x into + __atomic_fetch_op (p, x, y). + +2022-01-14 Claudiu Zissulescu <claziss@synopsys.com> + + * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition. + (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro. + (INCOMING_RETURN_ADDR_RTX): Likewise. + (DWARF_ALT_FRAME_RETURN_COLUMN): Define. + +2022-01-14 Claudiu Zissulescu <claziss@synopsys.com> + + * config/arc/arc.c (arc_compute_frame_size): Remove condition when + computin checking accumulator regs. + (arc_expand_prologue): Update comments. + (arc_expand_epilogue): Likewise. + +2022-01-14 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg. + (ix86_expand_ti_to_v1ti): Use force_reg. + (ix86_expand_v1ti_shift): Use force_reg. + (ix86_expand_v1ti_rotate): Use force_reg. + (ix86_expand_v1ti_ashiftrt): Provide new three operation + implementations for shifts by 111..126 bits. Use force_reg. + +2022-01-14 Martin Liska <mliska@suse.cz> + + * common/config/arm/arm-common.c (arm_target_mode): Fix + warning: unterminated quoting directive [-Wformat=]. + +2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR tree-optimization/104009 + * tree-object-size.c (compute_builtin_object_size): Bail out on + negative offset. + (plus_stmt_object_size): Return maximum of wholesize and minimum + of 0 for negative offset. + +2022-01-14 liuhongt <hongtao.liu@intel.com> + + PR target/104001 + PR target/94790 + PR target/104014 + * config/i386/i386.md (*xor2andn): Refine predicate of + operands[0] from nonimmediate_operand to + register_operand, remove TARGET_AVX512BW from condition. + +2022-01-14 David Malcolm <dmalcolm@redhat.com> + + * doc/extend.texi (Function Attributes): Note that "tainted_args" can + be used on field decls. + (Common Function Attributes): Add entry on "tainted_args" attribute. + +2022-01-13 Anthony Sharp <anthonysharp15@gmail.com> + Jason Merrill <jason@redhat.com> + + PR c++/70417 + * doc/invoke.texi: Documentation for Wmissing-template-keyword. + +2022-01-13 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103861 + * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern. + (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto. + * config/i386/mmx.md (<any_shift:insn>v2qi): + New insn_and_split pattern. + +2022-01-13 Robin Dapp <rdapp@linux.ibm.com> + + * internal-fn.c (expand_partial_load_optab_fn): Add bias. + (expand_partial_store_optab_fn): Likewise. + (internal_len_load_store_bias): New function. + * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define. + (internal_len_load_store_bias): New function. + * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias. + (vect_set_loop_condition_partial_vectors): Add header_seq parameter. + * tree-vect-loop.c (vect_verify_loop_lens): Verify bias. + (vect_estimate_min_profitable_iters): Account for bias. + (vect_get_loop_len): Add bias-adjusted length. + * tree-vect-stmts.c (vectorizable_store): Use. + (vectorizable_load): Use. + * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length. + (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro. + * config/rs6000/vsx.md: Use const0 bias predicate. + * doc/md.texi: Document bias value. + +2022-01-13 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/83072 + PR tree-optimization/83073 + PR tree-optimization/97909 + * fold-const.c (expr_not_equal_to): Use a multi-range class. + +2022-01-13 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/96707 + * range-op.cc (operator_rshift::lhs_op1_relation): New. + +2022-01-13 Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit. + Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size. + (negv2qi splitters): Use lowpart_subreg instead of + gen_lowpart to create subreg. + (<plusminus:insn>v2qi3): Disparage GPR alternative a bit. + Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size. + (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of + gen_lowpart to create subreg. + * config/i386/i386.md (*subqi_ext<mode>_2): Move. + +2022-01-13 Uroš Bizjak <ubizjak@gmail.com> + + PR target/104003 + * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator. + +2022-01-13 Martin Liska <mliska@suse.cz> + + * common/config/arm/arm-common.c (arm_target_mode): Wrap + keywords with %<, %> and remove trailing punctuation char. + (arm_canon_arch_option_1): Likewise. + (arm_asm_auto_mfpu): Likewise. + * config/arm/arm-builtins.c (arm_expand_builtin): Likewise. + * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise. + (use_vfp_abi): Likewise. + (aapcs_vfp_is_call_or_return_candidate): Likewise. + (arm_handle_cmse_nonsecure_entry): Likewise. + (arm_handle_cmse_nonsecure_call): Likewise. + (thumb1_md_asm_adjust): Likewise. + +2022-01-13 Paul A. Clarke <pc@us.ibm.com> + + * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps, + _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT, + _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF, + _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC, + _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC, + _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New. + (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd, + _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to + macro. + +2022-01-13 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/103989 + * tree-inline.c (setup_one_parameter): Don't copy parms with + empty type. + +2022-01-13 Thomas Schwinge <thomas@codesourcery.com> + + * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack + 'TYPE_ADDR_SPACE' for offloading. + * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack + 'TYPE_ADDR_SPACE' for offloading. + +2022-01-13 Julian Brown <julian@codesourcery.com> + Thomas Schwinge <thomas@codesourcery.com> + + * omp-oacc-kernels-decompose.cc (add_wait): New function, split out + of... + (add_async_clauses_and_wait): ...here. Call new outlined function. + (decompose_kernels_region_body): Add wait at the end of + explicitly-asynchronous kernels regions. + +2022-01-13 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100280 + * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region): + Mark variables used in synthesized data clauses as addressable. + +2022-01-13 Martin Liska <mliska@suse.cz> + + * config/epiphany/epiphany.c (epiphany_mode_priority): + Use gcc_unreachable for not handled cases. + +2022-01-13 Martin Liska <mliska@suse.cz> + + * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute): + Use %qs format specifier. + (epiphany_override_options): Wrap keyword in %<, %>. + +2022-01-13 Haochen Jiang <haochen.jiang@intel.com> + + PR target/94790 + * config/i386/i386.md (*xor2andn): New define_insn_and_split. + +2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com> + + * config/rs6000/altivec.md (sldoi_to_mov<mode>): New. + +2022-01-12 Uroš Bizjak <ubizjak@gmail.com> + + PR target/100637 + PR target/103861 + * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function. + (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X + when constructing vector logic RTXes. + (expand_vec_perm_pshufb2): Ditto. + * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit. + (<plusminus:insn>v2qi3): Ditto. + (vcond<mode><mode>): Re-enable for TARGET_SSE2. + (vcondu<mode><mode>): Ditto. + (vcond_mask_<mode><mode>): Ditto. + (one_cmpl<VI_32:mode>2): Remove expander. + (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi. + Use VI_16_32 mode iterator. + (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator. + Use lowpart_subreg instead of gen_lowpart to create subreg. + (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and + "*andnotv2qi3" insn patterns using VI_16_32 mode iterator. + Disparage GPR alternative a bit. Add CC clobber. + (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator. + Use lowpart_subreg instead of gen_lowpart to create subreg. + (*<any_logic:code><VI_16_32:mode>3): Merge from + "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns + using VI_16_32 mode iterator. Disparage GPR alternative a bit. + Add CC clobber. + (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode + iterator. Use lowpart_subreg instead of gen_lowpart to create subreg. + +2022-01-12 Clément Chigot <clement.chigot@atos.net> + + * configure.ac: Check sizeof ino_t and dev_t. + (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat + syscall being able to handle 64bit inodes. + * config.in: Regenerate. + * configure: Regenerate. + * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define. + (remove_duplicates): Use it. + +2022-01-12 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/103551 + * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE. + +2022-01-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103990 + * tree-pass.h (tail_merge_optimize): Drop unused argument. + * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise. + * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg + and adjust call to tail_merge_optimize. + +2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target + does not add autovectorize_vector_modes. + +2022-01-12 Martin Liska <mliska@suse.cz> + + * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use + %qs where possible. + (aarch64_parse_sve_width_string): Likewise. + (aarch64_override_options_internal): Likewise. + (aarch64_print_hint_for_extensions): Likewise. + (aarch64_validate_sls_mitigation): Likewise. + (aarch64_handle_attr_arch): Likewise. + (aarch64_handle_attr_cpu): Likewise. + (aarch64_handle_attr_tune): Likewise. + (aarch64_handle_attr_isa_flags): Likewise. + +2022-01-12 Martin Liska <mliska@suse.cz> + + * config.gcc: Include elfos.h before ${tm_file}. + +2022-01-12 Hans-Peter Nilsson <hp@axis.com> + + * config/cris/cris.c: Quote identifiers in parameters to error + and internal_error, and remove extraneous spaces with punctuation. + * config/cris/cris.h (CRIS_ASSERT): When passing on stringified + expression to internal_error, pass it as a parameter instead of + appending it to the format part. + +2022-01-12 Hans-Peter Nilsson <hp@axis.com> + + * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize + parameter to as_a. + +2022-01-11 qing zhao <qing.zhao@oracle.com> + + * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument. + Change the 3rd argument of function .DEFERRED_INIT to the name of the + decl. + (gimplify_decl_expr): Delete the 3rd argument when call + gimple_add_init_for_auto_var. + * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect + the 3rd argument change of function .DEFERRED_INIT. + * tree-cfg.c (verify_gimple_call): Update comments and verification + to reflect the 3rd argument change of function .DEFERRED_INIT. + * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument. + (sra_modify_deferred_init): Change the 3rd argument of function + .DEFERRED_INIT to the name of the decl. + +2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> + + * flag-types.h (enum gfc_convert): Add flags for + conversion. + +2022-01-11 Michael Meissner <meissner@the-meissners.org> + + * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove + checks for only C/C++ front ends before allowing the long double + format to change without a warning. + +2022-01-11 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/103974 + * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an + extra argument, default true, that says whether old-reload + targets should be excluded. + * ira-color.c (color_pass): Pass false. + +2022-01-11 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103861 + * config/i386/mmx.md (vcond<mode><mode>): + Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1. + (vcondu<mode><mode>): Ditto. + (vcond_mask_<mode><mode>): Ditto. + (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64. + (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32. + Use VI_16_32 mode iterator. + * config/i386/i386-expand.c (ix86_expand_sse_movcc): + Update for rename. Handle V2QImode. + (expand_vec_perm_blend): Update for rename. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + PR c++/101597 + * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN. + +2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR middle-end/70090 + * tree-object-size.c (size_valid_p): New function. + (size_for_offset): Remove OFFSET constness assertion. + (addr_object_size): Build dynamic expressions for object + sizes and use size_valid_p to decide if it is valid for the + given OBJECT_SIZE_TYPE. + (compute_builtin_object_size): Allow dynamic offsets when + computing size at O0. + (call_object_size): Call size_valid_p. + (plus_stmt_object_size): Allow non-constant offset and use + size_valid_p to decide if it is valid for the given + OBJECT_SIZE_TYPE. + +2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR middle-end/70090 + * tree-object-size.c (alloc_object_size): Make and return + non-constant size expression. + (call_object_size): Return expression or unknown based on + whether dynamic object size is requested. + +2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR middle-end/70090 + * tree-object-size.c: Include tree-dfa.h. + (parm_object_size): New function. + (collect_object_sizes_for): Call it. + +2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR middle-end/70090 + * builtins.c (fold_builtin_object_size): Adjust for dynamic size + expressions. + * tree-object-size.c: Include gimplify-me.h. + (struct object_size_info): New member UNKNOWNS. + (size_initval_p, size_usable_p, object_sizes_get_raw): New + functions. + (object_sizes_get): Return suitable gimple variable for + object size. + (bundle_sizes): New function. + (object_sizes_set): Use it and handle dynamic object size + expressions. + (object_sizes_set_temp): New function. + (size_for_offset): Adjust for dynamic size expressions. + (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions): + New functions. + (compute_builtin_object_size): Call gimplify_size_expressions + for OST_DYNAMIC. + (dynamic_object_size): New function. + (cond_expr_object_size): Use it. + (phi_dynamic_object_size): New function. + (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to + accommodate dynamic object sizes. + +2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> + Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/103961 + * tree-object-size.c (plus_stmt_object_size): Always avoid + computing offset for -1 size. + +2022-01-11 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/103821 + * range-op.cc (range_operator::fold_range): Only do precise ranges + when there are not too many subranges. + +2022-01-11 Richard Sandiford <richard.sandiford@arm.com> + + * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass + definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code. + +2022-01-11 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + * tree-ssa-math-opts.c (struct widen_mul_stats): Add a + highpart_mults_inserted field. + (convert_mult_to_highpart): New function to convert right shift + of a widening multiply into a MULT_HIGHPART_EXPR. + (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]: + Call new convert_mult_to_highpart function. + (pass_optimize_widening_mul::execute): Add a statistics counter + for tracking "highpart multiplications inserted" events. + +2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com> + + PR target/102239 + * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New + declare. + * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New + function. + * config/rs6000/rs6000.md (*branch_anddi3_dot): New. + +2022-01-11 Olivier Hainque <hainque@adacore.com> + + * gcc.c (driver_handle_option): State --sysroot as + validated. + +2022-01-11 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove + useless related to option -mno-power10. + +2022-01-11 Haochen Jiang <haochen.jiang@intel.com> + + PR target/53652 + * config/i386/sse.md (*andnot<mode>3): Extend predicate of + operands[1] from register_operand to vector_operand. + +2022-01-10 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103861 + * config/i386/i386-expand.c (ix86_expand_int_sse_cmp): + Handle V2QImode. + * config/i386/mmx.md (<sat_plusminus:insn><mode>3): + Use VI1_16_32 mode iterator. + (*eq<mode>3): Ditto. + (*gt<mode>3): Ditto. + (*xop_maskcmp<mode>3): Ditto. + (*xop_maskcmp_uns<mode>3): Ditto. + (vec_cmp<mode><mode>): Ditto. + (vec_cmpu<mode><mode>): Ditto. + +2022-01-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103948 + * tree-vect-generic.c (expand_vector_condition): Return true if + all ones vector is returned for true, all zeros vector for false + and the target defines corresponding vec_cmp{,u}MN named RTX pattern. + +2022-01-10 Paul A. Clarke <pc@us.ibm.com> + + * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv + when _ARCH_PWR10. Use signed types. + (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10. + (_mm_blendv_pd): Likewise. + +2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for + epilogue costing. + * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for + epilogues, unless we are guaranteed that we can't have partial vectors. + * genopinit.c: (partial_vectors_supported): Generate new function. + +2022-01-10 Jakub Jelinek <jakub@redhat.com> + + PR target/102024 + * config/i386/i386.c (classify_argument): Add zero_width_bitfields + argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields, + always ignore them, when seeing other zero sized bitfields, either + set zero_width_bitfields to 1 and ignore it or if equal to 2 process + it. Pass it to recursive calls. Add wrapper + with old arguments and diagnose ABI differences for C structures + with zero width bitfields. Formatting fixes. + +2022-01-10 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/98782 + * ira-int.h (ira_soft_conflict): Declare. + * ira-color.c (max_soft_conflict_loop_depth): New constant. + (ira_soft_conflict): New function. + (spill_soft_conflicts): Likewise. + (assign_hard_reg): Use them to handle the case described by + the comment above ira_soft_conflict. + (improve_allocation): Likewise. + * ira.c (check_allocation): Allow allocnos with "soft" conflicts + to share the same register. + +2022-01-10 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/98782 + * ira-int.h (ira_caller_save_cost): New function. + (ira_caller_save_loop_spill_p): Likewise. + * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is + cheaper to spill a call-clobbered register throughout a loop rather + than spill it around each individual call. If so, treat all + call-clobbered registers as conflicts and... + (propagate_allocno_info): ...do not propagate call information + from the child to the parent. + * ira-color.c (move_spill_restore): Update accordingly. + * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost. + +2022-01-10 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/98782 + * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field. + (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro. + (ira_single_region_allocno_p): New function. + (ira_total_conflict_hard_regs): Likewise. + * ira-build.c (ira_create_allocno): Initialize + ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P. + (ira_propagate_hard_reg_costs): New function. + (propagate_allocno_info): Use it. Try to avoid propagating + hard register conflicts to parent allocnos if we can handle + the conflicts by spilling instead. Limit the propagated + register costs to the cost of spilling throughout the child loop. + * ira-color.c (color_pass): Use ira_single_region_allocno_p to + test whether a child and parent allocno can share the same + register. + (move_spill_restore): Adjust for the new behavior of + propagate_allocno_info. + +2022-01-10 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/98782 + * ira-int.h (ira_subloop_allocnos_can_differ_p): New function, + extracted from... + * ira-color.c (color_pass): ...here. + +2022-01-10 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/98782 + * ira-color.c (color_pass): Add comments to describe the spill costs. + (move_spill_restore): Likewise. Fix reversed calculation. + +2022-01-10 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/98782 + * ira-int.h (ira_loop_border_costs): New class. + * ira-color.c (ira_loop_border_costs::ira_loop_border_costs): + New constructor. + (calculate_allocno_spill_cost): Use ira_loop_border_costs. + (color_pass): Likewise. + (move_spill_restore): Likewise. + +2022-01-10 Eric Botcazou <ebotcazou@adacore.com> + + PR target/103465 + * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET. + +2022-01-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/100359 + * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): + Allow non-growing peeling with !allow_peel and UL_ALL. + +2022-01-08 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-expand.c (ix86_expand_vector_move): Add + special case for TImode to V1TImode moves, going via V2DImode. + +2022-01-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/89074 + * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC + simplification. + +2022-01-08 David Malcolm <dmalcolm@redhat.com> + + * doc/analyzer.texi + (Special Functions for Debugging the Analyzer): Document + __analyzer_dump_escaped. + +2022-01-08 David Malcolm <dmalcolm@redhat.com> + + * doc/analyzer.texi (Other Debugging Techniques): Document + region::is_named_decl_p. + +2022-01-07 Andrew Pinski <apinski@marvell.com> + + PR target/102941 + * config/arm/aarch-common.c (arm_md_asm_adjust): + Use a temp if !REG_P. + +2022-01-07 Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute. + (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5. + +2022-01-07 liuhongt <hongtao.liu@intel.com> + + PR rtl-optimization/103750 + * fwprop.c (forward_propagate_into): Allow propagations from + inner loop to outer loop. + +2022-01-07 Roger Sayle <roger@nextmovesoftware.com> + + * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn. + +2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org> + + * config/rs6000/rs6000.md (rs6000_mffscrni): Define. + (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI. + Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand. + +2022-01-07 liuhongt <hongtao.liu@intel.com> + + * config/i386/sse.md + (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to + UNSPEC_PCMP_UNSIGNED. + +2022-01-07 liuhongt <hongtao.liu@intel.com> + + PR target/103753 + * config/i386/i386-expand.c (ix86_expand_vector_set): Not use + gen_avx2_pblendph_1 when elt == 0. + * config/i386/sse.md (avx2_pblendph): Rename to .. + (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI. + (*avx2_pblendw): Rename to .. + (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF. + (avx2_pblendw): Rename to .. + (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF. + (blendsuf): Removed. + (sse4_1_pblend<blendsuf>): Renamed to .. + (sse4_1_pblend<ssemodesuffix>): .. this. + +2022-01-06 H.J. Lu <hjl.tools@gmail.com> + + PR target/103925 + * config/i386/i386.c (ix86_output_indirect_function_return): + Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp. + +2022-01-06 H.J. Lu <hjl.tools@gmail.com> + + PR target/102952 + * config/i386/i386-opts.h (harden_sls): Replace + harden_sls_indirect_branch with harden_sls_indirect_jmp. + * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): + Likewise. + (ix86_output_indirect_jmp): Likewise. + (ix86_output_call_insn): Likewise. + * config/i386/i386.opt: Replace indirect-branch with + indirect-jmp. Replace harden_sls_indirect_branch with + harden_sls_indirect_jmp. + * doc/invoke.texi (-harden-sls=): Replace indirect-branch with + indirect-jmp. + +2022-01-06 Uroš Bizjak <ubizjak@gmail.com> + + * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>: + Add %q modifier for operands in general registers. + <MODE_SI>: Add %q modifier for operands in general registers. + * config/i386/i386.md (*movhi_internal): Change type attribute of + xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute + to SImode for non-avx512fp16 targets. + (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8. + * config/i386/mmx.md (*movv2qi_internal): + Ditto for xmm-gpr interunit alternatives 8,9. + +2022-01-06 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.c (riscv_implied_info): Add + vector extensions. + (riscv_ext_version_table): Add version info for vector extensions. + (riscv_ext_flag_table): Add option mask for vector extensions. + * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New. + (MASK_VECTOR_EEW_64): New. + (MASK_VECTOR_EEW_FP_32): New. + (MASK_VECTOR_EEW_FP_64): New. + (MASK_ZVL32B): New. + (MASK_ZVL64B): New. + (MASK_ZVL128B): New. + (MASK_ZVL256B): New. + (MASK_ZVL512B): New. + (MASK_ZVL1024B): New. + (MASK_ZVL2048B): New. + (MASK_ZVL4096B): New. + (MASK_ZVL8192B): New. + (MASK_ZVL16384B): New. + (MASK_ZVL32768B): New. + (MASK_ZVL65536B): New. + (TARGET_ZVL32B): New. + (TARGET_ZVL64B): New. + (TARGET_ZVL128B): New. + (TARGET_ZVL256B): New. + (TARGET_ZVL512B): New. + (TARGET_ZVL1024B): New. + (TARGET_ZVL2048B): New. + (TARGET_ZVL4096B): New. + (TARGET_ZVL8192B): New. + (TARGET_ZVL16384B): New. + (TARGET_ZVL32768B): New. + (TARGET_ZVL65536B): New. + * config/riscv/riscv.opt (Mask(VECTOR)): New. + (riscv_vector_eew_flags): New. + (riscv_zvl_flags): New. + +2022-01-06 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.c + (riscv_subset_list::parse_multiletter_ext): Allow ext. name has + digit. + +2022-01-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/103899 + * expr.c (expand_expr_real_1): Add a workaround for bogus uninit + warning by moving context variable to the only spot where it is used + and moving gcc_assert into if body. + +2022-01-06 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/103908 + * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with + asm goto. + +2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com> + + PR target/103622 + * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): + Skip over instances with undefined function types. + +2022-01-05 Andrew Pinski <apinski@marvell.com> + + PR target/103910 + * config/i386/i386.h (x86_mfence): Mark with GTY. + +2022-01-05 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103861 + * config/i386/mmx.md (VI_16_32): New mode iterator. + (VI1_16_32): Ditto. + (mmxvecsize): Handle V2QI mode. + (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3. + Use VI1_16_32 mode iterator. + (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3. + Use VI1_16_32 mode iterator. + (abs<mode>2): Use VI_16_32 mode iterator. + (uavgv2qi3_ceil): New insn pattern. + +2022-01-05 Martin Sebor <msebor@redhat.com> + + * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use + %qs to avoid -Wformat-diag. + +2022-01-05 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103915 + * config/i386/mmx.md (one_cmplv2qi2): Change + alternatives 1,2 type from sselog to sselog1. + +2022-01-05 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103905 + * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of + narrow mode remapped elements for !one_operand_p case. + +2022-01-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103816 + * tree-vect-data-refs.c (vect_analyze_group_access_1): Also + check DR_GROUP_GAP compute for overflow and representability. + +2022-01-05 Jakub Jelinek <jakub@redhat.com> + + PR fortran/103691 + * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference + for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value, + it can do unwanted rhs folding like &a[0] into &2.0 etc. + +2022-01-05 Kewen Lin <linkw@linux.ibm.com> + + PR ipa/102059 + * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro. + (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise. + (rs6000_need_ipa_fn_target_info): New function. + (rs6000_update_ipa_fn_target_info): Likewise. + (rs6000_can_inline_p): Adjust for ipa function summary target info. + * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro. + * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function + summary target info. + (analyze_function_body): Adjust for ipa function summary target info + and call hook rs6000_need_ipa_fn_target_info and + rs6000_update_ipa_fn_target_info. + (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary + target info. + (inline_read_section): Likewise. + (ipa_fn_summary_write): Likewise. + * ipa-fnsummary.h (ipa_fn_summary::target_info): New member. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook. + (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise. + * target.def (update_ipa_fn_target_info): New hook. + (need_ipa_fn_target_info): Likewise. + * targhooks.c (default_need_ipa_fn_target_info): New function. + (default_update_ipa_fn_target_info): Likewise. + * targhooks.h (default_update_ipa_fn_target_info): New declare. + (default_need_ipa_fn_target_info): Likewise. + +2022-01-04 Martin Sebor <msebor@redhat.com> + + PR middle-end/99612 + * builtins.c (get_memmodel): Move warning code to + gimple-ssa-warn-access.cc. + (expand_builtin_atomic_compare_exchange): Same. + (expand_ifn_atomic_compare_exchange): Same. + (expand_builtin_atomic_load): Same. + (expand_builtin_atomic_store): Same. + (expand_builtin_atomic_clear): Same. + * doc/extend.texi (__atomic_exchange_n): Update valid memory + models. + * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function. + (struct memmodel_pair): New struct. + (memmodel_name): New function. + (pass_waccess::maybe_warn_memmodel): New function. + (pass_waccess::check_atomic_memmodel): New function. + (pass_waccess::check_atomic_builtin): Handle memory model. + * input.c (expansion_point_location_if_in_system_header): Return + original location if expansion location is in a system header. + +2022-01-04 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103861 + * config/i386/mmx.md (one_cmplv2qi3): New insn pattern. + (one_cmplv2qi3 splitters): New post-reload splitters. + (*andnotv2qi3): New insn pattern. + (andnotv2qi3 splitters): New post-reload splitters. + (<any_logic:code>v2qi3): New insn pattern. + (<any_logic:insn>v2qi3 splitters): New post-reload splitters. + +2022-01-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103800 + * tree-vect-loop.c (vectorizable_phi): Remove assert and + expand comment. + +2022-01-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103690 + * tree-pass.h (tail_merge_optimize): Adjust. + * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether + to re-split critical edges, move CFG cleanup ... + * tree-ssa-pre.c (pass_pre::execute): ... here, before + simple_dce_from_worklist and delay freeing inserted_exprs from + ... + (fini_pre): .. here. + +2022-01-04 Roger Sayle <roger@nextmovesoftware.com> + + * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1. + * config/nvptx/nvptx.md (movbi): Use P1 constraint for true. + (setcc_from_bi): Remove SImode specific pattern. + (setcc<mode>_from_bi): Provide more general HSDIM pattern. + (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions + for sign- and zero-extending BImode predicates to integers. + (setcc_int<mode>): Remove previous (-1-based) instructions. + (cstorebi4): Remove BImode to SImode specific expander. + (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi. + (cstore<mode>4): For both integer and floating point modes. + +2022-01-04 Olivier Hainque <hainque@adacore.com> + + * gcc.c (driver_handle_option): do_save --sysroot. + +2022-01-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103864 + PR tree-optimization/103544 + * tree-vect-slp.c (vect_analyze_slp_instance): Exclude + reductions wrapped in conversions from SLP handling. + (vect_analyze_slp): Revert PR103544 change. + +2022-01-04 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/103860 + * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue + uselessly for blocks for which it has been called already. + +2022-01-04 Cui,Lili <lili.cui@intel.com> + + * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values + to Alderlake and Rocketlake. + +2022-01-04 Chung-Lin Tang <cltang@codesourcery.com> + + PR middle-end/103643 + * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire + OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue' + +2022-01-04 liuhongt <hongtao.liu@intel.com> + + PR target/103895 + * config/i386/sse.md (*bit_and_float_vector_all_ones): + Force_reg operand 1 to avoid ICE. + +2022-01-04 Jason Merrill <jason@redhat.com> + + * tree-pretty-print.c (do_niy): Add spc parameter. + (NIY): Pass it. + (print_call_name): Add spc local variable. + +2022-01-03 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103894 + * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint. + (mov<V_32:mode>_internal): Ditto. + (*push<V_32:mode>_rex64): Ditto. + (movmisalign<V_32:mode>): Ditto. + (*push<V_32:mode>_rex64 splitter): Enable for + TARGET_64BIT && TARGET_SSE. + (*push<V_32:mode>2): Remove insn pattern. + +2022-01-03 Andrew Pinski <apinski@marvell.com> + + PR c/33193 + * doc/extend.texi: Extend the documentation about Complex + types for casting and also rewrite the __real__/__imag__ + expression portion to use tables. + Move __builtin_complex to the Complex type section. + +2022-01-03 Jakub Jelinek <jakub@redhat.com> + + PR target/98737 + * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0, + ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0): + New internal fns. + * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE, + ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE, + ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators. + * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0, + expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0, + expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New + functions. + * optabs.def (atomic_add_fetch_cmp_0_optab, + atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab, + atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New + direct optabs. + * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare. + * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function. + * tree-ssa-ccp.c: Include internal-fn.h. + (optimize_atomic_bit_test_and): Add . before internal fn call + in function comment. Change return type from void to bool and + return true only if successfully replaced. + (optimize_atomic_op_fetch_cmp_0): New function. + (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0 + for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and + BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16}, + for *XOR* ones only if optimize_atomic_bit_test_and failed. + * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>, + atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns. + (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1, + atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns. + * doc/md.texi (atomic_add_fetch_cmp_0<mode>, + atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>, + atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document + new named patterns. + +2022-01-03 Richard Biener <rguenther@suse.de> + + PR middle-end/103851 + * tree-cfg.c (move_sese_region_to_fn): Always release SSA names. + +2022-01-03 Jakub Jelinek <jakub@redhat.com> + + PR c++/94716 + * symtab.c: Include fold-const.h. + (symtab_node::equal_address_to): If folding_initializer is true, + handle it like memory_accessed. Simplify. + +2022-01-03 Martin Liska <mliska@suse.cz> + + * doc/extend.texi: Use ; for function declarations. + +2022-01-03 Jakub Jelinek <jakub@redhat.com> + + PR c++/103600 + * symtab.c (symtab_node::equal_address_to): Return 0 if one of + VAR_DECLs has "non overlapping" attribute and rs1 != rs2. + +2022-01-03 Jakub Jelinek <jakub@redhat.com> + + * 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. + +2022-01-02 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103861 + * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode. + (VALID_INT_MODE_P): Ditto. + * config/i386/i386.c (ix86_secondary_reload): Handle + V2QImode reloads from SSE register to memory. + (vector_mode_supported_p): Always return true for V2QImode. + * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern. + (*negqi_ext<mode>_2): Ditto. + * config/i386/mmx.md (movv2qi): New expander. + (movmisalignv2qi): Ditto. + (*movv2qi_internal): New insn pattern. + (*pushv2qi2): Ditto. + (negv2qi2 and splitters): Ditto. + (<plusminus:insn>v2qi3 and splitters): Ditto. + +2022-01-02 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access + sync_lock_test_and_set libfunc. Call convert_memory_address to + convert memory address to Pmode. + (atomic_storehi, atomic_storesi, atomic_storedi): Likewise. + + +Copyright (C) 2022 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 19c0a4d5d4245818e4273d18064f06bf51f432ab..97887c90552b40c034f463eff250248365499ae2 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,11067 +1,5 @@ -2022-12-29 Alexandre Oliva <oliva@adacore.com> - - * gcc-interface/trans.cc (Sloc_to_locus): Don't map NULL decl. - -2022-12-06 Yannick Moy <moy@adacore.com> - - * contracts.adb (Add_Contract_Item): Allow No_Caching on types. - (Check_Type_Or_Object_External_Properties): Check No_Caching. - Check that non-effectively volatile types does not contain an - effectively volatile component (instead of just a volatile - component). - (Analyze_Object_Contract): Remove shared checking of No_Caching. - * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Adapt checking - of No_Caching for types. - (Analyze_Pragma): Allow No_Caching on types. - * sem_util.adb (Has_Effectively_Volatile_Component): New query function. - (Is_Effectively_Volatile): Type with Volatile and No_Caching is not - effectively volatile. - (No_Caching_Enabled): Remove assertion to apply to all entities. - * sem_util.ads: Same. - -2022-12-06 Javier Miranda <miranda@adacore.com> - - * exp_ch6.adb - (Build_Static_Check_Helper_Call): Perform implicit type conversion - to ensure matching types and avoid reporting spurious errors. - -2022-12-06 Eric Botcazou <ebotcazou@adacore.com> - - * sem_warn.adb (Warn_On_Constant_Valid_Condition): Bail out for a - membership test with a mark for a subtype that is predicated. - -2022-12-06 Eric Botcazou <ebotcazou@adacore.com> - - * sem_elab.adb (Processing_In_State): Add Within_Freezing_Actions - component. - (Process_Conditional_ABE_Call): Compute its value. - (Process_Conditional_ABE_Call_SPARK): For a call and a target in - the main unit, do not emit any ABE diagnostics if the call occurs - in a freezing actions context. - -2022-12-06 Eric Botcazou <ebotcazou@adacore.com> - - * einfo.ads (Actual_Subtype): Document additional usage. - * exp_aggr.adb (Expand_Array_Aggregate): Replace test on - Is_Build_In_Place_Return_Object with Is_Special_Return_Object. - * exp_ch3.adb (Expand_N_Object_Declaration): Factor out parts of the - processing done for build-in-place return objects and reuse them to - implement a similar processing for specific return objects. - * exp_ch4.adb (Expand_Allocator_Expression): Do not generate a tag - assignment or an adjustment if the allocator was made for a special - return object. - (Expand_Concatenate): If the result is allocated on the secondary - stack, use an unconstrained allocation. - * exp_ch6.ads (Apply_CW_Accessibility_Check): New declaration. - (Is_By_Reference_Return_Object): Likewise. - (Is_Secondary_Stack_Return_Object): Likewise. - (Is_Special_Return_Object): Likewise. - * exp_ch6.adb (Expand_Ctrl_Function_Call): Do not bail out for the - expression in the declaration of a special return object. - (Expand_N_Extended_Return_Statement): Add missing guard and move - the class-wide accessibility check to Expand_N_Object_Declaration. - (Expand_Simple_Function_Return): Delete obsolete commentary. - Skip the special processing for types that require finalization or - are returned on the secondary stack if the return originally comes - from an extended return statement. Add missing Constant_Present. - (Is_By_Reference_Return_Object): New predicate. - (Is_Secondary_Stack_Return_Object): Likewise. - (Is_Special_Return_Object): Likewise. - * exp_util.adb (Is_Related_To_Func_Return): Also return true if the - parent of the expression is the renaming declaration generated for - the expansion of a return object. - * gen_il-fields.ads (Opt_Field_Enum): Replace Alloc_For_BIP_Return - with For_Special_Return_Object. - * gen_il-gen-gen_nodes.adb (N_Allocator): Likewise. - * gen_il-internals.adb (Image): Remove Alloc_For_BIP_Return. - * sem_ch3.adb (Check_Return_Subtype_Indication): New procedure - moved from sem_ch6.adb. - (Analyze_Object_Declaration): Call it on a return object. - * sem_ch4.adb: Add with and use clauses for Rtsfind. - (Analyze_Allocator): Test For_Special_Return_Object to skip checks - for allocators made for special return objects. - Do not report restriction violations for the return stack pool. - * sem_ch5.adb (Analyze_Assignment.Set_Assignment_Type): Return the - Actual_Subtype for return objects that live on the secondary stack. - * sem_ch6.adb (Check_Return_Subtype_Indication): Move procedure to - sem_ch3.adb. - (Analyze_Function_Return): Do not call above procedure. - * sem_res.adb (Resolve_Allocator): Replace Alloc_For_BIP_Return - with For_Special_Return_Object. - * sinfo.ads: Likewise. - * treepr.adb (Image): Remove Alloc_For_BIP_Return. - * gcc-interface/trans.cc (gnat_to_gnu): Do not convert to the result - type in the unconstrained array type case if the parent is a simple - return statement. - -2022-12-06 Eric Botcazou <ebotcazou@adacore.com> - - * sem_res.adb (Resolve_Membership_Op): Adjust latest change. - -2022-12-06 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch4.adb (Expand_N_In) <Substitute_Valid_Check>: Rename to... - <Substitute_Valid_Test>: ...this. - Use Is_Entity_Name to test for the presence of entity references. - Do not warn or substitute a valid test for a test with a mark for - a subtype that is predicated. - Apply the same transformation for a test with a mark for a subtype - that is predicated as for a subtype that is not. - Remove useless return statement. - * sem_res.adb (Resolve_Membership_Op): Perform a special resolution - if the left operand is of a universal numeric type. - -2022-12-06 Justin Squirek <squirek@adacore.com> - - * accessibility.adb, accessibility.ads - (Accessibility_Message): Moved from sem_attr. - (Apply_Accessibility_Check): Moved from checks. - (Apply_Accessibility_Check_For_Allocator): Moved from exp_ch4 and - renamed - (Check_Return_Construct_Accessibility): Moved from sem_ch6. - (Innermost_Master_Scope_Depth): Moved from sem_util. Add condition - to detect expanded iterators. - (Prefix_With_Safe_Accessibility_Level): Moved from sem_attr. - (Static_Accessibility_Level): Moved from sem_util. - (Has_Unconstrained_Access_Discriminants): Likewise. - (Has_Anonymous_Access_Discriminant): Likewise. - (Is_Anonymous_Access_Actual): Likewise. - (Is_Special_Aliased_Formal_Access): Likewise. - (Needs_Result_Accessibility_Level): Likewise. - (Subprogram_Access_Level): Likewise. - (Type_Access_Level): Likewise. - (Deepest_Type_Access_Level): Likewise. - (Effective_Extra_Accessibility): Likewise. - (Get_Dynamic_Accessibility): Likewise. - (Has_Access_Values): Likewise. - (Accessibility_Level): Likewise. - * exp_attr.adb (Access_Cases): Obtain the proper enclosing object - which applies to a given 'Access by looking through type - conversions. - * exp_ch4.adb (Apply_Accessibility_Check): Moved to accessibility. - * exp_ch5.adb: Likewise. - * exp_ch6.adb: Likewise. - * exp_ch9.adb: Likewise. - * exp_disp.adb: Likewise. - * gen_il-fields.ads: Add new flag Comes_From_Iterator. - * gen_il-gen-gen_nodes.adb: Add new flag Comes_From_Iterator for - N_Object_Renaming_Declaration. - * sem_ch5.adb (Analyze_Iterator_Specification): Mark object - renamings resulting from iterator expansion with the new flag - Comes_From_Iterator. - * sem_aggr.adb (Resolve_Container_Aggregate): Refine test. - * sem_ch13.adb: Add dependence on the accessibility package. - * sem_ch3.adb: Likewise. - * sem_ch4.adb: Likewise. - * sem_ch9.adb: Likewise. - * sem_res.adb: Likewise. - * sem_warn.adb: Likewise. - * exp_ch3.adb: Likewise. - * sem_attr.adb (Accessibility_Message): Moved to accessibility. - (Prefix_With_Safe_Accessibility_Level): Likewise. - * checks.adb, checks.ads (Apply_Accessibility_Check): Likewise. - * sem_ch6.adb (Check_Return_Construct_Accessibility): Likewise. - * sem_util.adb, sem_util.ads - (Accessibility_Level): Likewise. - (Deepest_Type_Access_Level): Likewise. - (Effective_Extra_Accessibility): Likewise. - (Get_Dynamic_Accessibility): Likewise. - (Has_Access_Values): Likewise. - (Has_Anonymous_Access_Discriminant): Likewise. - (Static_Accessibility_Level): Likewise. - (Has_Unconstrained_Access_Discriminants): Likewise. - (Is_Anonymous_Access_Actual): Likewise. - (Is_Special_Aliased_Formal_Access): Likewise. - (Needs_Result_Accessibility_Level): Likewise. - (Subprogram_Access_Level): Likewise. - (Type_Access_Level): Likewise. - * sinfo.ads: Document new flag Comes_From_Iterator. - * gcc-interface/Make-lang.in: Add entry for new Accessibility package. - -2022-12-06 Liaiss Merzougue <merzougue@adacore.com> - - * libgnat/i-c.adb (To_C): Simplify code for having a single - exception raise. Add pragma annotate about uninitialized value - which happen only on exception raising. - -2022-12-01 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (get_storage_model_access): Strip any type - conversion around the node before looking into it. - -2022-12-01 Steve Baird <baird@adacore.com> - - * sem_ch13.adb - (Validate_Aspect_Aggregate): Reject illegal case where none of - Add_Named, Add_Unnamed, and Assign_Indexed are specified. - -2022-12-01 Eric Botcazou <ebotcazou@adacore.com> - - * doc/gnat_ugn/gnat_and_program_execution.rst (Non-Symbolic - Traceback): Add compilation line. - (Symbolic Traceback): Remove obsolete stuff. - * doc/gnat_ugn/gnat_utility_programs.rst (gnatsymbolize): Adjust. - * gnat_ugn.texi: Regenerate. - -2022-12-01 Ronan Desplanques <desplanques@adacore.com> - - * lib-xref.adb (Generate_Reference): Fix misphrasing in comment. - -2022-12-01 Gary Dismukes <dismukes@adacore.com> - - * sem_attr.adb (Analyze_Attribute, Attribute_Address): In the case - where the attribute's prefix is a dereference of a value of an - access type that has aspect Designated_Storage_Model (or a - renaming of such a dereference), set the attribute's type to the - corresponding Storage_Model_Type's associated address type rather - than System.Address. - -2022-12-01 Ronan Desplanques <desplanques@adacore.com> - - * doc/gnat_rm/the_gnat_library.rst: Fix minor issues. - * gnat_rm.texi: Regenerate. - -2022-12-01 Josue Nava Bello <nava@adacore.com> - - * doc/share/conf.py: minor updates - -2022-11-28 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/g-traceb.ads: Minor tweaks in the commentary. - (Executable_Load_Address): New function. - * doc/gnat_ugn/gnat_and_program_execution.rst (Non-Symbolic - Traceback): Adjust to PIE default on Linux. - (Symbolic Traceback): Likewise. - * doc/gnat_ugn/gnat_utility_programs.rst (gnatsymbolize): Likewise. - * gnat_ugn.texi: Regenerate. - -2022-11-28 Joel Brobecker <brobecker@adacore.com> - - * doc/share/conf.py (extensions): Add 'sphinx_rtd_theme'. - (html_theme): Set to 'sphinx_rtd_theme'. - -2022-11-28 Claire Dross <dross@adacore.com> - - * libgnat/g-souinf.ads (Source_Code_Information): Add a new - volatile abstract state and add it in the global contract of all - functions defined in Source_Info. - -2022-11-28 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch6.adb (Expand_Actuals.Add_Call_By_Copy_Code): Deal with a - reference to a validation variable in the actual. - (Expand_Actuals.Add_Validation_Call_By_Copy_Code): Minor tweak. - (Expand_Actuals): Call Add_Validation_Call_By_Copy_Code directly - only if Add_Call_By_Copy_Code is not to be invoked. - -2022-11-28 Eric Botcazou <ebotcazou@adacore.com> - - * adaint.c [Linux]: Include <link.h>. - (__gnat_get_executable_load_address) [Linux]: Enable. - -2022-11-28 Yannick Moy <moy@adacore.com> - - * sem_prag.adb (Check_Part_Of_Abstract_State): Add verification - related to use of Part_Of, so that constituents in private childs - that refer to state in a sibling or parent unit force that unit to - have a body. - * sem_util.adb (Check_State_Refinements): Drop the requirement to - have always a package body for state refinement, when the package - state is mentioned in no Part_Of specification. - * sem_ch3.adb (Analyze_Declarations): Refresh SPARK refs in comment. - * sem_ch7.adb (Analyze_Package_Declaration): Likewise. - -2022-11-24 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (gnat_to_gnu) <N_Assignment_Statement>: Add - assertion that memset is not supposed to be used when the target has - a storage model with Copy_To routine. - -2022-11-24 Justin Squirek <squirek@adacore.com> - - * sem_ch8.adb - (Find_Direct_Name): Remove bypass to reanalyze incorrectly - analyzed discriminals. - (Set_Entity_Or_Discriminal): Avoid resetting the entity field of a - discriminant reference to be the internally generated renaming - when we are in strict preanalysis mode. - -2022-11-22 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Analyze_Depends_Global): Accept aspects on - abstract subprograms. - -2022-11-22 Ghjuvan Lacambre <lacambre@adacore.com> - - * frontend.adb (Frontend): Re-enable Validate_Subprogram_Calls. - * exp_ch6.adb (Check_BIP_Actuals): When in CodePeer mode, do not - attempt to validate procedures coming from an - Elab_Spec/Elab_Body/Elab_Subp_Body procedure. - -2022-11-22 Piotr Trojanek <trojanek@adacore.com> - - * errout.adb (To_Be_Removed): Decrease total number of errors when - removing a warning that has been escalated into error. - * erroutc.adb (dmsg): Print Warn_Runtime_Raise flag. - -2022-11-22 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Make_Tag_Assignment): Fix formatting glitches. - -2022-11-22 Eric Botcazou <ebotcazou@adacore.com> - - * contracts.adb (Build_Subprogram_Contract_Wrapper): Do not fiddle - with the Was_Expression_Function flag. Move a few lines around. - -2022-11-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Constant>: Revert - latest change. - * gcc-interface/trans.cc (gnat_to_gnu) <N_Object_Declaration>: - Tweak latest change. - -2022-11-21 Marc Poulhiès <poulhies@adacore.com> - - * exp_pakd.adb (Create_Packed_Array_Impl_Type): Do not share PAT - if sizes of types differ. - -2022-11-21 Ronan Desplanques <desplanques@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst: Restore - alphabetical ordering. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2022-11-21 Eric Botcazou <ebotcazou@adacore.com> - - * sem_util.adb (Needs_Secondary_Stack): Test Is_Constrained - directly instead of Is_Definite_Subtype for an array subtype. - -2022-11-21 Steve Baird <baird@adacore.com> - - * libgnat/s-rident.ads: Define a new restriction, - No_Task_Hierarchy_Implicit. This is like the No_Task_Hierarchy - restriction, but with the difference that setting this restriction - does not mean the H.6(6) post-compilation check is satisified. - * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): If it is - known that the function result cannot have tasks, then pass in a - null literal for the activation chain actual parameter. This - avoids generating a reference to an entity that - Build_Activation_Chain_Entity may have chosen not to generate a - declaration for. - * gnatbind.adb (List_Applicable_Restrictions): Do not list the - No_Task_Hierarchy_Implicit restriction. - * restrict.adb: Special treatment for the - No_Task_Hierarchy_Implicit restriction in functions - Get_Restriction_Id and Restriction_Active. The former is needed to - disallow the (unlikely) case that a user tries to explicitly - reference the No_Task_Hierarchy_Implicit restriction. - * sem_prag.adb (Analyze_Pragma): If a Sequential - Partition_Elaboration_Policy is specified (and the - No_Task_Hierarchy restriction is not already enabled), then enable - the No_Task_Hierarchy_Implicit restriction. - -2022-11-21 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Expand_N_Object_Declaration): Use Typ local - constant throughout, remove Ret_Obj_Typ local constant, rename - Ref_Type into Acc_Typ in a couple of places, remove a useless call - to Set_Etype, use a consistent checks suppression scheme, adjust - comments for the sake of consistencty and alphabetize some local - declarations. - * exp_ch6.adb (Expand_Simple_Function_Return): Remove a couple of - redundant local constants. - -2022-11-21 Steve Baird <baird@adacore.com> - - * libgnat/a-sttebu.adb (Put): Add missing call to Encode. - * libgnat/a-strsup.ads: Declare new Put_Image procedure and add - Put_Image aspect specification for type Super_String. - * libgnat/a-strsup.adb (Put_Image): New procedure. - * libgnat/a-stwisu.ads: Declare new Put_Image procedure and add - Put_Image aspect specification for type Super_String. - * libgnat/a-stwisu.adb (Put_Image): New procedure. - * libgnat/a-stzsup.ads: Declare new Put_Image procedure and add - Put_Image aspect specification for type Super_String. - * libgnat/a-stzsup.adb (Put_Image): New procedure. - -2022-11-21 Ghjuvan Lacambre <lacambre@adacore.com> - - * frontend.adb (Frontend): Disable subprogram call validation. - -2022-11-21 Bob Duff <duff@adacore.com> - - * warnsw.ads, warnsw.adb: Move warning flags here from package - Opt. Rename Warning_Record to be Warnings_State. Use an array - instead of a record; this simplifies the code. Add renamings of - all the array components for easy reference outside this package. - Pass the "Family" to Set_Warning_Switch. Use more table-driven - code. Misc cleanup and comment fixes. - * opt.ads: Move warning switches to Warnsw. - * gnat1drv.adb - (Adjust_Global_Switches): Expanded names needed. - * inline.ads: Rename Warning_Record to be Warnings_State. - * sem_ch12.adb: Likewise. - * sem_prag.adb: Use new Set_Warning_Switch. - * contracts.adb, errout.adb, exp_aggr.adb, exp_ch11.adb: Adjust - imports for move to Warnsw. - * exp_ch5.adb, exp_prag.adb, exp_util.adb, frontend.adb: Likewise. - * layout.adb, lib-xref.adb, restrict.adb, scn.adb, sem_aggr.adb: - Likewise. - * sem_attr.adb, sem_case.adb, sem_ch10.adb, sem_ch11.adb: - Likewise. - * sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb: Likewise. - * sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_elab.adb: Likewise. - * sem_eval.adb, sem_res.adb, sem_util.adb, sem_warn.adb: Likewise. - * switch-c.adb: Likewise. - -2022-11-21 Steve Baird <baird@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Improve - the description of how the -gnatw.h switch interacts with - "partial" record layout specifications (i.e., specifications where - the locations of some components are left unspecified). - * gnat_ugn.texi: Regenerate. - -2022-11-21 Marc Poulhiès <poulhies@adacore.com> - - * sem_ch13.adb (Check_One_Attr): produce error when Size attribute - used on aliased object of elementary types with nonconfirming - value. - -2022-11-21 Ronan Desplanques <desplanques@adacore.com> - - * sfn_scan.adb (Scan_SFN_Pragmas): Improve handling of comments. - -2022-11-21 Ronan Desplanques <desplanques@adacore.com> - - * par-ch3.adb (P_Declarative_Item): Tweak handling of with keyword. - -2022-11-14 Boris Yakobowski <yakobowski@adacore.com> - - * sem_case.adb: silence false positive warning emitted by CodePeer - on predefined equality for type Choice_Range_Info. - -2022-11-14 Bob Duff <duff@adacore.com> - - * atree.ads: Remove some comments. - * err_vars.ads: Likewise. - * scans.ads: Likewise. - * sinput.ads: Likewise. - * checks.ads: Likewise. Also add a "???" comment indicating an - obsolete comment that is too difficult to correct at this time. - * sem_attr.adb: Minor comment rewrite. - -2022-11-14 Javier Miranda <miranda@adacore.com> - - * exp_intr.adb - (Expand_Dispatching_Constructor_Call): Improve warning message. - * freeze.adb - (Check_No_Parts_Violations): Improve error message. - -2022-11-14 Alexandre Oliva <oliva@adacore.com> - - * doc/gnat_rm/security_hardening_features.rst: Document optional - hardcfr checkpoints. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2022-11-14 Gary Dismukes <dismukes@adacore.com> - - * checks.adb - (Apply_Type_Conversion_Checks): Apply Root_Type to the type of the - prefix of a Pos attribute when checking whether the type is a - formal discrete type. - -2022-11-14 Ronan Desplanques <desplanques@adacore.com> - - * libgnat/s-regpat.adb - (Parse): Fix handling of non-capturing parentheses. - -2022-11-14 Yannick Moy <moy@adacore.com> - - * sem_prag.adb (Analyze_Pragma): Add special case for the special - local subprogram created for contracts. - -2022-11-14 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch12.adb (Build_Subprogram_Wrappers): Adjust slocs of the - copied aspects, just like we do in Build_Class_Wide_Expression for - inherited class-wide contracts. - -2022-11-14 Piotr Trojanek <trojanek@adacore.com> - - * inline.adb (Replace_Formal): Tune whitespace. - * sem_ch12.adb (Check_Overloaded_Formal_Subprogram): Refine type - of a formal parameter and local variable; this routine operates on - nodes and not entities. - * sem_ch12.ads: Tune whitespace. - -2022-11-14 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch12.adb (Analyze_Associations): Expand wrappers for - GNATprove. - -2022-11-14 Patrick Bernardi <bernardi@adacore.com> - - * libgnat/system-qnx-arm.ads: Set Support_Atomic_Primitives to - True. - * libgnat/system-rtems.ads: Add Support_Atomic_Primitives. - -2022-11-14 Yannick Moy <moy@adacore.com> - - * errout.adb (Error_Msg_Internal): Store span for Optr field, and - adapt to new type of Optr. - (Finalize. Output_JSON_Message, Remove_Warning_Messages): Adapt to - new type of Optr. - (Output_Messages): Use Optr instead of Sptr to display code - snippet closer to error. - * erroutc.adb (dmsg): Adapt to new type of Optr. - * erroutc.ads (Error_Msg_Object): Make Optr a span like Sptr. - * errutil.adb (Error_Msg): Likewise. - -2022-11-14 Arnaud Charlet <charlet@adacore.com> - - * doc/gnat_ugn/gnat_utility_programs.rst: Remove gnatcheck - reference. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gnat-style.rst: Moved to... - * doc/gnat-style/index.rst: ...here. - * doc/gnat_rm.rst: Moved to... - * doc/gnat_rm/index.rst: ...here. - * doc/gnat_ugn.rst: Moved to... - * doc/gnat_ugn/index.rst: ...here. - * doc/share/latex_elements.py: Moved to... - * doc/share/ada_latex_elements.py: ...here. - * gcc-interface/Make-lang.in: - * doc/Makefile: Removed. - * doc/share/conf.py: Removed. - * doc/share/gnu_free_documentation_license.rst: Removed. - * gnat-style.texi: Removed. - * gnat_rm.texi: Removed. - * gnat_ugn.texi: Removed. - * doc/gnat-style/conf.py: New file. - * doc/gnat-style/gnu_free_documentation_license.rst: New file. - * doc/gnat_rm/conf.py: New file. - * doc/gnat_rm/gnu_free_documentation_license.rst: New file. - * doc/gnat_ugn/conf.py: New file. - * doc/gnat_ugn/gnu_free_documentation_license.rst: New file. - * doc/share/adabaseconf.py: New file. - * doc/gnat_rm/security_hardening_features.rst: Add role. - * doc/gnat_ugn/platform_specific_information.rst: Remove - duplicate definition of |nbsp|. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * gcc-interface/Make-lang.in: Support --with-sphinx-build. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gnat_rm/index.rst: Fix cross manual refs. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * gcc-interface/Make-lang.in: - Support installation if sphinx-build is missing. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * gcc-interface/Make-lang.in: - Support installation if sphinx-build is missing. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gnat_rm/index.rst: Fix cross manual refs. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * gcc-interface/Make-lang.in: Support --with-sphinx-build. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gnat-style.rst: Moved to... - * doc/gnat-style/index.rst: ...here. - * doc/gnat_rm.rst: Moved to... - * doc/gnat_rm/index.rst: ...here. - * doc/gnat_ugn.rst: Moved to... - * doc/gnat_ugn/index.rst: ...here. - * doc/share/latex_elements.py: Moved to... - * doc/share/ada_latex_elements.py: ...here. - * gcc-interface/Make-lang.in: - * doc/Makefile: Removed. - * doc/share/conf.py: Removed. - * doc/share/gnu_free_documentation_license.rst: Removed. - * gnat-style.texi: Removed. - * gnat_rm.texi: Removed. - * gnat_ugn.texi: Removed. - * doc/gnat-style/conf.py: New file. - * doc/gnat-style/gnu_free_documentation_license.rst: New file. - * doc/gnat_rm/conf.py: New file. - * doc/gnat_rm/gnu_free_documentation_license.rst: New file. - * doc/gnat_ugn/conf.py: New file. - * doc/gnat_ugn/gnu_free_documentation_license.rst: New file. - * doc/share/adabaseconf.py: New file. - * doc/gnat_rm/security_hardening_features.rst: Add role. - * doc/gnat_ugn/platform_specific_information.rst: Remove - duplicate definition of |nbsp|. - -2022-11-08 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils2.cc (build_allocator): For unconstrained - array types with a storage model and an initializing expression, - copy the initialization expression separately from the bounds. In - all cases with a storage model, pass the locally computed size for - the store. - -2022-11-08 Steve Baird <baird@adacore.com> - - * sem_attr.adb - (Eval_Attribute): Don't simplify 'Image call if Put_Image has been - specified. - -2022-11-08 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch6.adb, exp_put_image.adb, sem_aggr.adb, sem_attr.adb, - sem_ch5.adb, sem_type.adb, sem_util.adb: Replace - "Present (Find_Aspect (...))" with "Has_Aspect". - -2022-11-08 Ronan Desplanques <desplanques@adacore.com> - - * contracts.adb - (Preanalyze_Class_Conditions): New procedure. - (Preanalyze_Condition): Moved out from Merge_Class_Conditions in - order to be spec-visible. - * contracts.ads - (Preanalyze_Class_Conditions): New procedure. - * sem_prag.adb - (Analyze_Pre_Post_Condition_In_Decl_Part): Call - Preanalyze_Class_Conditions when necessary. - -2022-11-08 Johannes Kliemann <kliemann@adacore.com> - - * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Set - Support_Atomic_Primitives to True. - * libgnat/system-vxworks7-aarch64.ads: Set - Support_Atomic_Primitives to True. - * libgnat/system-vxworks7-arm-rtp-smp.ads: Set - Support_Atomic_Primitives to True. - * libgnat/system-vxworks7-arm.ads: Set Support_Atomic_Primitives - to True. - * libgnat/system-vxworks7-ppc-kernel.ads: Set - Support_Atomic_Primitives to False. - * libgnat/system-vxworks7-ppc-rtp-smp.ads: Set - Support_Atomic_Primitives to False. - * libgnat/system-vxworks7-ppc64-kernel.ads: Set - Support_Atomic_Primitives to True. - * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Set - Support_Atomic_Primitives to True. - * libgnat/system-vxworks7-x86-kernel.ads: Set - Support_Atomic_Primitives to True. - * libgnat/system-vxworks7-x86-rtp-smp.ads: Set - Support_Atomic_Primitives to True. - * libgnat/system-vxworks7-x86_64-kernel.ads: Set - Support_Atomic_Primitives to True. - * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Set - Support_Atomic_Primitives to True. - -2022-11-08 Eric Botcazou <ebotcazou@adacore.com> - - * fe.h (Get_Warn_On_Questionable_Layout): Add void parameter. - -2022-11-08 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch12.adb (Instantiate_Formal_Subprogram): Copy aspect Ghost - from formal subprogram declaration to the internally generated - procedure. - -2022-11-08 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch4.adb (Analyze_Case_Expression): Compute the - interpretations of the expression only at the end of the analysis, - but skip doing it if it is the operand of a type conversion. - (Analyze_If_Expression): Likewise. - * sem_res.adb (Resolve): Deal specially with conditional - expression that is the operand of a type conversion. - (Resolve_Dependent_Expression): New procedure. - (Resolve_Case_Expression): Call Resolve_Dependent_Expression. - (Resolve_If_Expression): Likewise. - (Resolve_If_Expression.Apply_Check): Take result type as - parameter. - (Resolve_Type_Conversion): Do not warn about a redundant - conversion when the operand is a conditional expression. - -2022-11-08 Javier Miranda <miranda@adacore.com> - - * debug.adb - (Debug_Flag_Underscore_XX): Switch -gnatd_X used temporarily to allow - disabling extra formal checks. - * exp_attr.adb - (Expand_N_Attribute_Reference [access types]): Add extra formals - to the subprogram referenced in the prefix of 'Unchecked_Access, - 'Unrestricted_Access or 'Access; required to check that its extra - formals match the extra formals of the corresponding subprogram type. - * exp_ch3.adb - (Stream_Operation_OK): Declaration moved to the public part of the - package. - (Validate_Tagged_Type_Extra_Formals): New subprogram. - (Expand_Freeze_Record_Type): Improve the code that takes care of - adding the extra formals of dispatching primitives; extended to - add also the extra formals to renamings of dispatching primitives. - * exp_ch3.ads - (Stream_Operation_OK): Declaration moved from the package body. - * exp_ch6.adb - (Check_BIP_Actuals): Complete documentation. - (Has_BIP_Extra_Formal): Subprogram declaration moved to the public - part of the package. In addition, a parameter has been added to - disable an assertion that requires its use with frozen entities. - (Duplicate_Params_Without_Extra_Actuals): New subprogram. - (Check_Subprogram_Variant): Emit the call without duplicating the - extra formals since they will be added when the call is analyzed. - (Expand_Call_Helper): Ensure that the called subprogram has all its - extra formals, enforce assertion checking extra formals on thunks, - and mark calls from thunks as processed-BIP-calls to avoid adding - their extra formals twice. - (Is_Build_In_Place_Function): Return False for entities with foreign - convention. - (Is_Build_In_Place_Function_Call): Return True also for not BIP functions - that have BIP formals since the extra actuals are required. - (Make_Build_In_Place_Call_In_Object_Declaration): Occurrences of - Is_Return_Object replaced by the local variable Is_OK_Return_Object - that evaluates to False for scopes with foreign convention. - (Might_Have_Tasks): Fix check of class-wide limited record types. - (Needs_BIP_Task_Actuals): Remove assertion to allow calling this - function in more contexts; in addition it returns False for functions - returning objects with foreign convention. - (Needs_BIP_Finalization_Master): Likewise. - (Needs_BIP_Alloc_Form): Likewise. - (Validate_Subprogram_Calls): Check that the number of actuals (including - extra actuals) of calls in the subtree N match their corresponding - formals. - * exp_ch6.ads - (Has_BIP_Extra_Formal): Subprogram declaration moved to the public - part of the package. In addition, a parameter has been added to - disable an assertion that requires its use with frozen entities. - (Is_Build_In_Place_Function_Call): Complete documentation. - (Validate_Subprogram_Calls): Check that the number of actuals (including - extra actuals) of calls in the subtree N match their corresponding - formals. - * freeze.adb - (Check_Itype): Add extra formals to anonymous access subprogram itypes. - (Freeze_Expression): Improve code that disables the addition of extra - formals to functions with foreign convention. - (Check_Extra_Formals): Moved to package Sem_Ch6 as Extra_Formals_OK. - (Freeze_Subprogram): Add extra formals to non-dispatching subprograms. - * frontend.adb - (Frontend): Validate all the subprogram calls; it can be disabled using - switch -gnatd_X - * sem_ch3.adb - (Access_Subprogram_Declaration): Defer the addition of extra formals to - the freezing point so that we know the convention. - (Check_Anonymous_Access_Component): Likewise. - (Derive_Subprogram): Fix documentation. - * sem_ch6.adb - (Has_Reliable_Extra_Formals): New subprogram. - (Check_Anonymous_Return): Fix check of access to class-wide limited - record types. - (Check_Untagged_Equality): Placed in alphabetical order. - (Extra_Formals_OK): Subprogram moved from freeze.adb. - (Extra_Formals_Match_OK): New subprogram. - (Has_BIP_Formals): New subprogram. - (Has_Extra_Formals): New subprograms. - (Needs_Accessibility_Check_Extra): New subprogram. - (Parent_Subprogram): New subprogram. - (Add_Extra_Formal): Minor code cleanup. - (Create_Extra_Formals): Enforce matching extra formals on overridden - and aliased entities. - * sem_ch6.ads - (Extra_Formals_Match_OK): New subprogram. - (Extra_Formals_OK): Subprogram moved from freeze.adb. - * sem_eval.adb - (Compile_Time_Known_Value): Improve predicate to avoid assertion - failure; found working on this ticket; this change does not - affect the behavior of the compiler because this subprogram - has an exception handler that returns False when the assertion - fails. - * sem_util.adb - (Needs_Result_Accessibility_Level): Do not return False for dispatching - operations compiled with Ada_Version < 2012 since they they may be - overridden by primitives compiled with Ada_Version >= Ada_2012. - -2022-11-08 Bob Duff <duff@adacore.com> - - * warnsw.ads, warnsw.adb, fe.h, err_vars.ads, errout.ads: Move - Warning_Doc_Switch from Err_Vars to Warnsw. Access - Warn_On_Questionable_Layout on the C side via a function rather - than a variable, because we plan to turn the variables into - renamings, and you can't Export renamings. - * erroutc.adb, switch-c.adb, errout.adb: Likewise. - * gcc-interface/decl.cc: Use Get_Warn_On_Questionable_Layout - instead of Warn_On_Questionable_Layout. - * gcc-interface/Makefile.in (GNATMAKE_OBJS): Add warnsw.o, because - it is indirectly imported via Errout. - * gcc-interface/Make-lang.in (GNATBIND_OBJS): Likewise and remove - restrict.o (not needed). - -2022-11-08 Ronan Desplanques <desplanques@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst - (-gnatwc): Fix flag documentation. - * gnat_ugn.texi: Regenerate. - -2022-11-08 Steve Baird <baird@adacore.com> - - * sem_ch3.adb - (Analyze_Object_Declaration): Do not perform expansion actions if - In_Spec_Expression is true. - -2022-11-08 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch4.adb (Analyze_Qualified_Expression): Analyze the - expression only after setting the type. - (Analyze_Unchecked_Type_Conversion): Likewise. - (Analyze_Short_Circuit): Likewise for the operands. - (Analyze_Type_Conversion): Minor tweaks. - (Analyze_Unchecked_Expression): Likewise. - -2022-11-08 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch4.adb (Analyze_Qualified_Expression): Remove redundant - line. - -2022-11-08 Ronan Desplanques <desplanques@adacore.com> - - * contracts.adb (Preanalyze_Condition): Use - Preanalyze_Spec_Expression. - -2022-11-08 Piotr Trojanek <trojanek@adacore.com> - - * exp_imgv.adb - (Expand_Wide_Image_Attribute): Handle just like attribute Image. - (Expand_Wide_Wide_Image_Attribute): Likewise. - * exp_put_image.adb - (Build_Image_Call): Adapt to also work for Wide and Wide_Wide - attributes. - * exp_put_image.ads - (Build_Image_Call): Update comment. - * rtsfind.ads - (RE_Id): Support wide variants of Get. - (RE_Unit_Table): Likewise. - -2022-11-08 Piotr Trojanek <trojanek@adacore.com> - - * libgnat/a-ngcoar.ads, libgnat/a-ngcoar.adb: Remove extra spaces. - -2022-11-08 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch12.adb (Validate_Formal_Type_Default): Remove call to - Collect_Interfaces, which had no effect apart from populating a - list that was not used; fix style. - -2022-11-08 Piotr Trojanek <trojanek@adacore.com> - - * exp_spark.adb (SPARK_Freeze_Type): Refine type of a local - object. - * sem_ch3.adb (Derive_Subprograms): Remove initial value for - New_Subp, which is in only written as an out parameter and never - read. - -2022-11-08 Eric Botcazou <ebotcazou@adacore.com> - - * sem_res.adb (Resolve_If_Expression): Remove obsolete special - case. - -2022-11-08 Piotr Trojanek <trojanek@adacore.com> - - * sem_aggr.adb (Resolve_Delta_Aggregate): Implement rules related - to limited objects appearing as the base expression. - -2022-11-08 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch3.adb (OK_For_Limited_Init_In_05): Handle delta aggregates - just like other aggregates. - -2022-11-08 Piotr Trojanek <trojanek@adacore.com> - - * sem_aggr.adb (Resolve_Delta_Record_Aggregate): Reject - expressions of a limited types. - -2022-11-08 Javier Miranda <miranda@adacore.com> - - * exp_ch9.adb - (Build_Master_Entity): Handle missing case: when the context of - the master is a BIP function whose result type has tasks. - -2022-11-08 Piotr Trojanek <trojanek@adacore.com> - - * libgnat/a-tags.adb - (Interface_Ancestor_Tags): Raise Tag_Error on No_Tag. - (Is_Descendant_At_Same_Level): Likewise. - -2022-11-08 Bob Duff <duff@adacore.com> - - * usage.adb: Add -gnatw_q and -gnatw_Q. - -2022-11-07 Cedric Landet <landet@adacore.com> - - * doc/gnat_ugn/gnat_and_program_execution.rst: Mention the needed - -no-pie for windows to use gprof. - * gnat_ugn.texi: Regenerate. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * lib-xref.adb (Hash): Tune hash function. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Non_Significant_Pragma_Reference): Detect - references with aggregates; only assign local variables Id and C - when necessary. - -2022-11-07 Bob Duff <duff@adacore.com> - - * exp_ch4.adb - (Component_Equality, Expand_Array_Equality) - (Expand_Record_Equality): Use named notation. - -2022-11-07 Bob Duff <duff@adacore.com> - - * exp_ch4.adb - (Expand_Array_Equality): Do not test Ltyp = Rtyp here, because - that is necessarily true. Move assertion thereof to more general - place. - (Expand_Composite_Equality): Pass in Outer_Type, for use in - warnings. Rename Typ to be Comp_Type, to more clearly distinguish - it from Outer_Type. Print warning when appropriate. - * exp_ch4.ads: Minor comment fix. - * errout.ads: There is no such pragma as Warning_As_Pragma -- - Warning_As_Error must have been intended. Improve comment for ?x?. - * exp_ch3.adb - (Build_Untagged_Equality): Update comment to be accurate for more - recent versions of Ada. - * sem_case.adb - (Choice_Analysis): Declare user-defined "=" functions as abstract. - * sem_util.ads - (Is_Bounded_String): Give RM reference in comment. - * warnsw.ads, warnsw.adb - (Warn_On_Ignored_Equality): Implement new warning switch -gnatw_q. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Document new warning switch. - * gnat_ugn.texi: Regenerate. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_aux.ads (Is_Body): Annotate with Inline. - * sem_util.ads (Is_Body_Or_Package_Declaration): Likewise. - -2022-11-07 Bob Duff <duff@adacore.com> - - * freeze.adb - (Build_Inherited_Condition_Pragmas): Do nothing if A_Post is - empty. - -2022-11-07 Quentin Ochem <ochem@adacore.com> - Steve Baird <baird@adacore.com> - - * bindgen.adb: fixed the way the device init and final symbols are - computed, re-using the normal way these symbols would be computed - with a __device_ prefix. Also fixed the "is null;" procedure on - the host side which are not Ada 95, replaced with a procedure - raising an exception as it should never be called. Remove the - unused function Device_Ada_Final_Link_Name. - -2022-11-07 Steve Baird <baird@adacore.com> - - * opt.ads: Declare new string pointer variable, CUDA_Device_Library_Name. - Modify comments for existing Boolean variable Enable_CUDA_Device_Expansion. - * switch-b.adb: When "-d_c" switch is encountered, check that the next - character is an "'='; use the remaining characters to initialize - Opt.CUDA_Device_Library_Name. - * bindgen.adb: Remove (for now) most support for host-side invocation of - device-side finalization. Make use of the new CUDA_Device_Library_Name - in determining the string used to refer (on the host side) to the - device-side initialization procedure. Declare the placeholder routine - that is named in the CUDA_Execute pragma (and the CUDA_Register_Function - call) as an exported null procedure, rather than as an imported procedure. - It is not clear whether it is really necessary to specify the link-name - for this should-never-be-called subprogram on the host side, but for now it - shouldn't hurt to do so. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch6.adb (Expand_Protected_Subprogram_Call): Examine scope - tree and not the scope stack. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * mdll.ads (Build_Import_Library): Fix grammar in comment. - * mdll.adb (Build_Import_Library): Directly execute code of a - nested routine; rename No_Lib_Prefix to Strip_Lib_Prefix. - -2022-11-07 Bob Duff <duff@adacore.com> - - * sem_warn.adb - (Check_For_Warnings): Remove unnecessary exception handler. - (Warn_On_Known_Condition): Suppress warning when we detect a True - or False that has been turned into a more complex expression - because True is represented as "nonzero". (Note that the complex - expression will subsequently be constant-folded to a Boolean True - or False). Also simplify to always print "condition is always ..." - instead of special-casing object names. The special case was - unhelpful, and indeed wrong when the expression is a literal. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * checks.adb (Safe_To_Capture_In_Parameter_Value): Remove. - * sem_util.adb (Safe_To_Capture_Value): Stop search at the current - body. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_warn.adb (Warn_On_In_Out): Remove No_ prefix; flip return - values between True and False; adapt caller. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch13.adb (Add_Call): Just look at Instantiation_Depth. - * sem_ch3.adb (Derive_Subprograms): Likewise. - * sem_warn.adb (Check_References): Remove redundant filtering with - Instantiation_Depth that follows filtering with - Instantiation_Location. - * sinput.adb (Instantiation_Depth): Reuse Instantiation_Location. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_warn.adb - (No_Warn_On_In_Out): For subprograms we can simply call - Warnings_Off. - (Output_Non_Modified_In_Out_Warnings): Remove repeated - suppression. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_aggr.adb (Resolve_Delta_Array_Aggregate): Reject boxes in - delta array aggregates. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Enclosing_Declaration_Or_Statement): Moved to - Sem_Util. - * sem_util.ads (Enclosing_Declaration_Or_Statement): Moved from - Sem_Res. - * sem_util.adb (Enclosing_Declaration_Or_Statement): Likewise. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Resolve): Only call Comes_From_Predefined_Lib_Unit - when its result might be needed. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch12.adb (Check_Generic_Actuals): Remove redundant parens; - refactor an excessive if-statement; remove repeated call to Node. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * inline.adb (Establish_Actual_Mapping_For_Inlined_Call): Move - comment next to a condition that it describes. - -2022-11-07 Steve Baird <baird@adacore.com> - - * exp_put_image.adb - (Image_Should_Call_Put_Image): Correctly handle the case of an - inherited Put_Image aspect specification for a scalar type. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * libgnarl/s-interr.adb: Tune whitespace. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * libgnarl/s-interr.adb: Reorder context items and pragmas. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch4.adb - (Expand_Modular_Addition): Rewrite using Make_XXX calls. - (Expand_Modular_Op): Likewise. - (Expand_Modular_Subtraction): Likewise. - * exp_imgv.adb - (Expand_User_Defined_Enumeration_Image): Likewise. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * checks.adb (Apply_Arithmetic_Overflow_Strict): Rewrite using a - newly created operator node. - * exp_ch4.adb (Expand_Array_Comparison): Likewise. - * exp_ch6.adb (Add_Call_By_Copy_Code): Rewriting actual parameter - using its own location and not the location of the subprogram - call. - * sem_warn.adb (Check_References): Looping with Original_Node is - no longer needed. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Is_In_Context_Clause): Rewrite without negations - and inequalities. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Analyze_Pragma [Pragma_Obsolescent]): Reject - misplaced pragma. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_warn.adb (Output_Obsolescent_Entity_Warnings): Tag warnings - about obsolescent functions just like we tag similar warnings for - packages and procedures. - -2022-11-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference): Remove useless - skipping for attribute Input. - -2022-11-04 Justin Squirek <squirek@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference): Skip operand - validity checks for attributes Has_Same_Storage and - Overlaps_Storage. - -2022-11-04 Eric Botcazou <ebotcazou@adacore.com> - - * errout.adb (Remove_Warning_Messages.Check_For_Warning): Do not - reinstate the Original_Node in the tree. - * exp_aggr.adb (Build_Array_Aggr_Code.Gen_Loop): Copy the bounds - on all paths. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * libgnat/g-excact.ads - (Register_Global_Action): Refill comment. - (Name_To_Id): Change pragma Restriction from singular to plural. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_warn.adb (Check_References): Remove redundant guard, as it - is implied by a preceding call to Referenced_Check_Spec. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_warn.adb (Check_References): Remove useless query for "spec" - of a variable; refactor nested if-statements into a single - condition. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb - (In_Pragma_Expression): Add standard guard against searching too - far. - (In_Quantified_Expression): Likewise. - * sem_warn.adb - (May_Need_Initialized_Actual): Remove redundant parens. - (Check_References): Remove guard that duplicates a condition from - the enclosing if-statement; only assign E1T variable when - necessary. - (Within_Postcondition): Fix layout. - (No_Warn_On_In_Out): Balance parens in comment. - -2022-11-04 Steve Baird <baird@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst: Add the standard - '... "On" enables this extension.' sentence to the description of - static intrinsic functions. - * sem_ch13.adb - (Analyze_Aspect_Spec): In the call to Error_Msg_GNAT_Extension for - a Static aspect specification for an intrinsic function, specify - Is_Core_Extension => True. - * sem_eval.adb - (Eval_Intrinsic_Call): Test Core_Extensions_Allowed instead of - testing All_Extensions_Allowed. - * gnat_rm.texi: Regenerate. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * aspects.adb (Relocate_Aspect): Remove call to Set_Has_Aspects. - * sem_ch12.adb (Analyze_Formal_Package_Declaration): Likewise. - * sem_util.adb (Copy_Ghost_Aspect, Copy_SPARK_Mode_Aspect): - Likewise. - -2022-11-04 Javier Miranda <miranda@adacore.com> - - * exp_intr.adb - (Expand_Dispatching_Constructor_Call): Report an error on - unsupported dispatching constructor calls and report a warning on - calls that may fail at run time. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb - (Check_Components): Iterate using - First/Next_Component_Or_Discriminant. - (Has_Preelaborable_Initialization): Avoid repeated iteration with - calls to Check_Components with First_Entity and - First_Private_Entity. - (Is_Independent_Object_Entity): Tune indentation. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch7.adb (Clear_Constants): Only iterate from First_Entity - through Next_Entity; only examine variables because packages have - no assignable formal parameters. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix - typos. - * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Fix typos - and refill as necessary; remove trailing whitespace. - * doc/gnat_ugn/gnat_and_program_execution.rst: Fix typos. - * gnat_ugn.texi: Regenerate. - -2022-11-04 Marc Poulhiès <poulhies@adacore.com> - - * sem_util.ads (Add_Block_Identifier): Add new extra Scope - argument. - * sem_util.adb (Add_Block_Identifier): Likewise and use this scope - variable instead of Current_Scope. - * exp_util.adb (Wrap_Statements_In_Block): Add new scope argument - to Add_Block_Identifier call. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Kill_Current_Values): Only iterate from - First_Entity through Next_Entity. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch6.adb (Controlling_Formal): Iterate with First/Next_Formal - and not with First/Next_Entity. - -2022-11-04 Javier Miranda <miranda@adacore.com> - - * exp_disp.adb - (Expand_Interface_Conversion): Fix typo in comment. - -2022-11-04 Javier Miranda <miranda@adacore.com> - - * exp_disp.adb - (Expand_Interface_Conversion): Under configurable runtime, when - the target type is an interface that is an ancestor of the operand - type, skip generating code to displace the pointer to reference - the target dispatch table. - * sem_disp.adb - (Propagate_Tag): Handle class-wide types when checking for the - addition of an implicit interface conversion. - -2022-11-04 Ronan Desplanques <desplanques@adacore.com> - - * doc/gnat_rm/standard_library_routines.rst: Fix typo. - * gnat_rm.texi: Regenerate. - -2022-11-04 Ghjuvan Lacambre <lacambre@adacore.com> - - * sa_messages.ads, sa_messages.adb: Remove files. - -2022-11-04 Ghjuvan Lacambre <lacambre@adacore.com> - - * checks.adb, exp_atag.adb, exp_attr.adb, exp_ch4.adb, exp_ch6.adb, - exp_ch7.adb, exp_dbug.adb, exp_disp.adb, exp_unst.adb, exp_util.adb, - freeze.adb, layout.adb, pprint.adb, rtsfind.adb, sem_aggr.adb, - sem_attr.adb, sem_case.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, - sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_dim.adb, sem_prag.adb, - sem_util.adb, sem_warn.adb: - Replace uses of `not Present (X)` with `No (X)`. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * einfo.ads: Fix typos in comments; refill as necessary. - * sinfo.ads: Likewise. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_aspects.rst: Fix typos. - * doc/gnat_rm/implementation_defined_attributes.rst: Likewise - * doc/gnat_rm/implementation_defined_characteristics.rst: Likewise - * doc/gnat_rm/implementation_defined_pragmas.rst: Likewise - * doc/gnat_rm/standard_library_routines.rst: Likewise. - * gnat_rm.texi: Regenerate. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch8.adb (Restore_Scope_Stack): Remove elements from the head - and not the tail of an element list. - -2022-11-04 Ronan Desplanques <desplanques@adacore.com> - - * sinfo.ads: Small editorial changes. - -2022-11-04 Steve Baird <baird@adacore.com> - - * opt.ads: Replace Ada_Version_Type enumeration literal - Ada_With_Extensions with two literals, Ada_With_Core_Extensions - and Ada_With_All_Extensions. Update uses of the deleted literal. - Replace Extensions_Allowed function with two functions: - All_Extensions_Allowed and Core_Extensions_Allowed. - * errout.ads, errout.adb: Add Boolean parameter to - Error_Msg_GNAT_Extension to indicate whether the construct in - question belongs to the curated subset. - * exp_ch5.adb, par-ch4.adb, sem_case.adb, sem_ch3.adb: - * sem_ch4.adb, sem_ch5.adb, sem_ch8.adb: Replace calls to - Extensions_Allowed with calls to Core_Extensions_Allowed for - constructs that are in the curated subset. - * sem_attr.adb, sem_ch13.adb, sem_eval.adb, sem_util.adb: Replace - calls to Extensions_Allowed with calls to All_Extensions_Allowed - for constructs that are not in the curated subset. - * par-ch3.adb: Override default for new parameter in calls to - Error_Msg_GNAT_Extension for constructs in the curated subset. - * par-prag.adb: Add Boolean parameter to Check_Arg_Is_On_Or_Off to - also allow ALL. Set Opt.Ada_Version appropriately for ALL or ON - arguments. - * sem_prag.adb: Allowed ALL argument for an Extensions_Allowed - pragma. Set Opt.Ada_Version appropriately for ALL or ON arguments. - * switch-c.adb: The -gnatX switch now enables only the curated - subset of language extensions (formerly it enabled all of them); - the new -gnatX0 switch enables all of them. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Document new "-gnatX0" switch and update documentation for - "-gnatX" switch. - * doc/gnat_rm/implementation_defined_pragmas.rst: Document new ALL - argument for pragma Extensions_Allowed and update documentation - for the ON argument. Delete mention of Ada 2022 Reduce attribute - as an extension. - * gnat_rm.texi, gnat_ugn.texi: Regenerate. - -2022-11-04 Steve Baird <baird@adacore.com> - - * bindgen.adb: Introduce two new string constants for the names of - the C-String variables that are assigned the names for adainit and - adafinal. Replace string literals in Gen_CUDA_Init with references - to these constants. In Gen_CUDA_Defs, generate C-String variable - declarations where these constants are the names of the variables. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch9.adb (Satisfies_Lock_Free_Requirements): Ignore - references to global variables inserted due to pragma - Initialize_Scalars. - -2022-11-04 Cedric Landet <landet@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst: Remove VxWorks - version 6. - * gnat_rm.texi, gnat_ugn.texi: Regenerate. - -2022-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch9.adb (Satisfies_Lock_Free_Requirements): Detect - references via expanded names. - -2022-11-04 Steve Baird <baird@adacore.com> - - * bindgen.adb - (Gen_CUDA_Init): Move existing loop body into a new local - procedure, Gen_CUDA_Register_Function_Call, and replace that loop - body with a call to this procedure. This first part is just - semantics-preserving refactoring. The second part is to add - Gen_CUDA_Register_Function_Call calls after the loop for the - device-side adainit and adafinal procedures. - -2022-10-11 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/system-linux-sparc.ads (Support_Atomic_Primitives): New - constant set to True. - -2022-10-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/ada-tree.def (LOAD_EXPR): New expression code. - * gcc-interface/gigi.h (build_storage_model_load): Declare. - (build_storage_model_store): Likewise. - (instantiate_load_in_expr): Likewise. - (INSTANTIATE_LOAD_IN_EXPR): New macro. - (instantiate_load_in_array_ref): Declare. - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Record_Type>: Set a - fake discriminant number on the fields of the template type. - (gnat_to_gnu_field): Use integer for DECL_DISCRIMINANT_NUMBER. - * gcc-interface/misc.cc (gnat_init_ts): Mark LOAD_EXPR as typed. - * gcc-interface/trans.cc (fold_constant_decl_in_expr) <ARRAY_REF>: - Also preserve the 4th operand. - (Attribute_to_gnu): Deal with LOAD_EXPR of unconstrained array type. - <Attr_Size>: Call INSTANTIATE_LOAD_IN_EXPR for a storage model. - <Attr_Length>: Likewise. - <Attr_Bit_Position>: Likewise. - (get_storage_model): New function. - (get_storage_model_access): Likewise. - (storage_model_access_required_p): Likewise. - (Call_to_gnu): Add GNAT_STORAGE_MODEL parameter and deal with it. - Also deal with actual parameters that have a storage model. - (gnat_to_gnu) <N_Object_Declaratio>: Adjust call to Call_to_gnu. - <N_Explicit_Dereference>: Deal with a storage model access. - <N_Indexed_Component>: Likewise. - <N_Slice>: Likewise. - <N_Selected_Component>: Likewise. - <N_Assignment_Statement>: Adjust call to Call_to_gnu. Deal with a - storage model access either on the LHS, on the RHS or on both. - <N_Function_Cal>: Adjust call to Call_to_gnu. - <N_Free_Statement>: Deal with a pool that is a storage model. - Replace test for UNCONSTRAINED_ARRAY_REF with test on the type. - (gnat_gimplify_expr) <CALL_EXPR>: Tidy up. - <LOAD_EXPR>: New case. - <UNCONSTRAINED_ARRAY_REF>: Move down. - * gcc-interface/utils.cc (maybe_unconstrained_array): Deal with a - LOAD_EXPR by recursing on its first operand. - * gcc-interface/utils2.cc (build_allocator): Deal with a pool that - is a storage model. - (build_storage_model_copy): New function. - (build_storage_model_load): Likewise. - (build_storage_model_store): Likewise. - (instantiate_load_in_expr): Likewise. - (instantiate_load_in_array_ref): Likewise. - (gnat_rewrite_reference) <ARRAY_REF>: Also preserve the 4th operand. - (get_inner_constant_reference) <ARRAY_REF>: Remove useless test. - (gnat_invariant_expr) <ARRAY_REF>: Rewrite test. - -2022-10-06 Steve Baird <baird@adacore.com> - - * sem_ch6.adb - (Analyze_Procedure_Call): Replace "return;" with "goto Leave;", as - per comment preceding body of Analyze_Procedure_Call. - -2022-10-06 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch9.adb (Allows_Lock_Free_Implementation): Reject - conditional goto statements. - -2022-10-06 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst - (Lock_Free): Remove inconsistent periods that end item - descriptions. - * sem_ch9.adb - (Allows_Lock_Free_Implementation): Remove unnecessary guard - against an empty list of parameters; replace low-level entity kind - membership test with a high-level query; refill error message. - * gnat_rm.texi: Regenerate. - -2022-10-06 Alexandre Oliva <oliva@adacore.com> - - * doc/gnat_rm/security_hardening_features.rst: Add examples of - codegen changes in hardened conditionals. - * gnat_rm.texi: Regenerate. - -2022-10-06 Alexandre Oliva <oliva@adacore.com> - - * doc/gnat_rm/security_hardening_features.rst: Add examples of - codegen changes in hardened booleans. Mention that C traps where - Ada raises exceptions. - * gnat_rm.texi: Regenerate. - -2022-10-06 Alexandre Oliva <oliva@adacore.com> - - * doc/gnat_rm/security_hardening_features.rst: Add examples of - codegen changes in stack scrubbing. - * gnat_rm.texi: Regenerate. - -2022-10-06 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch9.adb (Build_Lock_Free_Protected_Subprogram_Body): Replace - shallow copy of protected statements with a deep copy. - -2022-10-06 Marc Poulhiès <poulhies@adacore.com> - - * fe.h (Has_Storage_Model_Type_Aspect) - (Has_Designated_Storage_Model_Aspect, Storage_Model_Object) - (Storage_Model_Copy_From, Storage_Model_Copy_To): Add - declarations. - * sem_util.ads: Add WARNING markers for functions for which a new - C declaration has been added in fe.h - -2022-10-06 Steve Baird <baird@adacore.com> - - * exp_util.adb - (Get_Current_Value_Condition): Treat references occurring within - the condition of an if statement, an elsif, or a while loop in the - same way as references that occur before the start of that - enclosing construct. - -2022-10-06 Gary Dismukes <dismukes@adacore.com> - - * sem_ch4.adb (Analyze_Call): Add test of Comes_From_Source on the - enclosing subprogram's Entity_Id for determining whether to - perform the compile-time accessibility check on actuals passed to - aliased formals in a function call occurring within a return - statement. That test excludes cases where the call occurs within - the return statement of a Pre'Class wrapper function. - -2022-10-06 Bob Duff <duff@adacore.com> - - * exp_ch5.adb - (Expand_Assign_Array_Loop_Or_Bitfield): Minor cleanups. - -2022-10-06 Yannick Moy <moy@adacore.com> - - * sem_prag.adb (Analyze_Pragma): Ignore one variant of pragma - Warnings in GNATprove mode. - -2022-10-06 Bob Duff <duff@adacore.com> - - * exp_ch5.adb - (Expand_Assign_Array_Loop_Or_Bitfield): Disable the - Fast_Copy_Bitfield optimization in certain cases. - -2022-10-06 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb - (Sig_Pragma): Change flag for pragma Refined_State to mean "not - significant"; this is primarily for documentation, because the - exact value of the flag is not really taken into account for - Refined_State. - (Is_Non_Significant_Pragma_Reference): Add special handling for - pragma Refined_State. - -2022-09-29 Ronan Desplanques <desplanques@adacore.com> - - * einfo.ads: remove documentation duplicate - -2022-09-29 Eric Botcazou <ebotcazou@adacore.com> - - * contracts.adb (Build_Subprogram_Contract_Wrapper): Put back the - extended return statement if the result type is built-in-place. - * sem_attr.adb (Analyze_Attribute_Old_Result): Also expect an - extended return statement. - -2022-09-29 Bob Duff <duff@adacore.com> - - * exp_ch5.adb - (Expand_Assign_Array_Loop_Or_Bitfield): Make the checks for - volatile and independent objects more precise. - -2022-09-29 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Collect_Visible_States): Ignore package renamings. - -2022-09-26 Ghjuvan Lacambre <lacambre@adacore.com> - - * doc/gnat_rm/implementation_defined_attributes.rst: Rename Valid_Image. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2022-09-26 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Relocate - auxiliary declarations from the original compilation unit to the - newly created compilation unit for the spec. - -2022-09-26 Piotr Trojanek <trojanek@adacore.com> - - * rtsfind.ads - (RTU_Id): Remove unreferenced packages; fix whitespace. - (RE_Id): Remove unreferenced entities; add comment about entity - that is only used by GNATprove and not by GNAT. - -2022-09-26 Piotr Trojanek <trojanek@adacore.com> - - * s-oscons-tmplt.c (STR, STR1): Remove. - -2022-09-26 Eric Botcazou <ebotcazou@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst - (-gnateT): Document new parameter Long_Long_Long_Size. - * gnat_ugn.texi: Regenerate. - -2022-09-26 Steve Baird <baird@adacore.com> - - * bindgen.adb: When the binder is invoked for the device, specify - the CUDA_Global aspect for the adainit and adafinal procedures via - a pragma instead of via an aspect_specification. - -2022-09-26 Kévin Le Gouguec <legouguec@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst - (Linker Switches): Document support for mold along with gold; add some - advice regarding OpenSSL in the Pro version. - * gnat_ugn.texi: Regenerate. - -2022-09-26 Tucker Taft <taft@adacore.com> - - * sem_util.adb (Original_Aspect_Pragma_Name): Check for Check - pragmas. - -2022-09-26 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch5.adb (Analyze_Iterator_Specification): Delay expansion - based on Full_Analysis flag. - -2022-09-26 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch5.adb (Analyze_Iterator_Specification): Delay expansion of - for iterated component association just like it is done within - quantified expression. - -2022-09-26 Piotr Trojanek <trojanek@adacore.com> - - * contracts.adb (Analyze_Object_Contract): Check SPARK_Mode before - applying SPARK rule. - -2022-09-26 Justin Squirek <squirek@adacore.com> - - * sem_util.adb - (Accessibility_Level): Modify indexed and selected components case - by reducing the scope where Original_Node gets used. - -2022-09-26 Boris Yakobowski <yakobowski@adacore.com> - - * doc/gnat_ugn/gnat_utility_programs.rst: Remove documentation for - gnatmetric. - -2022-09-26 Piotr Trojanek <trojanek@adacore.com> - - * gsocket.h: Remove redefinition of _WIN32_WINNT. - * mingw32.h: Remove conditional definition of _WIN32_WINNT. - -2022-09-26 Piotr Trojanek <trojanek@adacore.com> - - * mingw32.h: Remove condition definition of MAXPATHLEN; the include - directive for stdlib.h was most likely intended to provide the - MAX_PATH. - -2022-09-26 Piotr Trojanek <trojanek@adacore.com> - - * adaint.c: Remove conditional #include directives for old MinGW. - * cal.c: Always include winsock.h, since it is part of modern - MinGW. - * cstreams.c: Remove workaround for old MinGW. - * expect.c: Remove conditional #include directive for old MinGW. - * mingw32.h: Remove STD_MINGW and OLD_MINGW declarations. - * sysdep.c: Remove conditional #include directive for old MinGW. - -2022-09-26 Piotr Trojanek <trojanek@adacore.com> - - * sem_warn.ads (Has_Junk_Name): Reword comment. - -2022-09-20 Martin Liska <mliska@suse.cz> - - * exp_ch6.adb: Replace "the the" with "the". - * sem_ch6.adb: Likewise. - * sem_disp.ads: Likewise. - -2022-09-15 Richard Biener <rguenther@suse.de> - - * gcc-interface/trans.cc (gigi): Do not initialize void_list_node. - -2022-09-12 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Relax assertion when - front-end unnesting is enabled. - -2022-09-12 Justin Squirek <squirek@adacore.com> - - * sem_util.adb - (Innermost_Master_Scope_Depth): Detect and handle case where scope - depth is not set on an enclosing scope. - -2022-09-12 Steve Baird <baird@adacore.com> - - * bindgen.adb: When the binder is invoked for the host, generate a - "with CUDA.Internal;" with clause. - -2022-09-12 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst - (Pragma Unreferenced): Sync description with - Sem_Warn.Has_Junk_Name routine. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2022-09-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Analyze_Attribute [Valid_Scalars]): Move check for - unchecked union before checks for private and public types. - -2022-09-12 Steve Baird <baird@adacore.com> - - * bindgen.adb: When the binder is invoked for the host, it - declares imported subprograms corresponding to the Adainit and - Adafinal routines on the device. Declare string constants and - expression functions for the Ada source names and the link names - of these routines. Generate these subprogram declarations (and - accompanying Import pragmas) in Gen_CUDA_Defs. Generate - CUDA_Execute pragmas to call these subprograms from the host in - Gen_Adafinal and Gen_CUDA_Init. When the binder is invoked for the - device, include a CUDA_Global aspect declaration in the - declarations of Adainit and Adafinal and use the aforementioned - link names in the Export pragmas generated for those two routines. - * debug.adb: Update comments about "d_c" and "d_d" switches. - * opt.ads: Declare new Boolean variable, - Enable_CUDA_Device_Expansion. This complements the existing - Enable_CUDA_Expansion variable, which is used to enable host-side - CUDA expansion. The new variable enables device-side CUDA - expansion. It is currently never set during compilation; it is - only set via a binder switch. - * switch-b.adb - (scan_debug_switches): Add new use of the "-d_d" binder switch. - The new switch and the variable Opt.Enabled_CUDA_Device_Expansion - follow the existing pattern of the "-d_c" switch and the variable - Opt.Enabled_CUDA_Expansion. Flag error if both "-d_c" and "-d_d" - are specified. - -2022-09-12 Eric Botcazou <ebotcazou@adacore.com> - - * contracts.adb (Build_Subprogram_Contract_Wrapper): Remove useless - local variable. In the case of a function, replace the extended - return statement by a block statement declaring a renaming of the - call to the local subprogram after removing side effects manually. - (Expand_Subprogram_Contract): Adjust description accordingly. - * exp_ch6.adb (Expand_Ctrl_Function_Call): Rewrite obsolete - comment and do not apply the transformation twice. - * sem_attr.adb (Analyze_Attribute_Old_Result): Now expect a block - statement instead of an extended return statement. - -2022-09-12 Piotr Trojanek <trojanek@adacore.com> - - * erroutc.adb (Set_Msg_Insertion_Name): Special-case printing with - acronyms. - -2022-09-12 Yannick Moy <moy@adacore.com> - - * libgnat/s-imagei.adb (Image_Integer): Add justification. - -2022-09-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Get_SPARK_Mode_Type): Fix header box; replace - chained IF with a CASE statement. - -2022-09-12 Yannick Moy <moy@adacore.com> - - * sem_prag.adb (Analyze_Pragma): Accept SPARK_Mode=>Auto as - configuration pragma. - (Get_SPARK_Mode): Make the value for Auto explicit. - * snames.ads-tmpl (Name_Auto): Add name. - -2022-09-12 Joffrey Huguet <huguet@adacore.com> - - * doc/gnat_rm/the_gnat_library.rst: Remove paragraphs about SPARK - containers. - * gnat_rm.texi, gnat_ugn.texi: Regenerate. - -2022-09-12 Yannick Moy <moy@adacore.com> - - * libgnat/s-maccod.ads: Mark package as SPARK_Mode Off. - -2022-09-12 Eric Botcazou <ebotcazou@adacore.com> - - * fe.h (Unnest_Subprogram_Mode): Declare. - -2022-09-12 Steve Baird <baird@adacore.com> - - * contracts.adb - (Analyze_Package_Contract): Do not analyze the contract of a - temporary package created just to check conformance of an actual - package. - -2022-09-12 Joffrey Huguet <huguet@adacore.com> - - * Makefile.rtl: Remove SPARK containers filenames. - * impunit.adb: Remove SPARK containers packages names. - * libgnat/a-cfdlli.adb, libgnat/a-cfdlli.ads: Remove content and - add pragma Compile_Time_Error with suitable message. - * libgnat/a-cfhama.adb, libgnat/a-cfhama.ads: Likewise. - * libgnat/a-cfhase.adb, libgnat/a-cfhase.ads: Likewise. - * libgnat/a-cfidll.adb, libgnat/a-cfidll.ads: Likewise. - * libgnat/a-cfinse.adb, libgnat/a-cfinse.ads: Likewise. - * libgnat/a-cfinve.adb, libgnat/a-cfinve.ads: Likewise. - * libgnat/a-cforma.adb, libgnat/a-cforma.ads: Likewise. - * libgnat/a-cforse.adb, libgnat/a-cforse.ads: Likewise. - * libgnat/a-cofove.adb, libgnat/a-cofove.ads: Likewise. - * libgnat/a-cofuma.adb, libgnat/a-cofuma.ads: Likewise. - * libgnat/a-cofuse.adb, libgnat/a-cofuse.ads: Likewise. - * libgnat/a-cofuve.adb, libgnat/a-cofuve.ads: Likewise. - * libgnat/a-cofuba.adb, libgnat/a-cofuba.ads: Remove package. - -2022-09-12 Piotr Trojanek <trojanek@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]): - Adapt to object declaration being rewritten into object renaming. - -2022-09-12 Justin Squirek <squirek@adacore.com> - - * contracts.adb, contracts.ads - (Analyze_Pragmas_In_Declarations): Added to aid in the new - expansion model so that pragmas relating to contracts can get - processed early before the rest of the subprogram containing them. - (Build_Subprogram_Contract_Wrapper): Created to do the majority of - expansion for postconditions. It builds a local wrapper with the - statements and declarations within a given subprogram. - (Is_Prologue_Renaming): Moved out from Process_Preconditions to be - used generally within the contracts package. - (Build_Entry_Contract_Wrapper): Moved from exp_ch7. - (Expand_Subprogram_Contract): Add new local variable Decls to - store expanded declarations needed for evaluation of contracts. - Call new wrapper building procedure and modify comments to match - new expansion model. - (Get_Postcond_Enabled): Deleted. - (Get_Result_Object_For_Postcond): Deleted. - (Get_Return_Success_For_Postcond): Deleted. - (Process_Contract_Cases): Add new parameter to store declarations. - (Process_Postconditions): Add new parameter to store declarations. - (Process_Preconditions): Add new parameter to store declarations. - Add code to move entry-call prologue renamings - * einfo.ads: Document new field Wrapped_Statements and modify - comment for Postconditions_Proc. - * exp_attr.adb - (Analyze_Attribute): Modify expansion of the 'Old attribute to - recognize new expansion model and use Wrapped_Statements instead - of Postconditions_Proc. - * exp_ch6.adb - (Add_Return): Remove special expansion for postconditions. - (Expand_Call): Modify condition checking for calls to access - subprogram wrappers to handle new expansion models. - (Expand_Call_Helper): Remove special expansion for postconditions. - (Expand_Non_Function_Return): Remove special expansion for - postconditions. - (Expand_Simple_Function_Return): Remove special expansion for - postconditions. - * exp_ch7.adb - (Build_Finalizer): Deleted, but replaced by code in - Build_Finalizer_Helper - (Build_Finalizer_Helper): Renamed to Build_Finalizer, and special - handling of 'Old objects removed. - * exp_ch9.adb - (Build_Contract_Wrapper): Renamed and moved to contracts package. - * exp_prag.adb - (Expand_Pragma_Contract_Cases): Delay analysis of contracts since - they now instead get analyzed as part of the wrapper generation - instead of after analysis of their corresponding subprogram's - body. - (Expand_Pragma_Check): Label expanded if-statements which come - from the expansion of assertion statements as - Comes_From_Check_Or_Contract. - * freeze.adb - (Freeze_Entity): Add special case to avoid freezing when a freeze - node gets generated as part of the expansion of a postcondition - check. - * gen_il-gen-gen_nodes.adb: Add new flag - Comes_From_Check_Or_Contract. - * gen_il-fields.ads: Add new field Wrapped_Statements. Add new - flag Comes_From_Check_Or_Contract. - * gen_il-gen-gen_entities.adb: Add new field Wrapped_Statements. - * ghost.adb - (Is_OK_Declaration): Replace Name_uPostconditions with - Name_uWrapped_Statements. - (Is_OK_Statement): Simplify condition due to the loss of - Original_Node as a result of the new expansion model of contracts - and use new flag Comes_From_Check_Or_Contract in its place. - * inline.adb - (Declare_Postconditions_Result): Replace Name_uPostconditions with - Name_uWrapped_Statements. - (Expand_Inlined_Call): Replace Name_uPostconditions with - Name_uWrapped_Statements. - * lib.adb, lib.ads - (ipu): Created to aid in debugging. - * lib-xref.adb - (Generate_References): Remove special handling for postcondition - procedures. - * sem_attr.adb - (Analyze_Attribute_Old_Result): Add new context in which 'Old can - appear due to the changes in expansion. Replace - Name_uPostconditions with Name_uWrapped_Statements. - (Result): Replace Name_uPostconditions with - Name_uWrapped_Statements. - * sem_ch11.adb - (Analyze_Handled_Statements): Remove check to exclude warnings on - useless assignments within postcondition procedures since - postconditions no longer get isolated into separate subprograms. - * sem_ch6.adb - (Analyze_Generic_Subprogram_Body): Modify expansion of generic - subprogram bodies so that contracts (and their associated pragmas) - get analyzed first. - (Analyze_Subprogram_Body_Helper): Remove global HSS variable due - to the HSS of the body potentially changing during the expansion - of contracts. In cases where it was used instead directly call - Handled_Statement_Sequence. Modify expansion of subprogram bodies - so that contracts (and their associated pragmas) get analyzed - first. - (Check_Missing_Return): Create local HSS variable instead of using - a global one. - (Move_Pragmas): Use new pragma table instead of an explicit list. - * sem_elab.adb - (Is_Postconditions_Proc): Deleted since the new scheme of - expansion no longer divides postcondition checks to a separate - subprogram and so cannot be easily identified (similar to - pre-condition checks). - (Info_Call): Remove info printing for _Postconditions subprograms. - (Is_Assertion_Pragma_Target): Remove check for postconditions - procedure - (Is_Bridge_Target): Remove check for postconditions procedure. - (Get_Invocation_Attributes): Remove unneeded local variables and - check for postconditions procedure. - (Output_Call): Remove info printing for _Postconditions - subprograms. - * sem_prag.adb, sem_prag.ads: Add new Pragma table for pragmas - significant to subprograms, along with tech-debt comment. - (Check_Arg_Is_Local_Name): Modified to recognize the new - _Wrapped_Statements internal subprogram and the new expansion - model. - (Relocate_Pragmas_To_Body): Replace Name_uPostconditions with - Name_uWrapped_Statements. - * sem_res.adb - (Resolve_Entry_Call): Add conditional to detect both contract - based wrappers of entries, but also wrappers generated as part of - general contract expansion (e.g. local postconditions - subprograms). - * sem_util.adb - (Accessibility_Level): Verify 'Access is not taken based on a - component of a function result. - (Has_Significant_Contracts): Replace Name_uPostconditions with - Name_uWrapped_Statements. - (Same_Or_Aliased_Subprogram): Add conditional to detect and obtain - the original subprogram based on the new concept of - "postcondition" wrappers. - * sinfo.ads: Add documentation for new flag - Comes_From_Check_Or_Contract. - * snames.ads-tmpl: Remove Name_uPostconditions and add - Name_uWrapped_Statements - -2022-09-12 Eric Botcazou <ebotcazou@adacore.com> - - * exp_unst.adb (Unnest_Subprograms.Search_Subprograms): Skip the - subprogram bodies that are not to be unnested. - -2022-09-12 Steve Baird <baird@adacore.com> - - * sem_aggr.adb - (Resolve_Array_Aggregate): Generate an appropriate error message - in the case where an error in the source code leads to an - N_Iterated_Element_Association node in a bad context. - -2022-09-12 Steve Baird <baird@adacore.com> - - * sem_ch4.adb - (Analyze_Selected_Component): Initialize the local variable Comp - to avoid having CodePeer generate an uninitialized variable - warning. - -2022-09-12 Steve Baird <baird@adacore.com> - - * sem_ch4.adb - (Analyze_Selected_Component): Avoid initializing the local - variable Comp if the variable is not going to be subsequently - referenced. This is a correctness issue because the call to - First_Entity can fail. - -2022-09-12 Steve Baird <baird@adacore.com> - - * sem_ch9.adb - (Satisfies_Lock_Free_Requirements): If Ceiling_Locking locking - policy has been specified, then either return False (if Lock_Free - was not explicitly specified) or generate a warning that ceiling - locking will not be implemented for this protected unit (if - Lock_Free was explicitly specified). Generate an error message (in - addition to returning False) if an explicit Lock_Free aspect - specification is rejected because atomic primitives are not - supported on the given target. - * doc/gnat_rm/implementation_defined_pragmas.rst: Clarify that the - Lock_Free aspect for a protected unit takes precedence over the - Ceiling_Locking locking policy in the case where both apply. - * gnat_rm.texi: Regenerate. - -2022-09-12 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch9.adb (Build_Protected_Spec): Tidy up and propagate the - Comes_From_Source flag onto the new formal parameters. - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not check - references for subprograms generated for protected subprograms. - -2022-09-12 Gary Dismukes <dismukes@adacore.com> - - * sem_res.adb - (Resolve_Equality_Op): Add handling for equality ops with - user-defined literal operands. - * sem_util.ads - (Is_User_Defined_Literal): Update spec comment to indicate - inclusion of named number cases. - * sem_util.adb - (Corresponding_Primitive_Op): Rather than following the chain of - ancestor subprograms via Alias and Overridden_Operation links, we - check for matching profiles between primitive subprograms of the - descendant type and the ancestor subprogram (by calling a new - nested function Profile_Matches_Ancestor). This prevents the - compiler from hanging due to circular linkages via those fields - that can occur between inherited and overriding subprograms - (which might indicate a latent bug, but one that may be rather - delicate to resolve). - (Profile_Matches_Ancestor): New nested subprogram to compare the - profile of a primitive subprogram with the profile of a candidate - ancestor subprogram. - (Is_User_Defined_Literal): Also return True in cases where the - node N denotes a named number (E_Name_Integer and E_Named_Real). - -2022-09-12 Steve Baird <baird@adacore.com> - - * debug.adb: remove a comment. - -2022-09-12 Bob Duff <duff@adacore.com> - - * checks.adb - (Selected_Length_Checks): In the message for an aggregate that has - too few or too many elements, add "!!" to make sure the warning - gets printed in with'ed units. Note that we have to put "!!" - before the "??", because Compile_Time_Constraint_Error detects - warnings by comparing the last character of the message with '?' - (which is bit dubious, but we're not changing that here). - (Length_Mismatch_Info_Message): Use Unat for some things that - can't be negative. Specify Decimal instead of Auto in calls to - UI_Image. - * sem_util.adb - (Compile_Time_Constraint_Error): Minor. - * uintp.adb - (Image_Uint): It's always better to initialize objects on their - declaration. - -2022-09-12 Patrick Bernardi <bernardi@adacore.com> - - * libgnat/system-vxworks7-x86_64-kernel.ads: Set - Support_Atomic_Primitives to false. - * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Ditto. - -2022-09-12 Patrick Bernardi <bernardi@adacore.com> - - * libgnat/system-qnx-arm.ads: Set Support_Atomic_Primitives to - false. - * libgnat/system-vxworks7-aarch64.ads: Ditto. - * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Ditto. - * libgnat/system-vxworks7-arm.ads: Ditto. - * libgnat/system-vxworks7-arm-rtp-smp.ads: Ditto. - * libgnat/system-vxworks7-x86-kernel.ads: Ditto. - * libgnat/system-vxworks7-x86-rtp-smp.ads: Ditto. - -2022-09-12 Bob Duff <duff@adacore.com> - - * par-tchk.adb, par-util.adb, prep.adb, prepcomp.adb, scng.adb: - Use "in" instead of chains of "=" connected with "or else". - Likewise for "not in", "/=", "and then". Misc cleanup. - * par-ch10.adb, par-ch12.adb, par-ch13.adb, par-ch4.adb: Likewise. - * par-ch8.adb, par-ch9.adb, par-endh.adb, par-sync.adb: Likewise. - * par.adb - (Pf_Rec): Remove filler, which was added August 25, 1993 to get - around a compiler limitation that no longer exists. Minor cleanup. - Remove useless qualfications. - * par-ch3.adb: Remove redundant return statements. - (Component_Scan_Loop): Remove loop name; there are no nested - loops, so it's unnecessary and possibly misleading, and it causes - too-long lines. - * par-ch5.adb: DRY: Remove comments that repeat the comments in - par.adb. - (P_Sequence_Of_Statements): It is better to initialize things on - the declaration. And constants are better than variables. - (Test_Statement_Required): Remove unnecessary insertion of a null - statement. - * par-ch6.adb, par-ch7.adb: DRY: Remove comments that repeat the - comments in par.adb. - -2022-09-12 Javier Miranda <miranda@adacore.com> - - Revert: - 2022-09-06 Javier Miranda <miranda@adacore.com> - - * debug.adb - (Debug_Flag_Underscore_X): Switch added temporarily to allow - disabling extra formal checks. - * exp_attr.adb - (Expand_N_Attribute_Reference [access types]): Add extra formals - to the subprogram referenced in the prefix of 'Unchecked_Access, - 'Unrestricted_Access or 'Access; required to check that its extra - formals match the extra formals of the corresponding subprogram - type. - * exp_ch3.adb - (Stream_Operation_OK): Declaration moved to the public part of the - package. - (Validate_Tagged_Type_Extra_Formals): New subprogram. - (Expand_Freeze_Record_Type): Improve the code that takes care of - adding the extra formals of dispatching primitives; extended to - add also the extra formals to renamings of dispatching primitives. - * exp_ch3.ads - (Stream_Operation_OK): Declaration moved from the package body. - * exp_ch6.adb - (Has_BIP_Extra_Formal): Subprogram declaration moved to the public - part of the package. In addition, a parameter has been added to - disable an assertion that requires its use with frozen entities. - (Expand_Call_Helper): Enforce assertion checking extra formals on - thunks. - (Is_Build_In_Place_Function): Return False for entities with - foreign convention. - (Make_Build_In_Place_Call_In_Object_Declaration): Occurrences of - Is_Return_Object replaced by the local variable - Is_OK_Return_Object that evaluates to False for scopes with - foreign convention. - (Might_Have_Tasks): Fix check of class-wide limited record types. - (Needs_BIP_Task_Actuals): Remove assertion to allow calling this - function in more contexts; in addition it returns False for - functions returning objects with foreign convention. - (Needs_BIP_Finalization_Master): Likewise. - (Needs_BIP_Alloc_Form): Likewise. - * exp_ch6.ads - (Stream_Operation_OK): Declaration moved from the package body. In - addition, a parameter has been added to disable assertion that - requires its use with frozen entities. - * freeze.adb - (Check_Itype): Add extra formals to anonymous access subprogram - itypes. - (Freeze_Expression): Improve code that disables the addition of - extra formals to functions with foreign convention. - (Check_Extra_Formals): Moved to package Sem_Ch6 as - Extra_Formals_OK. - (Freeze_Subprogram): Add extra formals to non-dispatching - subprograms. - * sem_ch3.adb - (Access_Subprogram_Declaration): Defer the addition of extra - formals to the freezing point so that we know the convention. - (Check_Anonymous_Access_Component): Likewise. - (Derive_Subprogram): Fix documentation. - * sem_ch6.adb - (Check_Anonymous_Return): Fix check of access to class-wide - limited record types. - (Check_Untagged_Equality): Placed in alphabetical order. - (Extra_Formals_OK): Subprogram moved from freeze.adb. - (Extra_Formals_Match_OK): New subprogram. - (Has_BIP_Formals): New subprogram. - (Has_Extra_Formals): New subprograms. - (Needs_Accessibility_Check_Extra): New subprogram. - (Needs_Constrained_Extra): New subprogram. - (Parent_Subprogram): New subprogram. - (Add_Extra_Formal): Minor code cleanup. - (Create_Extra_Formals): Enforce matching extra formals on - overridden and aliased entities. - (Has_Reliable_Extra_Formals): New subprogram. - * sem_ch6.ads - (Extra_Formals_OK): Subprogram moved from freeze.adb. - (Extra_Formals_Match_OK): New subprogram. - * sem_eval.adb - (Compile_Time_Known_Value): Improve predicate to avoid assertion - failure; found working on this ticket; this change does not affect - the behavior of the compiler because this subprogram has an - exception handler that returns False when the assertion fails. - * sem_util.adb - (Needs_Result_Accessibility_Level): Do not return False for - dispatching operations compiled with Ada_Version < 2012 since they - they may be overridden by primitives compiled with Ada_Version >= - Ada_2012. - -2022-09-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_param): Set DECL_ARTIFICIAL. - -2022-09-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (At_End_Proc_to_gnu): Use the End_Label of - the child Handled_Statement_Sequence for body nodes. - (set_end_locus_from_node): Minor tweaks. - -2022-09-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (Full_View_Of_Private_Constant): New - function returning the Full_View of a private constant, after - looking through a chain of renamings, if any. - (Identifier_to_gnu): Call it on the entity. Small cleanup. - -2022-09-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils.cc (gnat_pushdecl): Preserve named - TYPE_DECLs consistently for all kind of pointer types. - -2022-09-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (gnat_to_gnu) <N_Op_Divide>: Report a - violation of No_Dependence on System.GCC if the result type is - larger than a word. - <N_Op_Shift>: Likewise. - <N_Op_Mod>: Likewise. - <N_Op_Rem>: Likewise. - (convert_with_check): Report a violation of No_Dependence on - System.GCC for a conversion between an integer type larger than - a word and a floating-point type. - -2022-09-06 Steve Baird <baird@adacore.com> - - * sem_ch9.adb - (Allows_Lock_Free_Implementation): Return False if - Support_Atomic_Primitives is False. - -2022-09-06 Steve Baird <baird@adacore.com> - - * debug.adb: Remove comment regarding the -gnatd9 switch. - * doc/gnat_rm/implementation_defined_attributes.rst: Remove all - mention of the Lock_Free attribute. - * gnat_rm.texi, gnat_ugn.texi: Regenerate. - * exp_attr.adb, sem_attr.adb: Remove all mention of the former - Attribute_Lock_Free enumeration element of the Attribute_Id type. - * sem_ch9.adb - (Allows_Lock_Free_Implementation): Remove the Debug_Flag_9 test. - Return False in the case of a protected function whose result type - requires use of the secondary stack. - (Satisfies_Lock_Free_Requirements): This functions checks for - certain constructs and returns False if one is found. In the case - of a protected function, there is no need to check to see if the - protected object is being modified. So it is ok to omit *some* - checks in the case of a protected function. But other checks which - are required (e.g., the test for a reference to a variable that is - not part of the protected object) were being incorrectly omitted. - This could result in accepting "Lock_Free => True" aspect - specifications that should be rejected. - * snames.adb-tmpl: Name_Lock_Free no longer requires special - treatment in Get_Pragma_Id or Is_Pragma_Name (because it is no - longer an attribute name). - * snames.ads-tmpl: Move the declaration of Name_Lock_Free to - reflect the fact that it is no longer the name of an attribute. - Delete Attribute_Lock_Free from the Attribute_Id enumeration type. - -2022-09-06 Steve Baird <baird@adacore.com> - - * libgnat/a-coorse.ads: Restore Aggregate aspect specification for - type Set. - -2022-09-06 Marc Poulhiès <poulhies@adacore.com> - - * exp_util.adb (Build_Allocate_Deallocate_Proc): Add - Alignment_Param in the formal list for calls to SS_Allocate. - -2022-09-06 Piotr Trojanek <trojanek@adacore.com> - - * inline.adb (Process_Formals): Preserve Has_Private_View flag while - rewriting formal into actual parameters. - -2022-09-06 Javier Miranda <miranda@adacore.com> - - * debug.adb - (Debug_Flag_Underscore_X): Switch added temporarily to allow - disabling extra formal checks. - * exp_attr.adb - (Expand_N_Attribute_Reference [access types]): Add extra formals - to the subprogram referenced in the prefix of 'Unchecked_Access, - 'Unrestricted_Access or 'Access; required to check that its extra - formals match the extra formals of the corresponding subprogram - type. - * exp_ch3.adb - (Stream_Operation_OK): Declaration moved to the public part of the - package. - (Validate_Tagged_Type_Extra_Formals): New subprogram. - (Expand_Freeze_Record_Type): Improve the code that takes care of - adding the extra formals of dispatching primitives; extended to - add also the extra formals to renamings of dispatching primitives. - * exp_ch3.ads - (Stream_Operation_OK): Declaration moved from the package body. - * exp_ch6.adb - (Has_BIP_Extra_Formal): Subprogram declaration moved to the public - part of the package. In addition, a parameter has been added to - disable an assertion that requires its use with frozen entities. - (Expand_Call_Helper): Enforce assertion checking extra formals on - thunks. - (Is_Build_In_Place_Function): Return False for entities with - foreign convention. - (Make_Build_In_Place_Call_In_Object_Declaration): Occurrences of - Is_Return_Object replaced by the local variable - Is_OK_Return_Object that evaluates to False for scopes with - foreign convention. - (Might_Have_Tasks): Fix check of class-wide limited record types. - (Needs_BIP_Task_Actuals): Remove assertion to allow calling this - function in more contexts; in addition it returns False for - functions returning objects with foreign convention. - (Needs_BIP_Finalization_Master): Likewise. - (Needs_BIP_Alloc_Form): Likewise. - * exp_ch6.ads - (Stream_Operation_OK): Declaration moved from the package body. In - addition, a parameter has been added to disable assertion that - requires its use with frozen entities. - * freeze.adb - (Check_Itype): Add extra formals to anonymous access subprogram - itypes. - (Freeze_Expression): Improve code that disables the addition of - extra formals to functions with foreign convention. - (Check_Extra_Formals): Moved to package Sem_Ch6 as - Extra_Formals_OK. - (Freeze_Subprogram): Add extra formals to non-dispatching - subprograms. - * sem_ch3.adb - (Access_Subprogram_Declaration): Defer the addition of extra - formals to the freezing point so that we know the convention. - (Check_Anonymous_Access_Component): Likewise. - (Derive_Subprogram): Fix documentation. - * sem_ch6.adb - (Check_Anonymous_Return): Fix check of access to class-wide - limited record types. - (Check_Untagged_Equality): Placed in alphabetical order. - (Extra_Formals_OK): Subprogram moved from freeze.adb. - (Extra_Formals_Match_OK): New subprogram. - (Has_BIP_Formals): New subprogram. - (Has_Extra_Formals): New subprograms. - (Needs_Accessibility_Check_Extra): New subprogram. - (Needs_Constrained_Extra): New subprogram. - (Parent_Subprogram): New subprogram. - (Add_Extra_Formal): Minor code cleanup. - (Create_Extra_Formals): Enforce matching extra formals on - overridden and aliased entities. - (Has_Reliable_Extra_Formals): New subprogram. - * sem_ch6.ads - (Extra_Formals_OK): Subprogram moved from freeze.adb. - (Extra_Formals_Match_OK): New subprogram. - * sem_eval.adb - (Compile_Time_Known_Value): Improve predicate to avoid assertion - failure; found working on this ticket; this change does not affect - the behavior of the compiler because this subprogram has an - exception handler that returns False when the assertion fails. - * sem_util.adb - (Needs_Result_Accessibility_Level): Do not return False for - dispatching operations compiled with Ada_Version < 2012 since they - they may be overridden by primitives compiled with Ada_Version >= - Ada_2012. - -2022-09-06 Arnaud Charlet <charlet@adacore.com> - - * exp_ch4.adb (Expand_N_If_Expression): Disable optimization - for LLVM. - -2022-09-06 Javier Miranda <miranda@adacore.com> - - * sem_prag.adb - (Analyze_Pre_Post_Condition_In_Decl_Part): Improve check to report - an error in non-legal class-wide conditions. - -2022-09-06 Steve Baird <baird@adacore.com> - - * libgnat/a-strsup.adb, libgnat/a-stwisu.adb, libgnat/a-stzsup.adb - (Super_Slice function and procedure): fix slice length computation. - -2022-09-06 Steve Baird <baird@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Improve -gnatVa, -gnatVc, -gnatVd, -gnatVe, -gnatVf, -gnatVo, - -gnatVp, -gnatVr, and -gnatVs switch descriptions. - * gnat_ugn.texi: Regenerate. - -2022-09-06 Justin Squirek <squirek@adacore.com> - - * exp_unst.adb - (Visit_Node): Add N_Block_Statement to the enclosing construct - case since they can now have "At end" procedures. Also, recognize - calls from "At end" procedures when recording subprograms. - -2022-09-06 Piotr Trojanek <trojanek@adacore.com> - - * inline.adb (Replace_Formal): Fix name of the referenced routine. - -2022-09-06 Piotr Trojanek <trojanek@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]): - Remove unnecessary local constant that was shadowing another - constant with the same initial value. - -2022-09-06 Julien Bortolussi <bortolussi@adacore.com> - - * libgnat/a-cforse.ads (Replace): Fix the postcondition. - -2022-09-06 Steve Baird <baird@adacore.com> - - * exp_attr.adb - (Attribute_Valid): Ensure that PBtyp is initialized to a value for - which Is_Scalar_Type is True. - * checks.adb - (Determine_Range): Call Implemention_Base_Type instead of - Base_Type in order to ensure that result is suitable for passing - to Enum_Pos_To_Rep. - -2022-09-06 Bob Duff <duff@adacore.com> - Eric Botcazou <ebotcazou@adacore.com> - - * gen_il-fields.ads - (First_Real_Statement): Remove this field. - * gen_il-gen-gen_nodes.adb: Remove the First_Real_Statement field. - Add the At_End_Proc field to nodes that have both Declarations and - HSS. - * sinfo.ads - (At_End_Proc): Document new semantics. - (First_Real_Statement): Remove comment. - * exp_ch11.adb - (Expand_N_Handled_Sequence_Of_Statements): Remove - First_Real_Statement. - * exp_ch7.adb - (Build_Cleanup_Statements): Remove "Historical note"; it doesn't - seem useful, and we have revision history. - (Create_Finalizer): Insert the finalizer later, typically in the - statement list, in some cases. - (Build_Finalizer_Call): Attach the "at end" handler to the parent - of the HSS node in most cases, so it applies to declarations. - (Expand_Cleanup_Actions): Remove Wrap_HSS_In_Block and the call to - it. Remove the code that moves declarations. Remove some redundant - code. - * exp_ch9.adb - (Build_Protected_Entry): Copy the At_End_Proc. - (Build_Protected_Subprogram_Body): Reverse the sense of Exc_Safe, - to avoid double negatives. Remove "Historical note" as in - exp_ch7.adb. - (Build_Unprotected_Subprogram_Body): Copy the At_End_Proc from the - protected version. - (Expand_N_Conditional_Entry_Call): Use First (Statements(...)) - instead of First_Real_Statement(...). - (Expand_N_Task_Body): Put the Abort_Undefer call at the beginning - of the declarations, rather than in the HSS. Use First - (Statements(...)) instead of First_Real_Statement(...). Copy the - At_End_Proc. - * inline.adb - (Has_Initialized_Type): Return False if the declaration does not - come from source. - * libgnarl/s-tpoben.ads - (Lock_Entries, Lock_Entries_With_Status): Document when these - things raise Program_Error. It's not clear that - Lock_Entries_With_Status ought to be raising exceptions, but at - least it's documented now. - * sem.ads: Minor comment fixes. - * sem_ch6.adb - (Analyze_Subprogram_Body_Helper): Use First (Statements(...)) - instead of First_Real_Statement(...). - (Analyze_Null_Procedure): Minor comment fix. - * sem_util.adb - (Might_Raise): Return True for N_Raise_Expression. Adjust the part - about exceptions generated by the back end to match the reality of - what the back end generates. - (Update_First_Real_Statement): Remove. - * sem_util.ads: Remove First_Real_Statement from comment. - * sinfo-utils.ads - (First_Real_Statement): New function that always returns Empty. - This should be removed once gnat-llvm and codepeer have been - updated to not refer to First_Real_Statement. - * sprint.adb - (Sprint_At_End_Proc): Deal with printing At_End_Proc. - * sem_prag.adb: Minor comment fixes. - * gcc-interface/trans.cc (At_End_Proc_to_gnu): New function. - (Subprogram_Body_to_gnu): Call it to handle an At_End_Proc. - (Handled_Sequence_Of_Statements_to_gnu): Likewise. Remove the - support for First_Real_Statement and clean up the rest. - (Exception_Handler_to_gnu): Do not push binding levels. - (Compilation_Unit_to_gnu): Adjust call to process_decls. - (gnat_to_gnu) <N_Package_Specification>: Likewise. <N_Entry_Body>: - Likewise. <N_Freeze_Entity>: Likewise. <N_Block_Statement>: - Likewise and call At_End_Proc_to_gnu to handle an At_End_Proc. - <N_Package_Body>: Likewise. - (process_decls): Remove GNAT_END_LIST parameter and adjust - recursive calls. - -2022-09-06 Steve Baird <baird@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst: Document new - temporary rule that a "when others =>" case choice must be given - when casing on a composite selector. - * gnat_rm.texi: Regenerate. - -2022-09-06 Steve Baird <baird@adacore.com> - - * sem_case.adb: Define a new Boolean constant, - Simplified_Composite_Coverage_Rules, initialized to True. Setting - this constant to True has two effects: 1- Representative value - sets are not fully initialized - this is done to avoid capacity - problems, as well as for performance. 2- In - Check_Case_Pattern_Choices, the only legality check performed is a - check that a "when others =>" choice is present. - -2022-09-06 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Fix error - template. - -2022-09-06 Steve Baird <baird@adacore.com> - - * exp_attr.adb - (Make_Range_Test): In determining which subtype's First and Last - attributes are to be queried as part of a range test, call - Validated_View in order to get a scalar (as opposed to private) - subtype. - (Attribute_Valid): In determining whether to perform a signed or - unsigned comparison for a range test, call Validated_View in order - to get a scalar (as opposed to private) type. Also correct a typo - which, by itself, is the source of the problem reported for this - ticket. - -2022-09-06 Steve Baird <baird@adacore.com> - - * sem_ch4.adb - (Analyze_Selected_Component): Define new Boolean-valued function, - Constraint_Has_Unprefixed_Discriminant_Reference, which takes a - subtype that is subject to a discriminant-dependent constraint and - returns True if any of the constraint values are unprefixed - discriminant names. Usually, the Etype of a selected component - node is set to Etype of the component. However, in the case of an - access-to-array component for which this predicate returns True, - we instead use the base type of the Etype of the component. - Normally such problematic discriminant references are addressed by - calling Build_Actual_Subtype_Of_Component, but that doesn't work - if Full_Analyze is False. - -2022-09-06 Piotr Trojanek <trojanek@adacore.com> - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Include - System.Value_U_Spec and System.Value_I_Spec units. - -2022-09-06 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-powflt.ads (Powfive): New constant array. - * libgnat/s-powlfl.ads (Powfive): Likewise. - (Powfive_100): New constant. - (Powfive_200): Likewise. - (Powfive_300): Likewise. - * libgnat/s-powllf.ads (Powfive): New constant array. - (Powfive_100): New constant. - (Powfive_200): Likewise. - (Powfive_300): Likewise. - * libgnat/s-valflt.ads (Impl): Replace Powten with Powfive and pass - Null_Address for the address of large constants. - * libgnat/s-vallfl.ads (Impl): Replace Powten with Powfive and pass - the address of large constants. - * libgnat/s-valllf.ads (Impl): Likewise. - * libgnat/s-valrea.ads (System.Val_Real): Replace Powten_Address - with Powfive_Address and add Powfive_{1,2,3}00_Address parameters. - * libgnat/s-valrea.adb (Is_Large_Type): New boolean constant. - (Is_Very_Large_Type): Likewise. - (Maxexp32): Change value of 10 to that of 5. - (Maxexp64): Likewise. - (Maxexp80): Likewise. - (Integer_to_Real): Use a combination of tables of powers of 5 and - scaling if the base is 10. - (Large_Powten): Rename into... - (Large_Powfive): ...this. Add support for large constants. - (Large_Powfive): New overloaded function for very large exponents. - -2022-09-06 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_aspects.rst - (Aspect Iterable): Include Last and Previous primitives in - syntactic and semantic description. - * exp_attr.adb - (Expand_N_Attribute_Reference): Don't expect attributes like - Iterable that can only appear in attribute definition clauses. - * sem_ch13.adb - (Analyze_Attribute_Definition_Clause): Prevent crash on - non-aggregate Iterable attribute; improve basic diagnosis of - attribute values. - (Resolve_Iterable_Operation): Improve checks for illegal - primitives in aspect Iterable, e.g. with wrong number of formal - parameters. - (Validate_Iterable_Aspect): Prevent crashes on syntactically - illegal aspect expression. - * sem_util.adb - (Get_Cursor_Type): Fix style. - * gnat_ugn.texi, gnat_rm.texi: Regenerate. - -2022-09-06 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-valuer.ads (System.Value_R): Add Parts formal parameter - as well as Data_Index, Scale_Array and Value_Array types. - (Scan_Raw_Real): Change type of Scale and return type. - (Value_Raw_Real): Likewise. - * libgnat/s-valuer.adb (Round_Extra): Reorder parameters and adjust - recursive call. - (Scan_Decimal_Digits): Reorder parameters, add N parameter and deal - with multi-part scale and value. - (Scan_Integral_Digits): Likewise. - (Scan_Raw_Real): Change type of Scale and return type and deal with - multi-part scale and value. - (Value_Raw_Real): Change type of Scale and return type and tidy up. - * libgnat/s-valued.adb (Impl): Pass 1 as Parts actual parameter. - (Scan_Decimal): Adjust to type changes. - (Value_Decimal): Likewise. - * libgnat/s-valuef.adb (Impl): Pass 1 as Parts actual parameter. - (Scan_Fixed): Adjust to type changes. - (Value_Fixed): Likewise. - * libgnat/s-valrea.adb (Need_Extra): Delete. - (Precision_Limit): Always use the precision of the mantissa. - (Impl): Pass 2 as Parts actual parameter. - (Exact_Log2): New expression function. - (Integer_to_Real): Change type of Scale and Val and deal with a - 2-part integer mantissa. - (Scan_Real): Adjust to type changes. - (Value_Real): Likewise. - -2022-09-05 Martin Liska <mliska@suse.cz> - - * sigtramp-vxworks-target.h: Rename DBX_REGISTER_NUMBER to - DEBUGGER_REGNO. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.adb (Check_Bounds): Move code and comment related to - check for null array aggregate from Resolve_Null_Array_Aggregate. - * sem_aggr.ads (Is_Null_Aggregate): Move spec from unit body. - * sem_aggr.adb (Resolve_Null_Array_Aggregate): Move check to - expansion. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_aggr.adb - (Array_Aggr_Subtype): Bypass call to Collect_Aggr_Bound with - dedicated code for null array aggregates. - (Resolve_Array_Aggregate): Remove special handling of null array - aggregates. - (Resolve_Array_Aggregate): Create bounds, but let - Array_Aggr_Subtype create itype entities. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_aggr.adb (Resolve_Null_Array_Aggregate): Insert check as a - Raise_Constraint_Error node and not an If_Statement. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_aggr.adb - (Resolve_Container_Aggregate): Style cleanup. - (Resolve_Record_Aggregate): Remove redundant guard. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_util.ads (Entry_Names_OK): Remove spec. - * exp_util.adb (Entry_Names_OK): Remove body. - -2022-09-05 Steve Baird <baird@adacore.com> - - * libgnat/a-coinve.adb, libgnat/a-convec.adb - (Append): If the Append that takes an Element and a Count is - called with Count = 1, then call the Append that does not take a - Count parameter; otherwise call the code that handles the general - case. Move the special case detection/handling code that was - formerly in that version of Append into the version that does not - take a Count parameter, so that now both versions get the - performance benefit. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_aggr.adb (Resolve_Null_Array_Aggregate): Create internal - type for the aggregate as an itype. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.ads (Itype_Has_Declaration): Remove spec. - * sem_util.adb (Itype_Has_Declaration): Remove body. - -2022-09-05 Steve Baird <baird@adacore.com> - - * exp_ch3.adb - (Expand_N_Object_Declaration): In deciding whether to emit a DIC - check, we were previously testing the Has_Init_Expression flag. - Continue to test that flag as before, but add a test for the - syntactic presence of an initial value in the object declaration. - This new test would not supersede the old test in the case where - an explicit initial value has been eliminated as part of some tree - transformation. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch13.adb (Validate_Unchecked_Conversions): Use - Has_Warnings_Off. - * sem_elab.adb (Check_Internal_Call_Continue): Likewise. - -2022-09-05 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-valuer.adb (Scan_Decimal_Digits): Consistently avoid - initializing local variables. - (Scan_Integral_Digits): Likewise. - (Scan_Raw_Real): Likewise and add a couple of comments. - -2022-09-05 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch13.adb (Freeze_Entity_Checks): Build predicate functions - only after checking the variant part of a record type, if any. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.adb - (Two_Pass_Aggregate_Expansion): Expand into implicit rather than - ordinary loops, to detect violations of restriction - No_Implicit_Loops. - (Generate_Loop): Likewise for delta array aggregates. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Expand iterated - component association with an unanalyzed copy of iterated - expression. The previous code worked only because the expanded - loop used both an analyzed copy of the iterator_specification and - an analyzed copy of the iterated expression. Now the iterated - expression is reanalyzed in the context of the expanded loop. - * par-ch4.adb (Build_Iterated_Component_Association): Don't set - defining identifier when iterator specification is present. - * sem_aggr.adb (Resolve_Iterated_Association): Pick index name - from the iterator specification. - * sem_elab.adb (Traverse_Potential_Scenario): Handle iterated - element association just like iterated component association. Not - strictly part of this fix, but still worth for the completeness. - * sem_res.adb (Resolve): Pick index name from the iterator - specification, when present. - * sem_util.adb (Traverse_More): For completeness, just like the - change in Traverse_Potential_Scenario. - * sinfo.ads - (ITERATED_COMPONENT_ASSOCIATION): Fix and complete description. - (ITERATED_ELEMENT_ASSOCIATION): Likewise. - -2022-09-05 Bob Duff <duff@adacore.com> - - * sem_ch6.adb - (Analyze_Subprogram_Body_Helper): Use First_Real_Statement to deal - with this case. Note that First_Real_Statement is likely to be - removed as part of this ticket, so this is a temporary fix. - -2022-09-05 Arnaud Charlet <charlet@adacore.com> - - * ali.adb (Scan_ALI): Special case i-c*.ali when setting - Sec_Stack_Used. - -2022-09-05 Bob Duff <duff@adacore.com> - - * par-ch5.adb - (P_Sequence_Of_Statements): Call Error_Msg_GNAT_Extension to give - the error message. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_aggr.adb (Resolve_Iterated_Component_Association): Split - processing of cases with and without iterator specification; reuse - analysis of iterator specification; improve diagnostics for - premature usage of iterator index in discrete choices. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch5.adb (Check_Subtype_Definition): Remove redundant call to - Present; style cleanup. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_aggr.adb (Resolve_Array_Aggregate): Change an inconsistent - use of False into its local equivalent Failure. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_aggr.adb (Resolve_Iterated_Component_Association): Change - generic name Ent to a more intuitive Scop; rename Remove_Ref to - Remove_Reference, so it can be instantiated as a traversal routine - with plural name. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch4.adb - (Is_Empty_Range): Move error reporting to the caller. - (Analyze_Qualified_Expression): Move error reporting from Is_Empty_Range; - add matching call to End_Scope before rewriting and returning. - -2022-09-05 Arnaud Charlet <charlet@adacore.com> - - * bindgen.adb (Gen_Elab_Calls): Check for Check_Elaboration_Flags. - * bindusg.adb (Display): Add -k. - * opt.ads (Check_Elaboration_Flags): New. - * switch-b.adb (Scan_Binder_Switches): Add processing of -k. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add - documentation for -k and -K. - * gnat_ugn.texi: Regenerate. - -2022-09-05 Arnaud Charlet <charlet@adacore.com> - - * treepr.adb: Remove local To_Lower and use the procedure - version instead. - -2022-09-05 Eric Botcazou <ebotcazou@adacore.com> - - * aspects.ads (Delaying Evaluation of Aspect): Fix typos. - * exp_ch3.adb (Freeze_Type): Do not generate Invariant and DIC - procedures for internal types. - * exp_util.adb (Build_DIC_Procedure_Body): Adjust comment. - * freeze.adb (Freeze_Entity): Call Inherit_Delayed_Rep_Aspects for - subtypes and derived types only after the base or parent type has - been frozen. Remove useless freezing for first subtype. - (Freeze_Fixed_Point_Type): Call Inherit_Delayed_Rep_Aspects too. - * layout.adb (Set_Elem_Alignment): Deal with private types. - * sem_ch3.adb (Build_Derived_Enumeration_Type): Build the implicit - base as an itype and do not insert its declaration in the tree. - (Build_Derived_Numeric_Type): Do not freeze the implicit base. - (Derived_Standard_Character): Likewise. - (Constrain_Enumeration): Inherit the chain of representation items - instead of replacing it. - * sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): Add ??? comment. - (Inherit_Delayed_Rep_Aspects): Declare. - * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Do not invoke - Inherit_Delayed_Rep_Aspects. - (Inherit_Aspects_At_Freeze_Point): Deal with private types. - (Inherit_Delayed_Rep_Aspects): Move to library level. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * einfo-utils.adb (Number_Entries): Refine type of a local variable. - * exp_attr.adb (Expand_N_Attribute_Reference): Rename Conctyp to - Prottyp; refactor repeated calls to New_Occurrence_Of; replace - Number_Entries with Has_Entries. - * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise; remove Subprg - variable (apparently copy-pasted from expansion of the attribute). - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference): Fix detection of the - enclosing protected type and of the enclosing protected subprogram. - * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * freeze.adb (Freeze_Itype): Remove excessive guard. - * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Likewise. - -2022-09-05 Piotr Trojanek <trojanek@adacore.com> - - * sprint.adb (Sprint_Node_Actual): Handle iterator_specification within - iterated_component_association and iterator_filter within - iterator_specification. - -2022-09-05 Arnaud Charlet <charlet@adacore.com> - - * doc/gnat_ugn/gnat_and_program_execution.rst: Fix rest syntax - * gnat_ugn.texi: Regenerate. - -2022-09-02 Eric Botcazou <ebotcazou@adacore.com> - - * exp_util.adb (Expand_Subtype_From_Expr): Be prepared for rewritten - aggregates as expressions. - -2022-09-02 Gary Dismukes <dismukes@adacore.com> - - * exp_ch6.adb (Expand_Simple_Function_Return) Bypass creation of an - actual subtype and unchecked conversion to that subtype when the - underlying type of the expression has discriminants without defaults. - -2022-09-02 Eric Botcazou <ebotcazou@adacore.com> - - * exp_util.adb (Expand_Subtype_From_Expr): Check for the presence - of the Is_Constr_Subt_For_U_Nominal flag instead of the absence - of the Is_Constr_Subt_For_UN_Aliased flag on the subtype of the - expression of an object declaration before reusing this subtype. - * sem_ch3.adb (Analyze_Object_Declaration): Do not incorrectly - set the Is_Constr_Subt_For_UN_Aliased flag on the actual subtype - of an array with definite nominal subtype. Remove useless test. - -2022-09-02 Eric Botcazou <ebotcazou@adacore.com> - - * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst - (No_Dependence): Cite implicit dependences on the runtime library. - * gnat_rm.texi, gnat_ugn.texi: Regenerate. - -2022-09-02 Claire Dross <dross@adacore.com> - - * libgnat/a-strmap.adb: Add variants to simple and while loops. - * libgnat/a-strsea.adb: Idem. - -2022-09-02 Claire Dross <dross@adacore.com> - - * libgnat/s-expmod.adb (Lemma_Add_Mod): Add new lemma to factor - out a complex sub-proof. - (Exp_Modular): Add assertion to help proof. - -2022-09-02 Claire Dross <dross@adacore.com> - - * libgnat/s-widthu.adb (Lemma_Euclidean): Lemma to prove the - relation between the quotient/remainder of a division. - -2022-09-02 Yannick Moy <moy@adacore.com> - - * libgnat/s-aridou.adb: Add or rework ghost code. - * libgnat/s-aridou.ads: Add Big_Positive subtype. - -2022-09-02 Eric Botcazou <ebotcazou@adacore.com> - - * doc/gnat_ugn/gnat_and_program_execution.rst - (Non-Symbolic Traceback): Update section. - * gnat_rm.texi, gnat_ugn.texi, gnat-style.texi: Regenerate. - -2022-09-02 Claire Dross <dross@adacore.com> - - * libgnat/a-nbnbig.ads: Add Always_Return annotation. - * libgnat/s-vaispe.ads: New ghost unit for the specification of - System.Value_I. Restore proofs. - * libgnat/s-vauspe.ads: New ghost unit for the specification of - System.Value_U. Restore proofs. - * libgnat/s-valuei.adb: The specification only subprograms are - moved to System.Value_I_Spec. Restore proofs. - * libgnat/s-valueu.adb: The specification only subprograms are - moved to System.Value_U_Spec. Restore proofs. - * libgnat/s-valuti.ads - (Uns_Params): Generic unit used to bundle together the - specification functions of System.Value_U_Spec. - (Int_Params): Generic unit used to bundle together the - specification functions of System.Value_I_Spec. - * libgnat/s-imagef.adb: It is now possible to instantiate the - appropriate specification units instead of creating imported ghost - subprograms. - * libgnat/s-imagei.adb: Update to refactoring of specifications - and fix proofs. - * libgnat/s-imageu.adb: Likewise. - * libgnat/s-imgint.ads: Ghost parameters are grouped together in a - package now. - * libgnat/s-imglli.ads: Likewise. - * libgnat/s-imgllu.ads: Likewise. - * libgnat/s-imgllli.ads: Likewise. - * libgnat/s-imglllu.ads: Likewise. - * libgnat/s-imguns.ads: Likewise. - * libgnat/s-vallli.ads: Likewise. - * libgnat/s-valllli.ads: Likewise. - * libgnat/s-imagei.ads: Likewise. - * libgnat/s-imageu.ads: Likewise. - * libgnat/s-vaispe.adb: Likewise. - * libgnat/s-valint.ads: Likewise. - * libgnat/s-valuei.ads: Likewise. - * libgnat/s-valueu.ads: Likewise. - * libgnat/s-vauspe.adb: Likewise. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (gnat_to_gnu) <N_Assignment_Statement>: Fix - a couple of minor issues in the commentary. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (gigi): Report a violation of No_Dependence - on System.Stack_Checking if Stack_Check_Probes_On_Target is not set - and -fstack-check is specified. - (build_binary_op_trapv): Report violatiosn of No_Dependence on both - System.Arith_64 and System.Arith_128. - (add_decl_expr): If an initialized variable, report a violation of - No_Dependence on System.Memory_Copy for large aggregate types. - (gnat_to_gnu) <N_Op_Eq>: Report a violation - of No_Dependence on System.Memory_Compare for large aggregate types. - <N_Assignment_Statement>! Report a violation of No_Dependence on - System.Memory_Set, System.Memory_Move or else System.Memory_Copy for - large aggregate types. - * gcc-interface/utils2.cc (maybe_wrap_malloc): Report a violation of - No_Dependence on System.Memory. - (maybe_wrap_free): Add GNAT_NODE parameter and report a violation of - No_Dependence on System.Memory. - (build_call_alloc_dealloc): Adjust call to maybe_wrap_free. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Do not set the debug - type for vector types. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: - Undo questionable renaming. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (Gigi_Cloned_Subtype): Handle private case. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (gigi): Add one more leading underscore to - name of stack checking function. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (Gigi_Cloned_Subtype): New function. - (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Call it to get the - cloned subtype, if any. - <E_Floating_Point_Subtype>: Likewise. - <E_Array_Subtype>: Likewise. - <E_Record_Subtype>: Likewise. - <E_Access_Subtype>: Likewise. - Deal with all cloned subtypes on the main path. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: Do - not reuse the TYPE_DECL of the base type. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils.cc (gnat_pushdecl): Build DECL_ORIGINAL_TYPE - only for pointer types. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils2.cc (build_binary_op) <EQ_EXPR>: Also accept - pointer-to-function types that are not variant of each other. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils.cc (unchecked_convert): Also pad in most cases - if the source is not a scalar type but the destination is. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Save - and restore the alias set of the dummy pointer-to-array type. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * snames.ads-tmpl (Name_Memory_Compare): New package name. - (Name_Memory_Copy): Likewise. - (Name_Memory_Move): Likewise. - (Name_Memory_Set): Likewise. - -2022-07-13 Gary Dismukes <dismukes@adacore.com> - - * sem_ch13.adb (Check_And_Resolve_Storage_Model_Type_Argument): - Call the System.Case_Util.To_Mixed procedure rather than the - function, to avoid bootstrap problems. - -2022-07-13 Gary Dismukes <dismukes@adacore.com> - - * aspects.ads (Aspect_Argument): Change the association for - Aspect_Storage_Model_Type from Expression to - Optional_Expression. - * exp_util.ads (Find_Storage_Op): Update comment to indicate - that Empty can be returned in the case where a storage-model - operation is defaulted. - * exp_util.adb (Find_Storage_Op): Allow the function to return - Empty in Storage_Model_Type case rather than raising - Program_Error, so that Procedure_To_Call fields in N_Allocator - and N_Free_Statement nodes will be set to Empty in the defaulted - native storage-model case. - * sem_ch13.adb: Add with and use of System.Case_Util (and - reformat context_clause). - (Check_Aspect_At_Freeze_Point): Return with no action for a - Storage_Model_Type aspect with no expression (fully-defaulted - native memory-model case). - (Resolve_Storage_Model_Type_Argument): If an Address_Type has - not been explicitly specified, then set Addr_Type to denote type - System.Address. - (Validate_Storage_Model_Type_Aspect): Return immediately in the - case where the aspect has no Expression (fully-defaulted native - memory-model case). No longer issue an error when Address_Type - isn't specified, and instead use type System.Address as the - default address type. When the address type is - System.Address (whether specified or defaulted), no longer issue - errors for any other "subaspects" that aren't specified, since - in that case those are allowed to default as well. Remove ??? - comment about needing to check for duplicates, which is now - addressed. - (Check_And_Resolve_Storage_Model_Type_Argument): New procedure - to check that an association for a storage-model subaspect in - the aggregate has not been specified earlier in the aggregate, - and to then resolve the expression of the association and save - the resolved entity. Called by - Validate_Storage_Model_Type_Aspect. - * sem_util.ads (Storage_Model_Support): Update comments on specs - of the functions Get_Storage_Model_Type_Entity, - Storage_Model_Address_Type, and Storage_Model_Null_Address to - indicate the behavior when the address type is System.Address - (the native memory-model case). - * sem_util.adb - (Storage_Model_Support.Get_Storage_Model_Type_Entity): Suppress - the search for the given subaspect name (Nam) when the - Storage_Model_Type aspect is fully defaulted (i.e., no - Expression is present) and simply return. In cases where the - search is done, but no association that matches Nam is found, - return System.Address for the Name_Address_Type case, return - System.Null_Address for the Name_Null_Address case, and return - Empty for all other cases. - -2022-07-13 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch13.adb (Relocate_Expression): New routine with code that - previously was only applied to Pre and Post aspects. - (Analyze_Aspect_Specifications): Apply the above routine to - other aspects, in particular to aspects Address, Attach_Handler, - Predicate and Interrupt_Priority. - -2022-07-13 Piotr Trojanek <trojanek@adacore.com> - - * inline.adb (Build_Body_To_Inline): Instead of manipulating the - Full_Analysis flag, use the Inside_A_Generic flag (which is - conveniently manipulated by Start_Generic/End_Generic, together - with Expander_Active). - * sem_attr.adb (Analyze_Attribute_Old_Result): Adapt comment and - assertion to different flag that is set while building - body-to-inline. - -2022-07-13 Alexandre Oliva <oliva@adacore.com> - - * doc/gnat_rm/security_hardening_features.rst: Clarify the need - for choices after -fzero-call-used-regs and -fstrub. - * gnat_rm.texi: Regenerate. - -2022-07-13 Yannick Moy <moy@adacore.com> - - * sem_prag.adb (Analyze_Pragma): Recognize a generated subtype - with Ghost pragma for generic instantiations. - -2022-07-13 Yannick Moy <moy@adacore.com> - - * libgnat/s-aridou.adb (Lemma_Mult_Div, Lemma_Powers): New - lemmas. - (Prove_Sign_Quotient): New local lemma. - (Prove_Signs): Expand definition of Big_R and Big_Q in the - postcondition. Add intermediate assertions. - (Double_Divide): Call new lemma. - (Lemma_Div_Eq): Provide body for proving lemma. - (Lemma_Powers_Of_2, Lemma_Shift_Without_Drop, - Prove_Dividend_Scaling, Prove_Multiplication, Prove_Z_Low): Call - lemmas, add intermediate assertions. - -2022-07-13 Piotr Trojanek <trojanek@adacore.com> - - * inline.adb (Has_Single_Return): Add guard for the subsequent - call to Expression. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Acts_As_Spec - earlier if the body is not the completion of a declaration. - (Check_Untagged_Equality): Deal with subprogram bodies that are - not the completion of a declaration and make sure that they are - not flagged when they cause the freezing of the type themselves. - Give a warning on the freezing point of the type in more cases. - * sem_res.adb (Resolve_Equality_Op): Revert latest change. - -2022-07-13 Yannick Moy <moy@adacore.com> - - * libgnat/s-arit32.adb (Scaled_Divide32): Add an assertion, move - the call of Prove_Sign_R around. - -2022-07-13 Marc Poulhiès <poulhies@adacore.com> - - * exp_ch4.adb (Expand_N_If_Expression): Test for compile time - known bounds when handling slices. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * exp_util.ads (Integer_Type_For): Mention Small_Integer_Type_For. - (Small_Integer_Type_For): Mention Integer_Type_For. - -2022-07-13 Eric Botcazou <ebotcazou@adacore.com> - - * sem_res.adb (Resolve_Equality_Op): Make sure that the user-defined - operator of an untagged record type is declared ahead of an instance - before using it to resolve the equality operator in the instance. - -2022-07-13 Justin Squirek <squirek@adacore.com> - - * exp_ch6.adb (Expand_N_Extended_Return_Statement): Add default - initialization for Stmts. - * sem_ch12.adb (Analyze_Associations): Add default - initialization for Match. - * libgnat/a-ztenau.adb (Scan_Enum_Lit): Remove duplicated - boolean test. - * libgnat/g-spipat.adb (XMatch): Combine duplicated cases. - -2022-07-13 Piotr Trojanek <trojanek@adacore.com> - - * par-prag.adb (Check_Arg_Count): Change parameter type from Int - to Nat, because this parameter is compared to Arg_Count variable - which is of type Nat. Also, it wouldn't make sense to check for - negative number of pragma arguments. - -2022-07-12 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch11.adb (Expand_N_Exception_Declaration): Sync comment - with declaration in System.Standard_Library. - -2022-07-12 Marc Poulhiès <poulhies@adacore.com> - - * libgnat/s-secsta.adb (Has_Enough_Free_Memory): Check for full - chunk before computing the available size. - -2022-07-12 Steve Baird <baird@adacore.com> - - * exp_ch4.adb (Expand_Nonbinary_Modular_Op.Expand_Modular_Op): - Reimplement choice of which predefined type to use for the - implementation of a predefined operation of a modular type with - a non-power-of-two modulus. - -2022-07-12 Justin Squirek <squirek@adacore.com> - - * einfo.ads: Modify documentation for In_Use flag to include - scope stack manipulation. - * sem_ch8.adb (Use_One_Type): Add condition to return when - attempting to detect redundant use_type_clauses in child units - in certain cases. - -2022-07-12 Eric Botcazou <ebotcazou@adacore.com> - - * restrict.ads (type ND_Entry): Add System_Child component. - (Check_Restriction_No_Dependence_On_System): Declare. - * restrict.adb (Global_Restriction_No_Tasking): Move around. - (Violation_Of_No_Dependence): New procedure. - (Check_Restriction_No_Dependence): Call Violation_Of_No_Dependence - to report a violation. - (Check_Restriction_No_Dependence_On_System): New procedure. - (Set_Restriction_No_Dependenc): Set System_Child component if the - unit is a child of System. - * snames.ads-tmpl (Name_Arith_64): New package name. - (Name_Arith_128): Likewise. - (Name_Memory): Likewise. - (Name_Stack_Checking): Likewise. - * fe.h (Check_Restriction_No_Dependence_On_System): Declare. - -2022-07-12 Bob Duff <duff@adacore.com> - - * par.adb (P_Declarative_Items): New function to parse a - sequence of declarative items. - (P_Sequence_Of_Statements): Add Handled flag, to indicate - whether to wrap the result in a block statement. - * par-ch3.adb (P_Declarative_Item): Rename P_Declarative_Items - to be P_Declarative_Item, because it really only parses a single - declarative item, and to avoid conflict with the new - P_Declarative_Items. Add In_Statements. We keep the old - error-recovery mechanisms in place when In_Statements is False. - When True, we don't want to complain about statements, because - we are parsing a sequence of statements. - (P_Identifier_Declarations): If In_Statements, and we see what - looks like a statement, we no longer give an error. We return to - P_Sequence_Of_Statements with Done = True, so it can parse the - statement. - * par-ch5.adb (P_Sequence_Of_Statements): Call - P_Declarative_Items to parse declarative items that appear in - the statement list. Remove error handling code that complained - about such items. Check some errors conservatively. Wrap the - result in a block statement when necessary. - * par-ch11.adb (P_Handled_Sequence_Of_Statements): Pass - Handled => True to P_Sequence_Of_Statements. - * types.ads (No, Present): New functions for querying - Source_Ptrs (equal, not equal No_Location). - -2022-07-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): - Fix range of iteration. - -2022-07-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): - Do not process expression of unknown restrictions. - -2022-07-12 Vasiliy Fofanov <fofanov@adacore.com> - - * makeusg.adb, - doc/gnat_ugn/building_executable_programs_with_gnat.rst: Move -P - to the top of switches list and make it clear that gnatmake - passes the ball to gprbuild if -P is set. - * gnat_ugn.texi: Regenerate. - -2022-07-12 Bob Duff <duff@adacore.com> - - * libgnat/g-socthi__vxworks.adb (C_Connect): Suppress new warning. - -2022-07-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Set_Boolean_Result): Simplify using - Boolean_Literals. - -2022-07-12 Yannick Moy <moy@adacore.com> - - * errout.adb (Record_Compilation_Errors): Remove global - variable. - (Compilation_Errors): Simplify. - (Initialize): Inline Reset_Warnings. - (Reset_Warnings): Remove. - * errout.ads (Reset_Warnings): Remove. - (Compilation_Errors): Update comment. - * gnat1drv.adb (Adjust_Global_Switches): Ignore all frontend - warnings in GNATprove mode, except regarding elaboration and - suspicious contracts. - -2022-07-12 Eric Botcazou <ebotcazou@adacore.com> - - * sem_util.adb (Caller_Known_Size_Record): Make entry assertion - more robust and add guard for null argument. For protected - types, invoke Caller_Known_Size_Record on - Corresponding_Record_Type. - (Needs_Secondary_Stack): Likewise. - -2022-07-12 Doug Rupp <rupp@adacore.com> - - * libgnat/system-vxworks7-ppc-rtp.ads: Remove - * libgnat/system-vxworks7-x86-rtp.ads: Likewise. - -2022-07-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch12.adb (Analyze_Package_Instantiation): Remove dubious - call to Set_Comes_From_Source. - -2022-07-12 Bob Duff <duff@adacore.com> - - * sem_ch5.adb (Check_Unreachable_Code): Refine heuristics. - * sem_util.ads, sem_util.adb (Is_Static_Constant_Name): Remove - this; instead we have a new function Is_Simple_Case in - Sem_Ch5.Check_Unreachable_Code. - -2022-07-12 Bob Duff <duff@adacore.com> - - * gnatls.adb (Output_License_Information): Remove pragma - No_Return; call sites deal with Exit_Program. - * libgnat/g-socthi.adb (C_Connect): Suppress warning about - unreachable code. - * sem_ch5.adb (Check_Unreachable_Code): Special-case if - statements with static conditions. If we remove unreachable - code (including the return statement) from a function, add - "raise Program_Error", so we won't warn about missing returns. - Remove Original_Node in test for N_Raise_Statement; it's not - needed. Remove test for CodePeer_Mode; if Operating_Mode = - Generate_Code, then CodePeer_Mode can't be True. Misc cleanup. - Do not reuse Nxt variable for unrelated purpose (the usage in - the Kill_Dead_Code loop is entirely local to the loop). - * sem_ch6.adb: Add check for Is_Transfer. Misc cleanup. - * sem_prag.adb: Minor. - * sem_res.adb: Minor. - * sem_util.adb: Minor cleanup. - (Is_Trivial_Boolean): Move to nonnested place, so it can be - called from elsewhere. - (Is_Static_Constant_Boolean): New function. - * sem_util.ads (Is_Trivial_Boolean): Export. - (Is_Static_Constant_Boolean): New function. - -2022-07-12 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-stchop.ads: Use a double underscore prefix for symbols. - -2022-07-12 Ed Schonberg <schonberg@adacore.com> - - * freeze.adb (Check_Expression_Function.Find_Constant): Add a - check that a type that is referenced as the prefix of an - attribute is fully declared. - (Freeze_And_Append): Do not freeze the profile when freezing an - expression function. - (Freeze_Entity): When a tagged type is frozen, also freeze any - primitive operations of the type that are expression functions. - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not prevent - freezing associated with an expression function body if the - function is a dispatching op. - -2022-07-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch7.adb (Analyze_Package_Declaration): Check references to - unset objects. - -2022-07-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch13.adb (Analyze_Aspect_Yield): Look at the entity kind, - not at the declaration kind. - -2022-07-12 Joffrey Huguet <huguet@adacore.com> - - * libgnarl/a-reatim.ads, libgnat/a-cfdlli.ads, - libgnat/a-cfhama.ads, libgnat/a-cfhase.ads, - libgnat/a-cfinse.ads, libgnat/a-cfinve.ads, - libgnat/a-cforma.ads, libgnat/a-cforse.ads, - libgnat/a-chahan.ads, libgnat/a-cofove.ads, - libgnat/a-cofuma.ads, libgnat/a-cofuse.ads, - libgnat/a-cofuve.ads, libgnat/a-nbnbin.ads, - libgnat/a-nbnbre.ads, libgnat/a-ngelfu.ads, - libgnat/a-nlelfu.ads, libgnat/a-nllefu.ads, - libgnat/a-nselfu.ads, libgnat/a-nuelfu.ads, - libgnat/a-strbou.ads, libgnat/a-strfix.ads, - libgnat/a-strmap.ads, libgnat/a-strunb.ads, - libgnat/a-strunb__shared.ads, libgnat/a-strsea.ads, - libgnat/a-textio.ads, libgnat/a-tideio.ads, - libgnat/a-tienio.ads, libgnat/a-tifiio.ads, - libgnat/a-tiflio.ads, libgnat/a-tiinio.ads, - libgnat/a-timoio.ads, libgnat/i-c.ads, libgnat/interfac.ads, - libgnat/interfac__2020.ads, libgnat/s-atacco.ads, - libgnat/s-stoele.ads: Annotate packages and subprograms with - returning annotations. - -2022-07-12 Eric Botcazou <ebotcazou@adacore.com> - - * rtsfind.ads (RE_Id): Remove RE_Str_Concat_Bounds_N values. - (RE_Unit_Table): Remove RE_Str_Concat_Bounds_N entries. - * libgnat/s-conca2.ads (Str_Concat_2): Adjust head comment. - (Str_Concat_Bounds_2): Delete. - * libgnat/s-conca2.adb (Str_Concat_2): Use the length of the last - input to size the last assignment. - (Str_Concat_Bounds_2): Delete. - * libgnat/s-conca3.ads (Str_Concat_3): Adjust head comment. - (Str_Concat_Bounds_3): Delete. - * libgnat/s-conca3.adb (Str_Concat_3): Use the length of the last - input to size the last assignment. - (Str_Concat_Bounds_3): Delete. - * libgnat/s-conca4.ads (Str_Concat_4): Adjust head comment. - (Str_Concat_Bounds_4): Delete. - * libgnat/s-conca4.adb (Str_Concat_4): Use the length of the last - input to size the last assignment. - (Str_Concat_Bounds_4): Delete. - * libgnat/s-conca5.ads (Str_Concat_5): Adjust head comment. - (Str_Concat_Bounds_5): Delete. - * libgnat/s-conca5.adb (Str_Concat_5): Use the length of the last - input to size the last assignment. - (Str_Concat_Bounds_5): Delete. - * libgnat/s-conca6.ads (Str_Concat_6): Adjust head comment. - (Str_Concat_Bounds_6): Delete. - * libgnat/s-conca6.adb (Str_Concat_6): Use the length of the last - input to size the last assignment. - (Str_Concat_Bounds_6): Delete. - * libgnat/s-conca7.ads (Str_Concat_7): Adjust head comment. - (Str_Concat_Bounds_7): Delete. - * libgnat/s-conca7.adb (Str_Concat_7): Use the length of the last - input to size the last assignment. - (Str_Concat_Bounds_7): Delete. - * libgnat/s-conca8.ads (Str_Concat_8): Adjust head comment. - (Str_Concat_Bounds_8): Delete. - * libgnat/s-conca8.adb (Str_Concat_8): Use the length of the last - input to size the last assignment. - (Str_Concat_Bounds_8): Delete. - * libgnat/s-conca9.ads (Str_Concat_9): Adjust head comment. - (Str_Concat_Bounds_9): Delete. - * libgnat/s-conca9.adb (Str_Concat_9): Use the length of the last - input to size the last assignment. - (Str_Concat_Bounds_9): Delete. - -2022-07-12 Bob Duff <duff@adacore.com> - - * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Use _Next and - _Previous in the optimized expansion of "for ... of". No longer - need to check parameter profiles for these, because the - leading-underscore names are unique. - * libgnat/a-convec.ads (_Next, _Previous): Renamings of Next and - Previous, to avoid namespace pollution. - * libgnat/a-cbdlli.ads, libgnat/a-cbhama.ads, - libgnat/a-cbhase.ads, libgnat/a-cbmutr.ads, - libgnat/a-cborma.ads, libgnat/a-cborse.ads, - libgnat/a-cdlili.ads, libgnat/a-cidlli.ads, - libgnat/a-cihama.ads, libgnat/a-cihase.ads, - libgnat/a-cimutr.ads, libgnat/a-ciorma.ads, - libgnat/a-ciorse.ads, libgnat/a-cobove.ads, - libgnat/a-cohama.ads, libgnat/a-cohase.ads, - libgnat/a-coinve.ads, libgnat/a-comutr.ads, - libgnat/a-coorma.ads, libgnat/a-coorse.ads: Likewise. Also, - remove duplicated comments -- refer to one comment about _Next, - _Previous, Pseudo_Reference in libgnat/a-convec.ads. DRY. - * scng.adb (Scan): Allow leading underscores in identifiers in - the run-time library. - * snames.ads-tmpl (Name_uNext, Name_uPrevious): New names with - leading underscores. - -2022-07-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch5.adb (Check_Unreachable_Code): Extend suppression to - calls with No_Return aspect, but narrow it to functions. - * sem_res.adb (Resolve_Call): Warn about unreachable code after - calls with No_Return. - -2022-07-12 Bob Duff <duff@adacore.com> - - * scans.ads: Fix obsolete comments about Tok_Special, and give - Special_Character a predicate assuring it is one of the two - characters used in preprocessing. - * scng.ads: Clean up comments. - * scng.adb: Clean up handling of Tok_Special. Remove comment - about '@' (target_name), which doesn't seem very helpful. - Set_Special_Character will now blow up if given anything other - than '#' and '$', because of the predicate on Special_Character; - it's not clear why it used to say "when others => null;". - Remove Comment_Is_Token, which is not used. - * scn.ads: Remove commented-out use clause. Remove redundant - comment. - * ali-util.adb: Use "is null" for do-nothing procedures. - * gprep.adb (Post_Scan): Use "is null". - -2022-07-12 Bob Duff <duff@adacore.com> - - * libgnarl/s-solita.adb (Task_Termination_Handler_T): Ignore all - exceptions propagated by Specific_Handler. - * libgnarl/s-tassta.adb, libgnarl/s-taskin.ads: Minor. - -2022-07-12 Marc Poulhiès <poulhies@adacore.com> - - * sem.adb (Preanalyze): Suppress checks when not in GNATprove - mode. - * sem_res.adb (Preanalyze_And_Resolve): Add cross reference in - comment to above procedure. - * sinfo.ads: Typo fix in comment. - -2022-07-12 Julien Bortolussi <bortolussi@adacore.com> - - * libgnat/a-cfidll.adb, libgnat/a-cfidll.ads: Implementation - files of the formal unbounded indefinite list. - * Makefile.rtl, impunit.adb: Take into account the add of the - new files. - -2022-07-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Is_Variable): Remove excessive guard. - -2022-07-06 Piotr Trojanek <trojanek@adacore.com> - - * gcc-interface/Make-lang.in (ada/generated/gnatvsn.ads): - Simplify regular expression. The "interval expression", - i.e. \{8\} is part of the POSIX regular expressions, so it - should not be a problem for modern implementations of sed. - -2022-07-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (gnat_to_gnu): Update comment. - -2022-07-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/gigi.h (simple_constant_p): Declare. - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Strip - the qualifiers from the type of a simple constant. - (simple_constant_p): New predicate. - * gcc-interface/trans.cc (node_is_atomic): Return true for objects - with atomic type except for simple constants. - (node_is_volatile_full_access): Return false for simple constants - with VFA type. - -2022-07-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Create a - local constant holding the underlying GNAT type of the object. Do - not fiddle with the object size for an unconstrained array. - -2022-07-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Constify a - local variable and move a couple of others around. - -2022-07-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (gnat_gimplify_expr) <SAVE_EXPR>: New case. - -2022-07-06 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch6.adb (Function return mechanisms): New paragraph. - -2022-07-06 Yannick Moy <moy@adacore.com> - - * sem_util.adb (Is_Non_Preelaborable_Construct): Fix for - deferred constants. - -2022-07-06 Justin Squirek <squirek@adacore.com> - - * libgnat/s-regpat.adb, libgnat/s-regpat.ads (Compile): Add a - new defaulted parameter Error_When_Too_Small to trigger an - error, if specified true, when Matcher is too small to hold the - compiled regex program. - -2022-07-06 Justin Squirek <squirek@adacore.com> - - * sem_ch4.adb (Analyze_Selected_Component): Add condition to - avoid interpreting derived type components as candidates for - selected components in preanalysis of inherited class - conditions. - -2022-07-06 Yannick Moy <moy@adacore.com> - - * ghost.adb (Check_Ghost_Context): Delay checking for generic - associations. - (Check_Ghost_Context_In_Generic_Association): Perform ghost - checking in analyzed generic associations. - (Check_Ghost_Formal_Procedure_Or_Package): Check SPARK RM - 6.9(13-14) for formal procedures and packages. - (Check_Ghost_Formal_Variable): Check SPARK RM 6.9(13-14) for - variables. - * ghost.ads: Declarations for the above. - * sem_ch12.adb (Analyze_Associations): Apply delayed checking - for generic associations. - (Analyze_Formal_Object_Declaration): Same. - (Analyze_Formal_Subprogram_Declaration): Same. - (Instantiate_Formal_Package): Same. - (Instantiate_Formal_Subprogram): Same. - (Instantiate_Object): Same. Copy ghost aspect to newly declared - object for actual for IN formal object. Use new function - Get_Enclosing_Deep_Object to retrieve root object. - (Instantiate_Type): Copy ghost aspect to declared subtype for - actual for formal type. - * sem_prag.adb (Analyze_Pragma): Recognize new allowed - declarations. - * sem_util.adb (Copy_Ghost_Aspect): Copy the ghost aspect - between nodes. - (Get_Enclosing_Deep_Object): New function to return enclosing - deep object (or root for reachable part). - * sem_util.ads (Copy_Ghost_Aspect): Same. - (Get_Enclosing_Deep_Object): Same. - * libgnat/s-imageu.ads: Declare formal subprograms as ghost. - * libgnat/s-valuei.ads: Same. - * libgnat/s-valuti.ads: Same. - -2022-07-06 Javier Miranda <miranda@adacore.com> - - * sem_res.adb (Resolve_Type_Conversion): Code cleanup since the - previous static check has been moved to Valid_Tagged_Conversion. - (Valid_Tagged_Conversion): Fix the code checking conversion - to/from interface types since incorrectly returns True when the - parent type of the operand type (or the target type) is an - interface type; add missing static checks on interface type - conversions. - -2022-07-06 Marc Poulhiès <poulhies@adacore.com> - - * libgnat/s-secsta.ads (SS_Allocate): Add new Alignment - parameter. - (Memory_Alignment): Remove. - * libgnat/s-secsta.adb (Align_Addr): New. - (SS_Allocate): Add new Alignment parameter. Realign pointer if - needed. Don't allocate anything for 0-sized allocations. - * gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Add - allocated object's alignment as last parameter to allocation - invocation. - -2022-07-06 Piotr Trojanek <trojanek@adacore.com> - - * libgnat/g-socket.adb (Get_Address_Info): Reduce scope of the - Found variable; avoid repeated assignment inside the loop. - -2022-07-06 Doug Rupp <rupp@adacore.com> - - * Makefile.rtl [arm,aarch64 vxworks7]: Remove rtp and kernel - build macros and set an error variable if needed. - [x86,x86_vxworks7]: Likewise. - [ppc,ppc64]: Set an error variable if needed. - (rts-err): New phony Makefile target. - (setup-rts): Depend on rts-err. - -2022-07-06 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Make_Allocator_For_BIP_Return): New local function. - (Expand_N_Object_Declaration): Use it to build the three allocators - for a Build-In-Place return with an unconstrained type. Update the - head comment after other recent changes. - -2022-07-06 Doug Rupp <rupp@adacore.com> - - * libgnat/system-vxworks7-e500-kernel.ads: Remove. - * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-e500-rtp.ads: Likewise. - -2022-07-06 Justin Squirek <squirek@adacore.com> - - * gnat_cuda.adb (Empty_CUDA_Global_Subprogram): Set - Specification and Corresponding_Spec to match the original - Kernel_Body. - -2022-07-06 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch6.adb (Build_Static_Check_Helper_Call): Replace explicit - call to Make_Unchecked_Type_Conversion with a call to - Unchecked_Convert_To. - * tbuild.adb (Unchecked_Convert_To): Fix whitespace. - -2022-07-06 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Resolve_Actuals): Restore first sentence of a - comment. - -2022-07-06 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Expand_Record_Aggregate): Do not call - Is_Full_Access_Aggregate here. - * freeze.ads (Is_Full_Access_Aggregate): Delete. - * freeze.adb (Is_Full_Access_Aggregate): Move to... - (Freeze_Entity): Do not call Is_Full_Access_Aggregate here. - * sem_aggr.adb (Is_Full_Access_Aggregate): ...here - (Resolve_Aggregate): Call Is_Full_Access_Aggregate here. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst - (Warning Message Control): Update description of switch -gnatwj. - * gnat_ugn.texi: Regenerate. - * sem_ch10.adb (Analyze_With_Clause): Warn on WITH clauses for - obsolete renamed units; in Ada 83 mode do not consider - predefined renamings to be obsolete. - -2022-07-05 Eric Botcazou <ebotcazou@adacore.com> - - * exp_util.adb (Make_Subtype_From_Expr): Do not set field to Empty. - * sem_util.adb (Visit_Itype): Remove ??? comment. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Note_Possible_Modification): Revert a - special-case for validity checks on Long_Float type. - * snames.ads-tmpl (Name_Attr_Long_Float): Remove name added - exclusively for the mentioned fix. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch6.adb (Set_Formal_Mode): Remove unnecessary setting of - Never_Set_In_Source. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch6.adb (Process_Formals): Avoid repeated calls to - Expression. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_code.adb (Setup_Asm_IO_Args): Remove guard against No_List. - * par_sco.adb (Process_Decisions): Likewise. - * sem_ch13.adb (Check_Component_List): Likewise. - * sem_ch6.adb (FCL): Likewise. - -2022-07-05 Doug Rupp <rupp@adacore.com> - - * cstreams.c (__gnat_full_name) [QNX]: Remove block. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * osint.adb (Locate_File): Use Name_Find with a parameter and - not with a global buffer. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch3.adb (Build_Init_Statements): Reuse Get_Pragma_Arg. - * exp_prag.adb (Arg_N): Likewise. - -2022-07-05 Yannick Moy <moy@adacore.com> - - * ghost.adb (Is_OK_Ghost_Context): Detect ghost type inside object - renaming. - -2022-07-05 Bob Duff <duff@adacore.com> - - * exp_ch7.adb: Change two constants Is_Protected_Body and - Is_Prot_Body to be Is_Protected_Subp_Body; these are not true - for protected bodies, but for protected subprogram bodies. - (Expand_Cleanup_Actions): No need to search for - Activation_Chain_Entity; just use Activation_Chain_Entity. - * sem_ch8.adb (Find_Direct_Name): Use Entyp constant. - * atree.adb, atree.ads, atree.h, nlists.adb, nlists.ads - (Parent): Provide nonoverloaded versions of Parent, so that they - can be easily found in the debugger. - * debug_a.adb, debug_a.ads: Clarify that we're talking about the - -gnatda switch; switches are case sensitive. Print out the - Chars field if appropriate, which makes it easier to find things - in the output. - (Debug_Output_Astring): Simplify. Also fix an off-by-one - bug ("for I in Vbars'Length .." should have been "for I in - Vbars'Length + 1 .."). Before, it was printing Debug_A_Depth + - 1 '|' characters if Debug_A_Depth > Vbars'Length. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Analyze_Pragma): Remove unnecessary call to - Analyze. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * libgnat/g-socket.adb (Raise_Host_Error): Add No_Return aspect. - (Raise_GAI_Error): Likewise. - * libgnat/g-socket.ads (Raise_Socket_Error): Likewise. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Aggregate_Constraint_Checks): Fix whitespace; - refactor repeated code; replace a ??? comment with an - explanation based on the comment for the routine spec. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.ads (Note_Possible_Modification): Fix occurrence of - May_Be_Modified in comment. - * sem_warn.ads (Check_Unset_Reference): Fix occurrence of - Not_Assigned in comment. - -2022-07-05 Yannick Moy <moy@adacore.com> - - * sem_attr.adb (Analyze_Attribute): Take into account the - possibility of homonyms. - -2022-07-05 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as a renaming - for any nonaliased local object with nominal unconstrained subtype - originally initialized with the result of a function call that has - been rewritten as the dereference of a reference to the result. - * sem_ch3.adb (Analyze_Object_Declaration): Do not do it here - -2022-07-05 Arnaud Charlet <charlet@adacore.com> - - * exp_imgv.adb (Build_Enumeration_Image_Tables): Also disable - perfect hash in GNAT_Mode. - * raise-gcc.c (__gnat_Unwind_RaiseException): Add support for - disabling exception propagation. - * sem_eval.adb (Compile_Time_Known_Value): Update comment and - remove wrong call to Check_Error_Detected. - * sem_prag.adb (Check_Loop_Pragma_Grouping, Analyze_Pragma): - Remove exception propagation during bootstrap. - -2022-07-05 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Expand_Array_Aggregate): Remove obsolete code. - Delay the expansion of aggregates initializing return objects of - build-in-place functions. - * exp_ch3.ads (Ensure_Activation_Chain_And_Master): Delete. - * exp_ch3.adb (Ensure_Activation_Chain_And_Master): Fold back to... - (Expand_N_Object_Declaration): ...here. - Perform the expansion of return objects of build-in-place functions - here instead of... - * exp_ch6.ads (Is_Build_In_Place_Return_Object): Declare. - * exp_ch6.adb (Expand_N_Extended_Return_Statement): ...here. - (Is_Build_In_Place_Result_Type): Alphabetize. - (Is_Build_In_Place_Return_Object): New predicate. - * exp_ch7.adb (Enclosing_Function): Delete. - (Process_Object_Declaration): Tidy up handling of return objects. - * sem_ch3.adb (Analyze_Object_Declaration): Do not decorate and - freeze the actual type if it is the same as the nominal type. - * sem_ch6.adb: Remove use and with clauses for Exp_Ch3. - (Analyze_Function_Return): Analyze again all return objects. - (Create_Extra_Formals): Do not force the definition of an Itype - if the subprogram is a compilation unit. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * gnatls.adb (Corresponding_Sdep_Entry): Remove dead return - statement in defensive path; there is another return statement - for a normal execution of this routine, so rule Ada RM 6.5(5), - which requires function to have at least one return statement is - still satisfied. - (Gnatls): Remove dead, call to nonreturning Exit_Program after - Output_License_Information which itself does not return. - * libgnat/a-exstat.adb (Bad_EO): Remove raise statement that was - meant to please some ancient version of GNAT. - * libgnat/g-awk.adb (Raise_With_Info): Likewise. - * sem_attr.adb (Check_Reference): Remove dead return statement; - rule Ada RM 6.5(5), which requires function to have at least one - return statement is still satisfied. - (Analyze_Attribute): Remove dead exit statement. - (Check_Reference): Same as above. - * sem_ch12.adb (Instantiate_Formal_Package): Remove dead raise - statement; it was inconsistent with other calls to - Abandon_Instantiation, which are not followed by a raise - statement. - * sem_prag.adb (Process_Convention): Remove dead defensive - assignment. - (Interrupt_State): Remove dead defensive exit statement. - (Do_SPARK_Mode): Likewise. - * sfn_scan.adb (Scan_String): Remove dead defensive assignment. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb, sem_prag.adb: Remove dead return statements - after calls to Error_Attr, Error_Pragma, Error_Pragma_Arg and - Placement_Error. All these calls raise exceptions that are - handled to gently recover from errors. - -2022-07-05 Doug Rupp <rupp@adacore.com> - - * libgnat/system-vxworks-ppc-kernel.ads (Word_Size): Compute - based on Standard'Word_Size. - (Memory_Size): Compute based on Word_Size. - * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise. - * libgnat/system-vxworks-ppc-rtp.ads: Likewise. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Analyze_Attribute): Move call to - Set_Address_Taken so that it is executed when the prefix - attribute is legal. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch5.adb (Check_Unreachable_Code): Avoid explicit use of - Sloc; this should also help when we finally use Source_Span for - prettier error messages. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch5.adb (Check_Unreachable_Code): Remove redundant guard; - the call to Present wasn't needed either. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch5.adb (Analyze_Block_Statement): Call to List_Length with - No_List is safe and will return zero. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch6.adb (Check_Missing_Return): Add reference to an RM rule. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch6.adb (Check_Missing_Return): Remove outdated comment. - -2022-07-05 Dmitriy Anisimkov <anisimko@adacore.com> - - * adaint.h (convert_addresses): Remove function declaration. - -2022-07-05 Doug Rupp <rupp@adacore.com> - - * Makefile.rtl (*vxworks*): Remove most pre-vxworks7 code. - * vxworks-arm-link.spec: Remove. - * vxworks-e500-link.spec: Likewise. - * vxworks-smp-arm-link.spec: Likewise. - * vxworks-smp-e500-link.spec: Likewise. - * vxworks-smp-x86-link.spec: 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-x86-kernel.ads: Likewise. - * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise. - * libgnat/system-vxworks-x86-rtp.ads: Likewise. - -2022-07-04 Eric Botcazou <ebotcazou@adacore.com> - - * sem_disp.adb (Check_Dispatching_Call): Merge the two special cases - where there are no controlling actuals but tag-indeternminate ones. - -2022-07-04 Eric Botcazou <ebotcazou@adacore.com> - - * exp_disp.adb (Expand_Dispatching_Call): Fix detection of calls - that are dispatching on tagged result. - -2022-07-04 Doug Rupp <rupp@adacore.com> - - * Makefile.rtl (ADA_EXCLUDE_SRCS): Add s-qnx.ads. - -2022-07-04 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Expand_N_Object_Declaration) <OK_To_Rename_Ref>: New - local function. - <Rewrite_As_Renaming>: Change to a local variable whose value is - computed once and generate a call to Finalize after this is done. - Simplify the code creating the renaming at the end. - -2022-07-04 Doug Rupp <rupp@adacore.com> - - * Makefile.rtl (GCC_SPEC_FILES): Remove vxworks cert files. - -2022-07-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Resolve_Attribute): Refactor duplicated code for - Count and Index attributes. - -2022-07-04 Eric Botcazou <ebotcazou@adacore.com> - - * checks.adb (Apply_Length_Check_On_Assignment): Return early if - the Suppress_Assignment_Checks flag is set. - (Selected_Range_Checks): Deal with conditional expressions. - * exp_ch4.adb (Too_Large_Length_For_Array): New constant. - (Expand_Concatenate): Use it in lieu of Too_Large_Max_Length. - (Expand_N_If_Expression): If the result has a unidimensional array - type but the dependent expressions have constrained subtypes with - known bounds, create a static temporary on the stack with a subtype - covering the result. - (Get_First_Index_Bounds): Deal with string literals. - * uintp.ads (Uint_256): New deferred constant. - * sinfo.ads (Suppress_Assignment_Checks): Document new usage. - -2022-07-04 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Expand_N_Object_Declaration.Rewrite_As_Renaming): - Do not rewrite if the declaration has got constraints. - * sinfo.ads (Case Expression Alternative): Fix typo. - -2022-07-04 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Expand_N_Object_Declaration.Rewrite_As_Renaming): - Be prepared for slices. - * exp_ch4.adb (Get_First_Index_Bounds): New procedure. - (Expand_Array_Comparison.Length_Less_Than_4): Call it. - (Expand_Concatenate): Try to compute a maximum length for - operands with variable length and a maximum total length at the - end. If the concatenation is dynamic, but a sensible maximum - total length has been computed, use this length to create a - static array subtype for the temporary and return a slice of it. - -2022-07-04 Steve Baird <baird@adacore.com> - - * sem_ch3.adb (Check_Possible_Deferred_Completion): Delete - Prev_Obj_Def formal parameter. Reorganize code so that - statically matching check is also performed in the case where - the subtype given in the initial declaration is constrained and - the subtype given in the completion is not. - -2022-07-04 Bob Duff <duff@adacore.com> - - * einfo-utils.ads, einfo-utils.adb: Add predicates on subtypes E - and N. Change some parameters to use the unpredicated subtypes, - because they sometimes return e.g. Empty. Note that N_Entity_Id - has a predicate; Entity_Id does not. - * exp_tss.adb (Base_Init_Proc): Use Entity_Id instead of E, - because otherwise we fail the predicate. We shouldn't be - referring to single-letter names from far away anyway. - * sem_aux.adb (Is_Derived_Type): Likewise. - * sem_res.adb (Is_Definite_Access_Type): Use N_Entity_Id for - predicate. - * types.ads (Entity_Id): Add comment explaining the difference - between Entity_Id and N_Entity_Id. - -2022-07-04 Justin Squirek <squirek@adacore.com> - - * exp_util.adb (Remove_Side_Effects): Combine identical - branches. - * sem_attr.adb (Analyze_Attribute): Combine identical cases - Attribute_Has_Same_Storage and Attribute_Overlaps_Storage. - * sem_prag.adb (Check_Role): Combine E_Out_Parameter case with - general case for parameters. - * sem_util.adb (Accessibility_Level): Combine identical - branches. - * sprint.adb (Sprint_Node_Actual): Combine cases for - N_Real_Range_Specification and N_Signed_Integer_Type_Definition. - -2022-07-04 Justin Squirek <squirek@adacore.com> - - * libgnat/s-os_lib.adb (Quote_Argument): Modify the result - buffer size calculation to handle the case where Arg'Length is - 1. - -2022-07-04 Bob Duff <duff@adacore.com> - - * exp_util.adb (Expand_Subtype_From_Expr): Generate a new - subtype when Is_Constr_Subt_For_UN_Aliased is True, so the - Is_Constr_Subt_For_U_Nominal flag will not be set on the - preexisting subtype. - * sem_attr.adb, sem_ch3.adb: Minor. - -2022-07-04 Eric Botcazou <ebotcazou@adacore.com> - - * debug.adb (d.9): Remove usage. - * exp_ch6.adb (Expand_Simple_Function_Return): Remove redundant - test on Debug_Flag_Dot_L. - (Is_Build_In_Place_Result_Type): Return false for nonlimited types. - (Is_Build_In_Place_Function): Tidy up and remove redundant test on - Debug_Flag_Dot_L. - -2022-07-04 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Expand_N_Object_Declaration): Don't adjust the object - if the expression is a function call. - <Rewrite_As_Renaming>: Return true if the object needs finalization - and is initialized with the result of a function call returned on - the secondary stack. - * exp_ch6.adb (Expand_Ctrl_Function_Call): Add Use_Sec_Stack boolean - parameter. Early return if the parent is an object declaration and - Use_Sec_Stack is false. - (Expand_Call_Helper): Adjust call to Expand_Ctrl_Function_Call. - * exp_ch7.adb (Find_Last_Init): Be prepared for initialization still - present in the object declaration. - * sem_ch3.adb (Analyze_Object_Declaration): Call the predicates - Needs_Secondary_Stack and Needs_Finalization to guard the renaming - optimization. - -2022-07-04 Bob Duff <duff@adacore.com> - - * libgnat/a-cbhase.ads, libgnat/a-cborse.ads, - libgnat/a-cihase.ads, libgnat/a-ciorse.ads, - libgnat/a-cohase.ads, libgnat/a-coorse.ads (Key): New function - that takes a Container parameter, implemented as an expression - function, so it is self explanatory (doesn't need a comment). - -2022-07-04 Vasiliy Fofanov <fofanov@adacore.com> - - * doc/gnat_rm/the_gnat_library.rst: Fix length of title - underlines. - -2022-07-04 Steve Baird <baird@adacore.com> - - * sem_ch4.adb (Analyze_Allocator): After calling Insert_Action - to insert a subtype declaration associated with an allocator, - the subtype declaration will usually be analyzed. But not - always. Add an explicit call to Preanalyze to cope with the - unusual case. The subtype declaration must be at least - preanalyzed before the call to Sem_Ch3.Process_Subtype a little - while later, during which we analyze an identifier that refers - to the subtype. - -2022-07-04 Steve Baird <baird@adacore.com> - - * sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not - generate a warning if the expression in question is an assertion - expression, or a subexpression thereof. But do call - Test_Comparison so that it can generate warnings for the cases - that it generates warnings for. - * sem_prag.ads: Modify Assertion_Expression_Pragma constant so - that the predicate Sem_Util.In_Assertion_Expression_Pragma - returns True for the expression of a Compile_Time_Error pragma. - -2022-07-04 Julien Bortolussi <bortolussi@adacore.com> - - * doc/gnat_rm/the_gnat_library.rst: Add the new entry. - * gnat_rm.texi: Regenerate. - -2022-07-04 Eric Botcazou <ebotcazou@adacore.com> - - * sem_res.adb (Resolve_Comparison_Op): Deal with ambiguous operands - in all cases. - (Resolve_Equality_Op): Likewise, except for the case of the implicit - inequality operator created for a user-defined operator that is not - an intrinsic subprogram. - -2022-07-04 Bob Duff <duff@adacore.com> - - * libgnat/a-cbhase.adb, libgnat/a-cbhase.ads, - libgnat/a-cborse.adb, libgnat/a-cborse.ads, - libgnat/a-cihase.adb, libgnat/a-cihase.ads, - libgnat/a-ciorse.adb, libgnat/a-ciorse.ads, - libgnat/a-cohase.adb, libgnat/a-cohase.ads, - libgnat/a-conhel.adb, libgnat/a-conhel.ads, - libgnat/a-coorse.adb, libgnat/a-coorse.ads: Add Has_Element, - Element, Query_Element, and Next subprograms that take a Set - parameter. Add Tampering_With_Cursors_Prohibited function. These - are all new in Ada 2022. - -2022-07-04 Claire Dross <dross@adacore.com> - - * doc/gnat_rm/the_gnat_library.rst: Functional vectors, sets, - and maps are now controlled. - * gnat_rm.texi: Regenerate. - -2022-07-04 Claire Dross <dross@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst - (Debugging and Assertion Control): Add GNAT specific assertion - pragmas to the equivalent Assertion_Policy for the -gnata - option. - * gnat_ugn.texi: Regenerate. - -2022-07-04 Justin Squirek <squirek@adacore.com> - - * sem_disp.adb (Most_Descendant_Use_Clause): Remove call to - deprecated Is_Internal. - * sem_util.adb (Innermost_Master_Scope_Depth): Use - Find_Enclosing_Scope instead of Nearest_Dynamic_Scope to avoid - cases where relevant scopes get skipped leading to an incorrect - scope depth calculation. - -2022-07-04 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch6.adb (Build_In_Place_Formal): Also compute Returns_By_Ref - for the function if the extra formals were not built initially. - -2022-07-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch13.adb (Resolve_Iterable_Operation): Add guard to - prevent crash when the examined function has no formal - parameters and Etype is called on Empty entity. - -2022-07-04 Julien Bortolussi <bortolussi@adacore.com> - - * libgnat/a-cfinse.adb, libgnat/a-cfinse.ads: Implementation - files of the sequence. - * Makefile.rtl, impunit.adb: Take into account the add of the - new files - -2022-07-04 Eric Botcazou <ebotcazou@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst (Pure_Function): - Fix ambiguous wording about context dependence. - * gnat_rm.texi: Regenerate. - -2022-06-02 David Malcolm <dmalcolm@redhat.com> - - * gcc-interface/misc.cc (gnat_get_sarif_source_language): New. - (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine. - -2022-06-02 Pierre-Marie de Rodat <derodat@adacore.com> - - * gcc-interface/gigi.h: Update copyright notice. - * gcc-interface/lang-specs.h: Likewise. - * gcc-interface/utils.cc: Likewise. - -2022-06-02 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/gigi.h (enum standard_datatypes): Remove values - for the SJLJ exception mechanism. - (jmpbuf_type): Delete. - (jmpbuf_ptr_type): Likewise. - (get_jmpbuf_decl): Likewise. - (set_jmpbuf_decl): Likewise. - (get_excptr_decl): Likewise. - (not_handled_by_others_decl): Likewise. - (setjmp_decl): Likewise. - (update_setjmp_buf_decl): Likewise. - (raise_nodefer_decl): Likewise. - (set_block_jmpbuf_decl): Likewise. - (get_block_jmpbuf_decl): Likewise. - * gcc-interface/trans.cc (gigi): Delete dead code. - * gcc-interface/utils.cc (gnat_binding_level): Remove JMPBUF_DECL. - (gnat_pushlevel): Do not clear it. - (set_block_jmpbuf_decl): Delete. - (get_block_jmpbuf_decl): Likewise. - -2022-06-02 Ghjuvan Lacambre <lacambre@adacore.com> - - * gcc-interface/decl.cc (warn_on_field_placement): Add insertion - character '.q' to warning string. - -2022-06-02 Arnaud Charlet <charlet@adacore.com> - - * gcc-interface/Makefile.in (gnatlib-shared-default): Add - -fno-lto. - -2022-06-02 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Do not check the - scope of anonymous access Itypes. - * gcc-interface/trans.cc (Identifier_to_gnu): Do not translate - the return type of a subprogram here. - -2022-06-02 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.adb (Expand_N_Package_Body): Build static dispatch - tables only for units that are not compilation units, unless - they are generic instances. Do not push a scope for this. - (Expand_N_Package_Declaration): Build static dispatch tables - only for units that are both not compilation units and generic - instances. - * exp_disp.adb (Build_Static_Dispatch_Tables): Remove redundant - early return. Push a scope for package bodies. - * sem_ch10.adb: Add with and use clauses for Exp_Disp. - (Analyze_Compilation_Unit): Build static dispatch tables here. - -2022-06-02 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Clear the Is_Public - flag on thunks. - -2022-06-02 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch13.adb, exp_ch5.adb, exp_ch9.adb, exp_strm.adb, - sem_ch10.adb, sem_ch13.adb, sem_ch5.adb, sem_ch6.adb, - sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb, - sem_util.adb: Remove checks for the missing list before - iterating with First/Next; reindent code and refill comments. - -2022-06-02 Eric Botcazou <ebotcazou@adacore.com> - - * einfo.ads (Has_Controlling_Result): Document new usage. - (Is_Thunk): Document secondary stack thunks. - (Returns_By_Ref): Adjust. - * exp_ch6.adb (Caller_Known_Size): Return true for tagged types. - (Expand_N_Extended_Return_Statement): Do not call Set_By_Ref. - (Expand_Simple_Function_Return): For a BIP return with an Alloc_Form - parameter, mark the node as returning on the secondary stack. - Replace call to Is_Limited_Interface with Is_Limited_View. Deal wit - secondary stack thunks. Do not call Set_By_Ref. Optimize the case - of a call to a function whose type also needs finalization. - (Needs_BIP_Task_Actuals): Replace Thunk_Entity with Thunk_Target. - (Needs_BIP_Finalization_Master): Cosmetic fixes. - (Needs_BIP_Alloc_Form): Check No_Secondary_Stack restriction and - return true for tagged types. - * exp_ch7.adb (Transient Scope Management): Update description. - * exp_disp.adb (Expand_Dispatching_Call): Always set Returns_By_Ref - on designated type if the call is dispatching on result. Tidy up. - (Expand_Interface_Thunk): Change type of Thunk_Code from Node_Id to - List_Id. Change type of local variables from Node_Id to Entity_Id. - Propagate Aliased_Present flag to create the formals and explicitly - set Has_Controlling_Result to False. Build a secondary stack thunk - if necessary in the function case. - (Expand_Secondary_Stack_Thunk): New function. - (Make_Secondary_DT): Build secondary stack thunks if necessary. - (Make_DT): Likewise. - (Register_Predefined_Primitive): Likewise. - (Register_Primitive): Likewise. - * exp_util.ads (Is_Secondary_Stack_Thunk): Declare. - (Thunk_Target): Likewise. - * exp_util.adb (Is_Secondary_Stack_Thunk): New function. - (Thunk_Target): Likewise. - * fe.h (Is_Secondary_Stack_Thunk): Declare. - (Thunk_Target): Likewise. - * gen_il-fields.ads (Opt_Field_Enum): Remove By_Ref. - * gen_il-gen-gen_nodes.adb (N_Simple_Return_Statement): Likewise. - (N_Extended_Return_Statement): Likewise. - * sem_ch6.adb (Analyze_Subprogram_Specification): Skip check for - abstract return type in the thunk case. - (Create_Extra_Formals): Replace Thunk_Entity with Thunk_Target. - * sem_disp.adb (Check_Controlling_Formals): Skip in the thunk case. - * sem_util.adb: Add use and with clauses for Exp_Ch6. - (Compute_Returns_By_Ref): Do not process procedures and only set - the flag for direct return by reference. - (Needs_Secondary_Stack): Do not return true for specific tagged - types and adjust comments accordingly. - * sinfo.ads (By_Ref): Delete. - (N_Simple_Return_Statement): Remove By_Ref. - (N_Extended_Return_Statement): Likewise. - * gcc-interface/ada-tree.h (TYPE_RETURN_UNCONSTRAINED_P): Delete. - * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Do not use it. - Return by direct reference if the return type needs the secondary - stack as well as for secondary stack thunks. - * gcc-interface/gigi.h (fntype_same_flags_p): Remove parameter. - * gcc-interface/misc.cc (gnat_type_hash_eq): Adjust to above change. - * gcc-interface/trans.cc (finalize_nrv): Replace test on - TYPE_RETURN_UNCONSTRAINED_P with TYPE_RETURN_BY_DIRECT_REF_P. - (Subprogram_Body_to_gnu): Do not call maybe_make_gnu_thunk for - secondary stack thunks. - (Call_to_gnu): Do not test TYPE_RETURN_UNCONSTRAINED_P. - (gnat_to_gnu) <N_Simple_Return_Statement>: In the return by direct - reference case, test for the presence of Storage_Pool on the node - to build an allocator. - (maybe_make_gnu_thunk): Deal with Thunk_Entity and Thunk_Target. - * gcc-interface/utils.cc (fntype_same_flags_p): Remove parameter. - -2022-06-02 Marc Poulhiès <poulhies@adacore.com> - - * einfo.ads: Fix reference to Global_Entity_Suppress and - Local_Entity_Suppress variable in the comments. - * sem.ads: Likewise. - * sem_prag.adb: Likewise. - -2022-06-02 Claire Dross <dross@adacore.com> - - * libgnat/s-aridou.adb: Use Always_Return instead of Terminating - to annotate termination for GNATprove. - * libgnat/s-arit32.adb: Idem. - * libgnat/s-spcuop.ads: Idem. - -2022-06-02 Julien Bortolussi <bortolussi@adacore.com> - - * libgnat/a-cofuse.ads, libgnat/a-cofuse.adb, - libgnat/a-cofuma.ads, libgnat/a-cofuma.adb: Make Length and - Num_Overlaps return Big_Natural. - * libgnat/a-cforse.ads, libgnat/a-cforse.adb, - libgnat/a-cforma.adb, libgnat/a-cfhase.ads, - libgnat/a-cfhase.adb, libgnat/a-cfhama.adb, - libgnat/a-cfdlli.adb: Adapt code to handle Big_Integers instead - of Count_Type. - -2022-06-02 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Init_Secondary_Tags.Initialize_Tag): Initialize the - Offset_Func component by means of 'Unrestricted_Access. - -2022-06-02 Ghjuvan Lacambre <lacambre@adacore.com> - - * errout.adb (Write_JSON_Span): Add subprogram name to emitted - JSON. - -2022-06-02 Arnaud Charlet <charlet@adacore.com> - - * sem_ch7.adb (Set_Referencer_Of_Non_Subprograms): New local - procedure, used for code refactoring. Also take into account - Inline_Always pragma when deciding to make a symbol public for - C generation. - -2022-06-02 Yannick Moy <moy@adacore.com> - - * atree.adb (New_Copy): Reset flags related to ghost entities - before marking the new node. - -2022-06-02 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Move - procedure to... - * exp_disp.ads (Expand_Interface_Thunk): Move declaration to... - (Register_Predefined_Primitive): Declare. - * exp_disp.adb (Expand_Interface_Thunk): ...here. - (Register_Predefined_Primitive): ...here and change into a function - returning List_Id. - -2022-06-02 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Expand_Freeze_Record_Type): Adjust comment. - (Expand_N_Object_Declaration): Do not build static dispatch tables. - * exp_disp.adb (Make_And_Insert_Dispatch_Table): New procedure. - (Build_Static_Dispatch_Tables): Call it to build the dispatch tables - and wrap them in the Actions list of a freeze node. - -2022-06-02 Doug Rupp <rupp@adacore.com> - - * libgnat/system-vxworks7-arm.ads (Support_Atomic_Primitives): - Set True. - * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-aarch64.ads: Likewise. - * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise: - -2022-06-02 Javier Miranda <miranda@adacore.com> - - * libgnat/g-dyntab.ads (Table_Type): Update documentation. - -2022-06-02 Eric Botcazou <ebotcazou@adacore.com> - - * freeze.adb (Check_Expression_Function.Find_Constant): Make test - for deferred constants more robust. - -2022-06-02 Joffrey Huguet <huguet@adacore.com> - - * libgnat/i-cstrin.ads (Update): Update precondition. - -2022-06-02 Yannick Moy <moy@adacore.com> - - * sem_ch2.adb (Analyze_Identifier): Add checking for ghost - context. - * sem_ch5.adb (Analyze_Implicit_Label_Declaration): Treat - implicit labels like other entities by setting their ghost - status according to context. - * ghost.adb (Check_Ghost_Context): Adapt checking. - -2022-06-02 Joffrey Huguet <huguet@adacore.com> - - * libgnat/i-cstrin.ads (Update): Add precondition. - -2022-06-02 Yannick Moy <moy@adacore.com> - - * sem_ch5.adb (Analyze_Label_Entity): Remove body. - * sem_ch5.ads (Analyze_Label_Entity): Remove spec. - -2022-06-02 Eric Botcazou <ebotcazou@adacore.com> - - * sem_util.adb (Propagate_DIC_Attributes): Add ??? comment. - (Propagate_Invariant_Attributes): Likewise. Propagate the - Has_Inheritable_Invariants and Has_Inherited_Invariants to - the base type of the target type. - -2022-06-02 Doug Rupp <rupp@adacore.com> - - * libgnat/system-linux-arm.ads (Memory_Size): Compute based on - Word_Size. - -2022-06-02 Doug Rupp <rupp@adacore.com> - - * libgnat/system-vxworks7-aarch64-rtp-smp.ads (Word_Size): - Compute based on Standard'Word_Size. (Memory_Size): Compute - based on Word_Size. - * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-e500-rtp.ads: Likewise. - * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-ppc-rtp.ads: Likewise. - * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-x86-rtp.ads: Likewise. - -2022-06-02 Justin Squirek <squirek@adacore.com> - - * gnatbind.adb (Gnatbind): Add initialize call for Uintp - * gnatls.adb (Gnatls): Likewise. - * gprep.adb (Gnatprep): Likewise. - * make.adb (Initialize): Likewise. - -2022-06-02 Claire Dross <dross@adacore.com> - - * libgnat/a-cfinve.ads (Element): Change the type of the - Position parameter to Extended_Index. - * libgnat/a-cfinve.adb (Element): Idem. - * libgnat/a-cofove.ads (Element): Idem. - * libgnat/a-cofove.adb (Element): Idem. - -2022-06-02 Joffrey Huguet <huguet@adacore.com> - - * libgnat/s-atacco.ads (To_Pointer): Add Global => null. - (To_Address): Add SPARK_Mode => Off. - -2022-06-02 Joffrey Huguet <huguet@adacore.com> - - * libgnat/i-cstrin.ads (To_Chars_Ptr): Add SPARK_Mode => Off. - (Free): Likewise. - (New_Char_Array): Add global contracts and Volatile attribute. - (New_String): Likewise. - (Value, Strlen, Update): Add global contracts and preconditions. - * libgnat/i-cstrin.adb: Add SPARK_Mode => Off to the package - body. - -2022-06-01 Yannick Moy <moy@adacore.com> - - * contracts.adb (Check_Type_Or_Object_External_Properties): Check - the validity of combinations only when No_Caching is not used. - * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Check - valid combinations with No_Caching. - -2022-06-01 Doug Rupp <rupp@adacore.com> - - * libgnat/system-vxworks7-aarch64.ads (Word_Size): Compute - based on Standard'Word_Size. (Memory_Size): Compute based - on Word_Size. - * libgnat/system-vxworks7-arm.ads: Likewise. - * libgnat/system-vxworks7-e500-kernel.ads: Likewise. - * libgnat/system-vxworks7-ppc-kernel.ads: Likewise. - * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise. - * libgnat/system-vxworks7-x86-kernel.ads: Likewise. - * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise. - -2022-06-01 Doug Rupp <rupp@adacore.com> - - * libgnat/system-qnx-arm.ads (Memory_Size): Compute based on - Word_Size. - -2022-06-01 Piotr Trojanek <trojanek@adacore.com> - - * par-util.adb (Ignore): Add missing space to message string. - -2022-06-01 Yannick Moy <moy@adacore.com> - - * sem_prag.ads (Assertion_Expression_Pragmas): Fix value for - pragma Subprogram_Variant. - -2022-06-01 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch6.adb (Caller_Known_Size): Invoke Needs_Secondary_Stack in - lieu of Returns_On_Secondary_Stack. - (Expand_Call_Helper): Likewise. - (Expand_Simple_Function_Return): Likewise. - (Needs_BIP_Alloc_Form): Likewise. - * exp_ch7.adb (Wrap_Transient_Declaration): Likewise. - * sem_res.adb (Resolve_Call): Likewise. - (Resolve_Entry_Call): Likewise. - * sem_util.ads (Returns_On_Secondary_Stack): Rename into... - (Needs_Secondary_Stack): ...this. - * sem_util.adb (Returns_On_Secondary_Stack): Rename into... - (Needs_Secondary_Stack): ...this. - * fe.h (Returns_On_Secondary_Stack): Delete. - (Needs_Secondary_Stack): New function. - * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call - to Returns_On_Secondary_Stack with Needs_Secondary_Stack. - -2022-06-01 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): For the case where - there is no previous declaration, freeze the body entity only after - it has been processed as a new overloaded name. - Use Was_Expression_Function to recognize expression functions. - * sem_disp.adb (Check_Dispatching_Operation): Do not require a body - which is the last primitive to be frozen here. - -2022-06-01 Julien Bortolussi <bortolussi@adacore.com> - - * libgnat/a-cfdlli.adb ("="): Make the function properly loop - over the right list. - -2022-06-01 Marc Poulhiès <poulhies@adacore.com> - - * checks.adb (Apply_Predicate_Check): Refine condition for - applying optimization. - * sem_ch3.adb (Analyze_Component_Declaration): Adjust calls to - Should_Build_Subtype. - (Analyze_Object_Declaration): Likewise. - (Should_Build_Subtype): Rename/move to ... - * sem_util.ads (Build_Default_Subtype_OK): ... this. - * sem_util.adb (Build_Default_Subtype_OK): Moved from - sem_ch3.adb. - -2022-06-01 Doug Rupp <rupp@adacore.com> - - * init.c (__gnat_adjust_context_for_raise) [QNX][__thumb2__]: Bump - the pc an extra byte. - -2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Document new behavior. - * errout.adb (Write_JSON_Location): Output absolute paths when - needed. - * switch-c.adb (Scan_Front_End_Switches): Update -gnatef - comment. - * usage.adb (Usage): Update description of -gnatef. - * gnat_ugn.texi: Regenerate. - -2022-06-01 Eric Botcazou <ebotcazou@adacore.com> - - * contracts.adb (Build_Postconditions_Procedure): Set Is_Inlined - unconditionnally on the procedure entity. - -2022-06-01 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch3.adb (Constrain_Access): Propagate null-exclusion flag - from parent type. - -2022-06-01 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch5.adb (Analyze_Loop_Statement): Add a comment about - a finalization issue. - -2022-06-01 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch6.adb (Caller_Known_Size): Call Returns_On_Secondary_Stack - instead of Requires_Transient_Scope and tidy up. - (Needs_BIP_Alloc_Form): Likewise. - * exp_util.adb (Initialized_By_Aliased_BIP_Func_Call): Also return - true if the build-in-place function call has no BIPalloc parameter. - (Is_Finalizable_Transient): Remove redundant test. - -2022-06-01 Alexandre Oliva <oliva@adacore.com> - - * doc/gnat_rm/security_hardening_features.rst: Note that hardening - features are experimental. - * gnat_rm.texi: Regenerate. - -2022-06-01 Steve Baird <baird@adacore.com> - - * exp_ch3.adb (Make_Controlling_Function_Wrappers): Set the - Corresponding_Spec field of a wrapper subprogram body before - analyzing the subprogram body; the field will be set (again) - during analysis, but we need it to be set earlier. - * exp_ch13.adb (Expand_N_Freeze_Entity): Add wrapper subprogram - bodies to the list of declarations for which we do not want to - suppress checks. - -2022-06-01 Eric Botcazou <ebotcazou@adacore.com> - - * sem_util.adb (Indirect_Temp_Needed): Adjust reference in comment. - -2022-06-01 Doug Rupp <rupp@adacore.com> - - * Makefile.rtl (GNATLIB_SHARED): Revert disablement for arm-qnx. - -2022-06-01 Eric Botcazou <ebotcazou@adacore.com> - - * sem_util.adb - (Returns_On_Secondary_Stack.Caller_Known_Size_Record): Directly - check the dependence on discriminants for the variant part, if - any, instead of calling the Is_Definite_Subtype predicate. - -2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com> - - * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix warning tag. - -2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com> - - * sem_warn.adb (Check_References): Adjust conditions under which - warning messages should be emitted and their tags as well. - -2022-06-01 Eric Botcazou <ebotcazou@adacore.com> - - * exp_disp.ads (Expand_Interface_Thunk): Change type of Prim. - * exp_disp.adb (Expand_Interface_Thunk): Declare Is_Predef_Op - earlier, do not initialize Iface_Formal, use No idiom and tweaks - comments. - (Register_Primitive): Declare L earlier and tweak comments. - * sem_disp.adb (Check_Dispatching_Operation): Move tests out of - loop. - -2022-06-01 Steve Baird <baird@adacore.com> - - * exp_ch3.ads: Replace visible Build_Discr_Checking_Funcs (which - did not need to be visible - it was not referenced outside this - package) with Build_Or_Copy_Discr_Checking_Funcs. - * exp_ch3.adb: Refactor existing code into 3 procedures - - Build_Discr_Checking_Funcs, Copy_Discr_Checking_Funcs, and - Build_Or_Copy_Discr_Checking_Funcs. This refactoring is intended - to be semantics-preserving. - * exp_ch4.adb (Expand_N_Selected_Component): Detect case where a - call should be generated to the Discriminant_Checking_Func for - the component in question, but that subprogram does not yet - exist. - * sem_ch13.adb (Freeze_Entity_Checks): Immediately before - calling Build_Predicate_Function, add a call to - Exp_Ch3.Build_Or_Copy_Discr_Checking_Funcs in order to ensure - that Discriminant_Checking_Func attributes are already set when - Build_Predicate_Function is called. - * sem_ch6.adb (Analyze_Expression_Function): If the expression - of a static expression function has been transformed into an - N_Raise_xxx_Error node, then we need to copy the original - expression in order to check the requirement that the expression - must be a potentially static expression. We also want to set - aside a copy the untransformed expression for later use in - checking calls to the expression function via - Inline_Static_Function_Call. So introduce a new function, - Make_Expr_Copy, for use in these situations. - * sem_res.adb (Preanalyze_And_Resolve): When analyzing certain - expressions (e.g., a default parameter expression in a - subprogram declaration) we want to suppress checks. However, we - do not want to suppress checks for the expression of an - expression function. - -2022-06-01 Bob Duff <duff@adacore.com> - - * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): For each - subprogram found, assert that the variable is Empty, so we can - detect bugs where we find two or more things with the same name. - Without this patch, that bug would happen when we add the new - Next procedure. For Step, make sure we pick the right one, by - checking name and number of parameters. For Get_Element_Access, - check that we're picking a function. That's not really - necessary, because there is no procedure with that name, but it - seems cleaner this way. - * rtsfind.ads: Minor comment improvement. It seems kind of odd - to say "under no circumstances", and then immediately contradict - that with "The one exception is...". - -2022-06-01 Doug Rupp <rupp@adacore.com> - - * init.c (QNX): __gnat_adjust_context_for_raise: New - implementation for arm-qnx. - -2022-06-01 Julien Bortolussi <bortolussi@adacore.com> - - * libgnat/a-cofuba.ads, libgnat/a-cofuba.adb: Add reference - counting. - -2022-06-01 Yannick Moy <moy@adacore.com> - - * sem_ch8.adb (Use_One_Package): Possibly warn. - * sem_util.adb (Enter_Name): Factor out warning on hidden entity. - (Warn_On_Hiding_Entity): Extract warning logic from Enter_Name and - generalize it to be applied also on use_clause. - * sem_util.ads (Warn_On_Hiding_Entity): Add new procedure. - -2022-06-01 Yannick Moy <moy@adacore.com> - - * par-ch3.adb (P_Known_Discriminant_Part_Opt): Reword error - message to benefit from existing codefix. - (P_Record_Definition): Detect out-of-order keywords in record - definition and issue appropriate messages. Other cases are - already caught at appropriate places. - -2022-06-01 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Put - the actions into the Actions field of the freeze node instead of - inserting them after it. - -2022-06-01 Marc Poulhiès <poulhies@adacore.com> - - * sinfo.ads: Add inline documention for Is_Parenthesis_Aggregate - and Is_Enum_Array_Aggregate. - -2022-06-01 Bob Duff <duff@adacore.com> - - * einfo-utils.adb (Set_Convention): Call Set_Convention - recursively, so that Set_Can_Use_Internal_Rep is called (if - appropriate) on the anonymous access type of the object, and its - designated subprogram type. - * sem_ch3.adb (Access_Definition): Remove redundant call to - Set_Can_Use_Internal_Rep. - -2022-06-01 Bob Duff <duff@adacore.com> - - * exp_ch4.adb (Expand_N_In): Do not warn in the above-mentioned - cases. - * fe.h (Assume_No_Invalid_Values): Remove from fe.h, because - this is not used in gigi. - * opt.ads (Assume_No_Invalid_Values): Improve the comment. We - don't need to "clearly prove"; we can just "prove". Remove the - comment about fe.h, which is no longer true. - -2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> - - * erroutc.adb (Get_Warning_Option): Don't consider `?` as a - valid option switch. - -2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> - - * erroutc.ads (Get_Warning_Option): New function returning the - option responsible for a warning if it exists. - * erroutc.adb (Get_Warning_Option): Likewise. - (Get_Warning_Tag): Rely on Get_Warning_Option when possible. - * errout.adb (Output_JSON_Message): Emit option field. - -2022-05-30 Julien Bortolussi <bortolussi@adacore.com> - - * libgnat/a-cfdlli.ads (Insert): Remove the duplication. - -2022-05-30 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch6.adb (Check_Subprogram_Variant): Ignore structural - variants. - -2022-05-30 Piotr Trojanek <trojanek@adacore.com> - - * osint.adb (Locate_File): Change variable to constant and - initialize it by concatenation of directory, file name and NUL. - -2022-05-30 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_advice.rst (Packed Types): Remove - duplicated and wrongly placed paragraph. - * gnat_rm.texi: Regenerate. - -2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> - - * inline.adb (Check_Package_Body_For_Inlining): Add insertion - character. - -2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> - - * freeze.adb (Warn_Overlay): Add 'o' insertion character. - * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Likewise. - * sem_util.adb (Note_Possible_Modifications): Likewise. - -2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> - - * sem_warn.adb (Warn_On_Useless_Assignment): Fix insertion - character. - -2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> - - * sem_disp.adb (Warn_On_Late_Primitive_After_Private_Extension): - Fix insertion character. - -2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> - - * sem_elab.adb (Process_Conditional_ABE_Access_Taken): Add '.f' - insertion characters. - -2022-05-30 Piotr Trojanek <trojanek@adacore.com> - - * lib-xref.ads (Deferred_Reference_Entry, Defer_Reference, - Process_Deferred_References, Has_Deferred_Reference): Remove - client API. - * lib-xref.adb (Deferred_References, Defer_Reference, - Has_Deferred_Reference, Process_Deferred_References): Remove - implementation. - * frontend.adb, sem_ch11.adb, sem_ch5.adb, sem_res.adb, - sem_util.adb, sem_warn.adb: Remove uses of Deferred_References. - -2022-05-30 Bob Duff <duff@adacore.com> - - * exp_ch7.adb (Wrap_HSS_In_Block): Do not create a new block in - the case of function bodies. We include all subprogram bodies, - because it's harmless for procedures. We cannot easily avoid - creating this block in ALL cases, because some transformations - of (e.g.) task bodies end up moving some code such that the - wrong exception handlers apply to that code. - (Build_Finalizer_Call): Remove code for creating a new block. - This was unreachable code, given that Wrap_HSS_In_Block has - already done that, but with the above change to - Wrap_HSS_In_Block, this code becomes reachable, and triggers - essentially the same bug. - * exp_ch7.ads: Adjust comment. - -2022-05-30 Justin Squirek <squirek@adacore.com> - - * par-ch6.adb (P_Formal_Part): Set Aspect_Specifications on all - formals instead of just the last in a formal id list. - * sem_ch6.adb (Analyze_Null_Procedure): Mark expanded null - generic procedures as trivial in order to avoid spurious - unreferenced warnings. - -2022-05-30 Romain Beguet <beguet@adacore.com> - - * libgnat/s-dwalin.adb: Add a subtype declaration to fix the - ambiguity. - -2022-05-30 Steve Baird <baird@adacore.com> - - * sem_ch13.adb (Is_Predicate_Static): Do not generate warnings - about subexpressions of enclosing expressions. Generate warnings - for predicates that are known to be always true or always false, - except in the case where the predicate is expressed as a Boolean - literal. Deal with non-predicate-static expressions that have - been transformed into predicate-static expressions. Add missing - Is_Type_Ref call to N_Membership_Test case. - -2022-05-30 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Expand_Record_Aggregate.Build_Back_End_Aggregate): - Skip the discriminants at the start of the component list before - looking for the components inherited from the parent in the case - of a tagged extension. - -2022-05-30 Eric Botcazou <ebotcazou@adacore.com> - - * exp_disp.adb (Make_DT): Remove remaining freezing code. - -2022-05-30 Eric Botcazou <ebotcazou@adacore.com> - - * sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Don't analyze - the body of an expression function in the case of a dispatch table. - -2022-05-30 Arnaud Charlet <charlet@adacore.com> - - * gnat1drv.adb, opt.ads, sem_ch7.adb: Introduce CCG_Mode. - -2022-05-30 Yannick Moy <moy@adacore.com> - - * Makefile.rtl: Add new units. - * libgnat/s-aridou.adb (Scaled_Divide): Add ghost code for provers. - * libgnat/s-spcuop.adb: New unit for ghost cut operations. - * libgnat/s-spcuop.ads: New unit for ghost cut operations. - * libgnat/s-spark.ads: New unit. - -2022-05-30 Alexandre Oliva <oliva@adacore.com> - - * doc/gnat_rm/security_hardening_features.rst: Mention - availability in other languages when applicable. - (Stack Scrubbing): Associate the attribute with types, expand - some comments, fix the example involving access to variables. - * gnat_rm.texi: Regenerate. - -2022-05-30 Piotr Trojanek <trojanek@adacore.com> - - * libgnat/a-cofuse.ads (Empty_Set): Fix typo in comment. - -2022-05-30 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch6.adb (New_Overloaded_Entity): Deal specifically with the - overriding of the "=" operator for tagged types. - -2022-05-30 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Expand_N_Object_Declaration): Adjust call to Make_DT. - * exp_disp.ads (Building_Static_DT): Remove pragma Inline. - (Building_Static_Secondary_DT): Likewise. - (Convert_Tag_To_Interface): Likewise. - (Make_DT): Remove second parameter. - * exp_disp.adb (Make_DT): Likewise. - (Check_Premature_Freezing): Delete. - Pass Do_Freeze_Profile as False in call to Freeze_Entity. - * freeze.ads (Freezing_Library_Level_Tagged_Type): Delete. - * freeze.adb (Freeze_Profile): Remove obsolete code. - (Freeze_Entity): Tweak comment. - -2022-05-30 Yannick Moy <moy@adacore.com> - - * libgnat/s-arit32.adb (Scaled_Divide32): Move assertion up. - -2022-05-30 Yannick Moy <moy@adacore.com> - - PR ada/105303 - * libgnat/s-gearop.adb: Add pragma Assertion_Policy in generic - bodies making use of additional assertions or ghost code. - * libgnat/s-gearop.ads: Remove confusing Assertion_Policy. - -2022-05-30 Steve Baird <baird@adacore.com> - - * exp_ch11.adb (Expand_N_Raise_Expression): Remove - Convert_To_Return_False test. - * gen_il-fields.ads: Remove Convert_To_Return_False field. - * gen_il-gen-gen_nodes.adb: Remove use of - Convert_To_Return_False field. - * sinfo.ads: Remove comment describing Convert_To_Return_False - flag. - -2022-05-30 Julien Bortolussi <bortolussi@adacore.com> - - * libgnat/a-cofuma.ads, libgnat/a-cofuma.adb, - libgnat/a-cofuse.ads, libgnat/a-cofuse.adb, - libgnat/a-cofuve.ads, libgnat/a-cofuve.adb: Add empty - constructors. - -2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> - - * bindgen.adb (Gen_CUDA_Init): Remove code generating CUDA - definitions. - (Gen_CUDA_Defs): New function, generating definitions - initialized by Gen_CUDA_Init. - (Gen_Output_File_Ada): Call Gen_CUDA_Defs instead of - Gen_CUDA_Init. - (Gen_Adainit): Call Gen_CUDA_Init. - -2022-05-28 Alexandre Oliva <oliva@adacore.com> - - * gcc-interface/Makefile.in (OSCONS_CC): Rename to... - (GCC_FOR_ADA_RTS): ... this. Adjust users. - (gnatlib): Pass it down as CC. - (gnatlib-shared-default): Likewise. - (gnatlib-shared-win32, gnatlib-shared-darwin): Likewise. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Constant>: Deal with - a constant related to a return in a function specially. - * gcc-interface/trans.cc (Call_to_gnu): Use return slot optimization - if the target is a return object. - (gnat_to_gnu) <N_Object_Declaration>: Deal with a constant related - to a return in a function specially. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils.cc (gnat_pushdecl): Also set TREE_NO_WARNING - on the decl if Comes_From_Source is false for the associated node. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (gnat_gimplify_expr): Tidy up. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Function>: Also call - process_attributes for built-in functions. - (prepend_one_attribute_pragma): Deal with "simd" attribute. - * gcc-interface/utils.cc (handle_simd_attribute): New function. - (gnat_internal_attribute_table): Add entry for "simd" attribute. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (components_to_record): Use NULL recursively - as P_GNU_REP_LIST for the innermost variant level in the unchecked - union case with a fixed part. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (gnat_to_gnu): Do not set Current_Error_Node - to a node without location. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: And - skip the elaboration of the designated subtype when that of its base - type has been delayed. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Record_Subtype>: If - it is a special subtype designated by an access subtype, then defer - the completion of incomplete types. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/ada-tree.h, gcc-interface/ada.h, - gcc-interface/gadaint.h, gcc-interface/targtyps.cc: Adjust - copyright line. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils.cc (unchecked_convert): Do not fold a string - constant if the target type is pointer to character. - -2022-05-19 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Analyze_Pragma): Remove redundant call to - Set_Error_Posted. - -2022-05-19 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch8.adb (Find_Expanded_Name): Emit a main error message - before adding a continuation with the call to - Error_Missing_With_Of_Known_Unit. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * sem_util.ads (Requires_Transient_Scope): Add pragma Inline. - -2022-05-19 Steve Baird <baird@adacore.com> - - * sem_ch13.adb (Build_Predicate_Functions): If a semantic error - has been detected then ignore Predicate_Failure aspect - specifications in the same way as is done for CodePeer and - SPARK. This avoids an internal compiler error if - Ancestor_Predicate_Function_Called is True but Result_Expr is - not an N_And_Then node (and is therefore unsuitable as an - argument in a call to Left_Opnd). - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.adb (Wrap_Transient_Declaration): Propagate Uses_Sec_Stack - to enclosing function if it does not return on the secondary stack. - * exp_ch6.adb (Expand_Call_Helper): Call Establish_Transient_Scope - with Manage_Sec_Stack set to True only when necessary. - * sem_res.adb (Resolve_Call): Likewise. - (Resolve_Entry_Call): Likewise. - -2022-05-19 Daniel Mercier <mercier@adacore.com> - - * sem_ch13.adb (Build_Predicate_Function): Ignore predicate - failure in CodePeer mode. - -2022-05-19 Arnaud Charlet <charlet@adacore.com> - - * raise-gcc.c: Fix compilation with -DSTANDALONE under windows. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch4.adb (Narrow_Large_Operation): Preserve and reuse Etype. - -2022-05-19 Javier Miranda <miranda@adacore.com> - - * exp_attr.adb (Add_Implicit_Interface_Type_Conversion): New - subprogram which factorizes code. - (Expand_N_Attribute_Reference): Call the new subprogram to add - the missing implicit interface type conversion. - -2022-05-19 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch13.adb (Build_Predicate_Function): Ignore predicate - failure in GNATprove mode. - -2022-05-19 Steve Baird <baird@adacore.com> - - * einfo-utils.ads, einfo-utils.adb: Delete Predicate_Function_M - function and Set_Predicate_Function_M procedure. - * einfo.ads: Delete comments for Is_Predicate_Function_M and - Predicate_Function_M functions. Add comment for new - Predicate_Expression function. Update comment describing - predicate functions. - * exp_util.ads, exp_util.adb (Make_Predicate_Call): Replace Mem - formal parameter with Static_Mem and Dynamic_Mem formals. - (Make_Predicate_Check): Delete Add_Failure_Expression and call - to it. - * exp_ch4.adb (Expand_N_In.Predicate_Check): Update - Make_Predicate_Call call to match profile change. - * gen_il-fields.ads: Delete Is_Predicate_Function_M field, add - Predicate_Expression field. - * gen_il-gen-gen_entities.adb: Delete Is_Predicate_Function_M - use, add Predicate_Expression use. - * sem_ch13.adb (Build_Predicate_Functions): Rename as singular, - not plural; we no longer build a Predicate_M function. Delete - Predicate_M references. Add new Boolean parameter for predicate - functions when needed. Restructure body of generated predicate - functions to implement required Predicate_Failure behavior and - to set new Predicate_Expression attribute. Remove special - treatment of raise expressions within predicate expressions. - * sem_util.ads (Predicate_Failure_Expression, - Predicate_Function_Needs_Membership_Parameter): New functions. - * sem_util.adb (Is_Current_Instance): Fix bugs which caused - wrong result. - (Is_Current_Instance_Reference_In_Type_Aspect): Delete - Is_Predicate_Function_M reference. - (Predicate_Failure_Expression): New function. - (Propagate_Predicate_Attributes): Delete Is_Predicate_Function_M - references. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch6.adb (Expand_Call_Helper): Adjust comment. - (Expand_Simple_Function_Return): For the case of a type which needs - finalization and is returned on the primary stack, do not create a - copy if the expression originates from a function call. - * exp_ch7.adb (Transient Scope Management): Adjust comment. - * exp_util.ads (Is_Related_To_Func_Return): Add WARNING line. - * fe.h (Is_Related_To_Func_Return): Declare. - -2022-05-19 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch9.adb (Build_Find_Body_Index): Remove empty Elsif_Parts - from the constructed IF statement. - -2022-05-19 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch9.adb (Build_Find_Body_Index): Remove IF statement whose - condition was true-by-construction; remove excessive assertion - (since the call to Elsif_Parts will check that Nod is present - and it is an if-statement). - -2022-05-19 Arnaud Charlet <charlet@adacore.com> - - * gnat1drv.adb, gnatcmd.adb: Remove references to gnatfind/xref. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst, - doc/gnat_ugn/the_gnat_compilation_model.rst: Ditto. - * gnat_ugn.texi: Regenerate. - * gnatfind.adb, gnatxref.adb, xr_tabls.adb, xr_tabls.ads, - xref_lib.adb, xref_lib.ads: Removed, no longer used. - -2022-05-19 Claire Dross <dross@adacore.com> - - * libgnat/a-strfix.adb: Add assertions. - * libgnat/a-strsup.adb: Idem. - -2022-05-19 Ed Schonberg <schonberg@adacore.com> - - * erroutc.ads: Fix a single-character typo in a comment. - * exp_aggr.adb: Fix a single-character typo in a comment. - Replace several pairs of calls to Low_Bound and - High_Bound (which do not handle an identifier that denotes a - scalar subtype) with corresponding calls to Get_Index_Bounds - (which does handle that case). - * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Set the - Component_Associations attribute of a null array aggregate to - New_List. - * sem_aggr.ads: New visible function - Is_Null_Array_Aggregate_High_Bound. - * sem_aggr.adb (Is_Null_Array_Aggregate_High_Bound, - Is_Null_Aggregate, Resolve_Null_Array_Aggregate): New functions. - (Resolve_Aggregate): Recognize null array aggregates (using - Is_Null_Aggregate) and, when one is recognized, resolve - it (using Resolve_Null_Array_Aggregate). Avoid calling - Array_Aggr_Subtype for a null array aggregate; the needed - subtype is built in Resolve_Null_Array_Aggregate. Do not - incorrectly flag a null aggregate (after it is transformed by - expansion) as being both positional and named. - * sem_attr.adb (Eval_Attribute): Special treatment for null - array aggregate high bounds to avoid incorrectly flagging - something like Integer'Pred (Integer'First) as an illegal static - expression. - * sem_eval.adb (Out_Of_Range): Special treatment for null array - aggregate high bounds to avoid incorrectly flagging something - like Integer'Pred (Integer'First) as an illegal static - expression. - -2022-05-19 Yannick Moy <moy@adacore.com> - - * libgnat/s-aridou.adb (Lemma_Abs_Range, - Lemma_Double_Shift_Left, Lemma_Shift_Left): New lemmas. - (Double_Divide): Add ghost code. - (Lemma_Concat_Definition, Lemma_Double_Shift_Left, - Lemma_Shift_Left, Lemma_Shift_Right): Define or complete lemmas. - (Scaled_Divide): Add ghost code. - -2022-05-19 Bob Duff <duff@adacore.com> - - * exp_pakd.adb (Expand_Packed_Eq): Replace the check for *same* - modular type, with a check for any modular type, and assert that - the two types have the same modulus and so on. - * exp_pakd.ads: Minor comment improvements. - -2022-05-19 Bob Duff <duff@adacore.com> - - * style.adb (Check_Identifier): Deal with the case where a - record component definition has been transformed; we want to - warn if the original came from source. - * libgnat/s-objrea.ads, libgnat/s-objrea.adb: Fix casing of MF - to be consistent. - * uname.adb: Fix casing of Chars to be consistent. - * sem_util.ads: Minor comment fix. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-retsta. - * debug.adb (d_r): Document usage. - * exp_ch4.adb (Expand_N_Allocato): Deal with the return stack pool. - * exp_ch6.adb (Expand_Simple_Function_Return): Replace calls to - Requires_Transient_Scope with Returns_On_Secondary_Stack. Deal - with types that need finalization returned on the primary stack, - use CW_Or_Needs_Finalization for those returned on the secondary. - * exp_util.adb (Build_Allocate_Deallocate_Proc): Return early - for the return stack pool. - (Remove_Side_Effects): Call CW_Or_Needs_Finalization. - * fe.h (Requires_Transient_Scope): Delete. - (Returns_On_Secondary_Stack): Declare. - * gnat1drv.adb (Adjust_Global_Switches): Set Back_End_Return_Slot - to False when generating C code or if -gnatd_r is specified. - * opt.ads (Back_End_Return_Slot): New boolean variable. - * rtsfind.ads (RTU_Id): Add System_Return_Stack. - (RE_Id): Add RE_RS_Allocate and RE_RS_Pool. - (RE_Unit_Table): Add entries for RE_RS_Allocate and RE_RS_Pool. - * sem_util.ads (CW_Or_Has_Controlled_Part): Delete. - (CW_Or_Needs_Finalization): Declare. - (Requires_Transient_Scope): Adjust description. - (Returns_On_Secondary_Stack): Declare. - * sem_util.adb (Compute_Returns_By_Ref): Set Returns_By_Ref on types - which need finalization if they are returned on the secondary stack. - (CW_Or_Has_Controlled_Part): Rename to... - (CW_Or_Needs_Finalization): ...this. - (Requires_Transient_Scope): Move bulk of implementation to... - (Returns_On_Secondary_Stack): ...here. Return true for types which - need finalization only if the back-end return slot is not supported. - * libgnat/s-retsta.ads: New file. - * gcc-interface/ada-builtin-types.def (BT_FN_PTR_SSIZE): Define. - * gcc-interface/ada-builtins.def (return_slot): Likewise. - * gcc-interface/ada-tree.h (BUILT_IN_RETURN_SLOT): Likewise. - * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call to - Requires_Transient_Scope with Returns_On_Secondary_Stack. - * gcc-interface/trans.cc (gnat_to_gnu) <N_Simple_Return_Statement>: - In the return by invisible reference, skip the copy if the source - is the same as the destination. - * gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Deal with - the return stack pool. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc: Fix formatting issues in comments. - (Subprogram_Body_to_gnu): Tidy up. - (Exception_Handler_to_gnu_gcc): Rename into... - (Exception_Handler_to_gnu): ...this. - (gnat_to_gnu) <N_Exception_Handler>: Adjust to above renaming. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Rename a couple - of local variables and use Is_Generic_Subprogram predicate. - (process_decls): Likewise. - -2022-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Do not deal with - inlining heuristics for expression functions here but... - * gcc-interface/decl.cc (inline_status_for_subprog): ...here instead - and do not override them at -Os. - -2022-05-19 Piotr Trojanek <trojanek@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Remove dead code - which expected Scope to return E_Subprogram_Body entity. - -2022-05-18 Claire Dross <dross@adacore.com> - - * libgnat/s-imageu.adb (Set_Image_Unsigned): Change assertion. - -2022-05-18 Doug Rupp <rupp@adacore.com> - - * sigtramp-qnx.c: Change struct sigcontext * to mcontext_t *. - -2022-05-18 Doug Rupp <rupp@adacore.com> - - * sigtramp-arm-qnx.c: Rewrite. - -2022-05-18 Yannick Moy <moy@adacore.com> - - * libgnat/s-aridou.adb (Big3): Change return type. - (Lemma_Mult_Non_Negative, Lemma_Mult_Non_Positive): Reorder - alphabetically. - (Lemma_Concat_Definition, Lemma_Double_Big_2xxsingle): New - lemmas. - (Double_Divide, Scaled_Divide): Add assertions. - -2022-05-18 Claire Dross <dross@adacore.com> - - * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertions. - -2022-05-18 Kévin Le Gouguec <legouguec@adacore.com> - - * libgnat/s-dwalin.adb (Read_Aranges_Header): Initialize output - parameter in case we return early. - -2022-05-18 Bob Duff <duff@adacore.com> - - * libgnat/a-crbtgo.ads, libgnat/a-rbtgbo.ads, - libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb, - libgnat/a-cbhase.adb, libgnat/a-cdlili.adb, - libgnat/a-cfdlli.adb, libgnat/a-cfhama.adb, - libgnat/a-cfhase.adb, libgnat/a-cidlli.adb, - libgnat/a-cihama.adb, libgnat/a-cihase.adb, - libgnat/a-cohama.adb, libgnat/a-cohase.adb, - libgnat/a-crbtgo.adb, libgnat/a-crdlli.adb, libgnat/a-rbtgbo.adb - (Vet): Make the Vet functions do nothing when - Container_Checks'Enabled is False, and inline them, so the calls - disappear when optimizing. - -2022-05-18 Doug Rupp <rupp@adacore.com> - - * Makefile.rtl (arm-qnx): Use default (non-fma) target pair. - -2022-05-18 Kévin Le Gouguec <legouguec@adacore.com> - - * libgnat/s-dwalin.adb (Aranges_Lookup, Enable_Cache): Adapt to - changes in the signature of Read_Aranges_*. - (Debug_Info_Lookup): Do not control address size read from - DWARF. - (Read_Aranges_Header): Do not control address size read from - DWARF; return this size. - (Read_Aranges_Entry): Use the size returned by - Read_Aranges_Header. - -2022-05-18 Gary Dismukes <dismukes@adacore.com> - - * errout.ads (Error_Msg_GNAT_Extension): Add formal Loc and - revise comment. - * errout.adb (Error_Msg_GNAT_Extension): Condition message on - the flag Ada_Version_Pragma, and add suggestion to use of pragma - Extensions_Allowed in messages. - * par-ch3.adb, par-ch5.adb, par-ch6.adb, par-ch11.adb, - par-ch12.adb: Add actual Token_Ptr on calls to - Error_Msg_GNAT_Extension. - * par-ch4.adb: Change Error_Msg to Error_Msg_GNAT_Extension for - error calls related to use of extension features. - * sem_ch13.adb: Likewise. - -2022-05-18 Johannes Kliemann <kliemann@adacore.com> - - * libgnarl/s-osinte__qnx.adb (To_Target_Priority): Perform - arithmetic in int. - -2022-05-18 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Use Needs_BIP_Alloc_Form. - -2022-05-18 Javier Miranda <miranda@adacore.com> - - * sem_ch6.adb (Find_Corresponding_Spec): Avoid calling - Is_Null_Extension with a class-wide type entity. - (Overrides_Visible_Function): Handle alias entities. - * sem_res.adb (Has_Applicable_User_Defined_Literal): Conversion - not needed if the result type of the call is class-wide or if - the result type matches the context type. - * sem_util.ads (Is_Null_Extension): Adding documentation. - (Is_Null_Extension_Of): Adding documentation. - * sem_util.adb (Is_Null_Extension): Adding assertion. - (Is_Null_Extension_Of): Adding assertions. - -2022-05-18 Javier Miranda <miranda@adacore.com> - - * snames.ads-tmpl (Name_Index): New attribute name. - (Attribute_Id): Adding Attribute_Index as regular attribute. - * sem_attr.adb (Attribute_22): Adding Attribute_Index as Ada - 2022 attribute. - (Analyze_Index_Attribute): Check that 'Index appears in a - pre-/postcondition aspect or pragma associated with an entry - family. - (Analyze_Attribute): Adding semantic analysis for 'Index. - (Eval_Attribute): Register 'Index as can never be folded. - (Resolve_Attribute): Resolve attribute 'Index. - * sem_ch9.adb (Check_Wrong_Attribute_In_Postconditions): New - subprogram. - (Analyze_Requeue): Check that the requeue target shall not have - an applicable specific or class-wide postcondition which - includes an Index attribute reference. - * exp_attr.adb (Expand_N_Attribute_Reference): Transform - attribute Index into a renaming of the second formal of the - wrapper built for an entry family that has contract cases. - * einfo.ads (Is_Entry_Wrapper): Complete documentation. - -2022-05-18 Yannick Moy <moy@adacore.com> - - * libgnat/s-imagei.adb (Set_Digits): Add assertion. - * libgnat/s-imgboo.adb (Image_Boolean): Add assertions. - * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion. - -2022-05-18 Arnaud Charlet <charlet@adacore.com> - - * sem_aux.adb (Is_Immutably_Limited_Type): Do not look through - private types as per RM 7.5(8.1). - * sem_ch6.adb (Analyze_Function_Return): Use - Is_Immutably_Limited_Type as per RM 6.5(5.10). - -2022-05-18 Marc Poulhiès <poulhies@adacore.com> - - * gen_il-gen-gen_nodes.adb (Gen_IL.Gen.Gen_Nodes): Add - Is_Homogeneous_Aggregate field for N_Delta_Aggregate nodes. - * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Minor reformatting. - * sem_aggr.adb (Resolve_Delta_Aggregate): Reject square brackets - for record aggregate. - (Resolve_Record_Aggregate): Uniformise error message. - -2022-05-18 Arnaud Charlet <charlet@adacore.com> - - * ali.adb (Scan_ALI): Special case a-tags.ali when setting - Sec_Stack_Used. - * bindgen.adb (Gen_Adainit): Simplify handling of secondary - stack related code, and only import __gnat_binder_ss_count when - needed. - * libgnat/s-secsta.adb (Binder_SS_Count): Default initialize to - 0. - -2022-05-18 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-dourea.adb ("/"): Add guard for zero and infinite - divisor. - * libgnat/s-valuer.adb (Scan_Raw_Real): Add guard for very large - exponent values. - -2022-05-18 Yannick Moy <moy@adacore.com> - - * sem_elab.adb (Is_Suitable_Construct): Fix for generated - constructs. - -2022-05-18 Marc Poulhiès <poulhies@adacore.com> - - * sem_ch3.adb (Analyze_Object_Declaration): Skip predicate check - for type conversion if object's subtype and expression's subtype - statically match. - * exp_prag.adb (Expand_Pragma_Check): Typo fix in comment. - -2022-05-18 Eric Botcazou <ebotcazou@adacore.com> - - * exp_dbug.ads (Build_Subprogram_Instance_Renamings): Fix typo. - * exp_dbug.adb (Build_Subprogram_Instance_Renamings): Build the - renaming only for actuals of formal objects. - -2022-05-18 Gary Dismukes <dismukes@adacore.com> - - * sem_ch3.adb (Check_Abstract_Overriding): If the type is - derived from an untagged type, then don't perform any of the - abstract overriding error checks. - -2022-05-18 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.adb (Component_Count): Calculate size as an Uint and - only then check if it is in the range of Int, as otherwise the - multiplication of Int values can overflow. - -2022-05-18 Eric Botcazou <ebotcazou@adacore.com> - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add g-gfmafu$(objext). - (SIMD_PATH_TARGET_PAIRS): New variable. - (TRASYM_DWARF_COMMON_OBJS): Minor tweak. - (x86-64/Linux): Use SIMD_PATH_TARGET_PAIRS. - (x32/Linux): Likewise. - * doc/gnat_rm/the_gnat_library.rst (Generic_Fast_Math_Functions): - New entry. - * gnat_rm.texi: Regenerate. - * impunit.adb (Non_Imp_File_Names_95): Add g-gfmafu. - * sem_ch7.adb (Has_Referencer): Do not set In_Nested_Instance for - instances of generic packages that do not have a body. - * libgnat/a-nalofl__simd.ads: New SIMD-enabled version. - * libgnat/a-nuaufl__simd.ads: Likewise. - * libgnat/g-gfmafu.ads: New package renaming unit. - -2022-05-18 Arnaud Charlet <charlet@adacore.com> - - * freeze.adb (Should_Freeze_Type): Fix handling of freezing in - instances. - -2022-05-18 Marc Poulhiès <poulhies@adacore.com> - - * sem_ch12.adb (Check_Generic_Parent): Use - Get_Unit_Instantiation_Node instead of Next. - -2022-05-18 Alexandre Oliva <oliva@adacore.com> - - * libgnat/a-nagefl.ads: Replace mentions of C/unix math library - with intrinsics. - * libgnat/a-nallfl.ads: Likewise. State compatibility - requirements. - * libgnat/a-nalofl.ads: Likewise. - * libgnat/a-nuaufl.ads: Likewise. - -2022-05-18 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch8.adb (Analyze_Subprogram_Renaming): Move final test on - In_Instance to outer condition. - -2022-05-18 Doug Rupp <rupp@adacore.com> - - * Makefile.rtl: Rename system-qnx-aarch64.ads to - system-qnx-arm.ads. - (AARCH64 QNX section): Modify to handle both arm and arch64. - * tracebak.c (__QNX__): Add new __ARMEL__ section. - * sigtramp-arm-qnx.c: New file. - * libgnat/system-qnx-aarch64.ads: Renamed to ... - * libgnat/system-qnx-arm.ads: this. - -2022-05-17 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Flag_Effectively_Volatile_Objects): Restore - redundant guard. - -2022-05-17 Gary Dismukes <dismukes@adacore.com> - - * sem_ch8.adb (Analyze_Subprogram_Renaming): Add error check for - the case of a renamed subprogram given by an expanded name whose - outermost prefix names a unit that is hidden by the name of the - renaming. - (Ult_Expanded_Prefix): New local expression function to return - the ultimate prefix of an expanded name. - -2022-05-17 Ghjuvan Lacambre <lacambre@adacore.com> - - * gnat_cuda.ads: Update package-level comments. - (Build_And_Insert_CUDA_Initialization): Remove function. - * gnat_cuda.adb (Build_And_Insert_CUDA_Initialization): Remove - function. - (Expand_CUDA_Package): Remove call to - Build_And_Insert_CUDA_Initialization. - -2022-05-17 Etienne Servais <servais@adacore.com> - - * freeze.adb (Freeze_Enumeration_Type): Fix comment, enhance - message and silence warning for size > 32. - -2022-05-17 Yannick Moy <moy@adacore.com> - - * exp_spark.adb (Expand_SPARK_Potential_Renaming): Deal with no - entity case. - * inline.ads (Check_Object_Renaming_In_GNATprove_Mode): New - procedure. - * inline.adb (Check_Object_Renaming_In_GNATprove_Mode): New - procedure. - (Can_Be_Inlined_In_GNATprove_Mode): Remove case forbidding - inlining for subprograms inside generics. - * sem_ch12.adb (Copy_Generic_Node): Preserve global entities - when inlining in GNATprove mode. - * sem_ch6.adb (Analyse_Subprogram_Body_Helper): Remove body to - inline if renaming is detected in GNATprove mode. - -2022-05-17 Gary Dismukes <dismukes@adacore.com> - - * exp_ch4.adb (Expand_N_Allocator): For an allocator with an - unconstrained discriminated designated type, and whose - allocation subtype is constrained, set the - Actual_Designated_Subtype of the dereference passed to the init - proc of the designated type to be the allocation subtype. - * sinfo.ads: Add documentation of new setting of - Actual_Designated_Subtype on a dereference used as an actual - parameter of call to an init proc associated with an allocator. - Also add missing syntax and documentation for the GNAT language - extension that allows an expression as a default for a concrete - generic formal function. - -2022-05-17 Bob Duff <duff@adacore.com> - - * sinfo.ads: Remove From_At_End. Update comments. - * gen_il-fields.ads, gen_il-gen-gen_nodes.adb, sem_ch11.adb: - Remove From_At_End. - * exp_ch11.adb (Expand_At_End_Handler): Remove assertion. - * fe.h (Exception_Mechanism, Exception_Mechanism_Type, Has_DIC, - Has_Invariants, Is_List_Member, List_Containing): Remove - declarations that are not used in gigi. - * opt.ads (Exception_Mechanism): This is not used in gigi. - * exp_util.ads: Minor comment fix. - -2022-05-17 Dmitriy Anisimkov <anisimko@adacore.com> - - * impunit.adb: Add "g-binsea" to Non_Imp_File_Names_95 list. - -2022-05-17 Yannick Moy <moy@adacore.com> - - * sem_ch5.adb (Analyze_Iterator_Specification): Use - Insert_Action when possibly inside an expression. - -2022-05-17 Marc Poulhiès <poulhies@adacore.com> - - * libgnat/g-forstr.adb (Is_Number): Add scientific notation and - shortest representation. - -2022-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Expand_N_Full_Type_Declaration): Look into N. - -2022-05-17 Bob Duff <duff@adacore.com> - - * exp_util.adb (Requires_Cleanup_Actions): Remove - N_Protected_Body from the case statement, so that case will be - covered by "raise Program_Error". - -2022-05-17 Bob Duff <duff@adacore.com> - - * output.adb (Pop_Output, Set_Output): Unconditionally flush - output when switching from one output destination to another. - Otherwise buffering can cause garbled output. - (w): Push/pop the current settings, and temporarily - Set_Standard_Error during these procedures. - -2022-05-17 Dmitriy Anisimkov <anisimko@adacore.com> - - * libgnat/g-binsea.ads, libgnat/g-binsea.adb - (GNAT.Binary_Search): New package. - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): New item in list. - * doc/gnat_rm/the_gnat_library.rst (GNAT.Binary_Search): New - package record. - * gnat_rm.texi: Regenerate. - -2022-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch12.ads (Is_Abbreviated_Instance): Declare. - * sem_ch12.adb (Check_Abbreviated_Instance): Declare. - (Requires_Conformance_Checking): Declare. - (Analyze_Association.Process_Default): Fix subtype of parameter. - (Analyze_Formal_Object_Declaration): Check whether it is in the - visible part of abbreviated instance. - (Analyze_Formal_Subprogram_Declaration): Likewise. - (Analyze_Formal_Type_Declaration): Likewise. - (Analyze_Package_Instantiation): Do not check for a generic child - unit in the case of an abbreviated instance. - (Check_Abbreviated_Instance): New procedure. - (Check_Formal_Packages): Tidy up. - (Copy_Generic_Elist): Fix comment. - (Instantiate_Formal_Package): Tidy up. If the generic unit is a - child unit, copy the qualified name onto the abbreviated instance. - (Is_Abbreviated_Instance): New function. - (Collect_Previous_Instances): Call Is_Abbreviated_Instance. - (Requires_Conformance_Checking): New function. - * sem_ch7.adb (Analyze_Package_Specification): Do not install the - private declarations of the parent for an abbreviated instance. - -2022-05-17 Etienne Servais <servais@adacore.com> - - * sem_ch3.adb (Analyze_Subtype_Declaration): Use underlying type - of Indic_Typ. - (Constrain_Array): Ditto for T. - -2022-05-17 Arnaud Charlet <charlet@adacore.com> - - * sem_attr.adb (Analyze_Attribute [Attribute_Reduce]): Allow - 'Reduce for Ada 2022 and above. - * sem_attr.ads (Attribute_Impl_Def): 'Reduce is no longer - implementation defined. - -2022-05-17 Ghjuvan Lacambre <lacambre@adacore.com> - - * exp_ch9.adb (Expand_N_Asynchronous_Select): Don't generate - Abort_Undefers when not Abort_Allowed. - -2022-05-17 Marc Poulhiès <poulhies@adacore.com> - - * exp_ch7.adb: Fix typo. - -2022-05-17 Etienne Servais <servais@adacore.com> - - * lib.ads: initialize `Compiler_State` to `Parsing`. - -2022-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch13.adb (Has_Compatible_Representation): Return true for - derived untagged record types without representation clause. - -2022-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch13.ads (Has_Compatible_Representation): Minor tweaks. - * sem_ch13.adb (Has_Compatible_Representation): Look directly into - the (implementation) base types and simplifiy accordingly. - * exp_ch5.adb (Change_Of_Representation): Adjust. - * exp_ch6.adb (Expand_Actuals): Likewise. - -2022-05-17 Etienne Servais <servais@adacore.com> - - * sem_ch5.adb (Analyze_Assignment): Remove superfluous call to - Original_Node. - -2022-05-17 Javier Miranda <miranda@adacore.com> - - * freeze.adb (Freeze_Entity): Protect the call to - Declaration_Node against entities of expressions replaced by the - frontend with an N_Raise_CE node. - -2022-05-17 Javier Miranda <miranda@adacore.com> - - * freeze.adb (Build_DTW_Spec): Do not inherit the not-overriding - indicator because the DTW wrapper overrides its wrapped - subprogram. - * contracts.ads (Make_Class_Precondition_Subps): Adding - documentation. - -2022-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch13.adb (Expand_N_Freeze_Entity): Delete freeze nodes for - subprograms only if they have no actions. - * exp_ch6.adb (Freeze_Subprogram): Put the actions into the Actions - field of the freeze node instead of inserting them after it. - * sem_elab.adb (Is_SPARK_Semantic_Target): Fix typo in comment. - * gcc-interface/trans.cc (process_freeze_entity): Return early for - freeze nodes of subprograms with Interface_Alias set. - -2022-05-17 Javier Miranda <miranda@adacore.com> - - * contracts.adb (Build_Call_Helper_Body): Improve handling of - the case of a (legal) non-dispatching call to an abstract - subprogram. - -2022-05-17 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_attributes.rst - (Loop_Entry): Mention pragmas Assert, Assert_And_Cut and Assume; - refill. - * gnat_rm.texi: Regenerate. - -2022-05-17 Etienne Servais <servais@adacore.com> - - * par-ch3.adb (P_Access_Type_Definition): Outputs an error if - token is not "access". - -2022-05-17 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch2.adb (Expand_Current_Value): Remove special case for - references immediately within pragma argument associations. - * exp_prag.adb (Expand_Pragma_Inspection_Point): Remove special - case for privals. - -2022-05-16 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch7.adb (Inspect_Untagged_Record_Completion): Also move the - equality operator on the homonym chain if there is another equality - operator in the private part. - -2022-05-16 Piotr Trojanek <trojanek@adacore.com> - - * exp_attr.adb (Expand_Loop_Entry_Attribute): Disable value - propagation when analysing the constant that holds the - Loop_Entry prefix value. - -2022-05-16 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Address_Checks): Remove call to - Kill_Current_Values for subprogram entities, because this - routine only does something for object entities. - -2022-05-16 Justin Squirek <squirek@adacore.com> - - * exp_ch7.adb (Build_Finalizer): Disable late evaluation of - postconditions for functions returning types which where - Has_Unconstrained_Elements is true or are unconstrained arrays. - -2022-05-16 Etienne Servais <servais@adacore.com> - - * exp_ch4.adb (Expand_N_Qualified_Expression): Freeze - Target_Type. - -2022-05-16 Yannick Moy <moy@adacore.com> - - * libgnat/s-aridou.adb (Double_Divide): Add intermediate - assertions. - -2022-05-16 Ghjuvan Lacambre <lacambre@adacore.com> - - * lib-writ.adb (Output_CUDA_Symbols): Check for null packages. - -2022-05-16 Joel Brobecker <brobecker@adacore.com> - - * libgnat/g-debpoo.ads: Improve documentation of the - Stack_Trace_Depth parameter. - -2022-05-16 Joel Brobecker <brobecker@adacore.com> - - * init.c (__gnat_install_handler) [__QNX__]: Save sigaction's - return value in err before checking err's value. Fix incorrect - signal names in perror messages. - -2022-05-16 Joel Brobecker <brobecker@adacore.com> - - * init.c (__gnat_install_handler) [__QNX__]: Set - act.sa_sigaction rather than act.sa_handler. - -2022-05-16 Joel Brobecker <brobecker@adacore.com> - - * cstreams.c: Add <stdlib.h> #include. - -2022-05-16 Joel Brobecker <brobecker@adacore.com> - - * terminals.c: Remove bzero #define on HP/UX or Solaris - platforms. - (child_setup_tty): Replace bzero call by equivalent call to - memset. - -2022-05-16 Gary Dismukes <dismukes@adacore.com> - - * sem_util.ads (Storage_Model_Support): Revise comments on most - operations within this nested package to reflect that they can - now be passed either a type that has aspect Storage_Model_Type - or an object of such a type. Change the names of the relevant - formals to SM_Obj_Or_Type. Also, add more precise semantic - descriptions in some cases, and declare the subprograms in a - more logical order. - * sem_util.adb (Storage_Model_Support.Storage_Model_Object): Add - an assertion that the type must specify aspect - Designated_Storage_Model, rather than returning Empty when it - doesn't specify that aspect. - (Storage_Model_Support.Storage_Model_Type): Add an assertion - that formal must be an object whose type specifies aspect - Storage_Model_Type, rather than returning Empty for when it - doesn't have such a type (and test Has_Storage_Model_Type_Aspect - rather than Find_Value_Of_Aspect). - (Storage_Model_Support.Get_Storage_Model_Type_Entity): Allow - both objects and types, and add an assertion that the type (or - the type of the object) has a value for aspect - Storage_Model_Type. - -2022-05-16 Etienne Servais <servais@adacore.com> - - * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated): - Fix condition to return. - -2022-05-16 Yannick Moy <moy@adacore.com> - - * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Update comment. - -2022-05-16 Marc Poulhiès <poulhies@adacore.com> - - * sem_aggr.adb (Resolve_Iterated_Association): Create scope - around N_Iterated_Element_Association handling. Analyze a copy - of the Loop_Parameter_Specification. Call Analyze instead - Analyze_* to be more homogeneous. - (Sem_Ch5): Remove now unused package. - -2022-05-16 Eric Botcazou <ebotcazou@adacore.com> - - * exp_util.adb (Insert_Actions) <N_Iterated_Component_Association>: - Climb up out of the node if the actions come from Discrete_Choices. - -2022-05-16 Javier Miranda <miranda@adacore.com> - - * sem_disp.adb (Check_Dispatching_Context): When checking to see - whether an expression occurs in a class-wide pre/post-condition, - also check for the possibility that it occurs in a class-wide - preconditions subprogram that was introduced as part of - expansion. Without this fix, some legal calls occuring in - class-wide preconditions may be incorrectly flagged as violating - the "a call to an abstract subprogram must be dispatching" rule. - -2022-05-16 Eric Botcazou <ebotcazou@adacore.com> - - * inline.adb (Cleanup_Scopes): Test the underlying type. - -2022-05-16 Eric Botcazou <ebotcazou@adacore.com> - - * sem_util.ads (Is_Entity_Of_Quantified_Expression): Declare. - * sem_util.adb (Is_Entity_Of_Quantified_Expression): New - predicate. - (New_Copy_Tree): Deal with all entities of quantified - expressions. - * sem_ch13.adb (Build_Predicate_Functions): Get rid of - superfluous tree copying and remove obsolete code. - * sem_ch6.adb (Fully_Conformant_Expressions): Deal with all - entities of quantified expressions. - -2022-05-16 Steve Baird <baird@adacore.com> - - * exp_ch7.adb (Build_Finalize_Statements): Add Last_POC_Call - variable to keep track of the last "early finalization" call - generated for type extension's finalization procedure. If - non-empty, then this will indicate the point at which to insert - the call to the parent type's finalization procedure. Modify - nested function Process_Component_List_For_Finalize to set this - variable (and avoid setting it during a recursive call). If - Last_POC_Call is empty, then insert the parent finalization call - before, rather than after, the finalization code for the - extension components. - -2022-05-16 Eric Botcazou <ebotcazou@adacore.com> - - * einfo-utils.adb (Remove_Entity): Fix couple of oversights. - * exp_ch3.adb (Is_User_Defined_Equality): Delete. - (User_Defined_Eq): Call Get_User_Defined_Equality. - (Make_Eq_Body): Likewise. - (Predefined_Primitive_Eq_Body): Call Is_User_Defined_Equality. - * exp_ch4.adb (Build_Eq_Call): Call Get_User_Defined_Equality. - (Is_Equality): Delete. - (User_Defined_Primitive_Equality_Op): Likewise. - (Find_Aliased_Equality): Call Is_User_Defined_Equality. - (Expand_N_Op_Eq): Call Underlying_Type unconditionally. - Do not implement AI12-0101 + AI05-0123 here. - (Expand_Set_Membership): Call Resolve_Membership_Equality. - * exp_ch6.adb (Expand_Call_Helper): Remove obsolete code. - * sem_aux.ads (Is_Record_Or_Limited_Type): Delete. - * sem_aux.adb (Is_Record_Or_Limited_Type): Likewise. - * sem_ch4.ads (Nondispatching_Call_To_Abstract_Operation): Declare. - * sem_ch4.adb (Analyze_Call): Call Call_Abstract_Operation. - (Analyze_Membership_Op): Call Resolve_Membership_Equality. - (Nondispatching_Call_To_Abstract_Operation): New procedure. - (Remove_Abstract_Operations): Call it. - * sem_ch6.adb (Check_Untagged_Equality): Remove obsolete error and - call Is_User_Defined_Equality. - * sem_ch7.adb (Inspect_Untagged_Record_Completion): New procedure - implementing AI12-0101 + AI05-0123. - (Analyze_Package_Specification): Call it. - (Declare_Inherited_Private_Subprograms): Minor tweak. - (Uninstall_Declarations): Likewise. - * sem_disp.adb (Check_Direct_Call): Adjust to new implementation - of Is_User_Defined_Equality. - * sem_res.ads (Resolve_Membership_Equality): Declare. - * sem_res.adb (Resolve): Replace direct error handling with call to - Nondispatching_Call_To_Abstract_Operation - (Resolve_Call): Likewise. - (Resolve_Equality_Op): Likewise. mplement AI12-0413. - (Resolve_Membership_Equality): New procedure. - (Resolve_Membership_Op): Call Get_User_Defined_Equality. - * sem_util.ads (Get_User_Defined_Eq): Rename into... - (Get_User_Defined_Equality): ...this. - * sem_util.adb (Get_User_Defined_Eq): Rename into... - (Get_User_Defined_Equality): ...this. Call Is_User_Defined_Equality. - (Is_User_Defined_Equality): Also check the profile but remove tests - on Comes_From_Source and Parent. - * sinfo.ads (Generic_Parent_Type): Adjust field description. - * uintp.ads (Ubool): Invoke user-defined equality in predicate. - -2022-05-16 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch3.adb (User_Defined_Eq): Replace duplicated code with a - call to Get_User_Defined_Eq. - -2022-05-16 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch3.adb (Build_Untagged_Equality): Exit early when the - outcome of a loop is already known. - -2022-05-16 Olivier Hainque <hainque@adacore.com> - - * Makefile.rtl: Add aarch64 to the list of CPUs for which - GNATLIB_SHARED maps to gnatlib-shared-dual for vxworks7r2. - -2022-05-16 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch4.adb (Analyze_Negation): Minor tweak. - (Analyze_Unary_Op): Likewise. - -2022-05-16 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Build_Assignment): Adjust to the new definition of - Incomplete_View field. - * sem_ch10.ads (Decorate_Type): Declare. - * sem_ch10.adb (Decorate_Type): Move to library level. - (Install_Limited_With_Clause): In the already analyzed case, also - deal with incomplete type declarations present in the sources and - simplify the replacement code. - (Build_Shadow_Entity): Deal with swapped views in package body. - (Restore_Chain_For_Shadow): Deal with incomplete type declarations - present in the sources. - * sem_ch3.adb (Analyze_Full_Type_Declaration): Adjust to the new - definition of Incomplete_View field. - (Build_Incomplete_Type_Declaration): Small consistency tweak. - Set the incomplete type as the Incomplete_View of the full type. - If the scope is a package with a limited view, build a shadow - entity for the incomplete type. - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): When replacing - the limited view of a CW type as designated type of an anonymous - access return type, get to the CW type of the incomplete view of - the tagged type, if any. - (Collect_Primitive_Operations): Adjust to the new definition of - Incomplete_View field. - * sinfo.ads (Incomplete_View): Denote the entity itself instead - of its declaration. - * sem_util.adb: Remove call to Defining_Entity. - -2022-05-16 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Given a - subtype recurse into its base type. - -2022-05-16 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Clarify. - -2022-05-16 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Is_Enabled): Remove; use Is_Enabled_Pragma - instead. - -2022-05-16 Martin Liska <mliska@suse.cz> - - * locales.c (iso_639_1_to_639_3): Use ARRAY_SIZE. - (language_name_to_639_3): Likewise. - (country_name_to_3166): Likewise. - -2022-05-13 Alexandre Oliva <oliva@adacore.com> - - * gcc-interface/decl.cc (is_cplusplus_method): Build proper - String for Get_External_Name. - -2022-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch3.adb (Derive_Subprogram): For a function, also copy the - Returns_By_Ref flag from the parent. - -2022-05-13 Gary Dismukes <dismukes@adacore.com> - - * sem_ch13.adb (Check_Aspect_At_Freeze_Point): Analyze the - expression of the aspect at this point, like other aspects that - denote simple entities. Ensures that function - Storage_Model_Object will have an entity to retrieve from the - aspect expression. Also, move comment about aspects that don't - require delay analysis in front of last alternative of the case - statement, where it's supposed to be. - -2022-05-13 Javier Miranda <miranda@adacore.com> - - * contracts.adb (Build_Unique_Name): New subprogram. - (Make_Class_Precondition_Subps): Use Build_Unique_Name to - generate the names of the call helpers and the name of indirect - call wrappers. - * freeze.adb (Needs_Wrapper): Remove dead code. - (Check_Inherited_Conditions): Defer building helpers and ICW - until all the dispatch table wrappers have been built and - analyzed. Required to ensure uniqueness in their names because - when building these wrappers for overlapped subprograms their - homonym number is not definite until they have been analyzed. - -2022-05-13 Arnaud Charlet <charlet@adacore.com> - - * libgnarl/s-taprop__linux.adb (Initialize): Do not use an - alternate stack if no handler for SEGV is installed. - -2022-05-13 Alexandre Oliva <oliva@adacore.com> - - * doc/gnat_rm/security_hardening_features.rst (Control Flow - Redundancy): Drop mentions of noreturn and tail calls. - * gnat_rm.texi: Regenerate. - -2022-05-13 Ghjuvan Lacambre <lacambre@adacore.com> - - * ali.adb: Introduce new 'K' line in ALI files, used to - represent CUDA kernel entries. - * ali.ads: Create new CUDA_Kernels table, which contains entries - of type CUDA_Kernel_Record. Each CUDA_Kernel_Record corresponds - to a K line in an ali file. - * bindgen.adb: Introduce new Gen_CUDA_Init procedure in the - binder, which generates CUDA kernel registration code. - * gnat_cuda.adb: Move Get_CUDA_Kernels spec to package spec to - make it available to bindgen.adb. - * gnat_cuda.ads: Likewise. - * lib-writ.adb: Introduce new Output_CUDA_Symbols procedure, - which generates one 'K' line in the ALI file per visible CUDA - kernel. - * opt.ads: Introduce Enable_CUDA_Expansion option, triggered by - using the -gnatd_c flag. - * switch-b.adb: Likewise. - * switch-c.adb: Likewise. - -2022-05-13 Marc Poulhiès <poulhies@adacore.com> - - * exp_aggr.adb (Gen_Loop): Create scope for loop variable of - iterated components. - -2022-05-13 Yannick Moy <moy@adacore.com> - - * libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index): - Remove useless functions. - (Delete_Key_Sans_Free, Find, Generic_Conditional_Insert): Adapt - to removal of wrapper functions. - * libgnat/a-chtgfk.ads (Checked_Equivalent_Keys, Checked_Index): - Remove useless functions. - * libgnat/a-chtgfo.adb (Checked_Index): Remove useless function. - (Clear): Delete code commented out regarding Busy and Lock - management. - (Delete_Node_At_Index): Delete unused procedure. - (Delete_Node_Sans_Free, Free, Generic_Read, Next): Adapt to - removal of wrapper functions. - * libgnat/a-chtgfo.ads (Checked_Index): Remove useless function. - (Delete_Node_At_Index): Delete unused procedure. - -2022-05-13 Yannick Moy <moy@adacore.com> - - * libgnat/a-cfhama.adb (Generic_Allocate): Retype to avoid - aliasing. - (Assign, Move): Remove address comparison. - (Include): Insert constants for subtype constraints. - (Insert): Rewrite to avoid aliasing and function with side-effects. - * libgnat/a-cfhase.adb (Generic_Allocate): Retype to avoid - aliasing. - (Assign, Move): Remove address comparison. - (Difference, Intersection, Is_Subset, Overlap, - Symmetric_Difference, Union): Remove address comparison. Insert - constants for subtype constraints. - (Insert): Rewrite to avoid aliasing and function with - side-effects. - * libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index, - Delete_Key_Sans_Free, Find, Generic_Replace_Element, Index): - Type for hash tables not tagged anymore. - (Generic_Conditional_Insert): New_Node generic formal is a - procedure taking the hash table as first parameter now, to avoid - aliasing in the caller. - * libgnat/a-chtgfk.ads: Same. - * libgnat/a-chtgfo.adb (Checked_Index, Clear, - Delete_Node_At_Index, Delete_Node_Sans_Free, First, Free, - Generic_Allocate, Generic_Iteration, Generic_Read, - Generic_Write, Index, Next): Type for hash tables not tagged - anymore. - (Generic_Equal): Removed tagged. Remove address comparison. - * libgnat/a-chtgfo.ads: Same. - * libgnat/a-cohata.ads (Hash_Table_Type): Remove tagged. - -2022-05-13 Yannick Moy <moy@adacore.com> - - * Makefile.rtl: Add new files. - * libgnat/a-cfhama.adb: Use formal version of hash tables. - * libgnat/a-cfhama.ads: Same. - * libgnat/a-cfhase.adb: Same. - * libgnat/a-cfhase.ads: Same. - * libgnat/a-chtgfk.adb: New unit for formal containers, modified - version of Generic_Bounded_Keys. - * libgnat/a-chtgfk.ads: Same. - * libgnat/a-chtgfo.adb: New unit for formal containers, modified - version of Generic_Bounded_Operations. - * libgnat/a-chtgfo.ads: Same. - * libgnat/a-cohata.ads (Generic_Formal_Hash_Table_Types): Third - version of the type for hash tables, equivalent to the bounded - version without tampering checks. - -2022-05-13 Javier Miranda <miranda@adacore.com> - - * freeze.adb (Check_Inherited_Conditions): Dispatch table - wrappers must be placed in the list of entities of their scope - at the same place of their wrapped primitive. This is required - for private types since these wrappers are built when their full - tagged type declaration is frozen but they may override a - primitive defined in the public part of the package (and it is - important to maintain the wrapper in the list of public entities - of the package to ensure their correct visibility). - -2022-05-13 Johannes Kanig <kanig@adacore.com> - - * osint.ads, osint.adb (Relocate_Path): If the GNSA_ROOT - environment variable is set, we use that as the prefix, instead - of computing the prefix from the executable location. - -2022-05-13 Steve Baird <baird@adacore.com> - - * exp_ch3.ads (Build_Intialization_Call): Add new formal - parameter, Init_Control_Actual, with default value. Clients - outside of package Exp_Ch3 are unaffected. - * exp_ch3.adb (Initialization_Control): new package; support for - this 4-valued parameter. The existing Requires_Late_Init - function is moved into this new package. - (Build_Initialization_Call): Add new formal parameter for - subprogram body, use this new formal parameter in generating an - init proc call. - (Build_Record_Init_Proc): Replace Set_Tag Boolean formal - parameter with 4-valued Init_Control_Formal. Wrap if-statements - with appropriate conditions around tag initialization, early - initialization, and late initialization statements. - * exp_util.adb (Build_Task_Image_Decl): Avoid problem with - duplicate declarations when an init proc for a type extension - calls the parent type's init proc twice. - -2022-05-13 Ed Schonberg <schonberg@adacore.com> - - * sem_ch5.adb (Analyze_Iterator_Specification): Fix Typ in the - case of a class-wide derived iterator. - -2022-05-13 Yannick Moy <moy@adacore.com> - - * libgnat/a-strbou.ads (Overwrite): Switch to >= operator in - contracts. - * libgnat/a-strsup.adb (Super_Overwrite): Switch to >= operator - in code of procedure (function already uses it). - * libgnat/a-strsup.ads (Super_Overwrite): Switch to >= operator - in contracts. - -2022-05-13 Etienne Servais <servais@adacore.com> - - * doc/gnat_rm/representation_clauses_and_pragmas.rst: Fix code - snippet. - * gnat_rm.texi: Regenerate. - -2022-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * aspects.adb (Find_Value_Of_Aspect): Add guard. - * sem_ch4.adb (Complete_Object_Operation): Remove obsolete code. - * sem_ch5.adb (Has_Sec_Stack_Default_Iterator): Add guard. - -2022-05-13 Javier Miranda <miranda@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference): The expansion of - 'Address in a call to an instantiation of the implicit - subprogram To_Pointer with a class-wide interface type target - requires adding an implicit type conversion to force - displacement of the "this" pointer. - -2022-05-13 Javier Miranda <miranda@adacore.com> - - * sem_attr.adb (Resolve_Attribute): Ensure that attribute - expressions are resolved at this stage; required for preanalyzed - references to discriminants since their resolution (and - expansion) will take care of updating their Entity attribute to - reference their discriminal. - -2022-05-13 Justin Squirek <squirek@adacore.com> - - * sem_util.adb (Wrong_Type): Avoid using the first subtype of - the expected type in error messages when the expected type is - not internally generated. - -2022-05-13 Alexandre Oliva <oliva@adacore.com> - - * doc/gnat_rm/security_hardening_features.rst: Add subsection on - Control Flow Redundancy. - * gnat_rm.texi: Regenerate. - -2022-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * exp_util.adb (Insert_Actions) <N_Iteration_Scheme>: Check that - it is a WHILE iteration scheme before using Condition_Actions. - -2022-05-13 Piotr Trojanek <trojanek@adacore.com> - - * atree.adb, gen_il-gen.adb, osint.adb, set_targ.adb, - sinput.adb, table.adb, treepr.adb, types.ads: Replace uses of - Unchecked_Conversion in the compiler itself. - * libgnarl/a-reatim.adb, libgnarl/s-osinte__gnu.ads, - libgnarl/s-osinte__kfreebsd-gnu.ads, libgnat/a-coboho.adb, - libgnat/a-stuten.ads, libgnat/s-putima.adb: Likewise in the - runtime. - * doc/gnat_ugn/gnat_and_program_execution.rst: Likewise in - documentation. - * gnat_ugn.texi: Regenerate. - -2022-05-13 Piotr Trojanek <trojanek@adacore.com> - - * butil.adb, sem.adb, sinput.adb, types.ads, xref_lib.adb: - Replace uses of Unchecked_Deallocation with - Ada.Unchecked_Deallocation. - * doc/gnat_ugn/gnat_and_program_execution.rst: Likewise for the - documentation; fix casing of GNAT.IO. - * gnat_ugn.texi: Regenerate. - -2022-05-13 Marc Poulhiès <poulhies@adacore.com> - - * sem_aggr.adb (Resolve_Array_Aggregate): Fix ARM reference. - Remove useless loop. - -2022-05-13 Etienne Servais <servais@adacore.com> - - * sem_ch3.adb (Analyze_Subtype_Declaration): Fix typo in - comment. - -2022-05-13 Justin Squirek <squirek@adacore.com> - - * sem_ch6.adb (Check_Return_Construct_Accessibility): Modify - generation of run-time accessibility checks to account for cases - where Extra_Accessibility_Of_Result should be used versus the - level of the enclosing subprogram. Use original node to avoid - checking against expanded code. Disable check generation for - tagged type case. - (Is_Formal_Of_Current_Function): Added to encompass a predicate - used within Check_Return_Construct_Accessibility to test if an - associated expression is related to a relevant formal. - * sem_util.adb, sem_util.ads (Enclosing_Subprogram): Modified to - accept Node_Or_Entity_Id. - (Innermost_Master_Scope_Depth): Calculate level based on the - subprogram of a return statement instead of the one returned by - Current_Subprogram. - (Needs_Result_Accessibility_Level): Remove - Disable_Coextension_Cases constant, and disable the tagged type - case for performance reasons. - -2022-05-13 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Flag_Effectively_Volatile_Objects): Ignore - component and discriminant identifiers. - -2022-05-13 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Flag_Effectively_Volatile_Objects): Remove - redundant guard. - -2022-05-13 Justin Squirek <squirek@adacore.com> - - * sem_ch8.adb (Determine_Package_Scope): Created to centralize - the calculation of which package a given use clause belongs to. - (Most_Descendant_Use_Clause): Modified to call - Determine_Package_Scope. - * sem_util.adb, sem_util.ads (Enclosing_Package): Modified to - handle both entity and node ids. - -2022-05-12 Piotr Trojanek <trojanek@adacore.com> - - * gnat1drv.adb (Gnat1drv): Skip postponed checks when there are - errors. - -2022-05-12 Arnaud Charlet <charlet@adacore.com> - - * doc/gnat_ugn/the_gnat_compilation_model.rst: Fix URL. - * gnat_ugn.texi: Regenerate. - -2022-05-12 Bob Duff <duff@adacore.com> - - * namet.ads, namet.adb (Write_Name_For_Debug): Add Quote - parameter to allow conditional addition of quotes. Note that - some calls to Write_Name_For_Debug, for example for file names, - shouldn't have quotes, as in some_package.adb:123:45. - * treepr.adb (Print_Name): Add double quotes around the name - using the above Quote parameters. - -2022-05-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Resolve_Actuals): Simplify with N_Op_Compare. - * sem_util.adb (Replace_Null_Operand, - Null_To_Null_Address_Convert_OK): Likewise. - -2022-05-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.ads (Is_Selector_Name): Remove spec. - * sem_util.adb (Is_Selector_Name): Remove body. - -2022-05-12 Arnaud Charlet <charlet@adacore.com> - - * sem_warn.adb (Has_Junk_Name): Add more dummy names. - -2022-05-12 Piotr Trojanek <trojanek@adacore.com> - - * lib-xref.adb (Generate_Reference): Fix comment and implement - it precisely. - -2022-05-12 Piotr Trojanek <trojanek@adacore.com> - - * atree.adb, atree.ads: Move WITH clause from spec to body; to - prevent new warnings stopping the bootstrap. - * fmap.adb, fname-sf.adb, libgnat/a-direct.adb, - libgnat/s-bignum.adb: Remove unnecessary WITH clauses; to - prevent new warnings stopping the bootstrap. - * sem_ch12.adb (Analyze_Subprogram_Instantiation): Only set - Is_Instantiated flag when the instance is in the extended main - source unit. - -2022-05-12 Yannick Moy <moy@adacore.com> - - * libgnat/s-valuei.ads: Remove pragma Warnings Off. - * libgnat/s-valueu.ads: Same. - * libgnat/s-valuti.ads: Same. - -2022-05-12 Yannick Moy <moy@adacore.com> - - * sem_util.adb (Check_Result_And_Post_State): Exempt trivial - post. - -2022-05-12 Arnaud Charlet <charlet@adacore.com> - - * ali.adb, ali.ads, bcheck.adb, exp_ch11.adb, fe.h, - gnat1drv.adb, opt.adb, opt.ads, targparm.adb, targparm.ads, - lib-writ.adb: Get rid of Frontend_Exceptions processing. - * libgnat/system-aix.ads, libgnat/system-darwin-arm.ads, - libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads, - libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads, - libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads, - libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads, - libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads, - libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads, - libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads, - libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads, - libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads, - libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads, - libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads, - libgnat/system-qnx-aarch64.ads, libgnat/system-rtems.ads, - libgnat/system-solaris-sparc.ads, - libgnat/system-solaris-x86.ads, - libgnat/system-vxworks-arm-rtp-smp.ads, - libgnat/system-vxworks-arm-rtp.ads, - libgnat/system-vxworks-arm.ads, - libgnat/system-vxworks-e500-kernel.ads, - libgnat/system-vxworks-e500-rtp-smp.ads, - libgnat/system-vxworks-e500-rtp.ads, - libgnat/system-vxworks-ppc-kernel.ads, - libgnat/system-vxworks-ppc-rtp-smp.ads, - libgnat/system-vxworks-ppc-rtp.ads, - libgnat/system-vxworks-x86-kernel.ads, - libgnat/system-vxworks-x86-rtp-smp.ads, - libgnat/system-vxworks-x86-rtp.ads, - libgnat/system-vxworks7-aarch64-rtp-smp.ads, - libgnat/system-vxworks7-aarch64.ads, - libgnat/system-vxworks7-arm-rtp-smp.ads, - libgnat/system-vxworks7-arm.ads, - libgnat/system-vxworks7-e500-kernel.ads, - libgnat/system-vxworks7-e500-rtp-smp.ads, - libgnat/system-vxworks7-e500-rtp.ads, - libgnat/system-vxworks7-ppc-kernel.ads, - libgnat/system-vxworks7-ppc-rtp-smp.ads, - libgnat/system-vxworks7-ppc-rtp.ads, - libgnat/system-vxworks7-ppc64-kernel.ads, - libgnat/system-vxworks7-ppc64-rtp-smp.ads, - libgnat/system-vxworks7-x86-kernel.ads, - libgnat/system-vxworks7-x86-rtp-smp.ads, - libgnat/system-vxworks7-x86-rtp.ads, - libgnat/system-vxworks7-x86_64-kernel.ads, - libgnat/system-vxworks7-x86_64-rtp-smp.ads: Remove - Frontend_Exceptions line. - * gcc-interface/decl.cc, gcc-interface/trans.cc - (gnat_to_gnu_entity, gnat_to_gnu_subprog_type, gigi, - gnat_to_gnu): Remove Front_End_SJLJ processing and always assume - Back_End_Exceptions. - -2022-05-12 Bob Duff <duff@adacore.com> - - * namet.ads, namet.adb (Write_Name_For_Debug): New more-robust - version of Write_Name. - (Destroy_Global_Name_Buffer): New procedure to help detect bugs - related to use of Global_Name_Buffer. Misc cleanup and comment - improvements. E.g. we don't need to document every detail of - debugging printouts, especially since they can change. - * uname.ads, uname.adb (Write_Unit_Name_For_Debug): New - more-robust version of Write_Unit_Name. - (Get_Unit_Name_String): Pass buffer in, instead of using the - global variable. Misc cleanup. Remove the "special fudge", which - is apparently not needed, and anyway the comment "the %s or %b - has already been eliminated" seems wrong. - (Write_Unit_Name): Call the new version of Get_Unit_Name_String. - * errout.adb (Set_Msg_Insertion_Unit_Name): Call the new version - of Get_Unit_Name_String. We pass the global variable here, - because it's too much trouble to disentangle such uses in - Errout. - * sem_util.ads, sem_util.adb, sem_dist.adb - (Get_Library_Unit_Name): New version of - Get_Library_Unit_Name_String that avoids usage of the global - variable. - * casing.ads, casing.adb, exp_prag.adb, exp_util.adb - (Set_All_Upper_Case): Remove. There is no need for a wrapper - here -- code is clearer without it. - * treepr.adb (Print_Name): Call Write_Name_For_Debug, which - deals with No_Name (etc), rather than duplicating that here. - Note that the call to Get_Name_String was superfluous. - (Tree_Dump): Call Write_Unit_Name_For_Debug instead of - Write_Unit_Name, which crashes if not Is_Valid_Name. - * erroutc.ads: Improve comments. - * erroutc.adb (Set_Msg_Name_Buffer): Call - Destroy_Global_Name_Buffer to detect potential bugs where it - incorrectly looks at the global variable. - * sinput.adb (Write_Location): Call Write_Name_For_Debug instead - of Write_Name, so it won't blow up on invalid data. - * sinput.ads: Improve comments; remove some verbosity. - * libgnat/s-imagef.adb: Fix typo in comment. - -2022-05-12 Yannick Moy <moy@adacore.com> - - * libgnat/s-imageu.adb (Set_Image_Unsigned): Add lemma. - * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion. - -2022-05-12 Yannick Moy <moy@adacore.com> - - * libgnat/s-aridou.ads: Remove use-clause, add renames and - subtypes. - * libgnat/s-exponn.ads: Same. - * libgnat/s-expont.ads: Same. - * libgnat/s-widthu.ads: Same. - -2022-05-12 Etienne Servais <servais@adacore.com> - - * csets.adb (Fold_Latin_9): Fix y with diaeresis. - (Fold_IBM_PC_850): Fix o with stroke. - -2022-05-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_type.adb (Valid_Boolean_Arg): Remove redundant guard. - -2022-05-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_type.adb (Valid_Boolean_Arg): Operands of Raise_Type are - valid boolean arguments. - -2022-05-12 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch4.adb (Possible_Type_For_Conditional_Expression): Add - test for subtype conformance in the cases of - access-to-subprogram types. - -2022-05-12 Yannick Moy <moy@adacore.com> - - * libgnat/s-imagef.adb: Justify false message from CodePeer. - -2022-05-12 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch4.adb (Analyze_Case_Expression): Rewrite. - (Analyze_If_Expression): Likewise. - (Possible_Type_For_Conditional_Expression): New function. - * sem_type.adb (Specific_Type): Retur the base type in more - cases. - -2022-05-12 Yannick Moy <moy@adacore.com> - - * libgnat/s-imagef.adb: Adapt to new signature of Image_I, by - providing ghost imported subprograms. For now, no contract is - used on these subprograms, as System.Image_F is not proved. - * libgnat/s-imagef.ads: Add modular type Uns as formal - parameter, to use in defining Int_Params for instantiating - Image_I. - * libgnat/s-imagei.adb: Add contracts and ghost code. - * libgnat/s-imagei.ads: Replace Int formal parameter by package - Int_Params, which bundles type Int and Uns with ghost - subprograms. Add contracts. - * libgnat/s-imfi128.ads: Adapt to new formal of Image_F. - * libgnat/s-imfi32.ads: Adapt to new formal of Image_F. - * libgnat/s-imfi64.ads: Adapt to new formal of Image_F. - * libgnat/s-imgint.ads: Adapt to new formals of Image_I. - * libgnat/s-imglli.ads: Adapt to new formals of Image_I. - * libgnat/s-imgllli.ads: Adapt to new formals of Image_I. - * libgnat/s-valint.ads: Adapt to new formals of Value_I. - * libgnat/s-vallli.ads: Adapt to new formals of Value_I. - * libgnat/s-valllli.ads: Adapt to new formals of Value_I. - * libgnat/s-valuei.adb (Prove_Scan_Only_Decimal_Ghost): New - ghost lemma. - * libgnat/s-valuei.ads: New formal parameters to prove the new - lemma. - * libgnat/s-valuti.ads (Int_Params): Define a generic package to - be used as a trait-like formal parameter in Image_I and other - generics that need to instantiate Image_I. - * libgnat/s-widthu.ads (Big_10): Qualify the 10 literal. - -2022-05-12 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch4.adb (Find_Arithmetic_Types): Use local variables. - (Find_Boolean_Types): Rewrite modeled on Find_Arithmetic_Types. - -2022-05-12 Alexandre Oliva <oliva@adacore.com> - - * doc/gnat_rm/security_hardening_features.rst (Hardened - Booleans): New. - * exp_util.adb (Adjust_Condition): Perform validity checking on - hardbool-annotated types even with -gnatVT. - * gnat_rm.texi: Regenerate. - * gcc-interface/utils.cc (gnat_internal_attribute_table): Ignore - hardbool. - -2022-05-12 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch9.adb (Build_Protected_Entry): Set scope of the nested - block to spec and not the body of the procedure created for a - protected entry. - -2022-05-12 Etienne Servais <servais@adacore.com> - - * sem_ch3.adb (Find_Type_Of_Object): Remove duplicate "i" in - comment. - -2022-05-12 Marc Poulhiès <poulhies@adacore.com> - - * csets.adb (Initialize): Only treat square bracket as valid - identifier character for Ada versions prior to Ada 2022. - * style.ads (Check_Left_Paren): Rename... - (Check_Left_Paren_Square_Bracket): ...to this. - * styleg.adb (Check_Left_Bracket): Rename... - (Check_Left_Paren_Square_Bracket): ...to this. - * styleg.ads (Check_Left_Paren): Rename... - (Check_Left_Paren_Square_Bracket): ...to this. - * scng.adb (Scan): Add check for spacing around left square - bracket and use new name for Check_Left_Paren_Square_Bracket. - * libgnat/a-szmzco.ads (Control_Ranges, Graphic_Ranges) - (Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges) - (Character_Ranges): Fix style (remove extra space). - * libgnat/a-swmwco.ads (Control_Ranges, Graphic_Ranges) - (Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges) - (Character_Ranges): Likewise. - * opt.adb (Set_Config_Switches): Remove [ from Identifier_Char - set. - -2022-05-12 Eric Botcazou <ebotcazou@adacore.com> - - * sem_type.adb (Specific_Type): Add swapped cases for interfaces. - -2022-05-12 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst: - (Export_Object, Import_Object, Short_Descriptors): Fix pragma - syntax specification. - * gnat_rm.texi: Regenerate. - -2022-05-12 Piotr Trojanek <trojanek@adacore.com> - - * ali.adb (Hash): Reuse GNAT.String_Hash.Hash and don't pollute - the Name_Id table. - -2022-05-12 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration - Pragmas): Add Aggregate_Individually_Assign; otherwise the list - is complete except for some obsoleted pragmas, which most likely - are intentionally omitted. - * gnat_ugn.texi: Regenerate. - -2022-05-11 Yannick Moy <moy@adacore.com> - - * libgnat/s-imaged.ads: Remove Pure. - * libgnat/s-imagef.ads: Remove Pure. - * libgnat/s-imager.ads: Remove Pure. - * libgnat/s-imageu.adb: Add ghost code. - * libgnat/s-imageu.ads: Add contracts. - * libgnat/s-imde128.ads: Remove Pure. - * libgnat/s-imde32.ads: Remove Pure. - * libgnat/s-imde64.ads: Remove Pure. - * libgnat/s-imfi128.ads: Remove Pure. - * libgnat/s-imfi32.ads: Remove Pure. - * libgnat/s-imfi64.ads: Remove Pure. - * libgnat/s-imgflt.ads: Remove Pure. - * libgnat/s-imglfl.ads: Remove Pure. - * libgnat/s-imgllf.ads: Remove Pure. - * libgnat/s-imglllu.ads: Instantiate with ghost subprograms. - * libgnat/s-imgllu.ads: Instantiate with ghost subprograms. - * libgnat/s-imgrea.ads: Remove Pure. - * libgnat/s-imguns.ads: Instantiate with ghost subprograms. - * libgnat/s-imguti.ads: Remove Pure. - * libgnat/s-valueu.adb (Prove_Iter_Scan_Based_Number_Ghost, - Prove_Scan_Only_Decimal_Ghost): New lemmas. - * libgnat/s-valueu.ads (Uns_Option): Do not make type ghost to - be able to use it as formal in instantiations. - (Only_Decimal_Ghost): New ghost query. - (Prove_Iter_Scan_Based_Number_Ghost, - Prove_Scan_Only_Decimal_Ghost): New lemmas. - * libgnat/s-widlllu.ads: Adapt to changes in Width_U. - * libgnat/s-widllu.ads: Adapt to changes in Width_U. - * libgnat/s-widthu.adb: Change generic function in generic - package in order to complete the postcondition. Tighten the - upper bound on the result by 1. - * libgnat/s-widthu.ads: Same. - * libgnat/s-widuns.ads: Adapt to changes in Width_U. - * gcc-interface/Make-lang.in: Add dependencies on a-nubinu, - a-numeri.ads and a-widuns.ads. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * snames.ads-tmpl (Detect_Blocking): Move after - Default_Storage_Pool. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Analyze_Pragma): Remove custom check for - Compile_Time_Error and Compile_Time_Warning pragmas. - * snames.ads-tmpl (Compile_Time_Error, Compile_Time_Warning): - Move beyond Last_Configuration_Pragma_Name. - -2022-05-11 Marc Poulhiès <poulhies@adacore.com> - - * libgnat/a-direct.adb (Start_Search_Internal): Use parentheses - for record aggregate. - * libgnat/a-stbubo.adb (Get_UTF_8): Likewise. - * libgnat/a-stbuun.adb (Get_UTF_8): Likewise. - * libgnat/a-stzbou.ads (Null_Bounded_Wide_Wide_String): - Likewise. - * libgnat/a-swmwco.ads (Lower_Case_Mapping, Basic_Mapping): - Likewise. - * libgnat/a-szmzco.ads (Lower_Case_Mapping, Basic_Mapping): - Likewise. - * libgnat/s-statxd.adb (Fields): Likewise. - * libgnat/s-stausa.adb (Initialize): Likewise. - * sem_aggr.adb (Resolve_Record_Aggregate): Reject aggregates - using brackets. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst, - doc/gnat_rm/implementation_of_specific_ada_features.rst, - doc/gnat_rm/representation_clauses_and_pragmas.rst, - doc/gnat_rm/the_gnat_library.rst, - doc/gnat_rm/the_implementation_of_standard_i_o.rst, - doc/gnat_ugn/building_executable_programs_with_gnat.rst, - doc/gnat_ugn/gnat_and_program_execution.rst, - doc/gnat_ugn/platform_specific_information.rst: Fix unbalanced - parentheses and brackets. - * sem_prag.adb (pragma Obsolescent): Likewise. - * gnat_rm.texi, gnat_ugn.texi: Regenerate. - -2022-05-11 Marc Poulhiès <poulhies@adacore.com> - - * libgnat/s-rident.ads (Restriction_Id): Add - No_Local_Tagged_Types, update comment for adding new GNAT - specific restriction. - * restrict.ads (Implementation_Restriction): Add - No_Local_Tagged_Types. - * sem_ch3.adb (Analyze_Full_Type_Declaration): Add check for - tagged type at library level. - * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: - Add No_Local_Tagged_Types description. - * gnat_rm.texi: Regenerate. - -2022-05-11 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch4.adb (Analyze_User_Defined_Binary_Op): Use the base type - in the interpretation of the operator. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * sem_case.adb (Free_Value_Sets): Fix style in body header box. - * sem_ch12.adb (Build_Subprogram_Wrappers): Likewise. - * sem_util.adb (Statically_Denotes_Entity): Likewise. - -2022-05-11 Etienne Servais <servais@adacore.com> - - * sem_ch3.adb (Constrain_Access): Call Desig_Subtype in each if - branch to avoid calling it twice. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * sem_warn.adb (Find_Var): Detect all operators; replace - "condition" to "expression" in comments, because when this - routine is called recursively it no longer examines the - condition. - (Is_Suspicious_Function_Name): Reduce scope of a local variable - to avoid shadowing with a parameter of a nested - Substring_Present function. - -2022-05-11 Yannick Moy <moy@adacore.com> - - * libgnat/s-aridou.adb (Double_Divide, Scaled_Divide): Add - intermediate assertions. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * libgnat/s-rident.ads (Implementation_Restriction): Remove - No_Dynamic_Attachment, No_Implementation_Attributes, - No_Implementation_Pragmas, No_Local_Protected_Objects, - No_Protected_Type_Allocators, No_Relative_Delay, - No_Requeue_Statements, No_Select_Statements, - No_Task_Termination, Pure_Barriers and Simple_Barriers; add - No_Dynamic_Sized_Objects, - No_Implicit_Protected_Object_Allocations, - No_Implicit_Task_Allocations, No_Task_At_Interrupt_Priority and - Static_Dispatch_Tables; sort alphabetically. - * restrict.ads (Restriction_Id): Change Pure_Barriers and - No_Task_Termination from GNAT to Ada restrictions. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * exp_atag.adb, lib-util.ads, libgnat/g-decstr.adb, - libgnat/g-exptty.adb, libgnat/g-socpol.adb, - libgnat/s-strhas.adb: Fix headers. - -2022-05-11 Joao Azevedo <azevedo@adacore.com> - - * doc/gnat_ugn/platform_specific_information.rst: Add - glibc-locale-base-32bit as a dependency in SUSE distributions. - * gnat_ugn.texi: Regenerate. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_ugn/gnat_and_program_execution.rst, - doc/gnat_ugn/gnat_utility_programs.rst, - doc/gnat_ugn/inline_assembler.rst: Fix typos and formatting - glitches. - * gnat_ugn.texi: Regenerate. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Change - blocks from plain code to Ada. - -2022-05-11 Gary Dismukes <dismukes@adacore.com> - - * exp_ch5.adb (Expand_Assign_With_Target_Names): Bypass the temp - object approach in the case where the type of the LHS is - controlled or has controlled subcomponents (Needs_Finalization - is True), and use the procedure approach instead. - -2022-05-11 Bob Duff <duff@adacore.com> - - * sem_ch3.adb (Get_Discr_Value): Copy the result. Otherwise, the - "tree" can be malformed (a DAG, not a tree) because - Get_Discr_Value could be returning some subtree already attached - to the tree. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on - proper label entities. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_characteristics.rst: Add - tabularcolums directive, as explained in documentation of Sphinx - and tabular LaTeX package. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_aspects.rst, - doc/gnat_rm/implementation_defined_pragmas.rst: Remove extra - whitespace. - * gnat_rm.texi: Regenerate. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_characteristics.rst: Remove - extra indent in continuation lines; indent both descriptions of - Max_Picture_Length. - * gnat_rm.texi: Regenerate. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst (Pragma - Eliminate): Fix markup. - * gnat_rm.texi: Regenerate. - -2022-05-11 Johannes Kliemann <kliemann@adacore.com> - - * libgnat/g-sthcso.adb: Suppress warning about unneeded use type - clause. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on - proper label entities. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst (Pragma - Ada_2022): Copy description from pragma Ada 2012 and adapt. - * doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration - Pragmas): List pragma Ada 2022. - * gnat_rm.texi, gnat_ugn.texi: Regenerate. - -2022-05-11 Steve Baird <baird@adacore.com> - - * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Replace - the existing check for an address specification for an object of - a class-wide type with a more general check which rejects either - the class-wide case or the case where the FE would (if the - address specification were accepted) build a malformed - tree (specifically, an object renaming declaration with a - specified address). In the case where the check fails, reject - the construct at compile time instead of generating an - unconditional raise of Program_Error. - * doc/gnat_rm/representation_clauses_and_pragmas.rst: Update - documentation to reflect these changes. - * gnat_rm.texi: Regenerate. - -2022-05-11 Piotr Trojanek <trojanek@adacore.com> - - * gen_il-gen-gen_entities.adb (Reachable): Move from - Root_Entity_Type to E_Label. - -2022-05-11 Alexandre Oliva <oliva@adacore.com> - - * exp_ch3.adb (Expand_N_Object_Declaration): Guard - Set_Is_Known_Valid with Safe_To_Capture_Value. - -2022-05-11 Bob Duff <duff@adacore.com> - - * repinfo.adb (List_Object_Info): Do not try to print values - that have not been computed (and so are No_Uint). - (Rep_Not_Constant): Reverse sense and change name to - Compile_Time_Known_Rep. This makes the code at call sites a - little more readable. Simplify code to a single return - statement. - -2022-05-10 Martin Liska <mliska@suse.cz> - - * gcc-interface/decl.cc (compare_field_bitpos): Use void * - instead PTR. - * gcc-interface/utils2.cc (compare_elmt_bitpos): Likewise. - -2022-05-10 Eric Botcazou <ebotcazou@adacore.com> - - * fe.h (Is_Expression_Function): Declare. - * sem_util.ads (Is_Expression_Function): Add warning line. - -2022-05-10 Alexandre Oliva <oliva@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Valid>: - Drop redundant range check for nonstandard booleans. - -2022-05-10 Alexandre Oliva <oliva@adacore.com> - - * exp_util.adb (Adjust_Result_Type): Leave result in - Standard.Boolean if it's going to be converted to another - boolean type. - * exp_ch4.adb (Expand_N_Type_Conversion): When optimizing, - convert to nonstandard booleans with an if_expression with - boolean literals. - -2022-05-10 Alexandre Oliva <oliva@adacore.com> - - * exp_ch4.adb (Expand_N_If_Expression): Call Adjust_Condition to - handle non-standard booleans. - -2022-05-10 Justin Squirek <squirek@adacore.com> - - * sem_ch8.adb (Use_One_Type): Remove code in charge of setting - Current_Use_Clause when Id is known to be redundant, and modify - the printing of errors associated with redundant use type - clauses so that line number gets included in more cases. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_warn.adb (Check_Unset_Reference): Use variant of - Earlier_In_Extended_Unit that calls Sloc internally. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * par-ch10.adb, scng.adb, sem_res.adb, sinfo-utils.adb, - treepr.adb: Simplify calculations with Source_Ptr and Loc - values. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Resolve_Expression_With_Actions): Fix style in - nested routines. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * atree.adb, exp_ch6.adb, exp_ch9.adb, ghost.adb, sem_ch3.adb, - sem_ch4.adb, sem_res.adb, sem_util.adb: Use - Is_Rewrite_Substitution where possible. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch11.adb, exp_ch5.adb, exp_prag.adb, gnat_cuda.adb, - sem_ch12.adb, sem_ch3.adb, sem_ch6.adb, sem_util.adb, - treepr.adb: Replace /= and = operators with No and Present, - respectively. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_warn.adb (Within_Postcondition): Guard against search - going too far. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_warn.adb (Check_Unset_Reference): The early test was only - saving time of calls to Original_Node, Comes_From_Source and - Nkind, which are all quick and cheap. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch5.adb (Check_Unreachable_Code): Remove inner declare - block; refill code and comments. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Replace - First_Entity/Next_Entity with First_Formal/Next_Formal; rename - E1/E2 to F1/F2. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Resolve_Declare_Expression): Check expression for - references to unset objects. - (Resolve_Qualified_Expression): Likewise. - * sem_warn.adb (Check_Unset_Reference): Remove handling of - declare and qualified expressions; clarify comment for type - conversions. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Resolve_Case_Expression): Check alternative - expressions for references to unset objects. - (Resolve_If_Expression): Check condition, then and else - expressions for references to unset objects. - -2022-05-10 Kévin Le Gouguec <legouguec@adacore.com> - - * doc/gnat_rm/implementation_defined_attributes.rst, - doc/gnat_ugn/the_gnat_compilation_model.rst: Fix typos. - * gnat_rm.texi, gnat_ugn.texi: Regenerate. - -2022-05-10 Etienne Servais <servais@adacore.com> - - * sem_ch13.adb (Is_Predicate_Static): Fix typo in comment. - -2022-05-10 Yannick Moy <moy@adacore.com> - - * libgnat/s-valuei.adb: Fix indentation. - * libgnat/s-valuei.ads: Same. - -2022-05-10 Claire Dross <dross@adacore.com> - - * snames.ads-tmpl: Add "Structural" as a name. - * sem_prag.adb: (Analyze_Pragma): Accept modifier "Structural" - in pragmas Loop_Variant and Subprogram_Variant. Check that items - associated to Structural occur alone in the pragma associations. - (Analyze_Subprogram_Variant_In_Decl_Part): Idem. - * exp_prag.adb (Expand_Pragma_Loop_Variant): Discard structural - variants. - (Expand_Pragma_Subprogram_Variant): Idem. - -2022-05-10 Claire Dross <dross@adacore.com> - - * libgnat/s-valint.ads: Add SPARK_Mode and pragma to ignore - assertions in instance and add additional ghost parameters to - the instance of Value_I. - * libgnat/s-vallli.ads: Idem. - * libgnat/s-valllli.ads: Idem. - * libgnat/s-valuei.ads, libgnat/s-valuei.adb: New generic - parameters for ghost functions from System.Valueu. Add - functional contracts. - -2022-05-10 Eric Botcazou <ebotcazou@adacore.com> - - * sem_res.adb (Resolve_Eqyality_Op): Remove obsolete code. - (Resolve_Op_Not): Likewise. - * sem_type.adb (Disambiguate): Add missing test for RM 8.4(10). - * libgnat/s-dwalin.adb (Enable_Cache): Fix ambiguity. - (Symbolic_Address): Likewise. - -2022-05-10 Eric Botcazou <ebotcazou@adacore.com> - - * sem_eval.adb (Eval_Integer_Literal): Fix oversight in entry test. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.adb (Expand_N_Aggregate): Replace UI_To_Int with - UI_To_CC; replace magic literals with high-level routines that - recognise wide and wide wide characters; reorder if-then-elsif - condition, because we don't have a routine to detect wide wide - characters. - -2022-05-10 Etienne Servais <servais@adacore.com> - - * scng.adb (Nlit): Error on big UI_Scale. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * exp_util.adb (Build_Task_Array_Image): Declare expanded - objects as constants. - (Build_Task_Image_Prefix): Likewise. - (Build_Task_Record_Image): Likewise. - -2022-05-10 Marc Poulhiès <poulhies@adacore.com> - - * checks.adb (Determine_Range): Fix range refining. - -2022-05-10 Steve Baird <baird@adacore.com> - - * sem_util.adb (Get_Actual_Subtype): If a new subtype is built, - do not freeze it if Expander_Active is False. The idea here is - to avoid generating an unwanted Freeze_Node for a subtype that - has been conjured up solely for purposes of preanalysis. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * exp_util.adb (Build_Task_Array_Image): Fix style in the - structure of generated code; add Pref'Length as the component of - the Sum initialization expression. - -2022-05-10 Piotr Trojanek <trojanek@adacore.com> - - * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Use - Get_Char_Code. - * exp_util.adb (Build_Task_Array_Image): Simplify conversion to - Char_Code. - (Build_Task_Image_Prefix): Likewise. - (Build_Task_Record_Image): Likewise. - * cstand.adb (Create_Standard): Use UI_From_Int instead of - UI_From_CC. - * exp_ch11.adb (Expand_N_Exception_Declaration): Likewise. - * sem_res.adb (Patch_Up_Value): Likewise. - * stringt.adb (Write_String_Table_Entry): Use Get_Char_Code. - -2022-05-09 Yannick Moy <moy@adacore.com> - - * sem_util.adb (Bad_Predicated_Subtype_Use): Add continuation - message. - -2022-05-09 Piotr Trojanek <trojanek@adacore.com> - - * uintp.adb (UI_To_CC): Guard against illegal inputs; reuse - UI_To_Int. - -2022-05-09 Piotr Trojanek <trojanek@adacore.com> - - * par-prag.adb (Prag): Simplify conversion of character codes. - * sem_case.adb (Choice_Image): Likewise. - (Lit_Of): Likewise. - -2022-05-09 Justin Squirek <squirek@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Tag>: - Deal specifically wth class-wide equivalent types without a - parent. - * exp_util.adb (Build_Allocate_Deallocate_Proc): Extract - allocator node for calculation of alignment actual and modify - alignment for allocators of class-wide types with associated - expressions. - (Make_CW_Equivalent_Type): Handle interface types differently - when generating the equivalent record. - * sem_aux.adb (First_Tag_Component): Accept class-wide - equivalent types too. - -2022-05-09 Etienne Servais <servais@adacore.com> - - * repinfo.adb (List_Name): Rework termination condition. - -2022-05-09 Piotr Trojanek <trojanek@adacore.com> - - * bindgen.adb, errout.adb, exp_unst.adb, gnatchop.adb, - libgnat/a-ngcefu.adb, libgnat/a-strunb.adb, - libgnat/a-stwiun.adb, libgnat/a-stzunb.adb, - libgnat/a-wtedit.adb, libgnat/g-debpoo.adb, osint.adb, - sigtramp-vxworks.c, uintp.adb: Remove extra whitespace around +, - -, *, / and **. - -2022-05-09 Piotr Trojanek <trojanek@adacore.com> - - * libgnat/s-expmod.adb: Remove CodePeer annotation for pragma - Loop_Variant. - -2022-05-09 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.ads (In_Statement_Condition_With_Actions): Renamed - from In_While_Loop_Condition; move to fit the alphabetic order. - * sem_util.adb (In_Statement_Condition_With_Actions): Detect - Elsif condition; stop search on other statements; prevent search - from going too far; move to fit the alphabetic order. - * sem_res.adb (Resolve_Call): Adapt caller. - -2022-05-09 Piotr Trojanek <trojanek@adacore.com> - - * inline.adb (Build_Body_To_Inline): Remove redundant guards. - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise. - -2022-05-09 Eric Botcazou <ebotcazou@adacore.com> - - * sem_util.adb (Is_OK_Variable_For_Out_Formal): Remove test on - Comes_From_Source in the condition dealing with the expression - of an N_Unchecked_Type_Conversion node. - -2022-05-09 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.adb, exp_ch3.adb, exp_util.adb, freeze.adb, - gnatfind.adb, gnatlink.adb, gnatxref.adb, gprep.adb, - libgnat/a-cfhama.adb, libgnat/g-alleve.adb, sem_ch12.adb, - sem_ch13.adb, xr_tabls.adb: Fix style labels. - -2022-05-09 Justin Squirek <squirek@adacore.com> - - * err_vars.ads: Add new error message names and nodes. - * erroutc.adb (Set_Msg_Insertion_Name, - Set_Msg_Insertion_Name_Literal): Likewise. - * errout.adb (Set_Msg_Insertion_Node): Likewise. - * errout.ads: Likewise. - * exp_disp.adb (Check_Premature_Freezing): Modify setting of - Error_Msg_Node_2 to occur directly before Error_Msg call where - applicable. - * sem_ch8.adb (Error_Missing_With_Of_Known_Unit): Added to - handle the printing of full package names of known units. - (Undefined, Find_Expanded_Name): Replace error printing with - call to Error_Missing_With_Of_Known_Unit. - -2022-05-09 Yannick Moy <moy@adacore.com> - - * exp_ch4.adb (Expand_Allocator_Expression): Set Error_Msg_Warn - correctly. - -2022-05-09 Steve Baird <baird@adacore.com> - - * sem_ch13.adb (Replace_Type_Ref): In the case of an identifier - that names a component of the type, simplify the test to decide - whether to build a prefix for it (the prefix denotes the current - instance of the enclosing type): if the identifier doesn't - already have a prefix, then give it one. This isn't quite right - in the corner case of a quantified expression or some other such - expression that declares an object with the same name as a - component, but it is still an improvement. - -2022-05-09 Ed Schonberg <schonberg@adacore.com> - - * exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install - package if array type and element type come from the same - package, and the original array type is private. - -2022-05-09 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch4.adb (Handle_Changed_Representation): Simplify and fix - thinko in the loop building the constraints for discriminants. - * exp_ch5.adb (Make_Component_List_Assign): Try also to extract - discriminant values for a derived type. - -2022-05-09 Ed Schonberg <schonberg@adacore.com> - - * sem_res.adb (Resolve_Declare_Expression): Traverse the - expression to replace references to local variables that occur - within declarations of the declare_expression; fix typos in - comments. - -2022-05-09 Ed Schonberg <schonberg@adacore.com> - - * sem_ch4.adb (Operator_Check): Fix condition. - -2022-05-09 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst - (Abstract_State, Async_Readers, Async_Writers, - Constant_After_Elaboration, Effective_Reads, Effective_Writes, - Extensions_Visible, Ghost, No_Caching, Volatile_Function): Only - static Boolean expressions are allowed. - * gnat_rm.texi: Regenerate. - -2022-05-09 Piotr Trojanek <trojanek@adacore.com> - - * exp_prag.adb (Expand_Pragma_Loop_Variant, - Expand_Pragma_Subprogram_Variant): Adapt call via - Process_Variant to Make_Variant_Comparison. - * exp_util.adb (Make_Variant_Comparison): Compare Big_Integer - expressions with a function call and not an operator. - * exp_util.ads (Make_Variant_Comparison): Add type parameter, - which is needed because the Curr_Val and Old_Val expressions - might not be yet decorated. - * rtsfind.ads: (RTU_Id): Add support for Big_Integers and - Big_Integers_Ghost. - (RE_Id): Add support for Big_Integer and its ghost variant. - (RE_Unit_Table): Add mapping from Big_Integer to Big_Integers; - same for the ghost variants. - * rtsfind.adb (Get_Unit_Name): Add support for Big_Numbers. - * sem_prag.adb (Analyze_Pragma): Allow Big_Integer in pragma - Loop_Variant. - (Analyze_Variant): Allow Big_Integer in pragma - Subprogram_Variant. - -2022-05-09 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch3.ads, sem_ch3.adb (Preanalyze_Assert_Expression): Add a - variant that doesn't force preanalysis to yield a specific type. - -2022-05-09 Eric Botcazou <ebotcazou@adacore.com> - - * einfo.ads (Access Kinds): Reorder and beef up. - * sem.adb (Analyze): Call Analyze_Comparison_Equality_Op for all - comparison and equality operators. - * sem_ch4.ads (Analyze_Comparison_Op): Delete. - (Analyze_Equality_Op): Likewise. - (Analyze_Comparison_Equality_Op): Declare. - (Ambiguous_Operands): Likewise. - * sem_ch4.adb (Ambiguous_Operands): Remove declaration. - (Defined_In_Scope): Delete. - (Find_Comparison_Types): Merge into... - (Find_Equality_Types): Merge into... - (Find_Comparison_Equality_Types): ...this. Make fully symmetrical. - (Analyze_Arithmetic_Op): Minor consistency tweaks. - (Analyze_Comparison_Op): Merge into... - (Analyze_Equality_Op): Merge into... - (Analyze_Comparison_Equality_Op): ...this. Make fully symmetrical. - (Analyze_Logical_Op): Minor consistency tweaks. - (Analyze_Membership_Op): Make fully symmetrical. - (Analyze_One_Call): Minor comment tweak. - (Analyze_Operator_Call): Call Find_Comparison_Equality_Types. - (Analyze_User_Defined_Binary_Op): Make fully symmetrical. - (Check_Arithmetic_Pair.Specific_Type): Delete. - (Diagnose_Call): Add special handling for "+" operator. - (Operator_Check): Call Analyze_Comparison_Equality_Op. - * sem_ch8.adb (Has_Implicit_Operator): Add Is_Type guard for boolean - operators, use Valid_Comparison_Arg and Valid_Equality_Arg for resp. - comparison and equality operators. - * sem_res.adb (Check_For_Visible_Operator): Call Is_Visible_Operator - (Make_Call_Into_Operator): Use Preserve_Comes_From_Source. - (Resolve_Actuals): Deal specifically with Any_Type actuals for user- - defined comparison and equality operators. - (Resolve_Call): Minor tweaks. - (Resolve_Comparison_Op): Tidy up and give error for ambiguity. - (Resolve_Equality_Op): Likewise, as well as other errors. - (Rewrite_Renamed_Operator): Simplify. - * sem_type.ads (Is_Invisible_Operator): Delete. - (Is_Visible_Operator): Declare. - (Has_Compatible_Type): Remove For_Comparison parameter. - (Specific_Type): Declare. - (Valid_Equality_Arg): Likewise. - * sem_type.adb (Specific_Type): Remove declaration. - (Add_One_Interp): Call Is_Visible_Operator for the visibility test. - (Remove_Conversions): Rename into... - (Remove_Conversions_And_Abstract_Operations): ...this. Do not apply - numeric-type treatment to Any_Type. Expand the special handling for - abstract interpretations to second operand. Remove obsolete code. - (Disambiguate): Adjust to above renaming. Tweak to hidden case and - call Remove_Conversions_And_Abstract_Operations for operators too. - (Entity_Matches_Spec): Minor tweak. - (Find_Unique_Type): Simplify and deal with user-defined literals. - (Has_Compatible_Type): Remove For_Comparison parameter and adjust. - Call the Is_User_Defined_Literal predicate and remove call to - the Is_Invisible_Operator predicate. - (Is_Invisible_Operator): Delete. - (Is_Visible_Operator): New function. - (Operator_Matches_Spec): Use Valid_Equality_Arg predicate. - (Specific_Type): Tidy up, make fully symmetrical and deal with - private views the same way as Covers. - (Valid_Comparison_Arg): Return true for Any_Composite/Any_String. - (Valid_Equality_Arg): New function. - * sem_util.ads (Is_User_Defined_Literal): Declare. - * sem_util.adb (Is_User_Defined_Literal): New function. - -2022-05-09 Bob Duff <duff@adacore.com> - - * lib-xref.adb, sem_util.adb: Change wording of warning messages - to use "aspect". - * sem_prag.adb: Use Fix_Error to change wording of warnings. - * doc/gnat_rm/implementation_defined_pragmas.rst: Minor: fix - cut&paste error. - * gnat_rm.texi: Regenerate. - -2022-05-09 Doug Rupp <rupp@adacore.com> - - * init.c [vxworks] (CLEAR_EXCEPTION_COUNT): New macro. - (__gnat_clear_exception_count): Remove. - (__gnat_map_signal): Call CLEAR_EXCEPTION_COUNT(). - -2022-05-09 Fedor Rybin <frybin@adacore.com> - - * doc/gnat_ugn/gnat_utility_programs.rst: Remove gnattest - section. - -2022-05-09 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Analyze_Attribute): Remove calls to Analyze for - attributes Identity, Priority, Ref, Restriction_Set, To_Address - and for tasking-related attributes Callable, Terminated and - Storage_Size. - -2022-05-09 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Analyze_Attribute): Don't call Set_Etype for - Bit_Order attribute. - -2022-05-09 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch5.adb (Update_Choice_Index): Simplify condition. - * sem_ch8.adb (Attribute_Renaming): Likewise. - -2022-05-09 Dmitriy Anisimkov <anisimko@adacore.com> - - * adaint.c (__gnat_kill): Remove close parameter. - (__gnat_killprocesstree): Do not provide close parameter on call - to __gnat_kill. - * libgnat/g-expect.adb (Kill): Remove Close parameter. - (Close): Do not provide Close parameter on call to Kill. - (Send_Signal): Do not provide Close parameter on call to Kill. - * libgnat/s-os_lib.adb (Kill): Do not provide close parameter on - call to __gnat_kill. - -2022-05-09 Dmitriy Anisimkov <anisimko@adacore.com> - - * libgnat/g-expect.adb (Close): Call Kill before Close_Input. - -2022-04-29 Martin Liska <mliska@suse.cz> - - * gnatvsn.ads: Bump Library_Version to 13. - -2022-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * tracebak.c: Add support for ARM RTEMS. Add support for RTEMS to PPC - ELF. Add support for RTEMS to SPARC. Merge aarch64 support of Linux - and RTEMS. - -2022-04-27 Pierre-Marie de Rodat <derodat@adacore.com> - - PR ada/104027 - * gnat1drv.adb: Remove the goto End_Of_Program. - -2022-03-24 Pascal Obry <obry@adacore.com> - - PR ada/104767 - * libgnat/g-sercom__mingw.adb (Close): Reset port handle to -1. - * libgnat/g-sercom__linux.adb (Close): Likewise. - -2022-03-10 Richard Biener <rguenther@suse.de> - - PR ada/104861 - * gcc-interface/Makefile.in (target_noncanonical): Substitute. - (OSCONS_CPP): Pass target_noncanonical as TARGET. - -2022-02-13 Maciej W. Rozycki <macro@orcam.me.uk> - - PR ada/98724 - PR ada/97504 - * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <alpha*-*-linux*>: Use - wraplf version of Aux_Long_Long_Float. - -2022-01-31 Pierre-Marie de Rodat <derodat@adacore.com> - - * doc/share/conf.py: Remove spurious call to ".decode()". - -2022-01-31 Arnaud Charlet <charlet@adacore.com> - - PR ada/104027 - * gnat1drv.adb (Gnat1drv): Only call Exit_Program when not - generating code, otherwise instead go to End_Of_Program. - -2022-01-28 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/104258 - * exp_ch4.adb (Narrow_Large_Operation): Also copy the entity, if - any, when rewriting the operator node. - -2022-01-19 H.J. Lu <hjl.tools@gmail.com> - - PR ada/103538 - * gcc-interface/Makefile.in (target_cpu): Set to x32 for - x86_64-linux-gnux32. - -2022-01-19 H.J. Lu <hjl.tools@gmail.com> - - PR ada/103538 - * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Add - $(TRASYM_DWARF_UNIX_PAIRS), - s-tsmona.adb<libgnat/s-tsmona__linux.adb, - $(GNATRTL_128BIT_PAIRS). - (EXTRA_GNATRTL_NONTASKING_OBJS): Add $(TRASYM_DWARF_UNIX_OBJS) - and $(GNATRTL_128BIT_OBJS). - -2022-01-18 Martin Liska <mliska@suse.cz> - - * adaint.c: Revert filename changes in comments. - * ctrl_c.c (dummy_handler): Likewise. - * gsocket.h: Likewise. - * init.c (__gnat_error_handler): Likewise. - * libgnarl/s-intman.ads: Likewise. - * libgnarl/s-osinte__android.ads: Likewise. - * libgnarl/s-osinte__darwin.ads: Likewise. - * libgnarl/s-osinte__hpux.ads: Likewise. - * libgnarl/s-osinte__linux.ads: Likewise. - * libgnarl/s-osinte__qnx.ads: Likewise. - * libgnarl/s-taskin.ads: Likewise. - * rtfinal.c: Likewise. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * Make-generated.in: Revert renaming changes. - * Makefile.rtl: Likewise. - * adadecode.cc: Moved to... - * adadecode.c: ...here. - * affinity.cc: Moved to... - * affinity.c: ...here. - * argv-lynxos178-raven-cert.cc: Moved to... - * argv-lynxos178-raven-cert.c: ...here. - * argv.cc: Moved to... - * argv.c: ...here. - * aux-io.cc: Moved to... - * aux-io.c: ...here. - * cio.cc: Moved to... - * cio.c: ...here. - * cstreams.cc: Moved to... - * cstreams.c: ...here. - * env.cc: Moved to... - * env.c: ...here. - * exit.cc: Moved to... - * exit.c: ...here. - * expect.cc: Moved to... - * expect.c: ...here. - * final.cc: Moved to... - * final.c: ...here. - * gcc-interface/Makefile.in: - * init.cc: Moved to... - * init.c: ...here. - * initialize.cc: Moved to... - * initialize.c: ...here. - * libgnarl/thread.cc: Moved to... - * libgnarl/thread.c: ...here. - * link.cc: Moved to... - * link.c: ...here. - * locales.cc: Moved to... - * locales.c: ...here. - * mkdir.cc: Moved to... - * mkdir.c: ...here. - * raise.cc: Moved to... - * raise.c: ...here. - * rtfinal.cc: Moved to... - * rtfinal.c: ...here. - * rtinit.cc: Moved to... - * rtinit.c: ...here. - * s-oscons-tmplt.c (CND): Revert renaming changes. - * seh_init.cc: Moved to... - * seh_init.c: ...here. - * sigtramp-armdroid.cc: Moved to... - * sigtramp-armdroid.c: ...here. - * sigtramp-ios.cc: Moved to... - * sigtramp-ios.c: ...here. - * sigtramp-qnx.cc: Moved to... - * sigtramp-qnx.c: ...here. - * sigtramp-vxworks.cc: Moved to... - * sigtramp-vxworks.c: ...here. - * socket.cc: Moved to... - * socket.c: ...here. - * tracebak.cc: Moved to... - * tracebak.c: ...here. - * version.cc: Moved to... - * version.c: ...here. - * vx_stack_info.cc: Moved to... - * vx_stack_info.c: ...here. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * Makefile.rtl: Rename .c names to .cc. - * gcc-interface/Make-lang.in: Likewise. - * gcc-interface/Makefile.in: Likewise. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * Make-generated.in: Rename .c names to .cc. - * adaint.c: Likewise. - * ctrl_c.c (dummy_handler): Likewise. - * gcc-interface/Makefile.in: Likewise. - * gcc-interface/config-lang.in: Likewise. - * gcc-interface/decl.cc (concat_name): Likewise. - (init_gnat_decl): Likewise. - * gcc-interface/gigi.h (concat_name): Likewise. - (init_gnat_utils): Likewise. - (build_call_raise_range): Likewise. - (gnat_mark_addressable): Likewise. - (gnat_protect_expr): Likewise. - (gnat_rewrite_reference): Likewise. - * gcc-interface/lang-specs.h (ADA_DUMPS_OPTIONS): Likewise. - * gcc-interface/utils.cc (GTY): Likewise. - (add_deferred_type_context): Likewise. - (init_gnat_utils): Likewise. - * gcc-interface/utils2.cc (gnat_stable_expr_p): Likewise. - (gnat_protect_expr): Likewise. - (gnat_stabilize_reference_1): Likewise. - (gnat_rewrite_reference): Likewise. - * gsocket.h: Likewise. - * init.cc (__gnat_error_handler): Likewise. - * libgnarl/s-intman.ads: Likewise. - * libgnarl/s-osinte__android.ads: Likewise. - * libgnarl/s-osinte__darwin.ads: Likewise. - * libgnarl/s-osinte__hpux.ads: Likewise. - * libgnarl/s-osinte__linux.ads: Likewise. - * libgnarl/s-osinte__qnx.ads: Likewise. - * libgnarl/s-taskin.ads: Likewise. - * rtfinal.cc: Likewise. - * s-oscons-tmplt.c (CND): Likewise. - * set_targ.ads: Likewise. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * adadecode.c: Moved to... - * adadecode.cc: ...here. - * affinity.c: Moved to... - * affinity.cc: ...here. - * argv-lynxos178-raven-cert.c: Moved to... - * argv-lynxos178-raven-cert.cc: ...here. - * argv.c: Moved to... - * argv.cc: ...here. - * aux-io.c: Moved to... - * aux-io.cc: ...here. - * cio.c: Moved to... - * cio.cc: ...here. - * cstreams.c: Moved to... - * cstreams.cc: ...here. - * env.c: Moved to... - * env.cc: ...here. - * exit.c: Moved to... - * exit.cc: ...here. - * expect.c: Moved to... - * expect.cc: ...here. - * final.c: Moved to... - * final.cc: ...here. - * gcc-interface/cuintp.c: Moved to... - * gcc-interface/cuintp.cc: ...here. - * gcc-interface/decl.c: Moved to... - * gcc-interface/decl.cc: ...here. - * gcc-interface/misc.c: Moved to... - * gcc-interface/misc.cc: ...here. - * gcc-interface/targtyps.c: Moved to... - * gcc-interface/targtyps.cc: ...here. - * gcc-interface/trans.c: Moved to... - * gcc-interface/trans.cc: ...here. - * gcc-interface/utils.c: Moved to... - * gcc-interface/utils.cc: ...here. - * gcc-interface/utils2.c: Moved to... - * gcc-interface/utils2.cc: ...here. - * init.c: Moved to... - * init.cc: ...here. - * initialize.c: Moved to... - * initialize.cc: ...here. - * libgnarl/thread.c: Moved to... - * libgnarl/thread.cc: ...here. - * link.c: Moved to... - * link.cc: ...here. - * locales.c: Moved to... - * locales.cc: ...here. - * mkdir.c: Moved to... - * mkdir.cc: ...here. - * raise.c: Moved to... - * raise.cc: ...here. - * rtfinal.c: Moved to... - * rtfinal.cc: ...here. - * rtinit.c: Moved to... - * rtinit.cc: ...here. - * seh_init.c: Moved to... - * seh_init.cc: ...here. - * sigtramp-armdroid.c: Moved to... - * sigtramp-armdroid.cc: ...here. - * sigtramp-ios.c: Moved to... - * sigtramp-ios.cc: ...here. - * sigtramp-qnx.c: Moved to... - * sigtramp-qnx.cc: ...here. - * sigtramp-vxworks.c: Moved to... - * sigtramp-vxworks.cc: ...here. - * socket.c: Moved to... - * socket.cc: ...here. - * tracebak.c: Moved to... - * tracebak.cc: ...here. - * version.c: Moved to... - * version.cc: ...here. - * vx_stack_info.c: Moved to... - * vx_stack_info.cc: ...here. - -2022-01-14 Andrew Pinski <apinski@marvell.com> - - PR ada/104027 - * gnat1drv.adb (Gnat1drv): After Back_End.Gen_Or_Update_Object_File - goto End_Of_Program. - -2022-01-11 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Relax a - little the assertion on designated types of pointer types. - -2022-01-11 Justin Squirek <squirek@adacore.com> - - * sem_ch8.adb (Nvis_Messages): Add generic instance name to - error message. - -2022-01-11 Etienne Servais <servais@adacore.com> - - * par-ch6.adb (Scan_Body_Or_Expression_Function): Accept left - bracket as token to open an expression function. - -2022-01-11 Justin Squirek <squirek@adacore.com> - - * sem_warn.adb (Check_References): Add call to Has_Task instead - of checking component type. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * exp_util.ads (Insert_Declaration): Remove spec. - * exp_util.adb (Insert_Declaration): Remove body. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch4.adb (Expand_N_Expression_With_Actions): Avoid - redundant check. - * exp_ch5.adb (Expand_N_If_Statement): Likewise. - * exp_ch7.adb (Process_Declarations): Likewise. - * sem_elab.adb (Freeze_Node_Location): Likewise. - * exp_util.adb (Insert_Actions): Likewise. - (Is_OK_PF_Pragma): Likewise. - (Requires_Cleanup_Actions): Remove early exit; ordinary - processing path will similarly do nothing. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * snames.ads-tmpl: Restore Name_Rpc. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch4.adb (Analyze_Allocator): Move DECLARE block inside IF - statement; refill code and comments. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch4.adb (Analyze_Allocator): Fix comment. - * sem_eval.ads (Compile-Time Known Values): Likewise. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * snames.ads-tmpl: Remove unreferenced names. - -2022-01-11 Yannick Moy <moy@adacore.com> - - * libgnat/s-aridou.adb (Double_Divide): Adjust proof of lemma - Prove_Signs, call lemma for commutation of Big and - multiplication. - (Multiply_With_Ovflo_Check): Adjust postcondition of - Prove_Pos_Int. - (Scaled_Divide): Explicit commutation in the proof of lemma - Prove_Multiplication, add new lemma Prove_Shift_Progress for - congruence property that is not proved in a larger context, add - assertions at the end of the loop to state loop invariant - properties. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Remove spec. - * sem_eval.adb (Compile_Time_Known_Value_Or_Aggr): Remove body. - -2022-01-11 Yannick Moy <moy@adacore.com> - - * libgnat/a-strfix.adb (Insert, Overwrite): Add assertions. - -2022-01-11 Arnaud Charlet <charlet@adacore.com> - - PR ada/79724 - * osint.adb (Program_Name): Fix handling of suffixes. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch4.adb (Size_In_Storage_Elements): Remove unnecessary - DECLARE block; refill code and comments. - -2022-01-11 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch3.adb (Analyze_Subtype_Declaration): In the case of an array - copy Packed_Array_Impl_Type manually here. - (Copy_Array_Subtype_Attributes): Do not copy it here. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch7.adb (Set_Block_Elab_Proc, Unnest_Block, Unnest_Loop, - Unnest_Statement_List): Simplify with Make_Temporary. - * exp_put_image.adb (Build_Image_Call): Likewise. - * inline.adb (Generate_Subprogram_Body): Likewise. - * sem_ch13.adb (Build_Predicate_Functions): Likewise. - * sem_util.adb (New_Copy_Separate_List): Likewise. - -2022-01-11 Etienne Servais <servais@adacore.com> - - * sem_ch3.adb (Check_Dynamic_Object): Swap check order. - -2022-01-11 Yannick Moy <moy@adacore.com> - - * libgnat/s-casuti.adb: Add ghost code. - * libgnat/s-casuti.ads: Add contracts. - -2022-01-11 Claire Dross <dross@adacore.com> - - * libgnat/a-tiinau.ads: Use a procedure for the Scan parameter - instead of a function with side-effects. - * libgnat/a-tiinau.adb: Idem. - * libgnat/a-wtinau.ads: Idem. - * libgnat/a-wtinau.adb: Idem. - * libgnat/a-ztinau.ads: Idem. - * libgnat/a-ztinau.adb: Idem. - * libgnat/s-valint.ads: Change the function with side-effects - Scan_Integer into a procedure - * libgnat/s-vallli.ads: Idem. - * libgnat/s-valllli.ads: Idem. - * libgnat/s-vallllu.ads: Add SPARK_Mode and pragma to ignore - assertions in instance. - * libgnat/s-valllu.ads: Idem. - * libgnat/s-valuns.ads: Idem. - * libgnat/s-valuei.ads: Use a procedure for the - Scan_Raw_Unsigned parameter instead of a function with - side-effects and change the function with side-effects - Scan_Integer into a procedure. - * libgnat/s-valuei.adb: Idem. - * libgnat/s-valuti.ads: Introduce a ghost function that scans an - exponent and complete the postcondition of Scan_Exponent to also - describe the value of Ptr after the call. Fix the postcondition - of Scan_Underscore. Simplify the definition of - Scan_Natural_Ghost. - * libgnat/s-valuti.adb: Idem. - * libgnat/s-valboo.ads, libgnat/s-valboo.adb: Update calls to - First_Non_Space_Ghost. - * libgnat/s-valueu.ads: Add functional contracts. - * libgnat/s-valueu.adb: Idem. - -2022-01-11 Yannick Moy <moy@adacore.com> - - * libgnat/s-expmod.adb (Exp_Modular): Add assertions. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * errout.adb (Error_Msg_CRT): Build message with string - concatenation; it is slightly repetitive but much easier to - read. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch11.adb (Expand_N_Exception_Declaration): Remove explicit - initialization of the exceptF object. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * par-ch3.adb (P_Array_Type_Definition): Use - Error_Msg_GNAT_Extension. - -2022-01-11 Gary Dismukes <dismukes@adacore.com> - - * sem_disp.adb (Check_Controlling_Type): Add test for the case - where Subp is a subprogram associated with a protected - subprogram and return Empty, unless Tagged_Type is the - corresponding record type of the protected type. - -2022-01-11 Yannick Moy <moy@adacore.com> - - * libgnat/s-veboop.adb: Add ghost code for proof. - * libgnat/s-veboop.ads: Add specification. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.adb, exp_attr.adb, exp_ch3.adb, exp_ch7.adb, - exp_dist.adb, exp_util.adb, freeze.adb, frontend.adb, - inline.adb, itypes.adb, lib-load.adb, lib-xref.adb, - libgnat/a-cfhase.adb, libgnat/a-cforse.adb, - libgnat/a-chtgbo.adb, libgnat/a-crdlli.adb, - libgnat/a-except.adb, libgnat/a-strfix.adb, - libgnat/a-textio.adb, libgnat/a-tienau.adb, - libgnat/a-tigeau.adb, libgnat/a-witeio.adb, - libgnat/a-wtenau.adb, libgnat/a-wtgeau.adb, - libgnat/a-ztenau.adb, libgnat/a-ztexio.adb, - libgnat/a-ztgeau.adb, libgnat/g-comlin.adb, - libgnat/g-debpoo.adb, libgnat/g-expect.adb, - libgnat/s-fileio.adb, libgnat/s-memory.adb, libgnat/s-mmap.adb, - libgnat/s-objrea.adb, libgnat/s-pehage.adb, - libgnat/s-regpat.adb, libgnat/s-shasto.adb, - libgnat/s-valued.adb, libgnat/s-valuef.adb, par-ch11.adb, - par-ch4.adb, par-ch6.adb, par-ch9.adb, par_sco.adb, - repinfo-input.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, - sem_ch13.adb, sem_ch4.adb, sem_eval.adb, sem_prag.adb, - sem_res.adb, sem_util.adb, sinput.adb, switch-c.adb: Fix style. - -2022-01-11 Arnaud Charlet <charlet@adacore.com> - - * exp_ch9.adb, gen_il-types.ads, make.adb, par-ch12.adb, - sem_ch13.adb: Use membership tests. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * erroutc.ads, erroutc.adb (Is_Runtime_Raise): Global flag to - connect status of initial messages and their continuation; we - already have several flags like this. - (Error_Msg_Object): Add field Warn_Runtime_Raise to connect - error reporting (when problematic code is found) and removal - (when problematic code is determined to be dead). - * errout.adb (Error_Msg_Internal): Handle new field when - recording a continuation message; propagate status from - continuation to the preceding messages. - (To_Be_Removed): For dead code remove both simple warnings and - warnings about constraint errors that have been escalated to - hard errors. - (Set_Msg_Text): Recognize warnings about constraint errors that - are escalated to hard errors. - * errutil.adb (Error_Msg): Handle added field when recording a - new message. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * errout.adb (Error_Msg_Internal): Propagate warnings-as-error - flag from continuation message to its preceding messages. - -2022-01-11 Arnaud Charlet <charlet@adacore.com> - - * gnatvsn.ads (Current_Year): Update copyright notice, bump to - 2022. - * ada_get_targ.adb: Update copyright notice. - * 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. - * backend_utils.adb: Likewise. - * backend_utils.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. - * 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. - * cstand.adb: Likewise. - * cstand.ads: Likewise. - * cstreams.c: Likewise. - * ctrl_c.c: Likewise. - * debug.ads: Likewise. - * debug_a.adb: Likewise. - * debug_a.ads: Likewise. - * einfo-utils.adb: Likewise. - * einfo-utils.ads: Likewise. - * einfo.adb: Likewise. - * einfo.ads: Likewise. - * elists.adb: Likewise. - * elists.ads: Likewise. - * elists.h: Likewise. - * env.c: Likewise. - * env.h: Likewise. - * err_vars.ads: Likewise. - * errno.c: Likewise. - * errout.adb: Likewise. - * errout.ads: Likewise. - * erroutc.adb: Likewise. - * erroutc.ads: Likewise. - * errutil.adb: Likewise. - * errutil.ads: Likewise. - * eval_fat.adb: Likewise. - * eval_fat.ads: Likewise. - * exit.c: Likewise. - * exp_aggr.adb: Likewise. - * exp_aggr.ads: Likewise. - * exp_atag.adb: Likewise. - * exp_atag.ads: Likewise. - * exp_attr.adb: Likewise. - * exp_attr.ads: Likewise. - * exp_cg.adb: Likewise. - * exp_cg.ads: Likewise. - * exp_ch10.ads: Likewise. - * exp_ch11.adb: Likewise. - * exp_ch11.ads: Likewise. - * exp_ch12.adb: Likewise. - * exp_ch12.ads: Likewise. - * exp_ch13.adb: Likewise. - * exp_ch13.ads: Likewise. - * exp_ch2.adb: Likewise. - * exp_ch2.ads: Likewise. - * exp_ch3.adb: Likewise. - * exp_ch3.ads: Likewise. - * exp_ch4.adb: Likewise. - * exp_ch4.ads: Likewise. - * exp_ch5.adb: Likewise. - * exp_ch5.ads: Likewise. - * exp_ch6.adb: Likewise. - * exp_ch6.ads: Likewise. - * exp_ch7.adb: Likewise. - * exp_ch7.ads: Likewise. - * exp_ch8.adb: Likewise. - * exp_ch8.ads: Likewise. - * exp_ch9.adb: Likewise. - * exp_ch9.ads: Likewise. - * exp_code.adb: Likewise. - * exp_code.ads: Likewise. - * exp_dbug.adb: Likewise. - * exp_dbug.ads: Likewise. - * exp_disp.adb: Likewise. - * exp_disp.ads: Likewise. - * exp_dist.adb: Likewise. - * exp_dist.ads: Likewise. - * exp_fixd.adb: Likewise. - * exp_fixd.ads: Likewise. - * exp_imgv.adb: Likewise. - * exp_imgv.ads: Likewise. - * exp_intr.adb: Likewise. - * exp_intr.ads: Likewise. - * exp_pakd.adb: Likewise. - * exp_pakd.ads: Likewise. - * exp_prag.adb: Likewise. - * exp_prag.ads: Likewise. - * exp_put_image.adb: Likewise. - * exp_put_image.ads: Likewise. - * exp_sel.adb: Likewise. - * exp_sel.ads: Likewise. - * exp_smem.adb: Likewise. - * exp_smem.ads: Likewise. - * exp_spark.adb: Likewise. - * exp_spark.ads: Likewise. - * exp_strm.adb: Likewise. - * exp_strm.ads: Likewise. - * exp_tss.adb: Likewise. - * exp_tss.ads: Likewise. - * exp_unst.adb: Likewise. - * exp_unst.ads: Likewise. - * exp_util.adb: Likewise. - * exp_util.ads: Likewise. - * expander.adb: Likewise. - * expander.ads: Likewise. - * expect.c: Likewise. - * fe.h: Likewise. - * final.c: Likewise. - * fmap.adb: Likewise. - * fmap.ads: Likewise. - * fname-sf.adb: Likewise. - * fname-sf.ads: Likewise. - * fname-uf.adb: Likewise. - * fname-uf.ads: Likewise. - * fname.adb: Likewise. - * fname.ads: Likewise. - * freeze.adb: Likewise. - * freeze.ads: Likewise. - * frontend.adb: Likewise. - * frontend.ads: Likewise. - * gen_il-fields.ads: Likewise. - * gen_il-gen-gen_entities.adb: Likewise. - * gen_il-gen-gen_nodes.adb: Likewise. - * gen_il-gen.adb: Likewise. - * gen_il-gen.ads: Likewise. - * gen_il-internals.adb: Likewise. - * gen_il-internals.ads: Likewise. - * gen_il-main.adb: Likewise. - * gen_il-types.ads: Likewise. - * gen_il.adb: Likewise. - * gen_il.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. - * gnat_cuda.adb: Likewise. - * gnat_cuda.ads: Likewise. - * gnatbind.adb: Likewise. - * gnatbind.ads: Likewise. - * gnatchop.adb: Likewise. - * gnatclean.adb: Likewise. - * gnatcmd.adb: Likewise. - * gnatcmd.ads: Likewise. - * gnatdll.adb: Likewise. - * gnatfind.adb: Likewise. - * gnatkr.adb: Likewise. - * gnatkr.ads: Likewise. - * gnatlink.adb: Likewise. - * gnatlink.ads: Likewise. - * gnatls.adb: Likewise. - * gnatls.ads: Likewise. - * gnatmake.adb: Likewise. - * gnatmake.ads: Likewise. - * gnatname.adb: Likewise. - * gnatname.ads: Likewise. - * gnatprep.adb: Likewise. - * gnatprep.ads: Likewise. - * gnatvsn.adb: Likewise. - * gnatxref.adb: Likewise. - * gprep.adb: Likewise. - * gprep.ads: Likewise. - * gsocket.h: Likewise. - * hostparm.ads: Likewise. - * impunit.adb: Likewise. - * impunit.ads: Likewise. - * indepsw-aix.adb: Likewise. - * indepsw-darwin.adb: Likewise. - * indepsw-gnu.adb: Likewise. - * indepsw.adb: Likewise. - * indepsw.ads: Likewise. - * init.c: Likewise. - * initialize.c: Likewise. - * inline.adb: Likewise. - * inline.ads: Likewise. - * itypes.adb: Likewise. - * itypes.ads: Likewise. - * krunch.adb: Likewise. - * krunch.ads: Likewise. - * layout.adb: Likewise. - * layout.ads: Likewise. - * lib-list.adb: Likewise. - * lib-load.adb: Likewise. - * lib-load.ads: Likewise. - * lib-sort.adb: Likewise. - * lib-util.adb: Likewise. - * lib-util.ads: Likewise. - * lib-writ.adb: Likewise. - * lib-writ.ads: Likewise. - * lib-xref-spark_specific.adb: Likewise. - * lib-xref.adb: Likewise. - * lib-xref.ads: Likewise. - * lib.adb: Likewise. - * lib.ads: Likewise. - * libgnarl/a-astaco.adb: Likewise. - * libgnarl/a-dispat.adb: Likewise. - * libgnarl/a-dynpri.adb: Likewise. - * libgnarl/a-etgrbu.ads: Likewise. - * libgnarl/a-exetim__darwin.adb: Likewise. - * libgnarl/a-exetim__default.ads: Likewise. - * libgnarl/a-exetim__mingw.adb: Likewise. - * libgnarl/a-exetim__mingw.ads: Likewise. - * libgnarl/a-exetim__posix.adb: Likewise. - * libgnarl/a-interr.adb: Likewise. - * libgnarl/a-interr.ads: Likewise. - * libgnarl/a-intnam.ads: Likewise. - * libgnarl/a-intnam__aix.ads: Likewise. - * libgnarl/a-intnam__darwin.ads: Likewise. - * libgnarl/a-intnam__dragonfly.ads: Likewise. - * libgnarl/a-intnam__dummy.ads: Likewise. - * libgnarl/a-intnam__freebsd.ads: Likewise. - * libgnarl/a-intnam__hpux.ads: Likewise. - * libgnarl/a-intnam__linux.ads: Likewise. - * libgnarl/a-intnam__lynxos.ads: Likewise. - * libgnarl/a-intnam__mingw.ads: Likewise. - * libgnarl/a-intnam__qnx.ads: Likewise. - * libgnarl/a-intnam__rtems.ads: Likewise. - * libgnarl/a-intnam__solaris.ads: Likewise. - * libgnarl/a-intnam__vxworks.ads: Likewise. - * libgnarl/a-reatim.adb: Likewise. - * libgnarl/a-reatim.ads: Likewise. - * libgnarl/a-retide.adb: Likewise. - * libgnarl/a-retide.ads: Likewise. - * libgnarl/a-rttiev.adb: Likewise. - * libgnarl/a-rttiev.ads: Likewise. - * libgnarl/a-synbar.adb: Likewise. - * libgnarl/a-synbar.ads: Likewise. - * libgnarl/a-synbar__posix.adb: Likewise. - * libgnarl/a-synbar__posix.ads: Likewise. - * libgnarl/a-sytaco.adb: Likewise. - * libgnarl/a-sytaco.ads: Likewise. - * libgnarl/a-tasatt.adb: Likewise. - * libgnarl/a-tasatt.ads: Likewise. - * libgnarl/a-taside.adb: Likewise. - * libgnarl/a-taside.ads: Likewise. - * libgnarl/a-tasini.adb: Likewise. - * libgnarl/a-tasini.ads: Likewise. - * libgnarl/a-taster.adb: Likewise. - * libgnarl/g-boubuf.adb: Likewise. - * libgnarl/g-boubuf.ads: Likewise. - * libgnarl/g-boumai.ads: Likewise. - * libgnarl/g-semaph.adb: Likewise. - * libgnarl/g-semaph.ads: Likewise. - * libgnarl/g-signal.adb: Likewise. - * libgnarl/g-signal.ads: Likewise. - * libgnarl/g-tastus.ads: Likewise. - * libgnarl/g-thread.adb: Likewise. - * libgnarl/g-thread.ads: Likewise. - * libgnarl/i-vxinco.adb: Likewise. - * libgnarl/i-vxinco.ads: Likewise. - * libgnarl/s-inmaop.ads: Likewise. - * libgnarl/s-inmaop__dummy.adb: Likewise. - * libgnarl/s-inmaop__hwint.adb: Likewise. - * libgnarl/s-inmaop__posix.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__rtems.adb: Likewise. - * libgnarl/s-intman__rtems.ads: 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-putaim.adb: Likewise. - * libgnarl/s-putaim.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__rtems.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__rtp-smp.adb: Likewise. - * libgnarl/s-vxwext__rtp.adb: Likewise. - * libgnarl/s-vxwext__rtp.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-costso.adb: Likewise. - * libgnat/a-costso.ads: Likewise. - * libgnat/a-crbltr.ads: Likewise. - * libgnat/a-crbtgk.adb: Likewise. - * libgnat/a-crbtgk.ads: Likewise. - * libgnat/a-crbtgo.adb: Likewise. - * libgnat/a-crbtgo.ads: Likewise. - * libgnat/a-crdlli.adb: Likewise. - * libgnat/a-crdlli.ads: Likewise. - * libgnat/a-csquin.ads: Likewise. - * libgnat/a-cuprqu.adb: Likewise. - * libgnat/a-cuprqu.ads: Likewise. - * libgnat/a-cusyqu.adb: Likewise. - * libgnat/a-cusyqu.ads: Likewise. - * libgnat/a-cwila1.ads: Likewise. - * libgnat/a-cwila9.ads: Likewise. - * libgnat/a-decima.adb: Likewise. - * libgnat/a-decima.ads: Likewise. - * libgnat/a-decima__128.ads: Likewise. - * libgnat/a-dhfina.adb: Likewise. - * libgnat/a-dhfina.ads: Likewise. - * libgnat/a-diocst.adb: Likewise. - * libgnat/a-diocst.ads: Likewise. - * libgnat/a-direct.adb: Likewise. - * libgnat/a-direct.ads: Likewise. - * libgnat/a-direio.adb: Likewise. - * libgnat/a-direio.ads: Likewise. - * libgnat/a-dirval.adb: Likewise. - * libgnat/a-dirval.ads: Likewise. - * libgnat/a-dirval__mingw.adb: Likewise. - * libgnat/a-einuoc.adb: Likewise. - * libgnat/a-einuoc.ads: Likewise. - * libgnat/a-elchha.adb: Likewise. - * libgnat/a-elchha.ads: Likewise. - * libgnat/a-envvar.adb: Likewise. - * libgnat/a-excach.adb: Likewise. - * libgnat/a-except.adb: Likewise. - * libgnat/a-except.ads: Likewise. - * libgnat/a-exctra.adb: Likewise. - * libgnat/a-exctra.ads: Likewise. - * libgnat/a-exexda.adb: Likewise. - * libgnat/a-exexpr.adb: Likewise. - * libgnat/a-exextr.adb: Likewise. - * libgnat/a-exstat.adb: Likewise. - * libgnat/a-finali.adb: Likewise. - * libgnat/a-finali.ads: Likewise. - * libgnat/a-locale.adb: Likewise. - * libgnat/a-locale.ads: Likewise. - * libgnat/a-nagefl.ads: Likewise. - * libgnat/a-naliop.ads: Likewise. - * libgnat/a-naliop__nolibm.ads: Likewise. - * libgnat/a-nallfl.ads: Likewise. - * libgnat/a-nallfl__wraplf.ads: Likewise. - * libgnat/a-nalofl.ads: Likewise. - * libgnat/a-nashfl.ads: Likewise. - * libgnat/a-nashfl__wraplf.ads: Likewise. - * libgnat/a-nbnbig.adb: Likewise. - * libgnat/a-nbnbin.adb: Likewise. - * libgnat/a-nbnbin__gmp.adb: Likewise. - * libgnat/a-nbnbre.adb: Likewise. - * libgnat/a-ngcefu.adb: Likewise. - * libgnat/a-ngcoar.adb: Likewise. - * libgnat/a-ngcoty.adb: Likewise. - * libgnat/a-ngcoty.ads: Likewise. - * libgnat/a-ngelfu.adb: Likewise. - * libgnat/a-ngelfu.ads: Likewise. - * libgnat/a-ngrear.adb: Likewise. - * libgnat/a-ngrear.ads: Likewise. - * libgnat/a-nuauco.ads: Likewise. - * libgnat/a-nuauco__x86.ads: Likewise. - * libgnat/a-nuaufl.ads: Likewise. - * libgnat/a-nuaufl__wraplf.ads: Likewise. - * libgnat/a-nudira.adb: Likewise. - * libgnat/a-nudira.ads: Likewise. - * libgnat/a-nuflra.adb: Likewise. - * libgnat/a-nuflra.ads: Likewise. - * libgnat/a-numaux.ads: Likewise. - * libgnat/a-rbtgbk.adb: Likewise. - * libgnat/a-rbtgbk.ads: Likewise. - * libgnat/a-rbtgbo.adb: Likewise. - * libgnat/a-rbtgbo.ads: Likewise. - * libgnat/a-rbtgso.adb: Likewise. - * libgnat/a-rbtgso.ads: Likewise. - * libgnat/a-sbecin.adb: Likewise. - * libgnat/a-sbecin.ads: Likewise. - * libgnat/a-sbhcin.adb: Likewise. - * libgnat/a-sbhcin.ads: Likewise. - * libgnat/a-sblcin.adb: Likewise. - * libgnat/a-sblcin.ads: Likewise. - * libgnat/a-secain.adb: Likewise. - * libgnat/a-secain.ads: Likewise. - * libgnat/a-sequio.adb: Likewise. - * libgnat/a-sequio.ads: Likewise. - * libgnat/a-sfecin.ads: Likewise. - * libgnat/a-sfhcin.ads: Likewise. - * libgnat/a-sflcin.ads: Likewise. - * libgnat/a-shcain.adb: Likewise. - * libgnat/a-shcain.ads: Likewise. - * libgnat/a-siocst.adb: Likewise. - * libgnat/a-siocst.ads: Likewise. - * libgnat/a-slcain.adb: Likewise. - * libgnat/a-slcain.ads: Likewise. - * libgnat/a-ssicst.adb: Likewise. - * libgnat/a-ssicst.ads: Likewise. - * libgnat/a-stboha.adb: Likewise. - * libgnat/a-stbubo.adb: Likewise. - * libgnat/a-stbubo.ads: Likewise. - * libgnat/a-stbufi.adb: Likewise. - * libgnat/a-stbufi.ads: Likewise. - * libgnat/a-stbufo.adb: Likewise. - * libgnat/a-stbufo.ads: Likewise. - * libgnat/a-stbuun.adb: Likewise. - * libgnat/a-stbuut.adb: Likewise. - * libgnat/a-stbuut.ads: 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-strsto.ads: Likewise. - * libgnat/a-strsup.adb: Likewise. - * libgnat/a-strsup.ads: Likewise. - * libgnat/a-strunb.adb: Likewise. - * libgnat/a-strunb.ads: Likewise. - * libgnat/a-strunb__shared.adb: Likewise. - * libgnat/a-strunb__shared.ads: Likewise. - * libgnat/a-ststbo.adb: Likewise. - * libgnat/a-ststbo.ads: Likewise. - * libgnat/a-ststio.adb: Likewise. - * libgnat/a-ststio.ads: Likewise. - * libgnat/a-ststun.adb: Likewise. - * libgnat/a-ststun.ads: Likewise. - * libgnat/a-sttebu.adb: Likewise. - * libgnat/a-stunau.adb: Likewise. - * libgnat/a-stunau.ads: Likewise. - * libgnat/a-stunau__shared.adb: Likewise. - * libgnat/a-stunha.adb: Likewise. - * libgnat/a-stuten.adb: Likewise. - * libgnat/a-stwibo.adb: Likewise. - * libgnat/a-stwibo.ads: Likewise. - * libgnat/a-stwifi.adb: Likewise. - * libgnat/a-stwiha.adb: Likewise. - * libgnat/a-stwima.adb: Likewise. - * libgnat/a-stwima.ads: Likewise. - * libgnat/a-stwise.adb: Likewise. - * libgnat/a-stwise.ads: Likewise. - * libgnat/a-stwisu.adb: Likewise. - * libgnat/a-stwisu.ads: Likewise. - * libgnat/a-stwiun.adb: Likewise. - * libgnat/a-stwiun.ads: Likewise. - * libgnat/a-stwiun__shared.adb: Likewise. - * libgnat/a-stwiun__shared.ads: Likewise. - * libgnat/a-stzbou.adb: Likewise. - * libgnat/a-stzbou.ads: Likewise. - * libgnat/a-stzfix.adb: Likewise. - * libgnat/a-stzhas.adb: Likewise. - * libgnat/a-stzmap.adb: Likewise. - * libgnat/a-stzmap.ads: Likewise. - * libgnat/a-stzsea.adb: Likewise. - * libgnat/a-stzsea.ads: Likewise. - * libgnat/a-stzsup.adb: Likewise. - * libgnat/a-stzsup.ads: Likewise. - * libgnat/a-stzunb.adb: Likewise. - * libgnat/a-stzunb.ads: Likewise. - * libgnat/a-stzunb__shared.adb: Likewise. - * libgnat/a-stzunb__shared.ads: Likewise. - * libgnat/a-suecin.adb: Likewise. - * libgnat/a-suecin.ads: Likewise. - * libgnat/a-suenco.adb: Likewise. - * libgnat/a-suenst.adb: Likewise. - * libgnat/a-suewst.adb: Likewise. - * libgnat/a-suezst.adb: Likewise. - * libgnat/a-suhcin.adb: Likewise. - * libgnat/a-suhcin.ads: Likewise. - * libgnat/a-sulcin.adb: Likewise. - * libgnat/a-sulcin.ads: Likewise. - * libgnat/a-suteio.adb: Likewise. - * libgnat/a-suteio.ads: Likewise. - * libgnat/a-suteio__shared.adb: Likewise. - * libgnat/a-swbwha.adb: Likewise. - * libgnat/a-swmwco.ads: Likewise. - * libgnat/a-swunau.adb: Likewise. - * libgnat/a-swunau.ads: Likewise. - * libgnat/a-swunau__shared.adb: Likewise. - * libgnat/a-swuwha.adb: Likewise. - * libgnat/a-swuwti.adb: Likewise. - * libgnat/a-swuwti.ads: Likewise. - * libgnat/a-swuwti__shared.adb: Likewise. - * libgnat/a-szbzha.adb: Likewise. - * libgnat/a-szmzco.ads: Likewise. - * libgnat/a-szunau.adb: Likewise. - * libgnat/a-szunau.ads: Likewise. - * libgnat/a-szunau__shared.adb: Likewise. - * libgnat/a-szuzha.adb: Likewise. - * libgnat/a-szuzti.adb: Likewise. - * libgnat/a-szuzti.ads: Likewise. - * libgnat/a-szuzti__shared.adb: Likewise. - * libgnat/a-tags.adb: Likewise. - * libgnat/a-tags.ads: Likewise. - * libgnat/a-teioed.adb: Likewise. - * libgnat/a-teioed.ads: Likewise. - * libgnat/a-textio.adb: Likewise. - * libgnat/a-textio.ads: Likewise. - * libgnat/a-tiboio.adb: Likewise. - * libgnat/a-ticoau.adb: Likewise. - * libgnat/a-ticoau.ads: Likewise. - * libgnat/a-ticoio.adb: Likewise. - * libgnat/a-ticoio.ads: Likewise. - * libgnat/a-tideau.adb: Likewise. - * libgnat/a-tideau.ads: Likewise. - * libgnat/a-tideio.adb: Likewise. - * libgnat/a-tideio.ads: Likewise. - * libgnat/a-tideio__128.adb: Likewise. - * libgnat/a-tienau.adb: Likewise. - * libgnat/a-tienau.ads: Likewise. - * libgnat/a-tienio.adb: Likewise. - * libgnat/a-tifiau.adb: Likewise. - * libgnat/a-tifiau.ads: Likewise. - * libgnat/a-tifiio.adb: Likewise. - * libgnat/a-tifiio__128.adb: Likewise. - * libgnat/a-tiflau.adb: Likewise. - * libgnat/a-tiflau.ads: Likewise. - * libgnat/a-tiflio.adb: Likewise. - * libgnat/a-tiflio.ads: Likewise. - * libgnat/a-tigeau.adb: Likewise. - * libgnat/a-tigeau.ads: Likewise. - * libgnat/a-tigeli.adb: Likewise. - * libgnat/a-tiinau.adb: Likewise. - * libgnat/a-tiinau.ads: Likewise. - * libgnat/a-tiinio.adb: Likewise. - * libgnat/a-tiinio.ads: Likewise. - * libgnat/a-tiinio__128.adb: Likewise. - * libgnat/a-timoio.adb: Likewise. - * libgnat/a-timoio.ads: Likewise. - * libgnat/a-timoio__128.adb: Likewise. - * libgnat/a-tiocst.adb: Likewise. - * libgnat/a-tiocst.ads: Likewise. - * libgnat/a-tirsfi.adb: Likewise. - * libgnat/a-tirsfi.ads: Likewise. - * libgnat/a-titest.adb: Likewise. - * libgnat/a-undesu.adb: Likewise. - * libgnat/a-wichha.adb: Likewise. - * libgnat/a-wichun.adb: Likewise. - * libgnat/a-wichun.ads: Likewise. - * libgnat/a-witeio.adb: Likewise. - * libgnat/a-witeio.ads: Likewise. - * libgnat/a-wrstfi.adb: Likewise. - * libgnat/a-wrstfi.ads: Likewise. - * libgnat/a-wtcoau.adb: Likewise. - * libgnat/a-wtcoau.ads: Likewise. - * libgnat/a-wtcoio.adb: Likewise. - * libgnat/a-wtcstr.adb: Likewise. - * libgnat/a-wtcstr.ads: Likewise. - * libgnat/a-wtdeau.adb: Likewise. - * libgnat/a-wtdeau.ads: Likewise. - * libgnat/a-wtdeio.adb: Likewise. - * libgnat/a-wtdeio__128.adb: Likewise. - * libgnat/a-wtedit.adb: Likewise. - * libgnat/a-wtedit.ads: Likewise. - * libgnat/a-wtenau.adb: Likewise. - * libgnat/a-wtenau.ads: Likewise. - * libgnat/a-wtenio.adb: Likewise. - * libgnat/a-wtfiau.adb: Likewise. - * libgnat/a-wtfiau.ads: Likewise. - * libgnat/a-wtfiio.adb: Likewise. - * libgnat/a-wtfiio__128.adb: Likewise. - * libgnat/a-wtflau.adb: Likewise. - * libgnat/a-wtflau.ads: Likewise. - * libgnat/a-wtflio.adb: Likewise. - * libgnat/a-wtgeau.adb: Likewise. - * libgnat/a-wtgeau.ads: Likewise. - * libgnat/a-wtinau.adb: Likewise. - * libgnat/a-wtinau.ads: Likewise. - * libgnat/a-wtinio.adb: Likewise. - * libgnat/a-wtinio__128.adb: Likewise. - * libgnat/a-wtmoio.adb: Likewise. - * libgnat/a-wtmoio.ads: Likewise. - * libgnat/a-wtmoio__128.adb: Likewise. - * libgnat/a-wttest.adb: Likewise. - * libgnat/a-wwboio.adb: Likewise. - * libgnat/a-zchhan.adb: Likewise. - * libgnat/a-zchuni.adb: Likewise. - * libgnat/a-zchuni.ads: Likewise. - * libgnat/a-zrstfi.adb: Likewise. - * libgnat/a-zrstfi.ads: Likewise. - * libgnat/a-ztcoau.adb: Likewise. - * libgnat/a-ztcoio.adb: Likewise. - * libgnat/a-ztcstr.adb: Likewise. - * libgnat/a-ztcstr.ads: Likewise. - * libgnat/a-ztdeau.adb: Likewise. - * libgnat/a-ztdeau.ads: Likewise. - * libgnat/a-ztdeio.adb: Likewise. - * libgnat/a-ztdeio__128.adb: Likewise. - * libgnat/a-ztedit.adb: Likewise. - * libgnat/a-ztedit.ads: Likewise. - * libgnat/a-ztenau.adb: Likewise. - * libgnat/a-ztenau.ads: Likewise. - * libgnat/a-ztenio.adb: Likewise. - * libgnat/a-ztexio.adb: Likewise. - * libgnat/a-ztexio.ads: Likewise. - * libgnat/a-ztfiau.adb: Likewise. - * libgnat/a-ztfiau.ads: Likewise. - * libgnat/a-ztfiio.adb: Likewise. - * libgnat/a-ztfiio__128.adb: Likewise. - * libgnat/a-ztflau.adb: Likewise. - * libgnat/a-ztflau.ads: Likewise. - * libgnat/a-ztflio.adb: Likewise. - * libgnat/a-ztgeau.adb: Likewise. - * libgnat/a-ztgeau.ads: Likewise. - * libgnat/a-ztinau.adb: Likewise. - * libgnat/a-ztinau.ads: Likewise. - * libgnat/a-ztinio.adb: Likewise. - * libgnat/a-ztinio__128.adb: Likewise. - * libgnat/a-ztmoio.adb: Likewise. - * libgnat/a-ztmoio__128.adb: Likewise. - * libgnat/a-zttest.adb: Likewise. - * libgnat/a-zzboio.adb: Likewise. - * libgnat/g-allein.ads: Likewise. - * libgnat/g-alleve.adb: Likewise. - * libgnat/g-alleve.ads: Likewise. - * libgnat/g-alleve__hard.adb: Likewise. - * libgnat/g-alleve__hard.ads: Likewise. - * libgnat/g-altcon.adb: Likewise. - * libgnat/g-altcon.ads: Likewise. - * libgnat/g-altive.ads: Likewise. - * libgnat/g-alveop.adb: Likewise. - * libgnat/g-alveop.ads: Likewise. - * libgnat/g-alvety.ads: Likewise. - * libgnat/g-alvevi.ads: Likewise. - * libgnat/g-arrspl.adb: Likewise. - * libgnat/g-arrspl.ads: Likewise. - * libgnat/g-awk.adb: Likewise. - * libgnat/g-awk.ads: Likewise. - * libgnat/g-binenv.adb: Likewise. - * libgnat/g-binenv.ads: Likewise. - * libgnat/g-brapre.ads: Likewise. - * libgnat/g-bubsor.adb: Likewise. - * libgnat/g-bubsor.ads: Likewise. - * libgnat/g-busora.adb: Likewise. - * libgnat/g-busora.ads: Likewise. - * libgnat/g-busorg.adb: Likewise. - * libgnat/g-busorg.ads: Likewise. - * libgnat/g-byorma.adb: Likewise. - * libgnat/g-byorma.ads: Likewise. - * libgnat/g-bytswa.adb: Likewise. - * libgnat/g-bytswa.ads: Likewise. - * libgnat/g-calend.adb: Likewise. - * libgnat/g-calend.ads: Likewise. - * libgnat/g-casuti.adb: Likewise. - * libgnat/g-casuti.ads: Likewise. - * libgnat/g-catiio.adb: Likewise. - * libgnat/g-catiio.ads: Likewise. - * libgnat/g-cgi.adb: Likewise. - * libgnat/g-cgi.ads: Likewise. - * libgnat/g-cgicoo.adb: Likewise. - * libgnat/g-cgicoo.ads: Likewise. - * libgnat/g-cgideb.adb: Likewise. - * libgnat/g-cgideb.ads: Likewise. - * libgnat/g-comlin.adb: Likewise. - * libgnat/g-comlin.ads: Likewise. - * libgnat/g-comver.adb: Likewise. - * libgnat/g-comver.ads: Likewise. - * libgnat/g-cppexc.adb: Likewise. - * libgnat/g-cppexc.ads: Likewise. - * libgnat/g-crc32.adb: Likewise. - * libgnat/g-crc32.ads: Likewise. - * libgnat/g-ctrl_c.adb: Likewise. - * libgnat/g-ctrl_c.ads: Likewise. - * libgnat/g-curexc.ads: Likewise. - * libgnat/g-debpoo.adb: Likewise. - * libgnat/g-debpoo.ads: Likewise. - * libgnat/g-debuti.adb: Likewise. - * libgnat/g-debuti.ads: Likewise. - * libgnat/g-decstr.adb: Likewise. - * libgnat/g-decstr.ads: Likewise. - * libgnat/g-deutst.ads: Likewise. - * libgnat/g-diopit.adb: Likewise. - * libgnat/g-diopit.ads: Likewise. - * libgnat/g-dirope.adb: Likewise. - * libgnat/g-dirope.ads: Likewise. - * libgnat/g-dynhta.adb: Likewise. - * libgnat/g-dynhta.ads: Likewise. - * libgnat/g-dyntab.adb: Likewise. - * libgnat/g-dyntab.ads: Likewise. - * libgnat/g-eacodu.adb: Likewise. - * libgnat/g-encstr.adb: Likewise. - * libgnat/g-encstr.ads: Likewise. - * libgnat/g-enutst.ads: Likewise. - * libgnat/g-excact.adb: Likewise. - * libgnat/g-excact.ads: Likewise. - * libgnat/g-except.ads: Likewise. - * libgnat/g-exctra.adb: Likewise. - * libgnat/g-exctra.ads: Likewise. - * libgnat/g-expect.adb: Likewise. - * libgnat/g-expect.ads: Likewise. - * libgnat/g-exptty.adb: Likewise. - * libgnat/g-exptty.ads: Likewise. - * libgnat/g-flocon.ads: Likewise. - * libgnat/g-forstr.adb: Likewise. - * libgnat/g-forstr.ads: Likewise. - * libgnat/g-graphs.adb: Likewise. - * libgnat/g-graphs.ads: Likewise. - * libgnat/g-heasor.adb: Likewise. - * libgnat/g-heasor.ads: Likewise. - * libgnat/g-hesora.adb: Likewise. - * libgnat/g-hesora.ads: Likewise. - * libgnat/g-hesorg.adb: Likewise. - * libgnat/g-hesorg.ads: Likewise. - * libgnat/g-htable.adb: Likewise. - * libgnat/g-htable.ads: Likewise. - * libgnat/g-io.adb: Likewise. - * libgnat/g-io.ads: Likewise. - * libgnat/g-io_aux.adb: Likewise. - * libgnat/g-io_aux.ads: Likewise. - * libgnat/g-lists.adb: Likewise. - * libgnat/g-lists.ads: Likewise. - * libgnat/g-locfil.adb: Likewise. - * libgnat/g-locfil.ads: Likewise. - * libgnat/g-mbdira.adb: Likewise. - * libgnat/g-mbdira.ads: Likewise. - * libgnat/g-mbflra.adb: Likewise. - * libgnat/g-mbflra.ads: Likewise. - * libgnat/g-md5.adb: Likewise. - * libgnat/g-md5.ads: Likewise. - * libgnat/g-memdum.adb: Likewise. - * libgnat/g-memdum.ads: Likewise. - * libgnat/g-moreex.adb: Likewise. - * libgnat/g-moreex.ads: Likewise. - * libgnat/g-os_lib.adb: Likewise. - * libgnat/g-os_lib.ads: Likewise. - * libgnat/g-pehage.adb: Likewise. - * libgnat/g-pehage.ads: Likewise. - * libgnat/g-rannum.adb: Likewise. - * libgnat/g-rannum.ads: Likewise. - * libgnat/g-regexp.adb: Likewise. - * libgnat/g-regexp.ads: Likewise. - * libgnat/g-regist.adb: Likewise. - * libgnat/g-regist.ads: Likewise. - * libgnat/g-regpat.adb: Likewise. - * libgnat/g-regpat.ads: Likewise. - * libgnat/g-rewdat.adb: Likewise. - * libgnat/g-rewdat.ads: Likewise. - * libgnat/g-sechas.adb: Likewise. - * libgnat/g-sechas.ads: Likewise. - * libgnat/g-sehamd.adb: Likewise. - * libgnat/g-sehamd.ads: Likewise. - * libgnat/g-sehash.adb: Likewise. - * libgnat/g-sehash.ads: Likewise. - * libgnat/g-sercom.adb: Likewise. - * libgnat/g-sercom.ads: Likewise. - * libgnat/g-sercom__linux.adb: Likewise. - * libgnat/g-sercom__mingw.adb: Likewise. - * libgnat/g-sestin.ads: Likewise. - * libgnat/g-sets.adb: Likewise. - * libgnat/g-sets.ads: Likewise. - * libgnat/g-sha1.adb: Likewise. - * libgnat/g-sha1.ads: Likewise. - * libgnat/g-sha224.ads: Likewise. - * libgnat/g-sha256.ads: Likewise. - * libgnat/g-sha384.ads: Likewise. - * libgnat/g-sha512.ads: Likewise. - * libgnat/g-shsh32.adb: Likewise. - * libgnat/g-shsh32.ads: Likewise. - * libgnat/g-shsh64.adb: Likewise. - * libgnat/g-shsh64.ads: Likewise. - * libgnat/g-shshco.adb: Likewise. - * libgnat/g-shshco.ads: Likewise. - * libgnat/g-soccon.ads: Likewise. - * libgnat/g-socket.adb: Likewise. - * libgnat/g-socket.ads: Likewise. - * libgnat/g-socket__dummy.adb: Likewise. - * libgnat/g-socket__dummy.ads: Likewise. - * libgnat/g-socpol.adb: Likewise. - * libgnat/g-socpol.ads: Likewise. - * libgnat/g-socpol__dummy.adb: Likewise. - * libgnat/g-socpol__dummy.ads: Likewise. - * libgnat/g-socthi.adb: Likewise. - * libgnat/g-socthi.ads: Likewise. - * libgnat/g-socthi__dummy.adb: Likewise. - * libgnat/g-socthi__dummy.ads: Likewise. - * libgnat/g-socthi__mingw.adb: Likewise. - * libgnat/g-socthi__mingw.ads: Likewise. - * libgnat/g-socthi__vxworks.adb: Likewise. - * libgnat/g-socthi__vxworks.ads: Likewise. - * libgnat/g-soliop.ads: Likewise. - * libgnat/g-soliop__lynxos.ads: Likewise. - * libgnat/g-soliop__mingw.ads: Likewise. - * libgnat/g-soliop__qnx.ads: Likewise. - * libgnat/g-soliop__solaris.ads: Likewise. - * libgnat/g-sopowa.adb: Likewise. - * libgnat/g-sopowa__mingw.adb: Likewise. - * libgnat/g-sopowa__posix.adb: Likewise. - * libgnat/g-sothco.adb: Likewise. - * libgnat/g-sothco.ads: Likewise. - * libgnat/g-sothco__dummy.adb: Likewise. - * libgnat/g-sothco__dummy.ads: Likewise. - * libgnat/g-souinf.ads: Likewise. - * libgnat/g-spchge.adb: Likewise. - * libgnat/g-spchge.ads: Likewise. - * libgnat/g-speche.adb: Likewise. - * libgnat/g-speche.ads: Likewise. - * libgnat/g-spipat.adb: Likewise. - * libgnat/g-spipat.ads: Likewise. - * libgnat/g-spitbo.adb: Likewise. - * libgnat/g-spitbo.ads: Likewise. - * libgnat/g-spogwa.adb: Likewise. - * libgnat/g-spogwa.ads: Likewise. - * libgnat/g-sptabo.ads: Likewise. - * libgnat/g-sptain.ads: Likewise. - * libgnat/g-sptavs.ads: Likewise. - * libgnat/g-sse.ads: Likewise. - * libgnat/g-ssvety.ads: Likewise. - * libgnat/g-sthcso.adb: Likewise. - * libgnat/g-stheme.adb: Likewise. - * libgnat/g-strhas.ads: Likewise. - * libgnat/g-string.adb: Likewise. - * libgnat/g-string.ads: Likewise. - * libgnat/g-strspl.ads: Likewise. - * libgnat/g-stseme.adb: Likewise. - * libgnat/g-stsifd__sockets.adb: Likewise. - * libgnat/g-table.adb: Likewise. - * libgnat/g-table.ads: Likewise. - * libgnat/g-tasloc.adb: Likewise. - * libgnat/g-tasloc.ads: Likewise. - * libgnat/g-timsta.adb: Likewise. - * libgnat/g-timsta.ads: Likewise. - * libgnat/g-traceb.adb: Likewise. - * libgnat/g-traceb.ads: Likewise. - * libgnat/g-trasym.adb: Likewise. - * libgnat/g-trasym.ads: Likewise. - * libgnat/g-tty.adb: Likewise. - * libgnat/g-tty.ads: Likewise. - * libgnat/g-u3spch.adb: Likewise. - * libgnat/g-u3spch.ads: Likewise. - * libgnat/g-utf_32.adb: Likewise. - * libgnat/g-utf_32.ads: Likewise. - * libgnat/g-wispch.adb: Likewise. - * libgnat/g-wispch.ads: Likewise. - * libgnat/g-wistsp.ads: Likewise. - * libgnat/g-zspche.adb: Likewise. - * libgnat/g-zspche.ads: Likewise. - * libgnat/g-zstspl.ads: Likewise. - * libgnat/gnat.ads: Likewise. - * libgnat/i-c.adb: Likewise. - * libgnat/i-cexten.ads: Likewise. - * libgnat/i-cexten__128.ads: Likewise. - * libgnat/i-cobol.adb: Likewise. - * libgnat/i-cobol.ads: Likewise. - * libgnat/i-cpoint.adb: Likewise. - * libgnat/i-cpoint.ads: Likewise. - * libgnat/i-cstrea.adb: Likewise. - * libgnat/i-cstrea.ads: Likewise. - * libgnat/i-cstrin.adb: Likewise. - * libgnat/i-cstrin.ads: Likewise. - * libgnat/i-fortra.adb: Likewise. - * libgnat/i-pacdec.adb: Likewise. - * libgnat/i-pacdec.ads: Likewise. - * libgnat/i-vxwoio.adb: Likewise. - * libgnat/i-vxwoio.ads: Likewise. - * libgnat/i-vxwork.ads: Likewise. - * libgnat/i-vxwork__x86.ads: Likewise. - * libgnat/interfac.ads: Likewise. - * libgnat/interfac__2020.ads: Likewise. - * libgnat/memtrack.adb: Likewise. - * libgnat/s-addima.adb: Likewise. - * libgnat/s-addima.ads: Likewise. - * libgnat/s-addope.adb: Likewise. - * libgnat/s-addope.ads: Likewise. - * libgnat/s-aoinar.adb: Likewise. - * libgnat/s-aoinar.ads: Likewise. - * libgnat/s-aomoar.adb: Likewise. - * libgnat/s-aomoar.ads: Likewise. - * libgnat/s-aotase.adb: Likewise. - * libgnat/s-aotase.ads: Likewise. - * libgnat/s-aridou.adb: Likewise. - * libgnat/s-aridou.ads: Likewise. - * libgnat/s-arit128.adb: Likewise. - * libgnat/s-arit128.ads: Likewise. - * libgnat/s-arit32.adb: Likewise. - * libgnat/s-arit32.ads: Likewise. - * libgnat/s-arit64.adb: Likewise. - * libgnat/s-arit64.ads: Likewise. - * libgnat/s-assert.adb: Likewise. - * libgnat/s-assert.ads: Likewise. - * libgnat/s-atacco.adb: Likewise. - * libgnat/s-atacco.ads: Likewise. - * libgnat/s-atocou.adb: Likewise. - * libgnat/s-atocou.ads: Likewise. - * libgnat/s-atocou__builtin.adb: Likewise. - * libgnat/s-atoope.ads: Likewise. - * libgnat/s-atopex.adb: Likewise. - * libgnat/s-atopex.ads: Likewise. - * libgnat/s-atopri.adb: Likewise. - * libgnat/s-atopri.ads: Likewise. - * libgnat/s-auxdec.adb: Likewise. - * libgnat/s-auxdec.ads: Likewise. - * libgnat/s-bignum.adb: Likewise. - * libgnat/s-bignum.ads: Likewise. - * libgnat/s-bitfie.ads: Likewise. - * libgnat/s-bitops.adb: Likewise. - * libgnat/s-bitops.ads: Likewise. - * libgnat/s-bituti.adb: Likewise. - * libgnat/s-bituti.ads: Likewise. - * libgnat/s-boarop.ads: Likewise. - * libgnat/s-boustr.adb: Likewise. - * libgnat/s-boustr.ads: Likewise. - * libgnat/s-bytswa.ads: Likewise. - * libgnat/s-carsi8.adb: Likewise. - * libgnat/s-carsi8.ads: Likewise. - * libgnat/s-carun8.adb: Likewise. - * libgnat/s-carun8.ads: Likewise. - * libgnat/s-casi128.adb: Likewise. - * libgnat/s-casi128.ads: Likewise. - * libgnat/s-casi16.adb: Likewise. - * libgnat/s-casi16.ads: Likewise. - * libgnat/s-casi32.adb: Likewise. - * libgnat/s-casi32.ads: Likewise. - * libgnat/s-casi64.adb: Likewise. - * libgnat/s-casi64.ads: Likewise. - * libgnat/s-casuti.adb: Likewise. - * libgnat/s-casuti.ads: Likewise. - * libgnat/s-caun128.adb: Likewise. - * libgnat/s-caun128.ads: Likewise. - * libgnat/s-caun16.adb: Likewise. - * libgnat/s-caun16.ads: Likewise. - * libgnat/s-caun32.adb: Likewise. - * libgnat/s-caun32.ads: Likewise. - * libgnat/s-caun64.adb: Likewise. - * libgnat/s-caun64.ads: Likewise. - * libgnat/s-chepoo.ads: Likewise. - * libgnat/s-commun.adb: Likewise. - * libgnat/s-commun.ads: Likewise. - * libgnat/s-conca2.adb: Likewise. - * libgnat/s-conca2.ads: Likewise. - * libgnat/s-conca3.adb: Likewise. - * libgnat/s-conca3.ads: Likewise. - * libgnat/s-conca4.adb: Likewise. - * libgnat/s-conca4.ads: Likewise. - * libgnat/s-conca5.adb: Likewise. - * libgnat/s-conca5.ads: Likewise. - * libgnat/s-conca6.adb: Likewise. - * libgnat/s-conca6.ads: Likewise. - * libgnat/s-conca7.adb: Likewise. - * libgnat/s-conca7.ads: Likewise. - * libgnat/s-conca8.adb: Likewise. - * libgnat/s-conca8.ads: Likewise. - * libgnat/s-conca9.adb: Likewise. - * libgnat/s-conca9.ads: Likewise. - * libgnat/s-crc32.adb: Likewise. - * libgnat/s-crc32.ads: Likewise. - * libgnat/s-crtl.ads: Likewise. - * libgnat/s-dfmkio.ads: Likewise. - * libgnat/s-dfmopr.ads: Likewise. - * libgnat/s-dgmgop.ads: Likewise. - * libgnat/s-diflio.adb: Likewise. - * libgnat/s-diflio.ads: Likewise. - * libgnat/s-diflmk.ads: Likewise. - * libgnat/s-digemk.ads: Likewise. - * libgnat/s-diinio.adb: Likewise. - * libgnat/s-diinio.ads: Likewise. - * libgnat/s-dilomk.ads: Likewise. - * libgnat/s-dim.ads: Likewise. - * libgnat/s-dimkio.ads: Likewise. - * libgnat/s-dimmks.ads: Likewise. - * libgnat/s-direio.adb: Likewise. - * libgnat/s-direio.ads: Likewise. - * libgnat/s-dlmkio.ads: Likewise. - * libgnat/s-dlmopr.ads: Likewise. - * libgnat/s-dmotpr.ads: Likewise. - * libgnat/s-dorepr.adb: Likewise. - * libgnat/s-dorepr__fma.adb: Likewise. - * libgnat/s-dourea.adb: Likewise. - * libgnat/s-dourea.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-exnflt.ads: Likewise. - * libgnat/s-exnint.adb: Likewise. - * libgnat/s-exnint.ads: Likewise. - * libgnat/s-exnlfl.ads: Likewise. - * libgnat/s-exnllf.adb: Likewise. - * libgnat/s-exnllf.ads: Likewise. - * libgnat/s-exnlli.adb: Likewise. - * libgnat/s-exnlli.ads: Likewise. - * libgnat/s-exnllli.ads: Likewise. - * libgnat/s-expint.adb: Likewise. - * libgnat/s-expint.ads: Likewise. - * libgnat/s-explli.adb: Likewise. - * libgnat/s-explli.ads: Likewise. - * libgnat/s-expllli.ads: Likewise. - * libgnat/s-explllu.ads: Likewise. - * libgnat/s-expllu.adb: Likewise. - * libgnat/s-expllu.ads: Likewise. - * libgnat/s-expmod.adb: Likewise. - * libgnat/s-expmod.ads: Likewise. - * libgnat/s-exponn.adb: Likewise. - * libgnat/s-exponn.ads: Likewise. - * libgnat/s-exponr.adb: Likewise. - * libgnat/s-exponr.ads: Likewise. - * libgnat/s-expont.adb: Likewise. - * libgnat/s-expont.ads: Likewise. - * libgnat/s-exponu.adb: Likewise. - * libgnat/s-exponu.ads: Likewise. - * libgnat/s-expuns.adb: Likewise. - * libgnat/s-expuns.ads: Likewise. - * libgnat/s-fatflt.ads: Likewise. - * libgnat/s-fatgen.adb: Likewise. - * libgnat/s-fatgen.ads: Likewise. - * libgnat/s-fatlfl.ads: Likewise. - * libgnat/s-fatllf.ads: Likewise. - * libgnat/s-ficobl.ads: Likewise. - * libgnat/s-filatt.ads: Likewise. - * libgnat/s-fileio.adb: Likewise. - * libgnat/s-fileio.ads: Likewise. - * libgnat/s-finmas.adb: Likewise. - * libgnat/s-finmas.ads: Likewise. - * libgnat/s-finroo.adb: Likewise. - * libgnat/s-finroo.ads: Likewise. - * libgnat/s-flocon.adb: Likewise. - * libgnat/s-flocon.ads: Likewise. - * libgnat/s-flocon__none.adb: Likewise. - * libgnat/s-fode128.ads: Likewise. - * libgnat/s-fode32.ads: Likewise. - * libgnat/s-fode64.ads: Likewise. - * libgnat/s-fofi128.ads: Likewise. - * libgnat/s-fofi32.ads: Likewise. - * libgnat/s-fofi64.ads: Likewise. - * libgnat/s-fore_d.adb: Likewise. - * libgnat/s-fore_d.ads: Likewise. - * libgnat/s-fore_f.adb: Likewise. - * libgnat/s-fore_f.ads: Likewise. - * libgnat/s-forrea.adb: Likewise. - * libgnat/s-forrea.ads: Likewise. - * libgnat/s-gearop.adb: Likewise. - * libgnat/s-gearop.ads: Likewise. - * libgnat/s-genbig.adb: Likewise. - * libgnat/s-genbig.ads: Likewise. - * libgnat/s-geveop.adb: Likewise. - * libgnat/s-geveop.ads: Likewise. - * libgnat/s-gloloc.adb: Likewise. - * libgnat/s-gloloc.ads: Likewise. - * libgnat/s-gloloc__mingw.adb: Likewise. - * libgnat/s-htable.adb: Likewise. - * libgnat/s-htable.ads: Likewise. - * libgnat/s-imageb.adb: Likewise. - * libgnat/s-imageb.ads: Likewise. - * libgnat/s-imaged.adb: Likewise. - * libgnat/s-imaged.ads: Likewise. - * libgnat/s-imagef.adb: Likewise. - * libgnat/s-imagef.ads: Likewise. - * libgnat/s-imagei.adb: Likewise. - * libgnat/s-imagei.ads: Likewise. - * libgnat/s-imagen.adb: Likewise. - * libgnat/s-imagen.ads: Likewise. - * libgnat/s-imager.adb: Likewise. - * libgnat/s-imager.ads: Likewise. - * libgnat/s-imageu.adb: Likewise. - * libgnat/s-imageu.ads: Likewise. - * libgnat/s-imagew.adb: Likewise. - * libgnat/s-imagew.ads: Likewise. - * libgnat/s-imde128.ads: Likewise. - * libgnat/s-imde32.ads: Likewise. - * libgnat/s-imde64.ads: Likewise. - * libgnat/s-imen16.ads: Likewise. - * libgnat/s-imen32.ads: Likewise. - * libgnat/s-imenu8.ads: Likewise. - * libgnat/s-imfi128.ads: Likewise. - * libgnat/s-imfi32.ads: Likewise. - * libgnat/s-imfi64.ads: Likewise. - * libgnat/s-imgbiu.adb: Likewise. - * libgnat/s-imgbiu.ads: Likewise. - * libgnat/s-imgboo.adb: Likewise. - * libgnat/s-imgboo.ads: Likewise. - * libgnat/s-imgcha.adb: Likewise. - * libgnat/s-imgcha.ads: Likewise. - * libgnat/s-imgflt.ads: Likewise. - * libgnat/s-imgint.adb: Likewise. - * libgnat/s-imgint.ads: Likewise. - * libgnat/s-imglfl.ads: Likewise. - * libgnat/s-imgllb.adb: Likewise. - * libgnat/s-imgllb.ads: Likewise. - * libgnat/s-imgllf.ads: Likewise. - * libgnat/s-imglli.adb: Likewise. - * libgnat/s-imglli.ads: Likewise. - * libgnat/s-imglllb.ads: Likewise. - * libgnat/s-imgllli.ads: Likewise. - * libgnat/s-imglllu.ads: Likewise. - * libgnat/s-imglllw.ads: Likewise. - * libgnat/s-imgllu.adb: Likewise. - * libgnat/s-imgllu.ads: Likewise. - * libgnat/s-imgllw.adb: Likewise. - * libgnat/s-imgllw.ads: Likewise. - * libgnat/s-imgrea.adb: Likewise. - * libgnat/s-imgrea.ads: Likewise. - * libgnat/s-imguns.adb: Likewise. - * libgnat/s-imguns.ads: Likewise. - * libgnat/s-imguti.adb: Likewise. - * libgnat/s-imguti.ads: Likewise. - * libgnat/s-imgwch.adb: Likewise. - * libgnat/s-imgwch.ads: Likewise. - * libgnat/s-imgwiu.adb: Likewise. - * libgnat/s-imgwiu.ads: Likewise. - * libgnat/s-io.adb: Likewise. - * libgnat/s-io.ads: Likewise. - * libgnat/s-llflex.ads: Likewise. - * libgnat/s-maccod.ads: Likewise. - * libgnat/s-mantis.adb: Likewise. - * libgnat/s-mantis.ads: Likewise. - * libgnat/s-mastop.adb: Likewise. - * libgnat/s-mastop.ads: Likewise. - * libgnat/s-memcop.ads: Likewise. - * libgnat/s-memory.adb: Likewise. - * libgnat/s-memory.ads: Likewise. - * libgnat/s-mmap.adb: Likewise. - * libgnat/s-mmap.ads: Likewise. - * libgnat/s-mmauni__long.ads: Likewise. - * libgnat/s-mmosin__mingw.adb: Likewise. - * libgnat/s-mmosin__mingw.ads: Likewise. - * libgnat/s-mmosin__unix.adb: Likewise. - * libgnat/s-mmosin__unix.ads: Likewise. - * libgnat/s-multip.adb: Likewise. - * libgnat/s-objrea.adb: Likewise. - * libgnat/s-objrea.ads: Likewise. - * libgnat/s-optide.adb: Likewise. - * libgnat/s-os_lib.adb: Likewise. - * libgnat/s-os_lib.ads: Likewise. - * libgnat/s-osprim.ads: Likewise. - * libgnat/s-osprim__darwin.adb: Likewise. - * libgnat/s-osprim__lynxos.ads: Likewise. - * libgnat/s-osprim__mingw.adb: Likewise. - * libgnat/s-osprim__posix.adb: Likewise. - * libgnat/s-osprim__posix2008.adb: Likewise. - * libgnat/s-osprim__rtems.adb: Likewise. - * libgnat/s-osprim__solaris.adb: Likewise. - * libgnat/s-osprim__unix.adb: Likewise. - * libgnat/s-osprim__x32.adb: Likewise. - * libgnat/s-pack03.adb: Likewise. - * libgnat/s-pack03.ads: Likewise. - * libgnat/s-pack05.adb: Likewise. - * libgnat/s-pack05.ads: Likewise. - * libgnat/s-pack06.adb: Likewise. - * libgnat/s-pack06.ads: Likewise. - * libgnat/s-pack07.adb: Likewise. - * libgnat/s-pack07.ads: Likewise. - * libgnat/s-pack09.adb: Likewise. - * libgnat/s-pack09.ads: Likewise. - * libgnat/s-pack10.adb: Likewise. - * libgnat/s-pack10.ads: Likewise. - * libgnat/s-pack100.adb: Likewise. - * libgnat/s-pack100.ads: Likewise. - * libgnat/s-pack101.adb: Likewise. - * libgnat/s-pack101.ads: Likewise. - * libgnat/s-pack102.adb: Likewise. - * libgnat/s-pack102.ads: Likewise. - * libgnat/s-pack103.adb: Likewise. - * libgnat/s-pack103.ads: Likewise. - * libgnat/s-pack104.adb: Likewise. - * libgnat/s-pack104.ads: Likewise. - * libgnat/s-pack105.adb: Likewise. - * libgnat/s-pack105.ads: Likewise. - * libgnat/s-pack106.adb: Likewise. - * libgnat/s-pack106.ads: Likewise. - * libgnat/s-pack107.adb: Likewise. - * libgnat/s-pack107.ads: Likewise. - * libgnat/s-pack108.adb: Likewise. - * libgnat/s-pack108.ads: Likewise. - * libgnat/s-pack109.adb: Likewise. - * libgnat/s-pack109.ads: Likewise. - * libgnat/s-pack11.adb: Likewise. - * libgnat/s-pack11.ads: Likewise. - * libgnat/s-pack110.adb: Likewise. - * libgnat/s-pack110.ads: Likewise. - * libgnat/s-pack111.adb: Likewise. - * libgnat/s-pack111.ads: Likewise. - * libgnat/s-pack112.adb: Likewise. - * libgnat/s-pack112.ads: Likewise. - * libgnat/s-pack113.adb: Likewise. - * libgnat/s-pack113.ads: Likewise. - * libgnat/s-pack114.adb: Likewise. - * libgnat/s-pack114.ads: Likewise. - * libgnat/s-pack115.adb: Likewise. - * libgnat/s-pack115.ads: Likewise. - * libgnat/s-pack116.adb: Likewise. - * libgnat/s-pack116.ads: Likewise. - * libgnat/s-pack117.adb: Likewise. - * libgnat/s-pack117.ads: Likewise. - * libgnat/s-pack118.adb: Likewise. - * libgnat/s-pack118.ads: Likewise. - * libgnat/s-pack119.adb: Likewise. - * libgnat/s-pack119.ads: Likewise. - * libgnat/s-pack12.adb: Likewise. - * libgnat/s-pack12.ads: Likewise. - * libgnat/s-pack120.adb: Likewise. - * libgnat/s-pack120.ads: Likewise. - * libgnat/s-pack121.adb: Likewise. - * libgnat/s-pack121.ads: Likewise. - * libgnat/s-pack122.adb: Likewise. - * libgnat/s-pack122.ads: Likewise. - * libgnat/s-pack123.adb: Likewise. - * libgnat/s-pack123.ads: Likewise. - * libgnat/s-pack124.adb: Likewise. - * libgnat/s-pack124.ads: Likewise. - * libgnat/s-pack125.adb: Likewise. - * libgnat/s-pack125.ads: Likewise. - * libgnat/s-pack126.adb: Likewise. - * libgnat/s-pack126.ads: Likewise. - * libgnat/s-pack127.adb: Likewise. - * libgnat/s-pack127.ads: Likewise. - * libgnat/s-pack13.adb: Likewise. - * libgnat/s-pack13.ads: Likewise. - * libgnat/s-pack14.adb: Likewise. - * libgnat/s-pack14.ads: Likewise. - * libgnat/s-pack15.adb: Likewise. - * libgnat/s-pack15.ads: Likewise. - * libgnat/s-pack17.adb: Likewise. - * libgnat/s-pack17.ads: Likewise. - * libgnat/s-pack18.adb: Likewise. - * libgnat/s-pack18.ads: Likewise. - * libgnat/s-pack19.adb: Likewise. - * libgnat/s-pack19.ads: Likewise. - * libgnat/s-pack20.adb: Likewise. - * libgnat/s-pack20.ads: Likewise. - * libgnat/s-pack21.adb: Likewise. - * libgnat/s-pack21.ads: Likewise. - * libgnat/s-pack22.adb: Likewise. - * libgnat/s-pack22.ads: Likewise. - * libgnat/s-pack23.adb: Likewise. - * libgnat/s-pack23.ads: Likewise. - * libgnat/s-pack24.adb: Likewise. - * libgnat/s-pack24.ads: Likewise. - * libgnat/s-pack25.adb: Likewise. - * libgnat/s-pack25.ads: Likewise. - * libgnat/s-pack26.adb: Likewise. - * libgnat/s-pack26.ads: Likewise. - * libgnat/s-pack27.adb: Likewise. - * libgnat/s-pack27.ads: Likewise. - * libgnat/s-pack28.adb: Likewise. - * libgnat/s-pack28.ads: Likewise. - * libgnat/s-pack29.adb: Likewise. - * libgnat/s-pack29.ads: Likewise. - * libgnat/s-pack30.adb: Likewise. - * libgnat/s-pack30.ads: Likewise. - * libgnat/s-pack31.adb: Likewise. - * libgnat/s-pack31.ads: Likewise. - * libgnat/s-pack33.adb: Likewise. - * libgnat/s-pack33.ads: Likewise. - * libgnat/s-pack34.adb: Likewise. - * libgnat/s-pack34.ads: Likewise. - * libgnat/s-pack35.adb: Likewise. - * libgnat/s-pack35.ads: Likewise. - * libgnat/s-pack36.adb: Likewise. - * libgnat/s-pack36.ads: Likewise. - * libgnat/s-pack37.adb: Likewise. - * libgnat/s-pack37.ads: Likewise. - * libgnat/s-pack38.adb: Likewise. - * libgnat/s-pack38.ads: Likewise. - * libgnat/s-pack39.adb: Likewise. - * libgnat/s-pack39.ads: Likewise. - * libgnat/s-pack40.adb: Likewise. - * libgnat/s-pack40.ads: Likewise. - * libgnat/s-pack41.adb: Likewise. - * libgnat/s-pack41.ads: Likewise. - * libgnat/s-pack42.adb: Likewise. - * libgnat/s-pack42.ads: Likewise. - * libgnat/s-pack43.adb: Likewise. - * libgnat/s-pack43.ads: Likewise. - * libgnat/s-pack44.adb: Likewise. - * libgnat/s-pack44.ads: Likewise. - * libgnat/s-pack45.adb: Likewise. - * libgnat/s-pack45.ads: Likewise. - * libgnat/s-pack46.adb: Likewise. - * libgnat/s-pack46.ads: Likewise. - * libgnat/s-pack47.adb: Likewise. - * libgnat/s-pack47.ads: Likewise. - * libgnat/s-pack48.adb: Likewise. - * libgnat/s-pack48.ads: Likewise. - * libgnat/s-pack49.adb: Likewise. - * libgnat/s-pack49.ads: Likewise. - * libgnat/s-pack50.adb: Likewise. - * libgnat/s-pack50.ads: Likewise. - * libgnat/s-pack51.adb: Likewise. - * libgnat/s-pack51.ads: Likewise. - * libgnat/s-pack52.adb: Likewise. - * libgnat/s-pack52.ads: Likewise. - * libgnat/s-pack53.adb: Likewise. - * libgnat/s-pack53.ads: Likewise. - * libgnat/s-pack54.adb: Likewise. - * libgnat/s-pack54.ads: Likewise. - * libgnat/s-pack55.adb: Likewise. - * libgnat/s-pack55.ads: Likewise. - * libgnat/s-pack56.adb: Likewise. - * libgnat/s-pack56.ads: Likewise. - * libgnat/s-pack57.adb: Likewise. - * libgnat/s-pack57.ads: Likewise. - * libgnat/s-pack58.adb: Likewise. - * libgnat/s-pack58.ads: Likewise. - * libgnat/s-pack59.adb: Likewise. - * libgnat/s-pack59.ads: Likewise. - * libgnat/s-pack60.adb: Likewise. - * libgnat/s-pack60.ads: Likewise. - * libgnat/s-pack61.adb: Likewise. - * libgnat/s-pack61.ads: Likewise. - * libgnat/s-pack62.adb: Likewise. - * libgnat/s-pack62.ads: Likewise. - * libgnat/s-pack63.adb: Likewise. - * libgnat/s-pack63.ads: Likewise. - * libgnat/s-pack65.adb: Likewise. - * libgnat/s-pack65.ads: Likewise. - * libgnat/s-pack66.adb: Likewise. - * libgnat/s-pack66.ads: Likewise. - * libgnat/s-pack67.adb: Likewise. - * libgnat/s-pack67.ads: Likewise. - * libgnat/s-pack68.adb: Likewise. - * libgnat/s-pack68.ads: Likewise. - * libgnat/s-pack69.adb: Likewise. - * libgnat/s-pack69.ads: Likewise. - * libgnat/s-pack70.adb: Likewise. - * libgnat/s-pack70.ads: Likewise. - * libgnat/s-pack71.adb: Likewise. - * libgnat/s-pack71.ads: Likewise. - * libgnat/s-pack72.adb: Likewise. - * libgnat/s-pack72.ads: Likewise. - * libgnat/s-pack73.adb: Likewise. - * libgnat/s-pack73.ads: Likewise. - * libgnat/s-pack74.adb: Likewise. - * libgnat/s-pack74.ads: Likewise. - * libgnat/s-pack75.adb: Likewise. - * libgnat/s-pack75.ads: Likewise. - * libgnat/s-pack76.adb: Likewise. - * libgnat/s-pack76.ads: Likewise. - * libgnat/s-pack77.adb: Likewise. - * libgnat/s-pack77.ads: Likewise. - * libgnat/s-pack78.adb: Likewise. - * libgnat/s-pack78.ads: Likewise. - * libgnat/s-pack79.adb: Likewise. - * libgnat/s-pack79.ads: Likewise. - * libgnat/s-pack80.adb: Likewise. - * libgnat/s-pack80.ads: Likewise. - * libgnat/s-pack81.adb: Likewise. - * libgnat/s-pack81.ads: Likewise. - * libgnat/s-pack82.adb: Likewise. - * libgnat/s-pack82.ads: Likewise. - * libgnat/s-pack83.adb: Likewise. - * libgnat/s-pack83.ads: Likewise. - * libgnat/s-pack84.adb: Likewise. - * libgnat/s-pack84.ads: Likewise. - * libgnat/s-pack85.adb: Likewise. - * libgnat/s-pack85.ads: Likewise. - * libgnat/s-pack86.adb: Likewise. - * libgnat/s-pack86.ads: Likewise. - * libgnat/s-pack87.adb: Likewise. - * libgnat/s-pack87.ads: Likewise. - * libgnat/s-pack88.adb: Likewise. - * libgnat/s-pack88.ads: Likewise. - * libgnat/s-pack89.adb: Likewise. - * libgnat/s-pack89.ads: Likewise. - * libgnat/s-pack90.adb: Likewise. - * libgnat/s-pack90.ads: Likewise. - * libgnat/s-pack91.adb: Likewise. - * libgnat/s-pack91.ads: Likewise. - * libgnat/s-pack92.adb: Likewise. - * libgnat/s-pack92.ads: Likewise. - * libgnat/s-pack93.adb: Likewise. - * libgnat/s-pack93.ads: Likewise. - * libgnat/s-pack94.adb: Likewise. - * libgnat/s-pack94.ads: Likewise. - * libgnat/s-pack95.adb: Likewise. - * libgnat/s-pack95.ads: Likewise. - * libgnat/s-pack96.adb: Likewise. - * libgnat/s-pack96.ads: Likewise. - * libgnat/s-pack97.adb: Likewise. - * libgnat/s-pack97.ads: Likewise. - * libgnat/s-pack98.adb: Likewise. - * libgnat/s-pack98.ads: Likewise. - * libgnat/s-pack99.adb: Likewise. - * libgnat/s-pack99.ads: Likewise. - * libgnat/s-parame.adb: Likewise. - * libgnat/s-parame.ads: Likewise. - * libgnat/s-parame__hpux.ads: Likewise. - * libgnat/s-parame__posix2008.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-pehage.adb: Likewise. - * libgnat/s-pehage.ads: Likewise. - * libgnat/s-pooglo.adb: Likewise. - * libgnat/s-pooglo.ads: Likewise. - * libgnat/s-pooloc.adb: Likewise. - * libgnat/s-pooloc.ads: Likewise. - * libgnat/s-poosiz.adb: Likewise. - * libgnat/s-poosiz.ads: Likewise. - * libgnat/s-powflt.ads: Likewise. - * libgnat/s-powlfl.ads: Likewise. - * libgnat/s-powllf.ads: Likewise. - * libgnat/s-purexc.ads: Likewise. - * libgnat/s-putima.adb: Likewise. - * libgnat/s-putima.ads: Likewise. - * libgnat/s-rannum.adb: Likewise. - * libgnat/s-rannum.ads: Likewise. - * libgnat/s-ransee.adb: Likewise. - * libgnat/s-ransee.ads: Likewise. - * libgnat/s-regexp.adb: Likewise. - * libgnat/s-regexp.ads: Likewise. - * libgnat/s-regpat.adb: Likewise. - * libgnat/s-regpat.ads: Likewise. - * libgnat/s-resfil.adb: Likewise. - * libgnat/s-resfil.ads: Likewise. - * libgnat/s-restri.adb: Likewise. - * libgnat/s-restri.ads: Likewise. - * libgnat/s-rident.ads: Likewise. - * libgnat/s-rpc.adb: Likewise. - * libgnat/s-rpc.ads: Likewise. - * libgnat/s-scaval.adb: Likewise. - * libgnat/s-scaval.ads: Likewise. - * libgnat/s-scaval__128.adb: Likewise. - * libgnat/s-scaval__128.ads: Likewise. - * libgnat/s-secsta.adb: Likewise. - * libgnat/s-secsta.ads: Likewise. - * libgnat/s-sequio.adb: Likewise. - * libgnat/s-sequio.ads: Likewise. - * libgnat/s-shabig.ads: Likewise. - * libgnat/s-shasto.adb: Likewise. - * libgnat/s-shasto.ads: Likewise. - * libgnat/s-soflin.adb: Likewise. - * libgnat/s-soflin.ads: Likewise. - * libgnat/s-soliin.adb: Likewise. - * libgnat/s-soliin.ads: Likewise. - * libgnat/s-spsufi.adb: Likewise. - * libgnat/s-spsufi.ads: Likewise. - * libgnat/s-stache.adb: Likewise. - * libgnat/s-stache.ads: Likewise. - * libgnat/s-stalib.adb: Likewise. - * libgnat/s-stalib.ads: Likewise. - * libgnat/s-statxd.adb: Likewise. - * libgnat/s-statxd.ads: Likewise. - * libgnat/s-stausa.adb: Likewise. - * libgnat/s-stausa.ads: Likewise. - * libgnat/s-stchop.adb: Likewise. - * libgnat/s-stchop.ads: Likewise. - * libgnat/s-stchop__limit.ads: Likewise. - * libgnat/s-stchop__vxworks.adb: Likewise. - * libgnat/s-stoele.adb: Likewise. - * libgnat/s-stoele.ads: Likewise. - * libgnat/s-stopoo.adb: Likewise. - * libgnat/s-stopoo.ads: Likewise. - * libgnat/s-stposu.adb: Likewise. - * libgnat/s-stposu.ads: Likewise. - * libgnat/s-stratt.adb: Likewise. - * libgnat/s-stratt.ads: Likewise. - * libgnat/s-strcom.adb: Likewise. - * libgnat/s-strcom.ads: Likewise. - * libgnat/s-strhas.adb: Likewise. - * libgnat/s-strhas.ads: Likewise. - * libgnat/s-string.adb: Likewise. - * libgnat/s-string.ads: Likewise. - * libgnat/s-ststop.adb: Likewise. - * libgnat/s-ststop.ads: Likewise. - * libgnat/s-tasloc.adb: Likewise. - * libgnat/s-tasloc.ads: Likewise. - * libgnat/s-traceb.adb: Likewise. - * libgnat/s-traceb.ads: Likewise. - * libgnat/s-traceb__hpux.adb: Likewise. - * libgnat/s-traceb__mastop.adb: Likewise. - * libgnat/s-traent.adb: Likewise. - * libgnat/s-traent.ads: Likewise. - * libgnat/s-trasym.adb: Likewise. - * libgnat/s-trasym.ads: Likewise. - * libgnat/s-trasym__dwarf.adb: Likewise. - * libgnat/s-tsmona.adb: Likewise. - * libgnat/s-tsmona__linux.adb: Likewise. - * libgnat/s-tsmona__mingw.adb: Likewise. - * libgnat/s-unstyp.ads: Likewise. - * libgnat/s-utf_32.adb: Likewise. - * libgnat/s-utf_32.ads: Likewise. - * libgnat/s-vade128.ads: Likewise. - * libgnat/s-vade32.ads: Likewise. - * libgnat/s-vade64.ads: Likewise. - * libgnat/s-vaen16.ads: Likewise. - * libgnat/s-vaen32.ads: Likewise. - * libgnat/s-vaenu8.ads: Likewise. - * libgnat/s-vafi128.ads: Likewise. - * libgnat/s-vafi32.ads: Likewise. - * libgnat/s-vafi64.ads: Likewise. - * libgnat/s-valboo.adb: Likewise. - * libgnat/s-valboo.ads: Likewise. - * libgnat/s-valcha.adb: Likewise. - * libgnat/s-valcha.ads: Likewise. - * libgnat/s-valflt.ads: Likewise. - * libgnat/s-valint.adb: Likewise. - * libgnat/s-valint.ads: Likewise. - * libgnat/s-vallfl.ads: Likewise. - * libgnat/s-valllf.ads: Likewise. - * libgnat/s-vallli.adb: Likewise. - * libgnat/s-vallli.ads: Likewise. - * libgnat/s-valllli.ads: Likewise. - * libgnat/s-vallllu.ads: Likewise. - * libgnat/s-valllu.adb: Likewise. - * libgnat/s-valllu.ads: Likewise. - * libgnat/s-valrea.adb: Likewise. - * libgnat/s-valrea.ads: Likewise. - * libgnat/s-valued.adb: Likewise. - * libgnat/s-valued.ads: Likewise. - * libgnat/s-valuef.adb: Likewise. - * libgnat/s-valuef.ads: Likewise. - * libgnat/s-valuei.adb: Likewise. - * libgnat/s-valuei.ads: Likewise. - * libgnat/s-valuen.adb: Likewise. - * libgnat/s-valuen.ads: Likewise. - * libgnat/s-valuer.adb: Likewise. - * libgnat/s-valuer.ads: Likewise. - * libgnat/s-valueu.adb: Likewise. - * libgnat/s-valueu.ads: Likewise. - * libgnat/s-valuns.adb: Likewise. - * libgnat/s-valuns.ads: Likewise. - * libgnat/s-valuti.adb: Likewise. - * libgnat/s-valuti.ads: Likewise. - * libgnat/s-valwch.adb: Likewise. - * libgnat/s-valwch.ads: Likewise. - * libgnat/s-veboop.adb: Likewise. - * libgnat/s-veboop.ads: Likewise. - * libgnat/s-vector.ads: Likewise. - * libgnat/s-vercon.adb: Likewise. - * libgnat/s-vercon.ads: Likewise. - * libgnat/s-wchcnv.adb: Likewise. - * libgnat/s-wchcnv.ads: Likewise. - * libgnat/s-wchcon.adb: Likewise. - * libgnat/s-wchcon.ads: Likewise. - * libgnat/s-wchjis.adb: Likewise. - * libgnat/s-wchjis.ads: Likewise. - * libgnat/s-wchstw.adb: Likewise. - * libgnat/s-wchstw.ads: Likewise. - * libgnat/s-wchwts.adb: Likewise. - * libgnat/s-wchwts.ads: Likewise. - * libgnat/s-widboo.adb: Likewise. - * libgnat/s-widboo.ads: Likewise. - * libgnat/s-widcha.adb: Likewise. - * libgnat/s-widcha.ads: Likewise. - * libgnat/s-widenu.adb: Likewise. - * libgnat/s-widenu.ads: Likewise. - * libgnat/s-widint.ads: Likewise. - * libgnat/s-widlli.adb: Likewise. - * libgnat/s-widlli.ads: Likewise. - * libgnat/s-widllli.ads: Likewise. - * libgnat/s-widlllu.ads: Likewise. - * libgnat/s-widllu.adb: Likewise. - * libgnat/s-widllu.ads: Likewise. - * libgnat/s-widthi.adb: Likewise. - * libgnat/s-widthi.ads: Likewise. - * libgnat/s-widthu.adb: Likewise. - * libgnat/s-widthu.ads: Likewise. - * libgnat/s-widuns.ads: Likewise. - * libgnat/s-widwch.adb: Likewise. - * libgnat/s-widwch.ads: Likewise. - * libgnat/s-win32.ads: Likewise. - * libgnat/s-winext.ads: Likewise. - * libgnat/s-wwdcha.adb: Likewise. - * libgnat/s-wwdcha.ads: Likewise. - * libgnat/s-wwdenu.adb: Likewise. - * libgnat/s-wwdenu.ads: Likewise. - * libgnat/s-wwdwch.adb: Likewise. - * libgnat/s-wwdwch.ads: Likewise. - * libgnat/system-aix.ads: Likewise. - * libgnat/system-darwin-arm.ads: Likewise. - * libgnat/system-darwin-ppc.ads: Likewise. - * libgnat/system-darwin-x86.ads: Likewise. - * libgnat/system-djgpp.ads: Likewise. - * libgnat/system-dragonfly-x86_64.ads: Likewise. - * libgnat/system-freebsd.ads: Likewise. - * libgnat/system-hpux-ia64.ads: Likewise. - * libgnat/system-hpux.ads: Likewise. - * libgnat/system-linux-alpha.ads: Likewise. - * libgnat/system-linux-arm.ads: Likewise. - * libgnat/system-linux-hppa.ads: Likewise. - * libgnat/system-linux-ia64.ads: Likewise. - * libgnat/system-linux-m68k.ads: Likewise. - * libgnat/system-linux-mips.ads: Likewise. - * libgnat/system-linux-ppc.ads: Likewise. - * libgnat/system-linux-riscv.ads: Likewise. - * libgnat/system-linux-s390.ads: Likewise. - * libgnat/system-linux-sh4.ads: Likewise. - * libgnat/system-linux-sparc.ads: Likewise. - * libgnat/system-linux-x86.ads: Likewise. - * libgnat/system-lynxos178-ppc.ads: Likewise. - * libgnat/system-lynxos178-x86.ads: Likewise. - * libgnat/system-mingw.ads: Likewise. - * libgnat/system-qnx-aarch64.ads: Likewise. - * libgnat/system-rtems.ads: Likewise. - * libgnat/system-solaris-sparc.ads: Likewise. - * libgnat/system-solaris-x86.ads: Likewise. - * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise. - * libgnat/system-vxworks-arm-rtp.ads: Likewise. - * libgnat/system-vxworks-arm.ads: Likewise. - * libgnat/system-vxworks-e500-kernel.ads: Likewise. - * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise. - * libgnat/system-vxworks-e500-rtp.ads: Likewise. - * libgnat/system-vxworks-ppc-kernel.ads: Likewise. - * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise. - * libgnat/system-vxworks-ppc-rtp.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-vxworks7-aarch64-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-aarch64.ads: Likewise. - * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-arm.ads: Likewise. - * libgnat/system-vxworks7-e500-kernel.ads: Likewise. - * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-e500-rtp.ads: Likewise. - * libgnat/system-vxworks7-ppc-kernel.ads: Likewise. - * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-ppc-rtp.ads: Likewise. - * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise. - * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-x86-kernel.ads: Likewise. - * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-x86-rtp.ads: Likewise. - * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise. - * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise. - * link.c: Likewise. - * live.adb: Likewise. - * live.ads: Likewise. - * locales.c: Likewise. - * make.adb: Likewise. - * make.ads: Likewise. - * make_util.adb: Likewise. - * make_util.ads: Likewise. - * makeusg.adb: Likewise. - * makeusg.ads: Likewise. - * mdll-fil.adb: Likewise. - * mdll-fil.ads: Likewise. - * mdll-utl.adb: Likewise. - * mdll-utl.ads: Likewise. - * mdll.adb: Likewise. - * mdll.ads: Likewise. - * mingw32.h: Likewise. - * mkdir.c: Likewise. - * namet-sp.adb: Likewise. - * namet-sp.ads: Likewise. - * namet.adb: Likewise. - * namet.ads: Likewise. - * namet.h: Likewise. - * nlists.adb: Likewise. - * nlists.ads: Likewise. - * nlists.h: Likewise. - * opt.adb: Likewise. - * opt.ads: Likewise. - * osint-b.adb: Likewise. - * osint-b.ads: Likewise. - * osint-c.adb: Likewise. - * osint-c.ads: Likewise. - * osint-l.adb: Likewise. - * osint-l.ads: Likewise. - * osint-m.adb: Likewise. - * osint-m.ads: Likewise. - * osint.adb: Likewise. - * osint.ads: Likewise. - * output.adb: Likewise. - * output.ads: Likewise. - * par-ch10.adb: Likewise. - * par-ch11.adb: Likewise. - * par-ch12.adb: Likewise. - * par-ch13.adb: Likewise. - * par-ch2.adb: Likewise. - * par-ch3.adb: Likewise. - * par-ch4.adb: Likewise. - * par-ch5.adb: Likewise. - * par-ch6.adb: Likewise. - * par-ch7.adb: Likewise. - * par-ch8.adb: Likewise. - * par-ch9.adb: Likewise. - * par-endh.adb: Likewise. - * par-labl.adb: Likewise. - * par-load.adb: Likewise. - * par-prag.adb: Likewise. - * par-sync.adb: Likewise. - * par-tchk.adb: Likewise. - * par-util.adb: Likewise. - * par.adb: Likewise. - * par.ads: Likewise. - * par_sco.adb: Likewise. - * par_sco.ads: Likewise. - * pprint.adb: Likewise. - * pprint.ads: Likewise. - * prep.adb: Likewise. - * prep.ads: Likewise. - * prepcomp.adb: Likewise. - * prepcomp.ads: Likewise. - * put_scos.adb: Likewise. - * put_scos.ads: Likewise. - * raise-gcc.c: Likewise. - * raise.c: Likewise. - * raise.h: Likewise. - * repinfo-input.adb: Likewise. - * repinfo-input.ads: Likewise. - * repinfo.adb: Likewise. - * repinfo.ads: Likewise. - * repinfo.h: Likewise. - * restrict.adb: Likewise. - * restrict.ads: Likewise. - * rident.ads: Likewise. - * rtfinal.c: Likewise. - * rtinit.c: Likewise. - * rtsfind.adb: Likewise. - * rtsfind.ads: Likewise. - * runtime.h: Likewise. - * s-oscons-tmplt.c: Likewise. - * sa_messages.adb: Likewise. - * sa_messages.ads: Likewise. - * scans.adb: Likewise. - * scans.ads: Likewise. - * scil_ll.adb: Likewise. - * scil_ll.ads: Likewise. - * scn.adb: Likewise. - * scn.ads: Likewise. - * scng.adb: Likewise. - * scng.ads: Likewise. - * scos.adb: Likewise. - * scos.ads: Likewise. - * scos.h: Likewise. - * sdefault.ads: Likewise. - * seh_init.c: Likewise. - * sem.adb: Likewise. - * sem.ads: Likewise. - * sem_aggr.adb: Likewise. - * sem_aggr.ads: Likewise. - * sem_attr.adb: Likewise. - * sem_attr.ads: Likewise. - * sem_aux.adb: Likewise. - * sem_aux.ads: Likewise. - * sem_case.adb: Likewise. - * sem_case.ads: Likewise. - * sem_cat.adb: Likewise. - * sem_cat.ads: Likewise. - * sem_ch10.adb: Likewise. - * sem_ch10.ads: Likewise. - * sem_ch11.adb: Likewise. - * sem_ch11.ads: Likewise. - * sem_ch12.adb: Likewise. - * sem_ch12.ads: Likewise. - * sem_ch13.adb: Likewise. - * sem_ch13.ads: Likewise. - * sem_ch2.adb: Likewise. - * sem_ch2.ads: Likewise. - * sem_ch3.adb: Likewise. - * sem_ch3.ads: Likewise. - * sem_ch4.adb: Likewise. - * sem_ch4.ads: Likewise. - * sem_ch5.adb: Likewise. - * sem_ch5.ads: Likewise. - * sem_ch6.adb: Likewise. - * sem_ch6.ads: Likewise. - * sem_ch7.adb: Likewise. - * sem_ch7.ads: Likewise. - * sem_ch8.adb: Likewise. - * sem_ch8.ads: Likewise. - * sem_ch9.adb: Likewise. - * sem_ch9.ads: Likewise. - * sem_dim.adb: Likewise. - * sem_dim.ads: Likewise. - * sem_disp.adb: Likewise. - * sem_disp.ads: Likewise. - * sem_dist.adb: Likewise. - * sem_dist.ads: Likewise. - * sem_elab.adb: Likewise. - * sem_elab.ads: Likewise. - * sem_elim.adb: Likewise. - * sem_elim.ads: Likewise. - * sem_eval.adb: Likewise. - * sem_eval.ads: Likewise. - * sem_intr.adb: Likewise. - * sem_intr.ads: Likewise. - * sem_mech.adb: Likewise. - * sem_mech.ads: Likewise. - * sem_prag.adb: Likewise. - * sem_prag.ads: Likewise. - * sem_res.adb: Likewise. - * sem_res.ads: Likewise. - * sem_scil.adb: Likewise. - * sem_scil.ads: Likewise. - * sem_smem.adb: Likewise. - * sem_smem.ads: Likewise. - * sem_type.adb: Likewise. - * sem_type.ads: Likewise. - * sem_util.adb: Likewise. - * sem_util.ads: Likewise. - * sem_warn.adb: Likewise. - * sem_warn.ads: Likewise. - * set_targ.adb: Likewise. - * set_targ.ads: Likewise. - * sfn_scan.adb: Likewise. - * sfn_scan.ads: Likewise. - * sigtramp-armdroid.c: Likewise. - * sigtramp-ios.c: Likewise. - * sigtramp-qnx.c: Likewise. - * sigtramp-vxworks-target.h: Likewise. - * sigtramp-vxworks.c: Likewise. - * sigtramp.h: Likewise. - * sinfo-cn.adb: Likewise. - * sinfo-cn.ads: Likewise. - * sinfo-utils.adb: Likewise. - * sinfo-utils.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.ads: Likewise. - * stringt.adb: Likewise. - * stringt.ads: Likewise. - * stringt.h: Likewise. - * strub.adb: Likewise. - * strub.ads: Likewise. - * style.adb: Likewise. - * style.ads: Likewise. - * styleg.adb: Likewise. - * styleg.ads: Likewise. - * stylesw.adb: Likewise. - * stylesw.ads: Likewise. - * switch-b.adb: Likewise. - * switch-b.ads: Likewise. - * switch-c.adb: Likewise. - * switch-c.ads: Likewise. - * switch-m.adb: Likewise. - * switch-m.ads: Likewise. - * switch.adb: Likewise. - * switch.ads: Likewise. - * sysdep.c: Likewise. - * table.adb: Likewise. - * table.ads: Likewise. - * targext.c: Likewise. - * targparm.adb: Likewise. - * targparm.ads: Likewise. - * tbuild.adb: Likewise. - * tbuild.ads: Likewise. - * tempdir.adb: Likewise. - * tempdir.ads: Likewise. - * terminals.c: Likewise. - * tracebak.c: Likewise. - * treepr.adb: Likewise. - * treepr.ads: Likewise. - * ttypes.ads: Likewise. - * types.adb: Likewise. - * types.ads: Likewise. - * types.h: Likewise. - * uintp.adb: Likewise. - * uintp.ads: Likewise. - * uintp.h: Likewise. - * uname.adb: Likewise. - * uname.ads: Likewise. - * urealp.adb: Likewise. - * urealp.ads: Likewise. - * urealp.h: Likewise. - * usage.adb: Likewise. - * usage.ads: Likewise. - * validsw.adb: Likewise. - * validsw.ads: Likewise. - * vast.adb: Likewise. - * vast.ads: Likewise. - * warnsw.adb: Likewise. - * warnsw.ads: Likewise. - * widechar.adb: Likewise. - * widechar.ads: Likewise. - * xoscons.adb: Likewise. - * xr_tabls.adb: Likewise. - * xr_tabls.ads: Likewise. - * xref_lib.adb: Likewise. - * xref_lib.ads: Likewise. - * xsnamest.adb: Likewise. - * xutil.adb: Likewise. - * xutil.ads: Likewise. - -2022-01-11 Richard Kenner <kenner@adacore.com> - - * debug.adb: Add documentation for new -gnatd_u and old -gnatd_R - flags used for GNAT LLVM and its CCG. - -2022-01-11 Piotr Trojanek <trojanek@adacore.com> - - * Makefile.rtl (X86_TARGET_PAIRS): Use __builtin variant of - System.Atomic_Counters. - * libgnat/s-atocou__x86.adb: Remove. - -2022-01-10 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.c (Identifier_to_gnu): Use correct subtype. - (elaborate_profile): New function. - (Call_to_gnu): Call it on the formals and the result type before - retrieving the translated result type from the subprogram type. - -2022-01-10 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Fix - computation of boolean result in the unchecked union case. - (components_to_record): Rename MAYBE_UNUSED parameter to IN_VARIANT - and remove local variable of the same name. Pass NULL recursively - as P_GNU_REP_LIST for nested variants in the unchecked union case. - -2022-01-10 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.c (lvalue_required_p) <N_Pragma>: New case. - <N_Pragma_Argument_Association>: Likewise. - (Pragma_to_gnu) <Pragma_Inspection_Point>: Fetch the corresponding - variable of a constant before marking it as addressable. - -2022-01-10 Arnaud Charlet <charlet@adacore.com> - - * gcc-interface/Make-lang.in (ADA_GENERATED_FILES): Remove - s-casuti.ad?, s-crtl.ad?, s-os_lib.ad?. Update list of object - files accordingly. - -2022-01-10 Piotr Trojanek <trojanek@adacore.com> - - * libgnat/s-atopri.ads (Atomic_Compare_Exchange): Replaces - deprecated Sync_Compare_And_Swap. - * libgnat/s-atopri.adb (Lock_Free_Try_Write): Switch from __sync - to __atomic builtins. - -2022-01-10 Piotr Trojanek <trojanek@adacore.com> - - * libgnat/s-exponn.adb, libgnat/s-expont.adb, - libgnat/s-exponu.adb, libgnat/s-widthi.adb, - libgnat/s-widthu.adb: Remove CodePeer annotations for pragma - Loop_Variant. - -2022-01-10 Piotr Trojanek <trojanek@adacore.com> - - * exp_prag.adb (Expand_Pragma_Loop_Variant): Disable expansion - in CodePeer mode. - -2022-01-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Is_Child_Or_Sibling): Fix typo in comment. - -2022-01-10 Eric Botcazou <ebotcazou@adacore.com> - - * exp_pakd.adb (Install_PAT): If the PAT is a scalar type, apply - the canonical adjustment to its alignment. - -2022-01-10 Piotr Trojanek <trojanek@adacore.com> - - * libgnat/s-atocou__builtin.adb (Decrement, Increment): Switch - from __sync to __atomic builtins; use 'Address to be consistent - with System.Atomic_Primitives. - -2022-01-10 Eric Botcazou <ebotcazou@adacore.com> - - * exp_pakd.adb (Install_PAT): Do not reset the alignment here. - * layout.adb (Layout_Type): Call Adjust_Esize_Alignment after having - copied the RM_Size onto the Esize when the latter is too small. - -2022-01-10 Justin Squirek <squirek@adacore.com> - - * sem_warn.adb (Check_References): Handle arrays of tasks - similar to task objects. - -2022-01-07 Patrick Bernardi <bernardi@adacore.com> - - * libgnat/a-direct.adb (Search_Data): Remove type. - (Directory_Vectors): New package instantiation. - (Search_State): New type. - (Fetch_Next_Entry): Remove. - (Close): Remove. - (Finalize): Rewritten. - (Full_Name): Ditto. - (Get_Next_Entry): Return next entry from Search results vector - rather than querying the directory directly using readdir. - (Kind): Rewritten. - (Modification_Time): Rewritten. - (More_Entries): Use Search state cursor to determine if more - entries are available for users to read. - (Simple_Name): Rewritten. - (Size): Rewritten. - (Start_Search_Internal): Rewritten to load the contents of the - directory that matches the pattern and filter into the search - object. - * libgnat/a-direct.ads (Search_Type): New type. - (Search_Ptr): Ditto. - (Directory_Entry_Type): Rewritten to support new Start_Search - procedure. - * libgnat/s-filatt.ads (File_Length_Attr): New function. - -2022-01-07 Etienne Servais <servais@adacore.com> - - * sem_attr.adb (Check_Reference): Fix condition. - -2022-01-07 Ghjuvan Lacambre <lacambre@adacore.com> - - * libgnarl/s-taprop__mingw.adb (Timed_Sleep): Remove "pragma - Unreferenced" for Result. - (Timed_Delay): Likewise. - -2022-01-07 Piotr Trojanek <trojanek@adacore.com> - - * gen_il-gen.adb (Put_Make_Decls): Put pragma Inline in a - dedicated line, so that the current indentation is taken into - account. - -2022-01-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.adb (Build_Array_Aggr_Code): Fix inconsistent style - in comments and code. - -2022-01-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.adb (Gen_Assign): Remove explicit initialization for - components of access types. - (Get_Assoc_Expr): Enable initialization for components of all - types that require simple initialization. - -2022-01-07 Javier Miranda <miranda@adacore.com> - - * atree.ads (Traverse_Func_With_Parent): New generic subprogram. - (Traverse_Proc_With_Parent): Likewise. - * atree.adb (Parents_Stack): New table used to traverse trees - passing the parent field of each node. - (Internal_Traverse_With_Parent): New generic subprogram. - (Traverse_Func_With_Parent): Likewise. - (Traverse_Proc_With_Parent): Likewise. - * contracts.adb (Fix_Parents): New subprogram. - (Restore_Original_Selected_Component): Enhanced to fix the - parent field of restored nodes. - (Inherit_Condition): Adding assertions to check the parent field - of inherited conditions and to ensure that the built inherited - condition has no reference to the formals of the parent - subprogram. - * sem_util.ads, sem_util.adb (Check_Parents): New subprogram. - -2022-01-07 Etienne Servais <servais@adacore.com> - - * sem_attr.adb (Check_Placement_In_Test_Case): Fix typo. - -2022-01-07 Justin Squirek <squirek@adacore.com> - - * comperr.adb (Delete_SCIL_Files): Replace unnecessary - Unreferenced pragma with specific pragma Warnings. - * doc/gnat_rm/implementation_defined_pragmas.rst (Unreferenced): - Add documentation for new behavior. - * gnat_rm.texi: Regenerate. - * erroutc.adb (Set_At): Remove useless assignment. - * exp_ch2.adb (In_Assignment_Context): Deleted. - (Is_Object_Renaming_Name): Replace calls to Is_LHS with calls to - Known_To_Be_Assigned. - (Expand_Current_Value): Replace calls to May_Be_Lvalue with - calls to Known_To_Be_Assigned. - (Expand_Entry_Paramter): Replace calls to In_Assignment_Context - with calls to Known_To_Be_Assigned. - * exp_ch4.adb (Expand_N_Op_Rem): Remove unnecessary Unreferenced - pragma. - * exp_imgv.adb (Build_Enumeration_Image_Tables): Default - initialize S_N. - * ghost.adb (Check_Ghost_Policy): Replace call to May_Be_Lvalue - with call to Known_To_Be_Assigned. - * lib-xref.adb (Is_On_LHS): Deleted. - (OK_To_Set_Referenced): Rewrite subprogram to encompass the new - pragma Unreferenced behavior. - (Process_Deferred_References): Replace call to Is_LHS with call - to Known_To_Be_Assigned. - * libgnarl/s-taasde.adb, libgnarl/s-tasren.adb, - libgnarl/s-tpobop.adb, libgnat/a-calend.adb, - libgnat/a-calfor.adb, 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-cfhama.adb, libgnat/a-cforse.adb, - libgnat/a-cidlli.adb, libgnat/a-cihama.adb, - libgnat/a-cihase.adb, libgnat/a-cimutr.adb, - libgnat/a-ciorma.adb, libgnat/a-ciormu.adb, - libgnat/a-ciorse.adb, libgnat/a-cohama.adb, - libgnat/a-cohase.adb, libgnat/a-comutr.adb, - libgnat/a-convec.adb, libgnat/a-coorma.adb, - libgnat/a-coormu.adb, libgnat/a-coorse.adb, - libgnat/a-crdlli.adb, libgnat/a-tigeau.adb, - libgnat/a-wtgeau.adb, libgnat/a-ztgeau.adb, - libgnat/g-calend.adb, libgnat/g-comlin.adb, - libgnat/g-expect.adb, libgnat/g-mbflra.adb, - libgnat/g-spipat.adb, libgnat/s-fatgen.adb, - libgnat/s-fileio.adb, libgnat/s-os_lib.adb, - libgnat/s-regpat.adb, libgnat/s-valued.adb, - libgnat/s-valuer.adb: Remove unnecessary Unreferenced pragmas - * sem_ch10.adb (Process_Spec_Clauses): Remove useless - assignments. - * sem_ch13.adb (Validate_Literal_Aspect): Default initialize I. - * sem_ch3.adb (Build_Derived_Concurrent_Type): Default - initialize Corr_Decl. - * sem_ch8.adb (Undefined): Replace calls to Is_LHS with calls to - Known_To_Be_Assigned. - (In_Abstract_View_Pragma): Likewise. - * sem_eval.adb (Eval_Selected_Component): Replace calls to - Is_LHS with calls to Known_To_Be_Assigned. - * sem_res.adb (Init_Component): Replace calls to May_Be_Lvalue - with calls to Known_To_Be_Assigned. - * sem_util.adb, sem_util.ads (End_Label_Loc): Default initialize - Owner. - (Explain_Limited_Type): Default initialize Expr_Func. - (Find_Actual): Modified to handle entry families. - (Is_LHS): Deleted. - (May_Be_Lvalue): Deleted. - (Known_To_Be_Assigned): Modified and improved to handle all - cases. - * sem_warn.adb (Traverse_Result): Replace calls to May_Be_Lvalue - with calls to Known_To_Be_Assigned. - (Check_Ref): Modify error on unreferenced out parameters to take - into account different warning flags. - -2022-01-07 Javier Miranda <miranda@adacore.com> - - * sem_ch3.adb (Reorder_Interfaces): When the conflicting - interface is identified we just replace the interface in the - list of interfaces of the tagged type (instead of adding a - duplicate to the list of interfaces). - -2022-01-07 Dmitriy Anisimkov <anisimko@adacore.com> - - * adaint.c (__gnat_kill): Terminate process only in case of - SIGKILL, SIGINT, SIGBREAK, SIGTERM, SIGABRT. Do not call - OpenProcess if not going to terminate process. - -2022-01-07 Eric Botcazou <ebotcazou@adacore.com> - - * exp_prag.adb (Expand_Pragma_Inspection_Point): Do a single pass - over the arguments of the pragma. Set the Address_Taken flag on - them and use the Has_Delayed_Freeze flag to spot those which have - their elaboration delayed. Reuse the location variable Loc. - -2022-01-07 Piotr Trojanek <trojanek@adacore.com> - - * osint.adb (To_Lower): Clarify that only To_Lower function - causes bootstrap issues; fix style. - * treepr.adb (Print_Str_Mixed_Case): Reuse existing case - conversion routine. - (To_Mixed): Rename from Capitalize; reuse System.Case_Util - procedure and explain the bootstrap issue. - -2022-01-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch7.adb (Process_Transients_In_Scope): Remove unnecessary - initialization of Must_Hook; change Detect_Subprogram_Call from - function to procedure; adapt caller. - -2022-01-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch5.adb, exp_disp.adb, exp_util.adb, par-ch4.adb, - sem_ch13.adb: Remove extra space before THEN that occurs at the - end of a line. - -2022-01-07 Dmitriy Anisimkov <anisimko@adacore.com> - - * expect.c (__gnat_waitpid): Use macros WIFEXITED, WEXITSTATUS, - WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG to get exit status - or signal that caused the child process to terminate/stop. Do - not process exit status in case of error in waitpid call. - * adaint.c (__gnat_kill): Use of GenerateConsoleCtrlEvent is - removed in Windows variant as it actually is not working and was - terminating the calling process. Set signal number into exit - code parameter of TerminateProcess to work the same like in - Linux. - -2022-01-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch5.adb (Expand_N_Case_Statement): Remove explicit - expansion. - -2022-01-07 Etienne Servais <servais@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Update -gnatwr documentation. - * gnat_ugn.texi: Regenerate. - -2022-01-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_unst.adb (Unnest_Subprogram): Sync comment with the - current code. - -2022-01-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch4.adb (Raise_Accessibility_Error): Move exception name - to the message string; move << control characters to the end, - for consistency. - * sem_ch6.adb (Analyze_Function_Return): Likewise. - * sem_util.adb (Compile_Time_Constraint_Error): Likewise. - * gcc-interface/decl.c (gnat_to_gnu_entity): Remove quotes - around Storage_Error. - * gcc-interface/trans.c (gnat_to_gnu): Remove quotes around - Constraint_Error. - -2022-01-07 Piotr Trojanek <trojanek@adacore.com> - - * errout.adb (Error_Msg): Move warning suppression code from - Error_Msg_NLE - (Error_Msg_NLE): Warning suppression is now done by the internal - call to Error_Msg. - -2022-01-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch3.adb (Expand_N_Object_Declaration): Remove unnecessary - guards. - * exp_ch4.adb (Expand_N_If_Expression): Likewise; clarify comment. - * exp_ch5.adb (Expand_N_If_Statement, - Expand_Iterator_Loop_Over_Container): Likewise. - * exp_ch9.adb (Expand_N_Task_Type_Declaration): Remove redundant - guard. - * freeze.adb (Freeze_All_Ent): Reduce scope of a local variable. - -2022-01-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch3.adb (Build_Init_Procedure): Remove unnecessary guard. - * exp_disp.adb (Make_DT): Likewise. - * sem_ch12.adb (Analyze_Associations): Likewise. - -2022-01-07 Etienne Servais <servais@adacore.com> - - * sem_res.adb (Resolve_Op_Concat_Arg): Check range when - concatenating scalars. - -2022-01-07 Bob Duff <duff@adacore.com> - - * treepr.adb (Print_Node_Ref): Change "not Is_Array_Type" to - "Is_Discrete_Type". - -2022-01-07 Richard Kenner <kenner@adacore.com> - - * libgnat/g-spipat.ads (Boolean_Func, Natural_Func, - VString_Func): Mark as Favor_Top_Level. - * sem_ch13.adb (Validate_Unchecked_Conversion): Avoid using - internal representation if Unchecked_Conversion between - an access to subprogram and System.Address within the same unit. - -2022-01-07 Bob Duff <duff@adacore.com> - - * treepr.adb (Print_Node_Ref): Print the value if available. - -2022-01-07 Richard Kenner <kenner@adacore.com> - - * sem_util.ads, sem_util.adb (Get_Fullest_View): Add option to - not recurse and return the next-most-fullest view. - -2022-01-07 Bob Duff <duff@adacore.com> - - * sem_ch10.adb (Check_Redundant_Withs): Add a warning if a - library unit with's its own ancestor. Note that this warning is - not triggered for something like "with P.R;" in P.Q, because - there the "with P;" is considered implicit. - * fname-sf.adb, libgnarl/s-stusta.adb, libgnarl/s-tasdeb.ads, - libgnat/a-calfor.adb, libgnat/a-tiboio.adb, - libgnat/a-wwboio.adb, libgnat/a-zzboio.adb, libgnat/i-cobol.adb, - libgnat/s-bitops.adb, libgnat/s-bitops.ads, - libgnat/s-direio.adb, libgnat/s-dwalin.adb, - libgnat/s-geveop.adb, libgnat/s-mmosin__unix.adb, - libgnat/s-os_lib.adb, libgnat/s-os_lib.ads, - libgnat/s-pooglo.ads, libgnat/s-secsta.adb, - libgnat/s-shasto.adb, libgnat/s-stausa.ads, - libgnat/s-stratt.ads, libgnat/s-ststop.adb: Remove with of - parent. - * sinfo.ads: Minor comment fix. - -2022-01-07 Bob Duff <duff@adacore.com> - - * osint-m.adb: Remove with_clause and pragma. - -2022-01-06 Bob Duff <duff@adacore.com> - - * sem_res.adb (Resolve_Range): Warn on null range, unless we are - inside a generic unit or an instance thereof. - * sem_ch3.adb (Analyze_Subtype_Indication): Minor: avoid double - negative. - -2022-01-06 Piotr Trojanek <trojanek@adacore.com> - - * errout.adb (Adjust_Name_Case): Remove unnecessary declare - block. - -2022-01-06 Yannick Moy <moy@adacore.com> - - * libgnat/a-ngcoar.adb: Add pragma to ignore assertions in - instance. - * libgnat/a-ngrear.adb: Likewise. - * libgnat/s-gearop.adb: Prove implementation is free of runtime - errors. - * libgnat/s-gearop.ads: Add contracts to protect against runtime - errors in the generic part. - -2022-01-06 Piotr Trojanek <trojanek@adacore.com> - - * errout.adb (Remove_Warning_Messages): Use traversal procedure - instead of traversal function, since we discard status of each - step anyway. - -2022-01-06 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch4.adb (Expand_Concatenate): There is no reason for using - declaring, raising and catching an exception; a simple return - statement is enough. - -2022-01-06 Piotr Trojanek <trojanek@adacore.com> - - * sem_eval.adb (Eval_Arithmetic_Op): Add Loc parameter to all - calls to Apply_Compile_Time_Constraint_Error related to division - by zero. - -2022-01-06 Piotr Trojanek <trojanek@adacore.com> - - * errout.adb (Remove_Warning_Messages): Remove unnecessary guard. - * exp_util.adb (Kill_Dead_Code): Likewise. - * par_sco.adb (Traverse_Declarations_Or_Statements): Likewise. - * sem_ch3.adb (Build_Derived_Record_Type): Likewise. - * sem_ch4.adb (Traverse_Interfaces): Likewise. - * sem_eval.adb (Traverse_Interfaces): Likewise. - * sem_util.adb (Collect_Interfaces): Likewise. - (Has_Non_Null_Statements, Side_Effect_Free_Statements): - Likewise; turn into WHILE loops, for consistency. - -2022-01-06 Etienne Servais <servais@adacore.com> - - * sem_type.adb (Full_View_Covers): Fix typo. - -2022-01-06 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch12.adb (Insert_Freeze_Node_For_Instance): When going to - the outer level, do not jump over following instantiations in - the list. - -2022-01-06 Piotr Trojanek <trojanek@adacore.com> - - * err_vars.ads (Warn_On_Instance): Remove; it was a relic from - the previous handling of warning in instances that was removed - decades ago. - -2022-01-06 Piotr Trojanek <trojanek@adacore.com> - - * errout.adb (Error_Msg_Internal): Reorder words. - * erroutc.ads (Is_Warning_Msg): Add closing paren. - * sem_util.adb (Compile_Time_Constraint_Error): Fix casing. - -2022-01-06 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Resolve_String_Literal): Simplify pointer - arithmetic. - -2022-01-06 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Resolve_String_Literal): Avoid unnecessary - conversions inside "<" and ">" bodies. - -2022-01-06 Piotr Trojanek <trojanek@adacore.com> - - * checks.adb (Null_Exclusion_Static_Checks, - Selected_Range_Checks): Fix style. - -2022-01-06 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch8.adb (Analyze_Package_Renaming): Do not check for Text_IO - special units when the name of the renaming is a generic instance, - which is the case for package instantiations in the GNAT model. - -2022-01-06 Steve Baird <baird@adacore.com> - - * sem_util.adb (Build_Discriminant_Reference): In the unexpected - case where we previously would fail an assertion, we instead - revert to the old behavior. - -2022-01-06 Steve Baird <baird@adacore.com> - - * sem_util.adb (Build_Actual_Subtype_Of_Component): Define a new - local function, Build_Discriminant_Reference, and call it in - each of the three cases where Make_Selected_Component was - previously being called to construct a discriminant reference (2 - in Build_Actual_Array_Constraint and 1 in - Build_Actual_Record_Constraint). Instead of unconditionally - using the passed-in object name as the prefix for the new - selected component node, this new function checks to see if - perhaps a prefix of that name should be used instead. - -2022-01-06 Etienne Servais <servais@adacore.com> - - * atree.adb: Fix typo. - * einfo.ads: Likewise. - * exp_aggr.adb: Likewise. - * exp_ch6.adb: Likewise. - * exp_ch7.adb: Likewise. - * exp_ch9.adb: Likewise. - * exp_prag.adb: Likewise. - * exp_unst.adb: Likewise. - * exp_unst.ads: Likewise. - * exp_util.adb: Likewise. - * par-endh.adb: Likewise. - * par.adb: Likewise. - * restrict.adb: Likewise. - * sem.ads: Likewise. - * sem_ch4.adb: Likewise. - * sem_ch5.adb: Likewise. - * sem_ch6.adb: Likewise. - * sem_ch8.adb: Likewise. - * sem_ch12.adb: Likewise. - * sem_ch13.adb: Likewise. - * sem_dim.adb: Likewise. - * sem_elab.adb: Likewise. - * sem_prag.adb: Likewise. - * sem_res.adb: Likewise. - * sem_util.adb: Likewise. - * sem_util.ads: Likewise. - * sinfo.ads: Likewise. - * sprint.adb: Likewise. - * urealp.adb: Likewise. - -2022-01-06 Justin Squirek <squirek@adacore.com> - - * exp_ch3.adb (Build_Assignment): Replace current instance of - type with Init_Proc formal. - * sem_attr.adb (OK_Self_Reference): Handle recognition of - Current_Instance to detect certain expansion. - * sem_ch4.adb (Analyze_One_Call): Set actual's type when the - actual in question is a current instance and its corresponding - formal is an incomplete type. - * sem_util.adb (Is_Current_Instance): Add check for incomplete - views and add comment. - -2022-01-06 Bob Duff <duff@adacore.com> - - * libgnat/s-rident.ads (No_Tagged_Type_Registration): New - restriction identifier. - * restrict.ads (Implementation_Restriction): Add restriction. - * exp_ch7.adb (Process_Declarations): Suppress - tagged-type-related finalization actions if the restriction is - active. Call RTE_Available last. - * exp_disp.adb (Make_DT): Likewise. - * exp_util.adb (Requires_Cleanup_Actions): Return False for a - tagged type declaration if No_Tagged_Type_Registration is - active. - * sem_attr.adb (Check_Stream_Attribute): Check restriction - No_Tagged_Type_Registration. - * libgnat/a-except.ads (Null_Occurrence): Minor: Initialize, to - avoid stopping at a warning in gdb. - * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: - Document new restriction. - * gnat_rm.texi: Regenerate. - -2022-01-06 Piotr Trojanek <trojanek@adacore.com> - - * par-ch4.adb (P_Simple_Expression): Reuse Null_String_Id. - * prep.adb (Parse_Def_File): Likewise; remove Empty_String. - -2022-01-06 Eric Botcazou <ebotcazou@adacore.com> - - * stand.ads (Any_Access): Delete. - (Universal_Access): New entity. - * einfo.ads: Remove obsolete reference to Any_Access. - * gen_il-gen-gen_entities.adb: Likewise. - * cstand.adb (Create_Standard): Do not create Any_Access and create - Universal_Access as a full type instead. - * errout.adb (Set_Msg_Insertion_Type_Reference): Do not deal with - Any_Access and deal with Universal_Access instead. - * sem_ch3.adb (Analyze_Object_Declaration): Replace Any_Access with - Universal_Access. - * sem_ch4.adb (Analyze_Null): Likewise. - (Find_Non_Universal_Interpretations): Likewise. - (Find_Equality_Types.Try_One_Interp): Likewise and avoid shadowing - by renaming a local variable of the same name. - * sem_res.adb (Make_Call_Into_Operato): Likewise. - (Resolve_Equality_Op): Likewise. - * sem_type.adb (Covers): Likewise. - (Specific_Type): Likewise. - -2022-01-06 Piotr Trojanek <trojanek@adacore.com> - - * treepr.adb (Destroy): Prevent spurious check from CodePeer. - -2022-01-06 Yannick Moy <moy@adacore.com> - - * libgnat/s-exponu.adb (Exponu): Add annotation. - -2022-01-06 Justin Squirek <squirek@adacore.com> - - * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Add comments - regarding special handling of components which depend on - discriminants. - * exp_dist.adb (Build_From_Any_Function): Add Real_Rep actual - for calls to Has_Stream_Attribute_Definition. - (Build_To_Any_Function): Likewise. - (Build_TypeCode_Function): Likewise. - * freeze.adb (Freeze_Entity): Add missing comment for Test_E. - * libgnat/s-utf_32.adb: Remove disabled warning comments and - temporarily inserted pragma warnings. Remove very old (2006 and - 2012) comments about bootstrapping older versions. - * par.adb (P_Identifier): Add new parameter Force_Msg. - * par-ch2.adb (P_Identifier): Restructure and clean up function. - * par-ch3.adb (P_Defining_Identifier): Remove code duplication - for parsing identifiers. - * sem_attr.adb (Stream_Attribute_Available): Add missing - comments and add Real_Rep actual for calls to - Has_Stream_Attribute_Definition. - * sem_cat.adb (Has_Read_Write_Attribute): Add Real_Rep actual - for calls to Has_Stream_Attribute_Definition. - (Has_Stream_Attribute_Definition): Remove local Real_Rep and fix - recursive calls. Add default value for Real_Rep. - * sem_cat.ads (Has_Stream_Attribute_Definition): Add new out - parameter "Real_Rep". - * sem_type.adb (Add_Entry): Add condition to avoid passing - non-function calls to Function_Interp_Has_Abstract_Op. - (Function_Interp_Has_Abstract_Op): Add missing comments and - remove check for Is_Overloadable. - * sem_util.adb (Derivation_Too_Early_To_Inherit): Remove - duplicated code. - -2022-01-06 Javier Miranda <miranda@adacore.com> - - * contracts.adb (Restore_Original_Selected_Component): New - subprogram that traverses a preanalyzed expression searching for - dispatching calls to functions whose original node was a - selected component, and replacing them with their original node. - This functionality is required because the preanalyis of - dispatching calls using the Object.Operation notation transforms - such calls, and we need the original condition to properly - inherit and extend the condition expression on tagged type - derivations. This functionality was previously provided by the - routine Install_Original_Selected_Component (as part of - inheriting conditions); now it is performed as part of the - preanalysis of the condition, thus avoiding repeatedly - installing and restoring such nodes. - (Install_Original_Selected_Component): Removed. - (Restore_Dispatching_Calls): Removed. - -2022-01-06 Piotr Trojanek <trojanek@adacore.com> - - * treepr.adb (Visit_Node): Simplify repeated call to - Next_Entity. - -2022-01-06 Piotr Trojanek <trojanek@adacore.com> - - * treepr.ads (Treepr, Print_Tree_List, Print_Tree_Elist): Fix - style in comments. - * treepr.adb (Serial_Numbers): Hash table instance. - (Hash): Hashing routine. - (Print_Field): Fix style. - (Print_Init): Adapt to simple hash table. - (Print_Term): Likewise. - (Serial_Numbers): Likewise. - (Set_Serial_Number): Likewise. - -2022-01-06 Yannick Moy <moy@adacore.com> - - * libgnat/s-expmod.adb: Mark in SPARK. Add ghost code for proof. - * libgnat/s-expmod.ads: Mark in SPARK. Add ghost specifications. - -2022-01-06 Yannick Moy <moy@adacore.com> - - * libgnat/s-explllu.ads: Mark in SPARK. - * libgnat/s-expllu.ads: Mark in SPARK. - * libgnat/s-exponu.adb: Add loop invariants and needed - assertions. - * libgnat/s-exponu.ads: Add functional contract. - * libgnat/s-expuns.ads: Mark in SPARK. - -2022-01-05 Steve Baird <baird@adacore.com> - - * exp_ch5.adb (Finish_Binding_Object_Declaration): Fix a bug - that was introduced in the previous commit. The previous - version initialized a Boolean constant Declare_Copy before the - variable Decl had been initialized properly. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Adjust_External_Name_Case): Use membership test. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch3.adb (Make_Controlling_Function_Wrappers): For - GNATprove build the wrapper as an expression function. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch3.ads (Make_Controlling_Function_Wrappers): Move - declaration from body to spec, so it can be called by - SPARK-specific expansion. - * exp_ch3.adb (Make_Controlling_Function_Wrappers): Likewise. - * exp_spark.adb (SPARK_Freeze_Type): Enable expansion of - wrappers for function with controlling result types. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_dbug.adb, sem_dim.adb: Replace Add_Str_To_Name_Buffer with - Add_Char_To_Name_Buffer. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * gnatls.adb (Gnatls): Use Name_Find function. - * targparm.adb (Get_Target_Parameters): Likewise. - -2022-01-05 Bob Duff <duff@adacore.com> - - * repinfo.adb (List_Entities): The code was assuming that if we - encounter a package in the current scope, then it must be - a (physically) nested package. That was wrong, because it could - be a child package. Avoid recursing into child packages; they - have not been annotated with representation information, and - -gnatR2 queries that information. - -2022-01-05 Marc Poulhiès <poulhies@adacore.com> - - * libgnat/s-sopco3.ads, libgnat/s-sopco3.adb: Remove. - * libgnat/s-sopco4.ads, libgnat/s-sopco4.adb: Remove. - * libgnat/s-sopco5.ads, libgnat/s-sopco5.adb: Remove. - * libgnat/s-strops.ads, libgnat/s-strops.adb: Remove. - * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove occurences of removed - units. - * gcc-interface/Make-lang.in (ada/sdefault.o): Remove - dependencies on removed units. - (GNATBIND_OBJS): Remove occurences of removed units. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch3.adb (Build_Dcheck_Function): Remove extra whitespace. - * libgnarl/s-taskin.adb (Initialize_ATCB): Likewise. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_attr.adb (Build_Array_VS_Func): Remove explicit "IN" in - spec of the generated array validation function; it was - redundant, just like it would be in a user-written code. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch4.adb (Expand_N_Op_Ne): Fix whitespace. - * sem_dim.adb (Expand_Put_Call_With_Symbol): Likewise. - (Reduce): Likewise. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Fix whitespace. - * libgnat/a-cofuve.ads (Add): Likewise. - * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Likewise. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch3.adb (Make_Eq_Body, Make_Neq_Body, - Make_Predefined_Primitive_Eq_Spec, - Make_Predefined_Primitive_Specs): Fix whitespace. - -2022-01-05 Etienne Servais <servais@adacore.com> - - * sem_ch3.adb (Analyze_Component_Declaration): Rework condition - to build subtypes. - (Analyze_Object_Declaration): Likewise. - (Should_Build_Subtype): New. - -2022-01-05 Yannick Moy <moy@adacore.com> - - * libgnat/s-arit128.adb: Mark in SPARK. - * libgnat/s-arit128.ads: Add functional contracts. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (String_From_Numeric_Literal): Simplify using - membership tests and ranges; fix whitespace. - -2022-01-05 Yannick Moy <moy@adacore.com> - - * libgnat/s-expint.ads: Mark in SPARK. Adapt to change to - package. - * libgnat/s-explli.ads: Likewise. - * libgnat/s-expllli.ads: Likewise. - * libgnat/s-expont.adb: Add lemmas and ghost code. - * libgnat/s-expont.ads: Add functional contract. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_disp.adb (Gen_Parameters_Profile): Remove redundant guard. - -2022-01-05 Claire Dross <dross@adacore.com> - - * libgnat/s-valuti.ads (Starts_As_Exponent_Format_Ghost): Ghost - function to determine if a string is recognized as something - which might be an exponent. - (Is_Opt_Exponent_Format_Ghost): Ghost function to determine if a - string has the correct format for an optional exponent. - (Scan_Exponent): Use ghost functions to factorize contracts. - -2022-01-05 Bob Duff <duff@adacore.com> - - * exp_util.ads (Get_Current_Value_Condition): Belt: Add a - postcondition that Val /= Var. - * sem_util.adb (Known_Null): Suspenders: Raise Program_Error if - Get_Current_Value_Condition returned the same value. This will - be enabled even without assertions, because infinite recursion - is a nuisance -- better to crash if this bug ever occurs. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch3.adb (Make_Null_Procedure_Specs): Simplify by reusing - Copy_Subprogram_Spec. - * sem_util.ads (Copy_Subprogram_Spec): Add New_Sloc parameter. - * sem_util.adb (Copy_Subprogram_Spec): Pass New_Sloc to - New_Copy_Tree. - -2022-01-05 Yannick Moy <moy@adacore.com> - - * libgnat/s-exnint.ads: Mark in SPARK. Adapt to change to - package. - * libgnat/s-exnlli.ads: Likewise. - * libgnat/s-exnllli.ads: Likewise. - * libgnat/s-exponn.adb: Add lemmas and ghost code. Secial case - value zero as Left or Right to simplify proof. - * libgnat/s-exponn.ads: Transform the generic function into a - generic package with a function inside. Add a functional - contract. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove redundant - call to Set_Defining_Unit_Name; a similar call is done few lines - below. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch3.adb (Make_Controlling_Function_Wrappers): Create - distinct copies of parameter lists for spec and body with - Copy_Parameter_List; cleanup. - (Make_Null_Procedure_Specs): Fix style in comments; remove a - potentially unnecessary initialization of a local variable. - -2022-01-05 Bob Duff <duff@adacore.com> - - * einfo-utils.ads, einfo-utils.adb (Renamed_Entity Alias): - Change Node_Id to Entity_Id. - -2022-01-05 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wrapper): - Remove unreferenced spec. - * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wrapper): - Remove dead bodies. - -2022-01-05 Yannick Moy <moy@adacore.com> - - * libgnat/s-aridou.adb: Apply replacement. - -2022-01-05 Yannick Moy <moy@adacore.com> - - * libgnat/s-aridou.adb (Lemma_Word_Commutation): Fix for - instances with other values of Single_Size. - -2022-01-05 Marc Poulhiès <poulhies@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst (Compiler_Unit) - (Compiler_Unit_Warning): Remove. - * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate. - * libgnat/g-dynhta.ads: Add comment indicating this unit is - built during stage1. - * libgnat/g-dyntab.ads: Likewise. - * libgnat/g-graphs.ads: Likewise. - * libgnat/g-lists.ads: Likewise. - * libgnat/g-sets.ads: Likewise. - * libgnat/gnat.ads: Likewise. - * libgnat/s-pehage.ads: Likewise. - * libgnat/s-resfil.ads: Likewise. - * libgnat/s-rident.ads: Likewise. - * libgnat/s-utf_32.ads: Likewise. - * errout.ads: Update comment. - * opt.ads (Opt): Remove Compiler_Unit. - * par-ch5.adb (All_Pragmas): Remove call to Check_Compiler_Unit. - * sem_prag.adb (Analyze_Pragma): Likewise. - * sem_ch4.adb (Non_Static_Choice_Error, Analyze_If_Expression) - (Analyze_Set_Membership, Record_Interp): Likewise. - * sem_ch11.adb (Analyze_Raise_Expression): Likewise. - * sem_ch6.adb: Remove Restric package reference. - (Analyze_Extended_Return_Statement): Remove call to - Check_Compiler_Unit. - * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): - Remove handling of Pragma_Compiler_Unit[_Warning}. - * restrict.adb (Check_Compiler_Unit): Remove both. - * restrict.ads: Likewise. - * snames.ads-tmpl (Pragma_Id): Remove - Pragma_Compiler_Unit[_Warning]. - * libgnat/a-assert.ads: Remove pragma Compiler_Unit_Warning. - * libgnat/a-chlat1.ads: Likewise. - * libgnat/a-elchha.adb: Likewise. - * libgnat/a-elchha.ads: Likewise. - * libgnat/a-ioexce.ads: Likewise. - * libgnat/a-strhas.ads: Likewise. - * libgnat/g-byorma.adb: Likewise. - * libgnat/g-byorma.ads: Likewise. - * libgnat/g-dyntab.adb: Likewise. - * libgnat/g-heasor.ads: Likewise. - * libgnat/g-hesora.adb: Likewise. - * libgnat/g-hesora.ads: Likewise. - * libgnat/g-htable.adb: Likewise. - * libgnat/g-htable.ads: Likewise. - * libgnat/g-spchge.adb: Likewise. - * libgnat/g-spchge.ads: Likewise. - * libgnat/g-speche.adb: Likewise. - * libgnat/g-speche.ads: Likewise. - * libgnat/g-table.ads: Likewise. - * libgnat/g-u3spch.adb: Likewise. - * libgnat/g-u3spch.ads: Likewise. - * libgnat/interfac.ads: Likewise. - * libgnat/s-addope.adb: Likewise. - * libgnat/s-addope.ads: Likewise. - * libgnat/s-assert.adb: Likewise. - * libgnat/s-assert.ads: Likewise. - * libgnat/s-bitops.adb: Likewise. - * libgnat/s-bitops.ads: Likewise. - * libgnat/s-carun8.adb: Likewise. - * libgnat/s-carun8.ads: Likewise. - * libgnat/s-casuti.adb: Likewise. - * libgnat/s-casuti.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-excdeb.adb: Likewise. - * libgnat/s-excdeb.ads: Likewise. - * libgnat/s-except.ads: Likewise. - * libgnat/s-exctab.adb: Likewise. - * libgnat/s-exctab.ads: Likewise. - * libgnat/s-finmas.ads: Likewise. - * libgnat/s-htable.adb: Likewise. - * libgnat/s-htable.ads: Likewise. - * libgnat/s-mastop.adb: Likewise. - * libgnat/s-mastop.ads: Likewise. - * libgnat/s-memory.adb: Likewise. - * libgnat/s-memory.ads: Likewise. - * libgnat/s-os_lib.ads: Likewise. - * libgnat/s-parame.adb: Likewise. - * libgnat/s-parame.ads: Likewise. - * libgnat/s-parame__posix2008.ads: Likewise. - * libgnat/s-purexc.ads: Likewise. - * libgnat/s-resfil.adb: Likewise. - * libgnat/s-restri.adb: Likewise. - * libgnat/s-restri.ads: Likewise. - * libgnat/s-secsta.adb: Likewise. - * libgnat/s-secsta.ads: Likewise. - * libgnat/s-soflin.adb: Likewise. - * libgnat/s-soflin.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.ads: Likewise. - * libgnat/s-stache.adb: Likewise. - * libgnat/s-stache.ads: Likewise. - * libgnat/s-stalib.adb: Likewise. - * libgnat/s-stalib.ads: Likewise. - * libgnat/s-stoele.adb: Likewise. - * libgnat/s-stoele.ads: Likewise. - * libgnat/s-strcom.adb: Likewise. - * libgnat/s-strcom.ads: Likewise. - * libgnat/s-strhas.adb: 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-traceb.adb: Likewise. - * libgnat/s-traceb.ads: Likewise. - * libgnat/s-traent.adb: Likewise. - * libgnat/s-traent.ads: Likewise. - * libgnat/s-utf_32.adb: Likewise. - * libgnat/s-unstyp.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. - -2022-01-05 Arnaud Charlet <charlet@adacore.com> - - * osint.adb (File_Names_Equal): Declare To_Lower locally. - * osint.ads (Null_FD): New. - * fmap.adb, sinput-l.adb, targparm.adb: Adapt to changes above. - * switch-b.adb (Scan_Debug_Switches): Use Is_Regular_File to - simplify the bootstrap dependencies. - -2022-01-03 Jakub Jelinek <jakub@redhat.com> - - * gnat_ugn.texi: Bump @copying's copyright year. - * gnat_rm.texi: Likewise. - -Copyright (C) 2022 Free Software Foundation, Inc. +Copyright (C) 2023 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-2022 b/gcc/ada/ChangeLog-2022 new file mode 100644 index 0000000000000000000000000000000000000000..19c0a4d5d4245818e4273d18064f06bf51f432ab --- /dev/null +++ b/gcc/ada/ChangeLog-2022 @@ -0,0 +1,11068 @@ +2022-12-29 Alexandre Oliva <oliva@adacore.com> + + * gcc-interface/trans.cc (Sloc_to_locus): Don't map NULL decl. + +2022-12-06 Yannick Moy <moy@adacore.com> + + * contracts.adb (Add_Contract_Item): Allow No_Caching on types. + (Check_Type_Or_Object_External_Properties): Check No_Caching. + Check that non-effectively volatile types does not contain an + effectively volatile component (instead of just a volatile + component). + (Analyze_Object_Contract): Remove shared checking of No_Caching. + * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Adapt checking + of No_Caching for types. + (Analyze_Pragma): Allow No_Caching on types. + * sem_util.adb (Has_Effectively_Volatile_Component): New query function. + (Is_Effectively_Volatile): Type with Volatile and No_Caching is not + effectively volatile. + (No_Caching_Enabled): Remove assertion to apply to all entities. + * sem_util.ads: Same. + +2022-12-06 Javier Miranda <miranda@adacore.com> + + * exp_ch6.adb + (Build_Static_Check_Helper_Call): Perform implicit type conversion + to ensure matching types and avoid reporting spurious errors. + +2022-12-06 Eric Botcazou <ebotcazou@adacore.com> + + * sem_warn.adb (Warn_On_Constant_Valid_Condition): Bail out for a + membership test with a mark for a subtype that is predicated. + +2022-12-06 Eric Botcazou <ebotcazou@adacore.com> + + * sem_elab.adb (Processing_In_State): Add Within_Freezing_Actions + component. + (Process_Conditional_ABE_Call): Compute its value. + (Process_Conditional_ABE_Call_SPARK): For a call and a target in + the main unit, do not emit any ABE diagnostics if the call occurs + in a freezing actions context. + +2022-12-06 Eric Botcazou <ebotcazou@adacore.com> + + * einfo.ads (Actual_Subtype): Document additional usage. + * exp_aggr.adb (Expand_Array_Aggregate): Replace test on + Is_Build_In_Place_Return_Object with Is_Special_Return_Object. + * exp_ch3.adb (Expand_N_Object_Declaration): Factor out parts of the + processing done for build-in-place return objects and reuse them to + implement a similar processing for specific return objects. + * exp_ch4.adb (Expand_Allocator_Expression): Do not generate a tag + assignment or an adjustment if the allocator was made for a special + return object. + (Expand_Concatenate): If the result is allocated on the secondary + stack, use an unconstrained allocation. + * exp_ch6.ads (Apply_CW_Accessibility_Check): New declaration. + (Is_By_Reference_Return_Object): Likewise. + (Is_Secondary_Stack_Return_Object): Likewise. + (Is_Special_Return_Object): Likewise. + * exp_ch6.adb (Expand_Ctrl_Function_Call): Do not bail out for the + expression in the declaration of a special return object. + (Expand_N_Extended_Return_Statement): Add missing guard and move + the class-wide accessibility check to Expand_N_Object_Declaration. + (Expand_Simple_Function_Return): Delete obsolete commentary. + Skip the special processing for types that require finalization or + are returned on the secondary stack if the return originally comes + from an extended return statement. Add missing Constant_Present. + (Is_By_Reference_Return_Object): New predicate. + (Is_Secondary_Stack_Return_Object): Likewise. + (Is_Special_Return_Object): Likewise. + * exp_util.adb (Is_Related_To_Func_Return): Also return true if the + parent of the expression is the renaming declaration generated for + the expansion of a return object. + * gen_il-fields.ads (Opt_Field_Enum): Replace Alloc_For_BIP_Return + with For_Special_Return_Object. + * gen_il-gen-gen_nodes.adb (N_Allocator): Likewise. + * gen_il-internals.adb (Image): Remove Alloc_For_BIP_Return. + * sem_ch3.adb (Check_Return_Subtype_Indication): New procedure + moved from sem_ch6.adb. + (Analyze_Object_Declaration): Call it on a return object. + * sem_ch4.adb: Add with and use clauses for Rtsfind. + (Analyze_Allocator): Test For_Special_Return_Object to skip checks + for allocators made for special return objects. + Do not report restriction violations for the return stack pool. + * sem_ch5.adb (Analyze_Assignment.Set_Assignment_Type): Return the + Actual_Subtype for return objects that live on the secondary stack. + * sem_ch6.adb (Check_Return_Subtype_Indication): Move procedure to + sem_ch3.adb. + (Analyze_Function_Return): Do not call above procedure. + * sem_res.adb (Resolve_Allocator): Replace Alloc_For_BIP_Return + with For_Special_Return_Object. + * sinfo.ads: Likewise. + * treepr.adb (Image): Remove Alloc_For_BIP_Return. + * gcc-interface/trans.cc (gnat_to_gnu): Do not convert to the result + type in the unconstrained array type case if the parent is a simple + return statement. + +2022-12-06 Eric Botcazou <ebotcazou@adacore.com> + + * sem_res.adb (Resolve_Membership_Op): Adjust latest change. + +2022-12-06 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch4.adb (Expand_N_In) <Substitute_Valid_Check>: Rename to... + <Substitute_Valid_Test>: ...this. + Use Is_Entity_Name to test for the presence of entity references. + Do not warn or substitute a valid test for a test with a mark for + a subtype that is predicated. + Apply the same transformation for a test with a mark for a subtype + that is predicated as for a subtype that is not. + Remove useless return statement. + * sem_res.adb (Resolve_Membership_Op): Perform a special resolution + if the left operand is of a universal numeric type. + +2022-12-06 Justin Squirek <squirek@adacore.com> + + * accessibility.adb, accessibility.ads + (Accessibility_Message): Moved from sem_attr. + (Apply_Accessibility_Check): Moved from checks. + (Apply_Accessibility_Check_For_Allocator): Moved from exp_ch4 and + renamed + (Check_Return_Construct_Accessibility): Moved from sem_ch6. + (Innermost_Master_Scope_Depth): Moved from sem_util. Add condition + to detect expanded iterators. + (Prefix_With_Safe_Accessibility_Level): Moved from sem_attr. + (Static_Accessibility_Level): Moved from sem_util. + (Has_Unconstrained_Access_Discriminants): Likewise. + (Has_Anonymous_Access_Discriminant): Likewise. + (Is_Anonymous_Access_Actual): Likewise. + (Is_Special_Aliased_Formal_Access): Likewise. + (Needs_Result_Accessibility_Level): Likewise. + (Subprogram_Access_Level): Likewise. + (Type_Access_Level): Likewise. + (Deepest_Type_Access_Level): Likewise. + (Effective_Extra_Accessibility): Likewise. + (Get_Dynamic_Accessibility): Likewise. + (Has_Access_Values): Likewise. + (Accessibility_Level): Likewise. + * exp_attr.adb (Access_Cases): Obtain the proper enclosing object + which applies to a given 'Access by looking through type + conversions. + * exp_ch4.adb (Apply_Accessibility_Check): Moved to accessibility. + * exp_ch5.adb: Likewise. + * exp_ch6.adb: Likewise. + * exp_ch9.adb: Likewise. + * exp_disp.adb: Likewise. + * gen_il-fields.ads: Add new flag Comes_From_Iterator. + * gen_il-gen-gen_nodes.adb: Add new flag Comes_From_Iterator for + N_Object_Renaming_Declaration. + * sem_ch5.adb (Analyze_Iterator_Specification): Mark object + renamings resulting from iterator expansion with the new flag + Comes_From_Iterator. + * sem_aggr.adb (Resolve_Container_Aggregate): Refine test. + * sem_ch13.adb: Add dependence on the accessibility package. + * sem_ch3.adb: Likewise. + * sem_ch4.adb: Likewise. + * sem_ch9.adb: Likewise. + * sem_res.adb: Likewise. + * sem_warn.adb: Likewise. + * exp_ch3.adb: Likewise. + * sem_attr.adb (Accessibility_Message): Moved to accessibility. + (Prefix_With_Safe_Accessibility_Level): Likewise. + * checks.adb, checks.ads (Apply_Accessibility_Check): Likewise. + * sem_ch6.adb (Check_Return_Construct_Accessibility): Likewise. + * sem_util.adb, sem_util.ads + (Accessibility_Level): Likewise. + (Deepest_Type_Access_Level): Likewise. + (Effective_Extra_Accessibility): Likewise. + (Get_Dynamic_Accessibility): Likewise. + (Has_Access_Values): Likewise. + (Has_Anonymous_Access_Discriminant): Likewise. + (Static_Accessibility_Level): Likewise. + (Has_Unconstrained_Access_Discriminants): Likewise. + (Is_Anonymous_Access_Actual): Likewise. + (Is_Special_Aliased_Formal_Access): Likewise. + (Needs_Result_Accessibility_Level): Likewise. + (Subprogram_Access_Level): Likewise. + (Type_Access_Level): Likewise. + * sinfo.ads: Document new flag Comes_From_Iterator. + * gcc-interface/Make-lang.in: Add entry for new Accessibility package. + +2022-12-06 Liaiss Merzougue <merzougue@adacore.com> + + * libgnat/i-c.adb (To_C): Simplify code for having a single + exception raise. Add pragma annotate about uninitialized value + which happen only on exception raising. + +2022-12-01 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (get_storage_model_access): Strip any type + conversion around the node before looking into it. + +2022-12-01 Steve Baird <baird@adacore.com> + + * sem_ch13.adb + (Validate_Aspect_Aggregate): Reject illegal case where none of + Add_Named, Add_Unnamed, and Assign_Indexed are specified. + +2022-12-01 Eric Botcazou <ebotcazou@adacore.com> + + * doc/gnat_ugn/gnat_and_program_execution.rst (Non-Symbolic + Traceback): Add compilation line. + (Symbolic Traceback): Remove obsolete stuff. + * doc/gnat_ugn/gnat_utility_programs.rst (gnatsymbolize): Adjust. + * gnat_ugn.texi: Regenerate. + +2022-12-01 Ronan Desplanques <desplanques@adacore.com> + + * lib-xref.adb (Generate_Reference): Fix misphrasing in comment. + +2022-12-01 Gary Dismukes <dismukes@adacore.com> + + * sem_attr.adb (Analyze_Attribute, Attribute_Address): In the case + where the attribute's prefix is a dereference of a value of an + access type that has aspect Designated_Storage_Model (or a + renaming of such a dereference), set the attribute's type to the + corresponding Storage_Model_Type's associated address type rather + than System.Address. + +2022-12-01 Ronan Desplanques <desplanques@adacore.com> + + * doc/gnat_rm/the_gnat_library.rst: Fix minor issues. + * gnat_rm.texi: Regenerate. + +2022-12-01 Josue Nava Bello <nava@adacore.com> + + * doc/share/conf.py: minor updates + +2022-11-28 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/g-traceb.ads: Minor tweaks in the commentary. + (Executable_Load_Address): New function. + * doc/gnat_ugn/gnat_and_program_execution.rst (Non-Symbolic + Traceback): Adjust to PIE default on Linux. + (Symbolic Traceback): Likewise. + * doc/gnat_ugn/gnat_utility_programs.rst (gnatsymbolize): Likewise. + * gnat_ugn.texi: Regenerate. + +2022-11-28 Joel Brobecker <brobecker@adacore.com> + + * doc/share/conf.py (extensions): Add 'sphinx_rtd_theme'. + (html_theme): Set to 'sphinx_rtd_theme'. + +2022-11-28 Claire Dross <dross@adacore.com> + + * libgnat/g-souinf.ads (Source_Code_Information): Add a new + volatile abstract state and add it in the global contract of all + functions defined in Source_Info. + +2022-11-28 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Expand_Actuals.Add_Call_By_Copy_Code): Deal with a + reference to a validation variable in the actual. + (Expand_Actuals.Add_Validation_Call_By_Copy_Code): Minor tweak. + (Expand_Actuals): Call Add_Validation_Call_By_Copy_Code directly + only if Add_Call_By_Copy_Code is not to be invoked. + +2022-11-28 Eric Botcazou <ebotcazou@adacore.com> + + * adaint.c [Linux]: Include <link.h>. + (__gnat_get_executable_load_address) [Linux]: Enable. + +2022-11-28 Yannick Moy <moy@adacore.com> + + * sem_prag.adb (Check_Part_Of_Abstract_State): Add verification + related to use of Part_Of, so that constituents in private childs + that refer to state in a sibling or parent unit force that unit to + have a body. + * sem_util.adb (Check_State_Refinements): Drop the requirement to + have always a package body for state refinement, when the package + state is mentioned in no Part_Of specification. + * sem_ch3.adb (Analyze_Declarations): Refresh SPARK refs in comment. + * sem_ch7.adb (Analyze_Package_Declaration): Likewise. + +2022-11-24 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (gnat_to_gnu) <N_Assignment_Statement>: Add + assertion that memset is not supposed to be used when the target has + a storage model with Copy_To routine. + +2022-11-24 Justin Squirek <squirek@adacore.com> + + * sem_ch8.adb + (Find_Direct_Name): Remove bypass to reanalyze incorrectly + analyzed discriminals. + (Set_Entity_Or_Discriminal): Avoid resetting the entity field of a + discriminant reference to be the internally generated renaming + when we are in strict preanalysis mode. + +2022-11-22 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Analyze_Depends_Global): Accept aspects on + abstract subprograms. + +2022-11-22 Ghjuvan Lacambre <lacambre@adacore.com> + + * frontend.adb (Frontend): Re-enable Validate_Subprogram_Calls. + * exp_ch6.adb (Check_BIP_Actuals): When in CodePeer mode, do not + attempt to validate procedures coming from an + Elab_Spec/Elab_Body/Elab_Subp_Body procedure. + +2022-11-22 Piotr Trojanek <trojanek@adacore.com> + + * errout.adb (To_Be_Removed): Decrease total number of errors when + removing a warning that has been escalated into error. + * erroutc.adb (dmsg): Print Warn_Runtime_Raise flag. + +2022-11-22 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Make_Tag_Assignment): Fix formatting glitches. + +2022-11-22 Eric Botcazou <ebotcazou@adacore.com> + + * contracts.adb (Build_Subprogram_Contract_Wrapper): Do not fiddle + with the Was_Expression_Function flag. Move a few lines around. + +2022-11-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Constant>: Revert + latest change. + * gcc-interface/trans.cc (gnat_to_gnu) <N_Object_Declaration>: + Tweak latest change. + +2022-11-21 Marc Poulhiès <poulhies@adacore.com> + + * exp_pakd.adb (Create_Packed_Array_Impl_Type): Do not share PAT + if sizes of types differ. + +2022-11-21 Ronan Desplanques <desplanques@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst: Restore + alphabetical ordering. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2022-11-21 Eric Botcazou <ebotcazou@adacore.com> + + * sem_util.adb (Needs_Secondary_Stack): Test Is_Constrained + directly instead of Is_Definite_Subtype for an array subtype. + +2022-11-21 Steve Baird <baird@adacore.com> + + * libgnat/s-rident.ads: Define a new restriction, + No_Task_Hierarchy_Implicit. This is like the No_Task_Hierarchy + restriction, but with the difference that setting this restriction + does not mean the H.6(6) post-compilation check is satisified. + * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): If it is + known that the function result cannot have tasks, then pass in a + null literal for the activation chain actual parameter. This + avoids generating a reference to an entity that + Build_Activation_Chain_Entity may have chosen not to generate a + declaration for. + * gnatbind.adb (List_Applicable_Restrictions): Do not list the + No_Task_Hierarchy_Implicit restriction. + * restrict.adb: Special treatment for the + No_Task_Hierarchy_Implicit restriction in functions + Get_Restriction_Id and Restriction_Active. The former is needed to + disallow the (unlikely) case that a user tries to explicitly + reference the No_Task_Hierarchy_Implicit restriction. + * sem_prag.adb (Analyze_Pragma): If a Sequential + Partition_Elaboration_Policy is specified (and the + No_Task_Hierarchy restriction is not already enabled), then enable + the No_Task_Hierarchy_Implicit restriction. + +2022-11-21 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Expand_N_Object_Declaration): Use Typ local + constant throughout, remove Ret_Obj_Typ local constant, rename + Ref_Type into Acc_Typ in a couple of places, remove a useless call + to Set_Etype, use a consistent checks suppression scheme, adjust + comments for the sake of consistencty and alphabetize some local + declarations. + * exp_ch6.adb (Expand_Simple_Function_Return): Remove a couple of + redundant local constants. + +2022-11-21 Steve Baird <baird@adacore.com> + + * libgnat/a-sttebu.adb (Put): Add missing call to Encode. + * libgnat/a-strsup.ads: Declare new Put_Image procedure and add + Put_Image aspect specification for type Super_String. + * libgnat/a-strsup.adb (Put_Image): New procedure. + * libgnat/a-stwisu.ads: Declare new Put_Image procedure and add + Put_Image aspect specification for type Super_String. + * libgnat/a-stwisu.adb (Put_Image): New procedure. + * libgnat/a-stzsup.ads: Declare new Put_Image procedure and add + Put_Image aspect specification for type Super_String. + * libgnat/a-stzsup.adb (Put_Image): New procedure. + +2022-11-21 Ghjuvan Lacambre <lacambre@adacore.com> + + * frontend.adb (Frontend): Disable subprogram call validation. + +2022-11-21 Bob Duff <duff@adacore.com> + + * warnsw.ads, warnsw.adb: Move warning flags here from package + Opt. Rename Warning_Record to be Warnings_State. Use an array + instead of a record; this simplifies the code. Add renamings of + all the array components for easy reference outside this package. + Pass the "Family" to Set_Warning_Switch. Use more table-driven + code. Misc cleanup and comment fixes. + * opt.ads: Move warning switches to Warnsw. + * gnat1drv.adb + (Adjust_Global_Switches): Expanded names needed. + * inline.ads: Rename Warning_Record to be Warnings_State. + * sem_ch12.adb: Likewise. + * sem_prag.adb: Use new Set_Warning_Switch. + * contracts.adb, errout.adb, exp_aggr.adb, exp_ch11.adb: Adjust + imports for move to Warnsw. + * exp_ch5.adb, exp_prag.adb, exp_util.adb, frontend.adb: Likewise. + * layout.adb, lib-xref.adb, restrict.adb, scn.adb, sem_aggr.adb: + Likewise. + * sem_attr.adb, sem_case.adb, sem_ch10.adb, sem_ch11.adb: + Likewise. + * sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb: Likewise. + * sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_elab.adb: Likewise. + * sem_eval.adb, sem_res.adb, sem_util.adb, sem_warn.adb: Likewise. + * switch-c.adb: Likewise. + +2022-11-21 Steve Baird <baird@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Improve + the description of how the -gnatw.h switch interacts with + "partial" record layout specifications (i.e., specifications where + the locations of some components are left unspecified). + * gnat_ugn.texi: Regenerate. + +2022-11-21 Marc Poulhiès <poulhies@adacore.com> + + * sem_ch13.adb (Check_One_Attr): produce error when Size attribute + used on aliased object of elementary types with nonconfirming + value. + +2022-11-21 Ronan Desplanques <desplanques@adacore.com> + + * sfn_scan.adb (Scan_SFN_Pragmas): Improve handling of comments. + +2022-11-21 Ronan Desplanques <desplanques@adacore.com> + + * par-ch3.adb (P_Declarative_Item): Tweak handling of with keyword. + +2022-11-14 Boris Yakobowski <yakobowski@adacore.com> + + * sem_case.adb: silence false positive warning emitted by CodePeer + on predefined equality for type Choice_Range_Info. + +2022-11-14 Bob Duff <duff@adacore.com> + + * atree.ads: Remove some comments. + * err_vars.ads: Likewise. + * scans.ads: Likewise. + * sinput.ads: Likewise. + * checks.ads: Likewise. Also add a "???" comment indicating an + obsolete comment that is too difficult to correct at this time. + * sem_attr.adb: Minor comment rewrite. + +2022-11-14 Javier Miranda <miranda@adacore.com> + + * exp_intr.adb + (Expand_Dispatching_Constructor_Call): Improve warning message. + * freeze.adb + (Check_No_Parts_Violations): Improve error message. + +2022-11-14 Alexandre Oliva <oliva@adacore.com> + + * doc/gnat_rm/security_hardening_features.rst: Document optional + hardcfr checkpoints. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2022-11-14 Gary Dismukes <dismukes@adacore.com> + + * checks.adb + (Apply_Type_Conversion_Checks): Apply Root_Type to the type of the + prefix of a Pos attribute when checking whether the type is a + formal discrete type. + +2022-11-14 Ronan Desplanques <desplanques@adacore.com> + + * libgnat/s-regpat.adb + (Parse): Fix handling of non-capturing parentheses. + +2022-11-14 Yannick Moy <moy@adacore.com> + + * sem_prag.adb (Analyze_Pragma): Add special case for the special + local subprogram created for contracts. + +2022-11-14 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch12.adb (Build_Subprogram_Wrappers): Adjust slocs of the + copied aspects, just like we do in Build_Class_Wide_Expression for + inherited class-wide contracts. + +2022-11-14 Piotr Trojanek <trojanek@adacore.com> + + * inline.adb (Replace_Formal): Tune whitespace. + * sem_ch12.adb (Check_Overloaded_Formal_Subprogram): Refine type + of a formal parameter and local variable; this routine operates on + nodes and not entities. + * sem_ch12.ads: Tune whitespace. + +2022-11-14 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch12.adb (Analyze_Associations): Expand wrappers for + GNATprove. + +2022-11-14 Patrick Bernardi <bernardi@adacore.com> + + * libgnat/system-qnx-arm.ads: Set Support_Atomic_Primitives to + True. + * libgnat/system-rtems.ads: Add Support_Atomic_Primitives. + +2022-11-14 Yannick Moy <moy@adacore.com> + + * errout.adb (Error_Msg_Internal): Store span for Optr field, and + adapt to new type of Optr. + (Finalize. Output_JSON_Message, Remove_Warning_Messages): Adapt to + new type of Optr. + (Output_Messages): Use Optr instead of Sptr to display code + snippet closer to error. + * erroutc.adb (dmsg): Adapt to new type of Optr. + * erroutc.ads (Error_Msg_Object): Make Optr a span like Sptr. + * errutil.adb (Error_Msg): Likewise. + +2022-11-14 Arnaud Charlet <charlet@adacore.com> + + * doc/gnat_ugn/gnat_utility_programs.rst: Remove gnatcheck + reference. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gnat-style.rst: Moved to... + * doc/gnat-style/index.rst: ...here. + * doc/gnat_rm.rst: Moved to... + * doc/gnat_rm/index.rst: ...here. + * doc/gnat_ugn.rst: Moved to... + * doc/gnat_ugn/index.rst: ...here. + * doc/share/latex_elements.py: Moved to... + * doc/share/ada_latex_elements.py: ...here. + * gcc-interface/Make-lang.in: + * doc/Makefile: Removed. + * doc/share/conf.py: Removed. + * doc/share/gnu_free_documentation_license.rst: Removed. + * gnat-style.texi: Removed. + * gnat_rm.texi: Removed. + * gnat_ugn.texi: Removed. + * doc/gnat-style/conf.py: New file. + * doc/gnat-style/gnu_free_documentation_license.rst: New file. + * doc/gnat_rm/conf.py: New file. + * doc/gnat_rm/gnu_free_documentation_license.rst: New file. + * doc/gnat_ugn/conf.py: New file. + * doc/gnat_ugn/gnu_free_documentation_license.rst: New file. + * doc/share/adabaseconf.py: New file. + * doc/gnat_rm/security_hardening_features.rst: Add role. + * doc/gnat_ugn/platform_specific_information.rst: Remove + duplicate definition of |nbsp|. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * gcc-interface/Make-lang.in: Support --with-sphinx-build. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gnat_rm/index.rst: Fix cross manual refs. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * gcc-interface/Make-lang.in: + Support installation if sphinx-build is missing. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * gcc-interface/Make-lang.in: + Support installation if sphinx-build is missing. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gnat_rm/index.rst: Fix cross manual refs. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * gcc-interface/Make-lang.in: Support --with-sphinx-build. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gnat-style.rst: Moved to... + * doc/gnat-style/index.rst: ...here. + * doc/gnat_rm.rst: Moved to... + * doc/gnat_rm/index.rst: ...here. + * doc/gnat_ugn.rst: Moved to... + * doc/gnat_ugn/index.rst: ...here. + * doc/share/latex_elements.py: Moved to... + * doc/share/ada_latex_elements.py: ...here. + * gcc-interface/Make-lang.in: + * doc/Makefile: Removed. + * doc/share/conf.py: Removed. + * doc/share/gnu_free_documentation_license.rst: Removed. + * gnat-style.texi: Removed. + * gnat_rm.texi: Removed. + * gnat_ugn.texi: Removed. + * doc/gnat-style/conf.py: New file. + * doc/gnat-style/gnu_free_documentation_license.rst: New file. + * doc/gnat_rm/conf.py: New file. + * doc/gnat_rm/gnu_free_documentation_license.rst: New file. + * doc/gnat_ugn/conf.py: New file. + * doc/gnat_ugn/gnu_free_documentation_license.rst: New file. + * doc/share/adabaseconf.py: New file. + * doc/gnat_rm/security_hardening_features.rst: Add role. + * doc/gnat_ugn/platform_specific_information.rst: Remove + duplicate definition of |nbsp|. + +2022-11-08 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils2.cc (build_allocator): For unconstrained + array types with a storage model and an initializing expression, + copy the initialization expression separately from the bounds. In + all cases with a storage model, pass the locally computed size for + the store. + +2022-11-08 Steve Baird <baird@adacore.com> + + * sem_attr.adb + (Eval_Attribute): Don't simplify 'Image call if Put_Image has been + specified. + +2022-11-08 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch6.adb, exp_put_image.adb, sem_aggr.adb, sem_attr.adb, + sem_ch5.adb, sem_type.adb, sem_util.adb: Replace + "Present (Find_Aspect (...))" with "Has_Aspect". + +2022-11-08 Ronan Desplanques <desplanques@adacore.com> + + * contracts.adb + (Preanalyze_Class_Conditions): New procedure. + (Preanalyze_Condition): Moved out from Merge_Class_Conditions in + order to be spec-visible. + * contracts.ads + (Preanalyze_Class_Conditions): New procedure. + * sem_prag.adb + (Analyze_Pre_Post_Condition_In_Decl_Part): Call + Preanalyze_Class_Conditions when necessary. + +2022-11-08 Johannes Kliemann <kliemann@adacore.com> + + * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Set + Support_Atomic_Primitives to True. + * libgnat/system-vxworks7-aarch64.ads: Set + Support_Atomic_Primitives to True. + * libgnat/system-vxworks7-arm-rtp-smp.ads: Set + Support_Atomic_Primitives to True. + * libgnat/system-vxworks7-arm.ads: Set Support_Atomic_Primitives + to True. + * libgnat/system-vxworks7-ppc-kernel.ads: Set + Support_Atomic_Primitives to False. + * libgnat/system-vxworks7-ppc-rtp-smp.ads: Set + Support_Atomic_Primitives to False. + * libgnat/system-vxworks7-ppc64-kernel.ads: Set + Support_Atomic_Primitives to True. + * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Set + Support_Atomic_Primitives to True. + * libgnat/system-vxworks7-x86-kernel.ads: Set + Support_Atomic_Primitives to True. + * libgnat/system-vxworks7-x86-rtp-smp.ads: Set + Support_Atomic_Primitives to True. + * libgnat/system-vxworks7-x86_64-kernel.ads: Set + Support_Atomic_Primitives to True. + * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Set + Support_Atomic_Primitives to True. + +2022-11-08 Eric Botcazou <ebotcazou@adacore.com> + + * fe.h (Get_Warn_On_Questionable_Layout): Add void parameter. + +2022-11-08 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch12.adb (Instantiate_Formal_Subprogram): Copy aspect Ghost + from formal subprogram declaration to the internally generated + procedure. + +2022-11-08 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch4.adb (Analyze_Case_Expression): Compute the + interpretations of the expression only at the end of the analysis, + but skip doing it if it is the operand of a type conversion. + (Analyze_If_Expression): Likewise. + * sem_res.adb (Resolve): Deal specially with conditional + expression that is the operand of a type conversion. + (Resolve_Dependent_Expression): New procedure. + (Resolve_Case_Expression): Call Resolve_Dependent_Expression. + (Resolve_If_Expression): Likewise. + (Resolve_If_Expression.Apply_Check): Take result type as + parameter. + (Resolve_Type_Conversion): Do not warn about a redundant + conversion when the operand is a conditional expression. + +2022-11-08 Javier Miranda <miranda@adacore.com> + + * debug.adb + (Debug_Flag_Underscore_XX): Switch -gnatd_X used temporarily to allow + disabling extra formal checks. + * exp_attr.adb + (Expand_N_Attribute_Reference [access types]): Add extra formals + to the subprogram referenced in the prefix of 'Unchecked_Access, + 'Unrestricted_Access or 'Access; required to check that its extra + formals match the extra formals of the corresponding subprogram type. + * exp_ch3.adb + (Stream_Operation_OK): Declaration moved to the public part of the + package. + (Validate_Tagged_Type_Extra_Formals): New subprogram. + (Expand_Freeze_Record_Type): Improve the code that takes care of + adding the extra formals of dispatching primitives; extended to + add also the extra formals to renamings of dispatching primitives. + * exp_ch3.ads + (Stream_Operation_OK): Declaration moved from the package body. + * exp_ch6.adb + (Check_BIP_Actuals): Complete documentation. + (Has_BIP_Extra_Formal): Subprogram declaration moved to the public + part of the package. In addition, a parameter has been added to + disable an assertion that requires its use with frozen entities. + (Duplicate_Params_Without_Extra_Actuals): New subprogram. + (Check_Subprogram_Variant): Emit the call without duplicating the + extra formals since they will be added when the call is analyzed. + (Expand_Call_Helper): Ensure that the called subprogram has all its + extra formals, enforce assertion checking extra formals on thunks, + and mark calls from thunks as processed-BIP-calls to avoid adding + their extra formals twice. + (Is_Build_In_Place_Function): Return False for entities with foreign + convention. + (Is_Build_In_Place_Function_Call): Return True also for not BIP functions + that have BIP formals since the extra actuals are required. + (Make_Build_In_Place_Call_In_Object_Declaration): Occurrences of + Is_Return_Object replaced by the local variable Is_OK_Return_Object + that evaluates to False for scopes with foreign convention. + (Might_Have_Tasks): Fix check of class-wide limited record types. + (Needs_BIP_Task_Actuals): Remove assertion to allow calling this + function in more contexts; in addition it returns False for functions + returning objects with foreign convention. + (Needs_BIP_Finalization_Master): Likewise. + (Needs_BIP_Alloc_Form): Likewise. + (Validate_Subprogram_Calls): Check that the number of actuals (including + extra actuals) of calls in the subtree N match their corresponding + formals. + * exp_ch6.ads + (Has_BIP_Extra_Formal): Subprogram declaration moved to the public + part of the package. In addition, a parameter has been added to + disable an assertion that requires its use with frozen entities. + (Is_Build_In_Place_Function_Call): Complete documentation. + (Validate_Subprogram_Calls): Check that the number of actuals (including + extra actuals) of calls in the subtree N match their corresponding + formals. + * freeze.adb + (Check_Itype): Add extra formals to anonymous access subprogram itypes. + (Freeze_Expression): Improve code that disables the addition of extra + formals to functions with foreign convention. + (Check_Extra_Formals): Moved to package Sem_Ch6 as Extra_Formals_OK. + (Freeze_Subprogram): Add extra formals to non-dispatching subprograms. + * frontend.adb + (Frontend): Validate all the subprogram calls; it can be disabled using + switch -gnatd_X + * sem_ch3.adb + (Access_Subprogram_Declaration): Defer the addition of extra formals to + the freezing point so that we know the convention. + (Check_Anonymous_Access_Component): Likewise. + (Derive_Subprogram): Fix documentation. + * sem_ch6.adb + (Has_Reliable_Extra_Formals): New subprogram. + (Check_Anonymous_Return): Fix check of access to class-wide limited + record types. + (Check_Untagged_Equality): Placed in alphabetical order. + (Extra_Formals_OK): Subprogram moved from freeze.adb. + (Extra_Formals_Match_OK): New subprogram. + (Has_BIP_Formals): New subprogram. + (Has_Extra_Formals): New subprograms. + (Needs_Accessibility_Check_Extra): New subprogram. + (Parent_Subprogram): New subprogram. + (Add_Extra_Formal): Minor code cleanup. + (Create_Extra_Formals): Enforce matching extra formals on overridden + and aliased entities. + * sem_ch6.ads + (Extra_Formals_Match_OK): New subprogram. + (Extra_Formals_OK): Subprogram moved from freeze.adb. + * sem_eval.adb + (Compile_Time_Known_Value): Improve predicate to avoid assertion + failure; found working on this ticket; this change does not + affect the behavior of the compiler because this subprogram + has an exception handler that returns False when the assertion + fails. + * sem_util.adb + (Needs_Result_Accessibility_Level): Do not return False for dispatching + operations compiled with Ada_Version < 2012 since they they may be + overridden by primitives compiled with Ada_Version >= Ada_2012. + +2022-11-08 Bob Duff <duff@adacore.com> + + * warnsw.ads, warnsw.adb, fe.h, err_vars.ads, errout.ads: Move + Warning_Doc_Switch from Err_Vars to Warnsw. Access + Warn_On_Questionable_Layout on the C side via a function rather + than a variable, because we plan to turn the variables into + renamings, and you can't Export renamings. + * erroutc.adb, switch-c.adb, errout.adb: Likewise. + * gcc-interface/decl.cc: Use Get_Warn_On_Questionable_Layout + instead of Warn_On_Questionable_Layout. + * gcc-interface/Makefile.in (GNATMAKE_OBJS): Add warnsw.o, because + it is indirectly imported via Errout. + * gcc-interface/Make-lang.in (GNATBIND_OBJS): Likewise and remove + restrict.o (not needed). + +2022-11-08 Ronan Desplanques <desplanques@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst + (-gnatwc): Fix flag documentation. + * gnat_ugn.texi: Regenerate. + +2022-11-08 Steve Baird <baird@adacore.com> + + * sem_ch3.adb + (Analyze_Object_Declaration): Do not perform expansion actions if + In_Spec_Expression is true. + +2022-11-08 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch4.adb (Analyze_Qualified_Expression): Analyze the + expression only after setting the type. + (Analyze_Unchecked_Type_Conversion): Likewise. + (Analyze_Short_Circuit): Likewise for the operands. + (Analyze_Type_Conversion): Minor tweaks. + (Analyze_Unchecked_Expression): Likewise. + +2022-11-08 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch4.adb (Analyze_Qualified_Expression): Remove redundant + line. + +2022-11-08 Ronan Desplanques <desplanques@adacore.com> + + * contracts.adb (Preanalyze_Condition): Use + Preanalyze_Spec_Expression. + +2022-11-08 Piotr Trojanek <trojanek@adacore.com> + + * exp_imgv.adb + (Expand_Wide_Image_Attribute): Handle just like attribute Image. + (Expand_Wide_Wide_Image_Attribute): Likewise. + * exp_put_image.adb + (Build_Image_Call): Adapt to also work for Wide and Wide_Wide + attributes. + * exp_put_image.ads + (Build_Image_Call): Update comment. + * rtsfind.ads + (RE_Id): Support wide variants of Get. + (RE_Unit_Table): Likewise. + +2022-11-08 Piotr Trojanek <trojanek@adacore.com> + + * libgnat/a-ngcoar.ads, libgnat/a-ngcoar.adb: Remove extra spaces. + +2022-11-08 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch12.adb (Validate_Formal_Type_Default): Remove call to + Collect_Interfaces, which had no effect apart from populating a + list that was not used; fix style. + +2022-11-08 Piotr Trojanek <trojanek@adacore.com> + + * exp_spark.adb (SPARK_Freeze_Type): Refine type of a local + object. + * sem_ch3.adb (Derive_Subprograms): Remove initial value for + New_Subp, which is in only written as an out parameter and never + read. + +2022-11-08 Eric Botcazou <ebotcazou@adacore.com> + + * sem_res.adb (Resolve_If_Expression): Remove obsolete special + case. + +2022-11-08 Piotr Trojanek <trojanek@adacore.com> + + * sem_aggr.adb (Resolve_Delta_Aggregate): Implement rules related + to limited objects appearing as the base expression. + +2022-11-08 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch3.adb (OK_For_Limited_Init_In_05): Handle delta aggregates + just like other aggregates. + +2022-11-08 Piotr Trojanek <trojanek@adacore.com> + + * sem_aggr.adb (Resolve_Delta_Record_Aggregate): Reject + expressions of a limited types. + +2022-11-08 Javier Miranda <miranda@adacore.com> + + * exp_ch9.adb + (Build_Master_Entity): Handle missing case: when the context of + the master is a BIP function whose result type has tasks. + +2022-11-08 Piotr Trojanek <trojanek@adacore.com> + + * libgnat/a-tags.adb + (Interface_Ancestor_Tags): Raise Tag_Error on No_Tag. + (Is_Descendant_At_Same_Level): Likewise. + +2022-11-08 Bob Duff <duff@adacore.com> + + * usage.adb: Add -gnatw_q and -gnatw_Q. + +2022-11-07 Cedric Landet <landet@adacore.com> + + * doc/gnat_ugn/gnat_and_program_execution.rst: Mention the needed + -no-pie for windows to use gprof. + * gnat_ugn.texi: Regenerate. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * lib-xref.adb (Hash): Tune hash function. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Non_Significant_Pragma_Reference): Detect + references with aggregates; only assign local variables Id and C + when necessary. + +2022-11-07 Bob Duff <duff@adacore.com> + + * exp_ch4.adb + (Component_Equality, Expand_Array_Equality) + (Expand_Record_Equality): Use named notation. + +2022-11-07 Bob Duff <duff@adacore.com> + + * exp_ch4.adb + (Expand_Array_Equality): Do not test Ltyp = Rtyp here, because + that is necessarily true. Move assertion thereof to more general + place. + (Expand_Composite_Equality): Pass in Outer_Type, for use in + warnings. Rename Typ to be Comp_Type, to more clearly distinguish + it from Outer_Type. Print warning when appropriate. + * exp_ch4.ads: Minor comment fix. + * errout.ads: There is no such pragma as Warning_As_Pragma -- + Warning_As_Error must have been intended. Improve comment for ?x?. + * exp_ch3.adb + (Build_Untagged_Equality): Update comment to be accurate for more + recent versions of Ada. + * sem_case.adb + (Choice_Analysis): Declare user-defined "=" functions as abstract. + * sem_util.ads + (Is_Bounded_String): Give RM reference in comment. + * warnsw.ads, warnsw.adb + (Warn_On_Ignored_Equality): Implement new warning switch -gnatw_q. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Document new warning switch. + * gnat_ugn.texi: Regenerate. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_aux.ads (Is_Body): Annotate with Inline. + * sem_util.ads (Is_Body_Or_Package_Declaration): Likewise. + +2022-11-07 Bob Duff <duff@adacore.com> + + * freeze.adb + (Build_Inherited_Condition_Pragmas): Do nothing if A_Post is + empty. + +2022-11-07 Quentin Ochem <ochem@adacore.com> + Steve Baird <baird@adacore.com> + + * bindgen.adb: fixed the way the device init and final symbols are + computed, re-using the normal way these symbols would be computed + with a __device_ prefix. Also fixed the "is null;" procedure on + the host side which are not Ada 95, replaced with a procedure + raising an exception as it should never be called. Remove the + unused function Device_Ada_Final_Link_Name. + +2022-11-07 Steve Baird <baird@adacore.com> + + * opt.ads: Declare new string pointer variable, CUDA_Device_Library_Name. + Modify comments for existing Boolean variable Enable_CUDA_Device_Expansion. + * switch-b.adb: When "-d_c" switch is encountered, check that the next + character is an "'='; use the remaining characters to initialize + Opt.CUDA_Device_Library_Name. + * bindgen.adb: Remove (for now) most support for host-side invocation of + device-side finalization. Make use of the new CUDA_Device_Library_Name + in determining the string used to refer (on the host side) to the + device-side initialization procedure. Declare the placeholder routine + that is named in the CUDA_Execute pragma (and the CUDA_Register_Function + call) as an exported null procedure, rather than as an imported procedure. + It is not clear whether it is really necessary to specify the link-name + for this should-never-be-called subprogram on the host side, but for now it + shouldn't hurt to do so. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch6.adb (Expand_Protected_Subprogram_Call): Examine scope + tree and not the scope stack. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * mdll.ads (Build_Import_Library): Fix grammar in comment. + * mdll.adb (Build_Import_Library): Directly execute code of a + nested routine; rename No_Lib_Prefix to Strip_Lib_Prefix. + +2022-11-07 Bob Duff <duff@adacore.com> + + * sem_warn.adb + (Check_For_Warnings): Remove unnecessary exception handler. + (Warn_On_Known_Condition): Suppress warning when we detect a True + or False that has been turned into a more complex expression + because True is represented as "nonzero". (Note that the complex + expression will subsequently be constant-folded to a Boolean True + or False). Also simplify to always print "condition is always ..." + instead of special-casing object names. The special case was + unhelpful, and indeed wrong when the expression is a literal. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * checks.adb (Safe_To_Capture_In_Parameter_Value): Remove. + * sem_util.adb (Safe_To_Capture_Value): Stop search at the current + body. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_warn.adb (Warn_On_In_Out): Remove No_ prefix; flip return + values between True and False; adapt caller. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch13.adb (Add_Call): Just look at Instantiation_Depth. + * sem_ch3.adb (Derive_Subprograms): Likewise. + * sem_warn.adb (Check_References): Remove redundant filtering with + Instantiation_Depth that follows filtering with + Instantiation_Location. + * sinput.adb (Instantiation_Depth): Reuse Instantiation_Location. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_warn.adb + (No_Warn_On_In_Out): For subprograms we can simply call + Warnings_Off. + (Output_Non_Modified_In_Out_Warnings): Remove repeated + suppression. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_aggr.adb (Resolve_Delta_Array_Aggregate): Reject boxes in + delta array aggregates. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Enclosing_Declaration_Or_Statement): Moved to + Sem_Util. + * sem_util.ads (Enclosing_Declaration_Or_Statement): Moved from + Sem_Res. + * sem_util.adb (Enclosing_Declaration_Or_Statement): Likewise. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Resolve): Only call Comes_From_Predefined_Lib_Unit + when its result might be needed. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch12.adb (Check_Generic_Actuals): Remove redundant parens; + refactor an excessive if-statement; remove repeated call to Node. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * inline.adb (Establish_Actual_Mapping_For_Inlined_Call): Move + comment next to a condition that it describes. + +2022-11-07 Steve Baird <baird@adacore.com> + + * exp_put_image.adb + (Image_Should_Call_Put_Image): Correctly handle the case of an + inherited Put_Image aspect specification for a scalar type. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * libgnarl/s-interr.adb: Tune whitespace. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * libgnarl/s-interr.adb: Reorder context items and pragmas. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch4.adb + (Expand_Modular_Addition): Rewrite using Make_XXX calls. + (Expand_Modular_Op): Likewise. + (Expand_Modular_Subtraction): Likewise. + * exp_imgv.adb + (Expand_User_Defined_Enumeration_Image): Likewise. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * checks.adb (Apply_Arithmetic_Overflow_Strict): Rewrite using a + newly created operator node. + * exp_ch4.adb (Expand_Array_Comparison): Likewise. + * exp_ch6.adb (Add_Call_By_Copy_Code): Rewriting actual parameter + using its own location and not the location of the subprogram + call. + * sem_warn.adb (Check_References): Looping with Original_Node is + no longer needed. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Is_In_Context_Clause): Rewrite without negations + and inequalities. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Analyze_Pragma [Pragma_Obsolescent]): Reject + misplaced pragma. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_warn.adb (Output_Obsolescent_Entity_Warnings): Tag warnings + about obsolescent functions just like we tag similar warnings for + packages and procedures. + +2022-11-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_attr.adb (Expand_N_Attribute_Reference): Remove useless + skipping for attribute Input. + +2022-11-04 Justin Squirek <squirek@adacore.com> + + * exp_attr.adb (Expand_N_Attribute_Reference): Skip operand + validity checks for attributes Has_Same_Storage and + Overlaps_Storage. + +2022-11-04 Eric Botcazou <ebotcazou@adacore.com> + + * errout.adb (Remove_Warning_Messages.Check_For_Warning): Do not + reinstate the Original_Node in the tree. + * exp_aggr.adb (Build_Array_Aggr_Code.Gen_Loop): Copy the bounds + on all paths. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * libgnat/g-excact.ads + (Register_Global_Action): Refill comment. + (Name_To_Id): Change pragma Restriction from singular to plural. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_warn.adb (Check_References): Remove redundant guard, as it + is implied by a preceding call to Referenced_Check_Spec. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_warn.adb (Check_References): Remove useless query for "spec" + of a variable; refactor nested if-statements into a single + condition. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb + (In_Pragma_Expression): Add standard guard against searching too + far. + (In_Quantified_Expression): Likewise. + * sem_warn.adb + (May_Need_Initialized_Actual): Remove redundant parens. + (Check_References): Remove guard that duplicates a condition from + the enclosing if-statement; only assign E1T variable when + necessary. + (Within_Postcondition): Fix layout. + (No_Warn_On_In_Out): Balance parens in comment. + +2022-11-04 Steve Baird <baird@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst: Add the standard + '... "On" enables this extension.' sentence to the description of + static intrinsic functions. + * sem_ch13.adb + (Analyze_Aspect_Spec): In the call to Error_Msg_GNAT_Extension for + a Static aspect specification for an intrinsic function, specify + Is_Core_Extension => True. + * sem_eval.adb + (Eval_Intrinsic_Call): Test Core_Extensions_Allowed instead of + testing All_Extensions_Allowed. + * gnat_rm.texi: Regenerate. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * aspects.adb (Relocate_Aspect): Remove call to Set_Has_Aspects. + * sem_ch12.adb (Analyze_Formal_Package_Declaration): Likewise. + * sem_util.adb (Copy_Ghost_Aspect, Copy_SPARK_Mode_Aspect): + Likewise. + +2022-11-04 Javier Miranda <miranda@adacore.com> + + * exp_intr.adb + (Expand_Dispatching_Constructor_Call): Report an error on + unsupported dispatching constructor calls and report a warning on + calls that may fail at run time. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb + (Check_Components): Iterate using + First/Next_Component_Or_Discriminant. + (Has_Preelaborable_Initialization): Avoid repeated iteration with + calls to Check_Components with First_Entity and + First_Private_Entity. + (Is_Independent_Object_Entity): Tune indentation. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch7.adb (Clear_Constants): Only iterate from First_Entity + through Next_Entity; only examine variables because packages have + no assignable formal parameters. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix + typos. + * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Fix typos + and refill as necessary; remove trailing whitespace. + * doc/gnat_ugn/gnat_and_program_execution.rst: Fix typos. + * gnat_ugn.texi: Regenerate. + +2022-11-04 Marc Poulhiès <poulhies@adacore.com> + + * sem_util.ads (Add_Block_Identifier): Add new extra Scope + argument. + * sem_util.adb (Add_Block_Identifier): Likewise and use this scope + variable instead of Current_Scope. + * exp_util.adb (Wrap_Statements_In_Block): Add new scope argument + to Add_Block_Identifier call. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Kill_Current_Values): Only iterate from + First_Entity through Next_Entity. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch6.adb (Controlling_Formal): Iterate with First/Next_Formal + and not with First/Next_Entity. + +2022-11-04 Javier Miranda <miranda@adacore.com> + + * exp_disp.adb + (Expand_Interface_Conversion): Fix typo in comment. + +2022-11-04 Javier Miranda <miranda@adacore.com> + + * exp_disp.adb + (Expand_Interface_Conversion): Under configurable runtime, when + the target type is an interface that is an ancestor of the operand + type, skip generating code to displace the pointer to reference + the target dispatch table. + * sem_disp.adb + (Propagate_Tag): Handle class-wide types when checking for the + addition of an implicit interface conversion. + +2022-11-04 Ronan Desplanques <desplanques@adacore.com> + + * doc/gnat_rm/standard_library_routines.rst: Fix typo. + * gnat_rm.texi: Regenerate. + +2022-11-04 Ghjuvan Lacambre <lacambre@adacore.com> + + * sa_messages.ads, sa_messages.adb: Remove files. + +2022-11-04 Ghjuvan Lacambre <lacambre@adacore.com> + + * checks.adb, exp_atag.adb, exp_attr.adb, exp_ch4.adb, exp_ch6.adb, + exp_ch7.adb, exp_dbug.adb, exp_disp.adb, exp_unst.adb, exp_util.adb, + freeze.adb, layout.adb, pprint.adb, rtsfind.adb, sem_aggr.adb, + sem_attr.adb, sem_case.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, + sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_dim.adb, sem_prag.adb, + sem_util.adb, sem_warn.adb: + Replace uses of `not Present (X)` with `No (X)`. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * einfo.ads: Fix typos in comments; refill as necessary. + * sinfo.ads: Likewise. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_aspects.rst: Fix typos. + * doc/gnat_rm/implementation_defined_attributes.rst: Likewise + * doc/gnat_rm/implementation_defined_characteristics.rst: Likewise + * doc/gnat_rm/implementation_defined_pragmas.rst: Likewise + * doc/gnat_rm/standard_library_routines.rst: Likewise. + * gnat_rm.texi: Regenerate. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch8.adb (Restore_Scope_Stack): Remove elements from the head + and not the tail of an element list. + +2022-11-04 Ronan Desplanques <desplanques@adacore.com> + + * sinfo.ads: Small editorial changes. + +2022-11-04 Steve Baird <baird@adacore.com> + + * opt.ads: Replace Ada_Version_Type enumeration literal + Ada_With_Extensions with two literals, Ada_With_Core_Extensions + and Ada_With_All_Extensions. Update uses of the deleted literal. + Replace Extensions_Allowed function with two functions: + All_Extensions_Allowed and Core_Extensions_Allowed. + * errout.ads, errout.adb: Add Boolean parameter to + Error_Msg_GNAT_Extension to indicate whether the construct in + question belongs to the curated subset. + * exp_ch5.adb, par-ch4.adb, sem_case.adb, sem_ch3.adb: + * sem_ch4.adb, sem_ch5.adb, sem_ch8.adb: Replace calls to + Extensions_Allowed with calls to Core_Extensions_Allowed for + constructs that are in the curated subset. + * sem_attr.adb, sem_ch13.adb, sem_eval.adb, sem_util.adb: Replace + calls to Extensions_Allowed with calls to All_Extensions_Allowed + for constructs that are not in the curated subset. + * par-ch3.adb: Override default for new parameter in calls to + Error_Msg_GNAT_Extension for constructs in the curated subset. + * par-prag.adb: Add Boolean parameter to Check_Arg_Is_On_Or_Off to + also allow ALL. Set Opt.Ada_Version appropriately for ALL or ON + arguments. + * sem_prag.adb: Allowed ALL argument for an Extensions_Allowed + pragma. Set Opt.Ada_Version appropriately for ALL or ON arguments. + * switch-c.adb: The -gnatX switch now enables only the curated + subset of language extensions (formerly it enabled all of them); + the new -gnatX0 switch enables all of them. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Document new "-gnatX0" switch and update documentation for + "-gnatX" switch. + * doc/gnat_rm/implementation_defined_pragmas.rst: Document new ALL + argument for pragma Extensions_Allowed and update documentation + for the ON argument. Delete mention of Ada 2022 Reduce attribute + as an extension. + * gnat_rm.texi, gnat_ugn.texi: Regenerate. + +2022-11-04 Steve Baird <baird@adacore.com> + + * bindgen.adb: Introduce two new string constants for the names of + the C-String variables that are assigned the names for adainit and + adafinal. Replace string literals in Gen_CUDA_Init with references + to these constants. In Gen_CUDA_Defs, generate C-String variable + declarations where these constants are the names of the variables. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch9.adb (Satisfies_Lock_Free_Requirements): Ignore + references to global variables inserted due to pragma + Initialize_Scalars. + +2022-11-04 Cedric Landet <landet@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst: Remove VxWorks + version 6. + * gnat_rm.texi, gnat_ugn.texi: Regenerate. + +2022-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch9.adb (Satisfies_Lock_Free_Requirements): Detect + references via expanded names. + +2022-11-04 Steve Baird <baird@adacore.com> + + * bindgen.adb + (Gen_CUDA_Init): Move existing loop body into a new local + procedure, Gen_CUDA_Register_Function_Call, and replace that loop + body with a call to this procedure. This first part is just + semantics-preserving refactoring. The second part is to add + Gen_CUDA_Register_Function_Call calls after the loop for the + device-side adainit and adafinal procedures. + +2022-10-11 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/system-linux-sparc.ads (Support_Atomic_Primitives): New + constant set to True. + +2022-10-06 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/ada-tree.def (LOAD_EXPR): New expression code. + * gcc-interface/gigi.h (build_storage_model_load): Declare. + (build_storage_model_store): Likewise. + (instantiate_load_in_expr): Likewise. + (INSTANTIATE_LOAD_IN_EXPR): New macro. + (instantiate_load_in_array_ref): Declare. + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Record_Type>: Set a + fake discriminant number on the fields of the template type. + (gnat_to_gnu_field): Use integer for DECL_DISCRIMINANT_NUMBER. + * gcc-interface/misc.cc (gnat_init_ts): Mark LOAD_EXPR as typed. + * gcc-interface/trans.cc (fold_constant_decl_in_expr) <ARRAY_REF>: + Also preserve the 4th operand. + (Attribute_to_gnu): Deal with LOAD_EXPR of unconstrained array type. + <Attr_Size>: Call INSTANTIATE_LOAD_IN_EXPR for a storage model. + <Attr_Length>: Likewise. + <Attr_Bit_Position>: Likewise. + (get_storage_model): New function. + (get_storage_model_access): Likewise. + (storage_model_access_required_p): Likewise. + (Call_to_gnu): Add GNAT_STORAGE_MODEL parameter and deal with it. + Also deal with actual parameters that have a storage model. + (gnat_to_gnu) <N_Object_Declaratio>: Adjust call to Call_to_gnu. + <N_Explicit_Dereference>: Deal with a storage model access. + <N_Indexed_Component>: Likewise. + <N_Slice>: Likewise. + <N_Selected_Component>: Likewise. + <N_Assignment_Statement>: Adjust call to Call_to_gnu. Deal with a + storage model access either on the LHS, on the RHS or on both. + <N_Function_Cal>: Adjust call to Call_to_gnu. + <N_Free_Statement>: Deal with a pool that is a storage model. + Replace test for UNCONSTRAINED_ARRAY_REF with test on the type. + (gnat_gimplify_expr) <CALL_EXPR>: Tidy up. + <LOAD_EXPR>: New case. + <UNCONSTRAINED_ARRAY_REF>: Move down. + * gcc-interface/utils.cc (maybe_unconstrained_array): Deal with a + LOAD_EXPR by recursing on its first operand. + * gcc-interface/utils2.cc (build_allocator): Deal with a pool that + is a storage model. + (build_storage_model_copy): New function. + (build_storage_model_load): Likewise. + (build_storage_model_store): Likewise. + (instantiate_load_in_expr): Likewise. + (instantiate_load_in_array_ref): Likewise. + (gnat_rewrite_reference) <ARRAY_REF>: Also preserve the 4th operand. + (get_inner_constant_reference) <ARRAY_REF>: Remove useless test. + (gnat_invariant_expr) <ARRAY_REF>: Rewrite test. + +2022-10-06 Steve Baird <baird@adacore.com> + + * sem_ch6.adb + (Analyze_Procedure_Call): Replace "return;" with "goto Leave;", as + per comment preceding body of Analyze_Procedure_Call. + +2022-10-06 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch9.adb (Allows_Lock_Free_Implementation): Reject + conditional goto statements. + +2022-10-06 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst + (Lock_Free): Remove inconsistent periods that end item + descriptions. + * sem_ch9.adb + (Allows_Lock_Free_Implementation): Remove unnecessary guard + against an empty list of parameters; replace low-level entity kind + membership test with a high-level query; refill error message. + * gnat_rm.texi: Regenerate. + +2022-10-06 Alexandre Oliva <oliva@adacore.com> + + * doc/gnat_rm/security_hardening_features.rst: Add examples of + codegen changes in hardened conditionals. + * gnat_rm.texi: Regenerate. + +2022-10-06 Alexandre Oliva <oliva@adacore.com> + + * doc/gnat_rm/security_hardening_features.rst: Add examples of + codegen changes in hardened booleans. Mention that C traps where + Ada raises exceptions. + * gnat_rm.texi: Regenerate. + +2022-10-06 Alexandre Oliva <oliva@adacore.com> + + * doc/gnat_rm/security_hardening_features.rst: Add examples of + codegen changes in stack scrubbing. + * gnat_rm.texi: Regenerate. + +2022-10-06 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch9.adb (Build_Lock_Free_Protected_Subprogram_Body): Replace + shallow copy of protected statements with a deep copy. + +2022-10-06 Marc Poulhiès <poulhies@adacore.com> + + * fe.h (Has_Storage_Model_Type_Aspect) + (Has_Designated_Storage_Model_Aspect, Storage_Model_Object) + (Storage_Model_Copy_From, Storage_Model_Copy_To): Add + declarations. + * sem_util.ads: Add WARNING markers for functions for which a new + C declaration has been added in fe.h + +2022-10-06 Steve Baird <baird@adacore.com> + + * exp_util.adb + (Get_Current_Value_Condition): Treat references occurring within + the condition of an if statement, an elsif, or a while loop in the + same way as references that occur before the start of that + enclosing construct. + +2022-10-06 Gary Dismukes <dismukes@adacore.com> + + * sem_ch4.adb (Analyze_Call): Add test of Comes_From_Source on the + enclosing subprogram's Entity_Id for determining whether to + perform the compile-time accessibility check on actuals passed to + aliased formals in a function call occurring within a return + statement. That test excludes cases where the call occurs within + the return statement of a Pre'Class wrapper function. + +2022-10-06 Bob Duff <duff@adacore.com> + + * exp_ch5.adb + (Expand_Assign_Array_Loop_Or_Bitfield): Minor cleanups. + +2022-10-06 Yannick Moy <moy@adacore.com> + + * sem_prag.adb (Analyze_Pragma): Ignore one variant of pragma + Warnings in GNATprove mode. + +2022-10-06 Bob Duff <duff@adacore.com> + + * exp_ch5.adb + (Expand_Assign_Array_Loop_Or_Bitfield): Disable the + Fast_Copy_Bitfield optimization in certain cases. + +2022-10-06 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb + (Sig_Pragma): Change flag for pragma Refined_State to mean "not + significant"; this is primarily for documentation, because the + exact value of the flag is not really taken into account for + Refined_State. + (Is_Non_Significant_Pragma_Reference): Add special handling for + pragma Refined_State. + +2022-09-29 Ronan Desplanques <desplanques@adacore.com> + + * einfo.ads: remove documentation duplicate + +2022-09-29 Eric Botcazou <ebotcazou@adacore.com> + + * contracts.adb (Build_Subprogram_Contract_Wrapper): Put back the + extended return statement if the result type is built-in-place. + * sem_attr.adb (Analyze_Attribute_Old_Result): Also expect an + extended return statement. + +2022-09-29 Bob Duff <duff@adacore.com> + + * exp_ch5.adb + (Expand_Assign_Array_Loop_Or_Bitfield): Make the checks for + volatile and independent objects more precise. + +2022-09-29 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Collect_Visible_States): Ignore package renamings. + +2022-09-26 Ghjuvan Lacambre <lacambre@adacore.com> + + * doc/gnat_rm/implementation_defined_attributes.rst: Rename Valid_Image. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2022-09-26 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Relocate + auxiliary declarations from the original compilation unit to the + newly created compilation unit for the spec. + +2022-09-26 Piotr Trojanek <trojanek@adacore.com> + + * rtsfind.ads + (RTU_Id): Remove unreferenced packages; fix whitespace. + (RE_Id): Remove unreferenced entities; add comment about entity + that is only used by GNATprove and not by GNAT. + +2022-09-26 Piotr Trojanek <trojanek@adacore.com> + + * s-oscons-tmplt.c (STR, STR1): Remove. + +2022-09-26 Eric Botcazou <ebotcazou@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst + (-gnateT): Document new parameter Long_Long_Long_Size. + * gnat_ugn.texi: Regenerate. + +2022-09-26 Steve Baird <baird@adacore.com> + + * bindgen.adb: When the binder is invoked for the device, specify + the CUDA_Global aspect for the adainit and adafinal procedures via + a pragma instead of via an aspect_specification. + +2022-09-26 Kévin Le Gouguec <legouguec@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst + (Linker Switches): Document support for mold along with gold; add some + advice regarding OpenSSL in the Pro version. + * gnat_ugn.texi: Regenerate. + +2022-09-26 Tucker Taft <taft@adacore.com> + + * sem_util.adb (Original_Aspect_Pragma_Name): Check for Check + pragmas. + +2022-09-26 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch5.adb (Analyze_Iterator_Specification): Delay expansion + based on Full_Analysis flag. + +2022-09-26 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch5.adb (Analyze_Iterator_Specification): Delay expansion of + for iterated component association just like it is done within + quantified expression. + +2022-09-26 Piotr Trojanek <trojanek@adacore.com> + + * contracts.adb (Analyze_Object_Contract): Check SPARK_Mode before + applying SPARK rule. + +2022-09-26 Justin Squirek <squirek@adacore.com> + + * sem_util.adb + (Accessibility_Level): Modify indexed and selected components case + by reducing the scope where Original_Node gets used. + +2022-09-26 Boris Yakobowski <yakobowski@adacore.com> + + * doc/gnat_ugn/gnat_utility_programs.rst: Remove documentation for + gnatmetric. + +2022-09-26 Piotr Trojanek <trojanek@adacore.com> + + * gsocket.h: Remove redefinition of _WIN32_WINNT. + * mingw32.h: Remove conditional definition of _WIN32_WINNT. + +2022-09-26 Piotr Trojanek <trojanek@adacore.com> + + * mingw32.h: Remove condition definition of MAXPATHLEN; the include + directive for stdlib.h was most likely intended to provide the + MAX_PATH. + +2022-09-26 Piotr Trojanek <trojanek@adacore.com> + + * adaint.c: Remove conditional #include directives for old MinGW. + * cal.c: Always include winsock.h, since it is part of modern + MinGW. + * cstreams.c: Remove workaround for old MinGW. + * expect.c: Remove conditional #include directive for old MinGW. + * mingw32.h: Remove STD_MINGW and OLD_MINGW declarations. + * sysdep.c: Remove conditional #include directive for old MinGW. + +2022-09-26 Piotr Trojanek <trojanek@adacore.com> + + * sem_warn.ads (Has_Junk_Name): Reword comment. + +2022-09-20 Martin Liska <mliska@suse.cz> + + * exp_ch6.adb: Replace "the the" with "the". + * sem_ch6.adb: Likewise. + * sem_disp.ads: Likewise. + +2022-09-15 Richard Biener <rguenther@suse.de> + + * gcc-interface/trans.cc (gigi): Do not initialize void_list_node. + +2022-09-12 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Relax assertion when + front-end unnesting is enabled. + +2022-09-12 Justin Squirek <squirek@adacore.com> + + * sem_util.adb + (Innermost_Master_Scope_Depth): Detect and handle case where scope + depth is not set on an enclosing scope. + +2022-09-12 Steve Baird <baird@adacore.com> + + * bindgen.adb: When the binder is invoked for the host, generate a + "with CUDA.Internal;" with clause. + +2022-09-12 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst + (Pragma Unreferenced): Sync description with + Sem_Warn.Has_Junk_Name routine. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2022-09-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Analyze_Attribute [Valid_Scalars]): Move check for + unchecked union before checks for private and public types. + +2022-09-12 Steve Baird <baird@adacore.com> + + * bindgen.adb: When the binder is invoked for the host, it + declares imported subprograms corresponding to the Adainit and + Adafinal routines on the device. Declare string constants and + expression functions for the Ada source names and the link names + of these routines. Generate these subprogram declarations (and + accompanying Import pragmas) in Gen_CUDA_Defs. Generate + CUDA_Execute pragmas to call these subprograms from the host in + Gen_Adafinal and Gen_CUDA_Init. When the binder is invoked for the + device, include a CUDA_Global aspect declaration in the + declarations of Adainit and Adafinal and use the aforementioned + link names in the Export pragmas generated for those two routines. + * debug.adb: Update comments about "d_c" and "d_d" switches. + * opt.ads: Declare new Boolean variable, + Enable_CUDA_Device_Expansion. This complements the existing + Enable_CUDA_Expansion variable, which is used to enable host-side + CUDA expansion. The new variable enables device-side CUDA + expansion. It is currently never set during compilation; it is + only set via a binder switch. + * switch-b.adb + (scan_debug_switches): Add new use of the "-d_d" binder switch. + The new switch and the variable Opt.Enabled_CUDA_Device_Expansion + follow the existing pattern of the "-d_c" switch and the variable + Opt.Enabled_CUDA_Expansion. Flag error if both "-d_c" and "-d_d" + are specified. + +2022-09-12 Eric Botcazou <ebotcazou@adacore.com> + + * contracts.adb (Build_Subprogram_Contract_Wrapper): Remove useless + local variable. In the case of a function, replace the extended + return statement by a block statement declaring a renaming of the + call to the local subprogram after removing side effects manually. + (Expand_Subprogram_Contract): Adjust description accordingly. + * exp_ch6.adb (Expand_Ctrl_Function_Call): Rewrite obsolete + comment and do not apply the transformation twice. + * sem_attr.adb (Analyze_Attribute_Old_Result): Now expect a block + statement instead of an extended return statement. + +2022-09-12 Piotr Trojanek <trojanek@adacore.com> + + * erroutc.adb (Set_Msg_Insertion_Name): Special-case printing with + acronyms. + +2022-09-12 Yannick Moy <moy@adacore.com> + + * libgnat/s-imagei.adb (Image_Integer): Add justification. + +2022-09-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Get_SPARK_Mode_Type): Fix header box; replace + chained IF with a CASE statement. + +2022-09-12 Yannick Moy <moy@adacore.com> + + * sem_prag.adb (Analyze_Pragma): Accept SPARK_Mode=>Auto as + configuration pragma. + (Get_SPARK_Mode): Make the value for Auto explicit. + * snames.ads-tmpl (Name_Auto): Add name. + +2022-09-12 Joffrey Huguet <huguet@adacore.com> + + * doc/gnat_rm/the_gnat_library.rst: Remove paragraphs about SPARK + containers. + * gnat_rm.texi, gnat_ugn.texi: Regenerate. + +2022-09-12 Yannick Moy <moy@adacore.com> + + * libgnat/s-maccod.ads: Mark package as SPARK_Mode Off. + +2022-09-12 Eric Botcazou <ebotcazou@adacore.com> + + * fe.h (Unnest_Subprogram_Mode): Declare. + +2022-09-12 Steve Baird <baird@adacore.com> + + * contracts.adb + (Analyze_Package_Contract): Do not analyze the contract of a + temporary package created just to check conformance of an actual + package. + +2022-09-12 Joffrey Huguet <huguet@adacore.com> + + * Makefile.rtl: Remove SPARK containers filenames. + * impunit.adb: Remove SPARK containers packages names. + * libgnat/a-cfdlli.adb, libgnat/a-cfdlli.ads: Remove content and + add pragma Compile_Time_Error with suitable message. + * libgnat/a-cfhama.adb, libgnat/a-cfhama.ads: Likewise. + * libgnat/a-cfhase.adb, libgnat/a-cfhase.ads: Likewise. + * libgnat/a-cfidll.adb, libgnat/a-cfidll.ads: Likewise. + * libgnat/a-cfinse.adb, libgnat/a-cfinse.ads: Likewise. + * libgnat/a-cfinve.adb, libgnat/a-cfinve.ads: Likewise. + * libgnat/a-cforma.adb, libgnat/a-cforma.ads: Likewise. + * libgnat/a-cforse.adb, libgnat/a-cforse.ads: Likewise. + * libgnat/a-cofove.adb, libgnat/a-cofove.ads: Likewise. + * libgnat/a-cofuma.adb, libgnat/a-cofuma.ads: Likewise. + * libgnat/a-cofuse.adb, libgnat/a-cofuse.ads: Likewise. + * libgnat/a-cofuve.adb, libgnat/a-cofuve.ads: Likewise. + * libgnat/a-cofuba.adb, libgnat/a-cofuba.ads: Remove package. + +2022-09-12 Piotr Trojanek <trojanek@adacore.com> + + * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]): + Adapt to object declaration being rewritten into object renaming. + +2022-09-12 Justin Squirek <squirek@adacore.com> + + * contracts.adb, contracts.ads + (Analyze_Pragmas_In_Declarations): Added to aid in the new + expansion model so that pragmas relating to contracts can get + processed early before the rest of the subprogram containing them. + (Build_Subprogram_Contract_Wrapper): Created to do the majority of + expansion for postconditions. It builds a local wrapper with the + statements and declarations within a given subprogram. + (Is_Prologue_Renaming): Moved out from Process_Preconditions to be + used generally within the contracts package. + (Build_Entry_Contract_Wrapper): Moved from exp_ch7. + (Expand_Subprogram_Contract): Add new local variable Decls to + store expanded declarations needed for evaluation of contracts. + Call new wrapper building procedure and modify comments to match + new expansion model. + (Get_Postcond_Enabled): Deleted. + (Get_Result_Object_For_Postcond): Deleted. + (Get_Return_Success_For_Postcond): Deleted. + (Process_Contract_Cases): Add new parameter to store declarations. + (Process_Postconditions): Add new parameter to store declarations. + (Process_Preconditions): Add new parameter to store declarations. + Add code to move entry-call prologue renamings + * einfo.ads: Document new field Wrapped_Statements and modify + comment for Postconditions_Proc. + * exp_attr.adb + (Analyze_Attribute): Modify expansion of the 'Old attribute to + recognize new expansion model and use Wrapped_Statements instead + of Postconditions_Proc. + * exp_ch6.adb + (Add_Return): Remove special expansion for postconditions. + (Expand_Call): Modify condition checking for calls to access + subprogram wrappers to handle new expansion models. + (Expand_Call_Helper): Remove special expansion for postconditions. + (Expand_Non_Function_Return): Remove special expansion for + postconditions. + (Expand_Simple_Function_Return): Remove special expansion for + postconditions. + * exp_ch7.adb + (Build_Finalizer): Deleted, but replaced by code in + Build_Finalizer_Helper + (Build_Finalizer_Helper): Renamed to Build_Finalizer, and special + handling of 'Old objects removed. + * exp_ch9.adb + (Build_Contract_Wrapper): Renamed and moved to contracts package. + * exp_prag.adb + (Expand_Pragma_Contract_Cases): Delay analysis of contracts since + they now instead get analyzed as part of the wrapper generation + instead of after analysis of their corresponding subprogram's + body. + (Expand_Pragma_Check): Label expanded if-statements which come + from the expansion of assertion statements as + Comes_From_Check_Or_Contract. + * freeze.adb + (Freeze_Entity): Add special case to avoid freezing when a freeze + node gets generated as part of the expansion of a postcondition + check. + * gen_il-gen-gen_nodes.adb: Add new flag + Comes_From_Check_Or_Contract. + * gen_il-fields.ads: Add new field Wrapped_Statements. Add new + flag Comes_From_Check_Or_Contract. + * gen_il-gen-gen_entities.adb: Add new field Wrapped_Statements. + * ghost.adb + (Is_OK_Declaration): Replace Name_uPostconditions with + Name_uWrapped_Statements. + (Is_OK_Statement): Simplify condition due to the loss of + Original_Node as a result of the new expansion model of contracts + and use new flag Comes_From_Check_Or_Contract in its place. + * inline.adb + (Declare_Postconditions_Result): Replace Name_uPostconditions with + Name_uWrapped_Statements. + (Expand_Inlined_Call): Replace Name_uPostconditions with + Name_uWrapped_Statements. + * lib.adb, lib.ads + (ipu): Created to aid in debugging. + * lib-xref.adb + (Generate_References): Remove special handling for postcondition + procedures. + * sem_attr.adb + (Analyze_Attribute_Old_Result): Add new context in which 'Old can + appear due to the changes in expansion. Replace + Name_uPostconditions with Name_uWrapped_Statements. + (Result): Replace Name_uPostconditions with + Name_uWrapped_Statements. + * sem_ch11.adb + (Analyze_Handled_Statements): Remove check to exclude warnings on + useless assignments within postcondition procedures since + postconditions no longer get isolated into separate subprograms. + * sem_ch6.adb + (Analyze_Generic_Subprogram_Body): Modify expansion of generic + subprogram bodies so that contracts (and their associated pragmas) + get analyzed first. + (Analyze_Subprogram_Body_Helper): Remove global HSS variable due + to the HSS of the body potentially changing during the expansion + of contracts. In cases where it was used instead directly call + Handled_Statement_Sequence. Modify expansion of subprogram bodies + so that contracts (and their associated pragmas) get analyzed + first. + (Check_Missing_Return): Create local HSS variable instead of using + a global one. + (Move_Pragmas): Use new pragma table instead of an explicit list. + * sem_elab.adb + (Is_Postconditions_Proc): Deleted since the new scheme of + expansion no longer divides postcondition checks to a separate + subprogram and so cannot be easily identified (similar to + pre-condition checks). + (Info_Call): Remove info printing for _Postconditions subprograms. + (Is_Assertion_Pragma_Target): Remove check for postconditions + procedure + (Is_Bridge_Target): Remove check for postconditions procedure. + (Get_Invocation_Attributes): Remove unneeded local variables and + check for postconditions procedure. + (Output_Call): Remove info printing for _Postconditions + subprograms. + * sem_prag.adb, sem_prag.ads: Add new Pragma table for pragmas + significant to subprograms, along with tech-debt comment. + (Check_Arg_Is_Local_Name): Modified to recognize the new + _Wrapped_Statements internal subprogram and the new expansion + model. + (Relocate_Pragmas_To_Body): Replace Name_uPostconditions with + Name_uWrapped_Statements. + * sem_res.adb + (Resolve_Entry_Call): Add conditional to detect both contract + based wrappers of entries, but also wrappers generated as part of + general contract expansion (e.g. local postconditions + subprograms). + * sem_util.adb + (Accessibility_Level): Verify 'Access is not taken based on a + component of a function result. + (Has_Significant_Contracts): Replace Name_uPostconditions with + Name_uWrapped_Statements. + (Same_Or_Aliased_Subprogram): Add conditional to detect and obtain + the original subprogram based on the new concept of + "postcondition" wrappers. + * sinfo.ads: Add documentation for new flag + Comes_From_Check_Or_Contract. + * snames.ads-tmpl: Remove Name_uPostconditions and add + Name_uWrapped_Statements + +2022-09-12 Eric Botcazou <ebotcazou@adacore.com> + + * exp_unst.adb (Unnest_Subprograms.Search_Subprograms): Skip the + subprogram bodies that are not to be unnested. + +2022-09-12 Steve Baird <baird@adacore.com> + + * sem_aggr.adb + (Resolve_Array_Aggregate): Generate an appropriate error message + in the case where an error in the source code leads to an + N_Iterated_Element_Association node in a bad context. + +2022-09-12 Steve Baird <baird@adacore.com> + + * sem_ch4.adb + (Analyze_Selected_Component): Initialize the local variable Comp + to avoid having CodePeer generate an uninitialized variable + warning. + +2022-09-12 Steve Baird <baird@adacore.com> + + * sem_ch4.adb + (Analyze_Selected_Component): Avoid initializing the local + variable Comp if the variable is not going to be subsequently + referenced. This is a correctness issue because the call to + First_Entity can fail. + +2022-09-12 Steve Baird <baird@adacore.com> + + * sem_ch9.adb + (Satisfies_Lock_Free_Requirements): If Ceiling_Locking locking + policy has been specified, then either return False (if Lock_Free + was not explicitly specified) or generate a warning that ceiling + locking will not be implemented for this protected unit (if + Lock_Free was explicitly specified). Generate an error message (in + addition to returning False) if an explicit Lock_Free aspect + specification is rejected because atomic primitives are not + supported on the given target. + * doc/gnat_rm/implementation_defined_pragmas.rst: Clarify that the + Lock_Free aspect for a protected unit takes precedence over the + Ceiling_Locking locking policy in the case where both apply. + * gnat_rm.texi: Regenerate. + +2022-09-12 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch9.adb (Build_Protected_Spec): Tidy up and propagate the + Comes_From_Source flag onto the new formal parameters. + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not check + references for subprograms generated for protected subprograms. + +2022-09-12 Gary Dismukes <dismukes@adacore.com> + + * sem_res.adb + (Resolve_Equality_Op): Add handling for equality ops with + user-defined literal operands. + * sem_util.ads + (Is_User_Defined_Literal): Update spec comment to indicate + inclusion of named number cases. + * sem_util.adb + (Corresponding_Primitive_Op): Rather than following the chain of + ancestor subprograms via Alias and Overridden_Operation links, we + check for matching profiles between primitive subprograms of the + descendant type and the ancestor subprogram (by calling a new + nested function Profile_Matches_Ancestor). This prevents the + compiler from hanging due to circular linkages via those fields + that can occur between inherited and overriding subprograms + (which might indicate a latent bug, but one that may be rather + delicate to resolve). + (Profile_Matches_Ancestor): New nested subprogram to compare the + profile of a primitive subprogram with the profile of a candidate + ancestor subprogram. + (Is_User_Defined_Literal): Also return True in cases where the + node N denotes a named number (E_Name_Integer and E_Named_Real). + +2022-09-12 Steve Baird <baird@adacore.com> + + * debug.adb: remove a comment. + +2022-09-12 Bob Duff <duff@adacore.com> + + * checks.adb + (Selected_Length_Checks): In the message for an aggregate that has + too few or too many elements, add "!!" to make sure the warning + gets printed in with'ed units. Note that we have to put "!!" + before the "??", because Compile_Time_Constraint_Error detects + warnings by comparing the last character of the message with '?' + (which is bit dubious, but we're not changing that here). + (Length_Mismatch_Info_Message): Use Unat for some things that + can't be negative. Specify Decimal instead of Auto in calls to + UI_Image. + * sem_util.adb + (Compile_Time_Constraint_Error): Minor. + * uintp.adb + (Image_Uint): It's always better to initialize objects on their + declaration. + +2022-09-12 Patrick Bernardi <bernardi@adacore.com> + + * libgnat/system-vxworks7-x86_64-kernel.ads: Set + Support_Atomic_Primitives to false. + * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Ditto. + +2022-09-12 Patrick Bernardi <bernardi@adacore.com> + + * libgnat/system-qnx-arm.ads: Set Support_Atomic_Primitives to + false. + * libgnat/system-vxworks7-aarch64.ads: Ditto. + * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Ditto. + * libgnat/system-vxworks7-arm.ads: Ditto. + * libgnat/system-vxworks7-arm-rtp-smp.ads: Ditto. + * libgnat/system-vxworks7-x86-kernel.ads: Ditto. + * libgnat/system-vxworks7-x86-rtp-smp.ads: Ditto. + +2022-09-12 Bob Duff <duff@adacore.com> + + * par-tchk.adb, par-util.adb, prep.adb, prepcomp.adb, scng.adb: + Use "in" instead of chains of "=" connected with "or else". + Likewise for "not in", "/=", "and then". Misc cleanup. + * par-ch10.adb, par-ch12.adb, par-ch13.adb, par-ch4.adb: Likewise. + * par-ch8.adb, par-ch9.adb, par-endh.adb, par-sync.adb: Likewise. + * par.adb + (Pf_Rec): Remove filler, which was added August 25, 1993 to get + around a compiler limitation that no longer exists. Minor cleanup. + Remove useless qualfications. + * par-ch3.adb: Remove redundant return statements. + (Component_Scan_Loop): Remove loop name; there are no nested + loops, so it's unnecessary and possibly misleading, and it causes + too-long lines. + * par-ch5.adb: DRY: Remove comments that repeat the comments in + par.adb. + (P_Sequence_Of_Statements): It is better to initialize things on + the declaration. And constants are better than variables. + (Test_Statement_Required): Remove unnecessary insertion of a null + statement. + * par-ch6.adb, par-ch7.adb: DRY: Remove comments that repeat the + comments in par.adb. + +2022-09-12 Javier Miranda <miranda@adacore.com> + + Revert: + 2022-09-06 Javier Miranda <miranda@adacore.com> + + * debug.adb + (Debug_Flag_Underscore_X): Switch added temporarily to allow + disabling extra formal checks. + * exp_attr.adb + (Expand_N_Attribute_Reference [access types]): Add extra formals + to the subprogram referenced in the prefix of 'Unchecked_Access, + 'Unrestricted_Access or 'Access; required to check that its extra + formals match the extra formals of the corresponding subprogram + type. + * exp_ch3.adb + (Stream_Operation_OK): Declaration moved to the public part of the + package. + (Validate_Tagged_Type_Extra_Formals): New subprogram. + (Expand_Freeze_Record_Type): Improve the code that takes care of + adding the extra formals of dispatching primitives; extended to + add also the extra formals to renamings of dispatching primitives. + * exp_ch3.ads + (Stream_Operation_OK): Declaration moved from the package body. + * exp_ch6.adb + (Has_BIP_Extra_Formal): Subprogram declaration moved to the public + part of the package. In addition, a parameter has been added to + disable an assertion that requires its use with frozen entities. + (Expand_Call_Helper): Enforce assertion checking extra formals on + thunks. + (Is_Build_In_Place_Function): Return False for entities with + foreign convention. + (Make_Build_In_Place_Call_In_Object_Declaration): Occurrences of + Is_Return_Object replaced by the local variable + Is_OK_Return_Object that evaluates to False for scopes with + foreign convention. + (Might_Have_Tasks): Fix check of class-wide limited record types. + (Needs_BIP_Task_Actuals): Remove assertion to allow calling this + function in more contexts; in addition it returns False for + functions returning objects with foreign convention. + (Needs_BIP_Finalization_Master): Likewise. + (Needs_BIP_Alloc_Form): Likewise. + * exp_ch6.ads + (Stream_Operation_OK): Declaration moved from the package body. In + addition, a parameter has been added to disable assertion that + requires its use with frozen entities. + * freeze.adb + (Check_Itype): Add extra formals to anonymous access subprogram + itypes. + (Freeze_Expression): Improve code that disables the addition of + extra formals to functions with foreign convention. + (Check_Extra_Formals): Moved to package Sem_Ch6 as + Extra_Formals_OK. + (Freeze_Subprogram): Add extra formals to non-dispatching + subprograms. + * sem_ch3.adb + (Access_Subprogram_Declaration): Defer the addition of extra + formals to the freezing point so that we know the convention. + (Check_Anonymous_Access_Component): Likewise. + (Derive_Subprogram): Fix documentation. + * sem_ch6.adb + (Check_Anonymous_Return): Fix check of access to class-wide + limited record types. + (Check_Untagged_Equality): Placed in alphabetical order. + (Extra_Formals_OK): Subprogram moved from freeze.adb. + (Extra_Formals_Match_OK): New subprogram. + (Has_BIP_Formals): New subprogram. + (Has_Extra_Formals): New subprograms. + (Needs_Accessibility_Check_Extra): New subprogram. + (Needs_Constrained_Extra): New subprogram. + (Parent_Subprogram): New subprogram. + (Add_Extra_Formal): Minor code cleanup. + (Create_Extra_Formals): Enforce matching extra formals on + overridden and aliased entities. + (Has_Reliable_Extra_Formals): New subprogram. + * sem_ch6.ads + (Extra_Formals_OK): Subprogram moved from freeze.adb. + (Extra_Formals_Match_OK): New subprogram. + * sem_eval.adb + (Compile_Time_Known_Value): Improve predicate to avoid assertion + failure; found working on this ticket; this change does not affect + the behavior of the compiler because this subprogram has an + exception handler that returns False when the assertion fails. + * sem_util.adb + (Needs_Result_Accessibility_Level): Do not return False for + dispatching operations compiled with Ada_Version < 2012 since they + they may be overridden by primitives compiled with Ada_Version >= + Ada_2012. + +2022-09-06 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_param): Set DECL_ARTIFICIAL. + +2022-09-06 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (At_End_Proc_to_gnu): Use the End_Label of + the child Handled_Statement_Sequence for body nodes. + (set_end_locus_from_node): Minor tweaks. + +2022-09-06 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (Full_View_Of_Private_Constant): New + function returning the Full_View of a private constant, after + looking through a chain of renamings, if any. + (Identifier_to_gnu): Call it on the entity. Small cleanup. + +2022-09-06 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils.cc (gnat_pushdecl): Preserve named + TYPE_DECLs consistently for all kind of pointer types. + +2022-09-06 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (gnat_to_gnu) <N_Op_Divide>: Report a + violation of No_Dependence on System.GCC if the result type is + larger than a word. + <N_Op_Shift>: Likewise. + <N_Op_Mod>: Likewise. + <N_Op_Rem>: Likewise. + (convert_with_check): Report a violation of No_Dependence on + System.GCC for a conversion between an integer type larger than + a word and a floating-point type. + +2022-09-06 Steve Baird <baird@adacore.com> + + * sem_ch9.adb + (Allows_Lock_Free_Implementation): Return False if + Support_Atomic_Primitives is False. + +2022-09-06 Steve Baird <baird@adacore.com> + + * debug.adb: Remove comment regarding the -gnatd9 switch. + * doc/gnat_rm/implementation_defined_attributes.rst: Remove all + mention of the Lock_Free attribute. + * gnat_rm.texi, gnat_ugn.texi: Regenerate. + * exp_attr.adb, sem_attr.adb: Remove all mention of the former + Attribute_Lock_Free enumeration element of the Attribute_Id type. + * sem_ch9.adb + (Allows_Lock_Free_Implementation): Remove the Debug_Flag_9 test. + Return False in the case of a protected function whose result type + requires use of the secondary stack. + (Satisfies_Lock_Free_Requirements): This functions checks for + certain constructs and returns False if one is found. In the case + of a protected function, there is no need to check to see if the + protected object is being modified. So it is ok to omit *some* + checks in the case of a protected function. But other checks which + are required (e.g., the test for a reference to a variable that is + not part of the protected object) were being incorrectly omitted. + This could result in accepting "Lock_Free => True" aspect + specifications that should be rejected. + * snames.adb-tmpl: Name_Lock_Free no longer requires special + treatment in Get_Pragma_Id or Is_Pragma_Name (because it is no + longer an attribute name). + * snames.ads-tmpl: Move the declaration of Name_Lock_Free to + reflect the fact that it is no longer the name of an attribute. + Delete Attribute_Lock_Free from the Attribute_Id enumeration type. + +2022-09-06 Steve Baird <baird@adacore.com> + + * libgnat/a-coorse.ads: Restore Aggregate aspect specification for + type Set. + +2022-09-06 Marc Poulhiès <poulhies@adacore.com> + + * exp_util.adb (Build_Allocate_Deallocate_Proc): Add + Alignment_Param in the formal list for calls to SS_Allocate. + +2022-09-06 Piotr Trojanek <trojanek@adacore.com> + + * inline.adb (Process_Formals): Preserve Has_Private_View flag while + rewriting formal into actual parameters. + +2022-09-06 Javier Miranda <miranda@adacore.com> + + * debug.adb + (Debug_Flag_Underscore_X): Switch added temporarily to allow + disabling extra formal checks. + * exp_attr.adb + (Expand_N_Attribute_Reference [access types]): Add extra formals + to the subprogram referenced in the prefix of 'Unchecked_Access, + 'Unrestricted_Access or 'Access; required to check that its extra + formals match the extra formals of the corresponding subprogram + type. + * exp_ch3.adb + (Stream_Operation_OK): Declaration moved to the public part of the + package. + (Validate_Tagged_Type_Extra_Formals): New subprogram. + (Expand_Freeze_Record_Type): Improve the code that takes care of + adding the extra formals of dispatching primitives; extended to + add also the extra formals to renamings of dispatching primitives. + * exp_ch3.ads + (Stream_Operation_OK): Declaration moved from the package body. + * exp_ch6.adb + (Has_BIP_Extra_Formal): Subprogram declaration moved to the public + part of the package. In addition, a parameter has been added to + disable an assertion that requires its use with frozen entities. + (Expand_Call_Helper): Enforce assertion checking extra formals on + thunks. + (Is_Build_In_Place_Function): Return False for entities with + foreign convention. + (Make_Build_In_Place_Call_In_Object_Declaration): Occurrences of + Is_Return_Object replaced by the local variable + Is_OK_Return_Object that evaluates to False for scopes with + foreign convention. + (Might_Have_Tasks): Fix check of class-wide limited record types. + (Needs_BIP_Task_Actuals): Remove assertion to allow calling this + function in more contexts; in addition it returns False for + functions returning objects with foreign convention. + (Needs_BIP_Finalization_Master): Likewise. + (Needs_BIP_Alloc_Form): Likewise. + * exp_ch6.ads + (Stream_Operation_OK): Declaration moved from the package body. In + addition, a parameter has been added to disable assertion that + requires its use with frozen entities. + * freeze.adb + (Check_Itype): Add extra formals to anonymous access subprogram + itypes. + (Freeze_Expression): Improve code that disables the addition of + extra formals to functions with foreign convention. + (Check_Extra_Formals): Moved to package Sem_Ch6 as + Extra_Formals_OK. + (Freeze_Subprogram): Add extra formals to non-dispatching + subprograms. + * sem_ch3.adb + (Access_Subprogram_Declaration): Defer the addition of extra + formals to the freezing point so that we know the convention. + (Check_Anonymous_Access_Component): Likewise. + (Derive_Subprogram): Fix documentation. + * sem_ch6.adb + (Check_Anonymous_Return): Fix check of access to class-wide + limited record types. + (Check_Untagged_Equality): Placed in alphabetical order. + (Extra_Formals_OK): Subprogram moved from freeze.adb. + (Extra_Formals_Match_OK): New subprogram. + (Has_BIP_Formals): New subprogram. + (Has_Extra_Formals): New subprograms. + (Needs_Accessibility_Check_Extra): New subprogram. + (Needs_Constrained_Extra): New subprogram. + (Parent_Subprogram): New subprogram. + (Add_Extra_Formal): Minor code cleanup. + (Create_Extra_Formals): Enforce matching extra formals on + overridden and aliased entities. + (Has_Reliable_Extra_Formals): New subprogram. + * sem_ch6.ads + (Extra_Formals_OK): Subprogram moved from freeze.adb. + (Extra_Formals_Match_OK): New subprogram. + * sem_eval.adb + (Compile_Time_Known_Value): Improve predicate to avoid assertion + failure; found working on this ticket; this change does not affect + the behavior of the compiler because this subprogram has an + exception handler that returns False when the assertion fails. + * sem_util.adb + (Needs_Result_Accessibility_Level): Do not return False for + dispatching operations compiled with Ada_Version < 2012 since they + they may be overridden by primitives compiled with Ada_Version >= + Ada_2012. + +2022-09-06 Arnaud Charlet <charlet@adacore.com> + + * exp_ch4.adb (Expand_N_If_Expression): Disable optimization + for LLVM. + +2022-09-06 Javier Miranda <miranda@adacore.com> + + * sem_prag.adb + (Analyze_Pre_Post_Condition_In_Decl_Part): Improve check to report + an error in non-legal class-wide conditions. + +2022-09-06 Steve Baird <baird@adacore.com> + + * libgnat/a-strsup.adb, libgnat/a-stwisu.adb, libgnat/a-stzsup.adb + (Super_Slice function and procedure): fix slice length computation. + +2022-09-06 Steve Baird <baird@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Improve -gnatVa, -gnatVc, -gnatVd, -gnatVe, -gnatVf, -gnatVo, + -gnatVp, -gnatVr, and -gnatVs switch descriptions. + * gnat_ugn.texi: Regenerate. + +2022-09-06 Justin Squirek <squirek@adacore.com> + + * exp_unst.adb + (Visit_Node): Add N_Block_Statement to the enclosing construct + case since they can now have "At end" procedures. Also, recognize + calls from "At end" procedures when recording subprograms. + +2022-09-06 Piotr Trojanek <trojanek@adacore.com> + + * inline.adb (Replace_Formal): Fix name of the referenced routine. + +2022-09-06 Piotr Trojanek <trojanek@adacore.com> + + * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]): + Remove unnecessary local constant that was shadowing another + constant with the same initial value. + +2022-09-06 Julien Bortolussi <bortolussi@adacore.com> + + * libgnat/a-cforse.ads (Replace): Fix the postcondition. + +2022-09-06 Steve Baird <baird@adacore.com> + + * exp_attr.adb + (Attribute_Valid): Ensure that PBtyp is initialized to a value for + which Is_Scalar_Type is True. + * checks.adb + (Determine_Range): Call Implemention_Base_Type instead of + Base_Type in order to ensure that result is suitable for passing + to Enum_Pos_To_Rep. + +2022-09-06 Bob Duff <duff@adacore.com> + Eric Botcazou <ebotcazou@adacore.com> + + * gen_il-fields.ads + (First_Real_Statement): Remove this field. + * gen_il-gen-gen_nodes.adb: Remove the First_Real_Statement field. + Add the At_End_Proc field to nodes that have both Declarations and + HSS. + * sinfo.ads + (At_End_Proc): Document new semantics. + (First_Real_Statement): Remove comment. + * exp_ch11.adb + (Expand_N_Handled_Sequence_Of_Statements): Remove + First_Real_Statement. + * exp_ch7.adb + (Build_Cleanup_Statements): Remove "Historical note"; it doesn't + seem useful, and we have revision history. + (Create_Finalizer): Insert the finalizer later, typically in the + statement list, in some cases. + (Build_Finalizer_Call): Attach the "at end" handler to the parent + of the HSS node in most cases, so it applies to declarations. + (Expand_Cleanup_Actions): Remove Wrap_HSS_In_Block and the call to + it. Remove the code that moves declarations. Remove some redundant + code. + * exp_ch9.adb + (Build_Protected_Entry): Copy the At_End_Proc. + (Build_Protected_Subprogram_Body): Reverse the sense of Exc_Safe, + to avoid double negatives. Remove "Historical note" as in + exp_ch7.adb. + (Build_Unprotected_Subprogram_Body): Copy the At_End_Proc from the + protected version. + (Expand_N_Conditional_Entry_Call): Use First (Statements(...)) + instead of First_Real_Statement(...). + (Expand_N_Task_Body): Put the Abort_Undefer call at the beginning + of the declarations, rather than in the HSS. Use First + (Statements(...)) instead of First_Real_Statement(...). Copy the + At_End_Proc. + * inline.adb + (Has_Initialized_Type): Return False if the declaration does not + come from source. + * libgnarl/s-tpoben.ads + (Lock_Entries, Lock_Entries_With_Status): Document when these + things raise Program_Error. It's not clear that + Lock_Entries_With_Status ought to be raising exceptions, but at + least it's documented now. + * sem.ads: Minor comment fixes. + * sem_ch6.adb + (Analyze_Subprogram_Body_Helper): Use First (Statements(...)) + instead of First_Real_Statement(...). + (Analyze_Null_Procedure): Minor comment fix. + * sem_util.adb + (Might_Raise): Return True for N_Raise_Expression. Adjust the part + about exceptions generated by the back end to match the reality of + what the back end generates. + (Update_First_Real_Statement): Remove. + * sem_util.ads: Remove First_Real_Statement from comment. + * sinfo-utils.ads + (First_Real_Statement): New function that always returns Empty. + This should be removed once gnat-llvm and codepeer have been + updated to not refer to First_Real_Statement. + * sprint.adb + (Sprint_At_End_Proc): Deal with printing At_End_Proc. + * sem_prag.adb: Minor comment fixes. + * gcc-interface/trans.cc (At_End_Proc_to_gnu): New function. + (Subprogram_Body_to_gnu): Call it to handle an At_End_Proc. + (Handled_Sequence_Of_Statements_to_gnu): Likewise. Remove the + support for First_Real_Statement and clean up the rest. + (Exception_Handler_to_gnu): Do not push binding levels. + (Compilation_Unit_to_gnu): Adjust call to process_decls. + (gnat_to_gnu) <N_Package_Specification>: Likewise. <N_Entry_Body>: + Likewise. <N_Freeze_Entity>: Likewise. <N_Block_Statement>: + Likewise and call At_End_Proc_to_gnu to handle an At_End_Proc. + <N_Package_Body>: Likewise. + (process_decls): Remove GNAT_END_LIST parameter and adjust + recursive calls. + +2022-09-06 Steve Baird <baird@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst: Document new + temporary rule that a "when others =>" case choice must be given + when casing on a composite selector. + * gnat_rm.texi: Regenerate. + +2022-09-06 Steve Baird <baird@adacore.com> + + * sem_case.adb: Define a new Boolean constant, + Simplified_Composite_Coverage_Rules, initialized to True. Setting + this constant to True has two effects: 1- Representative value + sets are not fully initialized - this is done to avoid capacity + problems, as well as for performance. 2- In + Check_Case_Pattern_Choices, the only legality check performed is a + check that a "when others =>" choice is present. + +2022-09-06 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Fix error + template. + +2022-09-06 Steve Baird <baird@adacore.com> + + * exp_attr.adb + (Make_Range_Test): In determining which subtype's First and Last + attributes are to be queried as part of a range test, call + Validated_View in order to get a scalar (as opposed to private) + subtype. + (Attribute_Valid): In determining whether to perform a signed or + unsigned comparison for a range test, call Validated_View in order + to get a scalar (as opposed to private) type. Also correct a typo + which, by itself, is the source of the problem reported for this + ticket. + +2022-09-06 Steve Baird <baird@adacore.com> + + * sem_ch4.adb + (Analyze_Selected_Component): Define new Boolean-valued function, + Constraint_Has_Unprefixed_Discriminant_Reference, which takes a + subtype that is subject to a discriminant-dependent constraint and + returns True if any of the constraint values are unprefixed + discriminant names. Usually, the Etype of a selected component + node is set to Etype of the component. However, in the case of an + access-to-array component for which this predicate returns True, + we instead use the base type of the Etype of the component. + Normally such problematic discriminant references are addressed by + calling Build_Actual_Subtype_Of_Component, but that doesn't work + if Full_Analyze is False. + +2022-09-06 Piotr Trojanek <trojanek@adacore.com> + + * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Include + System.Value_U_Spec and System.Value_I_Spec units. + +2022-09-06 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-powflt.ads (Powfive): New constant array. + * libgnat/s-powlfl.ads (Powfive): Likewise. + (Powfive_100): New constant. + (Powfive_200): Likewise. + (Powfive_300): Likewise. + * libgnat/s-powllf.ads (Powfive): New constant array. + (Powfive_100): New constant. + (Powfive_200): Likewise. + (Powfive_300): Likewise. + * libgnat/s-valflt.ads (Impl): Replace Powten with Powfive and pass + Null_Address for the address of large constants. + * libgnat/s-vallfl.ads (Impl): Replace Powten with Powfive and pass + the address of large constants. + * libgnat/s-valllf.ads (Impl): Likewise. + * libgnat/s-valrea.ads (System.Val_Real): Replace Powten_Address + with Powfive_Address and add Powfive_{1,2,3}00_Address parameters. + * libgnat/s-valrea.adb (Is_Large_Type): New boolean constant. + (Is_Very_Large_Type): Likewise. + (Maxexp32): Change value of 10 to that of 5. + (Maxexp64): Likewise. + (Maxexp80): Likewise. + (Integer_to_Real): Use a combination of tables of powers of 5 and + scaling if the base is 10. + (Large_Powten): Rename into... + (Large_Powfive): ...this. Add support for large constants. + (Large_Powfive): New overloaded function for very large exponents. + +2022-09-06 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_aspects.rst + (Aspect Iterable): Include Last and Previous primitives in + syntactic and semantic description. + * exp_attr.adb + (Expand_N_Attribute_Reference): Don't expect attributes like + Iterable that can only appear in attribute definition clauses. + * sem_ch13.adb + (Analyze_Attribute_Definition_Clause): Prevent crash on + non-aggregate Iterable attribute; improve basic diagnosis of + attribute values. + (Resolve_Iterable_Operation): Improve checks for illegal + primitives in aspect Iterable, e.g. with wrong number of formal + parameters. + (Validate_Iterable_Aspect): Prevent crashes on syntactically + illegal aspect expression. + * sem_util.adb + (Get_Cursor_Type): Fix style. + * gnat_ugn.texi, gnat_rm.texi: Regenerate. + +2022-09-06 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-valuer.ads (System.Value_R): Add Parts formal parameter + as well as Data_Index, Scale_Array and Value_Array types. + (Scan_Raw_Real): Change type of Scale and return type. + (Value_Raw_Real): Likewise. + * libgnat/s-valuer.adb (Round_Extra): Reorder parameters and adjust + recursive call. + (Scan_Decimal_Digits): Reorder parameters, add N parameter and deal + with multi-part scale and value. + (Scan_Integral_Digits): Likewise. + (Scan_Raw_Real): Change type of Scale and return type and deal with + multi-part scale and value. + (Value_Raw_Real): Change type of Scale and return type and tidy up. + * libgnat/s-valued.adb (Impl): Pass 1 as Parts actual parameter. + (Scan_Decimal): Adjust to type changes. + (Value_Decimal): Likewise. + * libgnat/s-valuef.adb (Impl): Pass 1 as Parts actual parameter. + (Scan_Fixed): Adjust to type changes. + (Value_Fixed): Likewise. + * libgnat/s-valrea.adb (Need_Extra): Delete. + (Precision_Limit): Always use the precision of the mantissa. + (Impl): Pass 2 as Parts actual parameter. + (Exact_Log2): New expression function. + (Integer_to_Real): Change type of Scale and Val and deal with a + 2-part integer mantissa. + (Scan_Real): Adjust to type changes. + (Value_Real): Likewise. + +2022-09-05 Martin Liska <mliska@suse.cz> + + * sigtramp-vxworks-target.h: Rename DBX_REGISTER_NUMBER to + DEBUGGER_REGNO. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.adb (Check_Bounds): Move code and comment related to + check for null array aggregate from Resolve_Null_Array_Aggregate. + * sem_aggr.ads (Is_Null_Aggregate): Move spec from unit body. + * sem_aggr.adb (Resolve_Null_Array_Aggregate): Move check to + expansion. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_aggr.adb + (Array_Aggr_Subtype): Bypass call to Collect_Aggr_Bound with + dedicated code for null array aggregates. + (Resolve_Array_Aggregate): Remove special handling of null array + aggregates. + (Resolve_Array_Aggregate): Create bounds, but let + Array_Aggr_Subtype create itype entities. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_aggr.adb (Resolve_Null_Array_Aggregate): Insert check as a + Raise_Constraint_Error node and not an If_Statement. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_aggr.adb + (Resolve_Container_Aggregate): Style cleanup. + (Resolve_Record_Aggregate): Remove redundant guard. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_util.ads (Entry_Names_OK): Remove spec. + * exp_util.adb (Entry_Names_OK): Remove body. + +2022-09-05 Steve Baird <baird@adacore.com> + + * libgnat/a-coinve.adb, libgnat/a-convec.adb + (Append): If the Append that takes an Element and a Count is + called with Count = 1, then call the Append that does not take a + Count parameter; otherwise call the code that handles the general + case. Move the special case detection/handling code that was + formerly in that version of Append into the version that does not + take a Count parameter, so that now both versions get the + performance benefit. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_aggr.adb (Resolve_Null_Array_Aggregate): Create internal + type for the aggregate as an itype. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.ads (Itype_Has_Declaration): Remove spec. + * sem_util.adb (Itype_Has_Declaration): Remove body. + +2022-09-05 Steve Baird <baird@adacore.com> + + * exp_ch3.adb + (Expand_N_Object_Declaration): In deciding whether to emit a DIC + check, we were previously testing the Has_Init_Expression flag. + Continue to test that flag as before, but add a test for the + syntactic presence of an initial value in the object declaration. + This new test would not supersede the old test in the case where + an explicit initial value has been eliminated as part of some tree + transformation. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch13.adb (Validate_Unchecked_Conversions): Use + Has_Warnings_Off. + * sem_elab.adb (Check_Internal_Call_Continue): Likewise. + +2022-09-05 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-valuer.adb (Scan_Decimal_Digits): Consistently avoid + initializing local variables. + (Scan_Integral_Digits): Likewise. + (Scan_Raw_Real): Likewise and add a couple of comments. + +2022-09-05 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch13.adb (Freeze_Entity_Checks): Build predicate functions + only after checking the variant part of a record type, if any. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.adb + (Two_Pass_Aggregate_Expansion): Expand into implicit rather than + ordinary loops, to detect violations of restriction + No_Implicit_Loops. + (Generate_Loop): Likewise for delta array aggregates. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Expand iterated + component association with an unanalyzed copy of iterated + expression. The previous code worked only because the expanded + loop used both an analyzed copy of the iterator_specification and + an analyzed copy of the iterated expression. Now the iterated + expression is reanalyzed in the context of the expanded loop. + * par-ch4.adb (Build_Iterated_Component_Association): Don't set + defining identifier when iterator specification is present. + * sem_aggr.adb (Resolve_Iterated_Association): Pick index name + from the iterator specification. + * sem_elab.adb (Traverse_Potential_Scenario): Handle iterated + element association just like iterated component association. Not + strictly part of this fix, but still worth for the completeness. + * sem_res.adb (Resolve): Pick index name from the iterator + specification, when present. + * sem_util.adb (Traverse_More): For completeness, just like the + change in Traverse_Potential_Scenario. + * sinfo.ads + (ITERATED_COMPONENT_ASSOCIATION): Fix and complete description. + (ITERATED_ELEMENT_ASSOCIATION): Likewise. + +2022-09-05 Bob Duff <duff@adacore.com> + + * sem_ch6.adb + (Analyze_Subprogram_Body_Helper): Use First_Real_Statement to deal + with this case. Note that First_Real_Statement is likely to be + removed as part of this ticket, so this is a temporary fix. + +2022-09-05 Arnaud Charlet <charlet@adacore.com> + + * ali.adb (Scan_ALI): Special case i-c*.ali when setting + Sec_Stack_Used. + +2022-09-05 Bob Duff <duff@adacore.com> + + * par-ch5.adb + (P_Sequence_Of_Statements): Call Error_Msg_GNAT_Extension to give + the error message. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_aggr.adb (Resolve_Iterated_Component_Association): Split + processing of cases with and without iterator specification; reuse + analysis of iterator specification; improve diagnostics for + premature usage of iterator index in discrete choices. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch5.adb (Check_Subtype_Definition): Remove redundant call to + Present; style cleanup. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_aggr.adb (Resolve_Array_Aggregate): Change an inconsistent + use of False into its local equivalent Failure. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_aggr.adb (Resolve_Iterated_Component_Association): Change + generic name Ent to a more intuitive Scop; rename Remove_Ref to + Remove_Reference, so it can be instantiated as a traversal routine + with plural name. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch4.adb + (Is_Empty_Range): Move error reporting to the caller. + (Analyze_Qualified_Expression): Move error reporting from Is_Empty_Range; + add matching call to End_Scope before rewriting and returning. + +2022-09-05 Arnaud Charlet <charlet@adacore.com> + + * bindgen.adb (Gen_Elab_Calls): Check for Check_Elaboration_Flags. + * bindusg.adb (Display): Add -k. + * opt.ads (Check_Elaboration_Flags): New. + * switch-b.adb (Scan_Binder_Switches): Add processing of -k. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add + documentation for -k and -K. + * gnat_ugn.texi: Regenerate. + +2022-09-05 Arnaud Charlet <charlet@adacore.com> + + * treepr.adb: Remove local To_Lower and use the procedure + version instead. + +2022-09-05 Eric Botcazou <ebotcazou@adacore.com> + + * aspects.ads (Delaying Evaluation of Aspect): Fix typos. + * exp_ch3.adb (Freeze_Type): Do not generate Invariant and DIC + procedures for internal types. + * exp_util.adb (Build_DIC_Procedure_Body): Adjust comment. + * freeze.adb (Freeze_Entity): Call Inherit_Delayed_Rep_Aspects for + subtypes and derived types only after the base or parent type has + been frozen. Remove useless freezing for first subtype. + (Freeze_Fixed_Point_Type): Call Inherit_Delayed_Rep_Aspects too. + * layout.adb (Set_Elem_Alignment): Deal with private types. + * sem_ch3.adb (Build_Derived_Enumeration_Type): Build the implicit + base as an itype and do not insert its declaration in the tree. + (Build_Derived_Numeric_Type): Do not freeze the implicit base. + (Derived_Standard_Character): Likewise. + (Constrain_Enumeration): Inherit the chain of representation items + instead of replacing it. + * sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): Add ??? comment. + (Inherit_Delayed_Rep_Aspects): Declare. + * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Do not invoke + Inherit_Delayed_Rep_Aspects. + (Inherit_Aspects_At_Freeze_Point): Deal with private types. + (Inherit_Delayed_Rep_Aspects): Move to library level. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * einfo-utils.adb (Number_Entries): Refine type of a local variable. + * exp_attr.adb (Expand_N_Attribute_Reference): Rename Conctyp to + Prottyp; refactor repeated calls to New_Occurrence_Of; replace + Number_Entries with Has_Entries. + * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise; remove Subprg + variable (apparently copy-pasted from expansion of the attribute). + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_attr.adb (Expand_N_Attribute_Reference): Fix detection of the + enclosing protected type and of the enclosing protected subprogram. + * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * freeze.adb (Freeze_Itype): Remove excessive guard. + * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Likewise. + +2022-09-05 Piotr Trojanek <trojanek@adacore.com> + + * sprint.adb (Sprint_Node_Actual): Handle iterator_specification within + iterated_component_association and iterator_filter within + iterator_specification. + +2022-09-05 Arnaud Charlet <charlet@adacore.com> + + * doc/gnat_ugn/gnat_and_program_execution.rst: Fix rest syntax + * gnat_ugn.texi: Regenerate. + +2022-09-02 Eric Botcazou <ebotcazou@adacore.com> + + * exp_util.adb (Expand_Subtype_From_Expr): Be prepared for rewritten + aggregates as expressions. + +2022-09-02 Gary Dismukes <dismukes@adacore.com> + + * exp_ch6.adb (Expand_Simple_Function_Return) Bypass creation of an + actual subtype and unchecked conversion to that subtype when the + underlying type of the expression has discriminants without defaults. + +2022-09-02 Eric Botcazou <ebotcazou@adacore.com> + + * exp_util.adb (Expand_Subtype_From_Expr): Check for the presence + of the Is_Constr_Subt_For_U_Nominal flag instead of the absence + of the Is_Constr_Subt_For_UN_Aliased flag on the subtype of the + expression of an object declaration before reusing this subtype. + * sem_ch3.adb (Analyze_Object_Declaration): Do not incorrectly + set the Is_Constr_Subt_For_UN_Aliased flag on the actual subtype + of an array with definite nominal subtype. Remove useless test. + +2022-09-02 Eric Botcazou <ebotcazou@adacore.com> + + * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst + (No_Dependence): Cite implicit dependences on the runtime library. + * gnat_rm.texi, gnat_ugn.texi: Regenerate. + +2022-09-02 Claire Dross <dross@adacore.com> + + * libgnat/a-strmap.adb: Add variants to simple and while loops. + * libgnat/a-strsea.adb: Idem. + +2022-09-02 Claire Dross <dross@adacore.com> + + * libgnat/s-expmod.adb (Lemma_Add_Mod): Add new lemma to factor + out a complex sub-proof. + (Exp_Modular): Add assertion to help proof. + +2022-09-02 Claire Dross <dross@adacore.com> + + * libgnat/s-widthu.adb (Lemma_Euclidean): Lemma to prove the + relation between the quotient/remainder of a division. + +2022-09-02 Yannick Moy <moy@adacore.com> + + * libgnat/s-aridou.adb: Add or rework ghost code. + * libgnat/s-aridou.ads: Add Big_Positive subtype. + +2022-09-02 Eric Botcazou <ebotcazou@adacore.com> + + * doc/gnat_ugn/gnat_and_program_execution.rst + (Non-Symbolic Traceback): Update section. + * gnat_rm.texi, gnat_ugn.texi, gnat-style.texi: Regenerate. + +2022-09-02 Claire Dross <dross@adacore.com> + + * libgnat/a-nbnbig.ads: Add Always_Return annotation. + * libgnat/s-vaispe.ads: New ghost unit for the specification of + System.Value_I. Restore proofs. + * libgnat/s-vauspe.ads: New ghost unit for the specification of + System.Value_U. Restore proofs. + * libgnat/s-valuei.adb: The specification only subprograms are + moved to System.Value_I_Spec. Restore proofs. + * libgnat/s-valueu.adb: The specification only subprograms are + moved to System.Value_U_Spec. Restore proofs. + * libgnat/s-valuti.ads + (Uns_Params): Generic unit used to bundle together the + specification functions of System.Value_U_Spec. + (Int_Params): Generic unit used to bundle together the + specification functions of System.Value_I_Spec. + * libgnat/s-imagef.adb: It is now possible to instantiate the + appropriate specification units instead of creating imported ghost + subprograms. + * libgnat/s-imagei.adb: Update to refactoring of specifications + and fix proofs. + * libgnat/s-imageu.adb: Likewise. + * libgnat/s-imgint.ads: Ghost parameters are grouped together in a + package now. + * libgnat/s-imglli.ads: Likewise. + * libgnat/s-imgllu.ads: Likewise. + * libgnat/s-imgllli.ads: Likewise. + * libgnat/s-imglllu.ads: Likewise. + * libgnat/s-imguns.ads: Likewise. + * libgnat/s-vallli.ads: Likewise. + * libgnat/s-valllli.ads: Likewise. + * libgnat/s-imagei.ads: Likewise. + * libgnat/s-imageu.ads: Likewise. + * libgnat/s-vaispe.adb: Likewise. + * libgnat/s-valint.ads: Likewise. + * libgnat/s-valuei.ads: Likewise. + * libgnat/s-valueu.ads: Likewise. + * libgnat/s-vauspe.adb: Likewise. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (gnat_to_gnu) <N_Assignment_Statement>: Fix + a couple of minor issues in the commentary. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (gigi): Report a violation of No_Dependence + on System.Stack_Checking if Stack_Check_Probes_On_Target is not set + and -fstack-check is specified. + (build_binary_op_trapv): Report violatiosn of No_Dependence on both + System.Arith_64 and System.Arith_128. + (add_decl_expr): If an initialized variable, report a violation of + No_Dependence on System.Memory_Copy for large aggregate types. + (gnat_to_gnu) <N_Op_Eq>: Report a violation + of No_Dependence on System.Memory_Compare for large aggregate types. + <N_Assignment_Statement>! Report a violation of No_Dependence on + System.Memory_Set, System.Memory_Move or else System.Memory_Copy for + large aggregate types. + * gcc-interface/utils2.cc (maybe_wrap_malloc): Report a violation of + No_Dependence on System.Memory. + (maybe_wrap_free): Add GNAT_NODE parameter and report a violation of + No_Dependence on System.Memory. + (build_call_alloc_dealloc): Adjust call to maybe_wrap_free. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Do not set the debug + type for vector types. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: + Undo questionable renaming. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (Gigi_Cloned_Subtype): Handle private case. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (gigi): Add one more leading underscore to + name of stack checking function. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (Gigi_Cloned_Subtype): New function. + (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Call it to get the + cloned subtype, if any. + <E_Floating_Point_Subtype>: Likewise. + <E_Array_Subtype>: Likewise. + <E_Record_Subtype>: Likewise. + <E_Access_Subtype>: Likewise. + Deal with all cloned subtypes on the main path. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: Do + not reuse the TYPE_DECL of the base type. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils.cc (gnat_pushdecl): Build DECL_ORIGINAL_TYPE + only for pointer types. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils2.cc (build_binary_op) <EQ_EXPR>: Also accept + pointer-to-function types that are not variant of each other. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils.cc (unchecked_convert): Also pad in most cases + if the source is not a scalar type but the destination is. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Save + and restore the alias set of the dummy pointer-to-array type. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * snames.ads-tmpl (Name_Memory_Compare): New package name. + (Name_Memory_Copy): Likewise. + (Name_Memory_Move): Likewise. + (Name_Memory_Set): Likewise. + +2022-07-13 Gary Dismukes <dismukes@adacore.com> + + * sem_ch13.adb (Check_And_Resolve_Storage_Model_Type_Argument): + Call the System.Case_Util.To_Mixed procedure rather than the + function, to avoid bootstrap problems. + +2022-07-13 Gary Dismukes <dismukes@adacore.com> + + * aspects.ads (Aspect_Argument): Change the association for + Aspect_Storage_Model_Type from Expression to + Optional_Expression. + * exp_util.ads (Find_Storage_Op): Update comment to indicate + that Empty can be returned in the case where a storage-model + operation is defaulted. + * exp_util.adb (Find_Storage_Op): Allow the function to return + Empty in Storage_Model_Type case rather than raising + Program_Error, so that Procedure_To_Call fields in N_Allocator + and N_Free_Statement nodes will be set to Empty in the defaulted + native storage-model case. + * sem_ch13.adb: Add with and use of System.Case_Util (and + reformat context_clause). + (Check_Aspect_At_Freeze_Point): Return with no action for a + Storage_Model_Type aspect with no expression (fully-defaulted + native memory-model case). + (Resolve_Storage_Model_Type_Argument): If an Address_Type has + not been explicitly specified, then set Addr_Type to denote type + System.Address. + (Validate_Storage_Model_Type_Aspect): Return immediately in the + case where the aspect has no Expression (fully-defaulted native + memory-model case). No longer issue an error when Address_Type + isn't specified, and instead use type System.Address as the + default address type. When the address type is + System.Address (whether specified or defaulted), no longer issue + errors for any other "subaspects" that aren't specified, since + in that case those are allowed to default as well. Remove ??? + comment about needing to check for duplicates, which is now + addressed. + (Check_And_Resolve_Storage_Model_Type_Argument): New procedure + to check that an association for a storage-model subaspect in + the aggregate has not been specified earlier in the aggregate, + and to then resolve the expression of the association and save + the resolved entity. Called by + Validate_Storage_Model_Type_Aspect. + * sem_util.ads (Storage_Model_Support): Update comments on specs + of the functions Get_Storage_Model_Type_Entity, + Storage_Model_Address_Type, and Storage_Model_Null_Address to + indicate the behavior when the address type is System.Address + (the native memory-model case). + * sem_util.adb + (Storage_Model_Support.Get_Storage_Model_Type_Entity): Suppress + the search for the given subaspect name (Nam) when the + Storage_Model_Type aspect is fully defaulted (i.e., no + Expression is present) and simply return. In cases where the + search is done, but no association that matches Nam is found, + return System.Address for the Name_Address_Type case, return + System.Null_Address for the Name_Null_Address case, and return + Empty for all other cases. + +2022-07-13 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch13.adb (Relocate_Expression): New routine with code that + previously was only applied to Pre and Post aspects. + (Analyze_Aspect_Specifications): Apply the above routine to + other aspects, in particular to aspects Address, Attach_Handler, + Predicate and Interrupt_Priority. + +2022-07-13 Piotr Trojanek <trojanek@adacore.com> + + * inline.adb (Build_Body_To_Inline): Instead of manipulating the + Full_Analysis flag, use the Inside_A_Generic flag (which is + conveniently manipulated by Start_Generic/End_Generic, together + with Expander_Active). + * sem_attr.adb (Analyze_Attribute_Old_Result): Adapt comment and + assertion to different flag that is set while building + body-to-inline. + +2022-07-13 Alexandre Oliva <oliva@adacore.com> + + * doc/gnat_rm/security_hardening_features.rst: Clarify the need + for choices after -fzero-call-used-regs and -fstrub. + * gnat_rm.texi: Regenerate. + +2022-07-13 Yannick Moy <moy@adacore.com> + + * sem_prag.adb (Analyze_Pragma): Recognize a generated subtype + with Ghost pragma for generic instantiations. + +2022-07-13 Yannick Moy <moy@adacore.com> + + * libgnat/s-aridou.adb (Lemma_Mult_Div, Lemma_Powers): New + lemmas. + (Prove_Sign_Quotient): New local lemma. + (Prove_Signs): Expand definition of Big_R and Big_Q in the + postcondition. Add intermediate assertions. + (Double_Divide): Call new lemma. + (Lemma_Div_Eq): Provide body for proving lemma. + (Lemma_Powers_Of_2, Lemma_Shift_Without_Drop, + Prove_Dividend_Scaling, Prove_Multiplication, Prove_Z_Low): Call + lemmas, add intermediate assertions. + +2022-07-13 Piotr Trojanek <trojanek@adacore.com> + + * inline.adb (Has_Single_Return): Add guard for the subsequent + call to Expression. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Acts_As_Spec + earlier if the body is not the completion of a declaration. + (Check_Untagged_Equality): Deal with subprogram bodies that are + not the completion of a declaration and make sure that they are + not flagged when they cause the freezing of the type themselves. + Give a warning on the freezing point of the type in more cases. + * sem_res.adb (Resolve_Equality_Op): Revert latest change. + +2022-07-13 Yannick Moy <moy@adacore.com> + + * libgnat/s-arit32.adb (Scaled_Divide32): Add an assertion, move + the call of Prove_Sign_R around. + +2022-07-13 Marc Poulhiès <poulhies@adacore.com> + + * exp_ch4.adb (Expand_N_If_Expression): Test for compile time + known bounds when handling slices. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * exp_util.ads (Integer_Type_For): Mention Small_Integer_Type_For. + (Small_Integer_Type_For): Mention Integer_Type_For. + +2022-07-13 Eric Botcazou <ebotcazou@adacore.com> + + * sem_res.adb (Resolve_Equality_Op): Make sure that the user-defined + operator of an untagged record type is declared ahead of an instance + before using it to resolve the equality operator in the instance. + +2022-07-13 Justin Squirek <squirek@adacore.com> + + * exp_ch6.adb (Expand_N_Extended_Return_Statement): Add default + initialization for Stmts. + * sem_ch12.adb (Analyze_Associations): Add default + initialization for Match. + * libgnat/a-ztenau.adb (Scan_Enum_Lit): Remove duplicated + boolean test. + * libgnat/g-spipat.adb (XMatch): Combine duplicated cases. + +2022-07-13 Piotr Trojanek <trojanek@adacore.com> + + * par-prag.adb (Check_Arg_Count): Change parameter type from Int + to Nat, because this parameter is compared to Arg_Count variable + which is of type Nat. Also, it wouldn't make sense to check for + negative number of pragma arguments. + +2022-07-12 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch11.adb (Expand_N_Exception_Declaration): Sync comment + with declaration in System.Standard_Library. + +2022-07-12 Marc Poulhiès <poulhies@adacore.com> + + * libgnat/s-secsta.adb (Has_Enough_Free_Memory): Check for full + chunk before computing the available size. + +2022-07-12 Steve Baird <baird@adacore.com> + + * exp_ch4.adb (Expand_Nonbinary_Modular_Op.Expand_Modular_Op): + Reimplement choice of which predefined type to use for the + implementation of a predefined operation of a modular type with + a non-power-of-two modulus. + +2022-07-12 Justin Squirek <squirek@adacore.com> + + * einfo.ads: Modify documentation for In_Use flag to include + scope stack manipulation. + * sem_ch8.adb (Use_One_Type): Add condition to return when + attempting to detect redundant use_type_clauses in child units + in certain cases. + +2022-07-12 Eric Botcazou <ebotcazou@adacore.com> + + * restrict.ads (type ND_Entry): Add System_Child component. + (Check_Restriction_No_Dependence_On_System): Declare. + * restrict.adb (Global_Restriction_No_Tasking): Move around. + (Violation_Of_No_Dependence): New procedure. + (Check_Restriction_No_Dependence): Call Violation_Of_No_Dependence + to report a violation. + (Check_Restriction_No_Dependence_On_System): New procedure. + (Set_Restriction_No_Dependenc): Set System_Child component if the + unit is a child of System. + * snames.ads-tmpl (Name_Arith_64): New package name. + (Name_Arith_128): Likewise. + (Name_Memory): Likewise. + (Name_Stack_Checking): Likewise. + * fe.h (Check_Restriction_No_Dependence_On_System): Declare. + +2022-07-12 Bob Duff <duff@adacore.com> + + * par.adb (P_Declarative_Items): New function to parse a + sequence of declarative items. + (P_Sequence_Of_Statements): Add Handled flag, to indicate + whether to wrap the result in a block statement. + * par-ch3.adb (P_Declarative_Item): Rename P_Declarative_Items + to be P_Declarative_Item, because it really only parses a single + declarative item, and to avoid conflict with the new + P_Declarative_Items. Add In_Statements. We keep the old + error-recovery mechanisms in place when In_Statements is False. + When True, we don't want to complain about statements, because + we are parsing a sequence of statements. + (P_Identifier_Declarations): If In_Statements, and we see what + looks like a statement, we no longer give an error. We return to + P_Sequence_Of_Statements with Done = True, so it can parse the + statement. + * par-ch5.adb (P_Sequence_Of_Statements): Call + P_Declarative_Items to parse declarative items that appear in + the statement list. Remove error handling code that complained + about such items. Check some errors conservatively. Wrap the + result in a block statement when necessary. + * par-ch11.adb (P_Handled_Sequence_Of_Statements): Pass + Handled => True to P_Sequence_Of_Statements. + * types.ads (No, Present): New functions for querying + Source_Ptrs (equal, not equal No_Location). + +2022-07-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): + Fix range of iteration. + +2022-07-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): + Do not process expression of unknown restrictions. + +2022-07-12 Vasiliy Fofanov <fofanov@adacore.com> + + * makeusg.adb, + doc/gnat_ugn/building_executable_programs_with_gnat.rst: Move -P + to the top of switches list and make it clear that gnatmake + passes the ball to gprbuild if -P is set. + * gnat_ugn.texi: Regenerate. + +2022-07-12 Bob Duff <duff@adacore.com> + + * libgnat/g-socthi__vxworks.adb (C_Connect): Suppress new warning. + +2022-07-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Set_Boolean_Result): Simplify using + Boolean_Literals. + +2022-07-12 Yannick Moy <moy@adacore.com> + + * errout.adb (Record_Compilation_Errors): Remove global + variable. + (Compilation_Errors): Simplify. + (Initialize): Inline Reset_Warnings. + (Reset_Warnings): Remove. + * errout.ads (Reset_Warnings): Remove. + (Compilation_Errors): Update comment. + * gnat1drv.adb (Adjust_Global_Switches): Ignore all frontend + warnings in GNATprove mode, except regarding elaboration and + suspicious contracts. + +2022-07-12 Eric Botcazou <ebotcazou@adacore.com> + + * sem_util.adb (Caller_Known_Size_Record): Make entry assertion + more robust and add guard for null argument. For protected + types, invoke Caller_Known_Size_Record on + Corresponding_Record_Type. + (Needs_Secondary_Stack): Likewise. + +2022-07-12 Doug Rupp <rupp@adacore.com> + + * libgnat/system-vxworks7-ppc-rtp.ads: Remove + * libgnat/system-vxworks7-x86-rtp.ads: Likewise. + +2022-07-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch12.adb (Analyze_Package_Instantiation): Remove dubious + call to Set_Comes_From_Source. + +2022-07-12 Bob Duff <duff@adacore.com> + + * sem_ch5.adb (Check_Unreachable_Code): Refine heuristics. + * sem_util.ads, sem_util.adb (Is_Static_Constant_Name): Remove + this; instead we have a new function Is_Simple_Case in + Sem_Ch5.Check_Unreachable_Code. + +2022-07-12 Bob Duff <duff@adacore.com> + + * gnatls.adb (Output_License_Information): Remove pragma + No_Return; call sites deal with Exit_Program. + * libgnat/g-socthi.adb (C_Connect): Suppress warning about + unreachable code. + * sem_ch5.adb (Check_Unreachable_Code): Special-case if + statements with static conditions. If we remove unreachable + code (including the return statement) from a function, add + "raise Program_Error", so we won't warn about missing returns. + Remove Original_Node in test for N_Raise_Statement; it's not + needed. Remove test for CodePeer_Mode; if Operating_Mode = + Generate_Code, then CodePeer_Mode can't be True. Misc cleanup. + Do not reuse Nxt variable for unrelated purpose (the usage in + the Kill_Dead_Code loop is entirely local to the loop). + * sem_ch6.adb: Add check for Is_Transfer. Misc cleanup. + * sem_prag.adb: Minor. + * sem_res.adb: Minor. + * sem_util.adb: Minor cleanup. + (Is_Trivial_Boolean): Move to nonnested place, so it can be + called from elsewhere. + (Is_Static_Constant_Boolean): New function. + * sem_util.ads (Is_Trivial_Boolean): Export. + (Is_Static_Constant_Boolean): New function. + +2022-07-12 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-stchop.ads: Use a double underscore prefix for symbols. + +2022-07-12 Ed Schonberg <schonberg@adacore.com> + + * freeze.adb (Check_Expression_Function.Find_Constant): Add a + check that a type that is referenced as the prefix of an + attribute is fully declared. + (Freeze_And_Append): Do not freeze the profile when freezing an + expression function. + (Freeze_Entity): When a tagged type is frozen, also freeze any + primitive operations of the type that are expression functions. + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not prevent + freezing associated with an expression function body if the + function is a dispatching op. + +2022-07-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch7.adb (Analyze_Package_Declaration): Check references to + unset objects. + +2022-07-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch13.adb (Analyze_Aspect_Yield): Look at the entity kind, + not at the declaration kind. + +2022-07-12 Joffrey Huguet <huguet@adacore.com> + + * libgnarl/a-reatim.ads, libgnat/a-cfdlli.ads, + libgnat/a-cfhama.ads, libgnat/a-cfhase.ads, + libgnat/a-cfinse.ads, libgnat/a-cfinve.ads, + libgnat/a-cforma.ads, libgnat/a-cforse.ads, + libgnat/a-chahan.ads, libgnat/a-cofove.ads, + libgnat/a-cofuma.ads, libgnat/a-cofuse.ads, + libgnat/a-cofuve.ads, libgnat/a-nbnbin.ads, + libgnat/a-nbnbre.ads, libgnat/a-ngelfu.ads, + libgnat/a-nlelfu.ads, libgnat/a-nllefu.ads, + libgnat/a-nselfu.ads, libgnat/a-nuelfu.ads, + libgnat/a-strbou.ads, libgnat/a-strfix.ads, + libgnat/a-strmap.ads, libgnat/a-strunb.ads, + libgnat/a-strunb__shared.ads, libgnat/a-strsea.ads, + libgnat/a-textio.ads, libgnat/a-tideio.ads, + libgnat/a-tienio.ads, libgnat/a-tifiio.ads, + libgnat/a-tiflio.ads, libgnat/a-tiinio.ads, + libgnat/a-timoio.ads, libgnat/i-c.ads, libgnat/interfac.ads, + libgnat/interfac__2020.ads, libgnat/s-atacco.ads, + libgnat/s-stoele.ads: Annotate packages and subprograms with + returning annotations. + +2022-07-12 Eric Botcazou <ebotcazou@adacore.com> + + * rtsfind.ads (RE_Id): Remove RE_Str_Concat_Bounds_N values. + (RE_Unit_Table): Remove RE_Str_Concat_Bounds_N entries. + * libgnat/s-conca2.ads (Str_Concat_2): Adjust head comment. + (Str_Concat_Bounds_2): Delete. + * libgnat/s-conca2.adb (Str_Concat_2): Use the length of the last + input to size the last assignment. + (Str_Concat_Bounds_2): Delete. + * libgnat/s-conca3.ads (Str_Concat_3): Adjust head comment. + (Str_Concat_Bounds_3): Delete. + * libgnat/s-conca3.adb (Str_Concat_3): Use the length of the last + input to size the last assignment. + (Str_Concat_Bounds_3): Delete. + * libgnat/s-conca4.ads (Str_Concat_4): Adjust head comment. + (Str_Concat_Bounds_4): Delete. + * libgnat/s-conca4.adb (Str_Concat_4): Use the length of the last + input to size the last assignment. + (Str_Concat_Bounds_4): Delete. + * libgnat/s-conca5.ads (Str_Concat_5): Adjust head comment. + (Str_Concat_Bounds_5): Delete. + * libgnat/s-conca5.adb (Str_Concat_5): Use the length of the last + input to size the last assignment. + (Str_Concat_Bounds_5): Delete. + * libgnat/s-conca6.ads (Str_Concat_6): Adjust head comment. + (Str_Concat_Bounds_6): Delete. + * libgnat/s-conca6.adb (Str_Concat_6): Use the length of the last + input to size the last assignment. + (Str_Concat_Bounds_6): Delete. + * libgnat/s-conca7.ads (Str_Concat_7): Adjust head comment. + (Str_Concat_Bounds_7): Delete. + * libgnat/s-conca7.adb (Str_Concat_7): Use the length of the last + input to size the last assignment. + (Str_Concat_Bounds_7): Delete. + * libgnat/s-conca8.ads (Str_Concat_8): Adjust head comment. + (Str_Concat_Bounds_8): Delete. + * libgnat/s-conca8.adb (Str_Concat_8): Use the length of the last + input to size the last assignment. + (Str_Concat_Bounds_8): Delete. + * libgnat/s-conca9.ads (Str_Concat_9): Adjust head comment. + (Str_Concat_Bounds_9): Delete. + * libgnat/s-conca9.adb (Str_Concat_9): Use the length of the last + input to size the last assignment. + (Str_Concat_Bounds_9): Delete. + +2022-07-12 Bob Duff <duff@adacore.com> + + * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Use _Next and + _Previous in the optimized expansion of "for ... of". No longer + need to check parameter profiles for these, because the + leading-underscore names are unique. + * libgnat/a-convec.ads (_Next, _Previous): Renamings of Next and + Previous, to avoid namespace pollution. + * libgnat/a-cbdlli.ads, libgnat/a-cbhama.ads, + libgnat/a-cbhase.ads, libgnat/a-cbmutr.ads, + libgnat/a-cborma.ads, libgnat/a-cborse.ads, + libgnat/a-cdlili.ads, libgnat/a-cidlli.ads, + libgnat/a-cihama.ads, libgnat/a-cihase.ads, + libgnat/a-cimutr.ads, libgnat/a-ciorma.ads, + libgnat/a-ciorse.ads, libgnat/a-cobove.ads, + libgnat/a-cohama.ads, libgnat/a-cohase.ads, + libgnat/a-coinve.ads, libgnat/a-comutr.ads, + libgnat/a-coorma.ads, libgnat/a-coorse.ads: Likewise. Also, + remove duplicated comments -- refer to one comment about _Next, + _Previous, Pseudo_Reference in libgnat/a-convec.ads. DRY. + * scng.adb (Scan): Allow leading underscores in identifiers in + the run-time library. + * snames.ads-tmpl (Name_uNext, Name_uPrevious): New names with + leading underscores. + +2022-07-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch5.adb (Check_Unreachable_Code): Extend suppression to + calls with No_Return aspect, but narrow it to functions. + * sem_res.adb (Resolve_Call): Warn about unreachable code after + calls with No_Return. + +2022-07-12 Bob Duff <duff@adacore.com> + + * scans.ads: Fix obsolete comments about Tok_Special, and give + Special_Character a predicate assuring it is one of the two + characters used in preprocessing. + * scng.ads: Clean up comments. + * scng.adb: Clean up handling of Tok_Special. Remove comment + about '@' (target_name), which doesn't seem very helpful. + Set_Special_Character will now blow up if given anything other + than '#' and '$', because of the predicate on Special_Character; + it's not clear why it used to say "when others => null;". + Remove Comment_Is_Token, which is not used. + * scn.ads: Remove commented-out use clause. Remove redundant + comment. + * ali-util.adb: Use "is null" for do-nothing procedures. + * gprep.adb (Post_Scan): Use "is null". + +2022-07-12 Bob Duff <duff@adacore.com> + + * libgnarl/s-solita.adb (Task_Termination_Handler_T): Ignore all + exceptions propagated by Specific_Handler. + * libgnarl/s-tassta.adb, libgnarl/s-taskin.ads: Minor. + +2022-07-12 Marc Poulhiès <poulhies@adacore.com> + + * sem.adb (Preanalyze): Suppress checks when not in GNATprove + mode. + * sem_res.adb (Preanalyze_And_Resolve): Add cross reference in + comment to above procedure. + * sinfo.ads: Typo fix in comment. + +2022-07-12 Julien Bortolussi <bortolussi@adacore.com> + + * libgnat/a-cfidll.adb, libgnat/a-cfidll.ads: Implementation + files of the formal unbounded indefinite list. + * Makefile.rtl, impunit.adb: Take into account the add of the + new files. + +2022-07-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Is_Variable): Remove excessive guard. + +2022-07-06 Piotr Trojanek <trojanek@adacore.com> + + * gcc-interface/Make-lang.in (ada/generated/gnatvsn.ads): + Simplify regular expression. The "interval expression", + i.e. \{8\} is part of the POSIX regular expressions, so it + should not be a problem for modern implementations of sed. + +2022-07-06 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (gnat_to_gnu): Update comment. + +2022-07-06 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/gigi.h (simple_constant_p): Declare. + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Strip + the qualifiers from the type of a simple constant. + (simple_constant_p): New predicate. + * gcc-interface/trans.cc (node_is_atomic): Return true for objects + with atomic type except for simple constants. + (node_is_volatile_full_access): Return false for simple constants + with VFA type. + +2022-07-06 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Create a + local constant holding the underlying GNAT type of the object. Do + not fiddle with the object size for an unconstrained array. + +2022-07-06 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Constify a + local variable and move a couple of others around. + +2022-07-06 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (gnat_gimplify_expr) <SAVE_EXPR>: New case. + +2022-07-06 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Function return mechanisms): New paragraph. + +2022-07-06 Yannick Moy <moy@adacore.com> + + * sem_util.adb (Is_Non_Preelaborable_Construct): Fix for + deferred constants. + +2022-07-06 Justin Squirek <squirek@adacore.com> + + * libgnat/s-regpat.adb, libgnat/s-regpat.ads (Compile): Add a + new defaulted parameter Error_When_Too_Small to trigger an + error, if specified true, when Matcher is too small to hold the + compiled regex program. + +2022-07-06 Justin Squirek <squirek@adacore.com> + + * sem_ch4.adb (Analyze_Selected_Component): Add condition to + avoid interpreting derived type components as candidates for + selected components in preanalysis of inherited class + conditions. + +2022-07-06 Yannick Moy <moy@adacore.com> + + * ghost.adb (Check_Ghost_Context): Delay checking for generic + associations. + (Check_Ghost_Context_In_Generic_Association): Perform ghost + checking in analyzed generic associations. + (Check_Ghost_Formal_Procedure_Or_Package): Check SPARK RM + 6.9(13-14) for formal procedures and packages. + (Check_Ghost_Formal_Variable): Check SPARK RM 6.9(13-14) for + variables. + * ghost.ads: Declarations for the above. + * sem_ch12.adb (Analyze_Associations): Apply delayed checking + for generic associations. + (Analyze_Formal_Object_Declaration): Same. + (Analyze_Formal_Subprogram_Declaration): Same. + (Instantiate_Formal_Package): Same. + (Instantiate_Formal_Subprogram): Same. + (Instantiate_Object): Same. Copy ghost aspect to newly declared + object for actual for IN formal object. Use new function + Get_Enclosing_Deep_Object to retrieve root object. + (Instantiate_Type): Copy ghost aspect to declared subtype for + actual for formal type. + * sem_prag.adb (Analyze_Pragma): Recognize new allowed + declarations. + * sem_util.adb (Copy_Ghost_Aspect): Copy the ghost aspect + between nodes. + (Get_Enclosing_Deep_Object): New function to return enclosing + deep object (or root for reachable part). + * sem_util.ads (Copy_Ghost_Aspect): Same. + (Get_Enclosing_Deep_Object): Same. + * libgnat/s-imageu.ads: Declare formal subprograms as ghost. + * libgnat/s-valuei.ads: Same. + * libgnat/s-valuti.ads: Same. + +2022-07-06 Javier Miranda <miranda@adacore.com> + + * sem_res.adb (Resolve_Type_Conversion): Code cleanup since the + previous static check has been moved to Valid_Tagged_Conversion. + (Valid_Tagged_Conversion): Fix the code checking conversion + to/from interface types since incorrectly returns True when the + parent type of the operand type (or the target type) is an + interface type; add missing static checks on interface type + conversions. + +2022-07-06 Marc Poulhiès <poulhies@adacore.com> + + * libgnat/s-secsta.ads (SS_Allocate): Add new Alignment + parameter. + (Memory_Alignment): Remove. + * libgnat/s-secsta.adb (Align_Addr): New. + (SS_Allocate): Add new Alignment parameter. Realign pointer if + needed. Don't allocate anything for 0-sized allocations. + * gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Add + allocated object's alignment as last parameter to allocation + invocation. + +2022-07-06 Piotr Trojanek <trojanek@adacore.com> + + * libgnat/g-socket.adb (Get_Address_Info): Reduce scope of the + Found variable; avoid repeated assignment inside the loop. + +2022-07-06 Doug Rupp <rupp@adacore.com> + + * Makefile.rtl [arm,aarch64 vxworks7]: Remove rtp and kernel + build macros and set an error variable if needed. + [x86,x86_vxworks7]: Likewise. + [ppc,ppc64]: Set an error variable if needed. + (rts-err): New phony Makefile target. + (setup-rts): Depend on rts-err. + +2022-07-06 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Make_Allocator_For_BIP_Return): New local function. + (Expand_N_Object_Declaration): Use it to build the three allocators + for a Build-In-Place return with an unconstrained type. Update the + head comment after other recent changes. + +2022-07-06 Doug Rupp <rupp@adacore.com> + + * libgnat/system-vxworks7-e500-kernel.ads: Remove. + * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-e500-rtp.ads: Likewise. + +2022-07-06 Justin Squirek <squirek@adacore.com> + + * gnat_cuda.adb (Empty_CUDA_Global_Subprogram): Set + Specification and Corresponding_Spec to match the original + Kernel_Body. + +2022-07-06 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch6.adb (Build_Static_Check_Helper_Call): Replace explicit + call to Make_Unchecked_Type_Conversion with a call to + Unchecked_Convert_To. + * tbuild.adb (Unchecked_Convert_To): Fix whitespace. + +2022-07-06 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Resolve_Actuals): Restore first sentence of a + comment. + +2022-07-06 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Expand_Record_Aggregate): Do not call + Is_Full_Access_Aggregate here. + * freeze.ads (Is_Full_Access_Aggregate): Delete. + * freeze.adb (Is_Full_Access_Aggregate): Move to... + (Freeze_Entity): Do not call Is_Full_Access_Aggregate here. + * sem_aggr.adb (Is_Full_Access_Aggregate): ...here + (Resolve_Aggregate): Call Is_Full_Access_Aggregate here. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst + (Warning Message Control): Update description of switch -gnatwj. + * gnat_ugn.texi: Regenerate. + * sem_ch10.adb (Analyze_With_Clause): Warn on WITH clauses for + obsolete renamed units; in Ada 83 mode do not consider + predefined renamings to be obsolete. + +2022-07-05 Eric Botcazou <ebotcazou@adacore.com> + + * exp_util.adb (Make_Subtype_From_Expr): Do not set field to Empty. + * sem_util.adb (Visit_Itype): Remove ??? comment. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Note_Possible_Modification): Revert a + special-case for validity checks on Long_Float type. + * snames.ads-tmpl (Name_Attr_Long_Float): Remove name added + exclusively for the mentioned fix. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch6.adb (Set_Formal_Mode): Remove unnecessary setting of + Never_Set_In_Source. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch6.adb (Process_Formals): Avoid repeated calls to + Expression. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_code.adb (Setup_Asm_IO_Args): Remove guard against No_List. + * par_sco.adb (Process_Decisions): Likewise. + * sem_ch13.adb (Check_Component_List): Likewise. + * sem_ch6.adb (FCL): Likewise. + +2022-07-05 Doug Rupp <rupp@adacore.com> + + * cstreams.c (__gnat_full_name) [QNX]: Remove block. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * osint.adb (Locate_File): Use Name_Find with a parameter and + not with a global buffer. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch3.adb (Build_Init_Statements): Reuse Get_Pragma_Arg. + * exp_prag.adb (Arg_N): Likewise. + +2022-07-05 Yannick Moy <moy@adacore.com> + + * ghost.adb (Is_OK_Ghost_Context): Detect ghost type inside object + renaming. + +2022-07-05 Bob Duff <duff@adacore.com> + + * exp_ch7.adb: Change two constants Is_Protected_Body and + Is_Prot_Body to be Is_Protected_Subp_Body; these are not true + for protected bodies, but for protected subprogram bodies. + (Expand_Cleanup_Actions): No need to search for + Activation_Chain_Entity; just use Activation_Chain_Entity. + * sem_ch8.adb (Find_Direct_Name): Use Entyp constant. + * atree.adb, atree.ads, atree.h, nlists.adb, nlists.ads + (Parent): Provide nonoverloaded versions of Parent, so that they + can be easily found in the debugger. + * debug_a.adb, debug_a.ads: Clarify that we're talking about the + -gnatda switch; switches are case sensitive. Print out the + Chars field if appropriate, which makes it easier to find things + in the output. + (Debug_Output_Astring): Simplify. Also fix an off-by-one + bug ("for I in Vbars'Length .." should have been "for I in + Vbars'Length + 1 .."). Before, it was printing Debug_A_Depth + + 1 '|' characters if Debug_A_Depth > Vbars'Length. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Analyze_Pragma): Remove unnecessary call to + Analyze. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * libgnat/g-socket.adb (Raise_Host_Error): Add No_Return aspect. + (Raise_GAI_Error): Likewise. + * libgnat/g-socket.ads (Raise_Socket_Error): Likewise. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Aggregate_Constraint_Checks): Fix whitespace; + refactor repeated code; replace a ??? comment with an + explanation based on the comment for the routine spec. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.ads (Note_Possible_Modification): Fix occurrence of + May_Be_Modified in comment. + * sem_warn.ads (Check_Unset_Reference): Fix occurrence of + Not_Assigned in comment. + +2022-07-05 Yannick Moy <moy@adacore.com> + + * sem_attr.adb (Analyze_Attribute): Take into account the + possibility of homonyms. + +2022-07-05 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as a renaming + for any nonaliased local object with nominal unconstrained subtype + originally initialized with the result of a function call that has + been rewritten as the dereference of a reference to the result. + * sem_ch3.adb (Analyze_Object_Declaration): Do not do it here + +2022-07-05 Arnaud Charlet <charlet@adacore.com> + + * exp_imgv.adb (Build_Enumeration_Image_Tables): Also disable + perfect hash in GNAT_Mode. + * raise-gcc.c (__gnat_Unwind_RaiseException): Add support for + disabling exception propagation. + * sem_eval.adb (Compile_Time_Known_Value): Update comment and + remove wrong call to Check_Error_Detected. + * sem_prag.adb (Check_Loop_Pragma_Grouping, Analyze_Pragma): + Remove exception propagation during bootstrap. + +2022-07-05 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Expand_Array_Aggregate): Remove obsolete code. + Delay the expansion of aggregates initializing return objects of + build-in-place functions. + * exp_ch3.ads (Ensure_Activation_Chain_And_Master): Delete. + * exp_ch3.adb (Ensure_Activation_Chain_And_Master): Fold back to... + (Expand_N_Object_Declaration): ...here. + Perform the expansion of return objects of build-in-place functions + here instead of... + * exp_ch6.ads (Is_Build_In_Place_Return_Object): Declare. + * exp_ch6.adb (Expand_N_Extended_Return_Statement): ...here. + (Is_Build_In_Place_Result_Type): Alphabetize. + (Is_Build_In_Place_Return_Object): New predicate. + * exp_ch7.adb (Enclosing_Function): Delete. + (Process_Object_Declaration): Tidy up handling of return objects. + * sem_ch3.adb (Analyze_Object_Declaration): Do not decorate and + freeze the actual type if it is the same as the nominal type. + * sem_ch6.adb: Remove use and with clauses for Exp_Ch3. + (Analyze_Function_Return): Analyze again all return objects. + (Create_Extra_Formals): Do not force the definition of an Itype + if the subprogram is a compilation unit. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * gnatls.adb (Corresponding_Sdep_Entry): Remove dead return + statement in defensive path; there is another return statement + for a normal execution of this routine, so rule Ada RM 6.5(5), + which requires function to have at least one return statement is + still satisfied. + (Gnatls): Remove dead, call to nonreturning Exit_Program after + Output_License_Information which itself does not return. + * libgnat/a-exstat.adb (Bad_EO): Remove raise statement that was + meant to please some ancient version of GNAT. + * libgnat/g-awk.adb (Raise_With_Info): Likewise. + * sem_attr.adb (Check_Reference): Remove dead return statement; + rule Ada RM 6.5(5), which requires function to have at least one + return statement is still satisfied. + (Analyze_Attribute): Remove dead exit statement. + (Check_Reference): Same as above. + * sem_ch12.adb (Instantiate_Formal_Package): Remove dead raise + statement; it was inconsistent with other calls to + Abandon_Instantiation, which are not followed by a raise + statement. + * sem_prag.adb (Process_Convention): Remove dead defensive + assignment. + (Interrupt_State): Remove dead defensive exit statement. + (Do_SPARK_Mode): Likewise. + * sfn_scan.adb (Scan_String): Remove dead defensive assignment. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb, sem_prag.adb: Remove dead return statements + after calls to Error_Attr, Error_Pragma, Error_Pragma_Arg and + Placement_Error. All these calls raise exceptions that are + handled to gently recover from errors. + +2022-07-05 Doug Rupp <rupp@adacore.com> + + * libgnat/system-vxworks-ppc-kernel.ads (Word_Size): Compute + based on Standard'Word_Size. + (Memory_Size): Compute based on Word_Size. + * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise. + * libgnat/system-vxworks-ppc-rtp.ads: Likewise. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Analyze_Attribute): Move call to + Set_Address_Taken so that it is executed when the prefix + attribute is legal. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch5.adb (Check_Unreachable_Code): Avoid explicit use of + Sloc; this should also help when we finally use Source_Span for + prettier error messages. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch5.adb (Check_Unreachable_Code): Remove redundant guard; + the call to Present wasn't needed either. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch5.adb (Analyze_Block_Statement): Call to List_Length with + No_List is safe and will return zero. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch6.adb (Check_Missing_Return): Add reference to an RM rule. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch6.adb (Check_Missing_Return): Remove outdated comment. + +2022-07-05 Dmitriy Anisimkov <anisimko@adacore.com> + + * adaint.h (convert_addresses): Remove function declaration. + +2022-07-05 Doug Rupp <rupp@adacore.com> + + * Makefile.rtl (*vxworks*): Remove most pre-vxworks7 code. + * vxworks-arm-link.spec: Remove. + * vxworks-e500-link.spec: Likewise. + * vxworks-smp-arm-link.spec: Likewise. + * vxworks-smp-e500-link.spec: Likewise. + * vxworks-smp-x86-link.spec: 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-x86-kernel.ads: Likewise. + * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise. + * libgnat/system-vxworks-x86-rtp.ads: Likewise. + +2022-07-04 Eric Botcazou <ebotcazou@adacore.com> + + * sem_disp.adb (Check_Dispatching_Call): Merge the two special cases + where there are no controlling actuals but tag-indeternminate ones. + +2022-07-04 Eric Botcazou <ebotcazou@adacore.com> + + * exp_disp.adb (Expand_Dispatching_Call): Fix detection of calls + that are dispatching on tagged result. + +2022-07-04 Doug Rupp <rupp@adacore.com> + + * Makefile.rtl (ADA_EXCLUDE_SRCS): Add s-qnx.ads. + +2022-07-04 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Expand_N_Object_Declaration) <OK_To_Rename_Ref>: New + local function. + <Rewrite_As_Renaming>: Change to a local variable whose value is + computed once and generate a call to Finalize after this is done. + Simplify the code creating the renaming at the end. + +2022-07-04 Doug Rupp <rupp@adacore.com> + + * Makefile.rtl (GCC_SPEC_FILES): Remove vxworks cert files. + +2022-07-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Resolve_Attribute): Refactor duplicated code for + Count and Index attributes. + +2022-07-04 Eric Botcazou <ebotcazou@adacore.com> + + * checks.adb (Apply_Length_Check_On_Assignment): Return early if + the Suppress_Assignment_Checks flag is set. + (Selected_Range_Checks): Deal with conditional expressions. + * exp_ch4.adb (Too_Large_Length_For_Array): New constant. + (Expand_Concatenate): Use it in lieu of Too_Large_Max_Length. + (Expand_N_If_Expression): If the result has a unidimensional array + type but the dependent expressions have constrained subtypes with + known bounds, create a static temporary on the stack with a subtype + covering the result. + (Get_First_Index_Bounds): Deal with string literals. + * uintp.ads (Uint_256): New deferred constant. + * sinfo.ads (Suppress_Assignment_Checks): Document new usage. + +2022-07-04 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Expand_N_Object_Declaration.Rewrite_As_Renaming): + Do not rewrite if the declaration has got constraints. + * sinfo.ads (Case Expression Alternative): Fix typo. + +2022-07-04 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Expand_N_Object_Declaration.Rewrite_As_Renaming): + Be prepared for slices. + * exp_ch4.adb (Get_First_Index_Bounds): New procedure. + (Expand_Array_Comparison.Length_Less_Than_4): Call it. + (Expand_Concatenate): Try to compute a maximum length for + operands with variable length and a maximum total length at the + end. If the concatenation is dynamic, but a sensible maximum + total length has been computed, use this length to create a + static array subtype for the temporary and return a slice of it. + +2022-07-04 Steve Baird <baird@adacore.com> + + * sem_ch3.adb (Check_Possible_Deferred_Completion): Delete + Prev_Obj_Def formal parameter. Reorganize code so that + statically matching check is also performed in the case where + the subtype given in the initial declaration is constrained and + the subtype given in the completion is not. + +2022-07-04 Bob Duff <duff@adacore.com> + + * einfo-utils.ads, einfo-utils.adb: Add predicates on subtypes E + and N. Change some parameters to use the unpredicated subtypes, + because they sometimes return e.g. Empty. Note that N_Entity_Id + has a predicate; Entity_Id does not. + * exp_tss.adb (Base_Init_Proc): Use Entity_Id instead of E, + because otherwise we fail the predicate. We shouldn't be + referring to single-letter names from far away anyway. + * sem_aux.adb (Is_Derived_Type): Likewise. + * sem_res.adb (Is_Definite_Access_Type): Use N_Entity_Id for + predicate. + * types.ads (Entity_Id): Add comment explaining the difference + between Entity_Id and N_Entity_Id. + +2022-07-04 Justin Squirek <squirek@adacore.com> + + * exp_util.adb (Remove_Side_Effects): Combine identical + branches. + * sem_attr.adb (Analyze_Attribute): Combine identical cases + Attribute_Has_Same_Storage and Attribute_Overlaps_Storage. + * sem_prag.adb (Check_Role): Combine E_Out_Parameter case with + general case for parameters. + * sem_util.adb (Accessibility_Level): Combine identical + branches. + * sprint.adb (Sprint_Node_Actual): Combine cases for + N_Real_Range_Specification and N_Signed_Integer_Type_Definition. + +2022-07-04 Justin Squirek <squirek@adacore.com> + + * libgnat/s-os_lib.adb (Quote_Argument): Modify the result + buffer size calculation to handle the case where Arg'Length is + 1. + +2022-07-04 Bob Duff <duff@adacore.com> + + * exp_util.adb (Expand_Subtype_From_Expr): Generate a new + subtype when Is_Constr_Subt_For_UN_Aliased is True, so the + Is_Constr_Subt_For_U_Nominal flag will not be set on the + preexisting subtype. + * sem_attr.adb, sem_ch3.adb: Minor. + +2022-07-04 Eric Botcazou <ebotcazou@adacore.com> + + * debug.adb (d.9): Remove usage. + * exp_ch6.adb (Expand_Simple_Function_Return): Remove redundant + test on Debug_Flag_Dot_L. + (Is_Build_In_Place_Result_Type): Return false for nonlimited types. + (Is_Build_In_Place_Function): Tidy up and remove redundant test on + Debug_Flag_Dot_L. + +2022-07-04 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Expand_N_Object_Declaration): Don't adjust the object + if the expression is a function call. + <Rewrite_As_Renaming>: Return true if the object needs finalization + and is initialized with the result of a function call returned on + the secondary stack. + * exp_ch6.adb (Expand_Ctrl_Function_Call): Add Use_Sec_Stack boolean + parameter. Early return if the parent is an object declaration and + Use_Sec_Stack is false. + (Expand_Call_Helper): Adjust call to Expand_Ctrl_Function_Call. + * exp_ch7.adb (Find_Last_Init): Be prepared for initialization still + present in the object declaration. + * sem_ch3.adb (Analyze_Object_Declaration): Call the predicates + Needs_Secondary_Stack and Needs_Finalization to guard the renaming + optimization. + +2022-07-04 Bob Duff <duff@adacore.com> + + * libgnat/a-cbhase.ads, libgnat/a-cborse.ads, + libgnat/a-cihase.ads, libgnat/a-ciorse.ads, + libgnat/a-cohase.ads, libgnat/a-coorse.ads (Key): New function + that takes a Container parameter, implemented as an expression + function, so it is self explanatory (doesn't need a comment). + +2022-07-04 Vasiliy Fofanov <fofanov@adacore.com> + + * doc/gnat_rm/the_gnat_library.rst: Fix length of title + underlines. + +2022-07-04 Steve Baird <baird@adacore.com> + + * sem_ch4.adb (Analyze_Allocator): After calling Insert_Action + to insert a subtype declaration associated with an allocator, + the subtype declaration will usually be analyzed. But not + always. Add an explicit call to Preanalyze to cope with the + unusual case. The subtype declaration must be at least + preanalyzed before the call to Sem_Ch3.Process_Subtype a little + while later, during which we analyze an identifier that refers + to the subtype. + +2022-07-04 Steve Baird <baird@adacore.com> + + * sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not + generate a warning if the expression in question is an assertion + expression, or a subexpression thereof. But do call + Test_Comparison so that it can generate warnings for the cases + that it generates warnings for. + * sem_prag.ads: Modify Assertion_Expression_Pragma constant so + that the predicate Sem_Util.In_Assertion_Expression_Pragma + returns True for the expression of a Compile_Time_Error pragma. + +2022-07-04 Julien Bortolussi <bortolussi@adacore.com> + + * doc/gnat_rm/the_gnat_library.rst: Add the new entry. + * gnat_rm.texi: Regenerate. + +2022-07-04 Eric Botcazou <ebotcazou@adacore.com> + + * sem_res.adb (Resolve_Comparison_Op): Deal with ambiguous operands + in all cases. + (Resolve_Equality_Op): Likewise, except for the case of the implicit + inequality operator created for a user-defined operator that is not + an intrinsic subprogram. + +2022-07-04 Bob Duff <duff@adacore.com> + + * libgnat/a-cbhase.adb, libgnat/a-cbhase.ads, + libgnat/a-cborse.adb, libgnat/a-cborse.ads, + libgnat/a-cihase.adb, libgnat/a-cihase.ads, + libgnat/a-ciorse.adb, libgnat/a-ciorse.ads, + libgnat/a-cohase.adb, libgnat/a-cohase.ads, + libgnat/a-conhel.adb, libgnat/a-conhel.ads, + libgnat/a-coorse.adb, libgnat/a-coorse.ads: Add Has_Element, + Element, Query_Element, and Next subprograms that take a Set + parameter. Add Tampering_With_Cursors_Prohibited function. These + are all new in Ada 2022. + +2022-07-04 Claire Dross <dross@adacore.com> + + * doc/gnat_rm/the_gnat_library.rst: Functional vectors, sets, + and maps are now controlled. + * gnat_rm.texi: Regenerate. + +2022-07-04 Claire Dross <dross@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst + (Debugging and Assertion Control): Add GNAT specific assertion + pragmas to the equivalent Assertion_Policy for the -gnata + option. + * gnat_ugn.texi: Regenerate. + +2022-07-04 Justin Squirek <squirek@adacore.com> + + * sem_disp.adb (Most_Descendant_Use_Clause): Remove call to + deprecated Is_Internal. + * sem_util.adb (Innermost_Master_Scope_Depth): Use + Find_Enclosing_Scope instead of Nearest_Dynamic_Scope to avoid + cases where relevant scopes get skipped leading to an incorrect + scope depth calculation. + +2022-07-04 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Build_In_Place_Formal): Also compute Returns_By_Ref + for the function if the extra formals were not built initially. + +2022-07-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch13.adb (Resolve_Iterable_Operation): Add guard to + prevent crash when the examined function has no formal + parameters and Etype is called on Empty entity. + +2022-07-04 Julien Bortolussi <bortolussi@adacore.com> + + * libgnat/a-cfinse.adb, libgnat/a-cfinse.ads: Implementation + files of the sequence. + * Makefile.rtl, impunit.adb: Take into account the add of the + new files + +2022-07-04 Eric Botcazou <ebotcazou@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst (Pure_Function): + Fix ambiguous wording about context dependence. + * gnat_rm.texi: Regenerate. + +2022-06-02 David Malcolm <dmalcolm@redhat.com> + + * gcc-interface/misc.cc (gnat_get_sarif_source_language): New. + (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine. + +2022-06-02 Pierre-Marie de Rodat <derodat@adacore.com> + + * gcc-interface/gigi.h: Update copyright notice. + * gcc-interface/lang-specs.h: Likewise. + * gcc-interface/utils.cc: Likewise. + +2022-06-02 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/gigi.h (enum standard_datatypes): Remove values + for the SJLJ exception mechanism. + (jmpbuf_type): Delete. + (jmpbuf_ptr_type): Likewise. + (get_jmpbuf_decl): Likewise. + (set_jmpbuf_decl): Likewise. + (get_excptr_decl): Likewise. + (not_handled_by_others_decl): Likewise. + (setjmp_decl): Likewise. + (update_setjmp_buf_decl): Likewise. + (raise_nodefer_decl): Likewise. + (set_block_jmpbuf_decl): Likewise. + (get_block_jmpbuf_decl): Likewise. + * gcc-interface/trans.cc (gigi): Delete dead code. + * gcc-interface/utils.cc (gnat_binding_level): Remove JMPBUF_DECL. + (gnat_pushlevel): Do not clear it. + (set_block_jmpbuf_decl): Delete. + (get_block_jmpbuf_decl): Likewise. + +2022-06-02 Ghjuvan Lacambre <lacambre@adacore.com> + + * gcc-interface/decl.cc (warn_on_field_placement): Add insertion + character '.q' to warning string. + +2022-06-02 Arnaud Charlet <charlet@adacore.com> + + * gcc-interface/Makefile.in (gnatlib-shared-default): Add + -fno-lto. + +2022-06-02 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Do not check the + scope of anonymous access Itypes. + * gcc-interface/trans.cc (Identifier_to_gnu): Do not translate + the return type of a subprogram here. + +2022-06-02 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.adb (Expand_N_Package_Body): Build static dispatch + tables only for units that are not compilation units, unless + they are generic instances. Do not push a scope for this. + (Expand_N_Package_Declaration): Build static dispatch tables + only for units that are both not compilation units and generic + instances. + * exp_disp.adb (Build_Static_Dispatch_Tables): Remove redundant + early return. Push a scope for package bodies. + * sem_ch10.adb: Add with and use clauses for Exp_Disp. + (Analyze_Compilation_Unit): Build static dispatch tables here. + +2022-06-02 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Clear the Is_Public + flag on thunks. + +2022-06-02 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch13.adb, exp_ch5.adb, exp_ch9.adb, exp_strm.adb, + sem_ch10.adb, sem_ch13.adb, sem_ch5.adb, sem_ch6.adb, + sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb, + sem_util.adb: Remove checks for the missing list before + iterating with First/Next; reindent code and refill comments. + +2022-06-02 Eric Botcazou <ebotcazou@adacore.com> + + * einfo.ads (Has_Controlling_Result): Document new usage. + (Is_Thunk): Document secondary stack thunks. + (Returns_By_Ref): Adjust. + * exp_ch6.adb (Caller_Known_Size): Return true for tagged types. + (Expand_N_Extended_Return_Statement): Do not call Set_By_Ref. + (Expand_Simple_Function_Return): For a BIP return with an Alloc_Form + parameter, mark the node as returning on the secondary stack. + Replace call to Is_Limited_Interface with Is_Limited_View. Deal wit + secondary stack thunks. Do not call Set_By_Ref. Optimize the case + of a call to a function whose type also needs finalization. + (Needs_BIP_Task_Actuals): Replace Thunk_Entity with Thunk_Target. + (Needs_BIP_Finalization_Master): Cosmetic fixes. + (Needs_BIP_Alloc_Form): Check No_Secondary_Stack restriction and + return true for tagged types. + * exp_ch7.adb (Transient Scope Management): Update description. + * exp_disp.adb (Expand_Dispatching_Call): Always set Returns_By_Ref + on designated type if the call is dispatching on result. Tidy up. + (Expand_Interface_Thunk): Change type of Thunk_Code from Node_Id to + List_Id. Change type of local variables from Node_Id to Entity_Id. + Propagate Aliased_Present flag to create the formals and explicitly + set Has_Controlling_Result to False. Build a secondary stack thunk + if necessary in the function case. + (Expand_Secondary_Stack_Thunk): New function. + (Make_Secondary_DT): Build secondary stack thunks if necessary. + (Make_DT): Likewise. + (Register_Predefined_Primitive): Likewise. + (Register_Primitive): Likewise. + * exp_util.ads (Is_Secondary_Stack_Thunk): Declare. + (Thunk_Target): Likewise. + * exp_util.adb (Is_Secondary_Stack_Thunk): New function. + (Thunk_Target): Likewise. + * fe.h (Is_Secondary_Stack_Thunk): Declare. + (Thunk_Target): Likewise. + * gen_il-fields.ads (Opt_Field_Enum): Remove By_Ref. + * gen_il-gen-gen_nodes.adb (N_Simple_Return_Statement): Likewise. + (N_Extended_Return_Statement): Likewise. + * sem_ch6.adb (Analyze_Subprogram_Specification): Skip check for + abstract return type in the thunk case. + (Create_Extra_Formals): Replace Thunk_Entity with Thunk_Target. + * sem_disp.adb (Check_Controlling_Formals): Skip in the thunk case. + * sem_util.adb: Add use and with clauses for Exp_Ch6. + (Compute_Returns_By_Ref): Do not process procedures and only set + the flag for direct return by reference. + (Needs_Secondary_Stack): Do not return true for specific tagged + types and adjust comments accordingly. + * sinfo.ads (By_Ref): Delete. + (N_Simple_Return_Statement): Remove By_Ref. + (N_Extended_Return_Statement): Likewise. + * gcc-interface/ada-tree.h (TYPE_RETURN_UNCONSTRAINED_P): Delete. + * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Do not use it. + Return by direct reference if the return type needs the secondary + stack as well as for secondary stack thunks. + * gcc-interface/gigi.h (fntype_same_flags_p): Remove parameter. + * gcc-interface/misc.cc (gnat_type_hash_eq): Adjust to above change. + * gcc-interface/trans.cc (finalize_nrv): Replace test on + TYPE_RETURN_UNCONSTRAINED_P with TYPE_RETURN_BY_DIRECT_REF_P. + (Subprogram_Body_to_gnu): Do not call maybe_make_gnu_thunk for + secondary stack thunks. + (Call_to_gnu): Do not test TYPE_RETURN_UNCONSTRAINED_P. + (gnat_to_gnu) <N_Simple_Return_Statement>: In the return by direct + reference case, test for the presence of Storage_Pool on the node + to build an allocator. + (maybe_make_gnu_thunk): Deal with Thunk_Entity and Thunk_Target. + * gcc-interface/utils.cc (fntype_same_flags_p): Remove parameter. + +2022-06-02 Marc Poulhiès <poulhies@adacore.com> + + * einfo.ads: Fix reference to Global_Entity_Suppress and + Local_Entity_Suppress variable in the comments. + * sem.ads: Likewise. + * sem_prag.adb: Likewise. + +2022-06-02 Claire Dross <dross@adacore.com> + + * libgnat/s-aridou.adb: Use Always_Return instead of Terminating + to annotate termination for GNATprove. + * libgnat/s-arit32.adb: Idem. + * libgnat/s-spcuop.ads: Idem. + +2022-06-02 Julien Bortolussi <bortolussi@adacore.com> + + * libgnat/a-cofuse.ads, libgnat/a-cofuse.adb, + libgnat/a-cofuma.ads, libgnat/a-cofuma.adb: Make Length and + Num_Overlaps return Big_Natural. + * libgnat/a-cforse.ads, libgnat/a-cforse.adb, + libgnat/a-cforma.adb, libgnat/a-cfhase.ads, + libgnat/a-cfhase.adb, libgnat/a-cfhama.adb, + libgnat/a-cfdlli.adb: Adapt code to handle Big_Integers instead + of Count_Type. + +2022-06-02 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Init_Secondary_Tags.Initialize_Tag): Initialize the + Offset_Func component by means of 'Unrestricted_Access. + +2022-06-02 Ghjuvan Lacambre <lacambre@adacore.com> + + * errout.adb (Write_JSON_Span): Add subprogram name to emitted + JSON. + +2022-06-02 Arnaud Charlet <charlet@adacore.com> + + * sem_ch7.adb (Set_Referencer_Of_Non_Subprograms): New local + procedure, used for code refactoring. Also take into account + Inline_Always pragma when deciding to make a symbol public for + C generation. + +2022-06-02 Yannick Moy <moy@adacore.com> + + * atree.adb (New_Copy): Reset flags related to ghost entities + before marking the new node. + +2022-06-02 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Move + procedure to... + * exp_disp.ads (Expand_Interface_Thunk): Move declaration to... + (Register_Predefined_Primitive): Declare. + * exp_disp.adb (Expand_Interface_Thunk): ...here. + (Register_Predefined_Primitive): ...here and change into a function + returning List_Id. + +2022-06-02 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Expand_Freeze_Record_Type): Adjust comment. + (Expand_N_Object_Declaration): Do not build static dispatch tables. + * exp_disp.adb (Make_And_Insert_Dispatch_Table): New procedure. + (Build_Static_Dispatch_Tables): Call it to build the dispatch tables + and wrap them in the Actions list of a freeze node. + +2022-06-02 Doug Rupp <rupp@adacore.com> + + * libgnat/system-vxworks7-arm.ads (Support_Atomic_Primitives): + Set True. + * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-aarch64.ads: Likewise. + * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise: + +2022-06-02 Javier Miranda <miranda@adacore.com> + + * libgnat/g-dyntab.ads (Table_Type): Update documentation. + +2022-06-02 Eric Botcazou <ebotcazou@adacore.com> + + * freeze.adb (Check_Expression_Function.Find_Constant): Make test + for deferred constants more robust. + +2022-06-02 Joffrey Huguet <huguet@adacore.com> + + * libgnat/i-cstrin.ads (Update): Update precondition. + +2022-06-02 Yannick Moy <moy@adacore.com> + + * sem_ch2.adb (Analyze_Identifier): Add checking for ghost + context. + * sem_ch5.adb (Analyze_Implicit_Label_Declaration): Treat + implicit labels like other entities by setting their ghost + status according to context. + * ghost.adb (Check_Ghost_Context): Adapt checking. + +2022-06-02 Joffrey Huguet <huguet@adacore.com> + + * libgnat/i-cstrin.ads (Update): Add precondition. + +2022-06-02 Yannick Moy <moy@adacore.com> + + * sem_ch5.adb (Analyze_Label_Entity): Remove body. + * sem_ch5.ads (Analyze_Label_Entity): Remove spec. + +2022-06-02 Eric Botcazou <ebotcazou@adacore.com> + + * sem_util.adb (Propagate_DIC_Attributes): Add ??? comment. + (Propagate_Invariant_Attributes): Likewise. Propagate the + Has_Inheritable_Invariants and Has_Inherited_Invariants to + the base type of the target type. + +2022-06-02 Doug Rupp <rupp@adacore.com> + + * libgnat/system-linux-arm.ads (Memory_Size): Compute based on + Word_Size. + +2022-06-02 Doug Rupp <rupp@adacore.com> + + * libgnat/system-vxworks7-aarch64-rtp-smp.ads (Word_Size): + Compute based on Standard'Word_Size. (Memory_Size): Compute + based on Word_Size. + * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-e500-rtp.ads: Likewise. + * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-ppc-rtp.ads: Likewise. + * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-x86-rtp.ads: Likewise. + +2022-06-02 Justin Squirek <squirek@adacore.com> + + * gnatbind.adb (Gnatbind): Add initialize call for Uintp + * gnatls.adb (Gnatls): Likewise. + * gprep.adb (Gnatprep): Likewise. + * make.adb (Initialize): Likewise. + +2022-06-02 Claire Dross <dross@adacore.com> + + * libgnat/a-cfinve.ads (Element): Change the type of the + Position parameter to Extended_Index. + * libgnat/a-cfinve.adb (Element): Idem. + * libgnat/a-cofove.ads (Element): Idem. + * libgnat/a-cofove.adb (Element): Idem. + +2022-06-02 Joffrey Huguet <huguet@adacore.com> + + * libgnat/s-atacco.ads (To_Pointer): Add Global => null. + (To_Address): Add SPARK_Mode => Off. + +2022-06-02 Joffrey Huguet <huguet@adacore.com> + + * libgnat/i-cstrin.ads (To_Chars_Ptr): Add SPARK_Mode => Off. + (Free): Likewise. + (New_Char_Array): Add global contracts and Volatile attribute. + (New_String): Likewise. + (Value, Strlen, Update): Add global contracts and preconditions. + * libgnat/i-cstrin.adb: Add SPARK_Mode => Off to the package + body. + +2022-06-01 Yannick Moy <moy@adacore.com> + + * contracts.adb (Check_Type_Or_Object_External_Properties): Check + the validity of combinations only when No_Caching is not used. + * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Check + valid combinations with No_Caching. + +2022-06-01 Doug Rupp <rupp@adacore.com> + + * libgnat/system-vxworks7-aarch64.ads (Word_Size): Compute + based on Standard'Word_Size. (Memory_Size): Compute based + on Word_Size. + * libgnat/system-vxworks7-arm.ads: Likewise. + * libgnat/system-vxworks7-e500-kernel.ads: Likewise. + * libgnat/system-vxworks7-ppc-kernel.ads: Likewise. + * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise. + * libgnat/system-vxworks7-x86-kernel.ads: Likewise. + * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise. + +2022-06-01 Doug Rupp <rupp@adacore.com> + + * libgnat/system-qnx-arm.ads (Memory_Size): Compute based on + Word_Size. + +2022-06-01 Piotr Trojanek <trojanek@adacore.com> + + * par-util.adb (Ignore): Add missing space to message string. + +2022-06-01 Yannick Moy <moy@adacore.com> + + * sem_prag.ads (Assertion_Expression_Pragmas): Fix value for + pragma Subprogram_Variant. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Caller_Known_Size): Invoke Needs_Secondary_Stack in + lieu of Returns_On_Secondary_Stack. + (Expand_Call_Helper): Likewise. + (Expand_Simple_Function_Return): Likewise. + (Needs_BIP_Alloc_Form): Likewise. + * exp_ch7.adb (Wrap_Transient_Declaration): Likewise. + * sem_res.adb (Resolve_Call): Likewise. + (Resolve_Entry_Call): Likewise. + * sem_util.ads (Returns_On_Secondary_Stack): Rename into... + (Needs_Secondary_Stack): ...this. + * sem_util.adb (Returns_On_Secondary_Stack): Rename into... + (Needs_Secondary_Stack): ...this. + * fe.h (Returns_On_Secondary_Stack): Delete. + (Needs_Secondary_Stack): New function. + * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call + to Returns_On_Secondary_Stack with Needs_Secondary_Stack. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): For the case where + there is no previous declaration, freeze the body entity only after + it has been processed as a new overloaded name. + Use Was_Expression_Function to recognize expression functions. + * sem_disp.adb (Check_Dispatching_Operation): Do not require a body + which is the last primitive to be frozen here. + +2022-06-01 Julien Bortolussi <bortolussi@adacore.com> + + * libgnat/a-cfdlli.adb ("="): Make the function properly loop + over the right list. + +2022-06-01 Marc Poulhiès <poulhies@adacore.com> + + * checks.adb (Apply_Predicate_Check): Refine condition for + applying optimization. + * sem_ch3.adb (Analyze_Component_Declaration): Adjust calls to + Should_Build_Subtype. + (Analyze_Object_Declaration): Likewise. + (Should_Build_Subtype): Rename/move to ... + * sem_util.ads (Build_Default_Subtype_OK): ... this. + * sem_util.adb (Build_Default_Subtype_OK): Moved from + sem_ch3.adb. + +2022-06-01 Doug Rupp <rupp@adacore.com> + + * init.c (__gnat_adjust_context_for_raise) [QNX][__thumb2__]: Bump + the pc an extra byte. + +2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Document new behavior. + * errout.adb (Write_JSON_Location): Output absolute paths when + needed. + * switch-c.adb (Scan_Front_End_Switches): Update -gnatef + comment. + * usage.adb (Usage): Update description of -gnatef. + * gnat_ugn.texi: Regenerate. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * contracts.adb (Build_Postconditions_Procedure): Set Is_Inlined + unconditionnally on the procedure entity. + +2022-06-01 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch3.adb (Constrain_Access): Propagate null-exclusion flag + from parent type. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch5.adb (Analyze_Loop_Statement): Add a comment about + a finalization issue. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Caller_Known_Size): Call Returns_On_Secondary_Stack + instead of Requires_Transient_Scope and tidy up. + (Needs_BIP_Alloc_Form): Likewise. + * exp_util.adb (Initialized_By_Aliased_BIP_Func_Call): Also return + true if the build-in-place function call has no BIPalloc parameter. + (Is_Finalizable_Transient): Remove redundant test. + +2022-06-01 Alexandre Oliva <oliva@adacore.com> + + * doc/gnat_rm/security_hardening_features.rst: Note that hardening + features are experimental. + * gnat_rm.texi: Regenerate. + +2022-06-01 Steve Baird <baird@adacore.com> + + * exp_ch3.adb (Make_Controlling_Function_Wrappers): Set the + Corresponding_Spec field of a wrapper subprogram body before + analyzing the subprogram body; the field will be set (again) + during analysis, but we need it to be set earlier. + * exp_ch13.adb (Expand_N_Freeze_Entity): Add wrapper subprogram + bodies to the list of declarations for which we do not want to + suppress checks. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * sem_util.adb (Indirect_Temp_Needed): Adjust reference in comment. + +2022-06-01 Doug Rupp <rupp@adacore.com> + + * Makefile.rtl (GNATLIB_SHARED): Revert disablement for arm-qnx. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * sem_util.adb + (Returns_On_Secondary_Stack.Caller_Known_Size_Record): Directly + check the dependence on discriminants for the variant part, if + any, instead of calling the Is_Definite_Subtype predicate. + +2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com> + + * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix warning tag. + +2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com> + + * sem_warn.adb (Check_References): Adjust conditions under which + warning messages should be emitted and their tags as well. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * exp_disp.ads (Expand_Interface_Thunk): Change type of Prim. + * exp_disp.adb (Expand_Interface_Thunk): Declare Is_Predef_Op + earlier, do not initialize Iface_Formal, use No idiom and tweaks + comments. + (Register_Primitive): Declare L earlier and tweak comments. + * sem_disp.adb (Check_Dispatching_Operation): Move tests out of + loop. + +2022-06-01 Steve Baird <baird@adacore.com> + + * exp_ch3.ads: Replace visible Build_Discr_Checking_Funcs (which + did not need to be visible - it was not referenced outside this + package) with Build_Or_Copy_Discr_Checking_Funcs. + * exp_ch3.adb: Refactor existing code into 3 procedures - + Build_Discr_Checking_Funcs, Copy_Discr_Checking_Funcs, and + Build_Or_Copy_Discr_Checking_Funcs. This refactoring is intended + to be semantics-preserving. + * exp_ch4.adb (Expand_N_Selected_Component): Detect case where a + call should be generated to the Discriminant_Checking_Func for + the component in question, but that subprogram does not yet + exist. + * sem_ch13.adb (Freeze_Entity_Checks): Immediately before + calling Build_Predicate_Function, add a call to + Exp_Ch3.Build_Or_Copy_Discr_Checking_Funcs in order to ensure + that Discriminant_Checking_Func attributes are already set when + Build_Predicate_Function is called. + * sem_ch6.adb (Analyze_Expression_Function): If the expression + of a static expression function has been transformed into an + N_Raise_xxx_Error node, then we need to copy the original + expression in order to check the requirement that the expression + must be a potentially static expression. We also want to set + aside a copy the untransformed expression for later use in + checking calls to the expression function via + Inline_Static_Function_Call. So introduce a new function, + Make_Expr_Copy, for use in these situations. + * sem_res.adb (Preanalyze_And_Resolve): When analyzing certain + expressions (e.g., a default parameter expression in a + subprogram declaration) we want to suppress checks. However, we + do not want to suppress checks for the expression of an + expression function. + +2022-06-01 Bob Duff <duff@adacore.com> + + * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): For each + subprogram found, assert that the variable is Empty, so we can + detect bugs where we find two or more things with the same name. + Without this patch, that bug would happen when we add the new + Next procedure. For Step, make sure we pick the right one, by + checking name and number of parameters. For Get_Element_Access, + check that we're picking a function. That's not really + necessary, because there is no procedure with that name, but it + seems cleaner this way. + * rtsfind.ads: Minor comment improvement. It seems kind of odd + to say "under no circumstances", and then immediately contradict + that with "The one exception is...". + +2022-06-01 Doug Rupp <rupp@adacore.com> + + * init.c (QNX): __gnat_adjust_context_for_raise: New + implementation for arm-qnx. + +2022-06-01 Julien Bortolussi <bortolussi@adacore.com> + + * libgnat/a-cofuba.ads, libgnat/a-cofuba.adb: Add reference + counting. + +2022-06-01 Yannick Moy <moy@adacore.com> + + * sem_ch8.adb (Use_One_Package): Possibly warn. + * sem_util.adb (Enter_Name): Factor out warning on hidden entity. + (Warn_On_Hiding_Entity): Extract warning logic from Enter_Name and + generalize it to be applied also on use_clause. + * sem_util.ads (Warn_On_Hiding_Entity): Add new procedure. + +2022-06-01 Yannick Moy <moy@adacore.com> + + * par-ch3.adb (P_Known_Discriminant_Part_Opt): Reword error + message to benefit from existing codefix. + (P_Record_Definition): Detect out-of-order keywords in record + definition and issue appropriate messages. Other cases are + already caught at appropriate places. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Put + the actions into the Actions field of the freeze node instead of + inserting them after it. + +2022-06-01 Marc Poulhiès <poulhies@adacore.com> + + * sinfo.ads: Add inline documention for Is_Parenthesis_Aggregate + and Is_Enum_Array_Aggregate. + +2022-06-01 Bob Duff <duff@adacore.com> + + * einfo-utils.adb (Set_Convention): Call Set_Convention + recursively, so that Set_Can_Use_Internal_Rep is called (if + appropriate) on the anonymous access type of the object, and its + designated subprogram type. + * sem_ch3.adb (Access_Definition): Remove redundant call to + Set_Can_Use_Internal_Rep. + +2022-06-01 Bob Duff <duff@adacore.com> + + * exp_ch4.adb (Expand_N_In): Do not warn in the above-mentioned + cases. + * fe.h (Assume_No_Invalid_Values): Remove from fe.h, because + this is not used in gigi. + * opt.ads (Assume_No_Invalid_Values): Improve the comment. We + don't need to "clearly prove"; we can just "prove". Remove the + comment about fe.h, which is no longer true. + +2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> + + * erroutc.adb (Get_Warning_Option): Don't consider `?` as a + valid option switch. + +2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> + + * erroutc.ads (Get_Warning_Option): New function returning the + option responsible for a warning if it exists. + * erroutc.adb (Get_Warning_Option): Likewise. + (Get_Warning_Tag): Rely on Get_Warning_Option when possible. + * errout.adb (Output_JSON_Message): Emit option field. + +2022-05-30 Julien Bortolussi <bortolussi@adacore.com> + + * libgnat/a-cfdlli.ads (Insert): Remove the duplication. + +2022-05-30 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch6.adb (Check_Subprogram_Variant): Ignore structural + variants. + +2022-05-30 Piotr Trojanek <trojanek@adacore.com> + + * osint.adb (Locate_File): Change variable to constant and + initialize it by concatenation of directory, file name and NUL. + +2022-05-30 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_advice.rst (Packed Types): Remove + duplicated and wrongly placed paragraph. + * gnat_rm.texi: Regenerate. + +2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> + + * inline.adb (Check_Package_Body_For_Inlining): Add insertion + character. + +2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> + + * freeze.adb (Warn_Overlay): Add 'o' insertion character. + * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Likewise. + * sem_util.adb (Note_Possible_Modifications): Likewise. + +2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> + + * sem_warn.adb (Warn_On_Useless_Assignment): Fix insertion + character. + +2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> + + * sem_disp.adb (Warn_On_Late_Primitive_After_Private_Extension): + Fix insertion character. + +2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> + + * sem_elab.adb (Process_Conditional_ABE_Access_Taken): Add '.f' + insertion characters. + +2022-05-30 Piotr Trojanek <trojanek@adacore.com> + + * lib-xref.ads (Deferred_Reference_Entry, Defer_Reference, + Process_Deferred_References, Has_Deferred_Reference): Remove + client API. + * lib-xref.adb (Deferred_References, Defer_Reference, + Has_Deferred_Reference, Process_Deferred_References): Remove + implementation. + * frontend.adb, sem_ch11.adb, sem_ch5.adb, sem_res.adb, + sem_util.adb, sem_warn.adb: Remove uses of Deferred_References. + +2022-05-30 Bob Duff <duff@adacore.com> + + * exp_ch7.adb (Wrap_HSS_In_Block): Do not create a new block in + the case of function bodies. We include all subprogram bodies, + because it's harmless for procedures. We cannot easily avoid + creating this block in ALL cases, because some transformations + of (e.g.) task bodies end up moving some code such that the + wrong exception handlers apply to that code. + (Build_Finalizer_Call): Remove code for creating a new block. + This was unreachable code, given that Wrap_HSS_In_Block has + already done that, but with the above change to + Wrap_HSS_In_Block, this code becomes reachable, and triggers + essentially the same bug. + * exp_ch7.ads: Adjust comment. + +2022-05-30 Justin Squirek <squirek@adacore.com> + + * par-ch6.adb (P_Formal_Part): Set Aspect_Specifications on all + formals instead of just the last in a formal id list. + * sem_ch6.adb (Analyze_Null_Procedure): Mark expanded null + generic procedures as trivial in order to avoid spurious + unreferenced warnings. + +2022-05-30 Romain Beguet <beguet@adacore.com> + + * libgnat/s-dwalin.adb: Add a subtype declaration to fix the + ambiguity. + +2022-05-30 Steve Baird <baird@adacore.com> + + * sem_ch13.adb (Is_Predicate_Static): Do not generate warnings + about subexpressions of enclosing expressions. Generate warnings + for predicates that are known to be always true or always false, + except in the case where the predicate is expressed as a Boolean + literal. Deal with non-predicate-static expressions that have + been transformed into predicate-static expressions. Add missing + Is_Type_Ref call to N_Membership_Test case. + +2022-05-30 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Expand_Record_Aggregate.Build_Back_End_Aggregate): + Skip the discriminants at the start of the component list before + looking for the components inherited from the parent in the case + of a tagged extension. + +2022-05-30 Eric Botcazou <ebotcazou@adacore.com> + + * exp_disp.adb (Make_DT): Remove remaining freezing code. + +2022-05-30 Eric Botcazou <ebotcazou@adacore.com> + + * sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Don't analyze + the body of an expression function in the case of a dispatch table. + +2022-05-30 Arnaud Charlet <charlet@adacore.com> + + * gnat1drv.adb, opt.ads, sem_ch7.adb: Introduce CCG_Mode. + +2022-05-30 Yannick Moy <moy@adacore.com> + + * Makefile.rtl: Add new units. + * libgnat/s-aridou.adb (Scaled_Divide): Add ghost code for provers. + * libgnat/s-spcuop.adb: New unit for ghost cut operations. + * libgnat/s-spcuop.ads: New unit for ghost cut operations. + * libgnat/s-spark.ads: New unit. + +2022-05-30 Alexandre Oliva <oliva@adacore.com> + + * doc/gnat_rm/security_hardening_features.rst: Mention + availability in other languages when applicable. + (Stack Scrubbing): Associate the attribute with types, expand + some comments, fix the example involving access to variables. + * gnat_rm.texi: Regenerate. + +2022-05-30 Piotr Trojanek <trojanek@adacore.com> + + * libgnat/a-cofuse.ads (Empty_Set): Fix typo in comment. + +2022-05-30 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch6.adb (New_Overloaded_Entity): Deal specifically with the + overriding of the "=" operator for tagged types. + +2022-05-30 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Expand_N_Object_Declaration): Adjust call to Make_DT. + * exp_disp.ads (Building_Static_DT): Remove pragma Inline. + (Building_Static_Secondary_DT): Likewise. + (Convert_Tag_To_Interface): Likewise. + (Make_DT): Remove second parameter. + * exp_disp.adb (Make_DT): Likewise. + (Check_Premature_Freezing): Delete. + Pass Do_Freeze_Profile as False in call to Freeze_Entity. + * freeze.ads (Freezing_Library_Level_Tagged_Type): Delete. + * freeze.adb (Freeze_Profile): Remove obsolete code. + (Freeze_Entity): Tweak comment. + +2022-05-30 Yannick Moy <moy@adacore.com> + + * libgnat/s-arit32.adb (Scaled_Divide32): Move assertion up. + +2022-05-30 Yannick Moy <moy@adacore.com> + + PR ada/105303 + * libgnat/s-gearop.adb: Add pragma Assertion_Policy in generic + bodies making use of additional assertions or ghost code. + * libgnat/s-gearop.ads: Remove confusing Assertion_Policy. + +2022-05-30 Steve Baird <baird@adacore.com> + + * exp_ch11.adb (Expand_N_Raise_Expression): Remove + Convert_To_Return_False test. + * gen_il-fields.ads: Remove Convert_To_Return_False field. + * gen_il-gen-gen_nodes.adb: Remove use of + Convert_To_Return_False field. + * sinfo.ads: Remove comment describing Convert_To_Return_False + flag. + +2022-05-30 Julien Bortolussi <bortolussi@adacore.com> + + * libgnat/a-cofuma.ads, libgnat/a-cofuma.adb, + libgnat/a-cofuse.ads, libgnat/a-cofuse.adb, + libgnat/a-cofuve.ads, libgnat/a-cofuve.adb: Add empty + constructors. + +2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> + + * bindgen.adb (Gen_CUDA_Init): Remove code generating CUDA + definitions. + (Gen_CUDA_Defs): New function, generating definitions + initialized by Gen_CUDA_Init. + (Gen_Output_File_Ada): Call Gen_CUDA_Defs instead of + Gen_CUDA_Init. + (Gen_Adainit): Call Gen_CUDA_Init. + +2022-05-28 Alexandre Oliva <oliva@adacore.com> + + * gcc-interface/Makefile.in (OSCONS_CC): Rename to... + (GCC_FOR_ADA_RTS): ... this. Adjust users. + (gnatlib): Pass it down as CC. + (gnatlib-shared-default): Likewise. + (gnatlib-shared-win32, gnatlib-shared-darwin): Likewise. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Constant>: Deal with + a constant related to a return in a function specially. + * gcc-interface/trans.cc (Call_to_gnu): Use return slot optimization + if the target is a return object. + (gnat_to_gnu) <N_Object_Declaration>: Deal with a constant related + to a return in a function specially. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils.cc (gnat_pushdecl): Also set TREE_NO_WARNING + on the decl if Comes_From_Source is false for the associated node. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (gnat_gimplify_expr): Tidy up. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Function>: Also call + process_attributes for built-in functions. + (prepend_one_attribute_pragma): Deal with "simd" attribute. + * gcc-interface/utils.cc (handle_simd_attribute): New function. + (gnat_internal_attribute_table): Add entry for "simd" attribute. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (components_to_record): Use NULL recursively + as P_GNU_REP_LIST for the innermost variant level in the unchecked + union case with a fixed part. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (gnat_to_gnu): Do not set Current_Error_Node + to a node without location. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: And + skip the elaboration of the designated subtype when that of its base + type has been delayed. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Record_Subtype>: If + it is a special subtype designated by an access subtype, then defer + the completion of incomplete types. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/ada-tree.h, gcc-interface/ada.h, + gcc-interface/gadaint.h, gcc-interface/targtyps.cc: Adjust + copyright line. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils.cc (unchecked_convert): Do not fold a string + constant if the target type is pointer to character. + +2022-05-19 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Analyze_Pragma): Remove redundant call to + Set_Error_Posted. + +2022-05-19 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch8.adb (Find_Expanded_Name): Emit a main error message + before adding a continuation with the call to + Error_Missing_With_Of_Known_Unit. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * sem_util.ads (Requires_Transient_Scope): Add pragma Inline. + +2022-05-19 Steve Baird <baird@adacore.com> + + * sem_ch13.adb (Build_Predicate_Functions): If a semantic error + has been detected then ignore Predicate_Failure aspect + specifications in the same way as is done for CodePeer and + SPARK. This avoids an internal compiler error if + Ancestor_Predicate_Function_Called is True but Result_Expr is + not an N_And_Then node (and is therefore unsuitable as an + argument in a call to Left_Opnd). + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.adb (Wrap_Transient_Declaration): Propagate Uses_Sec_Stack + to enclosing function if it does not return on the secondary stack. + * exp_ch6.adb (Expand_Call_Helper): Call Establish_Transient_Scope + with Manage_Sec_Stack set to True only when necessary. + * sem_res.adb (Resolve_Call): Likewise. + (Resolve_Entry_Call): Likewise. + +2022-05-19 Daniel Mercier <mercier@adacore.com> + + * sem_ch13.adb (Build_Predicate_Function): Ignore predicate + failure in CodePeer mode. + +2022-05-19 Arnaud Charlet <charlet@adacore.com> + + * raise-gcc.c: Fix compilation with -DSTANDALONE under windows. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch4.adb (Narrow_Large_Operation): Preserve and reuse Etype. + +2022-05-19 Javier Miranda <miranda@adacore.com> + + * exp_attr.adb (Add_Implicit_Interface_Type_Conversion): New + subprogram which factorizes code. + (Expand_N_Attribute_Reference): Call the new subprogram to add + the missing implicit interface type conversion. + +2022-05-19 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch13.adb (Build_Predicate_Function): Ignore predicate + failure in GNATprove mode. + +2022-05-19 Steve Baird <baird@adacore.com> + + * einfo-utils.ads, einfo-utils.adb: Delete Predicate_Function_M + function and Set_Predicate_Function_M procedure. + * einfo.ads: Delete comments for Is_Predicate_Function_M and + Predicate_Function_M functions. Add comment for new + Predicate_Expression function. Update comment describing + predicate functions. + * exp_util.ads, exp_util.adb (Make_Predicate_Call): Replace Mem + formal parameter with Static_Mem and Dynamic_Mem formals. + (Make_Predicate_Check): Delete Add_Failure_Expression and call + to it. + * exp_ch4.adb (Expand_N_In.Predicate_Check): Update + Make_Predicate_Call call to match profile change. + * gen_il-fields.ads: Delete Is_Predicate_Function_M field, add + Predicate_Expression field. + * gen_il-gen-gen_entities.adb: Delete Is_Predicate_Function_M + use, add Predicate_Expression use. + * sem_ch13.adb (Build_Predicate_Functions): Rename as singular, + not plural; we no longer build a Predicate_M function. Delete + Predicate_M references. Add new Boolean parameter for predicate + functions when needed. Restructure body of generated predicate + functions to implement required Predicate_Failure behavior and + to set new Predicate_Expression attribute. Remove special + treatment of raise expressions within predicate expressions. + * sem_util.ads (Predicate_Failure_Expression, + Predicate_Function_Needs_Membership_Parameter): New functions. + * sem_util.adb (Is_Current_Instance): Fix bugs which caused + wrong result. + (Is_Current_Instance_Reference_In_Type_Aspect): Delete + Is_Predicate_Function_M reference. + (Predicate_Failure_Expression): New function. + (Propagate_Predicate_Attributes): Delete Is_Predicate_Function_M + references. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Expand_Call_Helper): Adjust comment. + (Expand_Simple_Function_Return): For the case of a type which needs + finalization and is returned on the primary stack, do not create a + copy if the expression originates from a function call. + * exp_ch7.adb (Transient Scope Management): Adjust comment. + * exp_util.ads (Is_Related_To_Func_Return): Add WARNING line. + * fe.h (Is_Related_To_Func_Return): Declare. + +2022-05-19 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch9.adb (Build_Find_Body_Index): Remove empty Elsif_Parts + from the constructed IF statement. + +2022-05-19 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch9.adb (Build_Find_Body_Index): Remove IF statement whose + condition was true-by-construction; remove excessive assertion + (since the call to Elsif_Parts will check that Nod is present + and it is an if-statement). + +2022-05-19 Arnaud Charlet <charlet@adacore.com> + + * gnat1drv.adb, gnatcmd.adb: Remove references to gnatfind/xref. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst, + doc/gnat_ugn/the_gnat_compilation_model.rst: Ditto. + * gnat_ugn.texi: Regenerate. + * gnatfind.adb, gnatxref.adb, xr_tabls.adb, xr_tabls.ads, + xref_lib.adb, xref_lib.ads: Removed, no longer used. + +2022-05-19 Claire Dross <dross@adacore.com> + + * libgnat/a-strfix.adb: Add assertions. + * libgnat/a-strsup.adb: Idem. + +2022-05-19 Ed Schonberg <schonberg@adacore.com> + + * erroutc.ads: Fix a single-character typo in a comment. + * exp_aggr.adb: Fix a single-character typo in a comment. + Replace several pairs of calls to Low_Bound and + High_Bound (which do not handle an identifier that denotes a + scalar subtype) with corresponding calls to Get_Index_Bounds + (which does handle that case). + * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Set the + Component_Associations attribute of a null array aggregate to + New_List. + * sem_aggr.ads: New visible function + Is_Null_Array_Aggregate_High_Bound. + * sem_aggr.adb (Is_Null_Array_Aggregate_High_Bound, + Is_Null_Aggregate, Resolve_Null_Array_Aggregate): New functions. + (Resolve_Aggregate): Recognize null array aggregates (using + Is_Null_Aggregate) and, when one is recognized, resolve + it (using Resolve_Null_Array_Aggregate). Avoid calling + Array_Aggr_Subtype for a null array aggregate; the needed + subtype is built in Resolve_Null_Array_Aggregate. Do not + incorrectly flag a null aggregate (after it is transformed by + expansion) as being both positional and named. + * sem_attr.adb (Eval_Attribute): Special treatment for null + array aggregate high bounds to avoid incorrectly flagging + something like Integer'Pred (Integer'First) as an illegal static + expression. + * sem_eval.adb (Out_Of_Range): Special treatment for null array + aggregate high bounds to avoid incorrectly flagging something + like Integer'Pred (Integer'First) as an illegal static + expression. + +2022-05-19 Yannick Moy <moy@adacore.com> + + * libgnat/s-aridou.adb (Lemma_Abs_Range, + Lemma_Double_Shift_Left, Lemma_Shift_Left): New lemmas. + (Double_Divide): Add ghost code. + (Lemma_Concat_Definition, Lemma_Double_Shift_Left, + Lemma_Shift_Left, Lemma_Shift_Right): Define or complete lemmas. + (Scaled_Divide): Add ghost code. + +2022-05-19 Bob Duff <duff@adacore.com> + + * exp_pakd.adb (Expand_Packed_Eq): Replace the check for *same* + modular type, with a check for any modular type, and assert that + the two types have the same modulus and so on. + * exp_pakd.ads: Minor comment improvements. + +2022-05-19 Bob Duff <duff@adacore.com> + + * style.adb (Check_Identifier): Deal with the case where a + record component definition has been transformed; we want to + warn if the original came from source. + * libgnat/s-objrea.ads, libgnat/s-objrea.adb: Fix casing of MF + to be consistent. + * uname.adb: Fix casing of Chars to be consistent. + * sem_util.ads: Minor comment fix. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-retsta. + * debug.adb (d_r): Document usage. + * exp_ch4.adb (Expand_N_Allocato): Deal with the return stack pool. + * exp_ch6.adb (Expand_Simple_Function_Return): Replace calls to + Requires_Transient_Scope with Returns_On_Secondary_Stack. Deal + with types that need finalization returned on the primary stack, + use CW_Or_Needs_Finalization for those returned on the secondary. + * exp_util.adb (Build_Allocate_Deallocate_Proc): Return early + for the return stack pool. + (Remove_Side_Effects): Call CW_Or_Needs_Finalization. + * fe.h (Requires_Transient_Scope): Delete. + (Returns_On_Secondary_Stack): Declare. + * gnat1drv.adb (Adjust_Global_Switches): Set Back_End_Return_Slot + to False when generating C code or if -gnatd_r is specified. + * opt.ads (Back_End_Return_Slot): New boolean variable. + * rtsfind.ads (RTU_Id): Add System_Return_Stack. + (RE_Id): Add RE_RS_Allocate and RE_RS_Pool. + (RE_Unit_Table): Add entries for RE_RS_Allocate and RE_RS_Pool. + * sem_util.ads (CW_Or_Has_Controlled_Part): Delete. + (CW_Or_Needs_Finalization): Declare. + (Requires_Transient_Scope): Adjust description. + (Returns_On_Secondary_Stack): Declare. + * sem_util.adb (Compute_Returns_By_Ref): Set Returns_By_Ref on types + which need finalization if they are returned on the secondary stack. + (CW_Or_Has_Controlled_Part): Rename to... + (CW_Or_Needs_Finalization): ...this. + (Requires_Transient_Scope): Move bulk of implementation to... + (Returns_On_Secondary_Stack): ...here. Return true for types which + need finalization only if the back-end return slot is not supported. + * libgnat/s-retsta.ads: New file. + * gcc-interface/ada-builtin-types.def (BT_FN_PTR_SSIZE): Define. + * gcc-interface/ada-builtins.def (return_slot): Likewise. + * gcc-interface/ada-tree.h (BUILT_IN_RETURN_SLOT): Likewise. + * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call to + Requires_Transient_Scope with Returns_On_Secondary_Stack. + * gcc-interface/trans.cc (gnat_to_gnu) <N_Simple_Return_Statement>: + In the return by invisible reference, skip the copy if the source + is the same as the destination. + * gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Deal with + the return stack pool. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc: Fix formatting issues in comments. + (Subprogram_Body_to_gnu): Tidy up. + (Exception_Handler_to_gnu_gcc): Rename into... + (Exception_Handler_to_gnu): ...this. + (gnat_to_gnu) <N_Exception_Handler>: Adjust to above renaming. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Rename a couple + of local variables and use Is_Generic_Subprogram predicate. + (process_decls): Likewise. + +2022-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Do not deal with + inlining heuristics for expression functions here but... + * gcc-interface/decl.cc (inline_status_for_subprog): ...here instead + and do not override them at -Os. + +2022-05-19 Piotr Trojanek <trojanek@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Remove dead code + which expected Scope to return E_Subprogram_Body entity. + +2022-05-18 Claire Dross <dross@adacore.com> + + * libgnat/s-imageu.adb (Set_Image_Unsigned): Change assertion. + +2022-05-18 Doug Rupp <rupp@adacore.com> + + * sigtramp-qnx.c: Change struct sigcontext * to mcontext_t *. + +2022-05-18 Doug Rupp <rupp@adacore.com> + + * sigtramp-arm-qnx.c: Rewrite. + +2022-05-18 Yannick Moy <moy@adacore.com> + + * libgnat/s-aridou.adb (Big3): Change return type. + (Lemma_Mult_Non_Negative, Lemma_Mult_Non_Positive): Reorder + alphabetically. + (Lemma_Concat_Definition, Lemma_Double_Big_2xxsingle): New + lemmas. + (Double_Divide, Scaled_Divide): Add assertions. + +2022-05-18 Claire Dross <dross@adacore.com> + + * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertions. + +2022-05-18 Kévin Le Gouguec <legouguec@adacore.com> + + * libgnat/s-dwalin.adb (Read_Aranges_Header): Initialize output + parameter in case we return early. + +2022-05-18 Bob Duff <duff@adacore.com> + + * libgnat/a-crbtgo.ads, libgnat/a-rbtgbo.ads, + libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb, + libgnat/a-cbhase.adb, libgnat/a-cdlili.adb, + libgnat/a-cfdlli.adb, libgnat/a-cfhama.adb, + libgnat/a-cfhase.adb, libgnat/a-cidlli.adb, + libgnat/a-cihama.adb, libgnat/a-cihase.adb, + libgnat/a-cohama.adb, libgnat/a-cohase.adb, + libgnat/a-crbtgo.adb, libgnat/a-crdlli.adb, libgnat/a-rbtgbo.adb + (Vet): Make the Vet functions do nothing when + Container_Checks'Enabled is False, and inline them, so the calls + disappear when optimizing. + +2022-05-18 Doug Rupp <rupp@adacore.com> + + * Makefile.rtl (arm-qnx): Use default (non-fma) target pair. + +2022-05-18 Kévin Le Gouguec <legouguec@adacore.com> + + * libgnat/s-dwalin.adb (Aranges_Lookup, Enable_Cache): Adapt to + changes in the signature of Read_Aranges_*. + (Debug_Info_Lookup): Do not control address size read from + DWARF. + (Read_Aranges_Header): Do not control address size read from + DWARF; return this size. + (Read_Aranges_Entry): Use the size returned by + Read_Aranges_Header. + +2022-05-18 Gary Dismukes <dismukes@adacore.com> + + * errout.ads (Error_Msg_GNAT_Extension): Add formal Loc and + revise comment. + * errout.adb (Error_Msg_GNAT_Extension): Condition message on + the flag Ada_Version_Pragma, and add suggestion to use of pragma + Extensions_Allowed in messages. + * par-ch3.adb, par-ch5.adb, par-ch6.adb, par-ch11.adb, + par-ch12.adb: Add actual Token_Ptr on calls to + Error_Msg_GNAT_Extension. + * par-ch4.adb: Change Error_Msg to Error_Msg_GNAT_Extension for + error calls related to use of extension features. + * sem_ch13.adb: Likewise. + +2022-05-18 Johannes Kliemann <kliemann@adacore.com> + + * libgnarl/s-osinte__qnx.adb (To_Target_Priority): Perform + arithmetic in int. + +2022-05-18 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Use Needs_BIP_Alloc_Form. + +2022-05-18 Javier Miranda <miranda@adacore.com> + + * sem_ch6.adb (Find_Corresponding_Spec): Avoid calling + Is_Null_Extension with a class-wide type entity. + (Overrides_Visible_Function): Handle alias entities. + * sem_res.adb (Has_Applicable_User_Defined_Literal): Conversion + not needed if the result type of the call is class-wide or if + the result type matches the context type. + * sem_util.ads (Is_Null_Extension): Adding documentation. + (Is_Null_Extension_Of): Adding documentation. + * sem_util.adb (Is_Null_Extension): Adding assertion. + (Is_Null_Extension_Of): Adding assertions. + +2022-05-18 Javier Miranda <miranda@adacore.com> + + * snames.ads-tmpl (Name_Index): New attribute name. + (Attribute_Id): Adding Attribute_Index as regular attribute. + * sem_attr.adb (Attribute_22): Adding Attribute_Index as Ada + 2022 attribute. + (Analyze_Index_Attribute): Check that 'Index appears in a + pre-/postcondition aspect or pragma associated with an entry + family. + (Analyze_Attribute): Adding semantic analysis for 'Index. + (Eval_Attribute): Register 'Index as can never be folded. + (Resolve_Attribute): Resolve attribute 'Index. + * sem_ch9.adb (Check_Wrong_Attribute_In_Postconditions): New + subprogram. + (Analyze_Requeue): Check that the requeue target shall not have + an applicable specific or class-wide postcondition which + includes an Index attribute reference. + * exp_attr.adb (Expand_N_Attribute_Reference): Transform + attribute Index into a renaming of the second formal of the + wrapper built for an entry family that has contract cases. + * einfo.ads (Is_Entry_Wrapper): Complete documentation. + +2022-05-18 Yannick Moy <moy@adacore.com> + + * libgnat/s-imagei.adb (Set_Digits): Add assertion. + * libgnat/s-imgboo.adb (Image_Boolean): Add assertions. + * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion. + +2022-05-18 Arnaud Charlet <charlet@adacore.com> + + * sem_aux.adb (Is_Immutably_Limited_Type): Do not look through + private types as per RM 7.5(8.1). + * sem_ch6.adb (Analyze_Function_Return): Use + Is_Immutably_Limited_Type as per RM 6.5(5.10). + +2022-05-18 Marc Poulhiès <poulhies@adacore.com> + + * gen_il-gen-gen_nodes.adb (Gen_IL.Gen.Gen_Nodes): Add + Is_Homogeneous_Aggregate field for N_Delta_Aggregate nodes. + * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Minor reformatting. + * sem_aggr.adb (Resolve_Delta_Aggregate): Reject square brackets + for record aggregate. + (Resolve_Record_Aggregate): Uniformise error message. + +2022-05-18 Arnaud Charlet <charlet@adacore.com> + + * ali.adb (Scan_ALI): Special case a-tags.ali when setting + Sec_Stack_Used. + * bindgen.adb (Gen_Adainit): Simplify handling of secondary + stack related code, and only import __gnat_binder_ss_count when + needed. + * libgnat/s-secsta.adb (Binder_SS_Count): Default initialize to + 0. + +2022-05-18 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-dourea.adb ("/"): Add guard for zero and infinite + divisor. + * libgnat/s-valuer.adb (Scan_Raw_Real): Add guard for very large + exponent values. + +2022-05-18 Yannick Moy <moy@adacore.com> + + * sem_elab.adb (Is_Suitable_Construct): Fix for generated + constructs. + +2022-05-18 Marc Poulhiès <poulhies@adacore.com> + + * sem_ch3.adb (Analyze_Object_Declaration): Skip predicate check + for type conversion if object's subtype and expression's subtype + statically match. + * exp_prag.adb (Expand_Pragma_Check): Typo fix in comment. + +2022-05-18 Eric Botcazou <ebotcazou@adacore.com> + + * exp_dbug.ads (Build_Subprogram_Instance_Renamings): Fix typo. + * exp_dbug.adb (Build_Subprogram_Instance_Renamings): Build the + renaming only for actuals of formal objects. + +2022-05-18 Gary Dismukes <dismukes@adacore.com> + + * sem_ch3.adb (Check_Abstract_Overriding): If the type is + derived from an untagged type, then don't perform any of the + abstract overriding error checks. + +2022-05-18 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.adb (Component_Count): Calculate size as an Uint and + only then check if it is in the range of Int, as otherwise the + multiplication of Int values can overflow. + +2022-05-18 Eric Botcazou <ebotcazou@adacore.com> + + * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add g-gfmafu$(objext). + (SIMD_PATH_TARGET_PAIRS): New variable. + (TRASYM_DWARF_COMMON_OBJS): Minor tweak. + (x86-64/Linux): Use SIMD_PATH_TARGET_PAIRS. + (x32/Linux): Likewise. + * doc/gnat_rm/the_gnat_library.rst (Generic_Fast_Math_Functions): + New entry. + * gnat_rm.texi: Regenerate. + * impunit.adb (Non_Imp_File_Names_95): Add g-gfmafu. + * sem_ch7.adb (Has_Referencer): Do not set In_Nested_Instance for + instances of generic packages that do not have a body. + * libgnat/a-nalofl__simd.ads: New SIMD-enabled version. + * libgnat/a-nuaufl__simd.ads: Likewise. + * libgnat/g-gfmafu.ads: New package renaming unit. + +2022-05-18 Arnaud Charlet <charlet@adacore.com> + + * freeze.adb (Should_Freeze_Type): Fix handling of freezing in + instances. + +2022-05-18 Marc Poulhiès <poulhies@adacore.com> + + * sem_ch12.adb (Check_Generic_Parent): Use + Get_Unit_Instantiation_Node instead of Next. + +2022-05-18 Alexandre Oliva <oliva@adacore.com> + + * libgnat/a-nagefl.ads: Replace mentions of C/unix math library + with intrinsics. + * libgnat/a-nallfl.ads: Likewise. State compatibility + requirements. + * libgnat/a-nalofl.ads: Likewise. + * libgnat/a-nuaufl.ads: Likewise. + +2022-05-18 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch8.adb (Analyze_Subprogram_Renaming): Move final test on + In_Instance to outer condition. + +2022-05-18 Doug Rupp <rupp@adacore.com> + + * Makefile.rtl: Rename system-qnx-aarch64.ads to + system-qnx-arm.ads. + (AARCH64 QNX section): Modify to handle both arm and arch64. + * tracebak.c (__QNX__): Add new __ARMEL__ section. + * sigtramp-arm-qnx.c: New file. + * libgnat/system-qnx-aarch64.ads: Renamed to ... + * libgnat/system-qnx-arm.ads: this. + +2022-05-17 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Flag_Effectively_Volatile_Objects): Restore + redundant guard. + +2022-05-17 Gary Dismukes <dismukes@adacore.com> + + * sem_ch8.adb (Analyze_Subprogram_Renaming): Add error check for + the case of a renamed subprogram given by an expanded name whose + outermost prefix names a unit that is hidden by the name of the + renaming. + (Ult_Expanded_Prefix): New local expression function to return + the ultimate prefix of an expanded name. + +2022-05-17 Ghjuvan Lacambre <lacambre@adacore.com> + + * gnat_cuda.ads: Update package-level comments. + (Build_And_Insert_CUDA_Initialization): Remove function. + * gnat_cuda.adb (Build_And_Insert_CUDA_Initialization): Remove + function. + (Expand_CUDA_Package): Remove call to + Build_And_Insert_CUDA_Initialization. + +2022-05-17 Etienne Servais <servais@adacore.com> + + * freeze.adb (Freeze_Enumeration_Type): Fix comment, enhance + message and silence warning for size > 32. + +2022-05-17 Yannick Moy <moy@adacore.com> + + * exp_spark.adb (Expand_SPARK_Potential_Renaming): Deal with no + entity case. + * inline.ads (Check_Object_Renaming_In_GNATprove_Mode): New + procedure. + * inline.adb (Check_Object_Renaming_In_GNATprove_Mode): New + procedure. + (Can_Be_Inlined_In_GNATprove_Mode): Remove case forbidding + inlining for subprograms inside generics. + * sem_ch12.adb (Copy_Generic_Node): Preserve global entities + when inlining in GNATprove mode. + * sem_ch6.adb (Analyse_Subprogram_Body_Helper): Remove body to + inline if renaming is detected in GNATprove mode. + +2022-05-17 Gary Dismukes <dismukes@adacore.com> + + * exp_ch4.adb (Expand_N_Allocator): For an allocator with an + unconstrained discriminated designated type, and whose + allocation subtype is constrained, set the + Actual_Designated_Subtype of the dereference passed to the init + proc of the designated type to be the allocation subtype. + * sinfo.ads: Add documentation of new setting of + Actual_Designated_Subtype on a dereference used as an actual + parameter of call to an init proc associated with an allocator. + Also add missing syntax and documentation for the GNAT language + extension that allows an expression as a default for a concrete + generic formal function. + +2022-05-17 Bob Duff <duff@adacore.com> + + * sinfo.ads: Remove From_At_End. Update comments. + * gen_il-fields.ads, gen_il-gen-gen_nodes.adb, sem_ch11.adb: + Remove From_At_End. + * exp_ch11.adb (Expand_At_End_Handler): Remove assertion. + * fe.h (Exception_Mechanism, Exception_Mechanism_Type, Has_DIC, + Has_Invariants, Is_List_Member, List_Containing): Remove + declarations that are not used in gigi. + * opt.ads (Exception_Mechanism): This is not used in gigi. + * exp_util.ads: Minor comment fix. + +2022-05-17 Dmitriy Anisimkov <anisimko@adacore.com> + + * impunit.adb: Add "g-binsea" to Non_Imp_File_Names_95 list. + +2022-05-17 Yannick Moy <moy@adacore.com> + + * sem_ch5.adb (Analyze_Iterator_Specification): Use + Insert_Action when possibly inside an expression. + +2022-05-17 Marc Poulhiès <poulhies@adacore.com> + + * libgnat/g-forstr.adb (Is_Number): Add scientific notation and + shortest representation. + +2022-05-17 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Expand_N_Full_Type_Declaration): Look into N. + +2022-05-17 Bob Duff <duff@adacore.com> + + * exp_util.adb (Requires_Cleanup_Actions): Remove + N_Protected_Body from the case statement, so that case will be + covered by "raise Program_Error". + +2022-05-17 Bob Duff <duff@adacore.com> + + * output.adb (Pop_Output, Set_Output): Unconditionally flush + output when switching from one output destination to another. + Otherwise buffering can cause garbled output. + (w): Push/pop the current settings, and temporarily + Set_Standard_Error during these procedures. + +2022-05-17 Dmitriy Anisimkov <anisimko@adacore.com> + + * libgnat/g-binsea.ads, libgnat/g-binsea.adb + (GNAT.Binary_Search): New package. + * Makefile.rtl (GNATRTL_NONTASKING_OBJS): New item in list. + * doc/gnat_rm/the_gnat_library.rst (GNAT.Binary_Search): New + package record. + * gnat_rm.texi: Regenerate. + +2022-05-17 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch12.ads (Is_Abbreviated_Instance): Declare. + * sem_ch12.adb (Check_Abbreviated_Instance): Declare. + (Requires_Conformance_Checking): Declare. + (Analyze_Association.Process_Default): Fix subtype of parameter. + (Analyze_Formal_Object_Declaration): Check whether it is in the + visible part of abbreviated instance. + (Analyze_Formal_Subprogram_Declaration): Likewise. + (Analyze_Formal_Type_Declaration): Likewise. + (Analyze_Package_Instantiation): Do not check for a generic child + unit in the case of an abbreviated instance. + (Check_Abbreviated_Instance): New procedure. + (Check_Formal_Packages): Tidy up. + (Copy_Generic_Elist): Fix comment. + (Instantiate_Formal_Package): Tidy up. If the generic unit is a + child unit, copy the qualified name onto the abbreviated instance. + (Is_Abbreviated_Instance): New function. + (Collect_Previous_Instances): Call Is_Abbreviated_Instance. + (Requires_Conformance_Checking): New function. + * sem_ch7.adb (Analyze_Package_Specification): Do not install the + private declarations of the parent for an abbreviated instance. + +2022-05-17 Etienne Servais <servais@adacore.com> + + * sem_ch3.adb (Analyze_Subtype_Declaration): Use underlying type + of Indic_Typ. + (Constrain_Array): Ditto for T. + +2022-05-17 Arnaud Charlet <charlet@adacore.com> + + * sem_attr.adb (Analyze_Attribute [Attribute_Reduce]): Allow + 'Reduce for Ada 2022 and above. + * sem_attr.ads (Attribute_Impl_Def): 'Reduce is no longer + implementation defined. + +2022-05-17 Ghjuvan Lacambre <lacambre@adacore.com> + + * exp_ch9.adb (Expand_N_Asynchronous_Select): Don't generate + Abort_Undefers when not Abort_Allowed. + +2022-05-17 Marc Poulhiès <poulhies@adacore.com> + + * exp_ch7.adb: Fix typo. + +2022-05-17 Etienne Servais <servais@adacore.com> + + * lib.ads: initialize `Compiler_State` to `Parsing`. + +2022-05-17 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch13.adb (Has_Compatible_Representation): Return true for + derived untagged record types without representation clause. + +2022-05-17 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch13.ads (Has_Compatible_Representation): Minor tweaks. + * sem_ch13.adb (Has_Compatible_Representation): Look directly into + the (implementation) base types and simplifiy accordingly. + * exp_ch5.adb (Change_Of_Representation): Adjust. + * exp_ch6.adb (Expand_Actuals): Likewise. + +2022-05-17 Etienne Servais <servais@adacore.com> + + * sem_ch5.adb (Analyze_Assignment): Remove superfluous call to + Original_Node. + +2022-05-17 Javier Miranda <miranda@adacore.com> + + * freeze.adb (Freeze_Entity): Protect the call to + Declaration_Node against entities of expressions replaced by the + frontend with an N_Raise_CE node. + +2022-05-17 Javier Miranda <miranda@adacore.com> + + * freeze.adb (Build_DTW_Spec): Do not inherit the not-overriding + indicator because the DTW wrapper overrides its wrapped + subprogram. + * contracts.ads (Make_Class_Precondition_Subps): Adding + documentation. + +2022-05-17 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch13.adb (Expand_N_Freeze_Entity): Delete freeze nodes for + subprograms only if they have no actions. + * exp_ch6.adb (Freeze_Subprogram): Put the actions into the Actions + field of the freeze node instead of inserting them after it. + * sem_elab.adb (Is_SPARK_Semantic_Target): Fix typo in comment. + * gcc-interface/trans.cc (process_freeze_entity): Return early for + freeze nodes of subprograms with Interface_Alias set. + +2022-05-17 Javier Miranda <miranda@adacore.com> + + * contracts.adb (Build_Call_Helper_Body): Improve handling of + the case of a (legal) non-dispatching call to an abstract + subprogram. + +2022-05-17 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_attributes.rst + (Loop_Entry): Mention pragmas Assert, Assert_And_Cut and Assume; + refill. + * gnat_rm.texi: Regenerate. + +2022-05-17 Etienne Servais <servais@adacore.com> + + * par-ch3.adb (P_Access_Type_Definition): Outputs an error if + token is not "access". + +2022-05-17 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch2.adb (Expand_Current_Value): Remove special case for + references immediately within pragma argument associations. + * exp_prag.adb (Expand_Pragma_Inspection_Point): Remove special + case for privals. + +2022-05-16 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch7.adb (Inspect_Untagged_Record_Completion): Also move the + equality operator on the homonym chain if there is another equality + operator in the private part. + +2022-05-16 Piotr Trojanek <trojanek@adacore.com> + + * exp_attr.adb (Expand_Loop_Entry_Attribute): Disable value + propagation when analysing the constant that holds the + Loop_Entry prefix value. + +2022-05-16 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Address_Checks): Remove call to + Kill_Current_Values for subprogram entities, because this + routine only does something for object entities. + +2022-05-16 Justin Squirek <squirek@adacore.com> + + * exp_ch7.adb (Build_Finalizer): Disable late evaluation of + postconditions for functions returning types which where + Has_Unconstrained_Elements is true or are unconstrained arrays. + +2022-05-16 Etienne Servais <servais@adacore.com> + + * exp_ch4.adb (Expand_N_Qualified_Expression): Freeze + Target_Type. + +2022-05-16 Yannick Moy <moy@adacore.com> + + * libgnat/s-aridou.adb (Double_Divide): Add intermediate + assertions. + +2022-05-16 Ghjuvan Lacambre <lacambre@adacore.com> + + * lib-writ.adb (Output_CUDA_Symbols): Check for null packages. + +2022-05-16 Joel Brobecker <brobecker@adacore.com> + + * libgnat/g-debpoo.ads: Improve documentation of the + Stack_Trace_Depth parameter. + +2022-05-16 Joel Brobecker <brobecker@adacore.com> + + * init.c (__gnat_install_handler) [__QNX__]: Save sigaction's + return value in err before checking err's value. Fix incorrect + signal names in perror messages. + +2022-05-16 Joel Brobecker <brobecker@adacore.com> + + * init.c (__gnat_install_handler) [__QNX__]: Set + act.sa_sigaction rather than act.sa_handler. + +2022-05-16 Joel Brobecker <brobecker@adacore.com> + + * cstreams.c: Add <stdlib.h> #include. + +2022-05-16 Joel Brobecker <brobecker@adacore.com> + + * terminals.c: Remove bzero #define on HP/UX or Solaris + platforms. + (child_setup_tty): Replace bzero call by equivalent call to + memset. + +2022-05-16 Gary Dismukes <dismukes@adacore.com> + + * sem_util.ads (Storage_Model_Support): Revise comments on most + operations within this nested package to reflect that they can + now be passed either a type that has aspect Storage_Model_Type + or an object of such a type. Change the names of the relevant + formals to SM_Obj_Or_Type. Also, add more precise semantic + descriptions in some cases, and declare the subprograms in a + more logical order. + * sem_util.adb (Storage_Model_Support.Storage_Model_Object): Add + an assertion that the type must specify aspect + Designated_Storage_Model, rather than returning Empty when it + doesn't specify that aspect. + (Storage_Model_Support.Storage_Model_Type): Add an assertion + that formal must be an object whose type specifies aspect + Storage_Model_Type, rather than returning Empty for when it + doesn't have such a type (and test Has_Storage_Model_Type_Aspect + rather than Find_Value_Of_Aspect). + (Storage_Model_Support.Get_Storage_Model_Type_Entity): Allow + both objects and types, and add an assertion that the type (or + the type of the object) has a value for aspect + Storage_Model_Type. + +2022-05-16 Etienne Servais <servais@adacore.com> + + * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated): + Fix condition to return. + +2022-05-16 Yannick Moy <moy@adacore.com> + + * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Update comment. + +2022-05-16 Marc Poulhiès <poulhies@adacore.com> + + * sem_aggr.adb (Resolve_Iterated_Association): Create scope + around N_Iterated_Element_Association handling. Analyze a copy + of the Loop_Parameter_Specification. Call Analyze instead + Analyze_* to be more homogeneous. + (Sem_Ch5): Remove now unused package. + +2022-05-16 Eric Botcazou <ebotcazou@adacore.com> + + * exp_util.adb (Insert_Actions) <N_Iterated_Component_Association>: + Climb up out of the node if the actions come from Discrete_Choices. + +2022-05-16 Javier Miranda <miranda@adacore.com> + + * sem_disp.adb (Check_Dispatching_Context): When checking to see + whether an expression occurs in a class-wide pre/post-condition, + also check for the possibility that it occurs in a class-wide + preconditions subprogram that was introduced as part of + expansion. Without this fix, some legal calls occuring in + class-wide preconditions may be incorrectly flagged as violating + the "a call to an abstract subprogram must be dispatching" rule. + +2022-05-16 Eric Botcazou <ebotcazou@adacore.com> + + * inline.adb (Cleanup_Scopes): Test the underlying type. + +2022-05-16 Eric Botcazou <ebotcazou@adacore.com> + + * sem_util.ads (Is_Entity_Of_Quantified_Expression): Declare. + * sem_util.adb (Is_Entity_Of_Quantified_Expression): New + predicate. + (New_Copy_Tree): Deal with all entities of quantified + expressions. + * sem_ch13.adb (Build_Predicate_Functions): Get rid of + superfluous tree copying and remove obsolete code. + * sem_ch6.adb (Fully_Conformant_Expressions): Deal with all + entities of quantified expressions. + +2022-05-16 Steve Baird <baird@adacore.com> + + * exp_ch7.adb (Build_Finalize_Statements): Add Last_POC_Call + variable to keep track of the last "early finalization" call + generated for type extension's finalization procedure. If + non-empty, then this will indicate the point at which to insert + the call to the parent type's finalization procedure. Modify + nested function Process_Component_List_For_Finalize to set this + variable (and avoid setting it during a recursive call). If + Last_POC_Call is empty, then insert the parent finalization call + before, rather than after, the finalization code for the + extension components. + +2022-05-16 Eric Botcazou <ebotcazou@adacore.com> + + * einfo-utils.adb (Remove_Entity): Fix couple of oversights. + * exp_ch3.adb (Is_User_Defined_Equality): Delete. + (User_Defined_Eq): Call Get_User_Defined_Equality. + (Make_Eq_Body): Likewise. + (Predefined_Primitive_Eq_Body): Call Is_User_Defined_Equality. + * exp_ch4.adb (Build_Eq_Call): Call Get_User_Defined_Equality. + (Is_Equality): Delete. + (User_Defined_Primitive_Equality_Op): Likewise. + (Find_Aliased_Equality): Call Is_User_Defined_Equality. + (Expand_N_Op_Eq): Call Underlying_Type unconditionally. + Do not implement AI12-0101 + AI05-0123 here. + (Expand_Set_Membership): Call Resolve_Membership_Equality. + * exp_ch6.adb (Expand_Call_Helper): Remove obsolete code. + * sem_aux.ads (Is_Record_Or_Limited_Type): Delete. + * sem_aux.adb (Is_Record_Or_Limited_Type): Likewise. + * sem_ch4.ads (Nondispatching_Call_To_Abstract_Operation): Declare. + * sem_ch4.adb (Analyze_Call): Call Call_Abstract_Operation. + (Analyze_Membership_Op): Call Resolve_Membership_Equality. + (Nondispatching_Call_To_Abstract_Operation): New procedure. + (Remove_Abstract_Operations): Call it. + * sem_ch6.adb (Check_Untagged_Equality): Remove obsolete error and + call Is_User_Defined_Equality. + * sem_ch7.adb (Inspect_Untagged_Record_Completion): New procedure + implementing AI12-0101 + AI05-0123. + (Analyze_Package_Specification): Call it. + (Declare_Inherited_Private_Subprograms): Minor tweak. + (Uninstall_Declarations): Likewise. + * sem_disp.adb (Check_Direct_Call): Adjust to new implementation + of Is_User_Defined_Equality. + * sem_res.ads (Resolve_Membership_Equality): Declare. + * sem_res.adb (Resolve): Replace direct error handling with call to + Nondispatching_Call_To_Abstract_Operation + (Resolve_Call): Likewise. + (Resolve_Equality_Op): Likewise. mplement AI12-0413. + (Resolve_Membership_Equality): New procedure. + (Resolve_Membership_Op): Call Get_User_Defined_Equality. + * sem_util.ads (Get_User_Defined_Eq): Rename into... + (Get_User_Defined_Equality): ...this. + * sem_util.adb (Get_User_Defined_Eq): Rename into... + (Get_User_Defined_Equality): ...this. Call Is_User_Defined_Equality. + (Is_User_Defined_Equality): Also check the profile but remove tests + on Comes_From_Source and Parent. + * sinfo.ads (Generic_Parent_Type): Adjust field description. + * uintp.ads (Ubool): Invoke user-defined equality in predicate. + +2022-05-16 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch3.adb (User_Defined_Eq): Replace duplicated code with a + call to Get_User_Defined_Eq. + +2022-05-16 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch3.adb (Build_Untagged_Equality): Exit early when the + outcome of a loop is already known. + +2022-05-16 Olivier Hainque <hainque@adacore.com> + + * Makefile.rtl: Add aarch64 to the list of CPUs for which + GNATLIB_SHARED maps to gnatlib-shared-dual for vxworks7r2. + +2022-05-16 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch4.adb (Analyze_Negation): Minor tweak. + (Analyze_Unary_Op): Likewise. + +2022-05-16 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Build_Assignment): Adjust to the new definition of + Incomplete_View field. + * sem_ch10.ads (Decorate_Type): Declare. + * sem_ch10.adb (Decorate_Type): Move to library level. + (Install_Limited_With_Clause): In the already analyzed case, also + deal with incomplete type declarations present in the sources and + simplify the replacement code. + (Build_Shadow_Entity): Deal with swapped views in package body. + (Restore_Chain_For_Shadow): Deal with incomplete type declarations + present in the sources. + * sem_ch3.adb (Analyze_Full_Type_Declaration): Adjust to the new + definition of Incomplete_View field. + (Build_Incomplete_Type_Declaration): Small consistency tweak. + Set the incomplete type as the Incomplete_View of the full type. + If the scope is a package with a limited view, build a shadow + entity for the incomplete type. + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): When replacing + the limited view of a CW type as designated type of an anonymous + access return type, get to the CW type of the incomplete view of + the tagged type, if any. + (Collect_Primitive_Operations): Adjust to the new definition of + Incomplete_View field. + * sinfo.ads (Incomplete_View): Denote the entity itself instead + of its declaration. + * sem_util.adb: Remove call to Defining_Entity. + +2022-05-16 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Given a + subtype recurse into its base type. + +2022-05-16 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Clarify. + +2022-05-16 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Is_Enabled): Remove; use Is_Enabled_Pragma + instead. + +2022-05-16 Martin Liska <mliska@suse.cz> + + * locales.c (iso_639_1_to_639_3): Use ARRAY_SIZE. + (language_name_to_639_3): Likewise. + (country_name_to_3166): Likewise. + +2022-05-13 Alexandre Oliva <oliva@adacore.com> + + * gcc-interface/decl.cc (is_cplusplus_method): Build proper + String for Get_External_Name. + +2022-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch3.adb (Derive_Subprogram): For a function, also copy the + Returns_By_Ref flag from the parent. + +2022-05-13 Gary Dismukes <dismukes@adacore.com> + + * sem_ch13.adb (Check_Aspect_At_Freeze_Point): Analyze the + expression of the aspect at this point, like other aspects that + denote simple entities. Ensures that function + Storage_Model_Object will have an entity to retrieve from the + aspect expression. Also, move comment about aspects that don't + require delay analysis in front of last alternative of the case + statement, where it's supposed to be. + +2022-05-13 Javier Miranda <miranda@adacore.com> + + * contracts.adb (Build_Unique_Name): New subprogram. + (Make_Class_Precondition_Subps): Use Build_Unique_Name to + generate the names of the call helpers and the name of indirect + call wrappers. + * freeze.adb (Needs_Wrapper): Remove dead code. + (Check_Inherited_Conditions): Defer building helpers and ICW + until all the dispatch table wrappers have been built and + analyzed. Required to ensure uniqueness in their names because + when building these wrappers for overlapped subprograms their + homonym number is not definite until they have been analyzed. + +2022-05-13 Arnaud Charlet <charlet@adacore.com> + + * libgnarl/s-taprop__linux.adb (Initialize): Do not use an + alternate stack if no handler for SEGV is installed. + +2022-05-13 Alexandre Oliva <oliva@adacore.com> + + * doc/gnat_rm/security_hardening_features.rst (Control Flow + Redundancy): Drop mentions of noreturn and tail calls. + * gnat_rm.texi: Regenerate. + +2022-05-13 Ghjuvan Lacambre <lacambre@adacore.com> + + * ali.adb: Introduce new 'K' line in ALI files, used to + represent CUDA kernel entries. + * ali.ads: Create new CUDA_Kernels table, which contains entries + of type CUDA_Kernel_Record. Each CUDA_Kernel_Record corresponds + to a K line in an ali file. + * bindgen.adb: Introduce new Gen_CUDA_Init procedure in the + binder, which generates CUDA kernel registration code. + * gnat_cuda.adb: Move Get_CUDA_Kernels spec to package spec to + make it available to bindgen.adb. + * gnat_cuda.ads: Likewise. + * lib-writ.adb: Introduce new Output_CUDA_Symbols procedure, + which generates one 'K' line in the ALI file per visible CUDA + kernel. + * opt.ads: Introduce Enable_CUDA_Expansion option, triggered by + using the -gnatd_c flag. + * switch-b.adb: Likewise. + * switch-c.adb: Likewise. + +2022-05-13 Marc Poulhiès <poulhies@adacore.com> + + * exp_aggr.adb (Gen_Loop): Create scope for loop variable of + iterated components. + +2022-05-13 Yannick Moy <moy@adacore.com> + + * libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index): + Remove useless functions. + (Delete_Key_Sans_Free, Find, Generic_Conditional_Insert): Adapt + to removal of wrapper functions. + * libgnat/a-chtgfk.ads (Checked_Equivalent_Keys, Checked_Index): + Remove useless functions. + * libgnat/a-chtgfo.adb (Checked_Index): Remove useless function. + (Clear): Delete code commented out regarding Busy and Lock + management. + (Delete_Node_At_Index): Delete unused procedure. + (Delete_Node_Sans_Free, Free, Generic_Read, Next): Adapt to + removal of wrapper functions. + * libgnat/a-chtgfo.ads (Checked_Index): Remove useless function. + (Delete_Node_At_Index): Delete unused procedure. + +2022-05-13 Yannick Moy <moy@adacore.com> + + * libgnat/a-cfhama.adb (Generic_Allocate): Retype to avoid + aliasing. + (Assign, Move): Remove address comparison. + (Include): Insert constants for subtype constraints. + (Insert): Rewrite to avoid aliasing and function with side-effects. + * libgnat/a-cfhase.adb (Generic_Allocate): Retype to avoid + aliasing. + (Assign, Move): Remove address comparison. + (Difference, Intersection, Is_Subset, Overlap, + Symmetric_Difference, Union): Remove address comparison. Insert + constants for subtype constraints. + (Insert): Rewrite to avoid aliasing and function with + side-effects. + * libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index, + Delete_Key_Sans_Free, Find, Generic_Replace_Element, Index): + Type for hash tables not tagged anymore. + (Generic_Conditional_Insert): New_Node generic formal is a + procedure taking the hash table as first parameter now, to avoid + aliasing in the caller. + * libgnat/a-chtgfk.ads: Same. + * libgnat/a-chtgfo.adb (Checked_Index, Clear, + Delete_Node_At_Index, Delete_Node_Sans_Free, First, Free, + Generic_Allocate, Generic_Iteration, Generic_Read, + Generic_Write, Index, Next): Type for hash tables not tagged + anymore. + (Generic_Equal): Removed tagged. Remove address comparison. + * libgnat/a-chtgfo.ads: Same. + * libgnat/a-cohata.ads (Hash_Table_Type): Remove tagged. + +2022-05-13 Yannick Moy <moy@adacore.com> + + * Makefile.rtl: Add new files. + * libgnat/a-cfhama.adb: Use formal version of hash tables. + * libgnat/a-cfhama.ads: Same. + * libgnat/a-cfhase.adb: Same. + * libgnat/a-cfhase.ads: Same. + * libgnat/a-chtgfk.adb: New unit for formal containers, modified + version of Generic_Bounded_Keys. + * libgnat/a-chtgfk.ads: Same. + * libgnat/a-chtgfo.adb: New unit for formal containers, modified + version of Generic_Bounded_Operations. + * libgnat/a-chtgfo.ads: Same. + * libgnat/a-cohata.ads (Generic_Formal_Hash_Table_Types): Third + version of the type for hash tables, equivalent to the bounded + version without tampering checks. + +2022-05-13 Javier Miranda <miranda@adacore.com> + + * freeze.adb (Check_Inherited_Conditions): Dispatch table + wrappers must be placed in the list of entities of their scope + at the same place of their wrapped primitive. This is required + for private types since these wrappers are built when their full + tagged type declaration is frozen but they may override a + primitive defined in the public part of the package (and it is + important to maintain the wrapper in the list of public entities + of the package to ensure their correct visibility). + +2022-05-13 Johannes Kanig <kanig@adacore.com> + + * osint.ads, osint.adb (Relocate_Path): If the GNSA_ROOT + environment variable is set, we use that as the prefix, instead + of computing the prefix from the executable location. + +2022-05-13 Steve Baird <baird@adacore.com> + + * exp_ch3.ads (Build_Intialization_Call): Add new formal + parameter, Init_Control_Actual, with default value. Clients + outside of package Exp_Ch3 are unaffected. + * exp_ch3.adb (Initialization_Control): new package; support for + this 4-valued parameter. The existing Requires_Late_Init + function is moved into this new package. + (Build_Initialization_Call): Add new formal parameter for + subprogram body, use this new formal parameter in generating an + init proc call. + (Build_Record_Init_Proc): Replace Set_Tag Boolean formal + parameter with 4-valued Init_Control_Formal. Wrap if-statements + with appropriate conditions around tag initialization, early + initialization, and late initialization statements. + * exp_util.adb (Build_Task_Image_Decl): Avoid problem with + duplicate declarations when an init proc for a type extension + calls the parent type's init proc twice. + +2022-05-13 Ed Schonberg <schonberg@adacore.com> + + * sem_ch5.adb (Analyze_Iterator_Specification): Fix Typ in the + case of a class-wide derived iterator. + +2022-05-13 Yannick Moy <moy@adacore.com> + + * libgnat/a-strbou.ads (Overwrite): Switch to >= operator in + contracts. + * libgnat/a-strsup.adb (Super_Overwrite): Switch to >= operator + in code of procedure (function already uses it). + * libgnat/a-strsup.ads (Super_Overwrite): Switch to >= operator + in contracts. + +2022-05-13 Etienne Servais <servais@adacore.com> + + * doc/gnat_rm/representation_clauses_and_pragmas.rst: Fix code + snippet. + * gnat_rm.texi: Regenerate. + +2022-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * aspects.adb (Find_Value_Of_Aspect): Add guard. + * sem_ch4.adb (Complete_Object_Operation): Remove obsolete code. + * sem_ch5.adb (Has_Sec_Stack_Default_Iterator): Add guard. + +2022-05-13 Javier Miranda <miranda@adacore.com> + + * exp_attr.adb (Expand_N_Attribute_Reference): The expansion of + 'Address in a call to an instantiation of the implicit + subprogram To_Pointer with a class-wide interface type target + requires adding an implicit type conversion to force + displacement of the "this" pointer. + +2022-05-13 Javier Miranda <miranda@adacore.com> + + * sem_attr.adb (Resolve_Attribute): Ensure that attribute + expressions are resolved at this stage; required for preanalyzed + references to discriminants since their resolution (and + expansion) will take care of updating their Entity attribute to + reference their discriminal. + +2022-05-13 Justin Squirek <squirek@adacore.com> + + * sem_util.adb (Wrong_Type): Avoid using the first subtype of + the expected type in error messages when the expected type is + not internally generated. + +2022-05-13 Alexandre Oliva <oliva@adacore.com> + + * doc/gnat_rm/security_hardening_features.rst: Add subsection on + Control Flow Redundancy. + * gnat_rm.texi: Regenerate. + +2022-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * exp_util.adb (Insert_Actions) <N_Iteration_Scheme>: Check that + it is a WHILE iteration scheme before using Condition_Actions. + +2022-05-13 Piotr Trojanek <trojanek@adacore.com> + + * atree.adb, gen_il-gen.adb, osint.adb, set_targ.adb, + sinput.adb, table.adb, treepr.adb, types.ads: Replace uses of + Unchecked_Conversion in the compiler itself. + * libgnarl/a-reatim.adb, libgnarl/s-osinte__gnu.ads, + libgnarl/s-osinte__kfreebsd-gnu.ads, libgnat/a-coboho.adb, + libgnat/a-stuten.ads, libgnat/s-putima.adb: Likewise in the + runtime. + * doc/gnat_ugn/gnat_and_program_execution.rst: Likewise in + documentation. + * gnat_ugn.texi: Regenerate. + +2022-05-13 Piotr Trojanek <trojanek@adacore.com> + + * butil.adb, sem.adb, sinput.adb, types.ads, xref_lib.adb: + Replace uses of Unchecked_Deallocation with + Ada.Unchecked_Deallocation. + * doc/gnat_ugn/gnat_and_program_execution.rst: Likewise for the + documentation; fix casing of GNAT.IO. + * gnat_ugn.texi: Regenerate. + +2022-05-13 Marc Poulhiès <poulhies@adacore.com> + + * sem_aggr.adb (Resolve_Array_Aggregate): Fix ARM reference. + Remove useless loop. + +2022-05-13 Etienne Servais <servais@adacore.com> + + * sem_ch3.adb (Analyze_Subtype_Declaration): Fix typo in + comment. + +2022-05-13 Justin Squirek <squirek@adacore.com> + + * sem_ch6.adb (Check_Return_Construct_Accessibility): Modify + generation of run-time accessibility checks to account for cases + where Extra_Accessibility_Of_Result should be used versus the + level of the enclosing subprogram. Use original node to avoid + checking against expanded code. Disable check generation for + tagged type case. + (Is_Formal_Of_Current_Function): Added to encompass a predicate + used within Check_Return_Construct_Accessibility to test if an + associated expression is related to a relevant formal. + * sem_util.adb, sem_util.ads (Enclosing_Subprogram): Modified to + accept Node_Or_Entity_Id. + (Innermost_Master_Scope_Depth): Calculate level based on the + subprogram of a return statement instead of the one returned by + Current_Subprogram. + (Needs_Result_Accessibility_Level): Remove + Disable_Coextension_Cases constant, and disable the tagged type + case for performance reasons. + +2022-05-13 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Flag_Effectively_Volatile_Objects): Ignore + component and discriminant identifiers. + +2022-05-13 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Flag_Effectively_Volatile_Objects): Remove + redundant guard. + +2022-05-13 Justin Squirek <squirek@adacore.com> + + * sem_ch8.adb (Determine_Package_Scope): Created to centralize + the calculation of which package a given use clause belongs to. + (Most_Descendant_Use_Clause): Modified to call + Determine_Package_Scope. + * sem_util.adb, sem_util.ads (Enclosing_Package): Modified to + handle both entity and node ids. + +2022-05-12 Piotr Trojanek <trojanek@adacore.com> + + * gnat1drv.adb (Gnat1drv): Skip postponed checks when there are + errors. + +2022-05-12 Arnaud Charlet <charlet@adacore.com> + + * doc/gnat_ugn/the_gnat_compilation_model.rst: Fix URL. + * gnat_ugn.texi: Regenerate. + +2022-05-12 Bob Duff <duff@adacore.com> + + * namet.ads, namet.adb (Write_Name_For_Debug): Add Quote + parameter to allow conditional addition of quotes. Note that + some calls to Write_Name_For_Debug, for example for file names, + shouldn't have quotes, as in some_package.adb:123:45. + * treepr.adb (Print_Name): Add double quotes around the name + using the above Quote parameters. + +2022-05-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Resolve_Actuals): Simplify with N_Op_Compare. + * sem_util.adb (Replace_Null_Operand, + Null_To_Null_Address_Convert_OK): Likewise. + +2022-05-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.ads (Is_Selector_Name): Remove spec. + * sem_util.adb (Is_Selector_Name): Remove body. + +2022-05-12 Arnaud Charlet <charlet@adacore.com> + + * sem_warn.adb (Has_Junk_Name): Add more dummy names. + +2022-05-12 Piotr Trojanek <trojanek@adacore.com> + + * lib-xref.adb (Generate_Reference): Fix comment and implement + it precisely. + +2022-05-12 Piotr Trojanek <trojanek@adacore.com> + + * atree.adb, atree.ads: Move WITH clause from spec to body; to + prevent new warnings stopping the bootstrap. + * fmap.adb, fname-sf.adb, libgnat/a-direct.adb, + libgnat/s-bignum.adb: Remove unnecessary WITH clauses; to + prevent new warnings stopping the bootstrap. + * sem_ch12.adb (Analyze_Subprogram_Instantiation): Only set + Is_Instantiated flag when the instance is in the extended main + source unit. + +2022-05-12 Yannick Moy <moy@adacore.com> + + * libgnat/s-valuei.ads: Remove pragma Warnings Off. + * libgnat/s-valueu.ads: Same. + * libgnat/s-valuti.ads: Same. + +2022-05-12 Yannick Moy <moy@adacore.com> + + * sem_util.adb (Check_Result_And_Post_State): Exempt trivial + post. + +2022-05-12 Arnaud Charlet <charlet@adacore.com> + + * ali.adb, ali.ads, bcheck.adb, exp_ch11.adb, fe.h, + gnat1drv.adb, opt.adb, opt.ads, targparm.adb, targparm.ads, + lib-writ.adb: Get rid of Frontend_Exceptions processing. + * libgnat/system-aix.ads, libgnat/system-darwin-arm.ads, + libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads, + libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads, + libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads, + libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads, + libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads, + libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads, + libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads, + libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads, + libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads, + libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads, + libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads, + libgnat/system-qnx-aarch64.ads, libgnat/system-rtems.ads, + libgnat/system-solaris-sparc.ads, + libgnat/system-solaris-x86.ads, + libgnat/system-vxworks-arm-rtp-smp.ads, + libgnat/system-vxworks-arm-rtp.ads, + libgnat/system-vxworks-arm.ads, + libgnat/system-vxworks-e500-kernel.ads, + libgnat/system-vxworks-e500-rtp-smp.ads, + libgnat/system-vxworks-e500-rtp.ads, + libgnat/system-vxworks-ppc-kernel.ads, + libgnat/system-vxworks-ppc-rtp-smp.ads, + libgnat/system-vxworks-ppc-rtp.ads, + libgnat/system-vxworks-x86-kernel.ads, + libgnat/system-vxworks-x86-rtp-smp.ads, + libgnat/system-vxworks-x86-rtp.ads, + libgnat/system-vxworks7-aarch64-rtp-smp.ads, + libgnat/system-vxworks7-aarch64.ads, + libgnat/system-vxworks7-arm-rtp-smp.ads, + libgnat/system-vxworks7-arm.ads, + libgnat/system-vxworks7-e500-kernel.ads, + libgnat/system-vxworks7-e500-rtp-smp.ads, + libgnat/system-vxworks7-e500-rtp.ads, + libgnat/system-vxworks7-ppc-kernel.ads, + libgnat/system-vxworks7-ppc-rtp-smp.ads, + libgnat/system-vxworks7-ppc-rtp.ads, + libgnat/system-vxworks7-ppc64-kernel.ads, + libgnat/system-vxworks7-ppc64-rtp-smp.ads, + libgnat/system-vxworks7-x86-kernel.ads, + libgnat/system-vxworks7-x86-rtp-smp.ads, + libgnat/system-vxworks7-x86-rtp.ads, + libgnat/system-vxworks7-x86_64-kernel.ads, + libgnat/system-vxworks7-x86_64-rtp-smp.ads: Remove + Frontend_Exceptions line. + * gcc-interface/decl.cc, gcc-interface/trans.cc + (gnat_to_gnu_entity, gnat_to_gnu_subprog_type, gigi, + gnat_to_gnu): Remove Front_End_SJLJ processing and always assume + Back_End_Exceptions. + +2022-05-12 Bob Duff <duff@adacore.com> + + * namet.ads, namet.adb (Write_Name_For_Debug): New more-robust + version of Write_Name. + (Destroy_Global_Name_Buffer): New procedure to help detect bugs + related to use of Global_Name_Buffer. Misc cleanup and comment + improvements. E.g. we don't need to document every detail of + debugging printouts, especially since they can change. + * uname.ads, uname.adb (Write_Unit_Name_For_Debug): New + more-robust version of Write_Unit_Name. + (Get_Unit_Name_String): Pass buffer in, instead of using the + global variable. Misc cleanup. Remove the "special fudge", which + is apparently not needed, and anyway the comment "the %s or %b + has already been eliminated" seems wrong. + (Write_Unit_Name): Call the new version of Get_Unit_Name_String. + * errout.adb (Set_Msg_Insertion_Unit_Name): Call the new version + of Get_Unit_Name_String. We pass the global variable here, + because it's too much trouble to disentangle such uses in + Errout. + * sem_util.ads, sem_util.adb, sem_dist.adb + (Get_Library_Unit_Name): New version of + Get_Library_Unit_Name_String that avoids usage of the global + variable. + * casing.ads, casing.adb, exp_prag.adb, exp_util.adb + (Set_All_Upper_Case): Remove. There is no need for a wrapper + here -- code is clearer without it. + * treepr.adb (Print_Name): Call Write_Name_For_Debug, which + deals with No_Name (etc), rather than duplicating that here. + Note that the call to Get_Name_String was superfluous. + (Tree_Dump): Call Write_Unit_Name_For_Debug instead of + Write_Unit_Name, which crashes if not Is_Valid_Name. + * erroutc.ads: Improve comments. + * erroutc.adb (Set_Msg_Name_Buffer): Call + Destroy_Global_Name_Buffer to detect potential bugs where it + incorrectly looks at the global variable. + * sinput.adb (Write_Location): Call Write_Name_For_Debug instead + of Write_Name, so it won't blow up on invalid data. + * sinput.ads: Improve comments; remove some verbosity. + * libgnat/s-imagef.adb: Fix typo in comment. + +2022-05-12 Yannick Moy <moy@adacore.com> + + * libgnat/s-imageu.adb (Set_Image_Unsigned): Add lemma. + * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion. + +2022-05-12 Yannick Moy <moy@adacore.com> + + * libgnat/s-aridou.ads: Remove use-clause, add renames and + subtypes. + * libgnat/s-exponn.ads: Same. + * libgnat/s-expont.ads: Same. + * libgnat/s-widthu.ads: Same. + +2022-05-12 Etienne Servais <servais@adacore.com> + + * csets.adb (Fold_Latin_9): Fix y with diaeresis. + (Fold_IBM_PC_850): Fix o with stroke. + +2022-05-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_type.adb (Valid_Boolean_Arg): Remove redundant guard. + +2022-05-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_type.adb (Valid_Boolean_Arg): Operands of Raise_Type are + valid boolean arguments. + +2022-05-12 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch4.adb (Possible_Type_For_Conditional_Expression): Add + test for subtype conformance in the cases of + access-to-subprogram types. + +2022-05-12 Yannick Moy <moy@adacore.com> + + * libgnat/s-imagef.adb: Justify false message from CodePeer. + +2022-05-12 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch4.adb (Analyze_Case_Expression): Rewrite. + (Analyze_If_Expression): Likewise. + (Possible_Type_For_Conditional_Expression): New function. + * sem_type.adb (Specific_Type): Retur the base type in more + cases. + +2022-05-12 Yannick Moy <moy@adacore.com> + + * libgnat/s-imagef.adb: Adapt to new signature of Image_I, by + providing ghost imported subprograms. For now, no contract is + used on these subprograms, as System.Image_F is not proved. + * libgnat/s-imagef.ads: Add modular type Uns as formal + parameter, to use in defining Int_Params for instantiating + Image_I. + * libgnat/s-imagei.adb: Add contracts and ghost code. + * libgnat/s-imagei.ads: Replace Int formal parameter by package + Int_Params, which bundles type Int and Uns with ghost + subprograms. Add contracts. + * libgnat/s-imfi128.ads: Adapt to new formal of Image_F. + * libgnat/s-imfi32.ads: Adapt to new formal of Image_F. + * libgnat/s-imfi64.ads: Adapt to new formal of Image_F. + * libgnat/s-imgint.ads: Adapt to new formals of Image_I. + * libgnat/s-imglli.ads: Adapt to new formals of Image_I. + * libgnat/s-imgllli.ads: Adapt to new formals of Image_I. + * libgnat/s-valint.ads: Adapt to new formals of Value_I. + * libgnat/s-vallli.ads: Adapt to new formals of Value_I. + * libgnat/s-valllli.ads: Adapt to new formals of Value_I. + * libgnat/s-valuei.adb (Prove_Scan_Only_Decimal_Ghost): New + ghost lemma. + * libgnat/s-valuei.ads: New formal parameters to prove the new + lemma. + * libgnat/s-valuti.ads (Int_Params): Define a generic package to + be used as a trait-like formal parameter in Image_I and other + generics that need to instantiate Image_I. + * libgnat/s-widthu.ads (Big_10): Qualify the 10 literal. + +2022-05-12 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch4.adb (Find_Arithmetic_Types): Use local variables. + (Find_Boolean_Types): Rewrite modeled on Find_Arithmetic_Types. + +2022-05-12 Alexandre Oliva <oliva@adacore.com> + + * doc/gnat_rm/security_hardening_features.rst (Hardened + Booleans): New. + * exp_util.adb (Adjust_Condition): Perform validity checking on + hardbool-annotated types even with -gnatVT. + * gnat_rm.texi: Regenerate. + * gcc-interface/utils.cc (gnat_internal_attribute_table): Ignore + hardbool. + +2022-05-12 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch9.adb (Build_Protected_Entry): Set scope of the nested + block to spec and not the body of the procedure created for a + protected entry. + +2022-05-12 Etienne Servais <servais@adacore.com> + + * sem_ch3.adb (Find_Type_Of_Object): Remove duplicate "i" in + comment. + +2022-05-12 Marc Poulhiès <poulhies@adacore.com> + + * csets.adb (Initialize): Only treat square bracket as valid + identifier character for Ada versions prior to Ada 2022. + * style.ads (Check_Left_Paren): Rename... + (Check_Left_Paren_Square_Bracket): ...to this. + * styleg.adb (Check_Left_Bracket): Rename... + (Check_Left_Paren_Square_Bracket): ...to this. + * styleg.ads (Check_Left_Paren): Rename... + (Check_Left_Paren_Square_Bracket): ...to this. + * scng.adb (Scan): Add check for spacing around left square + bracket and use new name for Check_Left_Paren_Square_Bracket. + * libgnat/a-szmzco.ads (Control_Ranges, Graphic_Ranges) + (Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges) + (Character_Ranges): Fix style (remove extra space). + * libgnat/a-swmwco.ads (Control_Ranges, Graphic_Ranges) + (Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges) + (Character_Ranges): Likewise. + * opt.adb (Set_Config_Switches): Remove [ from Identifier_Char + set. + +2022-05-12 Eric Botcazou <ebotcazou@adacore.com> + + * sem_type.adb (Specific_Type): Add swapped cases for interfaces. + +2022-05-12 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst: + (Export_Object, Import_Object, Short_Descriptors): Fix pragma + syntax specification. + * gnat_rm.texi: Regenerate. + +2022-05-12 Piotr Trojanek <trojanek@adacore.com> + + * ali.adb (Hash): Reuse GNAT.String_Hash.Hash and don't pollute + the Name_Id table. + +2022-05-12 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration + Pragmas): Add Aggregate_Individually_Assign; otherwise the list + is complete except for some obsoleted pragmas, which most likely + are intentionally omitted. + * gnat_ugn.texi: Regenerate. + +2022-05-11 Yannick Moy <moy@adacore.com> + + * libgnat/s-imaged.ads: Remove Pure. + * libgnat/s-imagef.ads: Remove Pure. + * libgnat/s-imager.ads: Remove Pure. + * libgnat/s-imageu.adb: Add ghost code. + * libgnat/s-imageu.ads: Add contracts. + * libgnat/s-imde128.ads: Remove Pure. + * libgnat/s-imde32.ads: Remove Pure. + * libgnat/s-imde64.ads: Remove Pure. + * libgnat/s-imfi128.ads: Remove Pure. + * libgnat/s-imfi32.ads: Remove Pure. + * libgnat/s-imfi64.ads: Remove Pure. + * libgnat/s-imgflt.ads: Remove Pure. + * libgnat/s-imglfl.ads: Remove Pure. + * libgnat/s-imgllf.ads: Remove Pure. + * libgnat/s-imglllu.ads: Instantiate with ghost subprograms. + * libgnat/s-imgllu.ads: Instantiate with ghost subprograms. + * libgnat/s-imgrea.ads: Remove Pure. + * libgnat/s-imguns.ads: Instantiate with ghost subprograms. + * libgnat/s-imguti.ads: Remove Pure. + * libgnat/s-valueu.adb (Prove_Iter_Scan_Based_Number_Ghost, + Prove_Scan_Only_Decimal_Ghost): New lemmas. + * libgnat/s-valueu.ads (Uns_Option): Do not make type ghost to + be able to use it as formal in instantiations. + (Only_Decimal_Ghost): New ghost query. + (Prove_Iter_Scan_Based_Number_Ghost, + Prove_Scan_Only_Decimal_Ghost): New lemmas. + * libgnat/s-widlllu.ads: Adapt to changes in Width_U. + * libgnat/s-widllu.ads: Adapt to changes in Width_U. + * libgnat/s-widthu.adb: Change generic function in generic + package in order to complete the postcondition. Tighten the + upper bound on the result by 1. + * libgnat/s-widthu.ads: Same. + * libgnat/s-widuns.ads: Adapt to changes in Width_U. + * gcc-interface/Make-lang.in: Add dependencies on a-nubinu, + a-numeri.ads and a-widuns.ads. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * snames.ads-tmpl (Detect_Blocking): Move after + Default_Storage_Pool. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Analyze_Pragma): Remove custom check for + Compile_Time_Error and Compile_Time_Warning pragmas. + * snames.ads-tmpl (Compile_Time_Error, Compile_Time_Warning): + Move beyond Last_Configuration_Pragma_Name. + +2022-05-11 Marc Poulhiès <poulhies@adacore.com> + + * libgnat/a-direct.adb (Start_Search_Internal): Use parentheses + for record aggregate. + * libgnat/a-stbubo.adb (Get_UTF_8): Likewise. + * libgnat/a-stbuun.adb (Get_UTF_8): Likewise. + * libgnat/a-stzbou.ads (Null_Bounded_Wide_Wide_String): + Likewise. + * libgnat/a-swmwco.ads (Lower_Case_Mapping, Basic_Mapping): + Likewise. + * libgnat/a-szmzco.ads (Lower_Case_Mapping, Basic_Mapping): + Likewise. + * libgnat/s-statxd.adb (Fields): Likewise. + * libgnat/s-stausa.adb (Initialize): Likewise. + * sem_aggr.adb (Resolve_Record_Aggregate): Reject aggregates + using brackets. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst, + doc/gnat_rm/implementation_of_specific_ada_features.rst, + doc/gnat_rm/representation_clauses_and_pragmas.rst, + doc/gnat_rm/the_gnat_library.rst, + doc/gnat_rm/the_implementation_of_standard_i_o.rst, + doc/gnat_ugn/building_executable_programs_with_gnat.rst, + doc/gnat_ugn/gnat_and_program_execution.rst, + doc/gnat_ugn/platform_specific_information.rst: Fix unbalanced + parentheses and brackets. + * sem_prag.adb (pragma Obsolescent): Likewise. + * gnat_rm.texi, gnat_ugn.texi: Regenerate. + +2022-05-11 Marc Poulhiès <poulhies@adacore.com> + + * libgnat/s-rident.ads (Restriction_Id): Add + No_Local_Tagged_Types, update comment for adding new GNAT + specific restriction. + * restrict.ads (Implementation_Restriction): Add + No_Local_Tagged_Types. + * sem_ch3.adb (Analyze_Full_Type_Declaration): Add check for + tagged type at library level. + * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: + Add No_Local_Tagged_Types description. + * gnat_rm.texi: Regenerate. + +2022-05-11 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch4.adb (Analyze_User_Defined_Binary_Op): Use the base type + in the interpretation of the operator. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * sem_case.adb (Free_Value_Sets): Fix style in body header box. + * sem_ch12.adb (Build_Subprogram_Wrappers): Likewise. + * sem_util.adb (Statically_Denotes_Entity): Likewise. + +2022-05-11 Etienne Servais <servais@adacore.com> + + * sem_ch3.adb (Constrain_Access): Call Desig_Subtype in each if + branch to avoid calling it twice. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * sem_warn.adb (Find_Var): Detect all operators; replace + "condition" to "expression" in comments, because when this + routine is called recursively it no longer examines the + condition. + (Is_Suspicious_Function_Name): Reduce scope of a local variable + to avoid shadowing with a parameter of a nested + Substring_Present function. + +2022-05-11 Yannick Moy <moy@adacore.com> + + * libgnat/s-aridou.adb (Double_Divide, Scaled_Divide): Add + intermediate assertions. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * libgnat/s-rident.ads (Implementation_Restriction): Remove + No_Dynamic_Attachment, No_Implementation_Attributes, + No_Implementation_Pragmas, No_Local_Protected_Objects, + No_Protected_Type_Allocators, No_Relative_Delay, + No_Requeue_Statements, No_Select_Statements, + No_Task_Termination, Pure_Barriers and Simple_Barriers; add + No_Dynamic_Sized_Objects, + No_Implicit_Protected_Object_Allocations, + No_Implicit_Task_Allocations, No_Task_At_Interrupt_Priority and + Static_Dispatch_Tables; sort alphabetically. + * restrict.ads (Restriction_Id): Change Pure_Barriers and + No_Task_Termination from GNAT to Ada restrictions. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * exp_atag.adb, lib-util.ads, libgnat/g-decstr.adb, + libgnat/g-exptty.adb, libgnat/g-socpol.adb, + libgnat/s-strhas.adb: Fix headers. + +2022-05-11 Joao Azevedo <azevedo@adacore.com> + + * doc/gnat_ugn/platform_specific_information.rst: Add + glibc-locale-base-32bit as a dependency in SUSE distributions. + * gnat_ugn.texi: Regenerate. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_ugn/gnat_and_program_execution.rst, + doc/gnat_ugn/gnat_utility_programs.rst, + doc/gnat_ugn/inline_assembler.rst: Fix typos and formatting + glitches. + * gnat_ugn.texi: Regenerate. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Change + blocks from plain code to Ada. + +2022-05-11 Gary Dismukes <dismukes@adacore.com> + + * exp_ch5.adb (Expand_Assign_With_Target_Names): Bypass the temp + object approach in the case where the type of the LHS is + controlled or has controlled subcomponents (Needs_Finalization + is True), and use the procedure approach instead. + +2022-05-11 Bob Duff <duff@adacore.com> + + * sem_ch3.adb (Get_Discr_Value): Copy the result. Otherwise, the + "tree" can be malformed (a DAG, not a tree) because + Get_Discr_Value could be returning some subtree already attached + to the tree. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on + proper label entities. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_characteristics.rst: Add + tabularcolums directive, as explained in documentation of Sphinx + and tabular LaTeX package. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_aspects.rst, + doc/gnat_rm/implementation_defined_pragmas.rst: Remove extra + whitespace. + * gnat_rm.texi: Regenerate. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_characteristics.rst: Remove + extra indent in continuation lines; indent both descriptions of + Max_Picture_Length. + * gnat_rm.texi: Regenerate. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst (Pragma + Eliminate): Fix markup. + * gnat_rm.texi: Regenerate. + +2022-05-11 Johannes Kliemann <kliemann@adacore.com> + + * libgnat/g-sthcso.adb: Suppress warning about unneeded use type + clause. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on + proper label entities. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst (Pragma + Ada_2022): Copy description from pragma Ada 2012 and adapt. + * doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration + Pragmas): List pragma Ada 2022. + * gnat_rm.texi, gnat_ugn.texi: Regenerate. + +2022-05-11 Steve Baird <baird@adacore.com> + + * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Replace + the existing check for an address specification for an object of + a class-wide type with a more general check which rejects either + the class-wide case or the case where the FE would (if the + address specification were accepted) build a malformed + tree (specifically, an object renaming declaration with a + specified address). In the case where the check fails, reject + the construct at compile time instead of generating an + unconditional raise of Program_Error. + * doc/gnat_rm/representation_clauses_and_pragmas.rst: Update + documentation to reflect these changes. + * gnat_rm.texi: Regenerate. + +2022-05-11 Piotr Trojanek <trojanek@adacore.com> + + * gen_il-gen-gen_entities.adb (Reachable): Move from + Root_Entity_Type to E_Label. + +2022-05-11 Alexandre Oliva <oliva@adacore.com> + + * exp_ch3.adb (Expand_N_Object_Declaration): Guard + Set_Is_Known_Valid with Safe_To_Capture_Value. + +2022-05-11 Bob Duff <duff@adacore.com> + + * repinfo.adb (List_Object_Info): Do not try to print values + that have not been computed (and so are No_Uint). + (Rep_Not_Constant): Reverse sense and change name to + Compile_Time_Known_Rep. This makes the code at call sites a + little more readable. Simplify code to a single return + statement. + +2022-05-10 Martin Liska <mliska@suse.cz> + + * gcc-interface/decl.cc (compare_field_bitpos): Use void * + instead PTR. + * gcc-interface/utils2.cc (compare_elmt_bitpos): Likewise. + +2022-05-10 Eric Botcazou <ebotcazou@adacore.com> + + * fe.h (Is_Expression_Function): Declare. + * sem_util.ads (Is_Expression_Function): Add warning line. + +2022-05-10 Alexandre Oliva <oliva@adacore.com> + + * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Valid>: + Drop redundant range check for nonstandard booleans. + +2022-05-10 Alexandre Oliva <oliva@adacore.com> + + * exp_util.adb (Adjust_Result_Type): Leave result in + Standard.Boolean if it's going to be converted to another + boolean type. + * exp_ch4.adb (Expand_N_Type_Conversion): When optimizing, + convert to nonstandard booleans with an if_expression with + boolean literals. + +2022-05-10 Alexandre Oliva <oliva@adacore.com> + + * exp_ch4.adb (Expand_N_If_Expression): Call Adjust_Condition to + handle non-standard booleans. + +2022-05-10 Justin Squirek <squirek@adacore.com> + + * sem_ch8.adb (Use_One_Type): Remove code in charge of setting + Current_Use_Clause when Id is known to be redundant, and modify + the printing of errors associated with redundant use type + clauses so that line number gets included in more cases. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_warn.adb (Check_Unset_Reference): Use variant of + Earlier_In_Extended_Unit that calls Sloc internally. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * par-ch10.adb, scng.adb, sem_res.adb, sinfo-utils.adb, + treepr.adb: Simplify calculations with Source_Ptr and Loc + values. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Resolve_Expression_With_Actions): Fix style in + nested routines. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * atree.adb, exp_ch6.adb, exp_ch9.adb, ghost.adb, sem_ch3.adb, + sem_ch4.adb, sem_res.adb, sem_util.adb: Use + Is_Rewrite_Substitution where possible. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch11.adb, exp_ch5.adb, exp_prag.adb, gnat_cuda.adb, + sem_ch12.adb, sem_ch3.adb, sem_ch6.adb, sem_util.adb, + treepr.adb: Replace /= and = operators with No and Present, + respectively. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_warn.adb (Within_Postcondition): Guard against search + going too far. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_warn.adb (Check_Unset_Reference): The early test was only + saving time of calls to Original_Node, Comes_From_Source and + Nkind, which are all quick and cheap. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch5.adb (Check_Unreachable_Code): Remove inner declare + block; refill code and comments. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Replace + First_Entity/Next_Entity with First_Formal/Next_Formal; rename + E1/E2 to F1/F2. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Resolve_Declare_Expression): Check expression for + references to unset objects. + (Resolve_Qualified_Expression): Likewise. + * sem_warn.adb (Check_Unset_Reference): Remove handling of + declare and qualified expressions; clarify comment for type + conversions. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Resolve_Case_Expression): Check alternative + expressions for references to unset objects. + (Resolve_If_Expression): Check condition, then and else + expressions for references to unset objects. + +2022-05-10 Kévin Le Gouguec <legouguec@adacore.com> + + * doc/gnat_rm/implementation_defined_attributes.rst, + doc/gnat_ugn/the_gnat_compilation_model.rst: Fix typos. + * gnat_rm.texi, gnat_ugn.texi: Regenerate. + +2022-05-10 Etienne Servais <servais@adacore.com> + + * sem_ch13.adb (Is_Predicate_Static): Fix typo in comment. + +2022-05-10 Yannick Moy <moy@adacore.com> + + * libgnat/s-valuei.adb: Fix indentation. + * libgnat/s-valuei.ads: Same. + +2022-05-10 Claire Dross <dross@adacore.com> + + * snames.ads-tmpl: Add "Structural" as a name. + * sem_prag.adb: (Analyze_Pragma): Accept modifier "Structural" + in pragmas Loop_Variant and Subprogram_Variant. Check that items + associated to Structural occur alone in the pragma associations. + (Analyze_Subprogram_Variant_In_Decl_Part): Idem. + * exp_prag.adb (Expand_Pragma_Loop_Variant): Discard structural + variants. + (Expand_Pragma_Subprogram_Variant): Idem. + +2022-05-10 Claire Dross <dross@adacore.com> + + * libgnat/s-valint.ads: Add SPARK_Mode and pragma to ignore + assertions in instance and add additional ghost parameters to + the instance of Value_I. + * libgnat/s-vallli.ads: Idem. + * libgnat/s-valllli.ads: Idem. + * libgnat/s-valuei.ads, libgnat/s-valuei.adb: New generic + parameters for ghost functions from System.Valueu. Add + functional contracts. + +2022-05-10 Eric Botcazou <ebotcazou@adacore.com> + + * sem_res.adb (Resolve_Eqyality_Op): Remove obsolete code. + (Resolve_Op_Not): Likewise. + * sem_type.adb (Disambiguate): Add missing test for RM 8.4(10). + * libgnat/s-dwalin.adb (Enable_Cache): Fix ambiguity. + (Symbolic_Address): Likewise. + +2022-05-10 Eric Botcazou <ebotcazou@adacore.com> + + * sem_eval.adb (Eval_Integer_Literal): Fix oversight in entry test. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.adb (Expand_N_Aggregate): Replace UI_To_Int with + UI_To_CC; replace magic literals with high-level routines that + recognise wide and wide wide characters; reorder if-then-elsif + condition, because we don't have a routine to detect wide wide + characters. + +2022-05-10 Etienne Servais <servais@adacore.com> + + * scng.adb (Nlit): Error on big UI_Scale. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * exp_util.adb (Build_Task_Array_Image): Declare expanded + objects as constants. + (Build_Task_Image_Prefix): Likewise. + (Build_Task_Record_Image): Likewise. + +2022-05-10 Marc Poulhiès <poulhies@adacore.com> + + * checks.adb (Determine_Range): Fix range refining. + +2022-05-10 Steve Baird <baird@adacore.com> + + * sem_util.adb (Get_Actual_Subtype): If a new subtype is built, + do not freeze it if Expander_Active is False. The idea here is + to avoid generating an unwanted Freeze_Node for a subtype that + has been conjured up solely for purposes of preanalysis. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * exp_util.adb (Build_Task_Array_Image): Fix style in the + structure of generated code; add Pref'Length as the component of + the Sum initialization expression. + +2022-05-10 Piotr Trojanek <trojanek@adacore.com> + + * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Use + Get_Char_Code. + * exp_util.adb (Build_Task_Array_Image): Simplify conversion to + Char_Code. + (Build_Task_Image_Prefix): Likewise. + (Build_Task_Record_Image): Likewise. + * cstand.adb (Create_Standard): Use UI_From_Int instead of + UI_From_CC. + * exp_ch11.adb (Expand_N_Exception_Declaration): Likewise. + * sem_res.adb (Patch_Up_Value): Likewise. + * stringt.adb (Write_String_Table_Entry): Use Get_Char_Code. + +2022-05-09 Yannick Moy <moy@adacore.com> + + * sem_util.adb (Bad_Predicated_Subtype_Use): Add continuation + message. + +2022-05-09 Piotr Trojanek <trojanek@adacore.com> + + * uintp.adb (UI_To_CC): Guard against illegal inputs; reuse + UI_To_Int. + +2022-05-09 Piotr Trojanek <trojanek@adacore.com> + + * par-prag.adb (Prag): Simplify conversion of character codes. + * sem_case.adb (Choice_Image): Likewise. + (Lit_Of): Likewise. + +2022-05-09 Justin Squirek <squirek@adacore.com> + + * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Tag>: + Deal specifically wth class-wide equivalent types without a + parent. + * exp_util.adb (Build_Allocate_Deallocate_Proc): Extract + allocator node for calculation of alignment actual and modify + alignment for allocators of class-wide types with associated + expressions. + (Make_CW_Equivalent_Type): Handle interface types differently + when generating the equivalent record. + * sem_aux.adb (First_Tag_Component): Accept class-wide + equivalent types too. + +2022-05-09 Etienne Servais <servais@adacore.com> + + * repinfo.adb (List_Name): Rework termination condition. + +2022-05-09 Piotr Trojanek <trojanek@adacore.com> + + * bindgen.adb, errout.adb, exp_unst.adb, gnatchop.adb, + libgnat/a-ngcefu.adb, libgnat/a-strunb.adb, + libgnat/a-stwiun.adb, libgnat/a-stzunb.adb, + libgnat/a-wtedit.adb, libgnat/g-debpoo.adb, osint.adb, + sigtramp-vxworks.c, uintp.adb: Remove extra whitespace around +, + -, *, / and **. + +2022-05-09 Piotr Trojanek <trojanek@adacore.com> + + * libgnat/s-expmod.adb: Remove CodePeer annotation for pragma + Loop_Variant. + +2022-05-09 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.ads (In_Statement_Condition_With_Actions): Renamed + from In_While_Loop_Condition; move to fit the alphabetic order. + * sem_util.adb (In_Statement_Condition_With_Actions): Detect + Elsif condition; stop search on other statements; prevent search + from going too far; move to fit the alphabetic order. + * sem_res.adb (Resolve_Call): Adapt caller. + +2022-05-09 Piotr Trojanek <trojanek@adacore.com> + + * inline.adb (Build_Body_To_Inline): Remove redundant guards. + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise. + +2022-05-09 Eric Botcazou <ebotcazou@adacore.com> + + * sem_util.adb (Is_OK_Variable_For_Out_Formal): Remove test on + Comes_From_Source in the condition dealing with the expression + of an N_Unchecked_Type_Conversion node. + +2022-05-09 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.adb, exp_ch3.adb, exp_util.adb, freeze.adb, + gnatfind.adb, gnatlink.adb, gnatxref.adb, gprep.adb, + libgnat/a-cfhama.adb, libgnat/g-alleve.adb, sem_ch12.adb, + sem_ch13.adb, xr_tabls.adb: Fix style labels. + +2022-05-09 Justin Squirek <squirek@adacore.com> + + * err_vars.ads: Add new error message names and nodes. + * erroutc.adb (Set_Msg_Insertion_Name, + Set_Msg_Insertion_Name_Literal): Likewise. + * errout.adb (Set_Msg_Insertion_Node): Likewise. + * errout.ads: Likewise. + * exp_disp.adb (Check_Premature_Freezing): Modify setting of + Error_Msg_Node_2 to occur directly before Error_Msg call where + applicable. + * sem_ch8.adb (Error_Missing_With_Of_Known_Unit): Added to + handle the printing of full package names of known units. + (Undefined, Find_Expanded_Name): Replace error printing with + call to Error_Missing_With_Of_Known_Unit. + +2022-05-09 Yannick Moy <moy@adacore.com> + + * exp_ch4.adb (Expand_Allocator_Expression): Set Error_Msg_Warn + correctly. + +2022-05-09 Steve Baird <baird@adacore.com> + + * sem_ch13.adb (Replace_Type_Ref): In the case of an identifier + that names a component of the type, simplify the test to decide + whether to build a prefix for it (the prefix denotes the current + instance of the enclosing type): if the identifier doesn't + already have a prefix, then give it one. This isn't quite right + in the corner case of a quantified expression or some other such + expression that declares an object with the same name as a + component, but it is still an improvement. + +2022-05-09 Ed Schonberg <schonberg@adacore.com> + + * exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install + package if array type and element type come from the same + package, and the original array type is private. + +2022-05-09 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch4.adb (Handle_Changed_Representation): Simplify and fix + thinko in the loop building the constraints for discriminants. + * exp_ch5.adb (Make_Component_List_Assign): Try also to extract + discriminant values for a derived type. + +2022-05-09 Ed Schonberg <schonberg@adacore.com> + + * sem_res.adb (Resolve_Declare_Expression): Traverse the + expression to replace references to local variables that occur + within declarations of the declare_expression; fix typos in + comments. + +2022-05-09 Ed Schonberg <schonberg@adacore.com> + + * sem_ch4.adb (Operator_Check): Fix condition. + +2022-05-09 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst + (Abstract_State, Async_Readers, Async_Writers, + Constant_After_Elaboration, Effective_Reads, Effective_Writes, + Extensions_Visible, Ghost, No_Caching, Volatile_Function): Only + static Boolean expressions are allowed. + * gnat_rm.texi: Regenerate. + +2022-05-09 Piotr Trojanek <trojanek@adacore.com> + + * exp_prag.adb (Expand_Pragma_Loop_Variant, + Expand_Pragma_Subprogram_Variant): Adapt call via + Process_Variant to Make_Variant_Comparison. + * exp_util.adb (Make_Variant_Comparison): Compare Big_Integer + expressions with a function call and not an operator. + * exp_util.ads (Make_Variant_Comparison): Add type parameter, + which is needed because the Curr_Val and Old_Val expressions + might not be yet decorated. + * rtsfind.ads: (RTU_Id): Add support for Big_Integers and + Big_Integers_Ghost. + (RE_Id): Add support for Big_Integer and its ghost variant. + (RE_Unit_Table): Add mapping from Big_Integer to Big_Integers; + same for the ghost variants. + * rtsfind.adb (Get_Unit_Name): Add support for Big_Numbers. + * sem_prag.adb (Analyze_Pragma): Allow Big_Integer in pragma + Loop_Variant. + (Analyze_Variant): Allow Big_Integer in pragma + Subprogram_Variant. + +2022-05-09 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch3.ads, sem_ch3.adb (Preanalyze_Assert_Expression): Add a + variant that doesn't force preanalysis to yield a specific type. + +2022-05-09 Eric Botcazou <ebotcazou@adacore.com> + + * einfo.ads (Access Kinds): Reorder and beef up. + * sem.adb (Analyze): Call Analyze_Comparison_Equality_Op for all + comparison and equality operators. + * sem_ch4.ads (Analyze_Comparison_Op): Delete. + (Analyze_Equality_Op): Likewise. + (Analyze_Comparison_Equality_Op): Declare. + (Ambiguous_Operands): Likewise. + * sem_ch4.adb (Ambiguous_Operands): Remove declaration. + (Defined_In_Scope): Delete. + (Find_Comparison_Types): Merge into... + (Find_Equality_Types): Merge into... + (Find_Comparison_Equality_Types): ...this. Make fully symmetrical. + (Analyze_Arithmetic_Op): Minor consistency tweaks. + (Analyze_Comparison_Op): Merge into... + (Analyze_Equality_Op): Merge into... + (Analyze_Comparison_Equality_Op): ...this. Make fully symmetrical. + (Analyze_Logical_Op): Minor consistency tweaks. + (Analyze_Membership_Op): Make fully symmetrical. + (Analyze_One_Call): Minor comment tweak. + (Analyze_Operator_Call): Call Find_Comparison_Equality_Types. + (Analyze_User_Defined_Binary_Op): Make fully symmetrical. + (Check_Arithmetic_Pair.Specific_Type): Delete. + (Diagnose_Call): Add special handling for "+" operator. + (Operator_Check): Call Analyze_Comparison_Equality_Op. + * sem_ch8.adb (Has_Implicit_Operator): Add Is_Type guard for boolean + operators, use Valid_Comparison_Arg and Valid_Equality_Arg for resp. + comparison and equality operators. + * sem_res.adb (Check_For_Visible_Operator): Call Is_Visible_Operator + (Make_Call_Into_Operator): Use Preserve_Comes_From_Source. + (Resolve_Actuals): Deal specifically with Any_Type actuals for user- + defined comparison and equality operators. + (Resolve_Call): Minor tweaks. + (Resolve_Comparison_Op): Tidy up and give error for ambiguity. + (Resolve_Equality_Op): Likewise, as well as other errors. + (Rewrite_Renamed_Operator): Simplify. + * sem_type.ads (Is_Invisible_Operator): Delete. + (Is_Visible_Operator): Declare. + (Has_Compatible_Type): Remove For_Comparison parameter. + (Specific_Type): Declare. + (Valid_Equality_Arg): Likewise. + * sem_type.adb (Specific_Type): Remove declaration. + (Add_One_Interp): Call Is_Visible_Operator for the visibility test. + (Remove_Conversions): Rename into... + (Remove_Conversions_And_Abstract_Operations): ...this. Do not apply + numeric-type treatment to Any_Type. Expand the special handling for + abstract interpretations to second operand. Remove obsolete code. + (Disambiguate): Adjust to above renaming. Tweak to hidden case and + call Remove_Conversions_And_Abstract_Operations for operators too. + (Entity_Matches_Spec): Minor tweak. + (Find_Unique_Type): Simplify and deal with user-defined literals. + (Has_Compatible_Type): Remove For_Comparison parameter and adjust. + Call the Is_User_Defined_Literal predicate and remove call to + the Is_Invisible_Operator predicate. + (Is_Invisible_Operator): Delete. + (Is_Visible_Operator): New function. + (Operator_Matches_Spec): Use Valid_Equality_Arg predicate. + (Specific_Type): Tidy up, make fully symmetrical and deal with + private views the same way as Covers. + (Valid_Comparison_Arg): Return true for Any_Composite/Any_String. + (Valid_Equality_Arg): New function. + * sem_util.ads (Is_User_Defined_Literal): Declare. + * sem_util.adb (Is_User_Defined_Literal): New function. + +2022-05-09 Bob Duff <duff@adacore.com> + + * lib-xref.adb, sem_util.adb: Change wording of warning messages + to use "aspect". + * sem_prag.adb: Use Fix_Error to change wording of warnings. + * doc/gnat_rm/implementation_defined_pragmas.rst: Minor: fix + cut&paste error. + * gnat_rm.texi: Regenerate. + +2022-05-09 Doug Rupp <rupp@adacore.com> + + * init.c [vxworks] (CLEAR_EXCEPTION_COUNT): New macro. + (__gnat_clear_exception_count): Remove. + (__gnat_map_signal): Call CLEAR_EXCEPTION_COUNT(). + +2022-05-09 Fedor Rybin <frybin@adacore.com> + + * doc/gnat_ugn/gnat_utility_programs.rst: Remove gnattest + section. + +2022-05-09 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Analyze_Attribute): Remove calls to Analyze for + attributes Identity, Priority, Ref, Restriction_Set, To_Address + and for tasking-related attributes Callable, Terminated and + Storage_Size. + +2022-05-09 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Analyze_Attribute): Don't call Set_Etype for + Bit_Order attribute. + +2022-05-09 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch5.adb (Update_Choice_Index): Simplify condition. + * sem_ch8.adb (Attribute_Renaming): Likewise. + +2022-05-09 Dmitriy Anisimkov <anisimko@adacore.com> + + * adaint.c (__gnat_kill): Remove close parameter. + (__gnat_killprocesstree): Do not provide close parameter on call + to __gnat_kill. + * libgnat/g-expect.adb (Kill): Remove Close parameter. + (Close): Do not provide Close parameter on call to Kill. + (Send_Signal): Do not provide Close parameter on call to Kill. + * libgnat/s-os_lib.adb (Kill): Do not provide close parameter on + call to __gnat_kill. + +2022-05-09 Dmitriy Anisimkov <anisimko@adacore.com> + + * libgnat/g-expect.adb (Close): Call Kill before Close_Input. + +2022-04-29 Martin Liska <mliska@suse.cz> + + * gnatvsn.ads: Bump Library_Version to 13. + +2022-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * tracebak.c: Add support for ARM RTEMS. Add support for RTEMS to PPC + ELF. Add support for RTEMS to SPARC. Merge aarch64 support of Linux + and RTEMS. + +2022-04-27 Pierre-Marie de Rodat <derodat@adacore.com> + + PR ada/104027 + * gnat1drv.adb: Remove the goto End_Of_Program. + +2022-03-24 Pascal Obry <obry@adacore.com> + + PR ada/104767 + * libgnat/g-sercom__mingw.adb (Close): Reset port handle to -1. + * libgnat/g-sercom__linux.adb (Close): Likewise. + +2022-03-10 Richard Biener <rguenther@suse.de> + + PR ada/104861 + * gcc-interface/Makefile.in (target_noncanonical): Substitute. + (OSCONS_CPP): Pass target_noncanonical as TARGET. + +2022-02-13 Maciej W. Rozycki <macro@orcam.me.uk> + + PR ada/98724 + PR ada/97504 + * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <alpha*-*-linux*>: Use + wraplf version of Aux_Long_Long_Float. + +2022-01-31 Pierre-Marie de Rodat <derodat@adacore.com> + + * doc/share/conf.py: Remove spurious call to ".decode()". + +2022-01-31 Arnaud Charlet <charlet@adacore.com> + + PR ada/104027 + * gnat1drv.adb (Gnat1drv): Only call Exit_Program when not + generating code, otherwise instead go to End_Of_Program. + +2022-01-28 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/104258 + * exp_ch4.adb (Narrow_Large_Operation): Also copy the entity, if + any, when rewriting the operator node. + +2022-01-19 H.J. Lu <hjl.tools@gmail.com> + + PR ada/103538 + * gcc-interface/Makefile.in (target_cpu): Set to x32 for + x86_64-linux-gnux32. + +2022-01-19 H.J. Lu <hjl.tools@gmail.com> + + PR ada/103538 + * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Add + $(TRASYM_DWARF_UNIX_PAIRS), + s-tsmona.adb<libgnat/s-tsmona__linux.adb, + $(GNATRTL_128BIT_PAIRS). + (EXTRA_GNATRTL_NONTASKING_OBJS): Add $(TRASYM_DWARF_UNIX_OBJS) + and $(GNATRTL_128BIT_OBJS). + +2022-01-18 Martin Liska <mliska@suse.cz> + + * adaint.c: Revert filename changes in comments. + * ctrl_c.c (dummy_handler): Likewise. + * gsocket.h: Likewise. + * init.c (__gnat_error_handler): Likewise. + * libgnarl/s-intman.ads: Likewise. + * libgnarl/s-osinte__android.ads: Likewise. + * libgnarl/s-osinte__darwin.ads: Likewise. + * libgnarl/s-osinte__hpux.ads: Likewise. + * libgnarl/s-osinte__linux.ads: Likewise. + * libgnarl/s-osinte__qnx.ads: Likewise. + * libgnarl/s-taskin.ads: Likewise. + * rtfinal.c: Likewise. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * Make-generated.in: Revert renaming changes. + * Makefile.rtl: Likewise. + * adadecode.cc: Moved to... + * adadecode.c: ...here. + * affinity.cc: Moved to... + * affinity.c: ...here. + * argv-lynxos178-raven-cert.cc: Moved to... + * argv-lynxos178-raven-cert.c: ...here. + * argv.cc: Moved to... + * argv.c: ...here. + * aux-io.cc: Moved to... + * aux-io.c: ...here. + * cio.cc: Moved to... + * cio.c: ...here. + * cstreams.cc: Moved to... + * cstreams.c: ...here. + * env.cc: Moved to... + * env.c: ...here. + * exit.cc: Moved to... + * exit.c: ...here. + * expect.cc: Moved to... + * expect.c: ...here. + * final.cc: Moved to... + * final.c: ...here. + * gcc-interface/Makefile.in: + * init.cc: Moved to... + * init.c: ...here. + * initialize.cc: Moved to... + * initialize.c: ...here. + * libgnarl/thread.cc: Moved to... + * libgnarl/thread.c: ...here. + * link.cc: Moved to... + * link.c: ...here. + * locales.cc: Moved to... + * locales.c: ...here. + * mkdir.cc: Moved to... + * mkdir.c: ...here. + * raise.cc: Moved to... + * raise.c: ...here. + * rtfinal.cc: Moved to... + * rtfinal.c: ...here. + * rtinit.cc: Moved to... + * rtinit.c: ...here. + * s-oscons-tmplt.c (CND): Revert renaming changes. + * seh_init.cc: Moved to... + * seh_init.c: ...here. + * sigtramp-armdroid.cc: Moved to... + * sigtramp-armdroid.c: ...here. + * sigtramp-ios.cc: Moved to... + * sigtramp-ios.c: ...here. + * sigtramp-qnx.cc: Moved to... + * sigtramp-qnx.c: ...here. + * sigtramp-vxworks.cc: Moved to... + * sigtramp-vxworks.c: ...here. + * socket.cc: Moved to... + * socket.c: ...here. + * tracebak.cc: Moved to... + * tracebak.c: ...here. + * version.cc: Moved to... + * version.c: ...here. + * vx_stack_info.cc: Moved to... + * vx_stack_info.c: ...here. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * Makefile.rtl: Rename .c names to .cc. + * gcc-interface/Make-lang.in: Likewise. + * gcc-interface/Makefile.in: Likewise. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * Make-generated.in: Rename .c names to .cc. + * adaint.c: Likewise. + * ctrl_c.c (dummy_handler): Likewise. + * gcc-interface/Makefile.in: Likewise. + * gcc-interface/config-lang.in: Likewise. + * gcc-interface/decl.cc (concat_name): Likewise. + (init_gnat_decl): Likewise. + * gcc-interface/gigi.h (concat_name): Likewise. + (init_gnat_utils): Likewise. + (build_call_raise_range): Likewise. + (gnat_mark_addressable): Likewise. + (gnat_protect_expr): Likewise. + (gnat_rewrite_reference): Likewise. + * gcc-interface/lang-specs.h (ADA_DUMPS_OPTIONS): Likewise. + * gcc-interface/utils.cc (GTY): Likewise. + (add_deferred_type_context): Likewise. + (init_gnat_utils): Likewise. + * gcc-interface/utils2.cc (gnat_stable_expr_p): Likewise. + (gnat_protect_expr): Likewise. + (gnat_stabilize_reference_1): Likewise. + (gnat_rewrite_reference): Likewise. + * gsocket.h: Likewise. + * init.cc (__gnat_error_handler): Likewise. + * libgnarl/s-intman.ads: Likewise. + * libgnarl/s-osinte__android.ads: Likewise. + * libgnarl/s-osinte__darwin.ads: Likewise. + * libgnarl/s-osinte__hpux.ads: Likewise. + * libgnarl/s-osinte__linux.ads: Likewise. + * libgnarl/s-osinte__qnx.ads: Likewise. + * libgnarl/s-taskin.ads: Likewise. + * rtfinal.cc: Likewise. + * s-oscons-tmplt.c (CND): Likewise. + * set_targ.ads: Likewise. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * adadecode.c: Moved to... + * adadecode.cc: ...here. + * affinity.c: Moved to... + * affinity.cc: ...here. + * argv-lynxos178-raven-cert.c: Moved to... + * argv-lynxos178-raven-cert.cc: ...here. + * argv.c: Moved to... + * argv.cc: ...here. + * aux-io.c: Moved to... + * aux-io.cc: ...here. + * cio.c: Moved to... + * cio.cc: ...here. + * cstreams.c: Moved to... + * cstreams.cc: ...here. + * env.c: Moved to... + * env.cc: ...here. + * exit.c: Moved to... + * exit.cc: ...here. + * expect.c: Moved to... + * expect.cc: ...here. + * final.c: Moved to... + * final.cc: ...here. + * gcc-interface/cuintp.c: Moved to... + * gcc-interface/cuintp.cc: ...here. + * gcc-interface/decl.c: Moved to... + * gcc-interface/decl.cc: ...here. + * gcc-interface/misc.c: Moved to... + * gcc-interface/misc.cc: ...here. + * gcc-interface/targtyps.c: Moved to... + * gcc-interface/targtyps.cc: ...here. + * gcc-interface/trans.c: Moved to... + * gcc-interface/trans.cc: ...here. + * gcc-interface/utils.c: Moved to... + * gcc-interface/utils.cc: ...here. + * gcc-interface/utils2.c: Moved to... + * gcc-interface/utils2.cc: ...here. + * init.c: Moved to... + * init.cc: ...here. + * initialize.c: Moved to... + * initialize.cc: ...here. + * libgnarl/thread.c: Moved to... + * libgnarl/thread.cc: ...here. + * link.c: Moved to... + * link.cc: ...here. + * locales.c: Moved to... + * locales.cc: ...here. + * mkdir.c: Moved to... + * mkdir.cc: ...here. + * raise.c: Moved to... + * raise.cc: ...here. + * rtfinal.c: Moved to... + * rtfinal.cc: ...here. + * rtinit.c: Moved to... + * rtinit.cc: ...here. + * seh_init.c: Moved to... + * seh_init.cc: ...here. + * sigtramp-armdroid.c: Moved to... + * sigtramp-armdroid.cc: ...here. + * sigtramp-ios.c: Moved to... + * sigtramp-ios.cc: ...here. + * sigtramp-qnx.c: Moved to... + * sigtramp-qnx.cc: ...here. + * sigtramp-vxworks.c: Moved to... + * sigtramp-vxworks.cc: ...here. + * socket.c: Moved to... + * socket.cc: ...here. + * tracebak.c: Moved to... + * tracebak.cc: ...here. + * version.c: Moved to... + * version.cc: ...here. + * vx_stack_info.c: Moved to... + * vx_stack_info.cc: ...here. + +2022-01-14 Andrew Pinski <apinski@marvell.com> + + PR ada/104027 + * gnat1drv.adb (Gnat1drv): After Back_End.Gen_Or_Update_Object_File + goto End_Of_Program. + +2022-01-11 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Relax a + little the assertion on designated types of pointer types. + +2022-01-11 Justin Squirek <squirek@adacore.com> + + * sem_ch8.adb (Nvis_Messages): Add generic instance name to + error message. + +2022-01-11 Etienne Servais <servais@adacore.com> + + * par-ch6.adb (Scan_Body_Or_Expression_Function): Accept left + bracket as token to open an expression function. + +2022-01-11 Justin Squirek <squirek@adacore.com> + + * sem_warn.adb (Check_References): Add call to Has_Task instead + of checking component type. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * exp_util.ads (Insert_Declaration): Remove spec. + * exp_util.adb (Insert_Declaration): Remove body. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch4.adb (Expand_N_Expression_With_Actions): Avoid + redundant check. + * exp_ch5.adb (Expand_N_If_Statement): Likewise. + * exp_ch7.adb (Process_Declarations): Likewise. + * sem_elab.adb (Freeze_Node_Location): Likewise. + * exp_util.adb (Insert_Actions): Likewise. + (Is_OK_PF_Pragma): Likewise. + (Requires_Cleanup_Actions): Remove early exit; ordinary + processing path will similarly do nothing. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * snames.ads-tmpl: Restore Name_Rpc. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch4.adb (Analyze_Allocator): Move DECLARE block inside IF + statement; refill code and comments. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch4.adb (Analyze_Allocator): Fix comment. + * sem_eval.ads (Compile-Time Known Values): Likewise. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * snames.ads-tmpl: Remove unreferenced names. + +2022-01-11 Yannick Moy <moy@adacore.com> + + * libgnat/s-aridou.adb (Double_Divide): Adjust proof of lemma + Prove_Signs, call lemma for commutation of Big and + multiplication. + (Multiply_With_Ovflo_Check): Adjust postcondition of + Prove_Pos_Int. + (Scaled_Divide): Explicit commutation in the proof of lemma + Prove_Multiplication, add new lemma Prove_Shift_Progress for + congruence property that is not proved in a larger context, add + assertions at the end of the loop to state loop invariant + properties. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Remove spec. + * sem_eval.adb (Compile_Time_Known_Value_Or_Aggr): Remove body. + +2022-01-11 Yannick Moy <moy@adacore.com> + + * libgnat/a-strfix.adb (Insert, Overwrite): Add assertions. + +2022-01-11 Arnaud Charlet <charlet@adacore.com> + + PR ada/79724 + * osint.adb (Program_Name): Fix handling of suffixes. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch4.adb (Size_In_Storage_Elements): Remove unnecessary + DECLARE block; refill code and comments. + +2022-01-11 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch3.adb (Analyze_Subtype_Declaration): In the case of an array + copy Packed_Array_Impl_Type manually here. + (Copy_Array_Subtype_Attributes): Do not copy it here. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch7.adb (Set_Block_Elab_Proc, Unnest_Block, Unnest_Loop, + Unnest_Statement_List): Simplify with Make_Temporary. + * exp_put_image.adb (Build_Image_Call): Likewise. + * inline.adb (Generate_Subprogram_Body): Likewise. + * sem_ch13.adb (Build_Predicate_Functions): Likewise. + * sem_util.adb (New_Copy_Separate_List): Likewise. + +2022-01-11 Etienne Servais <servais@adacore.com> + + * sem_ch3.adb (Check_Dynamic_Object): Swap check order. + +2022-01-11 Yannick Moy <moy@adacore.com> + + * libgnat/s-casuti.adb: Add ghost code. + * libgnat/s-casuti.ads: Add contracts. + +2022-01-11 Claire Dross <dross@adacore.com> + + * libgnat/a-tiinau.ads: Use a procedure for the Scan parameter + instead of a function with side-effects. + * libgnat/a-tiinau.adb: Idem. + * libgnat/a-wtinau.ads: Idem. + * libgnat/a-wtinau.adb: Idem. + * libgnat/a-ztinau.ads: Idem. + * libgnat/a-ztinau.adb: Idem. + * libgnat/s-valint.ads: Change the function with side-effects + Scan_Integer into a procedure + * libgnat/s-vallli.ads: Idem. + * libgnat/s-valllli.ads: Idem. + * libgnat/s-vallllu.ads: Add SPARK_Mode and pragma to ignore + assertions in instance. + * libgnat/s-valllu.ads: Idem. + * libgnat/s-valuns.ads: Idem. + * libgnat/s-valuei.ads: Use a procedure for the + Scan_Raw_Unsigned parameter instead of a function with + side-effects and change the function with side-effects + Scan_Integer into a procedure. + * libgnat/s-valuei.adb: Idem. + * libgnat/s-valuti.ads: Introduce a ghost function that scans an + exponent and complete the postcondition of Scan_Exponent to also + describe the value of Ptr after the call. Fix the postcondition + of Scan_Underscore. Simplify the definition of + Scan_Natural_Ghost. + * libgnat/s-valuti.adb: Idem. + * libgnat/s-valboo.ads, libgnat/s-valboo.adb: Update calls to + First_Non_Space_Ghost. + * libgnat/s-valueu.ads: Add functional contracts. + * libgnat/s-valueu.adb: Idem. + +2022-01-11 Yannick Moy <moy@adacore.com> + + * libgnat/s-expmod.adb (Exp_Modular): Add assertions. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * errout.adb (Error_Msg_CRT): Build message with string + concatenation; it is slightly repetitive but much easier to + read. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch11.adb (Expand_N_Exception_Declaration): Remove explicit + initialization of the exceptF object. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * par-ch3.adb (P_Array_Type_Definition): Use + Error_Msg_GNAT_Extension. + +2022-01-11 Gary Dismukes <dismukes@adacore.com> + + * sem_disp.adb (Check_Controlling_Type): Add test for the case + where Subp is a subprogram associated with a protected + subprogram and return Empty, unless Tagged_Type is the + corresponding record type of the protected type. + +2022-01-11 Yannick Moy <moy@adacore.com> + + * libgnat/s-veboop.adb: Add ghost code for proof. + * libgnat/s-veboop.ads: Add specification. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.adb, exp_attr.adb, exp_ch3.adb, exp_ch7.adb, + exp_dist.adb, exp_util.adb, freeze.adb, frontend.adb, + inline.adb, itypes.adb, lib-load.adb, lib-xref.adb, + libgnat/a-cfhase.adb, libgnat/a-cforse.adb, + libgnat/a-chtgbo.adb, libgnat/a-crdlli.adb, + libgnat/a-except.adb, libgnat/a-strfix.adb, + libgnat/a-textio.adb, libgnat/a-tienau.adb, + libgnat/a-tigeau.adb, libgnat/a-witeio.adb, + libgnat/a-wtenau.adb, libgnat/a-wtgeau.adb, + libgnat/a-ztenau.adb, libgnat/a-ztexio.adb, + libgnat/a-ztgeau.adb, libgnat/g-comlin.adb, + libgnat/g-debpoo.adb, libgnat/g-expect.adb, + libgnat/s-fileio.adb, libgnat/s-memory.adb, libgnat/s-mmap.adb, + libgnat/s-objrea.adb, libgnat/s-pehage.adb, + libgnat/s-regpat.adb, libgnat/s-shasto.adb, + libgnat/s-valued.adb, libgnat/s-valuef.adb, par-ch11.adb, + par-ch4.adb, par-ch6.adb, par-ch9.adb, par_sco.adb, + repinfo-input.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, + sem_ch13.adb, sem_ch4.adb, sem_eval.adb, sem_prag.adb, + sem_res.adb, sem_util.adb, sinput.adb, switch-c.adb: Fix style. + +2022-01-11 Arnaud Charlet <charlet@adacore.com> + + * exp_ch9.adb, gen_il-types.ads, make.adb, par-ch12.adb, + sem_ch13.adb: Use membership tests. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * erroutc.ads, erroutc.adb (Is_Runtime_Raise): Global flag to + connect status of initial messages and their continuation; we + already have several flags like this. + (Error_Msg_Object): Add field Warn_Runtime_Raise to connect + error reporting (when problematic code is found) and removal + (when problematic code is determined to be dead). + * errout.adb (Error_Msg_Internal): Handle new field when + recording a continuation message; propagate status from + continuation to the preceding messages. + (To_Be_Removed): For dead code remove both simple warnings and + warnings about constraint errors that have been escalated to + hard errors. + (Set_Msg_Text): Recognize warnings about constraint errors that + are escalated to hard errors. + * errutil.adb (Error_Msg): Handle added field when recording a + new message. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * errout.adb (Error_Msg_Internal): Propagate warnings-as-error + flag from continuation message to its preceding messages. + +2022-01-11 Arnaud Charlet <charlet@adacore.com> + + * gnatvsn.ads (Current_Year): Update copyright notice, bump to + 2022. + * ada_get_targ.adb: Update copyright notice. + * 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. + * backend_utils.adb: Likewise. + * backend_utils.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. + * 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. + * cstand.adb: Likewise. + * cstand.ads: Likewise. + * cstreams.c: Likewise. + * ctrl_c.c: Likewise. + * debug.ads: Likewise. + * debug_a.adb: Likewise. + * debug_a.ads: Likewise. + * einfo-utils.adb: Likewise. + * einfo-utils.ads: Likewise. + * einfo.adb: Likewise. + * einfo.ads: Likewise. + * elists.adb: Likewise. + * elists.ads: Likewise. + * elists.h: Likewise. + * env.c: Likewise. + * env.h: Likewise. + * err_vars.ads: Likewise. + * errno.c: Likewise. + * errout.adb: Likewise. + * errout.ads: Likewise. + * erroutc.adb: Likewise. + * erroutc.ads: Likewise. + * errutil.adb: Likewise. + * errutil.ads: Likewise. + * eval_fat.adb: Likewise. + * eval_fat.ads: Likewise. + * exit.c: Likewise. + * exp_aggr.adb: Likewise. + * exp_aggr.ads: Likewise. + * exp_atag.adb: Likewise. + * exp_atag.ads: Likewise. + * exp_attr.adb: Likewise. + * exp_attr.ads: Likewise. + * exp_cg.adb: Likewise. + * exp_cg.ads: Likewise. + * exp_ch10.ads: Likewise. + * exp_ch11.adb: Likewise. + * exp_ch11.ads: Likewise. + * exp_ch12.adb: Likewise. + * exp_ch12.ads: Likewise. + * exp_ch13.adb: Likewise. + * exp_ch13.ads: Likewise. + * exp_ch2.adb: Likewise. + * exp_ch2.ads: Likewise. + * exp_ch3.adb: Likewise. + * exp_ch3.ads: Likewise. + * exp_ch4.adb: Likewise. + * exp_ch4.ads: Likewise. + * exp_ch5.adb: Likewise. + * exp_ch5.ads: Likewise. + * exp_ch6.adb: Likewise. + * exp_ch6.ads: Likewise. + * exp_ch7.adb: Likewise. + * exp_ch7.ads: Likewise. + * exp_ch8.adb: Likewise. + * exp_ch8.ads: Likewise. + * exp_ch9.adb: Likewise. + * exp_ch9.ads: Likewise. + * exp_code.adb: Likewise. + * exp_code.ads: Likewise. + * exp_dbug.adb: Likewise. + * exp_dbug.ads: Likewise. + * exp_disp.adb: Likewise. + * exp_disp.ads: Likewise. + * exp_dist.adb: Likewise. + * exp_dist.ads: Likewise. + * exp_fixd.adb: Likewise. + * exp_fixd.ads: Likewise. + * exp_imgv.adb: Likewise. + * exp_imgv.ads: Likewise. + * exp_intr.adb: Likewise. + * exp_intr.ads: Likewise. + * exp_pakd.adb: Likewise. + * exp_pakd.ads: Likewise. + * exp_prag.adb: Likewise. + * exp_prag.ads: Likewise. + * exp_put_image.adb: Likewise. + * exp_put_image.ads: Likewise. + * exp_sel.adb: Likewise. + * exp_sel.ads: Likewise. + * exp_smem.adb: Likewise. + * exp_smem.ads: Likewise. + * exp_spark.adb: Likewise. + * exp_spark.ads: Likewise. + * exp_strm.adb: Likewise. + * exp_strm.ads: Likewise. + * exp_tss.adb: Likewise. + * exp_tss.ads: Likewise. + * exp_unst.adb: Likewise. + * exp_unst.ads: Likewise. + * exp_util.adb: Likewise. + * exp_util.ads: Likewise. + * expander.adb: Likewise. + * expander.ads: Likewise. + * expect.c: Likewise. + * fe.h: Likewise. + * final.c: Likewise. + * fmap.adb: Likewise. + * fmap.ads: Likewise. + * fname-sf.adb: Likewise. + * fname-sf.ads: Likewise. + * fname-uf.adb: Likewise. + * fname-uf.ads: Likewise. + * fname.adb: Likewise. + * fname.ads: Likewise. + * freeze.adb: Likewise. + * freeze.ads: Likewise. + * frontend.adb: Likewise. + * frontend.ads: Likewise. + * gen_il-fields.ads: Likewise. + * gen_il-gen-gen_entities.adb: Likewise. + * gen_il-gen-gen_nodes.adb: Likewise. + * gen_il-gen.adb: Likewise. + * gen_il-gen.ads: Likewise. + * gen_il-internals.adb: Likewise. + * gen_il-internals.ads: Likewise. + * gen_il-main.adb: Likewise. + * gen_il-types.ads: Likewise. + * gen_il.adb: Likewise. + * gen_il.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. + * gnat_cuda.adb: Likewise. + * gnat_cuda.ads: Likewise. + * gnatbind.adb: Likewise. + * gnatbind.ads: Likewise. + * gnatchop.adb: Likewise. + * gnatclean.adb: Likewise. + * gnatcmd.adb: Likewise. + * gnatcmd.ads: Likewise. + * gnatdll.adb: Likewise. + * gnatfind.adb: Likewise. + * gnatkr.adb: Likewise. + * gnatkr.ads: Likewise. + * gnatlink.adb: Likewise. + * gnatlink.ads: Likewise. + * gnatls.adb: Likewise. + * gnatls.ads: Likewise. + * gnatmake.adb: Likewise. + * gnatmake.ads: Likewise. + * gnatname.adb: Likewise. + * gnatname.ads: Likewise. + * gnatprep.adb: Likewise. + * gnatprep.ads: Likewise. + * gnatvsn.adb: Likewise. + * gnatxref.adb: Likewise. + * gprep.adb: Likewise. + * gprep.ads: Likewise. + * gsocket.h: Likewise. + * hostparm.ads: Likewise. + * impunit.adb: Likewise. + * impunit.ads: Likewise. + * indepsw-aix.adb: Likewise. + * indepsw-darwin.adb: Likewise. + * indepsw-gnu.adb: Likewise. + * indepsw.adb: Likewise. + * indepsw.ads: Likewise. + * init.c: Likewise. + * initialize.c: Likewise. + * inline.adb: Likewise. + * inline.ads: Likewise. + * itypes.adb: Likewise. + * itypes.ads: Likewise. + * krunch.adb: Likewise. + * krunch.ads: Likewise. + * layout.adb: Likewise. + * layout.ads: Likewise. + * lib-list.adb: Likewise. + * lib-load.adb: Likewise. + * lib-load.ads: Likewise. + * lib-sort.adb: Likewise. + * lib-util.adb: Likewise. + * lib-util.ads: Likewise. + * lib-writ.adb: Likewise. + * lib-writ.ads: Likewise. + * lib-xref-spark_specific.adb: Likewise. + * lib-xref.adb: Likewise. + * lib-xref.ads: Likewise. + * lib.adb: Likewise. + * lib.ads: Likewise. + * libgnarl/a-astaco.adb: Likewise. + * libgnarl/a-dispat.adb: Likewise. + * libgnarl/a-dynpri.adb: Likewise. + * libgnarl/a-etgrbu.ads: Likewise. + * libgnarl/a-exetim__darwin.adb: Likewise. + * libgnarl/a-exetim__default.ads: Likewise. + * libgnarl/a-exetim__mingw.adb: Likewise. + * libgnarl/a-exetim__mingw.ads: Likewise. + * libgnarl/a-exetim__posix.adb: Likewise. + * libgnarl/a-interr.adb: Likewise. + * libgnarl/a-interr.ads: Likewise. + * libgnarl/a-intnam.ads: Likewise. + * libgnarl/a-intnam__aix.ads: Likewise. + * libgnarl/a-intnam__darwin.ads: Likewise. + * libgnarl/a-intnam__dragonfly.ads: Likewise. + * libgnarl/a-intnam__dummy.ads: Likewise. + * libgnarl/a-intnam__freebsd.ads: Likewise. + * libgnarl/a-intnam__hpux.ads: Likewise. + * libgnarl/a-intnam__linux.ads: Likewise. + * libgnarl/a-intnam__lynxos.ads: Likewise. + * libgnarl/a-intnam__mingw.ads: Likewise. + * libgnarl/a-intnam__qnx.ads: Likewise. + * libgnarl/a-intnam__rtems.ads: Likewise. + * libgnarl/a-intnam__solaris.ads: Likewise. + * libgnarl/a-intnam__vxworks.ads: Likewise. + * libgnarl/a-reatim.adb: Likewise. + * libgnarl/a-reatim.ads: Likewise. + * libgnarl/a-retide.adb: Likewise. + * libgnarl/a-retide.ads: Likewise. + * libgnarl/a-rttiev.adb: Likewise. + * libgnarl/a-rttiev.ads: Likewise. + * libgnarl/a-synbar.adb: Likewise. + * libgnarl/a-synbar.ads: Likewise. + * libgnarl/a-synbar__posix.adb: Likewise. + * libgnarl/a-synbar__posix.ads: Likewise. + * libgnarl/a-sytaco.adb: Likewise. + * libgnarl/a-sytaco.ads: Likewise. + * libgnarl/a-tasatt.adb: Likewise. + * libgnarl/a-tasatt.ads: Likewise. + * libgnarl/a-taside.adb: Likewise. + * libgnarl/a-taside.ads: Likewise. + * libgnarl/a-tasini.adb: Likewise. + * libgnarl/a-tasini.ads: Likewise. + * libgnarl/a-taster.adb: Likewise. + * libgnarl/g-boubuf.adb: Likewise. + * libgnarl/g-boubuf.ads: Likewise. + * libgnarl/g-boumai.ads: Likewise. + * libgnarl/g-semaph.adb: Likewise. + * libgnarl/g-semaph.ads: Likewise. + * libgnarl/g-signal.adb: Likewise. + * libgnarl/g-signal.ads: Likewise. + * libgnarl/g-tastus.ads: Likewise. + * libgnarl/g-thread.adb: Likewise. + * libgnarl/g-thread.ads: Likewise. + * libgnarl/i-vxinco.adb: Likewise. + * libgnarl/i-vxinco.ads: Likewise. + * libgnarl/s-inmaop.ads: Likewise. + * libgnarl/s-inmaop__dummy.adb: Likewise. + * libgnarl/s-inmaop__hwint.adb: Likewise. + * libgnarl/s-inmaop__posix.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__rtems.adb: Likewise. + * libgnarl/s-intman__rtems.ads: 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-putaim.adb: Likewise. + * libgnarl/s-putaim.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__rtems.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__rtp-smp.adb: Likewise. + * libgnarl/s-vxwext__rtp.adb: Likewise. + * libgnarl/s-vxwext__rtp.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-costso.adb: Likewise. + * libgnat/a-costso.ads: Likewise. + * libgnat/a-crbltr.ads: Likewise. + * libgnat/a-crbtgk.adb: Likewise. + * libgnat/a-crbtgk.ads: Likewise. + * libgnat/a-crbtgo.adb: Likewise. + * libgnat/a-crbtgo.ads: Likewise. + * libgnat/a-crdlli.adb: Likewise. + * libgnat/a-crdlli.ads: Likewise. + * libgnat/a-csquin.ads: Likewise. + * libgnat/a-cuprqu.adb: Likewise. + * libgnat/a-cuprqu.ads: Likewise. + * libgnat/a-cusyqu.adb: Likewise. + * libgnat/a-cusyqu.ads: Likewise. + * libgnat/a-cwila1.ads: Likewise. + * libgnat/a-cwila9.ads: Likewise. + * libgnat/a-decima.adb: Likewise. + * libgnat/a-decima.ads: Likewise. + * libgnat/a-decima__128.ads: Likewise. + * libgnat/a-dhfina.adb: Likewise. + * libgnat/a-dhfina.ads: Likewise. + * libgnat/a-diocst.adb: Likewise. + * libgnat/a-diocst.ads: Likewise. + * libgnat/a-direct.adb: Likewise. + * libgnat/a-direct.ads: Likewise. + * libgnat/a-direio.adb: Likewise. + * libgnat/a-direio.ads: Likewise. + * libgnat/a-dirval.adb: Likewise. + * libgnat/a-dirval.ads: Likewise. + * libgnat/a-dirval__mingw.adb: Likewise. + * libgnat/a-einuoc.adb: Likewise. + * libgnat/a-einuoc.ads: Likewise. + * libgnat/a-elchha.adb: Likewise. + * libgnat/a-elchha.ads: Likewise. + * libgnat/a-envvar.adb: Likewise. + * libgnat/a-excach.adb: Likewise. + * libgnat/a-except.adb: Likewise. + * libgnat/a-except.ads: Likewise. + * libgnat/a-exctra.adb: Likewise. + * libgnat/a-exctra.ads: Likewise. + * libgnat/a-exexda.adb: Likewise. + * libgnat/a-exexpr.adb: Likewise. + * libgnat/a-exextr.adb: Likewise. + * libgnat/a-exstat.adb: Likewise. + * libgnat/a-finali.adb: Likewise. + * libgnat/a-finali.ads: Likewise. + * libgnat/a-locale.adb: Likewise. + * libgnat/a-locale.ads: Likewise. + * libgnat/a-nagefl.ads: Likewise. + * libgnat/a-naliop.ads: Likewise. + * libgnat/a-naliop__nolibm.ads: Likewise. + * libgnat/a-nallfl.ads: Likewise. + * libgnat/a-nallfl__wraplf.ads: Likewise. + * libgnat/a-nalofl.ads: Likewise. + * libgnat/a-nashfl.ads: Likewise. + * libgnat/a-nashfl__wraplf.ads: Likewise. + * libgnat/a-nbnbig.adb: Likewise. + * libgnat/a-nbnbin.adb: Likewise. + * libgnat/a-nbnbin__gmp.adb: Likewise. + * libgnat/a-nbnbre.adb: Likewise. + * libgnat/a-ngcefu.adb: Likewise. + * libgnat/a-ngcoar.adb: Likewise. + * libgnat/a-ngcoty.adb: Likewise. + * libgnat/a-ngcoty.ads: Likewise. + * libgnat/a-ngelfu.adb: Likewise. + * libgnat/a-ngelfu.ads: Likewise. + * libgnat/a-ngrear.adb: Likewise. + * libgnat/a-ngrear.ads: Likewise. + * libgnat/a-nuauco.ads: Likewise. + * libgnat/a-nuauco__x86.ads: Likewise. + * libgnat/a-nuaufl.ads: Likewise. + * libgnat/a-nuaufl__wraplf.ads: Likewise. + * libgnat/a-nudira.adb: Likewise. + * libgnat/a-nudira.ads: Likewise. + * libgnat/a-nuflra.adb: Likewise. + * libgnat/a-nuflra.ads: Likewise. + * libgnat/a-numaux.ads: Likewise. + * libgnat/a-rbtgbk.adb: Likewise. + * libgnat/a-rbtgbk.ads: Likewise. + * libgnat/a-rbtgbo.adb: Likewise. + * libgnat/a-rbtgbo.ads: Likewise. + * libgnat/a-rbtgso.adb: Likewise. + * libgnat/a-rbtgso.ads: Likewise. + * libgnat/a-sbecin.adb: Likewise. + * libgnat/a-sbecin.ads: Likewise. + * libgnat/a-sbhcin.adb: Likewise. + * libgnat/a-sbhcin.ads: Likewise. + * libgnat/a-sblcin.adb: Likewise. + * libgnat/a-sblcin.ads: Likewise. + * libgnat/a-secain.adb: Likewise. + * libgnat/a-secain.ads: Likewise. + * libgnat/a-sequio.adb: Likewise. + * libgnat/a-sequio.ads: Likewise. + * libgnat/a-sfecin.ads: Likewise. + * libgnat/a-sfhcin.ads: Likewise. + * libgnat/a-sflcin.ads: Likewise. + * libgnat/a-shcain.adb: Likewise. + * libgnat/a-shcain.ads: Likewise. + * libgnat/a-siocst.adb: Likewise. + * libgnat/a-siocst.ads: Likewise. + * libgnat/a-slcain.adb: Likewise. + * libgnat/a-slcain.ads: Likewise. + * libgnat/a-ssicst.adb: Likewise. + * libgnat/a-ssicst.ads: Likewise. + * libgnat/a-stboha.adb: Likewise. + * libgnat/a-stbubo.adb: Likewise. + * libgnat/a-stbubo.ads: Likewise. + * libgnat/a-stbufi.adb: Likewise. + * libgnat/a-stbufi.ads: Likewise. + * libgnat/a-stbufo.adb: Likewise. + * libgnat/a-stbufo.ads: Likewise. + * libgnat/a-stbuun.adb: Likewise. + * libgnat/a-stbuut.adb: Likewise. + * libgnat/a-stbuut.ads: 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-strsto.ads: Likewise. + * libgnat/a-strsup.adb: Likewise. + * libgnat/a-strsup.ads: Likewise. + * libgnat/a-strunb.adb: Likewise. + * libgnat/a-strunb.ads: Likewise. + * libgnat/a-strunb__shared.adb: Likewise. + * libgnat/a-strunb__shared.ads: Likewise. + * libgnat/a-ststbo.adb: Likewise. + * libgnat/a-ststbo.ads: Likewise. + * libgnat/a-ststio.adb: Likewise. + * libgnat/a-ststio.ads: Likewise. + * libgnat/a-ststun.adb: Likewise. + * libgnat/a-ststun.ads: Likewise. + * libgnat/a-sttebu.adb: Likewise. + * libgnat/a-stunau.adb: Likewise. + * libgnat/a-stunau.ads: Likewise. + * libgnat/a-stunau__shared.adb: Likewise. + * libgnat/a-stunha.adb: Likewise. + * libgnat/a-stuten.adb: Likewise. + * libgnat/a-stwibo.adb: Likewise. + * libgnat/a-stwibo.ads: Likewise. + * libgnat/a-stwifi.adb: Likewise. + * libgnat/a-stwiha.adb: Likewise. + * libgnat/a-stwima.adb: Likewise. + * libgnat/a-stwima.ads: Likewise. + * libgnat/a-stwise.adb: Likewise. + * libgnat/a-stwise.ads: Likewise. + * libgnat/a-stwisu.adb: Likewise. + * libgnat/a-stwisu.ads: Likewise. + * libgnat/a-stwiun.adb: Likewise. + * libgnat/a-stwiun.ads: Likewise. + * libgnat/a-stwiun__shared.adb: Likewise. + * libgnat/a-stwiun__shared.ads: Likewise. + * libgnat/a-stzbou.adb: Likewise. + * libgnat/a-stzbou.ads: Likewise. + * libgnat/a-stzfix.adb: Likewise. + * libgnat/a-stzhas.adb: Likewise. + * libgnat/a-stzmap.adb: Likewise. + * libgnat/a-stzmap.ads: Likewise. + * libgnat/a-stzsea.adb: Likewise. + * libgnat/a-stzsea.ads: Likewise. + * libgnat/a-stzsup.adb: Likewise. + * libgnat/a-stzsup.ads: Likewise. + * libgnat/a-stzunb.adb: Likewise. + * libgnat/a-stzunb.ads: Likewise. + * libgnat/a-stzunb__shared.adb: Likewise. + * libgnat/a-stzunb__shared.ads: Likewise. + * libgnat/a-suecin.adb: Likewise. + * libgnat/a-suecin.ads: Likewise. + * libgnat/a-suenco.adb: Likewise. + * libgnat/a-suenst.adb: Likewise. + * libgnat/a-suewst.adb: Likewise. + * libgnat/a-suezst.adb: Likewise. + * libgnat/a-suhcin.adb: Likewise. + * libgnat/a-suhcin.ads: Likewise. + * libgnat/a-sulcin.adb: Likewise. + * libgnat/a-sulcin.ads: Likewise. + * libgnat/a-suteio.adb: Likewise. + * libgnat/a-suteio.ads: Likewise. + * libgnat/a-suteio__shared.adb: Likewise. + * libgnat/a-swbwha.adb: Likewise. + * libgnat/a-swmwco.ads: Likewise. + * libgnat/a-swunau.adb: Likewise. + * libgnat/a-swunau.ads: Likewise. + * libgnat/a-swunau__shared.adb: Likewise. + * libgnat/a-swuwha.adb: Likewise. + * libgnat/a-swuwti.adb: Likewise. + * libgnat/a-swuwti.ads: Likewise. + * libgnat/a-swuwti__shared.adb: Likewise. + * libgnat/a-szbzha.adb: Likewise. + * libgnat/a-szmzco.ads: Likewise. + * libgnat/a-szunau.adb: Likewise. + * libgnat/a-szunau.ads: Likewise. + * libgnat/a-szunau__shared.adb: Likewise. + * libgnat/a-szuzha.adb: Likewise. + * libgnat/a-szuzti.adb: Likewise. + * libgnat/a-szuzti.ads: Likewise. + * libgnat/a-szuzti__shared.adb: Likewise. + * libgnat/a-tags.adb: Likewise. + * libgnat/a-tags.ads: Likewise. + * libgnat/a-teioed.adb: Likewise. + * libgnat/a-teioed.ads: Likewise. + * libgnat/a-textio.adb: Likewise. + * libgnat/a-textio.ads: Likewise. + * libgnat/a-tiboio.adb: Likewise. + * libgnat/a-ticoau.adb: Likewise. + * libgnat/a-ticoau.ads: Likewise. + * libgnat/a-ticoio.adb: Likewise. + * libgnat/a-ticoio.ads: Likewise. + * libgnat/a-tideau.adb: Likewise. + * libgnat/a-tideau.ads: Likewise. + * libgnat/a-tideio.adb: Likewise. + * libgnat/a-tideio.ads: Likewise. + * libgnat/a-tideio__128.adb: Likewise. + * libgnat/a-tienau.adb: Likewise. + * libgnat/a-tienau.ads: Likewise. + * libgnat/a-tienio.adb: Likewise. + * libgnat/a-tifiau.adb: Likewise. + * libgnat/a-tifiau.ads: Likewise. + * libgnat/a-tifiio.adb: Likewise. + * libgnat/a-tifiio__128.adb: Likewise. + * libgnat/a-tiflau.adb: Likewise. + * libgnat/a-tiflau.ads: Likewise. + * libgnat/a-tiflio.adb: Likewise. + * libgnat/a-tiflio.ads: Likewise. + * libgnat/a-tigeau.adb: Likewise. + * libgnat/a-tigeau.ads: Likewise. + * libgnat/a-tigeli.adb: Likewise. + * libgnat/a-tiinau.adb: Likewise. + * libgnat/a-tiinau.ads: Likewise. + * libgnat/a-tiinio.adb: Likewise. + * libgnat/a-tiinio.ads: Likewise. + * libgnat/a-tiinio__128.adb: Likewise. + * libgnat/a-timoio.adb: Likewise. + * libgnat/a-timoio.ads: Likewise. + * libgnat/a-timoio__128.adb: Likewise. + * libgnat/a-tiocst.adb: Likewise. + * libgnat/a-tiocst.ads: Likewise. + * libgnat/a-tirsfi.adb: Likewise. + * libgnat/a-tirsfi.ads: Likewise. + * libgnat/a-titest.adb: Likewise. + * libgnat/a-undesu.adb: Likewise. + * libgnat/a-wichha.adb: Likewise. + * libgnat/a-wichun.adb: Likewise. + * libgnat/a-wichun.ads: Likewise. + * libgnat/a-witeio.adb: Likewise. + * libgnat/a-witeio.ads: Likewise. + * libgnat/a-wrstfi.adb: Likewise. + * libgnat/a-wrstfi.ads: Likewise. + * libgnat/a-wtcoau.adb: Likewise. + * libgnat/a-wtcoau.ads: Likewise. + * libgnat/a-wtcoio.adb: Likewise. + * libgnat/a-wtcstr.adb: Likewise. + * libgnat/a-wtcstr.ads: Likewise. + * libgnat/a-wtdeau.adb: Likewise. + * libgnat/a-wtdeau.ads: Likewise. + * libgnat/a-wtdeio.adb: Likewise. + * libgnat/a-wtdeio__128.adb: Likewise. + * libgnat/a-wtedit.adb: Likewise. + * libgnat/a-wtedit.ads: Likewise. + * libgnat/a-wtenau.adb: Likewise. + * libgnat/a-wtenau.ads: Likewise. + * libgnat/a-wtenio.adb: Likewise. + * libgnat/a-wtfiau.adb: Likewise. + * libgnat/a-wtfiau.ads: Likewise. + * libgnat/a-wtfiio.adb: Likewise. + * libgnat/a-wtfiio__128.adb: Likewise. + * libgnat/a-wtflau.adb: Likewise. + * libgnat/a-wtflau.ads: Likewise. + * libgnat/a-wtflio.adb: Likewise. + * libgnat/a-wtgeau.adb: Likewise. + * libgnat/a-wtgeau.ads: Likewise. + * libgnat/a-wtinau.adb: Likewise. + * libgnat/a-wtinau.ads: Likewise. + * libgnat/a-wtinio.adb: Likewise. + * libgnat/a-wtinio__128.adb: Likewise. + * libgnat/a-wtmoio.adb: Likewise. + * libgnat/a-wtmoio.ads: Likewise. + * libgnat/a-wtmoio__128.adb: Likewise. + * libgnat/a-wttest.adb: Likewise. + * libgnat/a-wwboio.adb: Likewise. + * libgnat/a-zchhan.adb: Likewise. + * libgnat/a-zchuni.adb: Likewise. + * libgnat/a-zchuni.ads: Likewise. + * libgnat/a-zrstfi.adb: Likewise. + * libgnat/a-zrstfi.ads: Likewise. + * libgnat/a-ztcoau.adb: Likewise. + * libgnat/a-ztcoio.adb: Likewise. + * libgnat/a-ztcstr.adb: Likewise. + * libgnat/a-ztcstr.ads: Likewise. + * libgnat/a-ztdeau.adb: Likewise. + * libgnat/a-ztdeau.ads: Likewise. + * libgnat/a-ztdeio.adb: Likewise. + * libgnat/a-ztdeio__128.adb: Likewise. + * libgnat/a-ztedit.adb: Likewise. + * libgnat/a-ztedit.ads: Likewise. + * libgnat/a-ztenau.adb: Likewise. + * libgnat/a-ztenau.ads: Likewise. + * libgnat/a-ztenio.adb: Likewise. + * libgnat/a-ztexio.adb: Likewise. + * libgnat/a-ztexio.ads: Likewise. + * libgnat/a-ztfiau.adb: Likewise. + * libgnat/a-ztfiau.ads: Likewise. + * libgnat/a-ztfiio.adb: Likewise. + * libgnat/a-ztfiio__128.adb: Likewise. + * libgnat/a-ztflau.adb: Likewise. + * libgnat/a-ztflau.ads: Likewise. + * libgnat/a-ztflio.adb: Likewise. + * libgnat/a-ztgeau.adb: Likewise. + * libgnat/a-ztgeau.ads: Likewise. + * libgnat/a-ztinau.adb: Likewise. + * libgnat/a-ztinau.ads: Likewise. + * libgnat/a-ztinio.adb: Likewise. + * libgnat/a-ztinio__128.adb: Likewise. + * libgnat/a-ztmoio.adb: Likewise. + * libgnat/a-ztmoio__128.adb: Likewise. + * libgnat/a-zttest.adb: Likewise. + * libgnat/a-zzboio.adb: Likewise. + * libgnat/g-allein.ads: Likewise. + * libgnat/g-alleve.adb: Likewise. + * libgnat/g-alleve.ads: Likewise. + * libgnat/g-alleve__hard.adb: Likewise. + * libgnat/g-alleve__hard.ads: Likewise. + * libgnat/g-altcon.adb: Likewise. + * libgnat/g-altcon.ads: Likewise. + * libgnat/g-altive.ads: Likewise. + * libgnat/g-alveop.adb: Likewise. + * libgnat/g-alveop.ads: Likewise. + * libgnat/g-alvety.ads: Likewise. + * libgnat/g-alvevi.ads: Likewise. + * libgnat/g-arrspl.adb: Likewise. + * libgnat/g-arrspl.ads: Likewise. + * libgnat/g-awk.adb: Likewise. + * libgnat/g-awk.ads: Likewise. + * libgnat/g-binenv.adb: Likewise. + * libgnat/g-binenv.ads: Likewise. + * libgnat/g-brapre.ads: Likewise. + * libgnat/g-bubsor.adb: Likewise. + * libgnat/g-bubsor.ads: Likewise. + * libgnat/g-busora.adb: Likewise. + * libgnat/g-busora.ads: Likewise. + * libgnat/g-busorg.adb: Likewise. + * libgnat/g-busorg.ads: Likewise. + * libgnat/g-byorma.adb: Likewise. + * libgnat/g-byorma.ads: Likewise. + * libgnat/g-bytswa.adb: Likewise. + * libgnat/g-bytswa.ads: Likewise. + * libgnat/g-calend.adb: Likewise. + * libgnat/g-calend.ads: Likewise. + * libgnat/g-casuti.adb: Likewise. + * libgnat/g-casuti.ads: Likewise. + * libgnat/g-catiio.adb: Likewise. + * libgnat/g-catiio.ads: Likewise. + * libgnat/g-cgi.adb: Likewise. + * libgnat/g-cgi.ads: Likewise. + * libgnat/g-cgicoo.adb: Likewise. + * libgnat/g-cgicoo.ads: Likewise. + * libgnat/g-cgideb.adb: Likewise. + * libgnat/g-cgideb.ads: Likewise. + * libgnat/g-comlin.adb: Likewise. + * libgnat/g-comlin.ads: Likewise. + * libgnat/g-comver.adb: Likewise. + * libgnat/g-comver.ads: Likewise. + * libgnat/g-cppexc.adb: Likewise. + * libgnat/g-cppexc.ads: Likewise. + * libgnat/g-crc32.adb: Likewise. + * libgnat/g-crc32.ads: Likewise. + * libgnat/g-ctrl_c.adb: Likewise. + * libgnat/g-ctrl_c.ads: Likewise. + * libgnat/g-curexc.ads: Likewise. + * libgnat/g-debpoo.adb: Likewise. + * libgnat/g-debpoo.ads: Likewise. + * libgnat/g-debuti.adb: Likewise. + * libgnat/g-debuti.ads: Likewise. + * libgnat/g-decstr.adb: Likewise. + * libgnat/g-decstr.ads: Likewise. + * libgnat/g-deutst.ads: Likewise. + * libgnat/g-diopit.adb: Likewise. + * libgnat/g-diopit.ads: Likewise. + * libgnat/g-dirope.adb: Likewise. + * libgnat/g-dirope.ads: Likewise. + * libgnat/g-dynhta.adb: Likewise. + * libgnat/g-dynhta.ads: Likewise. + * libgnat/g-dyntab.adb: Likewise. + * libgnat/g-dyntab.ads: Likewise. + * libgnat/g-eacodu.adb: Likewise. + * libgnat/g-encstr.adb: Likewise. + * libgnat/g-encstr.ads: Likewise. + * libgnat/g-enutst.ads: Likewise. + * libgnat/g-excact.adb: Likewise. + * libgnat/g-excact.ads: Likewise. + * libgnat/g-except.ads: Likewise. + * libgnat/g-exctra.adb: Likewise. + * libgnat/g-exctra.ads: Likewise. + * libgnat/g-expect.adb: Likewise. + * libgnat/g-expect.ads: Likewise. + * libgnat/g-exptty.adb: Likewise. + * libgnat/g-exptty.ads: Likewise. + * libgnat/g-flocon.ads: Likewise. + * libgnat/g-forstr.adb: Likewise. + * libgnat/g-forstr.ads: Likewise. + * libgnat/g-graphs.adb: Likewise. + * libgnat/g-graphs.ads: Likewise. + * libgnat/g-heasor.adb: Likewise. + * libgnat/g-heasor.ads: Likewise. + * libgnat/g-hesora.adb: Likewise. + * libgnat/g-hesora.ads: Likewise. + * libgnat/g-hesorg.adb: Likewise. + * libgnat/g-hesorg.ads: Likewise. + * libgnat/g-htable.adb: Likewise. + * libgnat/g-htable.ads: Likewise. + * libgnat/g-io.adb: Likewise. + * libgnat/g-io.ads: Likewise. + * libgnat/g-io_aux.adb: Likewise. + * libgnat/g-io_aux.ads: Likewise. + * libgnat/g-lists.adb: Likewise. + * libgnat/g-lists.ads: Likewise. + * libgnat/g-locfil.adb: Likewise. + * libgnat/g-locfil.ads: Likewise. + * libgnat/g-mbdira.adb: Likewise. + * libgnat/g-mbdira.ads: Likewise. + * libgnat/g-mbflra.adb: Likewise. + * libgnat/g-mbflra.ads: Likewise. + * libgnat/g-md5.adb: Likewise. + * libgnat/g-md5.ads: Likewise. + * libgnat/g-memdum.adb: Likewise. + * libgnat/g-memdum.ads: Likewise. + * libgnat/g-moreex.adb: Likewise. + * libgnat/g-moreex.ads: Likewise. + * libgnat/g-os_lib.adb: Likewise. + * libgnat/g-os_lib.ads: Likewise. + * libgnat/g-pehage.adb: Likewise. + * libgnat/g-pehage.ads: Likewise. + * libgnat/g-rannum.adb: Likewise. + * libgnat/g-rannum.ads: Likewise. + * libgnat/g-regexp.adb: Likewise. + * libgnat/g-regexp.ads: Likewise. + * libgnat/g-regist.adb: Likewise. + * libgnat/g-regist.ads: Likewise. + * libgnat/g-regpat.adb: Likewise. + * libgnat/g-regpat.ads: Likewise. + * libgnat/g-rewdat.adb: Likewise. + * libgnat/g-rewdat.ads: Likewise. + * libgnat/g-sechas.adb: Likewise. + * libgnat/g-sechas.ads: Likewise. + * libgnat/g-sehamd.adb: Likewise. + * libgnat/g-sehamd.ads: Likewise. + * libgnat/g-sehash.adb: Likewise. + * libgnat/g-sehash.ads: Likewise. + * libgnat/g-sercom.adb: Likewise. + * libgnat/g-sercom.ads: Likewise. + * libgnat/g-sercom__linux.adb: Likewise. + * libgnat/g-sercom__mingw.adb: Likewise. + * libgnat/g-sestin.ads: Likewise. + * libgnat/g-sets.adb: Likewise. + * libgnat/g-sets.ads: Likewise. + * libgnat/g-sha1.adb: Likewise. + * libgnat/g-sha1.ads: Likewise. + * libgnat/g-sha224.ads: Likewise. + * libgnat/g-sha256.ads: Likewise. + * libgnat/g-sha384.ads: Likewise. + * libgnat/g-sha512.ads: Likewise. + * libgnat/g-shsh32.adb: Likewise. + * libgnat/g-shsh32.ads: Likewise. + * libgnat/g-shsh64.adb: Likewise. + * libgnat/g-shsh64.ads: Likewise. + * libgnat/g-shshco.adb: Likewise. + * libgnat/g-shshco.ads: Likewise. + * libgnat/g-soccon.ads: Likewise. + * libgnat/g-socket.adb: Likewise. + * libgnat/g-socket.ads: Likewise. + * libgnat/g-socket__dummy.adb: Likewise. + * libgnat/g-socket__dummy.ads: Likewise. + * libgnat/g-socpol.adb: Likewise. + * libgnat/g-socpol.ads: Likewise. + * libgnat/g-socpol__dummy.adb: Likewise. + * libgnat/g-socpol__dummy.ads: Likewise. + * libgnat/g-socthi.adb: Likewise. + * libgnat/g-socthi.ads: Likewise. + * libgnat/g-socthi__dummy.adb: Likewise. + * libgnat/g-socthi__dummy.ads: Likewise. + * libgnat/g-socthi__mingw.adb: Likewise. + * libgnat/g-socthi__mingw.ads: Likewise. + * libgnat/g-socthi__vxworks.adb: Likewise. + * libgnat/g-socthi__vxworks.ads: Likewise. + * libgnat/g-soliop.ads: Likewise. + * libgnat/g-soliop__lynxos.ads: Likewise. + * libgnat/g-soliop__mingw.ads: Likewise. + * libgnat/g-soliop__qnx.ads: Likewise. + * libgnat/g-soliop__solaris.ads: Likewise. + * libgnat/g-sopowa.adb: Likewise. + * libgnat/g-sopowa__mingw.adb: Likewise. + * libgnat/g-sopowa__posix.adb: Likewise. + * libgnat/g-sothco.adb: Likewise. + * libgnat/g-sothco.ads: Likewise. + * libgnat/g-sothco__dummy.adb: Likewise. + * libgnat/g-sothco__dummy.ads: Likewise. + * libgnat/g-souinf.ads: Likewise. + * libgnat/g-spchge.adb: Likewise. + * libgnat/g-spchge.ads: Likewise. + * libgnat/g-speche.adb: Likewise. + * libgnat/g-speche.ads: Likewise. + * libgnat/g-spipat.adb: Likewise. + * libgnat/g-spipat.ads: Likewise. + * libgnat/g-spitbo.adb: Likewise. + * libgnat/g-spitbo.ads: Likewise. + * libgnat/g-spogwa.adb: Likewise. + * libgnat/g-spogwa.ads: Likewise. + * libgnat/g-sptabo.ads: Likewise. + * libgnat/g-sptain.ads: Likewise. + * libgnat/g-sptavs.ads: Likewise. + * libgnat/g-sse.ads: Likewise. + * libgnat/g-ssvety.ads: Likewise. + * libgnat/g-sthcso.adb: Likewise. + * libgnat/g-stheme.adb: Likewise. + * libgnat/g-strhas.ads: Likewise. + * libgnat/g-string.adb: Likewise. + * libgnat/g-string.ads: Likewise. + * libgnat/g-strspl.ads: Likewise. + * libgnat/g-stseme.adb: Likewise. + * libgnat/g-stsifd__sockets.adb: Likewise. + * libgnat/g-table.adb: Likewise. + * libgnat/g-table.ads: Likewise. + * libgnat/g-tasloc.adb: Likewise. + * libgnat/g-tasloc.ads: Likewise. + * libgnat/g-timsta.adb: Likewise. + * libgnat/g-timsta.ads: Likewise. + * libgnat/g-traceb.adb: Likewise. + * libgnat/g-traceb.ads: Likewise. + * libgnat/g-trasym.adb: Likewise. + * libgnat/g-trasym.ads: Likewise. + * libgnat/g-tty.adb: Likewise. + * libgnat/g-tty.ads: Likewise. + * libgnat/g-u3spch.adb: Likewise. + * libgnat/g-u3spch.ads: Likewise. + * libgnat/g-utf_32.adb: Likewise. + * libgnat/g-utf_32.ads: Likewise. + * libgnat/g-wispch.adb: Likewise. + * libgnat/g-wispch.ads: Likewise. + * libgnat/g-wistsp.ads: Likewise. + * libgnat/g-zspche.adb: Likewise. + * libgnat/g-zspche.ads: Likewise. + * libgnat/g-zstspl.ads: Likewise. + * libgnat/gnat.ads: Likewise. + * libgnat/i-c.adb: Likewise. + * libgnat/i-cexten.ads: Likewise. + * libgnat/i-cexten__128.ads: Likewise. + * libgnat/i-cobol.adb: Likewise. + * libgnat/i-cobol.ads: Likewise. + * libgnat/i-cpoint.adb: Likewise. + * libgnat/i-cpoint.ads: Likewise. + * libgnat/i-cstrea.adb: Likewise. + * libgnat/i-cstrea.ads: Likewise. + * libgnat/i-cstrin.adb: Likewise. + * libgnat/i-cstrin.ads: Likewise. + * libgnat/i-fortra.adb: Likewise. + * libgnat/i-pacdec.adb: Likewise. + * libgnat/i-pacdec.ads: Likewise. + * libgnat/i-vxwoio.adb: Likewise. + * libgnat/i-vxwoio.ads: Likewise. + * libgnat/i-vxwork.ads: Likewise. + * libgnat/i-vxwork__x86.ads: Likewise. + * libgnat/interfac.ads: Likewise. + * libgnat/interfac__2020.ads: Likewise. + * libgnat/memtrack.adb: Likewise. + * libgnat/s-addima.adb: Likewise. + * libgnat/s-addima.ads: Likewise. + * libgnat/s-addope.adb: Likewise. + * libgnat/s-addope.ads: Likewise. + * libgnat/s-aoinar.adb: Likewise. + * libgnat/s-aoinar.ads: Likewise. + * libgnat/s-aomoar.adb: Likewise. + * libgnat/s-aomoar.ads: Likewise. + * libgnat/s-aotase.adb: Likewise. + * libgnat/s-aotase.ads: Likewise. + * libgnat/s-aridou.adb: Likewise. + * libgnat/s-aridou.ads: Likewise. + * libgnat/s-arit128.adb: Likewise. + * libgnat/s-arit128.ads: Likewise. + * libgnat/s-arit32.adb: Likewise. + * libgnat/s-arit32.ads: Likewise. + * libgnat/s-arit64.adb: Likewise. + * libgnat/s-arit64.ads: Likewise. + * libgnat/s-assert.adb: Likewise. + * libgnat/s-assert.ads: Likewise. + * libgnat/s-atacco.adb: Likewise. + * libgnat/s-atacco.ads: Likewise. + * libgnat/s-atocou.adb: Likewise. + * libgnat/s-atocou.ads: Likewise. + * libgnat/s-atocou__builtin.adb: Likewise. + * libgnat/s-atoope.ads: Likewise. + * libgnat/s-atopex.adb: Likewise. + * libgnat/s-atopex.ads: Likewise. + * libgnat/s-atopri.adb: Likewise. + * libgnat/s-atopri.ads: Likewise. + * libgnat/s-auxdec.adb: Likewise. + * libgnat/s-auxdec.ads: Likewise. + * libgnat/s-bignum.adb: Likewise. + * libgnat/s-bignum.ads: Likewise. + * libgnat/s-bitfie.ads: Likewise. + * libgnat/s-bitops.adb: Likewise. + * libgnat/s-bitops.ads: Likewise. + * libgnat/s-bituti.adb: Likewise. + * libgnat/s-bituti.ads: Likewise. + * libgnat/s-boarop.ads: Likewise. + * libgnat/s-boustr.adb: Likewise. + * libgnat/s-boustr.ads: Likewise. + * libgnat/s-bytswa.ads: Likewise. + * libgnat/s-carsi8.adb: Likewise. + * libgnat/s-carsi8.ads: Likewise. + * libgnat/s-carun8.adb: Likewise. + * libgnat/s-carun8.ads: Likewise. + * libgnat/s-casi128.adb: Likewise. + * libgnat/s-casi128.ads: Likewise. + * libgnat/s-casi16.adb: Likewise. + * libgnat/s-casi16.ads: Likewise. + * libgnat/s-casi32.adb: Likewise. + * libgnat/s-casi32.ads: Likewise. + * libgnat/s-casi64.adb: Likewise. + * libgnat/s-casi64.ads: Likewise. + * libgnat/s-casuti.adb: Likewise. + * libgnat/s-casuti.ads: Likewise. + * libgnat/s-caun128.adb: Likewise. + * libgnat/s-caun128.ads: Likewise. + * libgnat/s-caun16.adb: Likewise. + * libgnat/s-caun16.ads: Likewise. + * libgnat/s-caun32.adb: Likewise. + * libgnat/s-caun32.ads: Likewise. + * libgnat/s-caun64.adb: Likewise. + * libgnat/s-caun64.ads: Likewise. + * libgnat/s-chepoo.ads: Likewise. + * libgnat/s-commun.adb: Likewise. + * libgnat/s-commun.ads: Likewise. + * libgnat/s-conca2.adb: Likewise. + * libgnat/s-conca2.ads: Likewise. + * libgnat/s-conca3.adb: Likewise. + * libgnat/s-conca3.ads: Likewise. + * libgnat/s-conca4.adb: Likewise. + * libgnat/s-conca4.ads: Likewise. + * libgnat/s-conca5.adb: Likewise. + * libgnat/s-conca5.ads: Likewise. + * libgnat/s-conca6.adb: Likewise. + * libgnat/s-conca6.ads: Likewise. + * libgnat/s-conca7.adb: Likewise. + * libgnat/s-conca7.ads: Likewise. + * libgnat/s-conca8.adb: Likewise. + * libgnat/s-conca8.ads: Likewise. + * libgnat/s-conca9.adb: Likewise. + * libgnat/s-conca9.ads: Likewise. + * libgnat/s-crc32.adb: Likewise. + * libgnat/s-crc32.ads: Likewise. + * libgnat/s-crtl.ads: Likewise. + * libgnat/s-dfmkio.ads: Likewise. + * libgnat/s-dfmopr.ads: Likewise. + * libgnat/s-dgmgop.ads: Likewise. + * libgnat/s-diflio.adb: Likewise. + * libgnat/s-diflio.ads: Likewise. + * libgnat/s-diflmk.ads: Likewise. + * libgnat/s-digemk.ads: Likewise. + * libgnat/s-diinio.adb: Likewise. + * libgnat/s-diinio.ads: Likewise. + * libgnat/s-dilomk.ads: Likewise. + * libgnat/s-dim.ads: Likewise. + * libgnat/s-dimkio.ads: Likewise. + * libgnat/s-dimmks.ads: Likewise. + * libgnat/s-direio.adb: Likewise. + * libgnat/s-direio.ads: Likewise. + * libgnat/s-dlmkio.ads: Likewise. + * libgnat/s-dlmopr.ads: Likewise. + * libgnat/s-dmotpr.ads: Likewise. + * libgnat/s-dorepr.adb: Likewise. + * libgnat/s-dorepr__fma.adb: Likewise. + * libgnat/s-dourea.adb: Likewise. + * libgnat/s-dourea.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-exnflt.ads: Likewise. + * libgnat/s-exnint.adb: Likewise. + * libgnat/s-exnint.ads: Likewise. + * libgnat/s-exnlfl.ads: Likewise. + * libgnat/s-exnllf.adb: Likewise. + * libgnat/s-exnllf.ads: Likewise. + * libgnat/s-exnlli.adb: Likewise. + * libgnat/s-exnlli.ads: Likewise. + * libgnat/s-exnllli.ads: Likewise. + * libgnat/s-expint.adb: Likewise. + * libgnat/s-expint.ads: Likewise. + * libgnat/s-explli.adb: Likewise. + * libgnat/s-explli.ads: Likewise. + * libgnat/s-expllli.ads: Likewise. + * libgnat/s-explllu.ads: Likewise. + * libgnat/s-expllu.adb: Likewise. + * libgnat/s-expllu.ads: Likewise. + * libgnat/s-expmod.adb: Likewise. + * libgnat/s-expmod.ads: Likewise. + * libgnat/s-exponn.adb: Likewise. + * libgnat/s-exponn.ads: Likewise. + * libgnat/s-exponr.adb: Likewise. + * libgnat/s-exponr.ads: Likewise. + * libgnat/s-expont.adb: Likewise. + * libgnat/s-expont.ads: Likewise. + * libgnat/s-exponu.adb: Likewise. + * libgnat/s-exponu.ads: Likewise. + * libgnat/s-expuns.adb: Likewise. + * libgnat/s-expuns.ads: Likewise. + * libgnat/s-fatflt.ads: Likewise. + * libgnat/s-fatgen.adb: Likewise. + * libgnat/s-fatgen.ads: Likewise. + * libgnat/s-fatlfl.ads: Likewise. + * libgnat/s-fatllf.ads: Likewise. + * libgnat/s-ficobl.ads: Likewise. + * libgnat/s-filatt.ads: Likewise. + * libgnat/s-fileio.adb: Likewise. + * libgnat/s-fileio.ads: Likewise. + * libgnat/s-finmas.adb: Likewise. + * libgnat/s-finmas.ads: Likewise. + * libgnat/s-finroo.adb: Likewise. + * libgnat/s-finroo.ads: Likewise. + * libgnat/s-flocon.adb: Likewise. + * libgnat/s-flocon.ads: Likewise. + * libgnat/s-flocon__none.adb: Likewise. + * libgnat/s-fode128.ads: Likewise. + * libgnat/s-fode32.ads: Likewise. + * libgnat/s-fode64.ads: Likewise. + * libgnat/s-fofi128.ads: Likewise. + * libgnat/s-fofi32.ads: Likewise. + * libgnat/s-fofi64.ads: Likewise. + * libgnat/s-fore_d.adb: Likewise. + * libgnat/s-fore_d.ads: Likewise. + * libgnat/s-fore_f.adb: Likewise. + * libgnat/s-fore_f.ads: Likewise. + * libgnat/s-forrea.adb: Likewise. + * libgnat/s-forrea.ads: Likewise. + * libgnat/s-gearop.adb: Likewise. + * libgnat/s-gearop.ads: Likewise. + * libgnat/s-genbig.adb: Likewise. + * libgnat/s-genbig.ads: Likewise. + * libgnat/s-geveop.adb: Likewise. + * libgnat/s-geveop.ads: Likewise. + * libgnat/s-gloloc.adb: Likewise. + * libgnat/s-gloloc.ads: Likewise. + * libgnat/s-gloloc__mingw.adb: Likewise. + * libgnat/s-htable.adb: Likewise. + * libgnat/s-htable.ads: Likewise. + * libgnat/s-imageb.adb: Likewise. + * libgnat/s-imageb.ads: Likewise. + * libgnat/s-imaged.adb: Likewise. + * libgnat/s-imaged.ads: Likewise. + * libgnat/s-imagef.adb: Likewise. + * libgnat/s-imagef.ads: Likewise. + * libgnat/s-imagei.adb: Likewise. + * libgnat/s-imagei.ads: Likewise. + * libgnat/s-imagen.adb: Likewise. + * libgnat/s-imagen.ads: Likewise. + * libgnat/s-imager.adb: Likewise. + * libgnat/s-imager.ads: Likewise. + * libgnat/s-imageu.adb: Likewise. + * libgnat/s-imageu.ads: Likewise. + * libgnat/s-imagew.adb: Likewise. + * libgnat/s-imagew.ads: Likewise. + * libgnat/s-imde128.ads: Likewise. + * libgnat/s-imde32.ads: Likewise. + * libgnat/s-imde64.ads: Likewise. + * libgnat/s-imen16.ads: Likewise. + * libgnat/s-imen32.ads: Likewise. + * libgnat/s-imenu8.ads: Likewise. + * libgnat/s-imfi128.ads: Likewise. + * libgnat/s-imfi32.ads: Likewise. + * libgnat/s-imfi64.ads: Likewise. + * libgnat/s-imgbiu.adb: Likewise. + * libgnat/s-imgbiu.ads: Likewise. + * libgnat/s-imgboo.adb: Likewise. + * libgnat/s-imgboo.ads: Likewise. + * libgnat/s-imgcha.adb: Likewise. + * libgnat/s-imgcha.ads: Likewise. + * libgnat/s-imgflt.ads: Likewise. + * libgnat/s-imgint.adb: Likewise. + * libgnat/s-imgint.ads: Likewise. + * libgnat/s-imglfl.ads: Likewise. + * libgnat/s-imgllb.adb: Likewise. + * libgnat/s-imgllb.ads: Likewise. + * libgnat/s-imgllf.ads: Likewise. + * libgnat/s-imglli.adb: Likewise. + * libgnat/s-imglli.ads: Likewise. + * libgnat/s-imglllb.ads: Likewise. + * libgnat/s-imgllli.ads: Likewise. + * libgnat/s-imglllu.ads: Likewise. + * libgnat/s-imglllw.ads: Likewise. + * libgnat/s-imgllu.adb: Likewise. + * libgnat/s-imgllu.ads: Likewise. + * libgnat/s-imgllw.adb: Likewise. + * libgnat/s-imgllw.ads: Likewise. + * libgnat/s-imgrea.adb: Likewise. + * libgnat/s-imgrea.ads: Likewise. + * libgnat/s-imguns.adb: Likewise. + * libgnat/s-imguns.ads: Likewise. + * libgnat/s-imguti.adb: Likewise. + * libgnat/s-imguti.ads: Likewise. + * libgnat/s-imgwch.adb: Likewise. + * libgnat/s-imgwch.ads: Likewise. + * libgnat/s-imgwiu.adb: Likewise. + * libgnat/s-imgwiu.ads: Likewise. + * libgnat/s-io.adb: Likewise. + * libgnat/s-io.ads: Likewise. + * libgnat/s-llflex.ads: Likewise. + * libgnat/s-maccod.ads: Likewise. + * libgnat/s-mantis.adb: Likewise. + * libgnat/s-mantis.ads: Likewise. + * libgnat/s-mastop.adb: Likewise. + * libgnat/s-mastop.ads: Likewise. + * libgnat/s-memcop.ads: Likewise. + * libgnat/s-memory.adb: Likewise. + * libgnat/s-memory.ads: Likewise. + * libgnat/s-mmap.adb: Likewise. + * libgnat/s-mmap.ads: Likewise. + * libgnat/s-mmauni__long.ads: Likewise. + * libgnat/s-mmosin__mingw.adb: Likewise. + * libgnat/s-mmosin__mingw.ads: Likewise. + * libgnat/s-mmosin__unix.adb: Likewise. + * libgnat/s-mmosin__unix.ads: Likewise. + * libgnat/s-multip.adb: Likewise. + * libgnat/s-objrea.adb: Likewise. + * libgnat/s-objrea.ads: Likewise. + * libgnat/s-optide.adb: Likewise. + * libgnat/s-os_lib.adb: Likewise. + * libgnat/s-os_lib.ads: Likewise. + * libgnat/s-osprim.ads: Likewise. + * libgnat/s-osprim__darwin.adb: Likewise. + * libgnat/s-osprim__lynxos.ads: Likewise. + * libgnat/s-osprim__mingw.adb: Likewise. + * libgnat/s-osprim__posix.adb: Likewise. + * libgnat/s-osprim__posix2008.adb: Likewise. + * libgnat/s-osprim__rtems.adb: Likewise. + * libgnat/s-osprim__solaris.adb: Likewise. + * libgnat/s-osprim__unix.adb: Likewise. + * libgnat/s-osprim__x32.adb: Likewise. + * libgnat/s-pack03.adb: Likewise. + * libgnat/s-pack03.ads: Likewise. + * libgnat/s-pack05.adb: Likewise. + * libgnat/s-pack05.ads: Likewise. + * libgnat/s-pack06.adb: Likewise. + * libgnat/s-pack06.ads: Likewise. + * libgnat/s-pack07.adb: Likewise. + * libgnat/s-pack07.ads: Likewise. + * libgnat/s-pack09.adb: Likewise. + * libgnat/s-pack09.ads: Likewise. + * libgnat/s-pack10.adb: Likewise. + * libgnat/s-pack10.ads: Likewise. + * libgnat/s-pack100.adb: Likewise. + * libgnat/s-pack100.ads: Likewise. + * libgnat/s-pack101.adb: Likewise. + * libgnat/s-pack101.ads: Likewise. + * libgnat/s-pack102.adb: Likewise. + * libgnat/s-pack102.ads: Likewise. + * libgnat/s-pack103.adb: Likewise. + * libgnat/s-pack103.ads: Likewise. + * libgnat/s-pack104.adb: Likewise. + * libgnat/s-pack104.ads: Likewise. + * libgnat/s-pack105.adb: Likewise. + * libgnat/s-pack105.ads: Likewise. + * libgnat/s-pack106.adb: Likewise. + * libgnat/s-pack106.ads: Likewise. + * libgnat/s-pack107.adb: Likewise. + * libgnat/s-pack107.ads: Likewise. + * libgnat/s-pack108.adb: Likewise. + * libgnat/s-pack108.ads: Likewise. + * libgnat/s-pack109.adb: Likewise. + * libgnat/s-pack109.ads: Likewise. + * libgnat/s-pack11.adb: Likewise. + * libgnat/s-pack11.ads: Likewise. + * libgnat/s-pack110.adb: Likewise. + * libgnat/s-pack110.ads: Likewise. + * libgnat/s-pack111.adb: Likewise. + * libgnat/s-pack111.ads: Likewise. + * libgnat/s-pack112.adb: Likewise. + * libgnat/s-pack112.ads: Likewise. + * libgnat/s-pack113.adb: Likewise. + * libgnat/s-pack113.ads: Likewise. + * libgnat/s-pack114.adb: Likewise. + * libgnat/s-pack114.ads: Likewise. + * libgnat/s-pack115.adb: Likewise. + * libgnat/s-pack115.ads: Likewise. + * libgnat/s-pack116.adb: Likewise. + * libgnat/s-pack116.ads: Likewise. + * libgnat/s-pack117.adb: Likewise. + * libgnat/s-pack117.ads: Likewise. + * libgnat/s-pack118.adb: Likewise. + * libgnat/s-pack118.ads: Likewise. + * libgnat/s-pack119.adb: Likewise. + * libgnat/s-pack119.ads: Likewise. + * libgnat/s-pack12.adb: Likewise. + * libgnat/s-pack12.ads: Likewise. + * libgnat/s-pack120.adb: Likewise. + * libgnat/s-pack120.ads: Likewise. + * libgnat/s-pack121.adb: Likewise. + * libgnat/s-pack121.ads: Likewise. + * libgnat/s-pack122.adb: Likewise. + * libgnat/s-pack122.ads: Likewise. + * libgnat/s-pack123.adb: Likewise. + * libgnat/s-pack123.ads: Likewise. + * libgnat/s-pack124.adb: Likewise. + * libgnat/s-pack124.ads: Likewise. + * libgnat/s-pack125.adb: Likewise. + * libgnat/s-pack125.ads: Likewise. + * libgnat/s-pack126.adb: Likewise. + * libgnat/s-pack126.ads: Likewise. + * libgnat/s-pack127.adb: Likewise. + * libgnat/s-pack127.ads: Likewise. + * libgnat/s-pack13.adb: Likewise. + * libgnat/s-pack13.ads: Likewise. + * libgnat/s-pack14.adb: Likewise. + * libgnat/s-pack14.ads: Likewise. + * libgnat/s-pack15.adb: Likewise. + * libgnat/s-pack15.ads: Likewise. + * libgnat/s-pack17.adb: Likewise. + * libgnat/s-pack17.ads: Likewise. + * libgnat/s-pack18.adb: Likewise. + * libgnat/s-pack18.ads: Likewise. + * libgnat/s-pack19.adb: Likewise. + * libgnat/s-pack19.ads: Likewise. + * libgnat/s-pack20.adb: Likewise. + * libgnat/s-pack20.ads: Likewise. + * libgnat/s-pack21.adb: Likewise. + * libgnat/s-pack21.ads: Likewise. + * libgnat/s-pack22.adb: Likewise. + * libgnat/s-pack22.ads: Likewise. + * libgnat/s-pack23.adb: Likewise. + * libgnat/s-pack23.ads: Likewise. + * libgnat/s-pack24.adb: Likewise. + * libgnat/s-pack24.ads: Likewise. + * libgnat/s-pack25.adb: Likewise. + * libgnat/s-pack25.ads: Likewise. + * libgnat/s-pack26.adb: Likewise. + * libgnat/s-pack26.ads: Likewise. + * libgnat/s-pack27.adb: Likewise. + * libgnat/s-pack27.ads: Likewise. + * libgnat/s-pack28.adb: Likewise. + * libgnat/s-pack28.ads: Likewise. + * libgnat/s-pack29.adb: Likewise. + * libgnat/s-pack29.ads: Likewise. + * libgnat/s-pack30.adb: Likewise. + * libgnat/s-pack30.ads: Likewise. + * libgnat/s-pack31.adb: Likewise. + * libgnat/s-pack31.ads: Likewise. + * libgnat/s-pack33.adb: Likewise. + * libgnat/s-pack33.ads: Likewise. + * libgnat/s-pack34.adb: Likewise. + * libgnat/s-pack34.ads: Likewise. + * libgnat/s-pack35.adb: Likewise. + * libgnat/s-pack35.ads: Likewise. + * libgnat/s-pack36.adb: Likewise. + * libgnat/s-pack36.ads: Likewise. + * libgnat/s-pack37.adb: Likewise. + * libgnat/s-pack37.ads: Likewise. + * libgnat/s-pack38.adb: Likewise. + * libgnat/s-pack38.ads: Likewise. + * libgnat/s-pack39.adb: Likewise. + * libgnat/s-pack39.ads: Likewise. + * libgnat/s-pack40.adb: Likewise. + * libgnat/s-pack40.ads: Likewise. + * libgnat/s-pack41.adb: Likewise. + * libgnat/s-pack41.ads: Likewise. + * libgnat/s-pack42.adb: Likewise. + * libgnat/s-pack42.ads: Likewise. + * libgnat/s-pack43.adb: Likewise. + * libgnat/s-pack43.ads: Likewise. + * libgnat/s-pack44.adb: Likewise. + * libgnat/s-pack44.ads: Likewise. + * libgnat/s-pack45.adb: Likewise. + * libgnat/s-pack45.ads: Likewise. + * libgnat/s-pack46.adb: Likewise. + * libgnat/s-pack46.ads: Likewise. + * libgnat/s-pack47.adb: Likewise. + * libgnat/s-pack47.ads: Likewise. + * libgnat/s-pack48.adb: Likewise. + * libgnat/s-pack48.ads: Likewise. + * libgnat/s-pack49.adb: Likewise. + * libgnat/s-pack49.ads: Likewise. + * libgnat/s-pack50.adb: Likewise. + * libgnat/s-pack50.ads: Likewise. + * libgnat/s-pack51.adb: Likewise. + * libgnat/s-pack51.ads: Likewise. + * libgnat/s-pack52.adb: Likewise. + * libgnat/s-pack52.ads: Likewise. + * libgnat/s-pack53.adb: Likewise. + * libgnat/s-pack53.ads: Likewise. + * libgnat/s-pack54.adb: Likewise. + * libgnat/s-pack54.ads: Likewise. + * libgnat/s-pack55.adb: Likewise. + * libgnat/s-pack55.ads: Likewise. + * libgnat/s-pack56.adb: Likewise. + * libgnat/s-pack56.ads: Likewise. + * libgnat/s-pack57.adb: Likewise. + * libgnat/s-pack57.ads: Likewise. + * libgnat/s-pack58.adb: Likewise. + * libgnat/s-pack58.ads: Likewise. + * libgnat/s-pack59.adb: Likewise. + * libgnat/s-pack59.ads: Likewise. + * libgnat/s-pack60.adb: Likewise. + * libgnat/s-pack60.ads: Likewise. + * libgnat/s-pack61.adb: Likewise. + * libgnat/s-pack61.ads: Likewise. + * libgnat/s-pack62.adb: Likewise. + * libgnat/s-pack62.ads: Likewise. + * libgnat/s-pack63.adb: Likewise. + * libgnat/s-pack63.ads: Likewise. + * libgnat/s-pack65.adb: Likewise. + * libgnat/s-pack65.ads: Likewise. + * libgnat/s-pack66.adb: Likewise. + * libgnat/s-pack66.ads: Likewise. + * libgnat/s-pack67.adb: Likewise. + * libgnat/s-pack67.ads: Likewise. + * libgnat/s-pack68.adb: Likewise. + * libgnat/s-pack68.ads: Likewise. + * libgnat/s-pack69.adb: Likewise. + * libgnat/s-pack69.ads: Likewise. + * libgnat/s-pack70.adb: Likewise. + * libgnat/s-pack70.ads: Likewise. + * libgnat/s-pack71.adb: Likewise. + * libgnat/s-pack71.ads: Likewise. + * libgnat/s-pack72.adb: Likewise. + * libgnat/s-pack72.ads: Likewise. + * libgnat/s-pack73.adb: Likewise. + * libgnat/s-pack73.ads: Likewise. + * libgnat/s-pack74.adb: Likewise. + * libgnat/s-pack74.ads: Likewise. + * libgnat/s-pack75.adb: Likewise. + * libgnat/s-pack75.ads: Likewise. + * libgnat/s-pack76.adb: Likewise. + * libgnat/s-pack76.ads: Likewise. + * libgnat/s-pack77.adb: Likewise. + * libgnat/s-pack77.ads: Likewise. + * libgnat/s-pack78.adb: Likewise. + * libgnat/s-pack78.ads: Likewise. + * libgnat/s-pack79.adb: Likewise. + * libgnat/s-pack79.ads: Likewise. + * libgnat/s-pack80.adb: Likewise. + * libgnat/s-pack80.ads: Likewise. + * libgnat/s-pack81.adb: Likewise. + * libgnat/s-pack81.ads: Likewise. + * libgnat/s-pack82.adb: Likewise. + * libgnat/s-pack82.ads: Likewise. + * libgnat/s-pack83.adb: Likewise. + * libgnat/s-pack83.ads: Likewise. + * libgnat/s-pack84.adb: Likewise. + * libgnat/s-pack84.ads: Likewise. + * libgnat/s-pack85.adb: Likewise. + * libgnat/s-pack85.ads: Likewise. + * libgnat/s-pack86.adb: Likewise. + * libgnat/s-pack86.ads: Likewise. + * libgnat/s-pack87.adb: Likewise. + * libgnat/s-pack87.ads: Likewise. + * libgnat/s-pack88.adb: Likewise. + * libgnat/s-pack88.ads: Likewise. + * libgnat/s-pack89.adb: Likewise. + * libgnat/s-pack89.ads: Likewise. + * libgnat/s-pack90.adb: Likewise. + * libgnat/s-pack90.ads: Likewise. + * libgnat/s-pack91.adb: Likewise. + * libgnat/s-pack91.ads: Likewise. + * libgnat/s-pack92.adb: Likewise. + * libgnat/s-pack92.ads: Likewise. + * libgnat/s-pack93.adb: Likewise. + * libgnat/s-pack93.ads: Likewise. + * libgnat/s-pack94.adb: Likewise. + * libgnat/s-pack94.ads: Likewise. + * libgnat/s-pack95.adb: Likewise. + * libgnat/s-pack95.ads: Likewise. + * libgnat/s-pack96.adb: Likewise. + * libgnat/s-pack96.ads: Likewise. + * libgnat/s-pack97.adb: Likewise. + * libgnat/s-pack97.ads: Likewise. + * libgnat/s-pack98.adb: Likewise. + * libgnat/s-pack98.ads: Likewise. + * libgnat/s-pack99.adb: Likewise. + * libgnat/s-pack99.ads: Likewise. + * libgnat/s-parame.adb: Likewise. + * libgnat/s-parame.ads: Likewise. + * libgnat/s-parame__hpux.ads: Likewise. + * libgnat/s-parame__posix2008.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-pehage.adb: Likewise. + * libgnat/s-pehage.ads: Likewise. + * libgnat/s-pooglo.adb: Likewise. + * libgnat/s-pooglo.ads: Likewise. + * libgnat/s-pooloc.adb: Likewise. + * libgnat/s-pooloc.ads: Likewise. + * libgnat/s-poosiz.adb: Likewise. + * libgnat/s-poosiz.ads: Likewise. + * libgnat/s-powflt.ads: Likewise. + * libgnat/s-powlfl.ads: Likewise. + * libgnat/s-powllf.ads: Likewise. + * libgnat/s-purexc.ads: Likewise. + * libgnat/s-putima.adb: Likewise. + * libgnat/s-putima.ads: Likewise. + * libgnat/s-rannum.adb: Likewise. + * libgnat/s-rannum.ads: Likewise. + * libgnat/s-ransee.adb: Likewise. + * libgnat/s-ransee.ads: Likewise. + * libgnat/s-regexp.adb: Likewise. + * libgnat/s-regexp.ads: Likewise. + * libgnat/s-regpat.adb: Likewise. + * libgnat/s-regpat.ads: Likewise. + * libgnat/s-resfil.adb: Likewise. + * libgnat/s-resfil.ads: Likewise. + * libgnat/s-restri.adb: Likewise. + * libgnat/s-restri.ads: Likewise. + * libgnat/s-rident.ads: Likewise. + * libgnat/s-rpc.adb: Likewise. + * libgnat/s-rpc.ads: Likewise. + * libgnat/s-scaval.adb: Likewise. + * libgnat/s-scaval.ads: Likewise. + * libgnat/s-scaval__128.adb: Likewise. + * libgnat/s-scaval__128.ads: Likewise. + * libgnat/s-secsta.adb: Likewise. + * libgnat/s-secsta.ads: Likewise. + * libgnat/s-sequio.adb: Likewise. + * libgnat/s-sequio.ads: Likewise. + * libgnat/s-shabig.ads: Likewise. + * libgnat/s-shasto.adb: Likewise. + * libgnat/s-shasto.ads: Likewise. + * libgnat/s-soflin.adb: Likewise. + * libgnat/s-soflin.ads: Likewise. + * libgnat/s-soliin.adb: Likewise. + * libgnat/s-soliin.ads: Likewise. + * libgnat/s-spsufi.adb: Likewise. + * libgnat/s-spsufi.ads: Likewise. + * libgnat/s-stache.adb: Likewise. + * libgnat/s-stache.ads: Likewise. + * libgnat/s-stalib.adb: Likewise. + * libgnat/s-stalib.ads: Likewise. + * libgnat/s-statxd.adb: Likewise. + * libgnat/s-statxd.ads: Likewise. + * libgnat/s-stausa.adb: Likewise. + * libgnat/s-stausa.ads: Likewise. + * libgnat/s-stchop.adb: Likewise. + * libgnat/s-stchop.ads: Likewise. + * libgnat/s-stchop__limit.ads: Likewise. + * libgnat/s-stchop__vxworks.adb: Likewise. + * libgnat/s-stoele.adb: Likewise. + * libgnat/s-stoele.ads: Likewise. + * libgnat/s-stopoo.adb: Likewise. + * libgnat/s-stopoo.ads: Likewise. + * libgnat/s-stposu.adb: Likewise. + * libgnat/s-stposu.ads: Likewise. + * libgnat/s-stratt.adb: Likewise. + * libgnat/s-stratt.ads: Likewise. + * libgnat/s-strcom.adb: Likewise. + * libgnat/s-strcom.ads: Likewise. + * libgnat/s-strhas.adb: Likewise. + * libgnat/s-strhas.ads: Likewise. + * libgnat/s-string.adb: Likewise. + * libgnat/s-string.ads: Likewise. + * libgnat/s-ststop.adb: Likewise. + * libgnat/s-ststop.ads: Likewise. + * libgnat/s-tasloc.adb: Likewise. + * libgnat/s-tasloc.ads: Likewise. + * libgnat/s-traceb.adb: Likewise. + * libgnat/s-traceb.ads: Likewise. + * libgnat/s-traceb__hpux.adb: Likewise. + * libgnat/s-traceb__mastop.adb: Likewise. + * libgnat/s-traent.adb: Likewise. + * libgnat/s-traent.ads: Likewise. + * libgnat/s-trasym.adb: Likewise. + * libgnat/s-trasym.ads: Likewise. + * libgnat/s-trasym__dwarf.adb: Likewise. + * libgnat/s-tsmona.adb: Likewise. + * libgnat/s-tsmona__linux.adb: Likewise. + * libgnat/s-tsmona__mingw.adb: Likewise. + * libgnat/s-unstyp.ads: Likewise. + * libgnat/s-utf_32.adb: Likewise. + * libgnat/s-utf_32.ads: Likewise. + * libgnat/s-vade128.ads: Likewise. + * libgnat/s-vade32.ads: Likewise. + * libgnat/s-vade64.ads: Likewise. + * libgnat/s-vaen16.ads: Likewise. + * libgnat/s-vaen32.ads: Likewise. + * libgnat/s-vaenu8.ads: Likewise. + * libgnat/s-vafi128.ads: Likewise. + * libgnat/s-vafi32.ads: Likewise. + * libgnat/s-vafi64.ads: Likewise. + * libgnat/s-valboo.adb: Likewise. + * libgnat/s-valboo.ads: Likewise. + * libgnat/s-valcha.adb: Likewise. + * libgnat/s-valcha.ads: Likewise. + * libgnat/s-valflt.ads: Likewise. + * libgnat/s-valint.adb: Likewise. + * libgnat/s-valint.ads: Likewise. + * libgnat/s-vallfl.ads: Likewise. + * libgnat/s-valllf.ads: Likewise. + * libgnat/s-vallli.adb: Likewise. + * libgnat/s-vallli.ads: Likewise. + * libgnat/s-valllli.ads: Likewise. + * libgnat/s-vallllu.ads: Likewise. + * libgnat/s-valllu.adb: Likewise. + * libgnat/s-valllu.ads: Likewise. + * libgnat/s-valrea.adb: Likewise. + * libgnat/s-valrea.ads: Likewise. + * libgnat/s-valued.adb: Likewise. + * libgnat/s-valued.ads: Likewise. + * libgnat/s-valuef.adb: Likewise. + * libgnat/s-valuef.ads: Likewise. + * libgnat/s-valuei.adb: Likewise. + * libgnat/s-valuei.ads: Likewise. + * libgnat/s-valuen.adb: Likewise. + * libgnat/s-valuen.ads: Likewise. + * libgnat/s-valuer.adb: Likewise. + * libgnat/s-valuer.ads: Likewise. + * libgnat/s-valueu.adb: Likewise. + * libgnat/s-valueu.ads: Likewise. + * libgnat/s-valuns.adb: Likewise. + * libgnat/s-valuns.ads: Likewise. + * libgnat/s-valuti.adb: Likewise. + * libgnat/s-valuti.ads: Likewise. + * libgnat/s-valwch.adb: Likewise. + * libgnat/s-valwch.ads: Likewise. + * libgnat/s-veboop.adb: Likewise. + * libgnat/s-veboop.ads: Likewise. + * libgnat/s-vector.ads: Likewise. + * libgnat/s-vercon.adb: Likewise. + * libgnat/s-vercon.ads: Likewise. + * libgnat/s-wchcnv.adb: Likewise. + * libgnat/s-wchcnv.ads: Likewise. + * libgnat/s-wchcon.adb: Likewise. + * libgnat/s-wchcon.ads: Likewise. + * libgnat/s-wchjis.adb: Likewise. + * libgnat/s-wchjis.ads: Likewise. + * libgnat/s-wchstw.adb: Likewise. + * libgnat/s-wchstw.ads: Likewise. + * libgnat/s-wchwts.adb: Likewise. + * libgnat/s-wchwts.ads: Likewise. + * libgnat/s-widboo.adb: Likewise. + * libgnat/s-widboo.ads: Likewise. + * libgnat/s-widcha.adb: Likewise. + * libgnat/s-widcha.ads: Likewise. + * libgnat/s-widenu.adb: Likewise. + * libgnat/s-widenu.ads: Likewise. + * libgnat/s-widint.ads: Likewise. + * libgnat/s-widlli.adb: Likewise. + * libgnat/s-widlli.ads: Likewise. + * libgnat/s-widllli.ads: Likewise. + * libgnat/s-widlllu.ads: Likewise. + * libgnat/s-widllu.adb: Likewise. + * libgnat/s-widllu.ads: Likewise. + * libgnat/s-widthi.adb: Likewise. + * libgnat/s-widthi.ads: Likewise. + * libgnat/s-widthu.adb: Likewise. + * libgnat/s-widthu.ads: Likewise. + * libgnat/s-widuns.ads: Likewise. + * libgnat/s-widwch.adb: Likewise. + * libgnat/s-widwch.ads: Likewise. + * libgnat/s-win32.ads: Likewise. + * libgnat/s-winext.ads: Likewise. + * libgnat/s-wwdcha.adb: Likewise. + * libgnat/s-wwdcha.ads: Likewise. + * libgnat/s-wwdenu.adb: Likewise. + * libgnat/s-wwdenu.ads: Likewise. + * libgnat/s-wwdwch.adb: Likewise. + * libgnat/s-wwdwch.ads: Likewise. + * libgnat/system-aix.ads: Likewise. + * libgnat/system-darwin-arm.ads: Likewise. + * libgnat/system-darwin-ppc.ads: Likewise. + * libgnat/system-darwin-x86.ads: Likewise. + * libgnat/system-djgpp.ads: Likewise. + * libgnat/system-dragonfly-x86_64.ads: Likewise. + * libgnat/system-freebsd.ads: Likewise. + * libgnat/system-hpux-ia64.ads: Likewise. + * libgnat/system-hpux.ads: Likewise. + * libgnat/system-linux-alpha.ads: Likewise. + * libgnat/system-linux-arm.ads: Likewise. + * libgnat/system-linux-hppa.ads: Likewise. + * libgnat/system-linux-ia64.ads: Likewise. + * libgnat/system-linux-m68k.ads: Likewise. + * libgnat/system-linux-mips.ads: Likewise. + * libgnat/system-linux-ppc.ads: Likewise. + * libgnat/system-linux-riscv.ads: Likewise. + * libgnat/system-linux-s390.ads: Likewise. + * libgnat/system-linux-sh4.ads: Likewise. + * libgnat/system-linux-sparc.ads: Likewise. + * libgnat/system-linux-x86.ads: Likewise. + * libgnat/system-lynxos178-ppc.ads: Likewise. + * libgnat/system-lynxos178-x86.ads: Likewise. + * libgnat/system-mingw.ads: Likewise. + * libgnat/system-qnx-aarch64.ads: Likewise. + * libgnat/system-rtems.ads: Likewise. + * libgnat/system-solaris-sparc.ads: Likewise. + * libgnat/system-solaris-x86.ads: Likewise. + * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise. + * libgnat/system-vxworks-arm-rtp.ads: Likewise. + * libgnat/system-vxworks-arm.ads: Likewise. + * libgnat/system-vxworks-e500-kernel.ads: Likewise. + * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise. + * libgnat/system-vxworks-e500-rtp.ads: Likewise. + * libgnat/system-vxworks-ppc-kernel.ads: Likewise. + * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise. + * libgnat/system-vxworks-ppc-rtp.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-vxworks7-aarch64-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-aarch64.ads: Likewise. + * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-arm.ads: Likewise. + * libgnat/system-vxworks7-e500-kernel.ads: Likewise. + * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-e500-rtp.ads: Likewise. + * libgnat/system-vxworks7-ppc-kernel.ads: Likewise. + * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-ppc-rtp.ads: Likewise. + * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise. + * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-x86-kernel.ads: Likewise. + * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-x86-rtp.ads: Likewise. + * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise. + * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise. + * link.c: Likewise. + * live.adb: Likewise. + * live.ads: Likewise. + * locales.c: Likewise. + * make.adb: Likewise. + * make.ads: Likewise. + * make_util.adb: Likewise. + * make_util.ads: Likewise. + * makeusg.adb: Likewise. + * makeusg.ads: Likewise. + * mdll-fil.adb: Likewise. + * mdll-fil.ads: Likewise. + * mdll-utl.adb: Likewise. + * mdll-utl.ads: Likewise. + * mdll.adb: Likewise. + * mdll.ads: Likewise. + * mingw32.h: Likewise. + * mkdir.c: Likewise. + * namet-sp.adb: Likewise. + * namet-sp.ads: Likewise. + * namet.adb: Likewise. + * namet.ads: Likewise. + * namet.h: Likewise. + * nlists.adb: Likewise. + * nlists.ads: Likewise. + * nlists.h: Likewise. + * opt.adb: Likewise. + * opt.ads: Likewise. + * osint-b.adb: Likewise. + * osint-b.ads: Likewise. + * osint-c.adb: Likewise. + * osint-c.ads: Likewise. + * osint-l.adb: Likewise. + * osint-l.ads: Likewise. + * osint-m.adb: Likewise. + * osint-m.ads: Likewise. + * osint.adb: Likewise. + * osint.ads: Likewise. + * output.adb: Likewise. + * output.ads: Likewise. + * par-ch10.adb: Likewise. + * par-ch11.adb: Likewise. + * par-ch12.adb: Likewise. + * par-ch13.adb: Likewise. + * par-ch2.adb: Likewise. + * par-ch3.adb: Likewise. + * par-ch4.adb: Likewise. + * par-ch5.adb: Likewise. + * par-ch6.adb: Likewise. + * par-ch7.adb: Likewise. + * par-ch8.adb: Likewise. + * par-ch9.adb: Likewise. + * par-endh.adb: Likewise. + * par-labl.adb: Likewise. + * par-load.adb: Likewise. + * par-prag.adb: Likewise. + * par-sync.adb: Likewise. + * par-tchk.adb: Likewise. + * par-util.adb: Likewise. + * par.adb: Likewise. + * par.ads: Likewise. + * par_sco.adb: Likewise. + * par_sco.ads: Likewise. + * pprint.adb: Likewise. + * pprint.ads: Likewise. + * prep.adb: Likewise. + * prep.ads: Likewise. + * prepcomp.adb: Likewise. + * prepcomp.ads: Likewise. + * put_scos.adb: Likewise. + * put_scos.ads: Likewise. + * raise-gcc.c: Likewise. + * raise.c: Likewise. + * raise.h: Likewise. + * repinfo-input.adb: Likewise. + * repinfo-input.ads: Likewise. + * repinfo.adb: Likewise. + * repinfo.ads: Likewise. + * repinfo.h: Likewise. + * restrict.adb: Likewise. + * restrict.ads: Likewise. + * rident.ads: Likewise. + * rtfinal.c: Likewise. + * rtinit.c: Likewise. + * rtsfind.adb: Likewise. + * rtsfind.ads: Likewise. + * runtime.h: Likewise. + * s-oscons-tmplt.c: Likewise. + * sa_messages.adb: Likewise. + * sa_messages.ads: Likewise. + * scans.adb: Likewise. + * scans.ads: Likewise. + * scil_ll.adb: Likewise. + * scil_ll.ads: Likewise. + * scn.adb: Likewise. + * scn.ads: Likewise. + * scng.adb: Likewise. + * scng.ads: Likewise. + * scos.adb: Likewise. + * scos.ads: Likewise. + * scos.h: Likewise. + * sdefault.ads: Likewise. + * seh_init.c: Likewise. + * sem.adb: Likewise. + * sem.ads: Likewise. + * sem_aggr.adb: Likewise. + * sem_aggr.ads: Likewise. + * sem_attr.adb: Likewise. + * sem_attr.ads: Likewise. + * sem_aux.adb: Likewise. + * sem_aux.ads: Likewise. + * sem_case.adb: Likewise. + * sem_case.ads: Likewise. + * sem_cat.adb: Likewise. + * sem_cat.ads: Likewise. + * sem_ch10.adb: Likewise. + * sem_ch10.ads: Likewise. + * sem_ch11.adb: Likewise. + * sem_ch11.ads: Likewise. + * sem_ch12.adb: Likewise. + * sem_ch12.ads: Likewise. + * sem_ch13.adb: Likewise. + * sem_ch13.ads: Likewise. + * sem_ch2.adb: Likewise. + * sem_ch2.ads: Likewise. + * sem_ch3.adb: Likewise. + * sem_ch3.ads: Likewise. + * sem_ch4.adb: Likewise. + * sem_ch4.ads: Likewise. + * sem_ch5.adb: Likewise. + * sem_ch5.ads: Likewise. + * sem_ch6.adb: Likewise. + * sem_ch6.ads: Likewise. + * sem_ch7.adb: Likewise. + * sem_ch7.ads: Likewise. + * sem_ch8.adb: Likewise. + * sem_ch8.ads: Likewise. + * sem_ch9.adb: Likewise. + * sem_ch9.ads: Likewise. + * sem_dim.adb: Likewise. + * sem_dim.ads: Likewise. + * sem_disp.adb: Likewise. + * sem_disp.ads: Likewise. + * sem_dist.adb: Likewise. + * sem_dist.ads: Likewise. + * sem_elab.adb: Likewise. + * sem_elab.ads: Likewise. + * sem_elim.adb: Likewise. + * sem_elim.ads: Likewise. + * sem_eval.adb: Likewise. + * sem_eval.ads: Likewise. + * sem_intr.adb: Likewise. + * sem_intr.ads: Likewise. + * sem_mech.adb: Likewise. + * sem_mech.ads: Likewise. + * sem_prag.adb: Likewise. + * sem_prag.ads: Likewise. + * sem_res.adb: Likewise. + * sem_res.ads: Likewise. + * sem_scil.adb: Likewise. + * sem_scil.ads: Likewise. + * sem_smem.adb: Likewise. + * sem_smem.ads: Likewise. + * sem_type.adb: Likewise. + * sem_type.ads: Likewise. + * sem_util.adb: Likewise. + * sem_util.ads: Likewise. + * sem_warn.adb: Likewise. + * sem_warn.ads: Likewise. + * set_targ.adb: Likewise. + * set_targ.ads: Likewise. + * sfn_scan.adb: Likewise. + * sfn_scan.ads: Likewise. + * sigtramp-armdroid.c: Likewise. + * sigtramp-ios.c: Likewise. + * sigtramp-qnx.c: Likewise. + * sigtramp-vxworks-target.h: Likewise. + * sigtramp-vxworks.c: Likewise. + * sigtramp.h: Likewise. + * sinfo-cn.adb: Likewise. + * sinfo-cn.ads: Likewise. + * sinfo-utils.adb: Likewise. + * sinfo-utils.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.ads: Likewise. + * stringt.adb: Likewise. + * stringt.ads: Likewise. + * stringt.h: Likewise. + * strub.adb: Likewise. + * strub.ads: Likewise. + * style.adb: Likewise. + * style.ads: Likewise. + * styleg.adb: Likewise. + * styleg.ads: Likewise. + * stylesw.adb: Likewise. + * stylesw.ads: Likewise. + * switch-b.adb: Likewise. + * switch-b.ads: Likewise. + * switch-c.adb: Likewise. + * switch-c.ads: Likewise. + * switch-m.adb: Likewise. + * switch-m.ads: Likewise. + * switch.adb: Likewise. + * switch.ads: Likewise. + * sysdep.c: Likewise. + * table.adb: Likewise. + * table.ads: Likewise. + * targext.c: Likewise. + * targparm.adb: Likewise. + * targparm.ads: Likewise. + * tbuild.adb: Likewise. + * tbuild.ads: Likewise. + * tempdir.adb: Likewise. + * tempdir.ads: Likewise. + * terminals.c: Likewise. + * tracebak.c: Likewise. + * treepr.adb: Likewise. + * treepr.ads: Likewise. + * ttypes.ads: Likewise. + * types.adb: Likewise. + * types.ads: Likewise. + * types.h: Likewise. + * uintp.adb: Likewise. + * uintp.ads: Likewise. + * uintp.h: Likewise. + * uname.adb: Likewise. + * uname.ads: Likewise. + * urealp.adb: Likewise. + * urealp.ads: Likewise. + * urealp.h: Likewise. + * usage.adb: Likewise. + * usage.ads: Likewise. + * validsw.adb: Likewise. + * validsw.ads: Likewise. + * vast.adb: Likewise. + * vast.ads: Likewise. + * warnsw.adb: Likewise. + * warnsw.ads: Likewise. + * widechar.adb: Likewise. + * widechar.ads: Likewise. + * xoscons.adb: Likewise. + * xr_tabls.adb: Likewise. + * xr_tabls.ads: Likewise. + * xref_lib.adb: Likewise. + * xref_lib.ads: Likewise. + * xsnamest.adb: Likewise. + * xutil.adb: Likewise. + * xutil.ads: Likewise. + +2022-01-11 Richard Kenner <kenner@adacore.com> + + * debug.adb: Add documentation for new -gnatd_u and old -gnatd_R + flags used for GNAT LLVM and its CCG. + +2022-01-11 Piotr Trojanek <trojanek@adacore.com> + + * Makefile.rtl (X86_TARGET_PAIRS): Use __builtin variant of + System.Atomic_Counters. + * libgnat/s-atocou__x86.adb: Remove. + +2022-01-10 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.c (Identifier_to_gnu): Use correct subtype. + (elaborate_profile): New function. + (Call_to_gnu): Call it on the formals and the result type before + retrieving the translated result type from the subprogram type. + +2022-01-10 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Fix + computation of boolean result in the unchecked union case. + (components_to_record): Rename MAYBE_UNUSED parameter to IN_VARIANT + and remove local variable of the same name. Pass NULL recursively + as P_GNU_REP_LIST for nested variants in the unchecked union case. + +2022-01-10 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.c (lvalue_required_p) <N_Pragma>: New case. + <N_Pragma_Argument_Association>: Likewise. + (Pragma_to_gnu) <Pragma_Inspection_Point>: Fetch the corresponding + variable of a constant before marking it as addressable. + +2022-01-10 Arnaud Charlet <charlet@adacore.com> + + * gcc-interface/Make-lang.in (ADA_GENERATED_FILES): Remove + s-casuti.ad?, s-crtl.ad?, s-os_lib.ad?. Update list of object + files accordingly. + +2022-01-10 Piotr Trojanek <trojanek@adacore.com> + + * libgnat/s-atopri.ads (Atomic_Compare_Exchange): Replaces + deprecated Sync_Compare_And_Swap. + * libgnat/s-atopri.adb (Lock_Free_Try_Write): Switch from __sync + to __atomic builtins. + +2022-01-10 Piotr Trojanek <trojanek@adacore.com> + + * libgnat/s-exponn.adb, libgnat/s-expont.adb, + libgnat/s-exponu.adb, libgnat/s-widthi.adb, + libgnat/s-widthu.adb: Remove CodePeer annotations for pragma + Loop_Variant. + +2022-01-10 Piotr Trojanek <trojanek@adacore.com> + + * exp_prag.adb (Expand_Pragma_Loop_Variant): Disable expansion + in CodePeer mode. + +2022-01-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Is_Child_Or_Sibling): Fix typo in comment. + +2022-01-10 Eric Botcazou <ebotcazou@adacore.com> + + * exp_pakd.adb (Install_PAT): If the PAT is a scalar type, apply + the canonical adjustment to its alignment. + +2022-01-10 Piotr Trojanek <trojanek@adacore.com> + + * libgnat/s-atocou__builtin.adb (Decrement, Increment): Switch + from __sync to __atomic builtins; use 'Address to be consistent + with System.Atomic_Primitives. + +2022-01-10 Eric Botcazou <ebotcazou@adacore.com> + + * exp_pakd.adb (Install_PAT): Do not reset the alignment here. + * layout.adb (Layout_Type): Call Adjust_Esize_Alignment after having + copied the RM_Size onto the Esize when the latter is too small. + +2022-01-10 Justin Squirek <squirek@adacore.com> + + * sem_warn.adb (Check_References): Handle arrays of tasks + similar to task objects. + +2022-01-07 Patrick Bernardi <bernardi@adacore.com> + + * libgnat/a-direct.adb (Search_Data): Remove type. + (Directory_Vectors): New package instantiation. + (Search_State): New type. + (Fetch_Next_Entry): Remove. + (Close): Remove. + (Finalize): Rewritten. + (Full_Name): Ditto. + (Get_Next_Entry): Return next entry from Search results vector + rather than querying the directory directly using readdir. + (Kind): Rewritten. + (Modification_Time): Rewritten. + (More_Entries): Use Search state cursor to determine if more + entries are available for users to read. + (Simple_Name): Rewritten. + (Size): Rewritten. + (Start_Search_Internal): Rewritten to load the contents of the + directory that matches the pattern and filter into the search + object. + * libgnat/a-direct.ads (Search_Type): New type. + (Search_Ptr): Ditto. + (Directory_Entry_Type): Rewritten to support new Start_Search + procedure. + * libgnat/s-filatt.ads (File_Length_Attr): New function. + +2022-01-07 Etienne Servais <servais@adacore.com> + + * sem_attr.adb (Check_Reference): Fix condition. + +2022-01-07 Ghjuvan Lacambre <lacambre@adacore.com> + + * libgnarl/s-taprop__mingw.adb (Timed_Sleep): Remove "pragma + Unreferenced" for Result. + (Timed_Delay): Likewise. + +2022-01-07 Piotr Trojanek <trojanek@adacore.com> + + * gen_il-gen.adb (Put_Make_Decls): Put pragma Inline in a + dedicated line, so that the current indentation is taken into + account. + +2022-01-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.adb (Build_Array_Aggr_Code): Fix inconsistent style + in comments and code. + +2022-01-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.adb (Gen_Assign): Remove explicit initialization for + components of access types. + (Get_Assoc_Expr): Enable initialization for components of all + types that require simple initialization. + +2022-01-07 Javier Miranda <miranda@adacore.com> + + * atree.ads (Traverse_Func_With_Parent): New generic subprogram. + (Traverse_Proc_With_Parent): Likewise. + * atree.adb (Parents_Stack): New table used to traverse trees + passing the parent field of each node. + (Internal_Traverse_With_Parent): New generic subprogram. + (Traverse_Func_With_Parent): Likewise. + (Traverse_Proc_With_Parent): Likewise. + * contracts.adb (Fix_Parents): New subprogram. + (Restore_Original_Selected_Component): Enhanced to fix the + parent field of restored nodes. + (Inherit_Condition): Adding assertions to check the parent field + of inherited conditions and to ensure that the built inherited + condition has no reference to the formals of the parent + subprogram. + * sem_util.ads, sem_util.adb (Check_Parents): New subprogram. + +2022-01-07 Etienne Servais <servais@adacore.com> + + * sem_attr.adb (Check_Placement_In_Test_Case): Fix typo. + +2022-01-07 Justin Squirek <squirek@adacore.com> + + * comperr.adb (Delete_SCIL_Files): Replace unnecessary + Unreferenced pragma with specific pragma Warnings. + * doc/gnat_rm/implementation_defined_pragmas.rst (Unreferenced): + Add documentation for new behavior. + * gnat_rm.texi: Regenerate. + * erroutc.adb (Set_At): Remove useless assignment. + * exp_ch2.adb (In_Assignment_Context): Deleted. + (Is_Object_Renaming_Name): Replace calls to Is_LHS with calls to + Known_To_Be_Assigned. + (Expand_Current_Value): Replace calls to May_Be_Lvalue with + calls to Known_To_Be_Assigned. + (Expand_Entry_Paramter): Replace calls to In_Assignment_Context + with calls to Known_To_Be_Assigned. + * exp_ch4.adb (Expand_N_Op_Rem): Remove unnecessary Unreferenced + pragma. + * exp_imgv.adb (Build_Enumeration_Image_Tables): Default + initialize S_N. + * ghost.adb (Check_Ghost_Policy): Replace call to May_Be_Lvalue + with call to Known_To_Be_Assigned. + * lib-xref.adb (Is_On_LHS): Deleted. + (OK_To_Set_Referenced): Rewrite subprogram to encompass the new + pragma Unreferenced behavior. + (Process_Deferred_References): Replace call to Is_LHS with call + to Known_To_Be_Assigned. + * libgnarl/s-taasde.adb, libgnarl/s-tasren.adb, + libgnarl/s-tpobop.adb, libgnat/a-calend.adb, + libgnat/a-calfor.adb, 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-cfhama.adb, libgnat/a-cforse.adb, + libgnat/a-cidlli.adb, libgnat/a-cihama.adb, + libgnat/a-cihase.adb, libgnat/a-cimutr.adb, + libgnat/a-ciorma.adb, libgnat/a-ciormu.adb, + libgnat/a-ciorse.adb, libgnat/a-cohama.adb, + libgnat/a-cohase.adb, libgnat/a-comutr.adb, + libgnat/a-convec.adb, libgnat/a-coorma.adb, + libgnat/a-coormu.adb, libgnat/a-coorse.adb, + libgnat/a-crdlli.adb, libgnat/a-tigeau.adb, + libgnat/a-wtgeau.adb, libgnat/a-ztgeau.adb, + libgnat/g-calend.adb, libgnat/g-comlin.adb, + libgnat/g-expect.adb, libgnat/g-mbflra.adb, + libgnat/g-spipat.adb, libgnat/s-fatgen.adb, + libgnat/s-fileio.adb, libgnat/s-os_lib.adb, + libgnat/s-regpat.adb, libgnat/s-valued.adb, + libgnat/s-valuer.adb: Remove unnecessary Unreferenced pragmas + * sem_ch10.adb (Process_Spec_Clauses): Remove useless + assignments. + * sem_ch13.adb (Validate_Literal_Aspect): Default initialize I. + * sem_ch3.adb (Build_Derived_Concurrent_Type): Default + initialize Corr_Decl. + * sem_ch8.adb (Undefined): Replace calls to Is_LHS with calls to + Known_To_Be_Assigned. + (In_Abstract_View_Pragma): Likewise. + * sem_eval.adb (Eval_Selected_Component): Replace calls to + Is_LHS with calls to Known_To_Be_Assigned. + * sem_res.adb (Init_Component): Replace calls to May_Be_Lvalue + with calls to Known_To_Be_Assigned. + * sem_util.adb, sem_util.ads (End_Label_Loc): Default initialize + Owner. + (Explain_Limited_Type): Default initialize Expr_Func. + (Find_Actual): Modified to handle entry families. + (Is_LHS): Deleted. + (May_Be_Lvalue): Deleted. + (Known_To_Be_Assigned): Modified and improved to handle all + cases. + * sem_warn.adb (Traverse_Result): Replace calls to May_Be_Lvalue + with calls to Known_To_Be_Assigned. + (Check_Ref): Modify error on unreferenced out parameters to take + into account different warning flags. + +2022-01-07 Javier Miranda <miranda@adacore.com> + + * sem_ch3.adb (Reorder_Interfaces): When the conflicting + interface is identified we just replace the interface in the + list of interfaces of the tagged type (instead of adding a + duplicate to the list of interfaces). + +2022-01-07 Dmitriy Anisimkov <anisimko@adacore.com> + + * adaint.c (__gnat_kill): Terminate process only in case of + SIGKILL, SIGINT, SIGBREAK, SIGTERM, SIGABRT. Do not call + OpenProcess if not going to terminate process. + +2022-01-07 Eric Botcazou <ebotcazou@adacore.com> + + * exp_prag.adb (Expand_Pragma_Inspection_Point): Do a single pass + over the arguments of the pragma. Set the Address_Taken flag on + them and use the Has_Delayed_Freeze flag to spot those which have + their elaboration delayed. Reuse the location variable Loc. + +2022-01-07 Piotr Trojanek <trojanek@adacore.com> + + * osint.adb (To_Lower): Clarify that only To_Lower function + causes bootstrap issues; fix style. + * treepr.adb (Print_Str_Mixed_Case): Reuse existing case + conversion routine. + (To_Mixed): Rename from Capitalize; reuse System.Case_Util + procedure and explain the bootstrap issue. + +2022-01-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch7.adb (Process_Transients_In_Scope): Remove unnecessary + initialization of Must_Hook; change Detect_Subprogram_Call from + function to procedure; adapt caller. + +2022-01-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch5.adb, exp_disp.adb, exp_util.adb, par-ch4.adb, + sem_ch13.adb: Remove extra space before THEN that occurs at the + end of a line. + +2022-01-07 Dmitriy Anisimkov <anisimko@adacore.com> + + * expect.c (__gnat_waitpid): Use macros WIFEXITED, WEXITSTATUS, + WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG to get exit status + or signal that caused the child process to terminate/stop. Do + not process exit status in case of error in waitpid call. + * adaint.c (__gnat_kill): Use of GenerateConsoleCtrlEvent is + removed in Windows variant as it actually is not working and was + terminating the calling process. Set signal number into exit + code parameter of TerminateProcess to work the same like in + Linux. + +2022-01-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch5.adb (Expand_N_Case_Statement): Remove explicit + expansion. + +2022-01-07 Etienne Servais <servais@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Update -gnatwr documentation. + * gnat_ugn.texi: Regenerate. + +2022-01-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_unst.adb (Unnest_Subprogram): Sync comment with the + current code. + +2022-01-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch4.adb (Raise_Accessibility_Error): Move exception name + to the message string; move << control characters to the end, + for consistency. + * sem_ch6.adb (Analyze_Function_Return): Likewise. + * sem_util.adb (Compile_Time_Constraint_Error): Likewise. + * gcc-interface/decl.c (gnat_to_gnu_entity): Remove quotes + around Storage_Error. + * gcc-interface/trans.c (gnat_to_gnu): Remove quotes around + Constraint_Error. + +2022-01-07 Piotr Trojanek <trojanek@adacore.com> + + * errout.adb (Error_Msg): Move warning suppression code from + Error_Msg_NLE + (Error_Msg_NLE): Warning suppression is now done by the internal + call to Error_Msg. + +2022-01-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch3.adb (Expand_N_Object_Declaration): Remove unnecessary + guards. + * exp_ch4.adb (Expand_N_If_Expression): Likewise; clarify comment. + * exp_ch5.adb (Expand_N_If_Statement, + Expand_Iterator_Loop_Over_Container): Likewise. + * exp_ch9.adb (Expand_N_Task_Type_Declaration): Remove redundant + guard. + * freeze.adb (Freeze_All_Ent): Reduce scope of a local variable. + +2022-01-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch3.adb (Build_Init_Procedure): Remove unnecessary guard. + * exp_disp.adb (Make_DT): Likewise. + * sem_ch12.adb (Analyze_Associations): Likewise. + +2022-01-07 Etienne Servais <servais@adacore.com> + + * sem_res.adb (Resolve_Op_Concat_Arg): Check range when + concatenating scalars. + +2022-01-07 Bob Duff <duff@adacore.com> + + * treepr.adb (Print_Node_Ref): Change "not Is_Array_Type" to + "Is_Discrete_Type". + +2022-01-07 Richard Kenner <kenner@adacore.com> + + * libgnat/g-spipat.ads (Boolean_Func, Natural_Func, + VString_Func): Mark as Favor_Top_Level. + * sem_ch13.adb (Validate_Unchecked_Conversion): Avoid using + internal representation if Unchecked_Conversion between + an access to subprogram and System.Address within the same unit. + +2022-01-07 Bob Duff <duff@adacore.com> + + * treepr.adb (Print_Node_Ref): Print the value if available. + +2022-01-07 Richard Kenner <kenner@adacore.com> + + * sem_util.ads, sem_util.adb (Get_Fullest_View): Add option to + not recurse and return the next-most-fullest view. + +2022-01-07 Bob Duff <duff@adacore.com> + + * sem_ch10.adb (Check_Redundant_Withs): Add a warning if a + library unit with's its own ancestor. Note that this warning is + not triggered for something like "with P.R;" in P.Q, because + there the "with P;" is considered implicit. + * fname-sf.adb, libgnarl/s-stusta.adb, libgnarl/s-tasdeb.ads, + libgnat/a-calfor.adb, libgnat/a-tiboio.adb, + libgnat/a-wwboio.adb, libgnat/a-zzboio.adb, libgnat/i-cobol.adb, + libgnat/s-bitops.adb, libgnat/s-bitops.ads, + libgnat/s-direio.adb, libgnat/s-dwalin.adb, + libgnat/s-geveop.adb, libgnat/s-mmosin__unix.adb, + libgnat/s-os_lib.adb, libgnat/s-os_lib.ads, + libgnat/s-pooglo.ads, libgnat/s-secsta.adb, + libgnat/s-shasto.adb, libgnat/s-stausa.ads, + libgnat/s-stratt.ads, libgnat/s-ststop.adb: Remove with of + parent. + * sinfo.ads: Minor comment fix. + +2022-01-07 Bob Duff <duff@adacore.com> + + * osint-m.adb: Remove with_clause and pragma. + +2022-01-06 Bob Duff <duff@adacore.com> + + * sem_res.adb (Resolve_Range): Warn on null range, unless we are + inside a generic unit or an instance thereof. + * sem_ch3.adb (Analyze_Subtype_Indication): Minor: avoid double + negative. + +2022-01-06 Piotr Trojanek <trojanek@adacore.com> + + * errout.adb (Adjust_Name_Case): Remove unnecessary declare + block. + +2022-01-06 Yannick Moy <moy@adacore.com> + + * libgnat/a-ngcoar.adb: Add pragma to ignore assertions in + instance. + * libgnat/a-ngrear.adb: Likewise. + * libgnat/s-gearop.adb: Prove implementation is free of runtime + errors. + * libgnat/s-gearop.ads: Add contracts to protect against runtime + errors in the generic part. + +2022-01-06 Piotr Trojanek <trojanek@adacore.com> + + * errout.adb (Remove_Warning_Messages): Use traversal procedure + instead of traversal function, since we discard status of each + step anyway. + +2022-01-06 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch4.adb (Expand_Concatenate): There is no reason for using + declaring, raising and catching an exception; a simple return + statement is enough. + +2022-01-06 Piotr Trojanek <trojanek@adacore.com> + + * sem_eval.adb (Eval_Arithmetic_Op): Add Loc parameter to all + calls to Apply_Compile_Time_Constraint_Error related to division + by zero. + +2022-01-06 Piotr Trojanek <trojanek@adacore.com> + + * errout.adb (Remove_Warning_Messages): Remove unnecessary guard. + * exp_util.adb (Kill_Dead_Code): Likewise. + * par_sco.adb (Traverse_Declarations_Or_Statements): Likewise. + * sem_ch3.adb (Build_Derived_Record_Type): Likewise. + * sem_ch4.adb (Traverse_Interfaces): Likewise. + * sem_eval.adb (Traverse_Interfaces): Likewise. + * sem_util.adb (Collect_Interfaces): Likewise. + (Has_Non_Null_Statements, Side_Effect_Free_Statements): + Likewise; turn into WHILE loops, for consistency. + +2022-01-06 Etienne Servais <servais@adacore.com> + + * sem_type.adb (Full_View_Covers): Fix typo. + +2022-01-06 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch12.adb (Insert_Freeze_Node_For_Instance): When going to + the outer level, do not jump over following instantiations in + the list. + +2022-01-06 Piotr Trojanek <trojanek@adacore.com> + + * err_vars.ads (Warn_On_Instance): Remove; it was a relic from + the previous handling of warning in instances that was removed + decades ago. + +2022-01-06 Piotr Trojanek <trojanek@adacore.com> + + * errout.adb (Error_Msg_Internal): Reorder words. + * erroutc.ads (Is_Warning_Msg): Add closing paren. + * sem_util.adb (Compile_Time_Constraint_Error): Fix casing. + +2022-01-06 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Resolve_String_Literal): Simplify pointer + arithmetic. + +2022-01-06 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Resolve_String_Literal): Avoid unnecessary + conversions inside "<" and ">" bodies. + +2022-01-06 Piotr Trojanek <trojanek@adacore.com> + + * checks.adb (Null_Exclusion_Static_Checks, + Selected_Range_Checks): Fix style. + +2022-01-06 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch8.adb (Analyze_Package_Renaming): Do not check for Text_IO + special units when the name of the renaming is a generic instance, + which is the case for package instantiations in the GNAT model. + +2022-01-06 Steve Baird <baird@adacore.com> + + * sem_util.adb (Build_Discriminant_Reference): In the unexpected + case where we previously would fail an assertion, we instead + revert to the old behavior. + +2022-01-06 Steve Baird <baird@adacore.com> + + * sem_util.adb (Build_Actual_Subtype_Of_Component): Define a new + local function, Build_Discriminant_Reference, and call it in + each of the three cases where Make_Selected_Component was + previously being called to construct a discriminant reference (2 + in Build_Actual_Array_Constraint and 1 in + Build_Actual_Record_Constraint). Instead of unconditionally + using the passed-in object name as the prefix for the new + selected component node, this new function checks to see if + perhaps a prefix of that name should be used instead. + +2022-01-06 Etienne Servais <servais@adacore.com> + + * atree.adb: Fix typo. + * einfo.ads: Likewise. + * exp_aggr.adb: Likewise. + * exp_ch6.adb: Likewise. + * exp_ch7.adb: Likewise. + * exp_ch9.adb: Likewise. + * exp_prag.adb: Likewise. + * exp_unst.adb: Likewise. + * exp_unst.ads: Likewise. + * exp_util.adb: Likewise. + * par-endh.adb: Likewise. + * par.adb: Likewise. + * restrict.adb: Likewise. + * sem.ads: Likewise. + * sem_ch4.adb: Likewise. + * sem_ch5.adb: Likewise. + * sem_ch6.adb: Likewise. + * sem_ch8.adb: Likewise. + * sem_ch12.adb: Likewise. + * sem_ch13.adb: Likewise. + * sem_dim.adb: Likewise. + * sem_elab.adb: Likewise. + * sem_prag.adb: Likewise. + * sem_res.adb: Likewise. + * sem_util.adb: Likewise. + * sem_util.ads: Likewise. + * sinfo.ads: Likewise. + * sprint.adb: Likewise. + * urealp.adb: Likewise. + +2022-01-06 Justin Squirek <squirek@adacore.com> + + * exp_ch3.adb (Build_Assignment): Replace current instance of + type with Init_Proc formal. + * sem_attr.adb (OK_Self_Reference): Handle recognition of + Current_Instance to detect certain expansion. + * sem_ch4.adb (Analyze_One_Call): Set actual's type when the + actual in question is a current instance and its corresponding + formal is an incomplete type. + * sem_util.adb (Is_Current_Instance): Add check for incomplete + views and add comment. + +2022-01-06 Bob Duff <duff@adacore.com> + + * libgnat/s-rident.ads (No_Tagged_Type_Registration): New + restriction identifier. + * restrict.ads (Implementation_Restriction): Add restriction. + * exp_ch7.adb (Process_Declarations): Suppress + tagged-type-related finalization actions if the restriction is + active. Call RTE_Available last. + * exp_disp.adb (Make_DT): Likewise. + * exp_util.adb (Requires_Cleanup_Actions): Return False for a + tagged type declaration if No_Tagged_Type_Registration is + active. + * sem_attr.adb (Check_Stream_Attribute): Check restriction + No_Tagged_Type_Registration. + * libgnat/a-except.ads (Null_Occurrence): Minor: Initialize, to + avoid stopping at a warning in gdb. + * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: + Document new restriction. + * gnat_rm.texi: Regenerate. + +2022-01-06 Piotr Trojanek <trojanek@adacore.com> + + * par-ch4.adb (P_Simple_Expression): Reuse Null_String_Id. + * prep.adb (Parse_Def_File): Likewise; remove Empty_String. + +2022-01-06 Eric Botcazou <ebotcazou@adacore.com> + + * stand.ads (Any_Access): Delete. + (Universal_Access): New entity. + * einfo.ads: Remove obsolete reference to Any_Access. + * gen_il-gen-gen_entities.adb: Likewise. + * cstand.adb (Create_Standard): Do not create Any_Access and create + Universal_Access as a full type instead. + * errout.adb (Set_Msg_Insertion_Type_Reference): Do not deal with + Any_Access and deal with Universal_Access instead. + * sem_ch3.adb (Analyze_Object_Declaration): Replace Any_Access with + Universal_Access. + * sem_ch4.adb (Analyze_Null): Likewise. + (Find_Non_Universal_Interpretations): Likewise. + (Find_Equality_Types.Try_One_Interp): Likewise and avoid shadowing + by renaming a local variable of the same name. + * sem_res.adb (Make_Call_Into_Operato): Likewise. + (Resolve_Equality_Op): Likewise. + * sem_type.adb (Covers): Likewise. + (Specific_Type): Likewise. + +2022-01-06 Piotr Trojanek <trojanek@adacore.com> + + * treepr.adb (Destroy): Prevent spurious check from CodePeer. + +2022-01-06 Yannick Moy <moy@adacore.com> + + * libgnat/s-exponu.adb (Exponu): Add annotation. + +2022-01-06 Justin Squirek <squirek@adacore.com> + + * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Add comments + regarding special handling of components which depend on + discriminants. + * exp_dist.adb (Build_From_Any_Function): Add Real_Rep actual + for calls to Has_Stream_Attribute_Definition. + (Build_To_Any_Function): Likewise. + (Build_TypeCode_Function): Likewise. + * freeze.adb (Freeze_Entity): Add missing comment for Test_E. + * libgnat/s-utf_32.adb: Remove disabled warning comments and + temporarily inserted pragma warnings. Remove very old (2006 and + 2012) comments about bootstrapping older versions. + * par.adb (P_Identifier): Add new parameter Force_Msg. + * par-ch2.adb (P_Identifier): Restructure and clean up function. + * par-ch3.adb (P_Defining_Identifier): Remove code duplication + for parsing identifiers. + * sem_attr.adb (Stream_Attribute_Available): Add missing + comments and add Real_Rep actual for calls to + Has_Stream_Attribute_Definition. + * sem_cat.adb (Has_Read_Write_Attribute): Add Real_Rep actual + for calls to Has_Stream_Attribute_Definition. + (Has_Stream_Attribute_Definition): Remove local Real_Rep and fix + recursive calls. Add default value for Real_Rep. + * sem_cat.ads (Has_Stream_Attribute_Definition): Add new out + parameter "Real_Rep". + * sem_type.adb (Add_Entry): Add condition to avoid passing + non-function calls to Function_Interp_Has_Abstract_Op. + (Function_Interp_Has_Abstract_Op): Add missing comments and + remove check for Is_Overloadable. + * sem_util.adb (Derivation_Too_Early_To_Inherit): Remove + duplicated code. + +2022-01-06 Javier Miranda <miranda@adacore.com> + + * contracts.adb (Restore_Original_Selected_Component): New + subprogram that traverses a preanalyzed expression searching for + dispatching calls to functions whose original node was a + selected component, and replacing them with their original node. + This functionality is required because the preanalyis of + dispatching calls using the Object.Operation notation transforms + such calls, and we need the original condition to properly + inherit and extend the condition expression on tagged type + derivations. This functionality was previously provided by the + routine Install_Original_Selected_Component (as part of + inheriting conditions); now it is performed as part of the + preanalysis of the condition, thus avoiding repeatedly + installing and restoring such nodes. + (Install_Original_Selected_Component): Removed. + (Restore_Dispatching_Calls): Removed. + +2022-01-06 Piotr Trojanek <trojanek@adacore.com> + + * treepr.adb (Visit_Node): Simplify repeated call to + Next_Entity. + +2022-01-06 Piotr Trojanek <trojanek@adacore.com> + + * treepr.ads (Treepr, Print_Tree_List, Print_Tree_Elist): Fix + style in comments. + * treepr.adb (Serial_Numbers): Hash table instance. + (Hash): Hashing routine. + (Print_Field): Fix style. + (Print_Init): Adapt to simple hash table. + (Print_Term): Likewise. + (Serial_Numbers): Likewise. + (Set_Serial_Number): Likewise. + +2022-01-06 Yannick Moy <moy@adacore.com> + + * libgnat/s-expmod.adb: Mark in SPARK. Add ghost code for proof. + * libgnat/s-expmod.ads: Mark in SPARK. Add ghost specifications. + +2022-01-06 Yannick Moy <moy@adacore.com> + + * libgnat/s-explllu.ads: Mark in SPARK. + * libgnat/s-expllu.ads: Mark in SPARK. + * libgnat/s-exponu.adb: Add loop invariants and needed + assertions. + * libgnat/s-exponu.ads: Add functional contract. + * libgnat/s-expuns.ads: Mark in SPARK. + +2022-01-05 Steve Baird <baird@adacore.com> + + * exp_ch5.adb (Finish_Binding_Object_Declaration): Fix a bug + that was introduced in the previous commit. The previous + version initialized a Boolean constant Declare_Copy before the + variable Decl had been initialized properly. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Adjust_External_Name_Case): Use membership test. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch3.adb (Make_Controlling_Function_Wrappers): For + GNATprove build the wrapper as an expression function. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch3.ads (Make_Controlling_Function_Wrappers): Move + declaration from body to spec, so it can be called by + SPARK-specific expansion. + * exp_ch3.adb (Make_Controlling_Function_Wrappers): Likewise. + * exp_spark.adb (SPARK_Freeze_Type): Enable expansion of + wrappers for function with controlling result types. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_dbug.adb, sem_dim.adb: Replace Add_Str_To_Name_Buffer with + Add_Char_To_Name_Buffer. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * gnatls.adb (Gnatls): Use Name_Find function. + * targparm.adb (Get_Target_Parameters): Likewise. + +2022-01-05 Bob Duff <duff@adacore.com> + + * repinfo.adb (List_Entities): The code was assuming that if we + encounter a package in the current scope, then it must be + a (physically) nested package. That was wrong, because it could + be a child package. Avoid recursing into child packages; they + have not been annotated with representation information, and + -gnatR2 queries that information. + +2022-01-05 Marc Poulhiès <poulhies@adacore.com> + + * libgnat/s-sopco3.ads, libgnat/s-sopco3.adb: Remove. + * libgnat/s-sopco4.ads, libgnat/s-sopco4.adb: Remove. + * libgnat/s-sopco5.ads, libgnat/s-sopco5.adb: Remove. + * libgnat/s-strops.ads, libgnat/s-strops.adb: Remove. + * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove occurences of removed + units. + * gcc-interface/Make-lang.in (ada/sdefault.o): Remove + dependencies on removed units. + (GNATBIND_OBJS): Remove occurences of removed units. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch3.adb (Build_Dcheck_Function): Remove extra whitespace. + * libgnarl/s-taskin.adb (Initialize_ATCB): Likewise. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_attr.adb (Build_Array_VS_Func): Remove explicit "IN" in + spec of the generated array validation function; it was + redundant, just like it would be in a user-written code. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch4.adb (Expand_N_Op_Ne): Fix whitespace. + * sem_dim.adb (Expand_Put_Call_With_Symbol): Likewise. + (Reduce): Likewise. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Fix whitespace. + * libgnat/a-cofuve.ads (Add): Likewise. + * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Likewise. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch3.adb (Make_Eq_Body, Make_Neq_Body, + Make_Predefined_Primitive_Eq_Spec, + Make_Predefined_Primitive_Specs): Fix whitespace. + +2022-01-05 Etienne Servais <servais@adacore.com> + + * sem_ch3.adb (Analyze_Component_Declaration): Rework condition + to build subtypes. + (Analyze_Object_Declaration): Likewise. + (Should_Build_Subtype): New. + +2022-01-05 Yannick Moy <moy@adacore.com> + + * libgnat/s-arit128.adb: Mark in SPARK. + * libgnat/s-arit128.ads: Add functional contracts. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (String_From_Numeric_Literal): Simplify using + membership tests and ranges; fix whitespace. + +2022-01-05 Yannick Moy <moy@adacore.com> + + * libgnat/s-expint.ads: Mark in SPARK. Adapt to change to + package. + * libgnat/s-explli.ads: Likewise. + * libgnat/s-expllli.ads: Likewise. + * libgnat/s-expont.adb: Add lemmas and ghost code. + * libgnat/s-expont.ads: Add functional contract. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_disp.adb (Gen_Parameters_Profile): Remove redundant guard. + +2022-01-05 Claire Dross <dross@adacore.com> + + * libgnat/s-valuti.ads (Starts_As_Exponent_Format_Ghost): Ghost + function to determine if a string is recognized as something + which might be an exponent. + (Is_Opt_Exponent_Format_Ghost): Ghost function to determine if a + string has the correct format for an optional exponent. + (Scan_Exponent): Use ghost functions to factorize contracts. + +2022-01-05 Bob Duff <duff@adacore.com> + + * exp_util.ads (Get_Current_Value_Condition): Belt: Add a + postcondition that Val /= Var. + * sem_util.adb (Known_Null): Suspenders: Raise Program_Error if + Get_Current_Value_Condition returned the same value. This will + be enabled even without assertions, because infinite recursion + is a nuisance -- better to crash if this bug ever occurs. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch3.adb (Make_Null_Procedure_Specs): Simplify by reusing + Copy_Subprogram_Spec. + * sem_util.ads (Copy_Subprogram_Spec): Add New_Sloc parameter. + * sem_util.adb (Copy_Subprogram_Spec): Pass New_Sloc to + New_Copy_Tree. + +2022-01-05 Yannick Moy <moy@adacore.com> + + * libgnat/s-exnint.ads: Mark in SPARK. Adapt to change to + package. + * libgnat/s-exnlli.ads: Likewise. + * libgnat/s-exnllli.ads: Likewise. + * libgnat/s-exponn.adb: Add lemmas and ghost code. Secial case + value zero as Left or Right to simplify proof. + * libgnat/s-exponn.ads: Transform the generic function into a + generic package with a function inside. Add a functional + contract. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove redundant + call to Set_Defining_Unit_Name; a similar call is done few lines + below. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch3.adb (Make_Controlling_Function_Wrappers): Create + distinct copies of parameter lists for spec and body with + Copy_Parameter_List; cleanup. + (Make_Null_Procedure_Specs): Fix style in comments; remove a + potentially unnecessary initialization of a local variable. + +2022-01-05 Bob Duff <duff@adacore.com> + + * einfo-utils.ads, einfo-utils.adb (Renamed_Entity Alias): + Change Node_Id to Entity_Id. + +2022-01-05 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wrapper): + Remove unreferenced spec. + * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wrapper): + Remove dead bodies. + +2022-01-05 Yannick Moy <moy@adacore.com> + + * libgnat/s-aridou.adb: Apply replacement. + +2022-01-05 Yannick Moy <moy@adacore.com> + + * libgnat/s-aridou.adb (Lemma_Word_Commutation): Fix for + instances with other values of Single_Size. + +2022-01-05 Marc Poulhiès <poulhies@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst (Compiler_Unit) + (Compiler_Unit_Warning): Remove. + * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate. + * libgnat/g-dynhta.ads: Add comment indicating this unit is + built during stage1. + * libgnat/g-dyntab.ads: Likewise. + * libgnat/g-graphs.ads: Likewise. + * libgnat/g-lists.ads: Likewise. + * libgnat/g-sets.ads: Likewise. + * libgnat/gnat.ads: Likewise. + * libgnat/s-pehage.ads: Likewise. + * libgnat/s-resfil.ads: Likewise. + * libgnat/s-rident.ads: Likewise. + * libgnat/s-utf_32.ads: Likewise. + * errout.ads: Update comment. + * opt.ads (Opt): Remove Compiler_Unit. + * par-ch5.adb (All_Pragmas): Remove call to Check_Compiler_Unit. + * sem_prag.adb (Analyze_Pragma): Likewise. + * sem_ch4.adb (Non_Static_Choice_Error, Analyze_If_Expression) + (Analyze_Set_Membership, Record_Interp): Likewise. + * sem_ch11.adb (Analyze_Raise_Expression): Likewise. + * sem_ch6.adb: Remove Restric package reference. + (Analyze_Extended_Return_Statement): Remove call to + Check_Compiler_Unit. + * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): + Remove handling of Pragma_Compiler_Unit[_Warning}. + * restrict.adb (Check_Compiler_Unit): Remove both. + * restrict.ads: Likewise. + * snames.ads-tmpl (Pragma_Id): Remove + Pragma_Compiler_Unit[_Warning]. + * libgnat/a-assert.ads: Remove pragma Compiler_Unit_Warning. + * libgnat/a-chlat1.ads: Likewise. + * libgnat/a-elchha.adb: Likewise. + * libgnat/a-elchha.ads: Likewise. + * libgnat/a-ioexce.ads: Likewise. + * libgnat/a-strhas.ads: Likewise. + * libgnat/g-byorma.adb: Likewise. + * libgnat/g-byorma.ads: Likewise. + * libgnat/g-dyntab.adb: Likewise. + * libgnat/g-heasor.ads: Likewise. + * libgnat/g-hesora.adb: Likewise. + * libgnat/g-hesora.ads: Likewise. + * libgnat/g-htable.adb: Likewise. + * libgnat/g-htable.ads: Likewise. + * libgnat/g-spchge.adb: Likewise. + * libgnat/g-spchge.ads: Likewise. + * libgnat/g-speche.adb: Likewise. + * libgnat/g-speche.ads: Likewise. + * libgnat/g-table.ads: Likewise. + * libgnat/g-u3spch.adb: Likewise. + * libgnat/g-u3spch.ads: Likewise. + * libgnat/interfac.ads: Likewise. + * libgnat/s-addope.adb: Likewise. + * libgnat/s-addope.ads: Likewise. + * libgnat/s-assert.adb: Likewise. + * libgnat/s-assert.ads: Likewise. + * libgnat/s-bitops.adb: Likewise. + * libgnat/s-bitops.ads: Likewise. + * libgnat/s-carun8.adb: Likewise. + * libgnat/s-carun8.ads: Likewise. + * libgnat/s-casuti.adb: Likewise. + * libgnat/s-casuti.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-excdeb.adb: Likewise. + * libgnat/s-excdeb.ads: Likewise. + * libgnat/s-except.ads: Likewise. + * libgnat/s-exctab.adb: Likewise. + * libgnat/s-exctab.ads: Likewise. + * libgnat/s-finmas.ads: Likewise. + * libgnat/s-htable.adb: Likewise. + * libgnat/s-htable.ads: Likewise. + * libgnat/s-mastop.adb: Likewise. + * libgnat/s-mastop.ads: Likewise. + * libgnat/s-memory.adb: Likewise. + * libgnat/s-memory.ads: Likewise. + * libgnat/s-os_lib.ads: Likewise. + * libgnat/s-parame.adb: Likewise. + * libgnat/s-parame.ads: Likewise. + * libgnat/s-parame__posix2008.ads: Likewise. + * libgnat/s-purexc.ads: Likewise. + * libgnat/s-resfil.adb: Likewise. + * libgnat/s-restri.adb: Likewise. + * libgnat/s-restri.ads: Likewise. + * libgnat/s-secsta.adb: Likewise. + * libgnat/s-secsta.ads: Likewise. + * libgnat/s-soflin.adb: Likewise. + * libgnat/s-soflin.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.ads: Likewise. + * libgnat/s-stache.adb: Likewise. + * libgnat/s-stache.ads: Likewise. + * libgnat/s-stalib.adb: Likewise. + * libgnat/s-stalib.ads: Likewise. + * libgnat/s-stoele.adb: Likewise. + * libgnat/s-stoele.ads: Likewise. + * libgnat/s-strcom.adb: Likewise. + * libgnat/s-strcom.ads: Likewise. + * libgnat/s-strhas.adb: 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-traceb.adb: Likewise. + * libgnat/s-traceb.ads: Likewise. + * libgnat/s-traent.adb: Likewise. + * libgnat/s-traent.ads: Likewise. + * libgnat/s-utf_32.adb: Likewise. + * libgnat/s-unstyp.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. + +2022-01-05 Arnaud Charlet <charlet@adacore.com> + + * osint.adb (File_Names_Equal): Declare To_Lower locally. + * osint.ads (Null_FD): New. + * fmap.adb, sinput-l.adb, targparm.adb: Adapt to changes above. + * switch-b.adb (Scan_Debug_Switches): Use Is_Regular_File to + simplify the bootstrap dependencies. + +2022-01-03 Jakub Jelinek <jakub@redhat.com> + + * gnat_ugn.texi: Bump @copying's copyright year. + * gnat_rm.texi: Likewise. + + +Copyright (C) 2022 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 24ca96fe210615ffdf9d78f7a458cfaefaca35fc..97887c90552b40c034f463eff250248365499ae2 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5397 +1,5 @@ -2022-12-29 Alexandre Oliva <oliva@adacore.com> - - * constexpr.cc (cxx_eval_call_expression): Do not request an - INSERT that would not be completed. - -2022-12-29 Alexandre Oliva <oliva@adacore.com> - - * constraint.cc (normalize_concept_check): Use NO_INSERT for - pre-insertion check. - -2022-12-23 Patrick Palka <ppalka@redhat.com> - - PR c++/108116 - * constexpr.cc (maybe_constant_value): Clear - processing_template_decl before calling break_out_target_exprs. - * init.cc (get_nsdmi): Likewise. - * tree.cc (break_out_target_exprs): Assert processing_template_decl - is cleared. - -2022-12-23 Patrick Palka <ppalka@redhat.com> - - PR c++/107853 - * constraint.cc (maybe_substitute_reqs_for): Substitute into - the template-head requirements of a template friend using only - its outer arguments via outer_template_args. - * cp-tree.h (outer_template_args): Declare. - * pt.cc (outer_template_args): Define, factored out and - generalized from ... - (ctor_deduction_guides_for): ... here. - -2022-12-23 Iain Sandoe <iain@sandoe.co.uk> - - * g++spec.cc (lang_specific_driver): Preserve -static-libstdc++ in - the driver command line for targets without -Bstatic/dynamic support - in their static linker. - -2022-12-21 Jakub Jelinek <jakub@redhat.com> - - PR c++/108180 - * pt.cc (tsubst_expr): Don't call cp_finish_decl on - DECL_OMP_PRIVATIZED_MEMBER vars. - -2022-12-21 Jason Merrill <jason@redhat.com> - - PR c++/84471 - PR c++/107504 - * coroutines.cc (transform_local_var_uses): Don't - specify a location for DECL_VALUE_EXPR. - * decl.cc (cp_finish_decomp): Likewise. - -2022-12-20 Patrick Palka <ppalka@redhat.com> - - PR c++/101886 - * pt.cc (find_template_parameter_info::parm_list_tail): - New data member. - (keep_template_parm): Use parm_list_tail to append rather - than prepend to parm_list. - -2022-12-20 Iain Sandoe <iain@sandoe.co.uk> - - * mangle.cc (write_mangled_name): Append the helper function - suffixes here... - (write_encoding): ... rather than here. - -2022-12-20 Patrick Palka <ppalka@redhat.com> - - PR c++/103346 - PR c++/104278 - PR c++/102553 - * pt.cc (tsubst_copy) <case VIEW_CONVERT_EXPR>: Move the - handling of C++20 template parameter object wrappers to ... - (tsubst_copy_and_build) <case VIEW_CONVERT_EXPR>: ... here. - Accept non-TEMPLATE_PARM_INDEX inner operand. Handle empty - TREE_TYPE on substituted inner operand. Remove same_type_p - assert. Also handle REF_PARENTHESIZED_P VIEW_CONVERT_EXPRs. - -2022-12-19 Patrick Palka <ppalka@redhat.com> - - PR c++/100881 - * constexpr.cc (cxx_eval_builtin_function_call): Adjust calls - to fold_builtin_source_location. - * cp-gimplify.cc (cp_gimplify_expr): Likewise. - (cp_fold): Likewise. - (get_source_location_impl_type): Remove location_t parameter and - adjust accordingly. No longer static. - (fold_builtin_source_location): Take a CALL_EXPR tree instead of a - location and obtain the impl type from its return type. - * cp-tree.h (enum cp_tree_index): Remove CPTI_SOURCE_LOCATION_IMPL - enumerator. - (source_location_impl): Remove. - (fold_builtin_source_location): Adjust parameter type. - (get_source_location_impl_type): Declare. - * decl.cc (cxx_init_decl_processing): Declare - __builtin_source_location with auto return type instead of - const void*. - (require_deduced_type): Update the return type of - __builtin_source_location. - -2022-12-19 Patrick Palka <ppalka@redhat.com> - - PR c++/101886 - * pt.cc (extract_autos_r): Recompute TYPE_CANONICAL after - adjusting the template type parameter's index. Simplify - by using TEMPLATE_TYPE_IDX. Add some sanity checks. - -2022-12-19 Arsen Arsenović <arsen@aarsen.me> - - * contracts.cc: Rename references to - contract_violation_continuation_mode constants to be lowercase. - -2022-12-17 Patrick Palka <ppalka@redhat.com> - - PR c++/107437 - PR c++/87765 - * pt.cc (convert_nontype_argument): Relax is_nondep_const_expr - test to !inst_dep_expr_p. - -2022-12-16 Andrew Pinski <pinskia@gmail.com> - Iain Sandoe <iain@sandoe.co.uk> - - PR c++/107768 - * coroutines.cc (coro_rewrite_function_body): Initialize pointers - from nullptr_node. (morph_fn_to_coro): Likewise. - -2022-12-15 Patrick Palka <ppalka@redhat.com> - - PR c++/102104 - PR c++/108090 - * error.cc (dump_decl) <case USING_DECL>: Look through a - pack expansion in the name as well. - * parser.cc (cp_parser_using_declaration): Handle a parameter - pack appearing in the terminal name of a variadic using-decl. - * pt.cc (tsubst_decl) <case USING_DECL>: Likewise. Combine the - handling of variadic and non-variadic using-decls. - -2022-12-15 Jason Merrill <jason@redhat.com> - - * init.cc (build_vec_init): Rename "flags" to "cleanup_flags" - to distinguish from LOOKUP_*. - -2022-12-15 Arsen Arsenović <arsen@aarsen.me> - - * mangle.cc (write_encoding): Move contract pre/post function - mangling from here... - (write_mangled_name): ... to here, and make it happen always. - -2022-12-15 Patrick Palka <ppalka@redhat.com> - - PR c++/107188 - * parser.cc (cp_parser_using_declaration): Give up early if the - scope of an access-declaration isn't possibly a class type. - -2022-12-15 Patrick Palka <ppalka@redhat.com> - - PR c++/100295 - PR c++/107579 - * pt.cc (el_data::skip_unevaluated_operands): New data member. - (extract_locals_r): If skip_unevaluated_operands is true, - don't walk into unevaluated contexts. - (extract_local_specs): Walk the pattern twice, first with - skip_unevaluated_operands true followed by it set to false. - -2022-12-15 Patrick Palka <ppalka@redhat.com> - - PR c++/105518 - * pt.cc (tsubst_aggr_type): Handle typedefs by delegating to - tsubst and adjusting the result if entering_scope. Split out - the main part of the function into ... - (tsubst_aggr_type_1) ... here. - (tsubst): Use tsubst_aggr_type_1 instead of tsubst_aggr_type. - Handle TYPE_PTRMEMFUNC_P RECORD_TYPEs here instead of in - tsubst_aggr_type_1. - -2022-12-15 Patrick Palka <ppalka@redhat.com> - - PR c++/108104 - * pt.cc (unify) <default>: Relax assert to accept any - CONSTRUCTOR parm, not just COMPOUND_LITERAL_P one. - -2022-12-15 Jakub Jelinek <jakub@redhat.com> - - PR c++/107065 - * typeck.cc (cp_build_unary_op) <case TRUTH_NOT_EXPR>: If - invert_truthvalue_loc returns obvalue_p, wrap it into NON_LVALUE_EXPR. - * parser.cc (cp_parser_binary_expression): Don't call - warn_logical_not_parentheses if current.lhs is a NON_LVALUE_EXPR - of a decl with boolean type. - -2022-12-15 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/108075 - * rtti.cc (emit_support_tinfos): Add pointers to - {bfloat16,float{16,32,64,128,32x,64x,128x}}_type_node to fundamentals - array. - -2022-12-15 Jason Merrill <jason@redhat.com> - - PR c++/108071 - PR c++/105838 - * call.cc (struct conversion_obstack_sentinel): New. - (maybe_init_list_as_array): Compare conversion of dummy argument. - -2022-12-12 Jason Merrill <jason@redhat.com> - - Revert: - 2022-12-08 Jason Merrill <jason@redhat.com> - - PR c++/105838 - * call.cc (convert_like_internal) [ck_list]: Use - maybe_init_list_as_array. - * constexpr.cc (cxx_eval_vec_init_1): Init might have - a different type. - * tree.cc (build_vec_init_elt): Likewise. - * init.cc (build_vec_init): Handle from_array from a - TARGET_EXPR. Retain TARGET_EXPR of a different type. - -2022-12-08 Jason Merrill <jason@redhat.com> - - PR c++/105838 - * call.cc (convert_like_internal) [ck_list]: Use - maybe_init_list_as_array. - * constexpr.cc (cxx_eval_vec_init_1): Init might have - a different type. - * tree.cc (build_vec_init_elt): Likewise. - * init.cc (build_vec_init): Handle from_array from a - TARGET_EXPR. Retain TARGET_EXPR of a different type. - -2022-12-08 Jason Merrill <jason@redhat.com> - - PR c++/105838 - * call.cc (list_ctor_element_type): New. - (braced_init_element_type): New. - (has_non_trivial_temporaries): New. - (maybe_init_list_as_array): New. - (maybe_init_list_as_range): New. - (build_user_type_conversion_1): Use maybe_init_list_as_range. - * parser.cc (cp_parser_braced_list): Call - recompute_constructor_flags. - * cp-tree.h (find_temps_r): Declare. - -2022-12-08 Jason Merrill <jason@redhat.com> - - PR c++/105838 - * cp-tree.h (is_std_allocator): Declare. - * constexpr.cc (is_std_allocator): Split out from... - (is_std_allocator_allocate): ...here. - * init.cc (find_temps_r): New. - (find_allocator_temp): New. - (build_vec_init): Use it. - -2022-12-08 Jason Merrill <jason@redhat.com> - - * constexpr.cc (maybe_constant_value): Add default arg comments. - -2022-12-05 Scott Snyder <sss@li-snyder.org> - - PR plugins/107964 - * Make-lang.in (CP_PLUGIN_HEADERS): Install contracts.h - -2022-12-04 Patrick Palka <ppalka@redhat.com> - - PR c++/107417 - * pt.cc (for_each_template_parm_r) <case REQUIRES_EXPR>: Move - walking of the TREE_TYPE of each parameter to ... - * tree.cc (cp_walk_subtrees) <case REQUIRES_EXPR>: ... here. - -2022-12-04 Iain Sandoe <iain@sandoe.co.uk> - Adrian Perl <adrian.perl@web.de> - - PR c++/100611 - PR c++/101367 - PR c++/101976 - PR c++/99576 - * coroutines.cc (find_interesting_subtree): Do not promote temporaries - that are only used as direct initializers for some other object. - -2022-12-03 Patrick Palka <ppalka@redhat.com> - - PR c++/103081 - * pt.cc (tsubst_copy) <case CONST_DECL>: Generalize - early exit test for namespace-scope decls to check dependence of - the enclosing scope instead. Remove dead early exit test. - -2022-12-02 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> - Jason Merrill <jason@redhat.com> - - * decl.cc (grokdeclarator): Build RESULT_DECL. - (start_preparsed_function): Copy location from template. - * semantics.cc (apply_deduced_return_type): Handle - arg != current_function_decl. - * method.cc (implicitly_declare_fn): Use it. - -2022-12-02 Jason Merrill <jason@redhat.com> - - * g++spec.cc (lang_specific_driver): Set SKIPOPT for nostdlib++. - -2022-12-02 Jakub Jelinek <jakub@redhat.com> - - PR c++/84469 - * parser.cc (cp_convert_omp_range_for): After do_auto_deduction if - !processing_template_decl call cp_finish_decomp with - processing_template_decl temporarily incremented. - -2022-12-02 Jakub Jelinek <jakub@redhat.com> - - PR c++/84469 - * parser.cc (do_range_for_auto_deduction): Add DECOMP_FIRST_NAME - and DECOMP_CNT arguments. Call cp_finish_decomp if DECL - is a structured binding. - (cp_parser_range_for): Adjust do_range_for_auto_deduction caller. - (cp_convert_omp_range_for): Likewise. - -2022-12-02 Patrick Palka <ppalka@redhat.com> - - PR c++/107539 - * constraint.cc (norm_hasher::hash, norm_hasher::equal): Set - comparing_specializations. - (sat_hasher::hash, sat_hasher::equal): Likewise. - * cp-tree.h (atom_hasher::hash, atom_hasher::equal): Likewise. - * pt.cc (ctp_hasher::hash, ctp_hasher::equal): Likewise. - -2022-12-01 Martin Liska <mliska@suse.cz> - - * Make-lang.in: Remove extra object dependency. - -2022-12-01 Jason Merrill <jason@redhat.com> - - * contracts.cc (remove_contract_attributes): Actually prepend - to the list. - * pt.cc (tsubst_contract): Only look for a postcondition if type is - nonnull. - -2022-11-30 Patrick Palka <ppalka@redhat.com> - - PR c++/107542 - * typeck.cc (cp_build_binary_op): In the SPACESHIP_EXPR case, - handle an error_mark_node result type. - -2022-11-29 Patrick Palka <ppalka@redhat.com> - - PR c++/107864 - * decl.cc (function_requirements_equivalent_p): Don't check - DECL_TEMPLATE_SPECIALIZATION. - * pt.cc (determine_specialization): Propagate constraints when - specializing a function template too. Simplify by using - add_outermost_template_args. - -2022-11-28 Jason Merrill <jason@redhat.com> - - PR c++/101733 - * parser.cc (cp_parser_requirement): Parse tentatively for the - 'typename' case. - -2022-11-28 Jason Merrill <jason@redhat.com> - - * parser.cc (cp_parser_decl_specifier_seq): Change 'concept bool' - diagnostic from pedwarn to permerror. - -2022-11-28 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * module.cc: On Windows, 'A:Foo' is supposed to be a module - and not a path. - -2022-11-22 Jason Merrill <jason@redhat.com> - - PR c++/107781 - * contracts.cc (role_name_equal): Use strcspn instead - of strchrnul. - -2022-11-22 Jason Merrill <jason@redhat.com> - - * contracts.cc (build_contract_condition_function): - Set DECL_ARTIFICIAL on return value parm. - * g++spec.cc (lang_specific_driver): Add -lstdc++exp - just before -lstdc++. - -2022-11-20 Patrick Palka <ppalka@redhat.com> - - * constraint.cc (struct norm_entry): Define. - (struct norm_hasher): Define. - (norm_cache): Define. - (normalize_concept_check): Add function comment. Cache the - the normal form of the substituted concept-id. Canonicalize - generic arguments as NULL_TREE. Don't coerce arguments unless - they were substituted. - (normalize_concept_definition): Simplify. Use norm_cache - instead of normalized_map. - -2022-11-20 Patrick Palka <ppalka@redhat.com> - - * pt.cc (coerce_template_parms): Salvage part of the function - comment from c_innermost_t_p. Handle parms being a full - template parameter list. - (coerce_innermost_template_parms): Remove. - (lookup_template_class): Use c_t_p instead of c_innermost_t_p. - (finish_template_variable): Likewise. - (tsubst_decl): Likewise. - (instantiate_alias_template): Likewise. - -2022-11-19 Jakub Jelinek <jakub@redhat.com> - - * constexpr.cc (cxx_eval_constant_expression): Implement C++23 - P2647R1 - Permitting static constexpr variables in constexpr functions. - Allow DECL_EXPRs of decl_constant_var_p static or thread_local vars. - (potential_constant_expression_1): Similarly, except use - decl_maybe_constant_var_p instead of decl_constant_var_p if - processing_template_decl. - -2022-11-19 Jeff Chapman II <jchapman@lock3software.com> - Andrew Sutton <asutton@lock3software.com> - Andrew Marmaduke <amarmaduke@lock3software.com> - Michael Lopez <mlopez@lock3software.com> - Jason Merrill <jason@redhat.com> - - * cp-tree.h (enum cp_tree_index): Add - CPTI_PSEUDO_CONTRACT_VIOLATION. - (pseudo_contract_violation_type): New macro. - (struct saved_scope): Add x_processing_contract_condition. - (processing_contract_condition): New macro. - (comparing_override_contracts): New variable decl. - (find_contract): New inline. - (set_decl_contracts): New inline. - (get_contract_semantic): New inline. - (set_contract_semantic): New inline. - * constexpr.cc (cxx_eval_assert): Split out from... - (cxx_eval_internal_function): ...here. - (cxx_eval_constant_expression): Use it for contracts. - (potential_constant_expression_1): Handle contracts. - * cp-gimplify.cc (cp_genericize_r): Handle contracts. - * cp-objcp-common.cc (cp_tree_size): Handle contracts. - (cp_common_init_ts): Handle contracts. - (cp_handle_option): Handle contracts. - * decl.cc (duplicate_decls): Handle contracts. - (check_tag_decl): Check for bogus contracts. - (start_decl): Check flag_contracts. - (grokfndecl): Call rebuild_postconditions. - (grokdeclarator): Handle contract attributes. - (start_preparsed_function): Call start_function_contracts. - (finish_function): Call finish_function_contracts. - * decl2.cc (cp_check_const_attributes): Skip contracts. - (comdat_linkage): Handle outlined contracts. - * error.cc (dump_type): Handle null TYPE_IDENTIFIER. - * g++spec.cc (EXPERIMENTAL): New macro. - (lang_specific_driver): Add -lstdc++exp if -fcontracts. - * mangle.cc (write_encoding): Handle outlined contracts. - * module.cc (trees_out::fn_parms_init): Handle outlined contracts. - (trees_in::fn_parms_init): Likewise. - (check_mergeable_decl): Likewise. - (module_state_config::get_dialect): Record -fcontracts. - * parser.h (struct cp_unparsed_functions_entry): Add contracts. - * parser.cc (unparsed_contracts): New macro. - (push_unparsed_function_queues): Adjust. - (contract_attribute_p): New. - (cp_parser_statement): Check contracts. - (cp_parser_decl_specifier_seq): Handle contracts. - (cp_parser_skip_to_closing_square_bracket): Split out... - (cp_parser_skip_up_to_closing_square_bracket): ...this fn. - (cp_parser_class_specifier): Do contract late parsing. - (cp_parser_class_head): Check contracts. - (cp_parser_contract_role): New. - (cp_parser_contract_mode_opt): New. - (find_error, contains_error_p): New. - (cp_parser_contract_attribute_spec): New. - (cp_parser_late_contract_condition): New. - (cp_parser_std_attribute_spec): Handle contracts. - (cp_parser_save_default_args): Also save contracts. - * pt.cc (register_parameter_specializations): No longer static. - (register_local_identity): New. - (check_explicit_specialization): Call remove_contract_attributes. - (tsubst_contract, tsubst_contract_attribute): New. - (tsubst_contract_attributes): New. - (tsubst_attribute): Add comment. - (tsubst_copy): Also allow parm when processing_contract_condition. - (tsubst_expr): Handle contracts. - (regenerate_decl_from_template): Handle contracts. - * search.cc (check_final_overrider): Compare contracts. - * semantics.cc (set_cleanup_locs): Skip POSTCONDITION_STMT. - (finish_non_static_data_member): Check contracts. - (finish_this_expr): Check contracts. - (process_outer_var_ref): Handle contracts. - (finish_id_expression_1): Handle contracts. - (apply_deduced_return_type): Adjust contracts. - * tree.cc (handle_contract_attribute): New. - (get_innermost_component, is_this_expression): New. - (comparing_this_references): New. - (equivalent_member_references): New. - (cp_tree_equal): Check it. - * typeck.cc (check_return_expr): Apply contracts. - * Make-lang.in: Add contracts.o. - * config-lang.in: Add contracts.cc. - * cp-tree.def (ASSERTION_STMT, PRECONDITION_STMT) - (POSTCONDITION_STMT): New. - * contracts.h: New file. - * contracts.cc: New file. - -2022-11-18 Jakub Jelinek <jakub@redhat.com> - - * decl.cc (grokdeclarator): Implement - CWG2635 - Constrained structured bindings. Emit a pedwarn on - constrained auto type. Add auto_diagnostic_group for error_at - and inform for non-auto type on structured bindings declaration. - -2022-11-18 Marek Polacek <polacek@redhat.com> - - PR c++/104066 - * decl.cc (grokdeclarator): Check funcdecl_p before complaining - about constinit. - -2022-11-16 Marek Polacek <polacek@redhat.com> - - PR c++/106649 - * constexpr.cc (constexpr_error): New function. - (is_valid_constexpr_fn): Use constexpr_error. - (maybe_save_constexpr_fundef): Call - require_potential_rvalue_constant_expression_fncheck rather than - require_potential_rvalue_constant_expression. Register the - function if -Wno-invalid-constexpr was specified. - (explain_invalid_constexpr_fn): Don't return early if a function marked - 'constexpr' that isn't actually a constant expression was called. - (non_const_var_error): Add a bool parameter. Use constexpr_error. - (inline_asm_in_constexpr_error): Likewise. - (cxx_eval_constant_expression): Adjust calls to non_const_var_error - and inline_asm_in_constexpr_error. - (potential_constant_expression_1): Add a bool parameter. Use - constexpr_error. - (require_potential_rvalue_constant_expression_fncheck): New function. - * cp-tree.h (require_potential_rvalue_constant_expression_fncheck): - Declare. - * method.cc (struct comp_info): Call - require_potential_rvalue_constant_expression_fncheck rather than - require_potential_rvalue_constant_expression. - -2022-11-16 Jakub Jelinek <jakub@redhat.com> - - * typeck.cc (next_common_initial_sequence): Return false members have - different DECL_ALIGN. - (layout_compatible_type_p): Don't test TYPE_ALIGN of ENUMERAL_TYPE - or CLASS_TYPE_P. - -2022-11-16 Jakub Jelinek <jakub@redhat.com> - - PR c++/107624 - * call.cc (keep_unused_object_arg): New function. - (build_op_call): Use it. - (build_op_subscript): Likewise. - (build_new_op): Similarly for ARRAY_REF. - (build_new_method_call): Use it. - * decl.cc (grok_op_properties): For C++20 and earlier, if operator[] - is static member function, require exactly one parameter rather than - exactly two parameters. - -2022-11-16 Jakub Jelinek <jakub@redhat.com> - - * typeck.cc (cp_build_modify_expr): Implement CWG 2654 - - Un-deprecation of compound volatile assignments. Remove - -Wvolatile warning about compound volatile assignments. - -2022-11-16 Jakub Jelinek <jakub@redhat.com> - - * cp-tree.def (CONCEPT_DECL): Move to c-common.def. - * cp-objcp-common.cc (cp_common_init_ts): Don't handle CONCEPT_DECL - here. - * cp-tree.h (finish_concept_definition): Add ATTRS parameter. - * parser.cc (cp_parser_concept_definition): Parse attributes in - between identifier and =. Adjust finish_concept_definition - caller. - * pt.cc (finish_concept_definition): Add ATTRS parameter. Call - cplus_decl_attributes. - * constraint.cc (build_standard_check): If CONCEPT_DECL is - TREE_DEPRECATED, emit -Wdeprecated-declaration warnings. - -2022-11-15 Marek Polacek <polacek@redhat.com> - - PR c++/107492 - * decl.cc (grokdeclarator): Only emit a -Wignored-qualifiers warning - when funcdecl_p. - -2022-11-15 Patrick Palka <ppalka@redhat.com> - - * constexpr.cc (potential_constant_expression_1) - <case *_CAST_EXPR>: Use - cast_valid_in_integral_constant_expression_p instead of - open coding it. - * constraint.cc (tsubst_valid_expression_requirement): Adjust - calls to tsubst_copy_and_build and tsubst_expr. - (tsubst_constraint): Likewise. - (satisfy_atom): Likewise. - (diagnose_trait_expr): Likewise. - * cp-tree.h (tsubst_copy_and_build): Remove i_c_e_p parameter. - (tsubst_expr): Likewise. - * init.cc (get_nsdmi): Adjust calls to tsubst_copy_and_build - and tsubst_expr. - * pt.cc (expand_integer_pack): Likewise. - (instantiate_non_dependent_expr_internal): Likewise. - (tsubst_friend_function): Likewise. - (tsubst_attribute): Likewise. - (instantiate_class_template): Likewise. - (tsubst_template_arg): Likewise. - (gen_elem_of_pack_expansion_instantiation): Likewise. - (tsubst_fold_expr_init): Likewise. - (tsubst_pack_expansion): Likewise. - (tsubst_default_argument): Likewise. - (tsubst_function_decl): Likewise. - (tsubst_decl): Likewise. - (tsubst_arg_types): Likewise. - (tsubst_exception_specification): Likewise. - (tsubst): Likewise. - (tsubst_init): Likewise. - (tsubst_copy): Likewise. - (tsubst_omp_clause_decl): Likewise. - (tsubst_omp_clauses): Likewise. - (tsubst_copy_asm_operands): Likewise. - (tsubst_omp_for_iterator): Likewise. - (tsubst_expr): Likewise. Remove i_c_e_p parameter. - (tsubst_omp_udr): Likewise. - (tsubst_non_call_postfix_expression): Likewise. Remove i_c_e_p parameter. - (tsubst_lambda_expr): Likewise. - (tsubst_copy_and_build_call_args): Likewise. - (tsubst_copy_and_build): Likewise. Remove i_c_e_p parameter. - <case IDENTIFIER_NODE>: Adjust call to finish_id_expression - following removal of i_c_e_p. - <case *_CAST_EXPR>: Remove C++98-specific cast validity check - guarded by i_c_e_p. - (maybe_instantiate_noexcept): Adjust calls to - tsubst_copy_and_build and tsubst_expr. - (instantiate_body): Likewise. - (instantiate_decl): Likewise. - (tsubst_initializer_list): Likewise. - (tsubst_enum): Likewise. - -2022-11-15 Patrick Palka <ppalka@redhat.com> - - * cp-lang.cc (objcp_tsubst_copy_and_build): Remove - function_p parameter. - * cp-objcp-common.h (objcp_tsubst_copy_and_build): - Likewise. - * cp-tree.h (tsubst_copy_and_build): Likewise. - * init.cc (get_nsdmi): Adjust calls to tsubst_copy_and_build. - * pt.cc (expand_integer_pack): Likewise. - (instantiate_non_dependent_expr_internal): Likewise. - (tsubst_function_decl): Likewise. - (tsubst_arg_types): Likewise. - (tsubst_exception_specification): Likewise. - (tsubst): Likewise. - (tsubst_copy_asm_operands): Likewise. - (tsubst_expr): Likewise. - (tsubst_non_call_postfix_expression): Likewise. - (tsubst_lambda_expr): Likewise. - (tsubst_copy_and_build_call_args): Likewise. - (tsubst_copy_and_build): Remove function_p parameter - and adjust function comment. Adjust recursive calls. - <case CALL_EXPR>: Update outdated comment about when - we can see an IDENTIFIER_NODE callee with koenig_p=false. - (maybe_instantiate_noexcept): Adjust calls to - tsubst_copy_and_build. - -2022-11-15 Jakub Jelinek <jakub@redhat.com> - - * cp-tree.h (next_common_initial_seqence): Rename to ... - (next_common_initial_sequence): ... this. - * typeck.cc (next_common_initial_seqence): Rename to ... - (next_common_initial_sequence): ... this. - (layout_compatible_type_p): Call next_common_initial_sequence - rather than next_common_initial_seqence. - * semantics.cc (is_corresponding_member_aggr): Likewise. - -2022-11-15 Jakub Jelinek <jakub@redhat.com> - - * decl.cc (grok_op_properties): Implement C++23 P2589R1 - - static operator[]. Handle operator[] similarly to operator() - - allow static member functions, but pedwarn on it for C++20 and - older. Unlike operator(), perform rest of checks on it though for - C++20. - * call.cc (add_operator_candidates): For operator[] with class - typed first parameter, pass that parameter as first_arg and - an adjusted arglist without that parameter. - -2022-11-15 Patrick Palka <ppalka@redhat.com> - - PR c++/107638 - * tree.cc (cxx_attribute_table): Don't conditionally exclude - the init_priority entry. - (handle_init_priority_attribute): Remove ATTRIBUTE_UNUSED. - Return error_mark_node if !SUPPORTS_INIT_PRIORITY. - -2022-11-15 Marek Polacek <polacek@redhat.com> - - * call.cc (maybe_warn_dangling_reference): Don't warn when initializing - a non-const lvalue reference. - -2022-11-14 Jason Merrill <jason@redhat.com> - - * pt.cc (tsubst_friend_function): Check satisfaction. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * Make-lang.in: Support Sphinx based documentation. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * Make-lang.in: - Support installation if sphinx-build is missing. - -2022-11-10 Marek Polacek <polacek@redhat.com> - - * call.cc (std_pair_ref_ref_p): New. - (do_warn_dangling_reference): Also warn when the function returns - std::pair<const T&, const T&>. Recurse into TARGET_EXPR_INITIAL. - (maybe_warn_dangling_reference): Don't return early if we're - initializing a std_pair_ref_ref_p. - -2022-11-09 Jakub Jelinek <jakub@redhat.com> - - * tree.cc (handle_carries_dependency_attribute): New function. - (std_attribute_table): Add carries_dependency attribute. - * parser.cc (cp_parser_check_std_attribute): Add carries_dependency - attribute. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * Make-lang.in: - Support installation if sphinx-build is missing. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * Make-lang.in: Support Sphinx based documentation. - -2022-11-09 Marek Polacek <polacek@redhat.com> - - PR c++/107363 - * semantics.cc (finish_call_expr): Suppress OPT_Wpessimizing_move. - * typeck.cc (maybe_warn_pessimizing_move): Check warn_redundant_move - and warning_suppressed_p. Adjust a message depending on return_p. - (check_return_expr): Don't suppress OPT_Wpessimizing_move here. - -2022-11-08 Jason Merrill <jason@redhat.com> - Jakub Jelinek <jakub@redhat.com> - - * cp-tree.h (fns_correspond): Declare. - * decl.cc (fns_correspond): New. - * call.cc (add_candidates): Look for op!= matching op==. - (joust): Complain about non-standard reversed tiebreaker. - (tourney): Fix champ_compared_to_predecessor logic. - (build_new_op): Don't complain about error_mark_node not having - 'bool' type. - * pt.cc (tsubst_copy_and_build): Don't try to be permissive - when seen_error(). - -2022-11-06 Patrick Palka <ppalka@redhat.com> - - * tree.cc (cxx_attribute_table): Include init_priority entry - only if SUPPORTS_INIT_PRIORITY. - (handle_init_priority_attribute): Add ATTRIBUTE_UNUSED. Assert - SUPPORTS_INIT_PRIORITY is true. - -2022-11-04 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * mapper-client.cc: Use in-process client when networking is - disabled. - -2022-11-03 Marek Polacek <polacek@redhat.com> - - PR c++/107488 - * call.cc (do_warn_dangling_reference): Quash -Wdangling-reference - for member operator*. - -2022-11-03 Patrick Palka <ppalka@redhat.com> - - PR c++/107179 - * constraint.cc (tsubst_requires_expr): Make sure we're not - deferring access checks. - -2022-11-03 Jason Merrill <jason@redhat.com> - - * parser.cc (cp_parser_template_declaration_after_parameters): Fix - concept parsing below C++20. - -2022-11-03 Patrick Palka <ppalka@redhat.com> - - PR c++/93413 - * decl2.cc (mark_used): Don't defer synthesis of virtual - functions. - -2022-11-01 Nathan Sidwell <nathan@acm.org> - - * cp-tree.h (LAMBDA_EXPR_SCOPE_SIG_DISCRIMINATOR): New. - (struct tree_lambda_expr): Add discriminator_sig bitfield. - (recrd_lambda_scope_sig_discriminator): Declare. - * lambda.cc (struct lambda_sig_count): New. - (lambda_discriminator): Add signature vector. - (start_lambda_scope): Adjust. - (compare_lambda_template_head, compare_lambda_sig): New. - (record_lambda_scope_sig_discriminator): New. - * mangle.cc (write_closure_type): Use the scope-sig discriminator for - ABI >= 18. Emit abi mangling warning if needed. - * module.cc (trees_out::core_vals): Stream the new discriminator. - (trees_in::core_vals): Likewise. - * parser.cc (cp_parser_lambda_declarator_opt): Call - record_lambda_scope_sig_discriminator. - * pt.cc (tsubst_lambda_expr): Likewise. - -2022-11-01 Nathan Sidwell <nathan@acm.org> - - * cp-tree.h (LAMBDA_EXPR_DISCRIMINATOR): Rename to ... - (LAMBDA_EXPR_SCOPE_ONLY_DISCRIMINATOR): ... here. - (struct tree_lambda_expr): Make default_capture_mode & - discriminator_scope bitfields. - (record_null_lambda_scope) Delete. - (record_lambda_scope_discriminator): Declare. - * lambda.cc (struct lambda_discriminator): New struct. - (lambda_scope, lambda_scope_stack): Adjust types. - (lambda_count): Delete. - (struct tree_int): Delete. - (start_lambda_scope, finish_lambda_scope): Adjust. - (record_lambda_scope): Only record the scope. - (record_lambda_scope_discriminator): New. - * mangle.cc (write_closure_type_name): Adjust. - * module.cc (trees_out::core_vals): Likewise, - (trees_in::core_vals): Likewise. - * parser.cc (cp_parser_lambda_expression): Call - record_lambda_scope_discriminator. - * pt.cc (tsubst_lambda_expr): Adjust record_lambda_scope caling. Call - record_lambda_scope_discriminator. Commonize control flow on tsubsting - the operator function. - -2022-11-01 Jason Merrill <jason@redhat.com> - - * parser.cc (make_call_declarator): Add std_attrs parm. - (cp_parser_lambda_declarator_opt): Pass it. - (cp_parser_direct_declarator): Pass it. - -2022-11-01 Jason Merrill <jason@redhat.com> - - * decl.cc (finish_function): Set TREE_NOTHROW later in the function. - -2022-11-01 Jason Merrill <jason@redhat.com> - - * decl.cc (duplicate_decls): Reformat loop. - * parser.cc (cp_parser_member_declaration): Add newline. - * semantics.cc: Remove newline. - -2022-10-28 Marek Polacek <polacek@redhat.com> - - * call.cc (maybe_warn_dangling_reference): Enable the warning in - system headers if the decl isn't in a system header. - -2022-10-28 Jason Merrill <jason@redhat.com> - - * decl.cc (grokdeclarator): Call decl_attributes before do_friend. - -2022-10-28 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_parser_omp_all_clauses): Allow optional comma - before the first clause even in pragma syntax. - (cp_parser_omp_allocate, cp_parser_omp_atomic, cp_parser_omp_depobj, - cp_parser_omp_flush, cp_parser_omp_scan_loop_body, - cp_parser_omp_ordered, cp_parser_omp_assumption_clauses, - cp_finish_omp_declare_variant, cp_parser_omp_declare_target, - cp_parser_omp_declare_reduction_exprs, cp_parser_omp_requires, - cp_parser_omp_error): Likewise. - -2022-10-28 Joseph Myers <joseph@codesourcery.com> - - PR c/61469 - * cp-tree.h (ENUM_FIXED_UNDERLYING_TYPE_P, ENUM_UNDERLYING_TYPE): - Remove. Moved to c-common.h. - -2022-10-27 Jakub Jelinek <jakub@redhat.com> - - PR c++/107379 - * name-lookup.cc (push_namespace): Call find_namespace_slot again - after pushdecl as the hash table might be expanded during pushdecl. - -2022-10-27 Nathan Sidwell <nathan@acm.org> - - * mangle.cc (write_closure_template_head): New. - (write_closure_type_name): Call it. - -2022-10-27 Jakub Jelinek <jakub@redhat.com> - - PR c++/107382 - PR c++/107383 - * typeck.cc (cp_build_binary_op): Don't compute semantic_result_type - if result_type is NULL. - -2022-10-26 Marek Polacek <polacek@redhat.com> - - PR c++/106393 - * call.cc (expr_represents_temporary_p): New, factored out of... - (conv_binds_ref_to_temporary): ...here. Don't return false just - because a ck_base is missing. Use expr_represents_temporary_p. - (do_warn_dangling_reference): New. - (maybe_warn_dangling_reference): New. - (extend_ref_init_temps): Call maybe_warn_dangling_reference. - * cp-tree.h: Adjust comment. - * typeck.cc (check_return_expr): Suppress -Wdangling-reference - warnings. - -2022-10-25 Nathan Sidwell <nathan@acm.org> - - * parser.cc (synthesize_implicit_template_parm): Fix thinko about - mark the new parm DECL_VIRTUAL_P. Avoid unneccessary tree_last call. - -2022-10-25 Patrick Palka <ppalka@redhat.com> - - * constraint.cc (resolve_function_concept_overload): Explicitly - pass complain=tf_none to coerce_template_parms. - (resolve_concept_check): Likewise. - (normalize_concept_check): Likewise. - * cp-tree.h (coerce_template_parms): Declare the main overload - and default its last parameter to true. Remove wrapper overloads. - * pt.cc (determine_specialization): Adjust calls to - coerce_template_parms and coerce_innermost_template_parms after - removing their last parameter. - (coerce_template_args_for_ttp): Likewise. - (coerce_ttp_args_for_tta): Likewise. - (coerce_template_template_parms): Likewise. - (coerce_template_parms): Remove use_default_args parameter and - adjust function comment. Document default argument. Remove - wrapper overloads. No longer static. - (coerce_innermost_template_parms): Remove use_default_args - parameter. Default require_all_args to true. - (lookup_template_class): As with determine_specialization. - (finish_template_variable): Likewise. - (tsubst_decl): Likewise. - (instantiate_alias_template): Likewise. - (fn_type_unification): Likewise. - (resolve_overloaded_unification): Likewise. - (resolve_nondeduced_context): Likewise. - (get_partial_spec_bindings): Likewise. - -2022-10-25 Jason Merrill <jason@redhat.com> - - * constexpr.cc (find_failing_clause_r): Re-add the call to - contextual_conv_bool. - -2022-10-25 Patrick Palka <ppalka@redhat.com> - - PR c++/106848 - PR c++/102600 - * module.cc (trees_out::core_vals): Stream TYPE_MAX_VALUE and - TYPE_MIN_VALUE of ENUMERAL_TYPE. - (trees_in::core_vals): Likewise. - (trees_out::write_enum_def): Don't stream them here. - (trees_in::read_enum_def): Likewise. - -2022-10-25 Jason Merrill <jason@redhat.com> - - * constexpr.cc (class constexpr_global_ctx): Add modifiable field, - get_value, get_value_ptr, put_value, remove_value, flush_modifiable - member functions. - (class modifiable_tracker): New. - (cxx_eval_internal_function): Use it. - (diagnose_failing_condition): Strip CLEANUP_POINT_EXPR. - -2022-10-25 Jason Merrill <jason@redhat.com> - - * constexpr.cc (fold_operand): New function. - (find_failing_clause_r): Add const. - (find_failing_clause): Add const. - (diagnose_failing_condition): Add ctx parameter. - (cxx_eval_internal_function): Pass it. - * semantics.cc (diagnose_failing_condition): Move to constexpr.cc. - * cp-tree.h: Adjust. - -2022-10-24 Jason Merrill <jason@redhat.com> - - * cp-gimplify.cc (fold_builtin_source_location) - * vtable-class-hierarchy.cc (register_all_pairs): Simplify calls to - build_string_literal. - (build_string_from_id): Remove. - -2022-10-24 Marek Polacek <polacek@redhat.com> - - PR c++/107276 - * typeck.cc (treat_lvalue_as_rvalue_p): Check the return value of move. - -2022-10-24 Jakub Jelinek <jakub@redhat.com> - - PR c++/107358 - * typeck.cc (cp_build_binary_op): Pass operands before excess precision - promotions to scalar_to_vector call. - -2022-10-24 Jakub Jelinek <jakub@redhat.com> - - PR c++/105774 - * constexpr.cc (cxx_eval_increment_expression): For signed types - that promote to int, evaluate PLUS_EXPR or MINUS_EXPR in int type. - -2022-10-24 Arsen Arsenović <arsen@aarsen.me> - - * cp-tree.h (DECL_MAIN_P): Move most logic, besides the hosted - check, from here... - (DECL_MAIN_ANY_P): ... to here, so that it can be reused ... - (DECL_MAIN_FREESTANDING_P): ... here, with an additional - constraint on (hosted OR return type == int) - * decl.cc (finish_function): Use DECL_MAIN_FREESTANDING_P - instead of DECL_MAIN_P, to loosen the hosted requirement, but - check noreturn, before adding implicit returns. - -2022-10-21 Jakub Jelinek <jakub@redhat.com> - - PR c++/107295 - * constexpr.cc (reduced_constant_expression_p) <case CONSTRUCTOR>: - Return false for VECTOR_TYPE CONSTRUCTORs even without - CONSTRUCTOR_NO_CLEARING set on them. - (cxx_eval_bare_aggregate): If constant but !changed, fold before - returning VECTOR_TYPE_P CONSTRUCTOR. - (cxx_eval_constant_expression) <case CONSTRUCTOR>: Don't fold - TREE_CONSTANT CONSTRUCTOR, just return it. - -2022-10-21 Jakub Jelinek <jakub@redhat.com> - - PR c++/106863 - * semantics.cc (finish_compound_literal): For void{}, if - processing_template_decl return a COMPOUND_LITERAL_P - CONSTRUCTOR rather than void_node. - -2022-10-20 Patrick Palka <ppalka@redhat.com> - - * pt.cc (lookup_and_finish_template_variable): Don't - instantiate if the template's scope is dependent. - (tsubst_copy) <case TEMPLATE_DECL>: Pass entering_scope=true - when substituting the class scope. - -2022-10-20 Patrick Palka <ppalka@redhat.com> - - PR c++/102963 - * module.cc (node_template_info): Handle CONCEPT_DECL. - -2022-10-20 Jonathan Wakely <jwakely@redhat.com> - Ulrich Drepper <drepper@redhat.com> - - * Make-lang.in: Add rules to generate std-name-hint.gperf. Adjust - rule to generate std-name-hint.h to allow chain rule. - * std-name-hint.h: Regenerated. - * std-name-hint.gperf: This file is now generated. - * cxxapi-data.csv: New file. CSV file with C++ API data. - * gen-cxxapi-file.py: New file. Generate std-name-hint.gperf - and module export source (in future). - -2022-10-19 Marek Polacek <polacek@redhat.com> - - PR c++/85043 - * typeck.cc (maybe_warn_about_useless_cast): Don't warn when - a glvalue is cast to a non-reference type. - -2022-10-18 Patrick Palka <ppalka@redhat.com> - - PR c++/105045 - * module.cc (trees_out::tpl_parms_fini): Don't assume default - template arguments must be trailing. - (trees_in::tpl_parms_fini): Likewise. - -2022-10-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/106654 - * cp-tree.h (build_assume_call): Declare. - * parser.cc (cp_parser_omp_assumption_clauses): Use build_assume_call. - * cp-gimplify.cc (build_assume_call): New function. - (process_stmt_assume_attribute): Use build_assume_call. - * pt.cc (tsubst_copy_and_build): Likewise. - -2022-10-17 Patrick Palka <ppalka@redhat.com> - - PR c++/101449 - * module.cc (trees_out::write_function_def): Stream the - parms and result of the constexpr_fundef entry. - (trees_in::read_function_def): Likewise. - -2022-10-14 Patrick Palka <ppalka@redhat.com> - - PR c++/106304 - * constexpr.cc (cxx_dynamic_cast_fn_p): Check for abi_node - instead of global_namespace. - * rtti.cc (build_dynamic_cast_1): Set DECL_CONTEXT and - DECL_SOURCE_LOCATION when building dynamic_cast_node. Push - it into the namespace. - -2022-10-14 Jakub Jelinek <jakub@redhat.com> - - * cp-tree.h (extended_float_type_p): Return true for - bfloat16_type_node. - * typeck.cc (cp_compare_floating_point_conversion_ranks): Set - extended{1,2} if mv{1,2} is bfloat16_type_node. Adjust comment. - -2022-10-14 Jakub Jelinek <jakub@redhat.com> - - PR c/82071 - PR c/87390 - PR c++/107097 - * cp-tree.h (cp_ep_convert_and_check): Remove. - * cvt.cc (cp_ep_convert_and_check): Remove. - * call.cc (build_conditional_expr): Use excess precision for ?: with - one arm floating and another integral. Don't convert first to - semantic result type from integral types. - (convert_like_internal): Don't call cp_ep_convert_and_check, instead - just strip EXCESS_PRECISION_EXPR before calling cp_convert_and_check - or cp_convert. - * typeck.cc (cp_build_binary_op): Set may_need_excess_precision - for comparisons or SPACESHIP_EXPR with at least one operand integral. - Don't compute semantic_result_type if build_type is non-NULL. Call - cp_convert_and_check instead of cp_ep_convert_and_check. - -2022-10-14 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/323 - PR c++/107097 - * parser.cc (cp_parser_primary_expression): Handle - EXCESS_PRECISION_EXPR with REAL_CST operand the same as REAL_CST. - * cvt.cc (cp_ep_convert_and_check): New function. - * call.cc (build_conditional_expr): Add excess precision support. - When type_after_usual_arithmetic_conversions returns error_mark_node, - use gcc_checking_assert that it is because of uncomparable floating - point ranks instead of checking all those conditions and make it - work also with complex types. - (convert_like_internal): Likewise. Add NESTED_P argument, pass true - to recursive calls to convert_like. - (convert_like): Add NESTED_P argument, pass it through to - convert_like_internal. For other overload pass false to it. - (convert_like_with_context): Pass false to NESTED_P. - (convert_arg_to_ellipsis): Add excess precision support. - (magic_varargs_p): For __builtin_is{finite,inf,inf_sign,nan,normal} - and __builtin_fpclassify return 2 instead of 1, document what it - means. - (build_over_call): Don't handle former magic 2 which is no longer - used, instead for magic 1 remove EXCESS_PRECISION_EXPR. - (perform_direct_initialization_if_possible): Pass false to NESTED_P - convert_like argument. - * constexpr.cc (cxx_eval_constant_expression): Handle - EXCESS_PRECISION_EXPR. - (potential_constant_expression_1): Likewise. - * pt.cc (tsubst_copy, tsubst_copy_and_build): Likewise. - * cp-tree.h (cp_ep_convert_and_check): Declare. - * cp-gimplify.cc (cp_fold): Handle EXCESS_PRECISION_EXPR. - * typeck.cc (cp_common_type): For COMPLEX_TYPEs, return error_mark_node - if recursive call returned it. - (convert_arguments): For magic 1 remove EXCESS_PRECISION_EXPR. - (cp_build_binary_op): Add excess precision support. When - cp_common_type returns error_mark_node, use gcc_checking_assert that - it is because of uncomparable floating point ranks instead of checking - all those conditions and make it work also with complex types. - (cp_build_unary_op): Likewise. - (cp_build_compound_expr): Likewise. - (build_static_cast_1): Remove EXCESS_PRECISION_EXPR. - -2022-10-13 Jason Merrill <jason@redhat.com> - - * cp-tree.h: Fix whitespace. - * parser.h: Fix whitespace. - * decl.cc: Fix whitespace. - * parser.cc: Fix whitespace. - * pt.cc: Fix whitespace. - -2022-10-13 Martin Liska <mliska@suse.cz> - - * vtable-class-hierarchy.cc (vtv_generate_init_routine): Emit - an artificial variable that would be put into .preinit_array - section. - -2022-10-13 Marek Polacek <polacek@redhat.com> - - PR c++/106925 - * except.cc (maybe_splice_retval_cleanup): Check current_function_decl. - Make the bool const. - -2022-10-12 Marek Polacek <polacek@redhat.com> - - * call.cc (standard_conversion): Remove LOOKUP_PREFER_RVALUE code. - (reference_binding): Honor clk_implicit_rval even pre-C++20. - (implicit_conversion_1): Remove LOOKUP_PREFER_RVALUE code. - (build_user_type_conversion_1): Likewise. - (convert_like_internal): Likewise. - (build_over_call): Likewise. - * cp-tree.h (LOOKUP_PREFER_RVALUE): Remove. - (LOOKUP_NO_NARROWING): Adjust definition. - * except.cc (build_throw): Don't perform two overload resolutions. - * typeck.cc (maybe_warn_pessimizing_move): Don't use - LOOKUP_PREFER_RVALUE. - (check_return_expr): Don't perform two overload resolutions. - -2022-10-12 Jason Merrill <jason@redhat.com> - - DR 2631 - * cp-tree.h (source_location_current_p): Remove. - * name-lookup.h (struct cp_binding_level): Remove - immediate_fn_ctx_p. - * call.cc (in_immediate_context): All default args - and DMI are potentially immediate context. - (immediate_invocation_p): Don't treat source_location specially. - (struct in_consteval_if_p_temp_override): Move to cp-tree.h. - * constexpr.cc (get_nth_callarg): Move to cp-tree.h. - * cp-gimplify.cc (cp_fold_r): Don't fold consteval. - * name-lookup.cc (begin_scope): Don't set immediate_fn_ctx_p. - * parser.cc (cp_parser_lambda_declarator_opt): Likewise. - (cp_parser_direct_declarator): Likewise. - * pt.cc (tsubst_default_argument): Open sk_function_parms level. - * tree.cc (source_location_current_p): Remove. - (bot_replace): Fold consteval here. - (break_out_target_exprs): Handle errors. - -2022-10-11 Patrick Palka <ppalka@redhat.com> - - PR c++/100134 - * pt.cc (tsubst_friend_function): Propagate DECL_MODULE_PURVIEW_P - from the introduced namespace-scope function to the namespace. - -2022-10-11 Patrick Palka <ppalka@redhat.com> - - PR c++/99377 - * module.cc (lazy_load_binding): Clear processing_template_decl. - (lazy_load_pendings): Likewise. - -2022-10-10 Nathan Sidwell <nathan@acm.org> - - * mangle.cc (write_prefix): Add VAR_DECL & FIELD_DECL to - substitution table under abi=18. Note possible mismatch. - -2022-10-10 Marek Polacek <polacek@redhat.com> - - PR c++/106937 - * error.cc: Include "attribs.h". - (dump_type_prefix): Print only GNU attributes here. - (dump_type_suffix): Print standard attributes here. - -2022-10-08 Jason Merrill <jason@redhat.com> - - * cp-tree.h (TARGET_EXPR_ELIDING_P): New. - (unsafe_copy_elision_p, set_target_expr_eliding) - (cp_build_init_expr): Declare. - * call.cc (unsafe_copy_elision_p): No longer static. - (build_over_call, build_special_member_call) - (build_new_method_call): Use cp_build_init_expr. - * coroutines.cc (expand_one_await_expression) - (build_actor_fn, flatten_await_stmt, handle_nested_conditionals) - (await_statement_walker, morph_fn_to_coro): Use cp_build_init_expr. - * cp-gimplify.cc (cp_gimplify_init_expr) - (cp_gimplify_expr): Check TARGET_EXPR_ELIDING_P. - (cp_fold_r): Propagate it. - (cp_fold): Use cp_build_init_expr. - * decl.cc (check_initializer): Use cp_build_init_expr. - * except.cc (build_throw): Use cp_build_init_expr. - * init.cc (get_nsdmi): Call set_target_expr_eliding. - (perform_member_init, expand_default_init, expand_aggr_init_1) - (build_new_1, build_vec_init): Use cp_build_init_expr. - * method.cc (do_build_copy_constructor): Use cp_build_init_expr. - * semantics.cc (simplify_aggr_init_expr, finalize_nrv_r) - (finish_omp_reduction_clause): Use cp_build_init_expr. - * tree.cc (build_target_expr): Call set_target_expr_eliding. - (bot_manip): Copy TARGET_EXPR_ELIDING_P. - * typeck.cc (cp_build_modify_expr): Call set_target_expr_eliding. - (check_return_expr): Use cp_build_modify_expr. - * typeck2.cc (split_nonconstant_init_1) - (split_nonconstant_init): Use cp_build_init_expr. - (massage_init_elt): Call set_target_expr_eliding. - (process_init_constructor_record): Clear TARGET_EXPR_ELIDING_P on - unsafe copy elision. - (set_target_expr_eliding, cp_build_init_expr): New. - -2022-10-07 Marek Polacek <polacek@redhat.com> - - PR c++/107085 - * call.cc (conv_binds_ref_to_temporary): New. - (ref_conv_binds_directly): Rename to... - (ref_conv_binds_to_temporary): ...this. Use - conv_binds_ref_to_temporary. - * cp-tree.h (ref_conv_binds_directly): Rename to... - (ref_conv_binds_to_temporary): ...this. - * method.cc (ref_xes_from_temporary): Use ref_conv_binds_to_temporary. - * parser.cc (warn_for_range_copy): Likewise. - -2022-10-07 Qing Zhao <qing.zhao@oracle.com> - - * module.cc (trees_out::core_bools): Stream out new bit - decl_not_flexarray. - (trees_in::core_bools): Stream in new bit decl_not_flexarray. - -2022-10-07 Patrick Palka <ppalka@redhat.com> - - * module.cc (trees_out::mark_class_def): Guard against - DECL_BIT_FIELD_REPRESENTATIVE not being a decl. - -2022-10-07 Jason Merrill <jason@redhat.com> - - * init.cc (expand_default_init): Also push the INIT_EXPR inside a - CLEANUP_POINT_EXPR. - -2022-10-07 Patrick Palka <ppalka@redhat.com> - - PR c++/104433 - * module.cc (trees_out::core_bools): Don't override - DECL_EXTERNAL to true for static variables from an inline - function. - -2022-10-07 Martin Liska <mliska@suse.cz> - - * module.cc (enum module_state_counts): Use array size. - * name-lookup.cc (class namespace_limit_reached): Likewise. - (class module_state): Move up in the file. - -2022-10-07 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_parser_check_std_attribute): Only do checks if - attribute is a standard attribute or in gnu namespace and only - lookup other attributes in those namespaces. - * cp-gimplify.cc (lookup_hotness_attribute): Adjust function comment. - Only return true for standard attribute or gnu namespace attribute. - (remove_hotness_attribute): Only remove hotness attributes when - they are standard or in gnu namespace, implement it in a single - loop rather than former 4 now 8 remove_attribute calls. - -2022-10-06 Jason Merrill <jason@redhat.com> - - * coroutines.cc (expand_one_await_expression): Change conversion - to VIEW_CONVERT_EXPR. - * cp-gimplify.cc (cp_genericize_r) [CONVERT_EXPR]: Add assert. - -2022-10-06 Joseph Myers <joseph@codesourcery.com> - - * lex.cc (init_reswords): Handle D_EXT11. - -2022-10-06 Patrick Palka <ppalka@redhat.com> - - * pt.cc (optimize_specialization_lookup_p): Remove. - (retrieve_specialization): Assume the above returns false - and simplify accordingly. - (register_specialization): Likewise. - -2022-10-06 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_parser_omp_assumption_clauses): Emit IFN_ASSUME - call for holds clause on assume construct. - -2022-10-06 Jakub Jelinek <jakub@redhat.com> - - PR c++/106654 - * cp-tree.h (process_stmt_assume_attribute): Implement C++23 - P1774R8 - Portable assumptions. Declare. - (diagnose_failing_condition): Declare. - (find_failing_clause): Likewise. - * parser.cc (assume_attr): New enumerator. - (cp_parser_parenthesized_expression_list): Handle assume_attr. - Remove identifier variable, for id_attr push the identifier into - expression_list right away instead of inserting it before all the - others at the end. - (cp_parser_conditional_expression): New function. - (cp_parser_constant_expression): Use it. - (cp_parser_statement): Handle assume attribute. - (cp_parser_expression_statement): Likewise. - (cp_parser_gnu_attribute_list): Use assume_attr for assume - attribute. - (cp_parser_std_attribute): Likewise. Handle standard assume - attribute like gnu::assume. - * cp-gimplify.cc (process_stmt_assume_attribute): New function. - * constexpr.cc: Include fold-const.h. - (find_failing_clause_r, find_failing_clause): New functions, - moved from semantics.cc with ctx argument added and if non-NULL, - call cxx_eval_constant_expression rather than fold_non_dependent_expr. - (cxx_eval_internal_function): Handle IFN_ASSUME. - (potential_constant_expression_1): Likewise. - * pt.cc (tsubst_copy_and_build): Likewise. - * semantics.cc (diagnose_failing_condition): New function. - (find_failing_clause_r, find_failing_clause): Moved to constexpr.cc. - (finish_static_assert): Use it. Add auto_diagnostic_group. - -2022-10-05 Jason Merrill <jason@redhat.com> - - * tree.cc (lvalue_kind) [VIEW_CONVERT_EXPR]: Change prvalue to - xvalue. - -2022-10-04 Jason Merrill <jason@redhat.com> - - PR c++/107154 - * cp-gimplify.cc (cp_genericize_init_expr): Use iloc_sentinel. - (cp_genericize_target_expr): Likewise. - -2022-10-04 Patrick Palka <ppalka@redhat.com> - - PR c++/107136 - * Make-lang.in (CP_PLUGIN_HEADERS): Add cp-trait.def. - -2022-10-04 Jakub Jelinek <jakub@redhat.com> - - * cp-tree.h (struct omp_declare_target_attr): Rename to ... - (cp_omp_declare_target_attr): ... this. Add device_type member. - (omp_begin_assumes_data): Rename to ... - (cp_omp_begin_assumes_data): ... this. - (struct saved_scope): Change types of omp_declare_target_attribute - and omp_begin_assumes. - * parser.cc (cp_parser_omp_clause_device_type): Uncomment - check_no_duplicate_clause call. - (cp_parser_omp_all_clauses): Fix up pasto, c_name for OMP_CLAUSE_LINK - should be "link" rather than "to". - (cp_parser_omp_declare_target): Adjust for omp_declare_target_attr - to cp_omp_declare_target_attr changes, push -1 as device_type. Use - error_at rather than warning_at for declare target with only - device_type clauses. - (OMP_BEGIN_DECLARE_TARGET_CLAUSE_MASK): Define. - (cp_parser_omp_begin): Add begin declare target support. Adjust - for omp_begin_assumes_data to cp_omp_begin_assumes_data change. - (cp_parser_omp_end): Adjust for the - omp_declare_target_attr to cp_omp_declare_target_attr and - omp_begin_assumes_data to cp_omp_begin_assumes_data type changes, - adjust diagnostics wording and simplify format strings for easier - translations. - * semantics.cc (finish_translation_unit): Likewise. - * decl2.cc (cplus_decl_attributes): If device_type was present on - begin declare target, add "omp declare target host" and/or - "omp declare target nohost" attributes. - -2022-10-03 Jakub Jelinek <jakub@redhat.com> - - * cp-tree.h (BCS_STMT_EXPR): New enumerator. - * name-lookup.h (enum scope_kind): Add sk_stmt_expr. - * name-lookup.cc (begin_scope): Handle sk_stmt_expr like sk_block. - * semantics.cc (begin_compound_stmt): For BCS_STMT_EXPR use - sk_stmt_expr. - * parser.cc (cp_parser_statement_expr): Use BCS_STMT_EXPR instead of - BCS_NORMAL. - * decl.cc (struct named_label_entry): Add in_stmt_expr. - (poplevel_named_label_1): Handle sk_stmt_expr. - (check_previous_goto_1): Diagnose entering of statement expression. - (check_goto): Likewise. - -2022-10-03 Patrick Palka <ppalka@redhat.com> - - * constraint.cc (diagnose_trait_expr): Use CPTK_IS_SAME instead - of CPTK_IS_SAME_AS. - * cp-trait.def (IS_SAME_AS): Rename to ... - (IS_SAME): ... this. - * pt.cc (alias_ctad_tweaks): Use CPTK_IS_SAME instead of - CPTK_IS_SAME_AS. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2022-10-01 Patrick Palka <ppalka@redhat.com> - - * semantics.cc (trait_expr_value): Make cp_trait_kind switch - statement exhaustive. - (finish_trait_expr): Likewise. - (finish_trait_type): Likewise. - -2022-10-01 Jason Merrill <jason@redhat.com> - - * init.cc (build_vec_init): Clear from_array for CONSTRUCTOR - initializer. - -2022-10-01 Jason Merrill <jason@redhat.com> - - * cp-gimplify.cc (cp_genericize_init): Also convert the result of - split_nonconstant_init to void. - -2022-09-30 Patrick Palka <ppalka@redhat.com> - - * constraint.cc (diagnose_trait_expr): Likewise. - * cp-objcp-common.cc (names_builtin_p): Likewise. - * cp-tree.h (enum cp_trait_kind): Likewise. - * cxx-pretty-print.cc (pp_cxx_trait): Likewise. - * parser.cc (cp_keyword_starts_decl_specifier_p): Likewise. - (cp_parser_primary_expression): Likewise. - (cp_parser_trait): Likewise. - (cp_parser_simple_type_specifier): Likewise. - * cp-trait.def: New file. - -2022-09-30 Jason Merrill <jason@redhat.com> - - * cp-gimplify.cc (cp_fold_r) [TARGET_EXPR]: Collapse - TARGET_EXPR within TARGET_EXPR. - * constexpr.cc (cxx_eval_outermost_constant_expr): Avoid - adding redundant TARGET_EXPR. - * cp-tree.h (target_expr_needs_replace): VEC_INIT_EXPR doesn't. - -2022-09-29 Patrick Palka <ppalka@redhat.com> - - PR c++/102576 - * pt.cc (listify): Use lookup_qualified_name instead of - get_namespace_binding. - -2022-09-29 Jason Merrill <jason@redhat.com> - - * class.cc (check_methods): Call constraints_satisfied_p. - -2022-09-29 Jason Merrill <jason@redhat.com> - - * constexpr.cc (potential_constant_expression_1): Look into - DECL_INITIAL. Use location wrappers. - -2022-09-29 Jason Merrill <jason@redhat.com> - - PR c++/93046 - * call.cc (build_conditional_expr): For a?:c extension, treat - a reused class prvalue as an xvalue. - -2022-09-29 Jason Merrill <jason@redhat.com> - - * call.cc (build_conditional_expr): Set TARGET_EXPR_NO_ELIDE on the - outer TARGET_EXPR. - -2022-09-29 Patrick Palka <ppalka@redhat.com> - - * constraint.cc (diagnose_trait_expr): Handle CPTK_REMOVE_CV, - CPTK_REMOVE_REFERENCE and CPTK_REMOVE_CVREF. - * cp-objcp-common.cc (names_builtin_p): Likewise. - * cp-tree.h (enum cp_trait_kind): Add CPTK_REMOVE_CV, - CPTK_REMOVE_REFERENCE and CPTK_REMOVE_CVREF. - * cxx-pretty-print.cc (pp_cxx_trait): Handle CPTK_REMOVE_CV, - CPTK_REMOVE_REFERENCE and CPTK_REMOVE_CVREF. - * parser.cc (cp_keyword_starts_decl_specifier_p): Return true - for RID_REMOVE_CV, RID_REMOVE_REFERENCE and RID_REMOVE_CVREF. - (cp_parser_trait): Handle RID_REMOVE_CV, RID_REMOVE_REFERENCE - and RID_REMOVE_CVREF. - (cp_parser_simple_type_specifier): Likewise. - * semantics.cc (finish_trait_type): Likewise. - -2022-09-29 Patrick Palka <ppalka@redhat.com> - - * cp-objcp-common.cc (cp_common_init_ts): Replace - UNDERLYING_TYPE with TRAIT_TYPE. - * cp-tree.def (TRAIT_TYPE): Define. - (UNDERLYING_TYPE): Remove. - * cp-tree.h (TRAIT_TYPE_KIND_RAW): Define. - (TRAIT_TYPE_KIND): Define. - (TRAIT_TYPE_TYPE1): Define. - (TRAIT_TYPE_TYPE2): Define. - (WILDCARD_TYPE_P): Return true for TRAIT_TYPE. - (finish_trait_type): Declare. - * cxx-pretty-print.cc (cxx_pretty_printer::primary_expression): - Adjust after renaming pp_cxx_trait_expression. - (cxx_pretty_printer::simple_type_specifier) <case TRAIT_TYPE>: - New. - (cxx_pretty_printer::type_id): Replace UNDERLYING_TYPE with - TRAIT_TYPE. - (pp_cxx_trait_expression): Rename to ... - (pp_cxx_trait): ... this. Handle TRAIT_TYPE as well. Correct - pretty printing of the trailing arguments. - * cxx-pretty-print.h (pp_cxx_trait_expression): Rename to ... - (pp_cxx_trait_type): ... this. - * error.cc (dump_type) <case UNDERLYING_TYPE>: Remove. - <case TRAIT_TYPE>: New. - (dump_type_prefix): Replace UNDERLYING_WITH with TRAIT_TYPE. - (dump_type_suffix): Likewise. - * mangle.cc (write_type) <case UNDERLYING_TYPE>: Remove. - <case TRAIT_TYPE>: New. - * module.cc (trees_out::type_node) <case UNDERLYING_TYPE>: - Remove. - <case TRAIT_TYPE>: New. - (trees_in::tree_node): Likewise. - * parser.cc (cp_parser_primary_expression): Adjust after - renaming cp_parser_trait_expr. - (cp_parser_trait_expr): Rename to ... - (cp_parser_trait): ... this. Call finish_trait_type for traits - that yield a type. - (cp_parser_simple_type_specifier): Adjust after renaming - cp_parser_trait_expr. - * pt.cc (for_each_template_parm_r) <case UNDERLYING_TYPE>: - Remove. - <case TRAIT_TYPE>: New. - (tsubst): Likewise. - (unify): Replace UNDERLYING_TYPE with TRAIT_TYPE. - (dependent_type_p_r): Likewise. - * semantics.cc (finish_underlying_type): Don't return - UNDERLYING_TYPE anymore when processing_template_decl. - (finish_trait_type): Define. - * tree.cc (strip_typedefs) <case UNDERLYING_TYPE>: Remove. - <case TRAIT_TYPE>: New. - (cp_walk_subtrees): Likewise. - * typeck.cc (structural_comptypes): Likewise. - -2022-09-29 Nathan Sidwell <nathan@acm.org> - - PR c++/100616 - * module.cc (enum tree_tag): Add tt_nttp_var. - (trees_out::decl_node): Handle NTTP objects. - (trees_in::tree_node): Handle tt_nttp_var. - (depset::hash::add_binding_entry): Skip NTTP objects. - -2022-09-28 Eugene Rozenfeld <erozen@microsoft.com> - - * module.cc (write_location): Write discriminator. - (read_location): Read discriminator. - -2022-09-28 Nathan Sidwell <nathan@acm.org> - - * cp-tree.h (DECL_NTTP_OBJECT_P): New. - (template_parm_object_p): Delete. - (build_template_parm_object): Declare. - * cxx-pretty-print.cc (pp_cx_template_argument_list): Use DECL_NTTP_OBJECT_P. - * error.cc (dump_simple_decl): Likewise. - * mangle.cc (write_template_arg): Likewise. - * pt.cc (template_parm_object_p): Delete. - (create_template_parm_object): Separated out checking from ... - (get_template_parm_object): ... this, new external entry point. - -2022-09-27 Marek Polacek <polacek@redhat.com> - - PR c++/101165 - PR c++/106882 - * call.cc (reference_binding): Check clk_implicit_rval in C++20 only. - * cp-tree.h (unparenthesized_id_or_class_member_access_p): Declare. - * pt.cc (unparenthesized_id_or_class_member_access_p): New function, - broken out of... - (do_auto_deduction): ...here. Use it. In C++23, maybe call - treat_lvalue_as_rvalue_p. - * tree.cc (xvalue_p): Check & clk_rvalueref, not == clk_rvalueref. - * typeck.cc (check_return_expr): Allow implicit move for functions - returning a reference as well, or when the return value type is not - a scalar type. - -2022-09-27 Marek Polacek <polacek@redhat.com> - - * constraint.cc (diagnose_trait_expr): Say "nothrow" without quotes - rather than in quotes. - -2022-09-27 Jonathan Wakely <jwakely@redhat.com> - - PR c++/107049 - * method.cc (is_convertible_helper): Use access check sentinel. - -2022-09-27 Jakub Jelinek <jakub@redhat.com> - - PR c++/106651 - * cp-tree.h (LAMBDA_EXPR_STATIC_P): Implement C++23 - P1169R4 - static operator(). Define. - * parser.cc (CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR): Document - that it also allows static. - (cp_parser_lambda_declarator_opt): Handle static lambda specifier. - (cp_parser_decl_specifier_seq): Allow RID_STATIC for - CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR. - * decl.cc (grok_op_properties): If operator() isn't a method, - use a different error wording, if it is static member function, - allow it (for C++20 and older with a pedwarn unless it is - a lambda function or template instantiation). - * call.cc (joust): Don't ICE if one candidate is static member - function and the other is an indirect call. If the parameter - conversion on the other candidate is user defined conversion, - ellipsis or bad conversion, make static member function candidate - a winner for that parameter. - * lambda.cc (maybe_add_lambda_conv_op): Handle static lambdas. - * error.cc (dump_lambda_function): Print static for static lambdas. - -2022-09-27 Jakub Jelinek <jakub@redhat.com> - - * cp-tree.h (struct omp_begin_assumes_data): New type. - (struct saved_scope): Add omp_begin_assumes member. - * parser.cc: Include bitmap.h. - (cp_parser_omp_assumption_clauses, cp_parser_omp_assume, - cp_parser_omp_assumes, cp_parser_omp_begin): New functions. - (cp_parser_omp_end_declare_target): Rename to ... - (cp_parser_omp_end): ... this. Handle also end assumes. - (cp_parser_omp_construct): Handle PRAGMA_OMP_ASSUME. - (cp_parser_pragma): Handle PRAGMA_OMP_ASSUME, PRAGMA_OMP_ASSUMES - and PRAGMA_OMP_BEGIN. Handle PRAGMA_OMP_END rather than - PRAGMA_OMP_END_DECLARE_TARGET and call cp_parser_omp_end - for it rather than cp_parser_omp_end_declare_target. - * pt.cc (apply_late_template_attributes): Also temporarily clear - omp_begin_assumes. - * semantics.cc (finish_translation_unit): Also diagnose - #pragma omp begin assumes without corresponding - #pragma omp end assumes. - -2022-09-27 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_parser_lambda_declarator_opt): Don't diagnose - conflicting specifiers here. - (cp_storage_class_name): New variable. - (cp_parser_decl_specifier_seq): When setting conflicting_specifiers_p - for the first time, diagnose which exact specifiers conflict. - (cp_parser_set_storage_class): Likewise. Move storage_class - computation earlier. - * decl.cc (grokdeclarator): Don't diagnose conflicting specifiers - here, just return error_mark_node. - -2022-09-27 Jakub Jelinek <jakub@redhat.com> - - PR c++/106652 - PR c++/85518 - * cp-tree.h (cp_compare_floating_point_conversion_ranks): Implement - P1467R9 - Extended floating-point types and standard names except - for std::bfloat16_t for now. Declare. - (extended_float_type_p): New inline function. - * mangle.cc (write_builtin_type): Mangle float{16,32,64,128}_type_node - as DF{16,32,64,128}_. Mangle float{32,64,128}x_type_node as - DF{32,64,128}x. Remove FIXED_POINT_TYPE mangling that conflicts - with that. - * typeck2.cc (check_narrowing): If one of ftype or type is extended - floating-point type, compare floating-point conversion ranks. - * parser.cc (cp_keyword_starts_decl_specifier_p): Handle - CASE_RID_FLOATN_NX. - (cp_parser_simple_type_specifier): Likewise and diagnose missing - _Float<N> or _Float<N>x support if not supported by target. - * typeck.cc (cp_compare_floating_point_conversion_ranks): New function. - (cp_common_type): If both types are REAL_TYPE and one or both are - extended floating-point types, select common type based on comparison - of floating-point conversion ranks and subranks. - (cp_build_binary_op): Diagnose operation with floating point arguments - with unordered conversion ranks. - * call.cc (standard_conversion): For floating-point conversion, if - either from or to are extended floating-point types, set conv->bad_p - for implicit conversion from larger to smaller conversion rank or - with unordered conversion ranks. - (convert_like_internal): Emit a pedwarn on such conversions. - (build_conditional_expr): Diagnose operation with floating point - arguments with unordered conversion ranks. - (convert_arg_to_ellipsis): Don't promote extended floating-point types - narrower than double to double. - (compare_ics): Implement P1467R9 [over.ics.rank]/4 changes. - -2022-09-26 Marek Polacek <polacek@redhat.com> - - PR c++/106656 - * typeck2.cc (array_string_literal_compatible_p): Allow - initializing arrays of char or unsigned char by a UTF-8 string literal. - -2022-09-26 Marek Polacek <polacek@redhat.com> - - PR c++/106784 - * method.cc (is_convertible_helper): New. - (is_convertible): Use it. - (is_nothrow_convertible): Likewise. - -2022-09-26 Patrick Palka <ppalka@redhat.com> - - PR c++/107033 - * module.cc (trees_in::decl_value): In the MK_partial case for - a variable template partial specialization, pass decl_p=true to - add_mergeable_specialization, and set spec to the VAR_DECL not - the TEMPLATE_DECL. - * pt.cc (add_mergeable_specialization): For a variable template - partial specialization, set the TREE_TYPE of the new - DECL_TEMPLATE_SPECIALIZATIONS node to the TREE_TYPE of the - VAR_DECL not the VAR_DECL itself. - -2022-09-23 Marek Polacek <polacek@redhat.com> - - PR c++/106784 - * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_CONVERTIBLE - and CPTK_IS_NOTHROW_CONVERTIBLE. - * cp-objcp-common.cc (names_builtin_p): Handle RID_IS_CONVERTIBLE - RID_IS_NOTHROW_CONVERTIBLE. - * cp-tree.h (enum cp_trait_kind): Add CPTK_IS_CONVERTIBLE and - CPTK_IS_NOTHROW_CONVERTIBLE. - (is_convertible): Declare. - (is_nothrow_convertible): Likewise. - * cxx-pretty-print.cc (pp_cxx_trait_expression): Handle - CPTK_IS_CONVERTIBLE and CPTK_IS_NOTHROW_CONVERTIBLE. - * method.cc (is_convertible): New. - (is_nothrow_convertible): Likewise. - * parser.cc (cp_parser_primary_expression): Handle RID_IS_CONVERTIBLE - and RID_IS_NOTHROW_CONVERTIBLE. - (cp_parser_trait_expr): Likewise. - * semantics.cc (trait_expr_value): Handle CPTK_IS_CONVERTIBLE and - CPTK_IS_NOTHROW_CONVERTIBLE. - (finish_trait_expr): Likewise. - -2022-09-23 Marek Polacek <polacek@redhat.com> - - PR c++/106983 - * typeck2.cc (split_nonconstant_init_1): Check TYPE_P. - -2022-09-22 Patrick Palka <ppalka@redhat.com> - - PR c++/106826 - * module.cc (trees_out::decl_value): Use get_template_info in - the MK_partial case to handle both VAR_DECL and TYPE_DECL. - (trees_out::key_mergeable): Likewise. - (trees_in::key_mergeable): Likewise. - (has_definition): Consider DECL_INITIAL of a partial variable - template specialization. - (depset::hash::make_dependency): Handle partial variable template - specializations too. - -2022-09-20 Patrick Palka <ppalka@redhat.com> - - * decl.cc (cp_finish_decl): After updating the deduced type of a - VAR_DECL, also update the corresponding TEMPLATE_DECL if there - is one. - -2022-09-20 Patrick Palka <ppalka@redhat.com> - - PR c++/106761 - * module.cc (trees_out::type_node) <case TYPE_PACK_EXPANSION>: - Stream PACK_EXPANSION_EXTRA_ARGS. - (trees_in::tree_node) <case TYPE_PACK_EXPANSION>: Likewise. - -2022-09-17 Patrick Palka <ppalka@redhat.com> - - * module.cc (friend_from_decl_list): Don't consider - CLASSTYPE_TEMPLATE_INFO for a TYPENAME_TYPE friend. - (trees_in::read_class_def): Don't add to - CLASSTYPE_BEFRIENDING_CLASSES for a TYPENAME_TYPE friend. - -2022-09-16 Patrick Palka <ppalka@redhat.com> - - PR c++/92505 - * constexpr.cc (cxx_eval_component_reference): Check non_constant_p - sooner. In C++14 or later, reject a DECL_MUTABLE_P member access - only if CONSTRUCTOR_MUTABLE_POISION is also set. - -2022-09-16 Jason Merrill <jason@redhat.com> - - PR c++/106858 - * parser.cc (cp_parser_omp_var_list_no_open): Pass the - initial token location down. - * semantics.cc (finish_omp_clauses): Check - invalid_nonstatic_memfn_p. - * typeck.cc (invalid_nonstatic_memfn_p): Handle null TREE_TYPE. - -2022-09-15 Richard Biener <rguenther@suse.de> - - * decl.cc (cxx_init_decl_processing): Inline last - build_void_list_node call. - (build_void_list_node): Remove. - -2022-09-14 Julian Brown <julian@codesourcery.com> - - * semantics.cc (finish_omp_clauses): Likewise. - -2022-09-13 Patrick Palka <ppalka@redhat.com> - - * cp-tree.h (mark_used): Remove single-parameter overload. Add - default argument to the two-parameter overload. - * decl2.cc (mark_used): Likewise. - -2022-09-13 Patrick Palka <ppalka@redhat.com> - - * cp-tree.h (cxx_constant_value): Define two-parameter version - that omits the object parameter. - * decl.cc (build_explicit_specifier): Omit NULL_TREE object - argument to cxx_constant_value. - * except.cc (build_noexcept_spec): Likewise. - * pt.cc (expand_integer_pack): Likewise. - (fold_targs_r): Likewise. - * semantics.cc (finish_if_stmt_cond): Likewise. - -2022-09-13 Patrick Palka <ppalka@redhat.com> - - * decl.cc (build_explicit_specifier): Pass complain to - cxx_constant_value. - * except.cc (build_noexcept_spec): Likewise. - * pt.cc (expand_integer_pack): Likewise. - (tsubst_function_decl): Propagate error_mark_node returned - from build_explicit_specifier. - -2022-09-12 Patrick Palka <ppalka@redhat.com> - - * call.cc (build_conditional_expr): Adjust calls to - '_sfinae'-suffixed functions. - (build_temp): Likewise. - (convert_like_internal): Likewise. - (convert_arg_to_ellipsis): Likewise. - (build_over_call): Likewise. - (build_cxx_call): Likewise. - (build_new_method_call): Likewise. - * constexpr.cc (cxx_eval_outermost_constant_expr): Likewise. - (cxx_constant_value_sfinae): Rename to ... - (cxx_constant_value): ... this. Document its default arguments. - (fold_non_dependent_expr): Adjust function comment. - * cp-tree.h (instantiate_non_dependent_expr_sfinae): Rename to ... - (instantiate_non_dependent_expr): ... this. Give its 'complain' - parameter a default argument. - (get_target_expr_sfinae, get_target_expr): Likewise. - (require_complete_type_sfinae, require_complete_type): Likewise. - (abstract_virtuals_error_sfinae, abstract_virtuals_error): - Likewise. - (cxx_constant_value_sfinae, cxx_constant_value): Likewise. - * cvt.cc (build_up_reference): Adjust calls to '_sfinae'-suffixed - functions. - (ocp_convert): Likewise. - * decl.cc (build_explicit_specifier): Likewise. - * except.cc (build_noexcept_spec): Likewise. - * init.cc (build_new_1): Likewise. - * pt.cc (expand_integer_pack): Likewise. - (instantiate_non_dependent_expr_internal): Adjust function - comment. - (instantiate_non_dependent_expr): Rename to ... - (instantiate_non_dependent_expr_sfinae): ... this. Document its - default argument. - (tsubst_init): Adjust calls to '_sfinae'-suffixed functions. - (fold_targs_r): Likewise. - * semantics.cc (finish_compound_literal): Likewise. - (finish_decltype_type): Likewise. - (cp_build_bit_cast): Likewise. - * tree.cc (build_cplus_new): Likewise. - (get_target_expr): Rename to ... - (get_target_expr_sfinae): ... this. Document its default - argument. - * typeck.cc (require_complete_type): Rename to ... - (require_complete_type_sfinae): ... this. Document its default - argument. - (cp_build_array_ref): Adjust calls to '_sfinae'-suffixed - functions. - (convert_arguments): Likewise. - (cp_build_binary_op): Likewise. - (build_static_cast_1): Likewise. - (cp_build_modify_expr): Likewise. - (convert_for_initialization): Likewise. - * typeck2.cc (abstract_virtuals_error): Rename to ... - (abstract_virtuals_error_sfinae): ... this. Document its default - argument. - (build_functional_cast_1): Adjust calls to '_sfinae'-suffixed - functions. - -2022-09-12 Patrick Palka <ppalka@redhat.com> - - PR c++/101906 - * pt.cc (tsubst_template_args): Set cp_evaluated here. - (tsubst_aggr_type): Not here. - -2022-09-12 Jason Merrill <jason@redhat.com> - - PR c++/106893 - PR c++/90451 - * decl.cc (cp_finish_decl): Call mark_single_function. - -2022-09-12 Jason Merrill <jason@redhat.com> - - PR c++/93259 - * pt.cc (type_dependent_expression_p): Treat a compound - literal of array-of-unknown-bound type like a variable. - -2022-09-12 Jason Merrill <jason@redhat.com> - - PR c++/106567 - * lambda.cc (type_deducible_expression_p): Check - array_of_unknown_bound_p. - -2022-09-12 Jonathan Wakely <jwakely@redhat.com> - - PR c++/86491 - * decl2.cc (constrain_class_visibility): Adjust wording of - -Wsubobject-linkage for cases where anonymous - namespaces aren't used. - * tree.cc (decl_anon_ns_mem_p): Now only true for actual anonymous - namespace members, rename old semantics to... - (decl_internal_context_p): ...this. - * cp-tree.h, name-lookup.cc, pt.cc: Adjust. - -2022-09-08 Jonathan Wakely <jwakely@redhat.com> - - PR c++/106838 - * class.cc (type_has_virtual_destructor): Return false for - union types. - * semantics.cc (check_trait_type): Add KIND parameter to support - different sets of requirements. - (finish_trait_expr): Pass KIND argument for relevant traits. - -2022-09-08 Patrick Palka <ppalka@redhat.com> - - PR c++/99130 - * decl2.cc (maybe_instantiate_decl): Adjust function comment. - Check VAR_OR_FUNCTION_DECL_P. Pull out the disjunction into ... - (mark_used): ... here, removing the decl_maybe_constant_var_p - part of it. - -2022-09-07 Jason Merrill <jason@redhat.com> - - PR c++/106793 - * decl.cc (grokdeclarator): Improve placeholder diagnostics. - * parser.cc (cp_parser_type_id_1): Add fixit. - -2022-09-07 Arsen Arsenović <arsen@aarsen.me> - - PR c++/106188 - PR c++/106713 - * coroutines.cc (coro_rewrite_function_body): Ensure we have a - BIND_EXPR wrapping the function body. - -2022-09-07 Jakub Jelinek <jakub@redhat.com> - - PR c++/106829 - * semantics.cc (finish_omp_target_clauses): If current_function_decl - isn't a nonstatic member function, don't set data.current_object to - non-NULL. - -2022-09-06 Jason Merrill <jason@redhat.com> - - * decl.cc (grok_op_properties): Return sooner for C++23 op[]. - -2022-09-06 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_parser_omp_clause_doacross_sink): Don't verify val - in omp_cur_iteration - 1 has integer_type_node type. - -2022-09-06 Jakub Jelinek <jakub@redhat.com> - - * pt.cc (tsubst_expr) <case OMP_ORDERED>: If OMP_BODY was NULL, keep - it NULL after instantiation too. - -2022-09-03 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_parser_omp_clause_name): Handle doacross. - (cp_parser_omp_clause_depend_sink): Renamed to ... - (cp_parser_omp_clause_doacross_sink): ... this. Add depend_p - argument. Handle parsing of doacross(sink:omp_cur_iteration-1). Use - OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of - OMP_CLAUSE_DEPEND_SINK_NEGATIVE, build OMP_CLAUSE_DOACROSS instead - of OMP_CLAUSE_DEPEND and set OMP_CLAUSE_DOACROSS_DEPEND flag on it. - (cp_parser_omp_clause_depend): Use OMP_CLAUSE_DOACROSS_SINK and - OMP_CLAUSE_DOACROSS_SOURCE instead of OMP_CLAUSE_DEPEND_SINK and - OMP_CLAUSE_DEPEND_SOURCE, build OMP_CLAUSE_DOACROSS for depend(source) - and set OMP_CLAUSE_DOACROSS_DEPEND on it. - (cp_parser_omp_clause_doacross): New function. - (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DOACROSS. - (cp_parser_omp_depobj): Use OMP_CLAUSE_DEPEND_INVALID instead of - OMP_CLAUSE_DEPEND_SOURCE. - (cp_parser_omp_for_loop): Don't diagnose here linear clause together - with ordered with argument. - (cp_parser_omp_simd): Don't diagnose ordered clause with argument on - for simd. - (OMP_ORDERED_DEPEND_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_DOACROSS. - (cp_parser_omp_ordered): Handle also doacross and adjust for it - diagnostic wording. - * pt.cc (tsubst_omp_clause_decl): Use - OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of - OMP_CLAUSE_DEPEND_SINK_NEGATIVE. - (tsubst_omp_clauses): Handle OMP_CLAUSE_DOACROSS. - (tsubst_expr): Use OMP_CLAUSE_DEPEND_INVALID instead of - OMP_CLAUSE_DEPEND_SOURCE. - * semantics.cc (cp_finish_omp_clause_depend_sink): Rename to ... - (cp_finish_omp_clause_doacross_sink): ... this. - (finish_omp_clauses): Handle OMP_CLAUSE_DOACROSS. Don't handle - OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. - -2022-09-02 David Malcolm <dmalcolm@redhat.com> - - PR c/90885 - * cp-tree.h (class cp_expr): Add bitfield m_decimal. Clear it in - existing ctors. Add ctor that allows specifying its value. - (cp_expr::decimal_p): New accessor. - * parser.cc (cp_parser_expression_stack_entry::flags): New field. - (cp_parser_primary_expression): Set m_decimal of cp_expr when - handling numbers. - (cp_parser_binary_expression): Extract flags from token when - populating stack. Call check_for_xor_used_as_pow. - -2022-09-01 Marek Polacek <polacek@redhat.com> - - * cp-tree.h (maybe_strip_ref_conversion): Remove. - -2022-08-30 Ulrich Drepper <drepper@gmail.com> - - * Make-lang.in: Add rule to rebuild std-name-hint.h from - std-name-hint.gperf. - * name-lookup.cc (get_std_name_hint): Remove hints array. - Use gperf-generated class std_name_hint_lookup. - Include "std-name-hint.h". - * std-name-hint.gperf: New file. - * std-name-hint.h: New file. Generated from the .gperf file. - -2022-08-30 Marek Polacek <polacek@redhat.com> - - PR c++/106759 - * cp-objcp-common.cc (names_builtin_p): Handle RID_IS_NOTHROW_ASSIGNABLE - and RID_IS_NOTHROW_CONSTRUCTIBLE. - -2022-08-29 Marek Polacek <polacek@redhat.com> - - PR c++/106712 - * decl.cc (grokdeclarator): Reverse the order of arguments to - attr_chainon. - -2022-08-26 Marek Polacek <polacek@redhat.com> - - PR c++/81159 - * typeck.cc (maybe_warn_self_move): New. - (cp_build_modify_expr): Call maybe_warn_self_move. - -2022-08-25 Marek Polacek <polacek@redhat.com> - - * cp-tree.h (enum cp_tree_index): Remove CTI_NULLPTR, CTI_NULLPTR_TYPE. - Move it to c_tree_index. - (nullptr_node): No longer define here. - (nullptr_type_node): Likewise. - (NULLPTR_TYPE_P): Likewise. - * decl.cc (cxx_init_decl_processing): Only keep C++-specific nullptr - initialization; move the shared code to c_common_nodes_and_builtins. - -2022-08-25 Jason Merrill <jason@redhat.com> - - * call.cc (unsafe_return_slot_p): Return 2 for *this in a - constructor. - -2022-08-23 Marek Polacek <polacek@redhat.com> - - * typeck.cc (maybe_warn_pessimizing_move): Don't warn about - redundant std::move when the expression was wrapped in { }. - -2022-08-17 Marek Polacek <polacek@redhat.com> - - PR c++/90428 - * typeck.cc (can_do_rvo_p): Rename to ... - (can_elide_copy_prvalue_p): ... this. - (maybe_warn_pessimizing_move): Extend the - -Wredundant-move warning to warn about std::move on a - const-qualified object. - -2022-08-17 Marek Polacek <polacek@redhat.com> - - PR c++/89780 - * pt.cc (tsubst_copy_and_build) <case CALL_EXPR>: Maybe suppress - -Wpessimizing-move. - * typeck.cc (maybe_warn_pessimizing_move): Don't issue warnings - if they are suppressed. - (check_return_expr): Disable -Wpessimizing-move when returning - a dependent expression. - -2022-08-17 Marek Polacek <polacek@redhat.com> - - PR c++/106276 - * call.cc (build_over_call): Call maybe_warn_pessimizing_move. - * cp-tree.h (maybe_warn_pessimizing_move): Declare. - * decl.cc (build_aggr_init_full_exprs): Call - maybe_warn_pessimizing_move. - * typeck.cc (maybe_warn_pessimizing_move): Handle TREE_LIST and - CONSTRUCTOR. Add a bool parameter and use it. Adjust a diagnostic - message. - (check_return_expr): Adjust the call to maybe_warn_pessimizing_move. - -2022-08-17 Tobias Burnus <tobias@codesourcery.com> - Chung-Lin Tang <cltang@codesourcery.com> - - PR c++/104493 - * cp-objcp-common.h (LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove. - * cp-tree.h (cp_omp_mappable_type, cp_omp_emit_unmappable_type_notes): - Remove. - * decl2.cc (cp_omp_mappable_type_1, cp_omp_mappable_type, - cp_omp_emit_unmappable_type_notes): Remove. - (cplus_decl_attributes): Call omp_mappable_type instead of - removed langhook. - * decl.cc (cp_finish_decl): Likewise; call cxx_incomplete_type_inform - in lieu of cp_omp_emit_unmappable_type_notes. - * semantics.cc (finish_omp_clauses): Likewise. - -2022-08-16 Tom Honermann <tom@honermann.net> - - PR c++/106423 - * parser.cc (cp_lexer_saving_tokens): Add comment regarding - diagnostic requirements. - -2022-08-16 Jakub Jelinek <jakub@redhat.com> - - * typeck.cc (cp_build_modify_expr): Implement - P2327R1 - De-deprecating volatile compound operations. Don't warn - for |=, &= or ^= with volatile lhs. - * expr.cc (mark_use) <case MODIFY_EXPR>: Adjust warning wording, - leave out simple. - -2022-08-15 Marek Polacek <polacek@redhat.com> - - PR c++/106276 - * typeck.cc (can_do_rvo_p): New. - (maybe_warn_pessimizing_move): Warn when moving a temporary object - in a return statement prevents copy elision. - -2022-08-11 Marek Polacek <polacek@redhat.com> - - PR middle-end/102633 - * decl.cc (cp_finish_decl): Call suppress_warning. - -2022-08-07 Jakub Jelinek <jakub@redhat.com> - - PR c++/88174 - * constexpr.cc (cxx_eval_store_expression): Handle REALPART_EXPR - and IMAGPART_EXPR. Change ctors from releasing_vec to - auto_vec<tree *>, adjust all uses. For !preeval, update ctors - vector. - -2022-07-31 Lewis Hyatt <lhyatt@gmail.com> - - PR c++/66290 - * parser.cc (cp_lexer_new_main): Rename global done_lexing to - override_libcpp_locations. - -2022-07-31 Jason Merrill <jason@redhat.com> - - PR c++/106369 - * constexpr.cc (reduced_constant_expression_p): Return false - if a CONSTRUCTOR initializes an empty field. - -2022-07-29 Jakub Jelinek <jakub@redhat.com> - - PR c++/106448 - * parser.cc (cp_parser_omp_atomic): For simple cast followed by - CPP_QUERY token, don't try cp_parser_binary_operation if compare - is true. - -2022-07-26 Marek Polacek <polacek@redhat.com> - - PR c++/106311 - * pt.cc (redeclare_class_template): Check DECL_P before accessing - DECL_SOURCE_LOCATION. - -2022-07-26 Jason Merrill <jason@redhat.com> - - PR c++/106230 - * semantics.cc (finish_for_stmt): Check stmts_are_full_exprs_p. - -2022-07-25 Jason Merrill <jason@redhat.com> - - PR c++/87729 - * class.cc (warn_hidden): Remove shortcut. - -2022-07-22 Patrick Palka <ppalka@redhat.com> - - PR c++/106366 - * pt.cc (do_class_deduction): Don't consider TYPE_HAS_LIST_CTOR - when setting try_list_ctor. Reset args even when try_list_ctor - is true and there are no list candidates. Call resolve_args on - the reset args. Rename try_list_ctor to try_list_cand. - -2022-07-22 Martin Liska <mliska@suse.cz> - - PR other/106370 - * init.cc (sort_mem_initializers): Remove continue as last stmt - in a loop. - -2022-07-21 Jason Merrill <jason@redhat.com> - - PR c++/106361 - * decl.cc (move_fn_p): Remove assert. - -2022-07-21 Jason Merrill <jason@redhat.com> - - DR 2084 - PR c++/98423 - * method.cc (walk_field_subobs): Fix DMI in union case. - -2022-07-19 Patrick Palka <ppalka@redhat.com> - - PR c++/94894 - PR c++/105766 - PR c++/106201 - * call.cc (enum conversion_kind): Add ck_deferred_bad enumerator. - (has_next): Return false for it. - (reference_binding): Return a ck_deferred_bad conversion instead - of an actual bad conversion when LOOKUP_SHORTCUT_BAD_CONVS is set. - Remove now obsolete early exit for the incomplete TO case. - (implicit_conversion_1): Don't mask out LOOKUP_SHORTCUT_BAD_CONVS. - (add_function_candidate): Set LOOKUP_SHORTCUT_BAD_CONVS iff - shortcut_bad_convs. - (missing_conversion_p): Also return true for a ck_deferred_bad - conversion. - * cp-tree.h (LOOKUP_SHORTCUT_BAD_CONVS): Define. - -2022-07-19 Jonathan Wakely <jwakely@redhat.com> - - * cp-objcp-common.cc (names_builtin_p): Return true for - RID_REF_CONSTRUCTS_FROM_TEMPORARY and - RID_REF_CONVERTS_FROM_TEMPORARY. - -2022-07-15 Marek Polacek <polacek@redhat.com> - - PR c++/104477 - * call.cc (ref_conv_binds_directly_p): Rename to ... - (ref_conv_binds_directly): ... this. Add a new bool parameter. Change - the return type to tristate. - * constraint.cc (diagnose_trait_expr): Handle - CPTK_REF_CONSTRUCTS_FROM_TEMPORARY and CPTK_REF_CONVERTS_FROM_TEMPORARY. - * cp-tree.h: Include "tristate.h". - (enum cp_trait_kind): Add CPTK_REF_CONSTRUCTS_FROM_TEMPORARY - and CPTK_REF_CONVERTS_FROM_TEMPORARY. - (ref_conv_binds_directly_p): Rename to ... - (ref_conv_binds_directly): ... this. - (ref_xes_from_temporary): Declare. - * cxx-pretty-print.cc (pp_cxx_trait_expression): Handle - CPTK_REF_CONSTRUCTS_FROM_TEMPORARY and CPTK_REF_CONVERTS_FROM_TEMPORARY. - * method.cc (ref_xes_from_temporary): New. - * parser.cc (cp_parser_primary_expression): Handle - RID_REF_CONSTRUCTS_FROM_TEMPORARY and RID_REF_CONVERTS_FROM_TEMPORARY. - (cp_parser_trait_expr): Likewise. - (warn_for_range_copy): Adjust to call ref_conv_binds_directly. - * semantics.cc (trait_expr_value): Handle - CPTK_REF_CONSTRUCTS_FROM_TEMPORARY and CPTK_REF_CONVERTS_FROM_TEMPORARY. - (finish_trait_expr): Likewise. - -2022-07-13 Patrick Palka <ppalka@redhat.com> - - PR c++/105912 - * pt.cc (tsubst_copy_and_build) <case CALL_EXPR>: Guard against - NULL_TREE extract_call_expr result. - -2022-07-13 Patrick Palka <ppalka@redhat.com> - - PR c++/105842 - * constraint.cc (satisfy_declaration_constraints): Refine early - exit test for argument dependence. - * cp-tree.h (uses_outer_template_parms_in_constraints): Declare. - * pt.cc (template_class_depth): Handle TI_TEMPLATE being a - FIELD_DECL. - (usse_outer_template_parms): Factor out constraint dependence - test into ... - (uses_outer_template_parms_in_constraints): ... here. - (type_dependent_expression_p): Use it for FUNCTION_DECL. - -2022-07-07 Patrick Palka <ppalka@redhat.com> - - PR c++/105956 - * pt.cc (template_arg_to_parm): Define. - (tsubst_argument_pack): Try to reuse the corresponding - ARGUMENT_PACK from 'args' when substituting into a generic - ARGUMENT_PACK for a variadic template parameter. - (tsubst_template_args): Move variable declarations closer to - their first use. Replace 'orig_t' with 'r'. Rename 'need_new' - to 'const_subst_p'. Heuristically detect if the substituted - elements are identical to that of a level from 'args' and avoid - allocating a new TREE_VEC if so. Add sanity check for the - length of the new TREE_VEC, and remove dead ARGUMENT_PACK_P test. - (tsubst_decl) <case TYPE_DECL, case VAR_DECL>: Revert - r13-1045-gcb7fd1ea85feea change for avoiding substitution into - DECL_TI_ARGS, but still avoid coercion in this case. - -2022-07-07 Jason Merrill <jason@redhat.com> - - PR c++/87729 - * class.cc (warn_hidden): Ignore [cd]tors. - -2022-07-06 Lewis Hyatt <lhyatt@gmail.com> - - PR c++/53431 - * parser.cc (cp_parser_pragma_kind): Move earlier in the file. - (cp_lexer_handle_early_pragma): New function. - (cp_lexer_new_main): Support parsing and handling early pragmas. - (c_parse_file): Adapt to changes in cp_lexer_new_main. - -2022-07-06 Jason Merrill <jason@redhat.com> - - PR c++/106179 - PR c++/106024 - * parser.cc (cp_parser_lookup_name): Remove :: requirement - for using unqualified lookup result. - -2022-07-05 Nathan Sidwell <nathan@acm.org> - - * module.cc - (struct ord_loc_info, ord_loc_traits): New. - (ord_loc_tabke, ord_loc_remap): New globals. - (struct location_map_info): Delete. - (struct module_state_config): Rename ordinary_loc_align to - loc_range_bits. - (module_for_ordinary_loc): Adjust. - (module_state::note_location): Note ordinary locations, - return bool. - (module_state::write_location): Adjust ordinary location - streaming. - (module_state::read_location): Likewise. - (module_state::write_init_maps): Allocate ord_loc_table. - (module_state::write_prepare_maps): Reimplement ordinary - map preparation. - (module_state::read_prepare_maps): Adjust. - (module_state::write_ordinary_maps): Reimplement. - (module_state::write_macro_maps): Adjust. - (module_state::read_ordinary_maps): Reimplement. - (module_state::write_macros): Adjust. - (module_state::write_config): Adjust. - (module_state::read_config): Adjust. - (module_state::write_begin): Adjust. - (module_state::read_initial): Adjust. - -2022-07-04 Tobias Burnus <tobias@codesourcery.com> - Chung-Lin Tang <cltang@codesourcery.com> - Thomas Schwinge <thomas@codesourcery.com> - - * parser.cc (cp_parser_omp_target_data, - cp_parser_omp_target_enter_data, cp_parser_omp_target_exit_data, - cp_parser_omp_target_update): Set OMP_REQUIRES_TARGET_USED. - (cp_parser_omp_requires): Remove sorry. - -2022-07-01 Lewis Hyatt <lhyatt@gmail.com> - - * parser.cc (cp_token_is_module_directive): New function - refactoring common code. - (cp_parser_skip_to_closing_parenthesis_1): Use the new function. - (cp_parser_skip_to_end_of_statement): Likewise. - (cp_parser_skip_to_end_of_block_or_statement): Likewise. - (cp_parser_declaration): Likewise. - -2022-07-01 Marek Polacek <polacek@redhat.com> - - PR c++/105550 - * constexpr.cc (cxx_eval_conditional_expression): Strip TARGET_EXPRs. - -2022-07-01 Tobias Burnus <tobias@codesourcery.com> - - * parser.cc (cp_parser_omp_target_enter_data, - cp_parser_omp_target_exit_data): Accept tofrom - map-type modifier but use 'to' / 'from' internally. - -2022-07-01 Marek Polacek <polacek@redhat.com> - - PR c++/106111 - * parser.cc (cp_lexer_get_preprocessor_token): Also warn about - RID_ALIGNOF, RID_ALIGNAS, RID_THREAD. - -2022-07-01 Jason Merrill <jason@redhat.com> - - PR c++/105779 - * call.cc (resolve_args): Use complain. - -2022-07-01 Jason Merrill <jason@redhat.com> - - * parser.cc (missing_template_diag): Split out... - (cp_parser_id_expression): ...from here. - -2022-07-01 Jason Merrill <jason@redhat.com> - - PR c++/106024 - * parser.cc (missing_template_diag): Factor out... - (cp_parser_id_expression): ...from here. - (cp_parser_lookup_name): Don't look in dependent object_type. - -2022-06-30 Nathan Sidwell <nathan@acm.org> - - * module.cc (module_state::write_define): Drop located param. - (module_state::read_define): Likewise. - (module_state::prepare_macros): New, broken out of ... - (module_state::write_macros): ... here. Adjust. - (module_state::write_begin): Adjust. - -2022-06-29 Nathan Sidwell <nathan@acm.org> - - * module.cc (macro_info, macro_traits, macro_table, - macro_remap): Rename to ... - (macro_loc_info, macro_loc_traits, macro_loc_table, - macro_loc_remap): ... these. Update all uses. - (module_state::write_prepare_maps): Remove unneeded macro checking. - (module_state::write_begin): Free macro_loc_remap. - -2022-06-27 Sergei Trofimovich <siarheit@google.com> - - PR c++/106102 - * mapper-client.cc: Include <memory> via "system.h". - * mapper-resolver.cc: Ditto. - * module.cc: Ditto. - -2022-06-27 David Malcolm <dmalcolm@redhat.com> - - * cxx-pretty-print.h: Add "final" and "override" to various vfunc - implementations, removing redundant "virtual" as appropriate. - * module.cc: Likewise. - -2022-06-24 Jason Merrill <jason@redhat.com> - - PR c++/87729 - PR c++/20423 - * class.cc (warn_hidden): Handle -Woverloaded-virtual=1. - -2022-06-24 Alexandre Oliva <oliva@adacore.com> - - * g++spec.cc (lang_specific_driver): Implement -nostdlib++. - -2022-06-23 Jason Merrill <jason@redhat.com> - - PR c++/105925 - * call.cc (build_aggr_conv): Don't depend on - CONSTRUCTOR_IS_DESIGNATED_INIT. - -2022-06-23 Jason Merrill <jason@redhat.com> - - PR c++/105925 - * decl.cc (reshape_init_array_1): Set - CONSTRUCTOR_IS_DESIGNATED_INIT here. - (reshape_init_class): And here. - (reshape_init): Not here. - -2022-06-23 Patrick Palka <ppalka@redhat.com> - - PR c++/105931 - * expr.cc (fold_for_warn): Don't fold when in an unevaluated - context. - -2022-06-23 Patrick Palka <ppalka@redhat.com> - - PR c++/105982 - * pt.cc (lookup_template_class): After calling complete_type for - the substituted context, check the table again iff the type was - previously incomplete and complete_type made it complete. - -2022-06-23 Jason Merrill <jason@redhat.com> - - PR c++/94554 - * pt.cc (dependent_operand_p): Split out from... - (tsubst_copy_and_build): ...here. - (tsubst_expr) [IF_STMT]: Use it. - * semantics.cc (finish_if_stmt_cond): Keep the pre-conversion - condition in the template tree. - -2022-06-23 Jason Merrill <jason@redhat.com> - - PR c++/105885 - * pt.cc (tsubst_copy_and_build): Also suppress -Waddress for - comparison of dependent operands. - -2022-06-23 Nathan Sidwell <nathan@acm.org> - - * module.cc (struct macro_info): New. - (struct macro_traits): New. - (macro_remap, macro_table): New globals. - (depset::hash::find_dependencies): Note namespace location. - (module_for_macro_loc): Adjust. - (module_state::note_location): New. - (module_state::Write_location): Note location when not - streaming. Adjust macro location streaming. - (module_state::read_location): Adjust macro location - streaming. - (module_state::write_init_maps): New. - (module_state::write_prepare_maps): Reimplement macro map - preparation. - (module_state::write_macro_maps): Reimplement. - (module_state::read_macro_maps): Likewise. - (module_state::write_begin): Adjust. - -2022-06-23 Jason Merrill <jason@redhat.com> - - * pt.cc (type_unification_real): An auto tparm can't - be affected by other deductions. - -2022-06-23 Jason Merrill <jason@redhat.com> - - PR c++/105964 - * pt.cc (type_dependent_expression_p): Look through BASELINK. - -2022-06-22 Jason Merrill <jason@redhat.com> - - PR c++/105908 - * name-lookup.cc (outer_binding): Strip BASELINK. - -2022-06-22 Nathan Sidwell <nathan@acm.org> - - * module.cc (struct duplicate_hash): Remove. - (duplicate_hash_map): Adjust. - -2022-06-22 Jason Merrill <jason@redhat.com> - - PR c++/104642 - * constexpr.cc (cxx_eval_builtin_function_call): Handle - unreachable/trap earlier. - * cp-gimplify.cc (cp_maybe_instrument_return): Use - build_builtin_unreachable. - -2022-06-18 Jakub Jelinek <jakub@redhat.com> - - * cp-ubsan.cc (cp_ubsan_instrument_vptr_p): Use - flag_sanitize_trap & SANITIZE_VPTR instead of - flag_sanitize_undefined_trap_on_error. - -2022-06-17 Jakub Jelinek <jakub@redhat.com> - - PR c++/106001 - * typeck.cc (build_x_shufflevector): Use fold_non_dependent_expr - instead of maybe_constant_value. - -2022-06-16 Nathan Sidwell <nathan@acm.org> - - * decl2.cc (finish_objects): Add startp parameter, adjust. - (generate_ctor_or_dtor_function): Detect empty fn, and don't - generate unnecessary code. Remove objc startup here ... - (c_parse_final_cleanyps): ... do it here. - -2022-06-16 Martin Liska <mliska@suse.cz> - - * decl2.cc (struct priority_map_traits): Remove unused param. - -2022-06-15 Nathan Sidwell <nathan@acm.org> - - * module.cc (module_state::write_readme): Use less confusing - importable unit names. - -2022-06-14 Nathan Sidwell <nathan@acm.org> - - * cp-tree.h (fini_modules): Add has_inits parm. - * decl2.cc (c_parse_final_cleanups): Check for - inits, adjust fini_modules flags. - * module.cc (module_state): Rename call_init_p to - active_init_p. - (module_state::write_config): Write active_init. - (module_state::read_config): Read it. - (module_determine_import_inits): Clear active_init_p - of covered inits. - (late_finish_module): Add has_init parm. Record it. - (fini_modules): Adjust. - -2022-06-13 Nathan Sidwell <nathan@acm.org> - - * module.cc (module_state::write): Separate to ... - (module_state::write_begin, module_state::write_end): ... - these. - (module_state::write_readme): Drop extensions parameter. - (struct module_processing_cookie): Add more fields. - (finish_module_processing): Adjust state writing call. - (late_finish_module): Call write_end. - -2022-06-10 Patrick Palka <ppalka@redhat.com> - - PR c++/65328 - * decl.cc (typename_hasher::hash): Add extra overloads. - Use iterative_hash_object instead of htab_hash_pointer. - Hash TYPENAME_TYPE_FULLNAME instead of TYPE_IDENTIFIER. - (build_typename_type): Use typename_hasher::hash. - * pt.cc (spec_hasher::hash): Add two-parameter overload. - Set comparing_specializations around the call to - hash_tmpl_and_args. - (iterative_hash_template_arg) <case TYPENAME_TYPE>: - When comparing_specializations, hash the TYPE_CONTEXT - and TYPENAME_TYPE_FULLNAME. - (tsubst_function_decl): Use spec_hasher::hash instead of - hash_tmpl_and_args. - (tsubst_template_decl): Likewise. - (tsubst_decl): Likewise. - -2022-06-10 Patrick Palka <ppalka@redhat.com> - - * pt.cc (instantiate_template): Don't substitute the context - of the most general template if that of the partially - instantiated template is already non-dependent. - -2022-06-10 Patrick Palka <ppalka@redhat.com> - - * pt.cc (lookup_template_class): Remove dead stores to - context parameter. Don't substitute the context of the - most general template if that of the partially instantiated - template is already non-dependent. Check the specializations - table again after completing the context of a nested dependent - specialization. - (tsubst_aggr_type) <case RECORD_TYPE>: Don't substitute - TYPE_CONTEXT or pass it to lookup_template_class. - (tsubst_decl) <case TYPE_DECL, case TYPE_DECL>: Avoid substituting - the TREE_TYPE for DECL_SELF_REFERENCE_P. Avoid template argument - substitution or coercion in some cases. - -2022-06-10 Nathan Sidwell <nathan@acm.org> - - * cp-tree.h (fini_modules): Add some parameters. - (finish_module_processing): Return an opaque pointer. - * decl2.cc (c_parse_final_cleanups): Propagate a cookie from - finish_module_processing to fini_modules. - * module.cc (struct module_processing_cookie): New. - (finish_module_processing): Return a heap-allocated cookie. - (late_finish_module): New. Finish out the module writing. - (fini_modules): Adjust. - -2022-06-10 Nathan Sidwell <nathan@acm.org> - - * cp-tree.h (module_has_import_init): Rename to ... - (module_determined_import_inits): ... here. - * decl2.cc (start_objects): Do not handle module initializers - here. - (c_parse_final_cleanups): Generate a separate module - initializer calling function and add it to the list. Shrink - the c-lang region. - * module.cc (num_init_calls_needed): Delete. - (module_has_import_init): Rename to ... - (module_determined_import_inits): ... here. Do the - calculation here ... - (finish_module_processing): ... rather than here. - (module_add_import_initializers): Reformat. - -2022-06-09 Jakub Jelinek <jakub@redhat.com> - - PR c++/105871 - * constexpr.cc (cxx_eval_bit_field_ref): For BIT_FIELD_REF with - non-integral result type use fold_ternary too like for BIT_FIELD_REFs - from VECTOR_CST. If fold_ternary returns NULL, diagnose non-constant - expression, set *non_constant_p and return t, instead of returning - NULL. - -2022-06-09 Nathan Sidwell <nathan@acm.org> - - * cp-tree.h (module_initializer_kind): Replace with ... - (module_global_init_needed, module_has_import_inits): ... - these. - * decl2.cc (start_objects): Add has_body parm. Reorganize - module initializer creation. - (generate_ctor_or_dtor_function): Adjust. - (c_parse_final_cleanups): Adjust. - (vtv_start_verification_constructor_init_function): Adjust. - * module.cc (module_initializer_kind): Replace with ... - (module_global_init_needed, module_has_import_inits): ... - these. - -2022-06-08 Jason Merrill <jason@redhat.com> - - PR c++/105852 - * decl.cc (duplicate_decls): Change non-templated friend - check to an assert. - * pt.cc (tsubst_function_decl): Don't set DECL_TEMPLATE_INFO - on non-templated friends. - (tsubst_friend_function): Adjust. - -2022-06-08 Jason Merrill <jason@redhat.com> - - PR c++/105852 - PR c++/105761 - * decl.cc (duplicate_decls): Avoid copying template info - from non-templated friend even if newdecl isn't a definition. - Correct handling of DECL_UNIQUE_FRIEND_P on templates. - * pt.cc (non_templated_friend_p): New. - * cp-tree.h (non_templated_friend_p): Declare it. - -2022-06-08 Nathan Sidwell <nathan@acm.org> - - * decl2.cc (struct priority_info_s, priority_info): Delete. - (priority_map_traits, priority_map_t): New. - (static_init_fini_fns): New. - (INITIALIZE_P_IDENTIFIER, PRIORITY_IDENTIFIER): Delete. - (initialize_p_decl, priority_decl): Delete. - (ssdf_decls, priority_info_map): Delete. - (start_static_storage_duration_function): Rename to ... - (start_partial_init_fini_fn): ... here. Create a void arg fn. - Add it to the slot in the appropriate static_init_fini_fns - hash table. - (finish_static_storage_duration_function): Rename to ... - (finish_partial_init_fini_fn): ... here. - (get_priority_info): Delete. - (one_static_initialization_or_destruction): Assert not - trivial dtor. - (do_static_initialization_or_destruction): Rename to ... - (emit_partial_init_fini_fn) ... here. Start & finish the fn. - Simply init/fini each var. - (partition_vars_for_init_fini): Partition vars according to - priority and add to init and/or fini list. - (generate_ctor_or_dtor_function): Start and finish the function. - Do santitizer calls here. - (generate_ctor_and_dtor_functions_for_priority): Delete. - (c_parse_final_cleanups): Reimplement global init/fini - processing. - -2022-06-07 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_parser_omp_clause_linear): Parse OpenMP 5.2 - style linear clause modifiers. Set - OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER flag on the clauses when - old style modifiers are used. - * semantics.cc (finish_omp_clauses): Only reject linear clause - with val modifier on simd or for if the old style modifiers are - used. - -2022-06-07 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/96442 - * decl.cc (start_enum): When emitting a "must be integral" error, - set ENUM_UNDERLYING_TYPE to integer_type_node, to avoid an ICE - downstream in build_enumeration. - -2022-06-06 Patrick Palka <ppalka@redhat.com> - - PR c++/53164 - PR c++/105848 - * pt.cc (tsubst_copy_and_build) <case CALL_EXPR>: Look through an - ADDR_EXPR callee when calling mark_used. - -2022-06-04 Marek Polacek <polacek@redhat.com> - - PR c++/102399 - PR c++/69585 - * parser.cc (cp_parser_attributes_opt): Accept GNU attributes - followed by [[]] attributes and vice versa. - -2022-06-03 Patrick Palka <ppalka@redhat.com> - - PR c++/105756 - * typeck.cc (cp_build_binary_op): Don't fold operands - when c_inhibit_evaluation_warnings. - -2022-06-03 Jason Merrill <jason@redhat.com> - - PR c++/105761 - * decl.cc (duplicate_decls): Don't copy DECL_TEMPLATE_INFO - from a hidden friend. - -2022-06-03 Patrick Palka <ppalka@redhat.com> - - PR c++/105637 - * tree.cc (maybe_dummy_object): When returning a dummy - object, respect the cv-quals of 'this' if available. - -2022-06-03 Patrick Palka <ppalka@redhat.com> - - PR c++/100374 - * pt.cc (determine_specialization): Compare overall constraints - not just the trailing constraints. - (tsubst_each_template_parm_constraints): Define. - (tsubst_friend_function): Use it. - (tsubst_friend_class): Use it. - (tsubst_template_parm): Don't substitute TEMPLATE_PARM_CONSTRAINTS. - -2022-06-03 Patrick Palka <ppalka@redhat.com> - - PR c++/105797 - * pt.cc (for_each_template_parm_r) <case FUNCTION_DECL, VAR_DECL>: - Don't walk DECL_CONTEXT. - <case PARM_DECL>: Likewise. Walk TREE_TYPE. - <case CONST_DECL>: Simplify. - (any_template_parm_r) <case PARM_DECL>: Don't walk TREE_TYPE. - -2022-06-02 Marek Polacek <polacek@redhat.com> - - * constexpr.cc (potential_constant_expression_1): Treat - {,VEC_}NEW_EXPR and {,VEC_}DELETE_EXPRas potentially constant in C++20. - -2022-06-02 Marek Polacek <polacek@redhat.com> - - PR c++/105803 - * pt.cc (value_dependent_expression_p): Handle {,VEC_}NEW_EXPR - in the switch. - -2022-06-02 David Malcolm <dmalcolm@redhat.com> - - * cp-lang.cc (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine. - (cp_get_sarif_source_language): New. - -2022-06-02 Jason Merrill <jason@redhat.com> - - PR c++/105795 - * constexpr.cc (init_subob_ctx): Clear ctx->ctor for empty subob. - (cxx_eval_store_expression): Likewise. - (cxx_eval_bare_aggregate): Handle null ctx->ctor. - -2022-06-02 Jason Merrill <jason@redhat.com> - - PR c++/105795 - * constexpr.cc (cxx_eval_bare_aggregate): Always call - init_subob_ctx. - -2022-06-01 Jason Merrill <jason@redhat.com> - - PR c++/105734 - * parser.cc (cp_parser_postfix_dot_deref_expression): Use typeof - if the expression has auto type. - -2022-06-01 Jason Merrill <jason@redhat.com> - - PR c++/105779 - * call.cc (resolve_args): Call mark_single_function here. - * pt.cc (unify_one_argument): Not here. - -2022-06-01 Nathan Sidwell <nathan@acm.org> - - * decl2.cc (fix_temporary_vars_context_r): Use data argument - for new context. - (one_static_initialization_or_destruction): Adjust tree walk - call. Refactor guard generation. - -2022-06-01 Nathan Sidwell <nathan@acm.org> - - * decl2.cc (ssdf_decl): Delete global. - (start_static_storage_duration_function): Use some RAII. - (do_static_initialization_or_destruction): Likewise. - (c_parse_final_cleanups): Likewise. Avoid rechecking 'vars'. - -2022-06-01 Nathan Sidwell <nathan@acm.org> - - * decl2.cc (start_objects): Replace 'method_type' parameter - with 'initp' boolean, rename and retype 'priority' parameter. - (finish_objects): Likewise. Do not expand here. - (one_static_initialization_or_destruction): Move 'initp' - parameter first. - (do_static_initialization_or_destruction): Likewise. - (generate_ctor_or_dtor_function): Rename 'initp' parameter. - Adjust start_objects/finish_obects calls and expand here. - (generate_ctor_and_dtor_functions_for_priority): Adjust calls. - (c_parse_final_cleanups): Likewise. - (vtv_start_verification_constructor_init): Adjust. - (vtv_finish_verification_constructor_init): Use finish_objects. - -2022-05-31 Patrick Palka <ppalka@redhat.com> - - PR c++/105758 - * call.cc (build_over_call): Use z_candidate::conversion_path - and ::access_path instead of TYPE_BINFO when building the - BASELINK for the templated form. - -2022-05-31 Patrick Palka <ppalka@redhat.com> - - * parser.cc: Use auto_timevar instead of timevar_push/pop. - Remove wrapper functions. - * pt.cc: Likewise. - -2022-05-31 Patrick Palka <ppalka@redhat.com> - - * cp-tree.h (cp_build_qualified_type_real): Rename to ... - (cp_build_qualified_type): ... this. Give its last parameter - a default argument. Remove macro of the same name. - * decl.cc (grokdeclarator): Adjust accordingly. - * pt.cc (tsubst_aggr_type): Likewise. - (rebuild_function_or_method_type): Likewise. - (tsubst): Likewise. - (maybe_dependent_member_ref): Likewise. - (unify): Likewise. - * tree.cc (cp_build_qualified_type_real): Rename to ... - (cp_build_qualified_type): ... this. Adjust accordingly. - -2022-05-31 Jason Merrill <jason@redhat.com> - - * Make-lang.in (c++.tags): Just look at *.cc. - -2022-05-31 Patrick Palka <ppalka@redhat.com> - - * cp-tree.h (comp_template_args): Change return type to bool. - * pt.cc (comp_template_args): Document default arguments. - Change return type to bool and adjust returns accordingly. - -2022-05-31 Patrick Palka <ppalka@redhat.com> - - * decl.cc (grokvardecl): Use current_template_constraints. - (grokdeclarator): Likewise. - (xref_tag): Likewise. - * semantics.cc (finish_template_template_parm): Likewise. - -2022-05-31 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (OMP_SCOPE_CLAUSE_MASK): Add firstprivate and allocate - clauses. - -2022-05-30 Marek Polacek <polacek@redhat.com> - - PR c++/99080 - * pt.cc (type_dependent_expression_p): Assert !TYPE_P. - * semantics.cc (finish_id_expression_1): Handle UNBOUND_CLASS_TEMPLATE - specifically. - -2022-05-28 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (handle_omp_declare_target_clause): If OMP_CLAUSE_LINK was - seen first, use "%<to%>" or "%<enter%>" depending on - OMP_CLAUSE_ENTER_TO of the current clause, otherwise use - "%<to%> or %<enter%>" wording. - -2022-05-28 Jason Merrill <jason@redhat.com> - - PR c++/105652 - * pt.cc (tsubst_lambda_expr): Don't let a namespace-scope lambda - instantiate into a class-scope lambda. - -2022-05-27 Marek Polacek <polacek@redhat.com> - - PR c++/105725 - * parser.cc (class_decl_loc_t::add): Check CLASS_TYPE_P. - -2022-05-27 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_parser_omp_clause_name): Parse enter clause. - (cp_parser_omp_all_clauses): For to clause on declare target, use - OMP_CLAUSE_ENTER clause with OMP_CLAUSE_ENTER_TO instead of - OMP_CLAUSE_TO_DECLARE clause. Handle PRAGMA_OMP_CLAUSE_ENTER. - (OMP_DECLARE_TARGET_CLAUSE_MASK): Add enter clause. - (cp_parser_omp_declare_target): Use OMP_CLAUSE_ENTER instead of - OMP_CLAUSE_TO_DECLARE. - * semantics.cc (finish_omp_clauses): Handle OMP_CLAUSE_ENTER instead - of OMP_CLAUSE_TO_DECLARE, to OMP_CLAUSE_ENTER_TO use "to" as clause - name in diagnostics instead of - omp_clause_code_name[OMP_CLAUSE_CODE (c)]. - -2022-05-26 Marek Polacek <polacek@redhat.com> - - PR c++/105569 - * typeck.cc (warn_for_null_address): Improve the warning when - the POINTER_PLUS_EXPR's base is of reference type. - -2022-05-26 Patrick Palka <ppalka@redhat.com> - - PR c++/96363 - * decl.cc (shadow_tag): Use the return value of - maybe_process_partial_specialization. - * parser.cc (cp_parser_single_declaration): Call shadow_tag - before associate_classtype_constraints. - * pt.cc (maybe_new_partial_specialization): Change return type - to bool. Take 'type' argument by mutable reference. Set 'type' - to point to the correct constrained specialization when - appropriate. - (maybe_process_partial_specialization): Adjust accordingly. - -2022-05-25 Marek Polacek <polacek@redhat.com> - - PR c++/96637 - * cp-tree.h (attr_chainon): Declare. - * decl.cc (start_decl): Use attr_chainon. - (grokdeclarator): Likewise. - * parser.cc (cp_parser_statement): No longer static. - -2022-05-25 Jason Merrill <jason@redhat.com> - - PR c++/105655 - * pt.cc (build_template_decl): Add assert. - (tsubst_function_decl): Don't return a template. - -2022-05-25 Jason Merrill <jason@redhat.com> - - PR c++/105623 - * decl2.cc (mark_used): Copy type from fn to BASELINK. - * pt.cc (unify_one_argument): Call mark_single_function. - -2022-05-25 Jason Merrill <jason@redhat.com> - - * constexpr.cc (cxx_eval_call_expression): Check for - heap vars in the result. - -2022-05-25 Jason Merrill <jason@redhat.com> - - * constexpr.cc (maybe_constant_init_1): Only pass false for - strict when initializing a variable of static duration. - -2022-05-25 Marek Polacek <polacek@redhat.com> - - PR c++/100252 - * typeck2.cc (potential_prvalue_result_of): New. - (replace_placeholders_for_class_temp_r): New. - (digest_nsdmi_init): Call it. - -2022-05-24 Jason Merrill <jason@redhat.com> - - * constexpr.cc (cxx_fold_indirect_ref): Add default arg. - (cxx_eval_call_expression): Call it. - (cxx_fold_indirect_ref_1): Handle null empty_base. - -2022-05-24 Jason Merrill <jason@redhat.com> - - * constexpr.cc (enum value_cat): New. Change all 'lval' parameters - from int to value_cat. Change most false to vc_prvalue, most true - to vc_glvalue, cases where the return value is ignored to - vc_discard. - (cxx_eval_statement_list): Only vc_prvalue for stmt-expr result. - (cxx_eval_store_expression): Only build _REF for vc_glvalue. - (cxx_eval_array_reference, cxx_eval_component_reference) - (cxx_eval_indirect_ref, cxx_eval_constant_expression): Likewise. - -2022-05-24 Jason Merrill <jason@redhat.com> - - PR c++/105622 - * constexpr.cc (cxx_eval_store_expression): Adjust assert. - Use initialized_type. - -2022-05-24 Patrick Palka <ppalka@redhat.com> - - * cp-tree.h (any_template_arguments_need_structural_equality_p): - Declare. - * pt.cc (struct ctp_hasher): Define. - (ctp_table): Define. - (canonical_type_parameter): Use it. - (process_template_parm): Set TYPE_CANONICAL for - TEMPLATE_TEMPLATE_PARM too. - (lookup_template_class_1): Remove now outdated comment for the - any_template_arguments_need_structural_equality_p test. - (tsubst) <case TEMPLATE_TEMPLATE_PARM, etc>: Don't specifically - clear TYPE_CANONICAL for ttps. Set TYPE_CANONICAL on the - substituted type later. - (any_template_arguments_need_structural_equality_p): Return - true for any_targ_node. Don't return true just because a - template argument uses structural equality. Add comment for - the PARM_DECL special case. - (rewrite_template_parm): Set TYPE_CANONICAL on the rewritten - parm's type later. - * tree.cc (bind_template_template_parm): Set TYPE_CANONICAL - when safe to do so. - * typeck.cc (structural_comptypes) [check_alias]: Increment - processing_template_decl before checking - dependent_alias_template_spec_p. - -2022-05-24 Jakub Jelinek <jakub@redhat.com> - - PR c/105378 - * parser.cc (OMP_TASKWAIT_CLAUSE_MASK): Add nowait clause. - -2022-05-20 David Malcolm <dmalcolm@redhat.com> - - * cxx-pretty-print.h: Replace uses of "FINAL" and "OVERRIDE" with - "final" and "override". - * error.cc: Likewise. - -2022-05-18 Marek Polacek <polacek@redhat.com> - - PR c++/105634 - * call.cc (maybe_warn_class_memaccess): Avoid % by zero. - -2022-05-17 Jason Merrill <jason@redhat.com> - - PR c++/102307 - * decl.cc (check_initializer): Use build_cplus_new in case of - constexpr failure. - -2022-05-17 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_parser_omp_clause_depend): Parse - inoutset depend-kind. - (cp_parser_omp_depobj): Likewise. - * cxx-pretty-print.cc (cxx_pretty_printer::statement): Handle - OMP_CLAUSE_DEPEND_INOUTSET. - -2022-05-16 Martin Liska <mliska@suse.cz> - - * module.cc (depset::entity_kind_name): Use ARRAY_SIZE. - * name-lookup.cc (get_std_name_hint): Likewise. - * parser.cc (cp_parser_new): Likewise. - -2022-05-16 Marcel Vollweiler <marcel@codesourcery.com> - - * pt.cc (tsubst_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR. - * semantics.cc (finish_omp_clauses): Added template decl processing. - -2022-05-15 Jason Merrill <jason@redhat.com> - - PR c++/100502 - PR c++/58993 - * friend.cc (is_friend): Hidden friends count as members. - * search.cc (friend_accessible_p): Likewise. - -2022-05-15 Jason Merrill <jason@redhat.com> - - * parser.cc (cp_parser_template_name): Look through - injected-class-name. - -2022-05-15 Jason Merrill <jason@redhat.com> - - PR c++/105589 - PR c++/105191 - PR c++/92385 - * init.cc (build_value_init): Handle class in template. - -2022-05-13 Nathan Sidwell <nathan@acm.org> - - * mangle.cc (maybe_write_module): Check external linkage. - -2022-05-13 Richard Biener <rguenther@suse.de> - - * constexpr.cc: Remove gimple-fold.h include. - -2022-05-12 Patrick Palka <ppalka@redhat.com> - - * cp-tree.h (TMPL_ARGS_LEVEL): Assert LEVEL is 1 when - TMPL_ARGS_HAVE_MULTIPLE_LEVELS is false. - * pt.cc (try_class_unification): Correctly copy multidimensional - targs. Free the copy of targs. - (unify_pack_expansion): Fix level comparison. - -2022-05-12 Nathan Sidwell <nathan@acm.org> - - * parser.cc (cp_parser_linkage_specification): Implement - global module attachment semantics. - -2022-05-12 Jakub Jelinek <jakub@redhat.com> - - * lex.cc (init_reswords): Register omp_all_memory as keyword - if flag_openmp. - * parser.cc (cp_parser_primary_expression): Diagnose uses of - omp_all_memory in postfix expressions. - (cp_parser_omp_var_list_no_open): Handle omp_all_memory in depend - clause. - * semantics.cc (finish_omp_clauses): Handle omp_all_memory - keyword in depend clause as null_pointer_node, diagnose invalid - uses. - * pt.cc (tsubst_omp_clause_decl): Pass through omp_all_memory. - -2022-05-11 Patrick Palka <ppalka@redhat.com> - - * constraint.cc (tsubst_parameter_mapping): Convert loop over - TREE_VEC into a range-based for loop using tree_vec_range. - * pt.cc (iterative_hash_template_arg): Likewise. - (template_parms_level_to_args): Likewise. - (deducible_template_args): Likewise. - (check_undeduced_parms): Likewise. - (dependent_type_p_r): Likewise. - (value_dependent_expression_p) <case NONTYPE_ARGUMENT_PACK>: - Likewise. - (dependent_template_arg_p): Likewise. - * tree.cc (cp_walk_subtrees) <case NONTYPE_ARGUMENT_PACK>: - Likewise. - -2022-05-11 Jason Merrill <jason@redhat.com> - - PR c++/105541 - * cp-tree.h (TMPL_ARGS_DEPTH): 0 for null args. - * parser.cc (cp_parser_enclosed_template_argument_list): - Use 0-length TREE_VEC for <>. - -2022-05-11 Jason Merrill <jason@redhat.com> - - PR bootstrap/105567 - * typeck.cc (check_return_expr): Don't mess with ctor return value - while parsing a template. - -2022-05-11 Nathan Sidwell <nathan@acm.org> - - * cp-tree.h (DECL_MODULE_ATTACH_P): New. - (struct lang_decl_base): Add module_attach_p flag. - * decl.cc (duplicate_decls): Rework module redeclaration - checking. - * module.cc (trees_out::lang_decl_bools): Write attach flag. - (trees_in::lang_decl_bools): ... and read it back. - (trees_out::decl_value): Rework module attachment handling. - (trees_in::decl_value): Rename local var to reflect meaning. - (trees_in::key_mergeable): Likewise. - (get_originating_module): Use DECL_MODULE_ATTACH_P. No need - to special-case mangling. - (module_may_redeclare): Reimplement. - (set_originating_module): Deal with attachment. - * name-lookup.cc (maybe_record_mergeable_decl): Deal with - attachment. - (mergeable_namespace_slots): Likewise. - (do_nonmember_using_decl): Likewise. - * name-lookup.h (mergeable_namespace_slots): Adjust parm - meaning. - * ptree.cc (cxx_print_decl): Adjust purview & attach printing. - -2022-05-11 Martin Liska <mliska@suse.cz> - - PR target/105355 - * lang-specs.h: Use Separate syntax. - -2022-05-10 Patrick Palka <ppalka@redhat.com> - - * coroutines.cc (instantiate_coro_traits): Adjust accordingly. - * cp-tree.def: Remove mention of SET_PACK_EXPANSION_PATTERN. - * cp-tree.h (SET_PACK_EXPANSION_PATTERN): Remove. - (SET_ARGUMENT_PACK_ARGS): Remove. - * module.cc (trees_in::tree_node): Adjust accordingly. - * parser.cc (make_char_string_pack): Likewise. - (make_string_pack): Likewise. - * pt.cc (make_pack_expansion): Likewise. - (template_parm_to_arg): Likewise. - (coerce_template_parameter_pack): Likewise. - (extract_fnparm_pack): Likewise. - (extract_locals_r): Likewise. - (make_argument_pack): Likewise. - (tsubst_argument_pack): Likewise. - (lookup_init_capture_pack): Likewise. - (type_unification_real): Likewise. - (unify_pack_expansion): Likewise. - (tsubst_initializer_list): Likewise. - -2022-05-10 Patrick Palka <ppalka@redhat.com> - - * cp-tree.h (PACK_EXPANSION_CHECK): Define. - (PACK_EXPANSION_PATTERN): Use PACK_EXPANSION_CHECK. - (SET_PACK_EXPANSION_PATTERN): Likewise. - (PACK_EXPANSION_PARAMETER_PACKS): Likewise. - (PACK_EXPANSION_EXTRA_ARGS): Likewise. - (PACK_EXPANSION_LOCAL_P): Likewise. - (PACK_EXPANSION_SIZEOF_P): Likewise. - (PACK_EXPANSION_AUTO_P): Likewise. - (PACK_EXPANSION_FORCE_EXTRA_ARGS_P): Likewise. - (ARGUMENT_PACK_CHECK): Define. - (ARGUMENT_PACK_ARGS): Use ARGUMENT_PACK_CHECK. - (SET_ARGUMENT_PACK_ARGS): Likewise. - * parser.cc (cp_parser_sizeof_pack): Check for error_mark_node - before setting PACK_EXPANSION_SIZEOF_P. - -2022-05-10 Nathan Sidwell <nathan@acm.org> - - * cp-tree.h (enum module_kind_bits): Disambiguate purview, - attach, named module vs header-unit. - (global_purview_p, not_module_p): Delete. - (named_module_p): New. - (header_module_p, module_purview_p): Adjust. - (module_attach_p, named_module_purview_p): New. - * decl.cc (duplicate_decls): Adjust. - * module.cc (declare_module, preprocessed_module): Adjust. - * name-lookup.cc (init_global_partition): Adjust. - (get_fixed_binding_slot, pushdecl): Adjust. - * parser.cc (cp_parser_module_declaration): Adjust. - (cp_parser_import_declaration, cp_parser_declaration): Adjust. - -2022-05-10 Jason Merrill <jason@redhat.com> - - PR c++/105529 - * decl.cc (maybe_return_this): Replace... - (finish_constructor_body, finish_destructor_body): ...these. - (finish_function_body): Call it. - * optimize.cc (build_delete_destructor_body): Call it. - * cp-tree.h (maybe_return_this): Declare. - -2022-05-09 Marek Polacek <polacek@redhat.com> - - PR c++/103539 - * parser.cc (cp_parser_statement): Constify the in_compound parameter. - Create a modifiable copy. Allow labels at the end of compound - statements. - -2022-05-09 Patrick Palka <ppalka@redhat.com> - - PR c++/105491 - * call.cc (field_in_pset): Adjust after next_initializable_field - renaming. - (build_aggr_conv): Likewise. - (convert_like_internal): Likewise. - (type_has_extended_temps): Likewise. - * class.cc (default_init_uninitialized_part): Likewise. - (finish_struct): Likewise. - * constexpr.cc (cx_check_missing_mem_inits): Likewise. - (reduced_constant_expression_p): Use next_subobject_field - instead. - * cp-gimplify.cc (get_source_location_impl_type): Adjust after - next_initializable_field renaming. - (fold_builtin_source_location): Likewise. - * cp-tree.h (next_initializable_field): Rename to ... - (next_aggregate_field): ... this. - (next_subobject_field): Declare. - * decl.cc (next_aggregate_field): Renamed from ... - (next_initializable_field): ... this. Skip over vptr fields - again. - (next_subobject_field): Define. - (reshape_init_class): Adjust after next_initializable_field - renaming. - * init.cc (build_value_init_noctor): Likewise. - (emit_mem_initializers): Likewise. - * lambda.cc (build_capture_proxy): Likewise. - * method.cc (build_comparison_op): Likewise. - * pt.cc (maybe_aggr_guide): Likewise. - * tree.cc (structural_type_p): Likewise. - * typeck2.cc (split_nonconstant_init_1): Likewise. - (digest_init_r): Likewise. - -2022-05-09 Nathan Sidwell <nathan@acm.org> - - * cp-tree.h (DECL_MODULE_KEYED_DECLS_P): Renamed from - DECL_MODULE_ATTACHMENTS_P. - (struct lane_decl_base): Rename module_attached_p to - module_keyed_decls_p. - (maybe_key_decl): Renamed from maybe_attach_decl. - * lambda.cc (record_lambda_scope): Adjust. - * lex.cc (cxx_dup_lang_specific_decl): Adjust. - * module.cc (keyed_map_t, keyed_table): Renamed from attached_map_t, - attached_table. - (enum merge_kind): Rename MK_attached to MK_keyed. - (trees_out::lang_decl_bools): Adjust. - (trees_in::lang_decl_bools): Adjust. - (trees_in::decl_value): Adjust. - (trees_out::get_merge_kind): Adjust. - (trees_out::key_mergeable): Adjust. - (trees_in::key_mergeable): Adjust. - (maybe_key_decl): Rename from maybe_attach_decl. - (direct_import): Adjust. - (fini_modules): Adjust. - -2022-05-09 Martin Liska <mliska@suse.cz> - - * cp-gimplify.cc (cp_genericize_r): Use {,UN}LIKELY - macros. - * parser.cc (cp_finalize_omp_declare_simd): Likewise. - (cp_finalize_oacc_routine): Likewise. - -2022-05-07 Marek Polacek <polacek@redhat.com> - - PR c++/101833 - PR c++/47634 - * tree.cc (maybe_adjust_arg_pos_for_attribute): New. - -2022-05-06 Jason Merrill <jason@redhat.com> - - * error.cc (decl_to_string): Add show_color parameter. - (subst_to_string): Likewise. - (cp_printer): Pass it. - (type_to_string): Set pp_show_color. - (dump_function_name): Use "fnname" color. - (dump_template_bindings): Use "targs" color. - (struct colorize_guard): New. - (reinit_cxx_pp): Clear pp_show_color. - -2022-05-06 Jason Merrill <jason@redhat.com> - - PR c++/105245 - PR c++/100111 - * constexpr.cc (cxx_eval_store_expression): Reorganize empty base - handling. - -2022-05-05 Marek Polacek <polacek@redhat.com> - - PR c++/64679 - * parser.cc (cp_parser_parameter_declaration_clause): Maintain - a vector of parameters that haven't been pushed yet. Push them at the - end of a valid parameter-declaration-clause. - (cp_parser_parameter_declaration_list): Take a new auto_vec parameter. - Do not pushdecl while parsing tentatively when pushdecl-ing a parameter - would result in a hard error. - (cp_parser_cache_defarg): Adjust the call to - cp_parser_parameter_declaration_list. - -2022-05-05 Richard Biener <rguenther@suse.de> - - * module.cc (trees_in::core_vals): Remove separate allocation - for REAL_CST. - -2022-05-04 Jason Merrill <jason@redhat.com> - - PR c++/104470 - * pt.cc (maybe_dependent_member_ref): Handle types. - (tsubst, tsubst_copy): Use it. - (tsubst_aggr_type, instantiate_alias_template): Don't handle - tf_dguide here. - -2022-05-04 Patrick Palka <ppalka@redhat.com> - - PR c++/105476 - * pt.cc (maybe_aggr_guide): Set processing_template_decl when - partially instantiating the guide's parameter list. - -2022-05-04 Marek Polacek <polacek@redhat.com> - - PR c++/64679 - * parser.cc (cp_parser_init_declarator): Properly handle a series of - operator() calls, they are not part of an init-declarator. - -2022-05-04 Jason Merrill <jason@redhat.com> - - * decl.cc (reshape_init): Shortcut already-reshaped init. - (reshape_init_class): Assert not getting one here. - -2022-05-04 Jason Merrill <jason@redhat.com> - - * error.cc (cp_print_error_function): Use %qD. - (function_category): Use %qD. - -2022-05-04 Marek Polacek <polacek@redhat.com> - - PR c++/105436 - * parser.cc (cp_parser_next_token_ends_template_argument_p): Don't - return true for CPP_GREATER_EQ. - -2022-05-04 Jason Merrill <jason@redhat.com> - - * cp-tree.h (struct language_function): Remove x_cdtor_label. - (cdtor_label, LABEL_DECL_CDTOR): Remove. - * constexpr.cc (returns): Don't check LABEL_DECL_CDTOR. - (cxx_eval_constant_expression): Don't call returns. - * decl.cc (check_goto): Don't check cdtor_label. - (start_preparsed_function): And don't set it. - (finish_constructor_body, finish_destructor_body): Remove. - (finish_function_body): Don't call them. - * typeck.cc (check_return_expr): Handle cdtor_returns_this here. - * semantics.cc (finish_return_stmt): Not here. - -2022-05-04 Jakub Jelinek <jakub@redhat.com> - - * lambda.cc: Include decl.h. - (maybe_add_lambda_conv_op): Temporarily override deprecated_state to - UNAVAILABLE_DEPRECATED_SUPPRESS. - -2022-05-03 Patrick Palka <ppalka@redhat.com> - - PR c++/105351 - * cp-tree.h (finish_non_static_data_member): Add defaulted - complain parameter. - * pt.cc (tsubst_copy_and_build): Pass complain to - finish_non_static_data_member. - * semantics.cc (finish_non_static_data_member): Respect complain - parameter. - (finish_qualified_id_expr): Pass complain to - finish_non_static_data_member. - -2022-05-02 Jason Merrill <jason@redhat.com> - - * pt.cc (tsubst_copy_and_build) [TEMPLATE_ID_EXPR]: Copy location. - (do_auto_deduction): Use expr location. - -2022-05-02 Jason Merrill <jason@redhat.com> - - * class.cc (maybe_note_name_used_in_class): Note in all enclosing - classes. Remember location of use. - (note_name_declared_in_class): Adjust. - -2022-05-02 Marek Polacek <polacek@redhat.com> - - * cp-tree.h (uses_template_parms): Adjust declaration. - * pt.cc (uses_template_parms): Return bool. Use a RAII sentinel. - -2022-05-02 Richard Biener <rguenther@suse.de> - - * constexpr.cc (fold_simple_1): Use CASE_CONVERT. - * cp-gimplify.cc (cp_fold): Likewise. - * pt.cc (tsubst_copy): Likewise. - -2022-04-29 Jason Merrill <jason@redhat.com> - - PR c++/91618 - PR c++/96604 - * friend.cc (do_friend): Call check_explicit_specialization here. - * decl.cc (grokdeclarator): Not here. - * decl2.cc (check_classfn): Or here. - -2022-04-29 Jason Merrill <jason@redhat.com> - - PR c++/104470 - * cp-tree.h (enum tsubst_flags): Add tf_dguide. - * pt.cc (tsubst_aggr_type): Check it. - (tsubst_baselink, tsubst_copy): Check it. - (maybe_dependent_member_ref): Check it. - (instantiate_alias_template): Handle it. - (build_deduction_guide): Set it. - -2022-04-29 Jason Merrill <jason@redhat.com> - - PR c++/82980 - * lambda.cc (type_deducible_expression_p): Allow more types. - -2022-04-29 Jason Merrill <jason@redhat.com> - - * decl.cc (cp_finish_decl): Only consider auto for vars. - -2022-04-29 Marek Polacek <polacek@redhat.com> - - PR c++/67048 - * parser.cc (cp_parser_enum_specifier): Warn about empty unnamed enum - only when it's followed by a semicolon. - -2022-04-29 Jason Merrill <jason@redhat.com> - - PR c++/80351 - * decl.cc (cp_finish_decl): Check completeness of deduced type. - -2022-04-29 Jason Merrill <jason@redhat.com> - - PR c++/102987 - * error.cc (dump_decl) [USING_DECL]: Respect flags. - -2022-04-29 Jason Merrill <jason@redhat.com> - - * error.cc (dump_decl): Check TFF_UNQUALIFIED_NAME. - -2022-04-29 Jakub Jelinek <jakub@redhat.com> - - PR c++/104319 - * parser.cc (cp_parser_template_argument): Treat >= like C++98 >> - after a type id by setting maybe_type_id and aborting tentative - parse. - (cp_parser_enclosed_template_argument_list): Handle - CPP_GREATER_EQ like misspelled CPP_GREATER CPP_RQ and - CPP_RSHIFT_EQ like misspelled CPP_GREATER CPP_GREATER_EQ - or CPP_RSHIFT CPP_EQ or CPP_GREATER CPP_GREATER CPP_EQ. - (cp_parser_next_token_ends_template_argument_p): Return true - also for CPP_GREATER_EQ and CPP_RSHIFT_EQ. - -2022-04-29 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/105426 - * coroutines.cc (register_local_var_uses): Allow promotion of unnamed - temporaries to coroutine frame copies. - -2022-04-29 Jason Merrill <jason@redhat.com> - - * semantics.cc (check_trait_type): Don't check completeness - of element type of array of unknown bound. - -2022-04-29 Jason Merrill <jason@redhat.com> - - PR c++/102651 - PR c++/49387 - * rtti.cc (get_tinfo_decl_direct): Don't complete_type. - (emit_tinfo_decl): Update tdesc type if needed. - -2022-04-29 Zhao Wei Liew <zhaoweiliew@gmail.com> - - PR c++/25689 - * call.cc (extract_call_expr): Return a NULL_TREE on failure - instead of asserting. - (build_new_method_call): Suppress -Wparentheses diagnostic for - MODIFY_EXPR. - * semantics.cc (is_assignment_op_expr_p): Add function to check - if an expression is a call to an op= operator expression. - (maybe_convert_cond): Handle the case of a op= operator expression - for the -Wparentheses diagnostic. - -2022-04-28 Patrick Palka <ppalka@redhat.com> - - PR c++/105425 - * pt.cc (unify) <case TEMPLATE_PARM_INDEX>: Treat - DEPENDENT_OPERATOR_TYPE like an empty type. - -2022-04-28 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/104051 - * coroutines.cc (coro_diagnose_throwing_final_aw_expr): Handle - non-target expression inputs. - -2022-04-28 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/105301 - * coroutines.cc (coro_promise_type_found_p): Account for possible - mutliple overloads of the promise return_value() method. - -2022-04-28 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/105287 - * coroutines.cc (maybe_promote_temps): Ensure generated temporaries - are added to the bind expr. - (add_var_to_bind): Fix local var naming to use portable punctuation. - (register_local_var_uses): Do not add synthetic names to unnamed - temporaries. - -2022-04-28 Nathan Sidwell <nathan@acm.org> - Iain Sandoe <iain@sandoe.co.uk> - - PR c++/103868 - * coroutines.cc (finish_co_await_expr): Do not process non-dependent - coroutine expressions at template definition time. - (finish_co_yield_expr): Likewise. - (finish_co_return_stmt): Likewise. - -2022-04-28 Marek Polacek <polacek@redhat.com> - - PR c++/90107 - * parser.cc (cp_parser_class_specifier_1): Accept :: after a class - definition. - -2022-04-27 Jason Merrill <jason@redhat.com> - - * tree.cc (strip_typedefs): Add default argument comments. - -2022-04-27 Marek Polacek <polacek@redhat.com> - - PR c++/105398 - * pt.cc (uses_template_parms): Return false for any NAMESPACE_DECL. - -2022-04-26 Jason Merrill <jason@redhat.com> - - PR c++/102629 - * pt.cc (gen_elem_of_pack_expansion_instantiation): Clear - TEMPLATE_TYPE_PARAMETER_PACK on auto. - -2022-04-26 Patrick Palka <ppalka@redhat.com> - - PR c++/105386 - * semantics.cc (finish_decltype_type): Pass tf_decltype to - instantiate_non_dependent_expr_sfinae. - -2022-04-26 Jason Merrill <jason@redhat.com> - - PR c++/104624 - * pt.cc (check_for_bare_parameter_packs): Check for lambda - function parameter pack. - -2022-04-26 Patrick Palka <ppalka@redhat.com> - - PR c++/105289 - PR c++/86193 - * pt.cc (process_partial_specialization): Downgrade "partial - specialization isn't more specialized" diagnostic from permerror - to an on-by-default pedwarn. - (unify) <case TEMPLATE_PARM_INDEX>: When substituting into the - NTTP type a second time, use the original type not the - substituted type. - -2022-04-25 Marek Polacek <polacek@redhat.com> - - PR c++/105353 - * typeck.cc (build_x_shufflevector): Use - instantiation_dependent_expression_p except for the first two - arguments. - -2022-04-21 Marek Polacek <polacek@redhat.com> - - * constexpr.cc (cxx_eval_logical_expression): Remove unused - parameter. - (cxx_eval_constant_expression) <case TRUTH_ANDIF_EXPR>, - <case TRUTH_OR_EXPR>: Adjust calls to cxx_eval_logical_expression. - -2022-04-21 Marek Polacek <polacek@redhat.com> - - PR c++/105321 - * constexpr.cc (cxx_eval_logical_expression): Always pass false for lval - to cxx_eval_constant_expression. - -2022-04-20 Ed Catmur <ed@catmur.uk> - - PR c++/104996 - * call.cc (compare_ics): When comparing list-initialization - sequences, do not return early. - -2022-04-19 Jakub Jelinek <jakub@redhat.com> - - PR c++/105256 - * typeck2.cc (process_init_constructor_array, - process_init_constructor_record, process_init_constructor_union): Move - CONSTRUCTOR_PLACEHOLDER_BOUNDARY flag from CONSTRUCTOR elements to the - containing CONSTRUCTOR. - -2022-04-15 Marek Polacek <polacek@redhat.com> - - PR c++/105268 - * parser.cc (cp_parser_placeholder_type_specifier): Return - error_mark_node when trying to build up a constrained parameter in - a default argument. - -2022-04-15 Jason Merrill <jason@redhat.com> - - PR c++/102804 - * decl.cc (grokdeclarator): Drop typedef used with 'unsigned'. - -2022-04-15 Jason Merrill <jason@redhat.com> - - PR c++/102987 - * error.cc (dump_expr): Handle USING_DECL. - [VIEW_CONVERT_EXPR]: Just look through location wrapper. - -2022-04-14 Jason Merrill <jason@redhat.com> - - PR c++/104646 - * constexpr.cc (maybe_save_constexpr_fundef): Don't do extra - checks for defaulted ctors. - -2022-04-14 Jason Merrill <jason@redhat.com> - - PR c++/82980 - * lambda.cc (type_deducible_expression_p): New. - (lambda_capture_field_type): Check it. - -2022-04-14 Jason Merrill <jason@redhat.com> - - PR c++/65211 - * pt.cc (tsubst_decl) [TYPE_DECL]: Copy TYPE_ALIGN. - -2022-04-14 Jason Merrill <jason@redhat.com> - - PR c++/97219 - * name-lookup.cc (dependent_local_decl_p): New. - * cp-tree.h (dependent_local_decl_p): Declare. - * semantics.cc (finish_call_expr): Use it. - * pt.cc (tsubst_arg_types): Also substitute default args - for local externs. - -2022-04-14 Jason Merrill <jason@redhat.com> - - PR c++/101698 - * pt.cc (tsubst_baselink): Also check dependent optype. - -2022-04-14 Jason Merrill <jason@redhat.com> - - PR c++/101442 - * decl.cc (cp_finish_decl): Don't pass decl to push_cleanup. - * init.cc (perform_member_init): Likewise. - * semantics.cc (push_cleanup): Adjust comment. - -2022-04-13 Jason Merrill <jason@redhat.com> - - PR c++/105245 - PR c++/100111 - * constexpr.cc (cxx_eval_store_expression): Build a CONSTRUCTOR - as needed in empty base handling. - -2022-04-13 Jakub Jelinek <jakub@redhat.com> - - PR c++/105233 - * decl2.cc (cp_check_const_attributes): For aligned attribute - pass manifestly_const_eval=true to fold_non_dependent_expr. - -2022-04-13 Marek Polacek <polacek@redhat.com> - - PR c++/97296 - * call.cc (direct_reference_binding): strip_top_quals when creating - a ck_qual. - -2022-04-12 Jason Merrill <jason@redhat.com> - - PR c++/104669 - * decl.cc (decls_match): Compare versions even if not recording. - (duplicate_decls): Propagate attributes to alias. - * decl2.cc (find_last_decl): Give up if versioned. - -2022-04-12 Jason Merrill <jason@redhat.com> - - PR c++/102071 - * init.cc (build_new_1): Check array_p for alignment. - -2022-04-12 Patrick Palka <ppalka@redhat.com> - - PR c++/103105 - * pt.cc (build_extra_args): Call preserve_args. - -2022-04-12 Jason Merrill <jason@redhat.com> - - PR c++/104142 - * decl.cc (check_initializer): Check TREE_SIDE_EFFECTS. - -2022-04-12 Jason Merrill <jason@redhat.com> - - PR c++/105223 - PR c++/92918 - * class.cc (finish_struct): Always using op=. - -2022-04-11 Jason Merrill <jason@redhat.com> - - PR c++/98249 - * call.cc (build_operator_new_call): Just look in ::. - -2022-04-11 Alexandre Oliva <oliva@adacore.com> - - * constexpr.cc (cxx_eval_call_expression): Disregard dtor - result. - -2022-04-11 Alexandre Oliva <oliva@adacore.com> - - * semantics.cc (set_cleanup_locs): Propagate locus to call - wrapped in cast-to-void. - -2022-04-11 Jason Merrill <jason@redhat.com> - - PR c++/100370 - * init.cc (warn_placement_new_too_small): Check deref. - -2022-04-09 Jason Merrill <jason@redhat.com> - - PR c++/105191 - PR c++/92385 - * tree.cc (build_vec_init_elt): Do {}-init for aggregates. - * constexpr.cc (cxx_eval_vec_init): Only treat {} as value-init - for non-aggregate types. - (build_vec_init_expr): Also check constancy of explicit - initializer elements. - -2022-04-09 Jason Merrill <jason@redhat.com> - - PR c++/91618 - PR c++/96604 - * name-lookup.cc (set_decl_namespace): Set - DECL_IMPLICIT_INSTANTIATION if no non-template match. - * pt.cc (check_explicit_specialization): Check it. - * decl2.cc (check_classfn): Call it. - -2022-04-07 Patrick Palka <ppalka@redhat.com> - - PR c++/99479 - * name-lookup.cc (name_lookup::using_queue): Change to an - auto_vec (with 16 elements of internal storage). - (name_lookup::queue_namespace): Change return type to void, - take queue parameter by reference and adjust function body - accordingly. - (name_lookup::do_queue_usings): Inline into ... - (name_lookup::queue_usings): ... here. As in queue_namespace. - (name_lookup::search_unqualified): Don't make queue static, - remove length variable, and adjust function body accordingly. - -2022-04-07 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/102586 - * cp-objcp-common.h (cp_classtype_as_base): Declare. - (LANG_HOOKS_CLASSTYPE_AS_BASE): Redefine. - * cp-objcp-common.cc (cp_classtype_as_base): New function. - -2022-04-07 Jason Merrill <jason@redhat.com> - - PR c++/101051 - * decl.cc (grokdeclarator): Reject conversion with trailing return - sooner. - -2022-04-07 Jason Merrill <jason@redhat.com> - - PR c++/101717 - * lambda.cc (lambda_expr_this_capture): Check all enclosing - lambdas for completeness. - -2022-04-07 Jason Merrill <jason@redhat.com> - - PR c++/105187 - * typeck2.cc (store_init_value): Allow TREE_HAS_CONSTRUCTOR for - vectors. - -2022-04-06 Jakub Jelinek <jakub@redhat.com> - - PR c++/104668 - * decl2.cc (splice_template_attributes): Return NULL if *p is - error_mark_node. - (cplus_decl_attributes): Return early if attributes is - error_mark_node. Don't check that later. - -2022-04-06 Patrick Palka <ppalka@redhat.com> - - PR c++/105143 - * pt.cc (do_class_deduction): Check complain before attempting - to issue a -Wctad-maybe-unsupported warning. - -2022-04-06 Jason Merrill <jason@redhat.com> - - PR c++/104702 - * init.cc (build_vec_init): Use a reference for the result. - -2022-04-06 Jason Merrill <jason@redhat.com> - - PR c++/100608 - * name-lookup.cc (check_local_shadow): Use -Wshadow=local - if exactly one of 'old' and 'decl' is a type. - -2022-04-05 Jason Merrill <jason@redhat.com> - - PR c++/103852 - DR 1286 - * pt.cc (do_class_deduction): Pedwarn for renaming alias in C++17. - -2022-04-05 Jason Merrill <jason@redhat.com> - - PR c++/101677 - * name-lookup.h (struct cp_binding_level): Add requires_expression - bit-field. - * parser.cc (cp_parser_requires_expression): Set it. - (synthesize_implicit_template_parm): Check it. - -2022-04-04 Jason Merrill <jason@redhat.com> - - PR c++/101894 - * decl.cc (duplicate_decls): Copy DECL_FRIEND_CONTEXT. - -2022-04-04 Jason Merrill <jason@redhat.com> - - PR c++/103852 - DR 1286 - * pt.cc (get_underlying_template): Compare default template args. - -2022-04-03 Benno Evers <benno.evers@tenzir.com> - Iain Sandoe <iain@sandoe.co.uk> - - PR c++/103328 - * coroutines.cc (morph_fn_to_coro): Reset - current_binding_level->blocks. - -2022-04-01 Jason Merrill <jason@redhat.com> - - Revert: - 2022-03-31 Jason Merrill <jason@redhat.com> - - PR c++/96645 - * parser.cc (cp_parser_early_parsing_nsdmi): New. - (cp_parser_member_declaration): Call it. - -2022-04-01 Jason Merrill <jason@redhat.com> - - Revert: - 2022-03-24 Jason Merrill <jason@redhat.com> - - PR c++/96645 - * cp-tree.h (type_has_default_ctor_to_be_synthesized): Declare. - * class.cc (type_has_default_ctor_to_be_synthesized): New. - (type_has_non_user_provided_default_constructor_1): Support it. - (type_has_non_user_provided_default_constructor): Now a wrapper. - * method.cc (complain_about_unparsed_dmi): New. - (constructible_expr): Call it. - -2022-04-01 Patrick Palka <ppalka@redhat.com> - - PR c++/105110 - * pt.cc (unify) <case TEMPLATE_PARM_INDEX>: Drop cv-quals from - the argument type of an NTTP before deducing from it. - -2022-03-31 Jason Merrill <jason@redhat.com> - - PR c++/96645 - * parser.cc (cp_parser_early_parsing_nsdmi): New. - (cp_parser_member_declaration): Call it. - -2022-03-30 Patrick Palka <ppalka@redhat.com> - - PR c++/100474 - * constraint.cc (diagnose_trait_expr): Handle all remaining - traits appropriately. Remove default case. - -2022-03-30 Marek Polacek <polacek@redhat.com> - - PR c++/93280 - PR c++/104583 - * init.cc (get_nsdmi): Set TARGET_EXPR_DIRECT_INIT_P to in_ctor. - -2022-03-30 Jakub Jelinek <jakub@redhat.com> - - PR c++/105092 - * pt.cc (tsubst_omp_clause_decl): When handling iterators, set - DECL_CONTEXT of the iterator var to current_function_decl and - call pushdecl. - -2022-03-30 Jakub Jelinek <jakub@redhat.com> - - PR c++/105061 - * parser.cc (cp_parser_template_introduction): If member_p, temporarily - clear parser->colon_corrects_to_scope_p around tentative parsing of - nested name specifier. - -2022-03-28 Jason Merrill <jason@redhat.com> - - * pt.cc (determine_specialization): Add comment. - -2022-03-28 Patrick Palka <ppalka@redhat.com> - - PR c++/105067 - * pt.cc (finish_concept_definition): Check that a concept is - declared with exactly one template parameter list. - -2022-03-28 Patrick Palka <ppalka@redhat.com> - - PR c++/105064 - * constraint.cc (maybe_substitute_reqs_for): Don't assume - DECL_TEMPLATE_INFO is available. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/105003 - PR c++/104008 - PR c++/102869 - * pt.cc (complex_alias_template_r): walk_tree callback, replacing - uses_all_template_parms_r, complex_pack_expansion_r. - (complex_alias_template_p): Adjust. - * tree.cc (strip_typedefs): Revert r12-7710 change. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/102071 - * init.cc (build_new_1): Include cookie in alignment. Omit - constexpr wrapper from alloc_call. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/103291 - * name-lookup.cc (push_local_extern_decl_alias): Call - determine_visibility. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/102123 - * pt.cc (tsubst_copy): Use make_unbound_class_template for rewriting - a type template reference. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/103968 - * pt.cc (value_dependent_expression_p): Check - has_value_dependent_address for conversion to reference. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/103943 - * pt.cc (tsubst_qualified_id): Handle getting SCOPE_REF from - tsubst_baselink. - (instantiation_dependent_scope_ref_p): Check dependent_scope_p. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/102045 - * call.cc (make_base_init_ok): Call make_used. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/104847 - * mangle.cc (write_expression): Don't write a union designator when - undigested. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/99445 - PR c++/103769 - * tree.cc (strip_typedefs): Use build_distinct_type_copy. - -2022-03-26 Patrick Palka <ppalka@redhat.com> - - PR c++/105050 - * constexpr.cc (potential_constant_expression_1) <case IF_STMT>: - Clarify error message when a if-stmt is non-constant because its - branches are non-constant. - -2022-03-26 Patrick Palka <ppalka@redhat.com> - - PR c++/103455 - * call.cc (add_builtin_candidate) <case MEMBER_REF>: Test - CLASS_TYPE_P instead of MAYBE_CLASS_TYPE_P. - -2022-03-26 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_parser_postfix_expression) - <case RID_BILTIN_CONVERTVECTOR, case RID_BUILTIN_BIT_CAST>: Don't - return cp_build_{vec,convert,bit_cast} result right away, instead - set postfix_expression to it and break. - -2022-03-25 Marek Polacek <polacek@redhat.com> - - PR c++/104944 - * typeck.cc (cxx_sizeof_or_alignof_type): Diagnose alignof(void). - (cxx_alignas_expr): Call cxx_sizeof_or_alignof_type with - complain == true. - -2022-03-24 Marek Polacek <polacek@redhat.com> - - PR c++/104284 - * decl.cc (check_initializer): Don't call build_aggr_init in - a template. - -2022-03-24 Jason Merrill <jason@redhat.com> - - PR c++/96645 - * cp-tree.h (type_has_default_ctor_to_be_synthesized): Declare. - * class.cc (type_has_default_ctor_to_be_synthesized): New. - (type_has_non_user_provided_default_constructor_1): Support it. - (type_has_non_user_provided_default_constructor): Now a wrapper. - * method.cc (complain_about_unparsed_dmi): New. - (constructible_expr): Call it. - -2022-03-24 Marek Polacek <polacek@redhat.com> - - PR c++/102990 - * typeck2.cc (massage_init_elt): Avoid folding CONSTRUCTORs. - -2022-03-24 Patrick Palka <ppalka@redhat.com> - - PR c++/104620 - * call.cc (build_over_call): Use cxx_constant_value_sfinae - instead of cxx_constant_value to evaluate a consteval call. - * constexpr.cc (cxx_constant_value_sfinae): Add decl parameter - and pass it to cxx_eval_outermost_constant_expr. - * cp-tree.h (cxx_constant_value_sfinae): Add decl parameter. - * pt.cc (fold_targs_r): Pass NULL_TREE as decl parameter to - cxx_constant_value_sfinae. - -2022-03-24 Jakub Jelinek <jakub@redhat.com> - - PR c++/104994 - * constexpr.cc (cxx_eval_constant_expression): Don't diagnose passing - through extern thread_local declarations. Change wording from - declaration to definition. - (potential_constant_expression_1): Don't diagnose extern thread_local - declarations. Change wording from declared to defined. - * decl.cc (start_decl): Likewise. - -2022-03-23 Jason Merrill <jason@redhat.com> - - PR c++/103337 - * decl.cc (reshape_single_init): New. - (reshape_init_class): Use it. - -2022-03-23 Jason Merrill <jason@redhat.com> - - PR c++/105006 - * name-lookup.cc (lookup_using_decl): Check that scope is - a dependent type before looking for dependent using. - -2022-03-23 Jason Merrill <jason@redhat.com> - - PR c++/105006 - * name-lookup.cc (lookup_using_decl): Set DECL_DEPENDENT_P if lookup - finds a dependent using. - -2022-03-21 Jason Merrill <jason@redhat.com> - - PR c++/58646 - * init.cc (build_vec_init): Check for vla element type. - -2022-03-21 Jason Merrill <jason@redhat.com> - - PR c++/103337 - PR c++/102740 - PR c++/103299 - PR c++/102538 - * decl.cc (reshape_init_class): Avoid looking for designator - after we found it. - (reshape_init_r): Keep looking for designator. - -2022-03-21 Jason Merrill <jason@redhat.com> - - PR c++/101767 - * decl.cc (reshape_init_class): Back out of anon struct - if a designator doesn't match. - -2022-03-18 Jason Merrill <jason@redhat.com> - - PR c++/92918 - PR c++/104476 - * class.cc (add_method): Avoid adding the same used function twice. - (handle_using_decl): Don't add_method. - (finish_struct): Don't using op= if we have one already. - (maybe_push_used_methods): New. - * semantics.cc (finish_member_declaration): Call it. - * name-lookup.cc (diagnose_name_conflict): No longer static. - (push_class_level_binding): Revert 92918 patch, limit - to dependent using. - * cp-tree.h: Adjust. - -2022-03-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/104568 - * init.cc (build_new_constexpr_heap_type): Remove FULL_SIZE - argument and its handling, instead add ITYPE2 argument. Only - support COOKIE_SIZE != NULL. - (build_new_1): If size is 0, change it to 0 * outer_nelts if - outer_nelts is non-NULL. Pass type rather than elt_type to - maybe_wrap_new_for_constexpr. - * constexpr.cc (build_new_constexpr_heap_type): New function. - (cxx_eval_constant_expression) <case CONVERT_EXPR>: - If elt_size is zero sized type, try to recover outer_nelts from - the size argument to operator new/new[] and pass that as - arg_size to build_new_constexpr_heap_type. Pass ctx, - non_constant_p and overflow_p to that call too. - -2022-03-18 Marek Polacek <polacek@redhat.com> - - PR c++/104008 - * tree.cc (strip_typedefs): Don't strip an alias template when - doing so would result in losing a parameter pack. - -2022-03-16 Patrick Palka <ppalka@redhat.com> - - * search.cc (lookup_member): Simplify by handling all values - of protect together in the ambiguous case. Don't modify protect. - -2022-03-16 Patrick Palka <ppalka@redhat.com> - - PR c++/96780 - * cp-gimplify.cc (cp_fold) <case CALL_EXPR>: Fold calls to - std::move/forward and other cast-like functions into simple - casts. - -2022-03-15 Patrick Palka <ppalka@redhat.com> - - PR c++/103177 - * search.cc (lookup_field_info::errstr): Remove this data - member. - (lookup_field_r): Don't set errstr. - (lookup_member): Check ambiguity before checking access. - Simplify accordingly after errstr removal. Exit early upon - error or empty result. - -2022-03-15 Jakub Jelinek <jakub@redhat.com> - - PR c++/104623 - * parser.cc (cp_parser_skip_to_pragma_eol): Don't purge any tokens. - -2022-03-14 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/102586 - * call.cc (build_cxx_call): Diagnose __builtin_clear_padding where - first argument's type is pointer to non-trivially-copyable type unless - it is address of a variable or parameter. - -2022-03-12 Patrick Palka <ppalka@redhat.com> - - PR c++/104641 - * cp-tree.h (tsubst_flags::tf_tst_ok): New flag. - * decl.cc (make_typename_type): Allow a typename-specifier to - resolve to a template when tf_tst_ok, in which case return - a CTAD placeholder for the template. - * pt.cc (tsubst_decl) <case VAR_DECL>: Set tf_tst_ok when - substituting the type. - (tsubst): Clear tf_tst_ok and remember if it was set. - <case TYPENAME_TYPE>: Pass tf_tst_ok to make_typename_type - appropriately. - (tsubst_copy) <case CAST_EXPR>: Set tf_tst_ok when substituting - the type. - (tsubst_copy_and_build) <case CAST_EXPR>: Likewise. - <case CONSTRUCTOR>: Likewise. - -2022-03-12 Patrick Palka <ppalka@redhat.com> - - PR c++/104622 - * call.cc (missing_conversion_p): Define. - (add_candidates): Use it. - * pt.cc (check_non_deducible_conversion): Change type of strict - parameter to unification_kind_t and directly test for DEDUCE_CALL. - -2022-03-12 Patrick Palka <ppalka@redhat.com> - - PR c++/104527 - * constraint.cc (normalize_atom): Set - ATOMIC_CONSTR_EXPR_FROM_CONCEPT_P appropriately. - (get_mapped_args): Make static, adjust parameters. Always - return a vector whose depth corresponds to the template depth of - the context of the atomic constraint expression. Micro-optimize - by passing false as exact to safe_grow_cleared and by collapsing - a multi-level depth-one argument vector. - (satisfy_atom): Adjust call to get_mapped_args and - diagnose_atomic_constraint. - (diagnose_atomic_constraint): Replace map parameter with an args - parameter. - * cp-tree.h (ATOMIC_CONSTR_EXPR_FROM_CONCEPT_P): Define. - (get_mapped_args): Remove declaration. - -2022-03-12 Patrick Palka <ppalka@redhat.com> - Jason Merrill <jason@redhat.com> - - PR c++/98644 - * constexpr.cc (mark_non_constant): Define, split out from ... - (cxx_eval_outermost_constant_expr): ... here. - (maybe_constant_value): Use it. - -2022-03-12 Patrick Palka <ppalka@redhat.com> - - * semantics.cc (finish_unary_fold_expr): Use input_location - instead of UNKNOWN_LOCATION. - (finish_binary_fold_expr): Likewise. - -2022-03-12 Thomas Schwinge <thomas@codesourcery.com> - - PR other/65095 - * semantics.cc (handle_omp_array_sections_1) - (cp_oacc_check_attachments): Call 'user_omp_clause_code_name' - instead of 'c_omp_map_clause_name'. - -2022-03-10 Marek Polacek <polacek@redhat.com> - - PR c++/104608 - * parser.cc (cp_parser_template_name): Repeat lookup of - TYPE_DECLs. - -2022-03-10 Marek Polacek <polacek@redhat.com> - - PR c++/104752 - * semantics.cc (finish_compound_literal): Disallow auto{x} for - is_constrained_auto. - * typeck2.cc (build_functional_cast_1): Likewise. - -2022-03-10 Marek Polacek <polacek@redhat.com> - - PR c++/104846 - * decl.cc (grokdeclarator): Check FUNC_OR_METHOD_TYPE_P before giving - data member errors. - -2022-03-10 Jakub Jelinek <jakub@redhat.com> - - PR c++/103460 - * decl.cc (grok_op_properties): Allow variadic operator[] for - C++23. - -2022-03-10 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/95999 - * decl.cc (finish_enum_value_list): If VALUE isn't an INTEGER_CST - consider it to be zero (i.e. treat it like error_mark_node). - (build_enumerator): Likewise, if PREV_VALUE isn't an INTEGER_CST, - set VALUE to error_mark_node. - -2022-03-10 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/39751 - * parser.cc (cp_parser_late_parsing_for_member): Confirm the token - stream hasn't been purged before processing DECL_PENDING_INLINE. - -2022-03-09 Patrick Palka <ppalka@redhat.com> - - PR c++/104823 - * except.cc (build_noexcept_spec): Strengthen dependence check - to instantiation_dependent_expression_p. - * parser.cc (cp_parser_parenthesized_expression_list_elt): - Remove fold_expr_p parameter, and don't call - instantiate_non_dependent_expr. - (cp_parser_parenthesized_expression_list): Adjust accordingly. - * pt.cc (expand_integer_pack): Strengthen dependence check - to instantiation_dependent_expression_p. - (instantiate_non_dependent_expr_internal): Adjust comment. - (instantiate_non_dependent_expr_sfinae): Likewise. Drop - the potentially-constant check, and relax and turn the - dependence check into a checking assert. - (instantiate_non_dependent_or_null): Adjust comment. - * semantics.cc (finish_decltype_type): Keep - processing_template_decl cleared after calling - instantiate_non_dependent_expr_sfinae. - -2022-03-09 Patrick Palka <ppalka@redhat.com> - - PR c++/102137 - PR c++/87820 - * cp-tree.h (is_copy_initialization): Declare. - * decl.cc (cp_finish_decl): Set LOOKUP_ONLYCONVERTING - when is_copy_initialization is true. - * init.cc (build_aggr_init): Split out copy-initialization - check into ... - (is_copy_initialization): ... here. - * pt.cc (instantiate_decl): Pass 0 instead of - LOOKUP_ONLYCONVERTING as flags to cp_finish_decl. - -2022-03-09 Patrick Palka <ppalka@redhat.com> - - PR c++/65396 - * cp-tree.h (merge_default_template_args): Declare. - * decl.cc (merge_default_template_args): Define, factored out - from redeclare_class_template. - (duplicate_decls): Use it when merging member function template - and free function declarations. - * pt.cc (redeclare_class_template): Factor out default argument - merging logic into merge_default_template_args. Improve location - of a note when there's a template parameter kind mismatch. - -2022-03-09 Jakub Jelinek <jakub@redhat.com> - - PR c/104711 - * constexpr.cc (cxx_eval_check_shift_p): Use TYPE_OVERFLOW_WRAPS - instead of TYPE_UNSIGNED. - * typeck.cc (cp_build_binary_op): Don't emit - -Wshift-negative-value warning if TYPE_OVERFLOW_WRAPS. - -2022-03-08 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/96440 - * decl.cc (start_decl): Defend against prefix_attributes being - error_mark_node. - -2022-03-08 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/96437 - * parser.cc (synthesize_implicit_template_parm): Check that - TREE_VALUE (new_parm) isn't error_mark_node before setting its - DECL_VIRTUAL_P. - -2022-03-08 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/96329 - * parser.cc (cp_parser_linkage_specification): Treat the case where - linkage is error_mark_node as "invalid linkage-specification". - -2022-03-08 Marek Polacek <polacek@redhat.com> - - PR c++/104108 - * pt.cc (convert_nontype_argument): Recompute - value_dependent_expression_p after build_converted_constant_expr. - -2022-03-08 Marek Polacek <polacek@redhat.com> - - * decl2.cc (is_late_template_attribute): Do not defer attribute - unavailable. - * pt.cc (tsubst_enum): Set TREE_UNAVAILABLE. - -2022-03-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/104806 - * search.cc (lookup_field_fuzzy_info::fuzzy_lookup_field): Ignore - identifiers with space at the end. - -2022-03-07 Jason Merrill <jason@redhat.com> - - PR c++/104618 - * decl2.cc (mark_single_function): Look through parens and location - wrapper. - * typeck.cc (cp_build_addr_expr_1): Not here. - -2022-03-07 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_parser_omp_clause_map): Add missing space in string - literal. - -2022-03-07 Jakub Jelinek <jakub@redhat.com> - - * cvt.cc: Fix up duplicated word issue in a comment. - * pt.cc: Likewise. - * module.cc: Likewise. - * coroutines.cc: Likewise. - -2022-03-04 Nathan Sidwell <nathan@acm.org> - - * mangle.cc (is_std_substitution): Check global module. - (is_std_substitution_char): Return bool. - -2022-03-04 Nathan Sidwell <nathan@acm.org> - - * cp-tree.h (mangle_identifier): Replace with ... - (mangle_module_component): ... this. - * mangle.cc (dump_substitution_candidates): Adjust. - (add_substitution): Likewise. - (find_substitution): Likewise. - (unmangled_name_p): Likewise. - (mangle_module_substitution): Reimplement. - (mangle_module_component): New. - (write_module, maybe_write_module): Adjust. - (write_name): Drop modules here. - (write_unqualified): Do them here instead. - (mangle_global_init): Adjust. - * module.cc (module_state::mangle): Adjust. - (mangle_module): Likewise. - (get_originating_module): Adjust. - -2022-02-28 Marek Polacek <polacek@redhat.com> - - PR c++/104682 - * cp-tree.h (build_enumerator): Adjust. - * decl.cc (finish_enum): Make it return the new decl. - * pt.cc (tsubst_enum): Propagate TREE_DEPRECATED and TREE_UNAVAILABLE. - -2022-02-28 Marek Polacek <polacek@redhat.com> - - PR c++/104667 - * decl2.cc (is_late_template_attribute): Cope with a decl without - a type. - -2022-02-27 Jason Merrill <jason@redhat.com> - - PR c++/104618 - * typeck.cc (cp_build_addr_expr_1): Also - maybe_undo_parenthesized_ref. - -2022-02-24 Martin Liska <mliska@suse.cz> - - * pt.cc (defarg_insts_for): Use braces for subobject. - -2022-02-18 Patrick Palka <ppalka@redhat.com> - - PR c++/94944 - * pt.cc (maybe_instantiate_noexcept): For non-static member - functions, set current_class_ptr/ref to the specialized 'this' - instead. - -2022-02-17 Jason Merrill <jason@redhat.com> - - PR c++/104539 - * pt.cc (mark_decl_instantiated): Don't clear DECL_COMDAT. - -2022-02-17 Jason Merrill <jason@redhat.com> - - PR c++/90451 - * decl2.cc (mark_single_function): New. - * cp-tree.h: Declare it. - * typeck.cc (cp_build_addr_expr_1): mark_used when making a PMF. - * semantics.cc (finish_qualified_id_expr): Not here. - (finish_id_expression_1): Or here. - (finish_decltype_type): Call mark_single_function. - * cvt.cc (convert_to_void): And here. - * pt.cc (convert_nontype_argument): And here. - * init.cc (build_offset_ref): Adjust assert. - -2022-02-17 Patrick Palka <ppalka@redhat.com> - - PR c++/104565 - * semantics.cc (finish_compound_literal): Don't perform - non-dependent expr folding before calling check_narrowing. - -2022-02-16 Patrick Palka <ppalka@redhat.com> - - PR c++/104507 - * constexpr.cc (potential_constant_expression_1) - <case NON_DEPENDENT_EXPR>: Return false instead of recursing. - Assert tf_error isn't set. - -2022-02-15 Jason Merrill <jason@redhat.com> - - PR c++/104107 - PR c++/95036 - * pt.cc (coerce_template_template_parms): Take full parms. - Avoid adding too much of outer_args. - (coerce_template_template_parm): Adjust. - (template_template_parm_bindings_ok_p): Adjust. - (convert_template_argument): Adjust. - -2022-02-14 Jakub Jelinek <jakub@redhat.com> - - PR c++/104513 - * constexpr.cc (potential_constant_expression_1) <case GOTO_EXPR>: - Don't punt if returns (target). - -2022-02-11 Jakub Jelinek <jakub@redhat.com> - - PR c++/104472 - * constexpr.cc (cxx_eval_internal_function) <case IFN_VEC_CONVERT>: - Only return fold_const_call result if it is non-NULL. Otherwise - fall through into the default: case to return t, set *non_constant_p - and emit diagnostics if needed. - -2022-02-10 Jason Merrill <jason@redhat.com> - - * module.cc (depset::hash::add_specializations): Use - STRIP_TEMPLATE. - -2022-02-10 Tobias Burnus <tobias@codesourcery.com> - - PR c++/102204 - * decl2.cc (cp_omp_mappable_type_1): Remove check for virtual - members as those are permitted since OpenMP 5.0. - -2022-02-10 Patrick Palka <ppalka@redhat.com> - - * pt.cc (filter_memfn_lookup): Handle dependent USING_DECL - better. - -2022-02-10 Marcel Vollweiler <marcel@codesourcery.com> - - * parser.cc (cp_parser_omp_clause_name): Parse 'has_device_addr' clause. - (cp_parser_omp_var_list_no_open): Handle array sections. - (cp_parser_omp_all_clauses): Added PRAGMA_OMP_CLAUSE_HAS_DEVICE_ADDR - case. - (cp_parser_omp_target_update): Added HAS_DEVICE_ADDR to OMP_CLAUSE_MASK. - * semantics.cc (handle_omp_array_sections): Handle clause restrictions. - (finish_omp_clauses): Handle array sections. - -2022-02-09 Patrick Palka <ppalka@redhat.com> - - PR c++/104432 - * call.cc (build_new_method_call): When a non-dependent call - resolves to a specialization of a member template, always build - the pruned overload set using the member template, not the - specialization. - * pt.cc (filter_memfn_lookup): New parameter newtype. Simplify - and correct how members from the new lookup set are matched to - those from the old one. - (tsubst_baselink): Pass binfo_type as newtype to - filter_memfn_lookup. - -2022-02-09 Jason Merrill <jason@redhat.com> - - PR c++/103752 - * module.cc (trees_out::core_vals): Stream explicit specifier. - (trees_in::core_vals): Likewise. - * pt.cc (store_explicit_specifier): No longer static. - (tsubst_function_decl): Clear DECL_HAS_DEPENDENT_EXPLICIT_SPEC_P. - * cp-tree.h (lookup_explicit_specifier): Declare. - -2022-02-09 Jason Merrill <jason@redhat.com> - - PR c++/96876 - * typeck2.cc (split_nonconstant_init_1): Push cleanups for - preceding members with constant initialization. - (maybe_push_temp_cleanup): Do nothing if -fno-exceptions. - -2022-02-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/104379 - * name-lookup.cc (check_local_shadow): When diagnosing shadowing - of a member or global declaration, add warning suppression for - the decl and don't warn again on it. - -2022-02-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/104403 - * constexpr.cc (cxx_eval_constant_expression): Don't assert DECL_EXPRs - of TREE_STATIC vars may only appear in -std=c++23. - -2022-02-08 Patrick Palka <ppalka@redhat.com> - - PR c++/80951 - * pt.cc (uses_deducible_template_parms): Consider the - noexcept-spec of a function type. - -2022-02-08 Patrick Palka <ppalka@redhat.com> - - PR c++/104410 - * constraint.cc (satisfaction_value): Relax assert to accept - cv-qualified bool. - -2022-02-08 Patrick Palka <ppalka@redhat.com> - - PR c++/103706 - * pt.cc (preserve_args): New function. - (tsubst_lambda_expr): Use it when setting LAMBDA_EXPR_REGEN_INFO. - -2022-02-08 Patrick Palka <ppalka@redhat.com> - - PR c++/103706 - * constraint.cc (satisfy_declaration_constraints): Use - lambda_regenerating_args instead. - * cp-tree.h (lambda_regenerating_args): Declare. - * pt.cc (lambda_regenerating_args): Define, split out from - satisfy_declaration_constraints. - (do_auto_deduction): Use lambda_regenerating_args to obtain the - full set of outer template arguments for satisfaction when - inside a lambda. - -2022-02-06 Patrick Palka <ppalka@redhat.com> - - PR c++/96242 - * decl2.cc (mark_used): Directly synthesize a DECL_MAYBE_DELETED - fn by calling maybe_synthesize_method instead of relying on - maybe_instantiate_noexcept. Move call to m_i_n after the - DECL_DELETED_FN handling. - * pt.cc (maybe_instantiate_noexcept): Restrict DECL_MAYBE_DELETED - fn synthesis to only those with an implicit noexcept-spec, and - return !DECL_DELETED_FN instead of !DECL_MAYBE_DELETED afterwards. - -2022-02-06 Jakub Jelinek <jakub@redhat.com> - - PR c++/89074 - PR c++/104033 - * constexpr.cc (cxx_eval_binary_expression): Temporarily set - folding_cxx_constexpr. - -2022-02-05 Jason Merrill <jason@redhat.com> - - PR c++/104300 - PR c++/92385 - * cp-tree.h (get_vec_init_expr): New. - (target_expr_needs_replace): New. - * cp-gimplify.cc (cp_gimplify_init_expr): Use it. - (struct cp_fold_data): New. - (cp_fold_r): Only genericize inits at end of fn. - (cp_fold_function): Here. - (cp_fully_fold_init): Not here. - * init.cc (build_vec_init): Use get_vec_init_expr. - * tree.cc (build_vec_init_expr): Likewise. - * typeck2.cc (split_nonconstant_init_1): Likewise. - (process_init_constructor): Wrap VEC_INIT_EXPR in - TARGET_EXPR. - -2022-02-05 Jason Merrill <jason@redhat.com> - - * pt.cc (iterative_hash_template_arg): Add comment. - -2022-02-03 Patrick Palka <ppalka@redhat.com> - - PR c++/104079 - * pt.cc (value_dependent_noexcept_spec_p): New predicate split - out from ... - (dependent_type_p_r): ... here. - (instantiation_dependent_r): Use value_dependent_noexcept_spec_p - to consider dependence of a noexcept-spec before C++17. - * tree.cc (fixup_deferred_exception_variants): Clear - TYPE_DEPENDENT_P_VALID. - -2022-02-03 Jason Merrill <jason@redhat.com> - - PR c++/104302 - * decl.cc (maybe_deduce_size_from_array_init): Give up - on type-dependent init. - (cp_complete_array_type): Only call reshape_init for character - array. - -2022-02-01 Jason Merrill <jason@redhat.com> - - PR c++/103186 - * pt.cc (defarg_inst): Use tree_vec_map_cache_hasher. - (defarg_insts_for): New. - (tsubst_default_argument): Adjust. - -2022-01-31 Marek Polacek <polacek@redhat.com> - - PR c++/102414 - PR c++/101874 - * decl.cc (create_array_type_for_decl): Use template_placeholder_p. - Sorry on a variable-length array of auto. - -2022-01-31 Marek Polacek <polacek@redhat.com> - - PR c++/102434 - * class.cc (finish_struct): Don't allow union initializer_list. - -2022-01-31 Patrick Palka <ppalka@redhat.com> - - PR c++/104294 - * pt.cc (ctor_deduction_guides_for): Correct computation of - outer_args. - -2022-01-31 Patrick Palka <ppalka@redhat.com> - - PR c++/104291 - * pt.cc (for_each_template_parm_r) <case CONSTRUCTOR>: Clear - walk_subtrees if !include_nondeduced_p. Simplify given that - cp_walk_subtrees already walks TYPE_PTRMEMFUNC_FN_TYPE_RAW. - -2022-01-28 Patrick Palka <ppalka@redhat.com> - Jason Merrill <jason@redhat.com> - - PR c++/92752 - * typeck.cc (build_ptrmemfunc): Cast a nullptr constant to the - unqualified pointer type not the qualified one. - -2022-01-28 Patrick Palka <ppalka@redhat.com> - - PR c++/103341 - * decl.cc (cp_finish_decl): Pass the template arguments of a - variable template specialization or a templated static data - member to do_auto_deduction when the auto is constrained. - -2022-01-28 Jason Merrill <jason@redhat.com> - - PR c++/100198 - PR c++/100030 - PR c++/100282 - * parser.cc (cp_parser_enumerator_definition): Sorry on parameter - pack in lambda. - (cp_parser_class_head): And in class attributes. - * pt.cc (check_for_bare_parameter_packs): Sorry instead of error - in lambda. - -2022-01-27 Jason Merrill <jason@redhat.com> - - PR c++/104245 - PR c++/51344 - * decl2.cc (save_template_attributes): Take late attrs as parm. - (cplus_decl_attributes): Call it after decl_attributes, - splice_template_attributes before. - -2022-01-27 Patrick Palka <ppalka@redhat.com> - - PR c++/99895 - * call.cc (build_over_call): For a non-dependent member call, - build up a CALL_EXPR using a COMPONENT_REF callee, as in - build_new_method_call. - * pt.cc (build_non_dependent_expr): Don't wrap PARM_DECL either. - * tree.cc (build_min_non_dep_op_overload): Adjust accordingly - after the build_over_call change. - -2022-01-27 Patrick Palka <ppalka@redhat.com> - - PR c++/92944 - PR c++/103678 - * parser.cc (cp_parser_class_head): Update 'type' with the result - of maybe_process_partial_specialization in the - nested_name_specifier branch. Refactor nearby code to accomodate - that maybe_process_partial_specialization returns a _TYPE, not a - TYPE_DECL, and eliminate local variable 'class_type' in passing. - -2022-01-27 Marek Polacek <polacek@redhat.com> - - PR c++/101988 - * decl.cc (create_array_type_for_decl): Reject forming an array of - placeholder for a deduced class type. - -2022-01-26 Jason Merrill <jason@redhat.com> - - PR c++/104206 - PR c++/101072 - * semantics.cc (finish_compound_literal): Restore VECTOR_TYPE check. - -2022-01-26 Jakub Jelinek <jakub@redhat.com> - - PR c++/104226 - * constexpr.cc (init_subob_ctx): For vector ctors containing - vector elements, ensure appending to the same ctor instead of - creating another one. - -2022-01-26 Marek Polacek <polacek@redhat.com> - - PR target/104213 - * decl.cc (finish_constructor_body): Suppress -Wuse-after-free. - (finish_destructor_body): Likewise. - * optimize.cc (build_delete_destructor_body): Likewise. - -2022-01-26 Jason Merrill <jason@redhat.com> - - PR c++/104235 - * parser.cc (cp_parser_template_name): Repeat lookup of USING_DECL. - -2022-01-26 Jason Merrill <jason@redhat.com> - - PR c++/103057 - * pt.cc (tsubst_aggr_type): Call tsubst for alias template - specialization. - -2022-01-25 Patrick Palka <ppalka@redhat.com> - - PR c++/101532 - PR c++/104225 - * decl2.cc (mark_used): Don't consider maybe_instantiate_noexcept - on a deleted function. - -2022-01-25 Jason Merrill <jason@redhat.com> - - PR c++/59950 - * call.cc (build_over_call): Use cp_build_indirect_ref. - -2022-01-24 Patrick Palka <ppalka@redhat.com> - - PR c++/104197 - * pt.cc (make_auto_1): Use -1 as a placeholder default argument - for level. - -2022-01-24 Patrick Palka <ppalka@redhat.com> - - PR c++/104173 - * typeck.cc (build_class_member_access_expr): Extend - unary_complex_lvalue result adjustment to preserve all - rvalues, not just xvalues. - -2022-01-23 Will Wray <wjwray@gmail.com> - - PR c++/55227 - * decl.cc (reshape_init_r): Only call has_designator_check when - first_initializer_p or for the inner constructor element. - (cp_complete_array_type): Call reshape_init on braced-init-list. - -2022-01-23 Jason Merrill <jason@redhat.com> - - PR c++/104182 - * cp-gimplify.cc (cp_genericize_target_expr): Make sure nothing - has set DECL_INITIAL on a TARGET_EXPR slot. - * tree.cc (is_local_temp): Don't check DECL_CONTEXT. - -2022-01-23 Jason Merrill <jason@redhat.com> - - PR c++/101072 - * cp-tree.h (build_implicit_conv_flags): Declare. - * call.cc (build_implicit_conv_flags): Split out from... - (perform_implicit_conversion_flags): ...here. - * decl.cc (check_initializer): Use it. - * pt.cc (tsubst_copy_and_build): Remove TARGET_EXPR handling. - * semantics.cc (finish_compound_literal): Don't treat - scalar values like CONSTRUCTORs. - -2022-01-21 Jason Merrill <jason@redhat.com> - - * semantics.cc (find_failing_clause): Return expr if not - decomposable. - (finish_static_assert): Show constant values in failing - comparison. - -2022-01-21 Jason Merrill <jason@redhat.com> - - PR c++/104084 - PR c++/20040 - * init.cc (build_new_1): Only pull out TARGET_EXPR_INITIAL if - alloc_expr is a TARGET_EXPR. - -2022-01-21 Marek Polacek <polacek@redhat.com> - - PR c++/101715 - * tree.cc (fixup_deferred_exception_variants): Remove duplicate - variants after parsing the exception specifications. - -2022-01-21 Jason Merrill <jason@redhat.com> - - PR c++/104139 - PR c++/103681 - * class.cc (end_of_class): Use base_binfo. - -2022-01-20 Jason Merrill <jason@redhat.com> - - PR c++/101405 - * decl.cc (reshape_init_class): Reject designator for a member of - another class. - -2022-01-20 Patrick Palka <ppalka@redhat.com> - - PR c++/91911 - PR c++/103672 - * pt.cc (keep_template_parm): Punt on a level 0 template parm. - (tsubst_decl) <case VAR_DECL>: Remove !CHECKING_P safeguard. - (tsubst) <case TEMPLATE_TYPE_PARM>: Handle CTAD placeholders - specially. - (make_auto_1): Add defaulted 'level' parameter. - (make_template_placeholder): Pass 0 as 'level' to make_auto_1. - -2022-01-20 Patrick Palka <ppalka@redhat.com> - - * decl.cc (grokdeclarator): Diagnose a CTAD placeholder as - function return type even when !funcdecl_p. - -2022-01-20 Martin Liska <mliska@suse.cz> - - PR c++/104134 - * error.cc (dump_aggr_type): Partially disable the warning. - -2022-01-20 Jason Merrill <jason@redhat.com> - - PR c++/102300 - * parser.cc (cp_parser_template_name): Use dependent_scope_p. - -2022-01-19 David Malcolm <dmalcolm@redhat.com> - - * cp-lang.cc (selftest::run_cp_tests): Update calls for .c to .cc - renaming. - * cp-tree.h (cp_pt_c_tests): Rename to... - (cp_pt_cc_tests): ...this. - (cp_tree_c_tests): Rename to... - (cp_tree_cc_tests): ...this. - * pt.cc (cp_pt_c_tests): Rename to... - (cp_pt_cc_tests): ...this. - * tree.cc (cp_tree_c_tests): Rename to... - (cp_tree_cc_tests): ...this. - -2022-01-19 Jason Merrill <jason@redhat.com> - - * parser.cc (saved_token_sentinel::rollback): Use - cp_lexer_previous_token. - -2022-01-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/104055 - * constexpr.cc (cxx_eval_outermost_constant_expr): If t is a - TARGET_EXPR with TARGET_EXPR_CLEANUP, use get_target_expr rather - than get_target_expr_sfinae with tf_no_cleanup, and don't set - TREE_CONSTANT. - -2022-01-18 Jason Merrill <jason@redhat.com> - Jakub Jelinek <jakub@redhat.com> - - PR c++/104025 - * parser.cc (saved_token_sentinel::rollback): Call - cp_lexer_set_source_position. - (~saved_token_sentinel): Call rollback. - -2022-01-18 Patrick Palka <ppalka@redhat.com> - - PR c++/104074 - * pt.cc (invalid_nontype_parm_type_p): Use WILDCARD_TYPE_P so - that we return false for DEPENDENT_OPERATOR_TYPE too. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * Make-lang.in: Rename .c names to .cc. - * config-lang.in: Likewise. - * constexpr.cc (cxx_eval_constant_expression): Likewise. - * coroutines.cc (morph_fn_to_coro): Likewise. - * cp-gimplify.cc (cp_gimplify_expr): Likewise. - * cp-lang.cc (struct lang_hooks): Likewise. - (get_template_argument_pack_elems_folded): Likewise. - * cp-objcp-common.cc (cp_tree_size): Likewise. - (cp_unit_size_without_reusable_padding): Likewise. - (pop_file_scope): Likewise. - (cp_pushdecl): Likewise. - * cp-objcp-common.h (GCC_CP_OBJCP_COMMON): Likewise. - (cxx_simulate_record_decl): Likewise. - * cp-tree.h (struct named_label_entry): Likewise. - (current_function_return_value): Likewise. - (more_aggr_init_expr_args_p): Likewise. - (get_function_version_dispatcher): Likewise. - (common_enclosing_class): Likewise. - (strip_fnptr_conv): Likewise. - (current_decl_namespace): Likewise. - (do_aggregate_paren_init): Likewise. - (cp_check_const_attributes): Likewise. - (qualified_name_lookup_error): Likewise. - (generic_targs_for): Likewise. - (mark_exp_read): Likewise. - (is_global_friend): Likewise. - (maybe_reject_flexarray_init): Likewise. - (module_token_lang): Likewise. - (handle_module_option): Likewise. - (literal_integer_zerop): Likewise. - (build_extra_args): Likewise. - (build_if_nonnull): Likewise. - (maybe_check_overriding_exception_spec): Likewise. - (finish_omp_target_clauses): Likewise. - (maybe_warn_zero_as_null_pointer_constant): Likewise. - (cxx_print_error_function): Likewise. - (decl_in_std_namespace_p): Likewise. - (merge_exception_specifiers): Likewise. - (mangle_module_global_init): Likewise. - (cxx_block_may_fallthru): Likewise. - (fold_builtin_source_location): Likewise. - (enum cp_oracle_request): Likewise. - (subsumes): Likewise. - (cp_finish_injected_record_type): Likewise. - (vtv_build_vtable_verify_fndecl): Likewise. - (cp_tree_c_finish_parsing): Likewise. - * cvt.cc (diagnose_ref_binding): Likewise. - (convert_to_void): Likewise. - (convert_force): Likewise. - (type_promotes_to): Likewise. - * decl.cc (make_unbound_class_template_raw): Likewise. - (cxx_init_decl_processing): Likewise. - (check_class_member_definition_namespace): Likewise. - (cxx_maybe_build_cleanup): Likewise. - * decl2.cc (maybe_emit_vtables): Likewise. - * error.cc (dump_function_name): Likewise. - * init.cc (is_class_type): Likewise. - (build_new_1): Likewise. - * lang-specs.h: Likewise. - * method.cc (make_alias_for_thunk): Likewise. - * module.cc (specialization_add): Likewise. - (module_state::read_cluster): Likewise. - * name-lookup.cc (check_extern_c_conflict): Likewise. - * name-lookup.h (struct cxx_binding): Likewise. - * parser.cc (cp_parser_identifier): Likewise. - * parser.h (struct cp_parser): Likewise. - * pt.cc (has_value_dependent_address): Likewise. - (push_tinst_level_loc): Likewise. - * semantics.cc (finish_omp_clauses): Likewise. - (finish_omp_atomic): Likewise. - * tree.cc (cp_save_expr): Likewise. - (cp_free_lang_data): Likewise. - * typeck.cc (cp_common_type): Likewise. - (strip_array_domain): Likewise. - (rationalize_conditional_expr): Likewise. - (check_return_expr): Likewise. - * vtable-class-hierarchy.cc: Likewise. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * call.c: Moved to... - * call.cc: ...here. - * class.c: Moved to... - * class.cc: ...here. - * constexpr.c: Moved to... - * constexpr.cc: ...here. - * cp-gimplify.c: Moved to... - * cp-gimplify.cc: ...here. - * cp-lang.c: Moved to... - * cp-lang.cc: ...here. - * cp-objcp-common.c: Moved to... - * cp-objcp-common.cc: ...here. - * cp-ubsan.c: Moved to... - * cp-ubsan.cc: ...here. - * cvt.c: Moved to... - * cvt.cc: ...here. - * cxx-pretty-print.c: Moved to... - * cxx-pretty-print.cc: ...here. - * decl.c: Moved to... - * decl.cc: ...here. - * decl2.c: Moved to... - * decl2.cc: ...here. - * dump.c: Moved to... - * dump.cc: ...here. - * error.c: Moved to... - * error.cc: ...here. - * except.c: Moved to... - * except.cc: ...here. - * expr.c: Moved to... - * expr.cc: ...here. - * friend.c: Moved to... - * friend.cc: ...here. - * g++spec.c: Moved to... - * g++spec.cc: ...here. - * init.c: Moved to... - * init.cc: ...here. - * lambda.c: Moved to... - * lambda.cc: ...here. - * lex.c: Moved to... - * lex.cc: ...here. - * mangle.c: Moved to... - * mangle.cc: ...here. - * method.c: Moved to... - * method.cc: ...here. - * name-lookup.c: Moved to... - * name-lookup.cc: ...here. - * optimize.c: Moved to... - * optimize.cc: ...here. - * parser.c: Moved to... - * parser.cc: ...here. - * pt.c: Moved to... - * pt.cc: ...here. - * ptree.c: Moved to... - * ptree.cc: ...here. - * rtti.c: Moved to... - * rtti.cc: ...here. - * search.c: Moved to... - * search.cc: ...here. - * semantics.c: Moved to... - * semantics.cc: ...here. - * tree.c: Moved to... - * tree.cc: ...here. - * typeck.c: Moved to... - * typeck.cc: ...here. - * typeck2.c: Moved to... - * typeck2.cc: ...here. - * vtable-class-hierarchy.c: Moved to... - * vtable-class-hierarchy.cc: ...here. - -2022-01-17 Jakub Jelinek <jakub@redhat.com> - - PR c++/104031 - * cp-gimplify.c (cp_genericize_target_expr): Set DECL_CONTEXT of - TARGET_EXPR_SLOT to current_function_decl if it was NULL. - -2022-01-17 Andrew Stubbs <ams@codesourcery.com> - - * parser.c (cp_parser_omp_requires): Don't "sorry" dynamic_allocators. - -2022-01-14 Chung-Lin Tang <cltang@codesourcery.com> - - PR c++/103705 - * semantics.c (finish_omp_clauses): Also continue peeling off of - outer node for ARRAY_REFs. - -2022-01-14 Jakub Jelinek <jakub@redhat.com> - - PR c++/103991 - * cp-objcp-common.c (cxx_block_may_fallthru) <case IF_STMT>: For - IF_STMT_CONSTEXPR_P with constant false or true condition only - check if the taken clause may fall through. - * cp-gimplify.c (genericize_if_stmt): For consteval if, revert - to r12-5638^ behavior if then_ block can't fall through. For - constexpr if, revert to r12-5638^ behavior. - -2022-01-13 Anthony Sharp <anthonysharp15@gmail.com> - Jason Merrill <jason@redhat.com> - - PR c++/70417 - * parser.c (cp_parser_id_expression): Handle - -Wmissing-template-keyword. - (struct saved_token_sentinel): Add modes to control what happens - on destruction. - (cp_parser_statement): Adjust. - (cp_parser_skip_entire_template_parameter_list): New function that - skips an entire template parameter list. - (cp_parser_require_end_of_template_parameter_list): Rename old - cp_parser_skip_to_end_of_template_parameter_list. - (cp_parser_skip_to_end_of_template_parameter_list): Refactor to be - called from one of the above two functions. - (cp_parser_lambda_declarator_opt) - (cp_parser_explicit_template_declaration) - (cp_parser_enclosed_template_argument_list): Adjust. - -2022-01-12 Jakub Jelinek <jakub@redhat.com> - Jason Merrill <jason@redhat.com> - - PR c++/103480 - * tree.c (move): If expr is xvalue_p, just return expr without - build_static_cast. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - PR c++/101597 - * class.c (build_vfn_ref): Build OBJ_TYPE_REF with INTEGER_CST - OBJ_TYPE_REF_TOKEN with type equal to OBJ_TYPE_REF_OBJECT type. - * error.c (resolve_virtual_fun_from_obj_type_ref): Use type of - OBJ_TYPE_REF_TOKEN rather than type of OBJ_TYPE_REF_OBJECT as - obj_type. - -2022-01-11 Patrick Palka <ppalka@redhat.com> - - PR c++/103831 - * call.c (build_new_method_call): Consider dependent bases only - if 'this' is available. - -2022-01-11 Olivier Hainque <hainque@adacore.com> - - * decl.c (cxx_init_decl_processing): Move code possibly - altering flag_weak before code testing it. - -2022-01-10 Patrick Palka <ppalka@redhat.com> - - PR c++/103879 - * constexpr.c (cxx_fold_indirect_ref): Split out object/offset - canonicalization step into a local lambda. Strengthen it to - absorb more components at position 0. Use it before both calls - to cxx_fold_indirect_ref_1. - -2022-01-10 Patrick Palka <ppalka@redhat.com> - - PR c++/103783 - * call.c (cand_parms_match): Skip over 'this' when given one - static and one non-static member function. - -2022-01-10 Jakub Jelinek <jakub@redhat.com> - - PR c++/103912 - * semantics.c (expand_or_defer_fn): For immediate functions, set - node->body_removed to true and clear analyzed, definition and - force_output. - * decl2.c (c_parse_final_cleanups): Ignore immediate functions for - expand_or_defer_fn. - -2022-01-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/89074 - * constexpr.c (cxx_maybe_fold_addr_pointer_plus): New function. - (cxx_eval_binary_expression): Use it. - -2022-01-08 Jason Merrill <jason@redhat.com> - - PR c++/103946 - * init.c (build_vec_init): Remove assert. - * tree.c (build_vec_init_expr): Likewise. - -2022-01-08 Jason Merrill <jason@redhat.com> - - PR c++/100588 - * call.c (build_op_delete_call): Ignore destroying delete - if alloc_fn. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/20040 - * init.c (build_new_1): Also build pointer cleanup if - TYPE_GETS_DELETE. - * cp-tree.h (TYPE_GETS_VEC_DELETE): New. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/103936 - PR c++/65591 - * cp-gimplify.c (cp_gimplify_expr): Restore VEC_INIT_EXPR handling. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/103711 - * init.c (perform_target_ctor): Select destructor by in_chrg. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/61611 - * except.c (in_nested_catch): New. - (expand_end_catch_block): Check it. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/33799 - PR c++/102191 - * except.c (maybe_splice_retval_cleanup): Check - current_binding_level. - * semantics.c (do_poplevel): Call it here. - * parser.c (cp_parser_compound_statement): Not here. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/53868 - * decl.c (cp_finish_decl): Use wrap_temporary_cleanups for - cleanups from set_up_extended_ref_temp. - (wrap_temporary_cleanups): Ignore array cleanups. - (initialize_local_var): Don't check for array here. - * cp-tree.h (BIND_EXPR_VEC_DTOR): New. - * init.c (build_vec_delete_1): Set it. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/66451 - * init.c (build_vec_delete_1): Handle throwing dtor. - (build_vec_init): Tell it we're in a cleanup already. - -2022-01-07 Jason Merrill <jason@redhat.com> - - * typeck2.c (split_nonconstant_init_1): Don't cleanup the last elt. - (split_nonconstant_init): Adjust. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/66139 - PR c++/52320 - * constexpr.c (replace_decl): Rename from replace_result_decl. - * cp-tree.h (replace_decl): Declare it. - * cp-gimplify.c (cp_gimplify_init_expr): Call it. - (cp_gimplify_expr): Don't handle VEC_INIT_EXPR. - (cp_genericize_init, cp_genericize_init_expr) - (cp_genericize_target_expr): New. - (cp_fold_r): Call them. - * tree.c (build_array_copy): Add a TARGET_EXPR. - * typeck2.c (digest_init_r): Look through a TARGET_EXPR. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/94041 - * decl.c (initialize_local_var): Fix comment. - * init.c (build_new_1): Do stabilize array init. - (build_vec_init): Use TARGET_EXPR for cleanup. Initialization - of an element from an explicit initializer is not a - full-expression. - * tree.c (expand_vec_init_expr): Pass flags through. - * typeck2.c (split_nonconstant_init_1): Handle VEC_INIT_EXPR. - (split_nonconstant_init): Handle array cleanups. - * cp-tree.h: Adjust. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/94041 - * decl.c (check_initializer): Remove obsolete comment. - (wrap_cleanups_r): Don't wrap CLEANUP_EH_ONLY. - (initialize_local_var): Change assert to test. - * typeck2.c (maybe_push_temp_cleanup): New. - (split_nonconstant_init_1): Use it. - (split_nonconstant_init): Clear cleanup flags. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/92385 - * typeck2.c (PICFLAG_VEC_INIT): New. - (process_init_constructor_array): Set it. - (process_init_constructor): Handle it. - (split_nonconstant_init_1): Handle VEC_INIT_EXPR. - * init.c (build_vec_init): Likewise. - * cp-gimplify.c (cp_gimplify_expr): Factor out... - * tree.c (expand_vec_init_expr): ...this function. - (build_vec_init_elt): Handle BRACE_ENCLOSED_INITIALIZER_P. - (build_vec_init_expr): Likewise. - * constexpr.c (cxx_eval_vec_init): Likewise. - (reduced_constant_expression_p): Check arrays before C++20. - * cp-tree.h (expand_vec_init_expr): Declare. - -2022-01-07 Jason Merrill <jason@redhat.com> - - * init.c (build_new_1): Remove preevaluation code. - -2022-01-05 Nathan Sidwell <nathan@acm.org> - - * pt.c (instantiate_class_template_1): Process attribute((used)) set - in class's context. - -2022-01-05 Nathan Sidwell <nathan@acm.org> - - * init.c (build_new_1): Check complain before alignment warning. - -2022-01-04 Jason Merrill <jason@redhat.com> - - * cp-tree.h (class releasing_vec): Add begin/end fns. - -2022-01-04 Jason Merrill <jason@redhat.com> - - * init.c: Include -*- C++ -*- on first line. - -2022-01-03 Marek Polacek <polacek@redhat.com> - - PR c++/103758 - * parser.c (cp_parser_decl_specifier_seq): Replace %<decl-specifier%> - with %qD. - -2022-01-03 Marek Polacek <polacek@redhat.com> - - * parser.c (make_char_string_pack): Add a cast to const unsigned - char *. - -2022-01-03 Jakub Jelinek <jakub@redhat.com> - - PR c++/103600 - * rtti.c (get_tinfo_decl_direct): Add "non overlapping" attribute - to DECL_TINFO_P VAR_DECLs. - -2022-01-02 Jason Merrill <jason@redhat.com> - - * init.c (build_vec_init): Append the decrement to elt_init. - -2022-01-02 Jason Merrill <jason@redhat.com> - - * decl.c (wrap_cleanups_r): Don't wrap if noexcept. - -Copyright (C) 2022 Free Software Foundation, Inc. +Copyright (C) 2023 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-2022 b/gcc/cp/ChangeLog-2022 new file mode 100644 index 0000000000000000000000000000000000000000..24ca96fe210615ffdf9d78f7a458cfaefaca35fc --- /dev/null +++ b/gcc/cp/ChangeLog-2022 @@ -0,0 +1,5398 @@ +2022-12-29 Alexandre Oliva <oliva@adacore.com> + + * constexpr.cc (cxx_eval_call_expression): Do not request an + INSERT that would not be completed. + +2022-12-29 Alexandre Oliva <oliva@adacore.com> + + * constraint.cc (normalize_concept_check): Use NO_INSERT for + pre-insertion check. + +2022-12-23 Patrick Palka <ppalka@redhat.com> + + PR c++/108116 + * constexpr.cc (maybe_constant_value): Clear + processing_template_decl before calling break_out_target_exprs. + * init.cc (get_nsdmi): Likewise. + * tree.cc (break_out_target_exprs): Assert processing_template_decl + is cleared. + +2022-12-23 Patrick Palka <ppalka@redhat.com> + + PR c++/107853 + * constraint.cc (maybe_substitute_reqs_for): Substitute into + the template-head requirements of a template friend using only + its outer arguments via outer_template_args. + * cp-tree.h (outer_template_args): Declare. + * pt.cc (outer_template_args): Define, factored out and + generalized from ... + (ctor_deduction_guides_for): ... here. + +2022-12-23 Iain Sandoe <iain@sandoe.co.uk> + + * g++spec.cc (lang_specific_driver): Preserve -static-libstdc++ in + the driver command line for targets without -Bstatic/dynamic support + in their static linker. + +2022-12-21 Jakub Jelinek <jakub@redhat.com> + + PR c++/108180 + * pt.cc (tsubst_expr): Don't call cp_finish_decl on + DECL_OMP_PRIVATIZED_MEMBER vars. + +2022-12-21 Jason Merrill <jason@redhat.com> + + PR c++/84471 + PR c++/107504 + * coroutines.cc (transform_local_var_uses): Don't + specify a location for DECL_VALUE_EXPR. + * decl.cc (cp_finish_decomp): Likewise. + +2022-12-20 Patrick Palka <ppalka@redhat.com> + + PR c++/101886 + * pt.cc (find_template_parameter_info::parm_list_tail): + New data member. + (keep_template_parm): Use parm_list_tail to append rather + than prepend to parm_list. + +2022-12-20 Iain Sandoe <iain@sandoe.co.uk> + + * mangle.cc (write_mangled_name): Append the helper function + suffixes here... + (write_encoding): ... rather than here. + +2022-12-20 Patrick Palka <ppalka@redhat.com> + + PR c++/103346 + PR c++/104278 + PR c++/102553 + * pt.cc (tsubst_copy) <case VIEW_CONVERT_EXPR>: Move the + handling of C++20 template parameter object wrappers to ... + (tsubst_copy_and_build) <case VIEW_CONVERT_EXPR>: ... here. + Accept non-TEMPLATE_PARM_INDEX inner operand. Handle empty + TREE_TYPE on substituted inner operand. Remove same_type_p + assert. Also handle REF_PARENTHESIZED_P VIEW_CONVERT_EXPRs. + +2022-12-19 Patrick Palka <ppalka@redhat.com> + + PR c++/100881 + * constexpr.cc (cxx_eval_builtin_function_call): Adjust calls + to fold_builtin_source_location. + * cp-gimplify.cc (cp_gimplify_expr): Likewise. + (cp_fold): Likewise. + (get_source_location_impl_type): Remove location_t parameter and + adjust accordingly. No longer static. + (fold_builtin_source_location): Take a CALL_EXPR tree instead of a + location and obtain the impl type from its return type. + * cp-tree.h (enum cp_tree_index): Remove CPTI_SOURCE_LOCATION_IMPL + enumerator. + (source_location_impl): Remove. + (fold_builtin_source_location): Adjust parameter type. + (get_source_location_impl_type): Declare. + * decl.cc (cxx_init_decl_processing): Declare + __builtin_source_location with auto return type instead of + const void*. + (require_deduced_type): Update the return type of + __builtin_source_location. + +2022-12-19 Patrick Palka <ppalka@redhat.com> + + PR c++/101886 + * pt.cc (extract_autos_r): Recompute TYPE_CANONICAL after + adjusting the template type parameter's index. Simplify + by using TEMPLATE_TYPE_IDX. Add some sanity checks. + +2022-12-19 Arsen Arsenović <arsen@aarsen.me> + + * contracts.cc: Rename references to + contract_violation_continuation_mode constants to be lowercase. + +2022-12-17 Patrick Palka <ppalka@redhat.com> + + PR c++/107437 + PR c++/87765 + * pt.cc (convert_nontype_argument): Relax is_nondep_const_expr + test to !inst_dep_expr_p. + +2022-12-16 Andrew Pinski <pinskia@gmail.com> + Iain Sandoe <iain@sandoe.co.uk> + + PR c++/107768 + * coroutines.cc (coro_rewrite_function_body): Initialize pointers + from nullptr_node. (morph_fn_to_coro): Likewise. + +2022-12-15 Patrick Palka <ppalka@redhat.com> + + PR c++/102104 + PR c++/108090 + * error.cc (dump_decl) <case USING_DECL>: Look through a + pack expansion in the name as well. + * parser.cc (cp_parser_using_declaration): Handle a parameter + pack appearing in the terminal name of a variadic using-decl. + * pt.cc (tsubst_decl) <case USING_DECL>: Likewise. Combine the + handling of variadic and non-variadic using-decls. + +2022-12-15 Jason Merrill <jason@redhat.com> + + * init.cc (build_vec_init): Rename "flags" to "cleanup_flags" + to distinguish from LOOKUP_*. + +2022-12-15 Arsen Arsenović <arsen@aarsen.me> + + * mangle.cc (write_encoding): Move contract pre/post function + mangling from here... + (write_mangled_name): ... to here, and make it happen always. + +2022-12-15 Patrick Palka <ppalka@redhat.com> + + PR c++/107188 + * parser.cc (cp_parser_using_declaration): Give up early if the + scope of an access-declaration isn't possibly a class type. + +2022-12-15 Patrick Palka <ppalka@redhat.com> + + PR c++/100295 + PR c++/107579 + * pt.cc (el_data::skip_unevaluated_operands): New data member. + (extract_locals_r): If skip_unevaluated_operands is true, + don't walk into unevaluated contexts. + (extract_local_specs): Walk the pattern twice, first with + skip_unevaluated_operands true followed by it set to false. + +2022-12-15 Patrick Palka <ppalka@redhat.com> + + PR c++/105518 + * pt.cc (tsubst_aggr_type): Handle typedefs by delegating to + tsubst and adjusting the result if entering_scope. Split out + the main part of the function into ... + (tsubst_aggr_type_1) ... here. + (tsubst): Use tsubst_aggr_type_1 instead of tsubst_aggr_type. + Handle TYPE_PTRMEMFUNC_P RECORD_TYPEs here instead of in + tsubst_aggr_type_1. + +2022-12-15 Patrick Palka <ppalka@redhat.com> + + PR c++/108104 + * pt.cc (unify) <default>: Relax assert to accept any + CONSTRUCTOR parm, not just COMPOUND_LITERAL_P one. + +2022-12-15 Jakub Jelinek <jakub@redhat.com> + + PR c++/107065 + * typeck.cc (cp_build_unary_op) <case TRUTH_NOT_EXPR>: If + invert_truthvalue_loc returns obvalue_p, wrap it into NON_LVALUE_EXPR. + * parser.cc (cp_parser_binary_expression): Don't call + warn_logical_not_parentheses if current.lhs is a NON_LVALUE_EXPR + of a decl with boolean type. + +2022-12-15 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/108075 + * rtti.cc (emit_support_tinfos): Add pointers to + {bfloat16,float{16,32,64,128,32x,64x,128x}}_type_node to fundamentals + array. + +2022-12-15 Jason Merrill <jason@redhat.com> + + PR c++/108071 + PR c++/105838 + * call.cc (struct conversion_obstack_sentinel): New. + (maybe_init_list_as_array): Compare conversion of dummy argument. + +2022-12-12 Jason Merrill <jason@redhat.com> + + Revert: + 2022-12-08 Jason Merrill <jason@redhat.com> + + PR c++/105838 + * call.cc (convert_like_internal) [ck_list]: Use + maybe_init_list_as_array. + * constexpr.cc (cxx_eval_vec_init_1): Init might have + a different type. + * tree.cc (build_vec_init_elt): Likewise. + * init.cc (build_vec_init): Handle from_array from a + TARGET_EXPR. Retain TARGET_EXPR of a different type. + +2022-12-08 Jason Merrill <jason@redhat.com> + + PR c++/105838 + * call.cc (convert_like_internal) [ck_list]: Use + maybe_init_list_as_array. + * constexpr.cc (cxx_eval_vec_init_1): Init might have + a different type. + * tree.cc (build_vec_init_elt): Likewise. + * init.cc (build_vec_init): Handle from_array from a + TARGET_EXPR. Retain TARGET_EXPR of a different type. + +2022-12-08 Jason Merrill <jason@redhat.com> + + PR c++/105838 + * call.cc (list_ctor_element_type): New. + (braced_init_element_type): New. + (has_non_trivial_temporaries): New. + (maybe_init_list_as_array): New. + (maybe_init_list_as_range): New. + (build_user_type_conversion_1): Use maybe_init_list_as_range. + * parser.cc (cp_parser_braced_list): Call + recompute_constructor_flags. + * cp-tree.h (find_temps_r): Declare. + +2022-12-08 Jason Merrill <jason@redhat.com> + + PR c++/105838 + * cp-tree.h (is_std_allocator): Declare. + * constexpr.cc (is_std_allocator): Split out from... + (is_std_allocator_allocate): ...here. + * init.cc (find_temps_r): New. + (find_allocator_temp): New. + (build_vec_init): Use it. + +2022-12-08 Jason Merrill <jason@redhat.com> + + * constexpr.cc (maybe_constant_value): Add default arg comments. + +2022-12-05 Scott Snyder <sss@li-snyder.org> + + PR plugins/107964 + * Make-lang.in (CP_PLUGIN_HEADERS): Install contracts.h + +2022-12-04 Patrick Palka <ppalka@redhat.com> + + PR c++/107417 + * pt.cc (for_each_template_parm_r) <case REQUIRES_EXPR>: Move + walking of the TREE_TYPE of each parameter to ... + * tree.cc (cp_walk_subtrees) <case REQUIRES_EXPR>: ... here. + +2022-12-04 Iain Sandoe <iain@sandoe.co.uk> + Adrian Perl <adrian.perl@web.de> + + PR c++/100611 + PR c++/101367 + PR c++/101976 + PR c++/99576 + * coroutines.cc (find_interesting_subtree): Do not promote temporaries + that are only used as direct initializers for some other object. + +2022-12-03 Patrick Palka <ppalka@redhat.com> + + PR c++/103081 + * pt.cc (tsubst_copy) <case CONST_DECL>: Generalize + early exit test for namespace-scope decls to check dependence of + the enclosing scope instead. Remove dead early exit test. + +2022-12-02 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> + Jason Merrill <jason@redhat.com> + + * decl.cc (grokdeclarator): Build RESULT_DECL. + (start_preparsed_function): Copy location from template. + * semantics.cc (apply_deduced_return_type): Handle + arg != current_function_decl. + * method.cc (implicitly_declare_fn): Use it. + +2022-12-02 Jason Merrill <jason@redhat.com> + + * g++spec.cc (lang_specific_driver): Set SKIPOPT for nostdlib++. + +2022-12-02 Jakub Jelinek <jakub@redhat.com> + + PR c++/84469 + * parser.cc (cp_convert_omp_range_for): After do_auto_deduction if + !processing_template_decl call cp_finish_decomp with + processing_template_decl temporarily incremented. + +2022-12-02 Jakub Jelinek <jakub@redhat.com> + + PR c++/84469 + * parser.cc (do_range_for_auto_deduction): Add DECOMP_FIRST_NAME + and DECOMP_CNT arguments. Call cp_finish_decomp if DECL + is a structured binding. + (cp_parser_range_for): Adjust do_range_for_auto_deduction caller. + (cp_convert_omp_range_for): Likewise. + +2022-12-02 Patrick Palka <ppalka@redhat.com> + + PR c++/107539 + * constraint.cc (norm_hasher::hash, norm_hasher::equal): Set + comparing_specializations. + (sat_hasher::hash, sat_hasher::equal): Likewise. + * cp-tree.h (atom_hasher::hash, atom_hasher::equal): Likewise. + * pt.cc (ctp_hasher::hash, ctp_hasher::equal): Likewise. + +2022-12-01 Martin Liska <mliska@suse.cz> + + * Make-lang.in: Remove extra object dependency. + +2022-12-01 Jason Merrill <jason@redhat.com> + + * contracts.cc (remove_contract_attributes): Actually prepend + to the list. + * pt.cc (tsubst_contract): Only look for a postcondition if type is + nonnull. + +2022-11-30 Patrick Palka <ppalka@redhat.com> + + PR c++/107542 + * typeck.cc (cp_build_binary_op): In the SPACESHIP_EXPR case, + handle an error_mark_node result type. + +2022-11-29 Patrick Palka <ppalka@redhat.com> + + PR c++/107864 + * decl.cc (function_requirements_equivalent_p): Don't check + DECL_TEMPLATE_SPECIALIZATION. + * pt.cc (determine_specialization): Propagate constraints when + specializing a function template too. Simplify by using + add_outermost_template_args. + +2022-11-28 Jason Merrill <jason@redhat.com> + + PR c++/101733 + * parser.cc (cp_parser_requirement): Parse tentatively for the + 'typename' case. + +2022-11-28 Jason Merrill <jason@redhat.com> + + * parser.cc (cp_parser_decl_specifier_seq): Change 'concept bool' + diagnostic from pedwarn to permerror. + +2022-11-28 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * module.cc: On Windows, 'A:Foo' is supposed to be a module + and not a path. + +2022-11-22 Jason Merrill <jason@redhat.com> + + PR c++/107781 + * contracts.cc (role_name_equal): Use strcspn instead + of strchrnul. + +2022-11-22 Jason Merrill <jason@redhat.com> + + * contracts.cc (build_contract_condition_function): + Set DECL_ARTIFICIAL on return value parm. + * g++spec.cc (lang_specific_driver): Add -lstdc++exp + just before -lstdc++. + +2022-11-20 Patrick Palka <ppalka@redhat.com> + + * constraint.cc (struct norm_entry): Define. + (struct norm_hasher): Define. + (norm_cache): Define. + (normalize_concept_check): Add function comment. Cache the + the normal form of the substituted concept-id. Canonicalize + generic arguments as NULL_TREE. Don't coerce arguments unless + they were substituted. + (normalize_concept_definition): Simplify. Use norm_cache + instead of normalized_map. + +2022-11-20 Patrick Palka <ppalka@redhat.com> + + * pt.cc (coerce_template_parms): Salvage part of the function + comment from c_innermost_t_p. Handle parms being a full + template parameter list. + (coerce_innermost_template_parms): Remove. + (lookup_template_class): Use c_t_p instead of c_innermost_t_p. + (finish_template_variable): Likewise. + (tsubst_decl): Likewise. + (instantiate_alias_template): Likewise. + +2022-11-19 Jakub Jelinek <jakub@redhat.com> + + * constexpr.cc (cxx_eval_constant_expression): Implement C++23 + P2647R1 - Permitting static constexpr variables in constexpr functions. + Allow DECL_EXPRs of decl_constant_var_p static or thread_local vars. + (potential_constant_expression_1): Similarly, except use + decl_maybe_constant_var_p instead of decl_constant_var_p if + processing_template_decl. + +2022-11-19 Jeff Chapman II <jchapman@lock3software.com> + Andrew Sutton <asutton@lock3software.com> + Andrew Marmaduke <amarmaduke@lock3software.com> + Michael Lopez <mlopez@lock3software.com> + Jason Merrill <jason@redhat.com> + + * cp-tree.h (enum cp_tree_index): Add + CPTI_PSEUDO_CONTRACT_VIOLATION. + (pseudo_contract_violation_type): New macro. + (struct saved_scope): Add x_processing_contract_condition. + (processing_contract_condition): New macro. + (comparing_override_contracts): New variable decl. + (find_contract): New inline. + (set_decl_contracts): New inline. + (get_contract_semantic): New inline. + (set_contract_semantic): New inline. + * constexpr.cc (cxx_eval_assert): Split out from... + (cxx_eval_internal_function): ...here. + (cxx_eval_constant_expression): Use it for contracts. + (potential_constant_expression_1): Handle contracts. + * cp-gimplify.cc (cp_genericize_r): Handle contracts. + * cp-objcp-common.cc (cp_tree_size): Handle contracts. + (cp_common_init_ts): Handle contracts. + (cp_handle_option): Handle contracts. + * decl.cc (duplicate_decls): Handle contracts. + (check_tag_decl): Check for bogus contracts. + (start_decl): Check flag_contracts. + (grokfndecl): Call rebuild_postconditions. + (grokdeclarator): Handle contract attributes. + (start_preparsed_function): Call start_function_contracts. + (finish_function): Call finish_function_contracts. + * decl2.cc (cp_check_const_attributes): Skip contracts. + (comdat_linkage): Handle outlined contracts. + * error.cc (dump_type): Handle null TYPE_IDENTIFIER. + * g++spec.cc (EXPERIMENTAL): New macro. + (lang_specific_driver): Add -lstdc++exp if -fcontracts. + * mangle.cc (write_encoding): Handle outlined contracts. + * module.cc (trees_out::fn_parms_init): Handle outlined contracts. + (trees_in::fn_parms_init): Likewise. + (check_mergeable_decl): Likewise. + (module_state_config::get_dialect): Record -fcontracts. + * parser.h (struct cp_unparsed_functions_entry): Add contracts. + * parser.cc (unparsed_contracts): New macro. + (push_unparsed_function_queues): Adjust. + (contract_attribute_p): New. + (cp_parser_statement): Check contracts. + (cp_parser_decl_specifier_seq): Handle contracts. + (cp_parser_skip_to_closing_square_bracket): Split out... + (cp_parser_skip_up_to_closing_square_bracket): ...this fn. + (cp_parser_class_specifier): Do contract late parsing. + (cp_parser_class_head): Check contracts. + (cp_parser_contract_role): New. + (cp_parser_contract_mode_opt): New. + (find_error, contains_error_p): New. + (cp_parser_contract_attribute_spec): New. + (cp_parser_late_contract_condition): New. + (cp_parser_std_attribute_spec): Handle contracts. + (cp_parser_save_default_args): Also save contracts. + * pt.cc (register_parameter_specializations): No longer static. + (register_local_identity): New. + (check_explicit_specialization): Call remove_contract_attributes. + (tsubst_contract, tsubst_contract_attribute): New. + (tsubst_contract_attributes): New. + (tsubst_attribute): Add comment. + (tsubst_copy): Also allow parm when processing_contract_condition. + (tsubst_expr): Handle contracts. + (regenerate_decl_from_template): Handle contracts. + * search.cc (check_final_overrider): Compare contracts. + * semantics.cc (set_cleanup_locs): Skip POSTCONDITION_STMT. + (finish_non_static_data_member): Check contracts. + (finish_this_expr): Check contracts. + (process_outer_var_ref): Handle contracts. + (finish_id_expression_1): Handle contracts. + (apply_deduced_return_type): Adjust contracts. + * tree.cc (handle_contract_attribute): New. + (get_innermost_component, is_this_expression): New. + (comparing_this_references): New. + (equivalent_member_references): New. + (cp_tree_equal): Check it. + * typeck.cc (check_return_expr): Apply contracts. + * Make-lang.in: Add contracts.o. + * config-lang.in: Add contracts.cc. + * cp-tree.def (ASSERTION_STMT, PRECONDITION_STMT) + (POSTCONDITION_STMT): New. + * contracts.h: New file. + * contracts.cc: New file. + +2022-11-18 Jakub Jelinek <jakub@redhat.com> + + * decl.cc (grokdeclarator): Implement + CWG2635 - Constrained structured bindings. Emit a pedwarn on + constrained auto type. Add auto_diagnostic_group for error_at + and inform for non-auto type on structured bindings declaration. + +2022-11-18 Marek Polacek <polacek@redhat.com> + + PR c++/104066 + * decl.cc (grokdeclarator): Check funcdecl_p before complaining + about constinit. + +2022-11-16 Marek Polacek <polacek@redhat.com> + + PR c++/106649 + * constexpr.cc (constexpr_error): New function. + (is_valid_constexpr_fn): Use constexpr_error. + (maybe_save_constexpr_fundef): Call + require_potential_rvalue_constant_expression_fncheck rather than + require_potential_rvalue_constant_expression. Register the + function if -Wno-invalid-constexpr was specified. + (explain_invalid_constexpr_fn): Don't return early if a function marked + 'constexpr' that isn't actually a constant expression was called. + (non_const_var_error): Add a bool parameter. Use constexpr_error. + (inline_asm_in_constexpr_error): Likewise. + (cxx_eval_constant_expression): Adjust calls to non_const_var_error + and inline_asm_in_constexpr_error. + (potential_constant_expression_1): Add a bool parameter. Use + constexpr_error. + (require_potential_rvalue_constant_expression_fncheck): New function. + * cp-tree.h (require_potential_rvalue_constant_expression_fncheck): + Declare. + * method.cc (struct comp_info): Call + require_potential_rvalue_constant_expression_fncheck rather than + require_potential_rvalue_constant_expression. + +2022-11-16 Jakub Jelinek <jakub@redhat.com> + + * typeck.cc (next_common_initial_sequence): Return false members have + different DECL_ALIGN. + (layout_compatible_type_p): Don't test TYPE_ALIGN of ENUMERAL_TYPE + or CLASS_TYPE_P. + +2022-11-16 Jakub Jelinek <jakub@redhat.com> + + PR c++/107624 + * call.cc (keep_unused_object_arg): New function. + (build_op_call): Use it. + (build_op_subscript): Likewise. + (build_new_op): Similarly for ARRAY_REF. + (build_new_method_call): Use it. + * decl.cc (grok_op_properties): For C++20 and earlier, if operator[] + is static member function, require exactly one parameter rather than + exactly two parameters. + +2022-11-16 Jakub Jelinek <jakub@redhat.com> + + * typeck.cc (cp_build_modify_expr): Implement CWG 2654 + - Un-deprecation of compound volatile assignments. Remove + -Wvolatile warning about compound volatile assignments. + +2022-11-16 Jakub Jelinek <jakub@redhat.com> + + * cp-tree.def (CONCEPT_DECL): Move to c-common.def. + * cp-objcp-common.cc (cp_common_init_ts): Don't handle CONCEPT_DECL + here. + * cp-tree.h (finish_concept_definition): Add ATTRS parameter. + * parser.cc (cp_parser_concept_definition): Parse attributes in + between identifier and =. Adjust finish_concept_definition + caller. + * pt.cc (finish_concept_definition): Add ATTRS parameter. Call + cplus_decl_attributes. + * constraint.cc (build_standard_check): If CONCEPT_DECL is + TREE_DEPRECATED, emit -Wdeprecated-declaration warnings. + +2022-11-15 Marek Polacek <polacek@redhat.com> + + PR c++/107492 + * decl.cc (grokdeclarator): Only emit a -Wignored-qualifiers warning + when funcdecl_p. + +2022-11-15 Patrick Palka <ppalka@redhat.com> + + * constexpr.cc (potential_constant_expression_1) + <case *_CAST_EXPR>: Use + cast_valid_in_integral_constant_expression_p instead of + open coding it. + * constraint.cc (tsubst_valid_expression_requirement): Adjust + calls to tsubst_copy_and_build and tsubst_expr. + (tsubst_constraint): Likewise. + (satisfy_atom): Likewise. + (diagnose_trait_expr): Likewise. + * cp-tree.h (tsubst_copy_and_build): Remove i_c_e_p parameter. + (tsubst_expr): Likewise. + * init.cc (get_nsdmi): Adjust calls to tsubst_copy_and_build + and tsubst_expr. + * pt.cc (expand_integer_pack): Likewise. + (instantiate_non_dependent_expr_internal): Likewise. + (tsubst_friend_function): Likewise. + (tsubst_attribute): Likewise. + (instantiate_class_template): Likewise. + (tsubst_template_arg): Likewise. + (gen_elem_of_pack_expansion_instantiation): Likewise. + (tsubst_fold_expr_init): Likewise. + (tsubst_pack_expansion): Likewise. + (tsubst_default_argument): Likewise. + (tsubst_function_decl): Likewise. + (tsubst_decl): Likewise. + (tsubst_arg_types): Likewise. + (tsubst_exception_specification): Likewise. + (tsubst): Likewise. + (tsubst_init): Likewise. + (tsubst_copy): Likewise. + (tsubst_omp_clause_decl): Likewise. + (tsubst_omp_clauses): Likewise. + (tsubst_copy_asm_operands): Likewise. + (tsubst_omp_for_iterator): Likewise. + (tsubst_expr): Likewise. Remove i_c_e_p parameter. + (tsubst_omp_udr): Likewise. + (tsubst_non_call_postfix_expression): Likewise. Remove i_c_e_p parameter. + (tsubst_lambda_expr): Likewise. + (tsubst_copy_and_build_call_args): Likewise. + (tsubst_copy_and_build): Likewise. Remove i_c_e_p parameter. + <case IDENTIFIER_NODE>: Adjust call to finish_id_expression + following removal of i_c_e_p. + <case *_CAST_EXPR>: Remove C++98-specific cast validity check + guarded by i_c_e_p. + (maybe_instantiate_noexcept): Adjust calls to + tsubst_copy_and_build and tsubst_expr. + (instantiate_body): Likewise. + (instantiate_decl): Likewise. + (tsubst_initializer_list): Likewise. + (tsubst_enum): Likewise. + +2022-11-15 Patrick Palka <ppalka@redhat.com> + + * cp-lang.cc (objcp_tsubst_copy_and_build): Remove + function_p parameter. + * cp-objcp-common.h (objcp_tsubst_copy_and_build): + Likewise. + * cp-tree.h (tsubst_copy_and_build): Likewise. + * init.cc (get_nsdmi): Adjust calls to tsubst_copy_and_build. + * pt.cc (expand_integer_pack): Likewise. + (instantiate_non_dependent_expr_internal): Likewise. + (tsubst_function_decl): Likewise. + (tsubst_arg_types): Likewise. + (tsubst_exception_specification): Likewise. + (tsubst): Likewise. + (tsubst_copy_asm_operands): Likewise. + (tsubst_expr): Likewise. + (tsubst_non_call_postfix_expression): Likewise. + (tsubst_lambda_expr): Likewise. + (tsubst_copy_and_build_call_args): Likewise. + (tsubst_copy_and_build): Remove function_p parameter + and adjust function comment. Adjust recursive calls. + <case CALL_EXPR>: Update outdated comment about when + we can see an IDENTIFIER_NODE callee with koenig_p=false. + (maybe_instantiate_noexcept): Adjust calls to + tsubst_copy_and_build. + +2022-11-15 Jakub Jelinek <jakub@redhat.com> + + * cp-tree.h (next_common_initial_seqence): Rename to ... + (next_common_initial_sequence): ... this. + * typeck.cc (next_common_initial_seqence): Rename to ... + (next_common_initial_sequence): ... this. + (layout_compatible_type_p): Call next_common_initial_sequence + rather than next_common_initial_seqence. + * semantics.cc (is_corresponding_member_aggr): Likewise. + +2022-11-15 Jakub Jelinek <jakub@redhat.com> + + * decl.cc (grok_op_properties): Implement C++23 P2589R1 + - static operator[]. Handle operator[] similarly to operator() + - allow static member functions, but pedwarn on it for C++20 and + older. Unlike operator(), perform rest of checks on it though for + C++20. + * call.cc (add_operator_candidates): For operator[] with class + typed first parameter, pass that parameter as first_arg and + an adjusted arglist without that parameter. + +2022-11-15 Patrick Palka <ppalka@redhat.com> + + PR c++/107638 + * tree.cc (cxx_attribute_table): Don't conditionally exclude + the init_priority entry. + (handle_init_priority_attribute): Remove ATTRIBUTE_UNUSED. + Return error_mark_node if !SUPPORTS_INIT_PRIORITY. + +2022-11-15 Marek Polacek <polacek@redhat.com> + + * call.cc (maybe_warn_dangling_reference): Don't warn when initializing + a non-const lvalue reference. + +2022-11-14 Jason Merrill <jason@redhat.com> + + * pt.cc (tsubst_friend_function): Check satisfaction. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * Make-lang.in: Support Sphinx based documentation. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * Make-lang.in: + Support installation if sphinx-build is missing. + +2022-11-10 Marek Polacek <polacek@redhat.com> + + * call.cc (std_pair_ref_ref_p): New. + (do_warn_dangling_reference): Also warn when the function returns + std::pair<const T&, const T&>. Recurse into TARGET_EXPR_INITIAL. + (maybe_warn_dangling_reference): Don't return early if we're + initializing a std_pair_ref_ref_p. + +2022-11-09 Jakub Jelinek <jakub@redhat.com> + + * tree.cc (handle_carries_dependency_attribute): New function. + (std_attribute_table): Add carries_dependency attribute. + * parser.cc (cp_parser_check_std_attribute): Add carries_dependency + attribute. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * Make-lang.in: + Support installation if sphinx-build is missing. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * Make-lang.in: Support Sphinx based documentation. + +2022-11-09 Marek Polacek <polacek@redhat.com> + + PR c++/107363 + * semantics.cc (finish_call_expr): Suppress OPT_Wpessimizing_move. + * typeck.cc (maybe_warn_pessimizing_move): Check warn_redundant_move + and warning_suppressed_p. Adjust a message depending on return_p. + (check_return_expr): Don't suppress OPT_Wpessimizing_move here. + +2022-11-08 Jason Merrill <jason@redhat.com> + Jakub Jelinek <jakub@redhat.com> + + * cp-tree.h (fns_correspond): Declare. + * decl.cc (fns_correspond): New. + * call.cc (add_candidates): Look for op!= matching op==. + (joust): Complain about non-standard reversed tiebreaker. + (tourney): Fix champ_compared_to_predecessor logic. + (build_new_op): Don't complain about error_mark_node not having + 'bool' type. + * pt.cc (tsubst_copy_and_build): Don't try to be permissive + when seen_error(). + +2022-11-06 Patrick Palka <ppalka@redhat.com> + + * tree.cc (cxx_attribute_table): Include init_priority entry + only if SUPPORTS_INIT_PRIORITY. + (handle_init_priority_attribute): Add ATTRIBUTE_UNUSED. Assert + SUPPORTS_INIT_PRIORITY is true. + +2022-11-04 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * mapper-client.cc: Use in-process client when networking is + disabled. + +2022-11-03 Marek Polacek <polacek@redhat.com> + + PR c++/107488 + * call.cc (do_warn_dangling_reference): Quash -Wdangling-reference + for member operator*. + +2022-11-03 Patrick Palka <ppalka@redhat.com> + + PR c++/107179 + * constraint.cc (tsubst_requires_expr): Make sure we're not + deferring access checks. + +2022-11-03 Jason Merrill <jason@redhat.com> + + * parser.cc (cp_parser_template_declaration_after_parameters): Fix + concept parsing below C++20. + +2022-11-03 Patrick Palka <ppalka@redhat.com> + + PR c++/93413 + * decl2.cc (mark_used): Don't defer synthesis of virtual + functions. + +2022-11-01 Nathan Sidwell <nathan@acm.org> + + * cp-tree.h (LAMBDA_EXPR_SCOPE_SIG_DISCRIMINATOR): New. + (struct tree_lambda_expr): Add discriminator_sig bitfield. + (recrd_lambda_scope_sig_discriminator): Declare. + * lambda.cc (struct lambda_sig_count): New. + (lambda_discriminator): Add signature vector. + (start_lambda_scope): Adjust. + (compare_lambda_template_head, compare_lambda_sig): New. + (record_lambda_scope_sig_discriminator): New. + * mangle.cc (write_closure_type): Use the scope-sig discriminator for + ABI >= 18. Emit abi mangling warning if needed. + * module.cc (trees_out::core_vals): Stream the new discriminator. + (trees_in::core_vals): Likewise. + * parser.cc (cp_parser_lambda_declarator_opt): Call + record_lambda_scope_sig_discriminator. + * pt.cc (tsubst_lambda_expr): Likewise. + +2022-11-01 Nathan Sidwell <nathan@acm.org> + + * cp-tree.h (LAMBDA_EXPR_DISCRIMINATOR): Rename to ... + (LAMBDA_EXPR_SCOPE_ONLY_DISCRIMINATOR): ... here. + (struct tree_lambda_expr): Make default_capture_mode & + discriminator_scope bitfields. + (record_null_lambda_scope) Delete. + (record_lambda_scope_discriminator): Declare. + * lambda.cc (struct lambda_discriminator): New struct. + (lambda_scope, lambda_scope_stack): Adjust types. + (lambda_count): Delete. + (struct tree_int): Delete. + (start_lambda_scope, finish_lambda_scope): Adjust. + (record_lambda_scope): Only record the scope. + (record_lambda_scope_discriminator): New. + * mangle.cc (write_closure_type_name): Adjust. + * module.cc (trees_out::core_vals): Likewise, + (trees_in::core_vals): Likewise. + * parser.cc (cp_parser_lambda_expression): Call + record_lambda_scope_discriminator. + * pt.cc (tsubst_lambda_expr): Adjust record_lambda_scope caling. Call + record_lambda_scope_discriminator. Commonize control flow on tsubsting + the operator function. + +2022-11-01 Jason Merrill <jason@redhat.com> + + * parser.cc (make_call_declarator): Add std_attrs parm. + (cp_parser_lambda_declarator_opt): Pass it. + (cp_parser_direct_declarator): Pass it. + +2022-11-01 Jason Merrill <jason@redhat.com> + + * decl.cc (finish_function): Set TREE_NOTHROW later in the function. + +2022-11-01 Jason Merrill <jason@redhat.com> + + * decl.cc (duplicate_decls): Reformat loop. + * parser.cc (cp_parser_member_declaration): Add newline. + * semantics.cc: Remove newline. + +2022-10-28 Marek Polacek <polacek@redhat.com> + + * call.cc (maybe_warn_dangling_reference): Enable the warning in + system headers if the decl isn't in a system header. + +2022-10-28 Jason Merrill <jason@redhat.com> + + * decl.cc (grokdeclarator): Call decl_attributes before do_friend. + +2022-10-28 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_omp_all_clauses): Allow optional comma + before the first clause even in pragma syntax. + (cp_parser_omp_allocate, cp_parser_omp_atomic, cp_parser_omp_depobj, + cp_parser_omp_flush, cp_parser_omp_scan_loop_body, + cp_parser_omp_ordered, cp_parser_omp_assumption_clauses, + cp_finish_omp_declare_variant, cp_parser_omp_declare_target, + cp_parser_omp_declare_reduction_exprs, cp_parser_omp_requires, + cp_parser_omp_error): Likewise. + +2022-10-28 Joseph Myers <joseph@codesourcery.com> + + PR c/61469 + * cp-tree.h (ENUM_FIXED_UNDERLYING_TYPE_P, ENUM_UNDERLYING_TYPE): + Remove. Moved to c-common.h. + +2022-10-27 Jakub Jelinek <jakub@redhat.com> + + PR c++/107379 + * name-lookup.cc (push_namespace): Call find_namespace_slot again + after pushdecl as the hash table might be expanded during pushdecl. + +2022-10-27 Nathan Sidwell <nathan@acm.org> + + * mangle.cc (write_closure_template_head): New. + (write_closure_type_name): Call it. + +2022-10-27 Jakub Jelinek <jakub@redhat.com> + + PR c++/107382 + PR c++/107383 + * typeck.cc (cp_build_binary_op): Don't compute semantic_result_type + if result_type is NULL. + +2022-10-26 Marek Polacek <polacek@redhat.com> + + PR c++/106393 + * call.cc (expr_represents_temporary_p): New, factored out of... + (conv_binds_ref_to_temporary): ...here. Don't return false just + because a ck_base is missing. Use expr_represents_temporary_p. + (do_warn_dangling_reference): New. + (maybe_warn_dangling_reference): New. + (extend_ref_init_temps): Call maybe_warn_dangling_reference. + * cp-tree.h: Adjust comment. + * typeck.cc (check_return_expr): Suppress -Wdangling-reference + warnings. + +2022-10-25 Nathan Sidwell <nathan@acm.org> + + * parser.cc (synthesize_implicit_template_parm): Fix thinko about + mark the new parm DECL_VIRTUAL_P. Avoid unneccessary tree_last call. + +2022-10-25 Patrick Palka <ppalka@redhat.com> + + * constraint.cc (resolve_function_concept_overload): Explicitly + pass complain=tf_none to coerce_template_parms. + (resolve_concept_check): Likewise. + (normalize_concept_check): Likewise. + * cp-tree.h (coerce_template_parms): Declare the main overload + and default its last parameter to true. Remove wrapper overloads. + * pt.cc (determine_specialization): Adjust calls to + coerce_template_parms and coerce_innermost_template_parms after + removing their last parameter. + (coerce_template_args_for_ttp): Likewise. + (coerce_ttp_args_for_tta): Likewise. + (coerce_template_template_parms): Likewise. + (coerce_template_parms): Remove use_default_args parameter and + adjust function comment. Document default argument. Remove + wrapper overloads. No longer static. + (coerce_innermost_template_parms): Remove use_default_args + parameter. Default require_all_args to true. + (lookup_template_class): As with determine_specialization. + (finish_template_variable): Likewise. + (tsubst_decl): Likewise. + (instantiate_alias_template): Likewise. + (fn_type_unification): Likewise. + (resolve_overloaded_unification): Likewise. + (resolve_nondeduced_context): Likewise. + (get_partial_spec_bindings): Likewise. + +2022-10-25 Jason Merrill <jason@redhat.com> + + * constexpr.cc (find_failing_clause_r): Re-add the call to + contextual_conv_bool. + +2022-10-25 Patrick Palka <ppalka@redhat.com> + + PR c++/106848 + PR c++/102600 + * module.cc (trees_out::core_vals): Stream TYPE_MAX_VALUE and + TYPE_MIN_VALUE of ENUMERAL_TYPE. + (trees_in::core_vals): Likewise. + (trees_out::write_enum_def): Don't stream them here. + (trees_in::read_enum_def): Likewise. + +2022-10-25 Jason Merrill <jason@redhat.com> + + * constexpr.cc (class constexpr_global_ctx): Add modifiable field, + get_value, get_value_ptr, put_value, remove_value, flush_modifiable + member functions. + (class modifiable_tracker): New. + (cxx_eval_internal_function): Use it. + (diagnose_failing_condition): Strip CLEANUP_POINT_EXPR. + +2022-10-25 Jason Merrill <jason@redhat.com> + + * constexpr.cc (fold_operand): New function. + (find_failing_clause_r): Add const. + (find_failing_clause): Add const. + (diagnose_failing_condition): Add ctx parameter. + (cxx_eval_internal_function): Pass it. + * semantics.cc (diagnose_failing_condition): Move to constexpr.cc. + * cp-tree.h: Adjust. + +2022-10-24 Jason Merrill <jason@redhat.com> + + * cp-gimplify.cc (fold_builtin_source_location) + * vtable-class-hierarchy.cc (register_all_pairs): Simplify calls to + build_string_literal. + (build_string_from_id): Remove. + +2022-10-24 Marek Polacek <polacek@redhat.com> + + PR c++/107276 + * typeck.cc (treat_lvalue_as_rvalue_p): Check the return value of move. + +2022-10-24 Jakub Jelinek <jakub@redhat.com> + + PR c++/107358 + * typeck.cc (cp_build_binary_op): Pass operands before excess precision + promotions to scalar_to_vector call. + +2022-10-24 Jakub Jelinek <jakub@redhat.com> + + PR c++/105774 + * constexpr.cc (cxx_eval_increment_expression): For signed types + that promote to int, evaluate PLUS_EXPR or MINUS_EXPR in int type. + +2022-10-24 Arsen Arsenović <arsen@aarsen.me> + + * cp-tree.h (DECL_MAIN_P): Move most logic, besides the hosted + check, from here... + (DECL_MAIN_ANY_P): ... to here, so that it can be reused ... + (DECL_MAIN_FREESTANDING_P): ... here, with an additional + constraint on (hosted OR return type == int) + * decl.cc (finish_function): Use DECL_MAIN_FREESTANDING_P + instead of DECL_MAIN_P, to loosen the hosted requirement, but + check noreturn, before adding implicit returns. + +2022-10-21 Jakub Jelinek <jakub@redhat.com> + + PR c++/107295 + * constexpr.cc (reduced_constant_expression_p) <case CONSTRUCTOR>: + Return false for VECTOR_TYPE CONSTRUCTORs even without + CONSTRUCTOR_NO_CLEARING set on them. + (cxx_eval_bare_aggregate): If constant but !changed, fold before + returning VECTOR_TYPE_P CONSTRUCTOR. + (cxx_eval_constant_expression) <case CONSTRUCTOR>: Don't fold + TREE_CONSTANT CONSTRUCTOR, just return it. + +2022-10-21 Jakub Jelinek <jakub@redhat.com> + + PR c++/106863 + * semantics.cc (finish_compound_literal): For void{}, if + processing_template_decl return a COMPOUND_LITERAL_P + CONSTRUCTOR rather than void_node. + +2022-10-20 Patrick Palka <ppalka@redhat.com> + + * pt.cc (lookup_and_finish_template_variable): Don't + instantiate if the template's scope is dependent. + (tsubst_copy) <case TEMPLATE_DECL>: Pass entering_scope=true + when substituting the class scope. + +2022-10-20 Patrick Palka <ppalka@redhat.com> + + PR c++/102963 + * module.cc (node_template_info): Handle CONCEPT_DECL. + +2022-10-20 Jonathan Wakely <jwakely@redhat.com> + Ulrich Drepper <drepper@redhat.com> + + * Make-lang.in: Add rules to generate std-name-hint.gperf. Adjust + rule to generate std-name-hint.h to allow chain rule. + * std-name-hint.h: Regenerated. + * std-name-hint.gperf: This file is now generated. + * cxxapi-data.csv: New file. CSV file with C++ API data. + * gen-cxxapi-file.py: New file. Generate std-name-hint.gperf + and module export source (in future). + +2022-10-19 Marek Polacek <polacek@redhat.com> + + PR c++/85043 + * typeck.cc (maybe_warn_about_useless_cast): Don't warn when + a glvalue is cast to a non-reference type. + +2022-10-18 Patrick Palka <ppalka@redhat.com> + + PR c++/105045 + * module.cc (trees_out::tpl_parms_fini): Don't assume default + template arguments must be trailing. + (trees_in::tpl_parms_fini): Likewise. + +2022-10-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/106654 + * cp-tree.h (build_assume_call): Declare. + * parser.cc (cp_parser_omp_assumption_clauses): Use build_assume_call. + * cp-gimplify.cc (build_assume_call): New function. + (process_stmt_assume_attribute): Use build_assume_call. + * pt.cc (tsubst_copy_and_build): Likewise. + +2022-10-17 Patrick Palka <ppalka@redhat.com> + + PR c++/101449 + * module.cc (trees_out::write_function_def): Stream the + parms and result of the constexpr_fundef entry. + (trees_in::read_function_def): Likewise. + +2022-10-14 Patrick Palka <ppalka@redhat.com> + + PR c++/106304 + * constexpr.cc (cxx_dynamic_cast_fn_p): Check for abi_node + instead of global_namespace. + * rtti.cc (build_dynamic_cast_1): Set DECL_CONTEXT and + DECL_SOURCE_LOCATION when building dynamic_cast_node. Push + it into the namespace. + +2022-10-14 Jakub Jelinek <jakub@redhat.com> + + * cp-tree.h (extended_float_type_p): Return true for + bfloat16_type_node. + * typeck.cc (cp_compare_floating_point_conversion_ranks): Set + extended{1,2} if mv{1,2} is bfloat16_type_node. Adjust comment. + +2022-10-14 Jakub Jelinek <jakub@redhat.com> + + PR c/82071 + PR c/87390 + PR c++/107097 + * cp-tree.h (cp_ep_convert_and_check): Remove. + * cvt.cc (cp_ep_convert_and_check): Remove. + * call.cc (build_conditional_expr): Use excess precision for ?: with + one arm floating and another integral. Don't convert first to + semantic result type from integral types. + (convert_like_internal): Don't call cp_ep_convert_and_check, instead + just strip EXCESS_PRECISION_EXPR before calling cp_convert_and_check + or cp_convert. + * typeck.cc (cp_build_binary_op): Set may_need_excess_precision + for comparisons or SPACESHIP_EXPR with at least one operand integral. + Don't compute semantic_result_type if build_type is non-NULL. Call + cp_convert_and_check instead of cp_ep_convert_and_check. + +2022-10-14 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/323 + PR c++/107097 + * parser.cc (cp_parser_primary_expression): Handle + EXCESS_PRECISION_EXPR with REAL_CST operand the same as REAL_CST. + * cvt.cc (cp_ep_convert_and_check): New function. + * call.cc (build_conditional_expr): Add excess precision support. + When type_after_usual_arithmetic_conversions returns error_mark_node, + use gcc_checking_assert that it is because of uncomparable floating + point ranks instead of checking all those conditions and make it + work also with complex types. + (convert_like_internal): Likewise. Add NESTED_P argument, pass true + to recursive calls to convert_like. + (convert_like): Add NESTED_P argument, pass it through to + convert_like_internal. For other overload pass false to it. + (convert_like_with_context): Pass false to NESTED_P. + (convert_arg_to_ellipsis): Add excess precision support. + (magic_varargs_p): For __builtin_is{finite,inf,inf_sign,nan,normal} + and __builtin_fpclassify return 2 instead of 1, document what it + means. + (build_over_call): Don't handle former magic 2 which is no longer + used, instead for magic 1 remove EXCESS_PRECISION_EXPR. + (perform_direct_initialization_if_possible): Pass false to NESTED_P + convert_like argument. + * constexpr.cc (cxx_eval_constant_expression): Handle + EXCESS_PRECISION_EXPR. + (potential_constant_expression_1): Likewise. + * pt.cc (tsubst_copy, tsubst_copy_and_build): Likewise. + * cp-tree.h (cp_ep_convert_and_check): Declare. + * cp-gimplify.cc (cp_fold): Handle EXCESS_PRECISION_EXPR. + * typeck.cc (cp_common_type): For COMPLEX_TYPEs, return error_mark_node + if recursive call returned it. + (convert_arguments): For magic 1 remove EXCESS_PRECISION_EXPR. + (cp_build_binary_op): Add excess precision support. When + cp_common_type returns error_mark_node, use gcc_checking_assert that + it is because of uncomparable floating point ranks instead of checking + all those conditions and make it work also with complex types. + (cp_build_unary_op): Likewise. + (cp_build_compound_expr): Likewise. + (build_static_cast_1): Remove EXCESS_PRECISION_EXPR. + +2022-10-13 Jason Merrill <jason@redhat.com> + + * cp-tree.h: Fix whitespace. + * parser.h: Fix whitespace. + * decl.cc: Fix whitespace. + * parser.cc: Fix whitespace. + * pt.cc: Fix whitespace. + +2022-10-13 Martin Liska <mliska@suse.cz> + + * vtable-class-hierarchy.cc (vtv_generate_init_routine): Emit + an artificial variable that would be put into .preinit_array + section. + +2022-10-13 Marek Polacek <polacek@redhat.com> + + PR c++/106925 + * except.cc (maybe_splice_retval_cleanup): Check current_function_decl. + Make the bool const. + +2022-10-12 Marek Polacek <polacek@redhat.com> + + * call.cc (standard_conversion): Remove LOOKUP_PREFER_RVALUE code. + (reference_binding): Honor clk_implicit_rval even pre-C++20. + (implicit_conversion_1): Remove LOOKUP_PREFER_RVALUE code. + (build_user_type_conversion_1): Likewise. + (convert_like_internal): Likewise. + (build_over_call): Likewise. + * cp-tree.h (LOOKUP_PREFER_RVALUE): Remove. + (LOOKUP_NO_NARROWING): Adjust definition. + * except.cc (build_throw): Don't perform two overload resolutions. + * typeck.cc (maybe_warn_pessimizing_move): Don't use + LOOKUP_PREFER_RVALUE. + (check_return_expr): Don't perform two overload resolutions. + +2022-10-12 Jason Merrill <jason@redhat.com> + + DR 2631 + * cp-tree.h (source_location_current_p): Remove. + * name-lookup.h (struct cp_binding_level): Remove + immediate_fn_ctx_p. + * call.cc (in_immediate_context): All default args + and DMI are potentially immediate context. + (immediate_invocation_p): Don't treat source_location specially. + (struct in_consteval_if_p_temp_override): Move to cp-tree.h. + * constexpr.cc (get_nth_callarg): Move to cp-tree.h. + * cp-gimplify.cc (cp_fold_r): Don't fold consteval. + * name-lookup.cc (begin_scope): Don't set immediate_fn_ctx_p. + * parser.cc (cp_parser_lambda_declarator_opt): Likewise. + (cp_parser_direct_declarator): Likewise. + * pt.cc (tsubst_default_argument): Open sk_function_parms level. + * tree.cc (source_location_current_p): Remove. + (bot_replace): Fold consteval here. + (break_out_target_exprs): Handle errors. + +2022-10-11 Patrick Palka <ppalka@redhat.com> + + PR c++/100134 + * pt.cc (tsubst_friend_function): Propagate DECL_MODULE_PURVIEW_P + from the introduced namespace-scope function to the namespace. + +2022-10-11 Patrick Palka <ppalka@redhat.com> + + PR c++/99377 + * module.cc (lazy_load_binding): Clear processing_template_decl. + (lazy_load_pendings): Likewise. + +2022-10-10 Nathan Sidwell <nathan@acm.org> + + * mangle.cc (write_prefix): Add VAR_DECL & FIELD_DECL to + substitution table under abi=18. Note possible mismatch. + +2022-10-10 Marek Polacek <polacek@redhat.com> + + PR c++/106937 + * error.cc: Include "attribs.h". + (dump_type_prefix): Print only GNU attributes here. + (dump_type_suffix): Print standard attributes here. + +2022-10-08 Jason Merrill <jason@redhat.com> + + * cp-tree.h (TARGET_EXPR_ELIDING_P): New. + (unsafe_copy_elision_p, set_target_expr_eliding) + (cp_build_init_expr): Declare. + * call.cc (unsafe_copy_elision_p): No longer static. + (build_over_call, build_special_member_call) + (build_new_method_call): Use cp_build_init_expr. + * coroutines.cc (expand_one_await_expression) + (build_actor_fn, flatten_await_stmt, handle_nested_conditionals) + (await_statement_walker, morph_fn_to_coro): Use cp_build_init_expr. + * cp-gimplify.cc (cp_gimplify_init_expr) + (cp_gimplify_expr): Check TARGET_EXPR_ELIDING_P. + (cp_fold_r): Propagate it. + (cp_fold): Use cp_build_init_expr. + * decl.cc (check_initializer): Use cp_build_init_expr. + * except.cc (build_throw): Use cp_build_init_expr. + * init.cc (get_nsdmi): Call set_target_expr_eliding. + (perform_member_init, expand_default_init, expand_aggr_init_1) + (build_new_1, build_vec_init): Use cp_build_init_expr. + * method.cc (do_build_copy_constructor): Use cp_build_init_expr. + * semantics.cc (simplify_aggr_init_expr, finalize_nrv_r) + (finish_omp_reduction_clause): Use cp_build_init_expr. + * tree.cc (build_target_expr): Call set_target_expr_eliding. + (bot_manip): Copy TARGET_EXPR_ELIDING_P. + * typeck.cc (cp_build_modify_expr): Call set_target_expr_eliding. + (check_return_expr): Use cp_build_modify_expr. + * typeck2.cc (split_nonconstant_init_1) + (split_nonconstant_init): Use cp_build_init_expr. + (massage_init_elt): Call set_target_expr_eliding. + (process_init_constructor_record): Clear TARGET_EXPR_ELIDING_P on + unsafe copy elision. + (set_target_expr_eliding, cp_build_init_expr): New. + +2022-10-07 Marek Polacek <polacek@redhat.com> + + PR c++/107085 + * call.cc (conv_binds_ref_to_temporary): New. + (ref_conv_binds_directly): Rename to... + (ref_conv_binds_to_temporary): ...this. Use + conv_binds_ref_to_temporary. + * cp-tree.h (ref_conv_binds_directly): Rename to... + (ref_conv_binds_to_temporary): ...this. + * method.cc (ref_xes_from_temporary): Use ref_conv_binds_to_temporary. + * parser.cc (warn_for_range_copy): Likewise. + +2022-10-07 Qing Zhao <qing.zhao@oracle.com> + + * module.cc (trees_out::core_bools): Stream out new bit + decl_not_flexarray. + (trees_in::core_bools): Stream in new bit decl_not_flexarray. + +2022-10-07 Patrick Palka <ppalka@redhat.com> + + * module.cc (trees_out::mark_class_def): Guard against + DECL_BIT_FIELD_REPRESENTATIVE not being a decl. + +2022-10-07 Jason Merrill <jason@redhat.com> + + * init.cc (expand_default_init): Also push the INIT_EXPR inside a + CLEANUP_POINT_EXPR. + +2022-10-07 Patrick Palka <ppalka@redhat.com> + + PR c++/104433 + * module.cc (trees_out::core_bools): Don't override + DECL_EXTERNAL to true for static variables from an inline + function. + +2022-10-07 Martin Liska <mliska@suse.cz> + + * module.cc (enum module_state_counts): Use array size. + * name-lookup.cc (class namespace_limit_reached): Likewise. + (class module_state): Move up in the file. + +2022-10-07 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_check_std_attribute): Only do checks if + attribute is a standard attribute or in gnu namespace and only + lookup other attributes in those namespaces. + * cp-gimplify.cc (lookup_hotness_attribute): Adjust function comment. + Only return true for standard attribute or gnu namespace attribute. + (remove_hotness_attribute): Only remove hotness attributes when + they are standard or in gnu namespace, implement it in a single + loop rather than former 4 now 8 remove_attribute calls. + +2022-10-06 Jason Merrill <jason@redhat.com> + + * coroutines.cc (expand_one_await_expression): Change conversion + to VIEW_CONVERT_EXPR. + * cp-gimplify.cc (cp_genericize_r) [CONVERT_EXPR]: Add assert. + +2022-10-06 Joseph Myers <joseph@codesourcery.com> + + * lex.cc (init_reswords): Handle D_EXT11. + +2022-10-06 Patrick Palka <ppalka@redhat.com> + + * pt.cc (optimize_specialization_lookup_p): Remove. + (retrieve_specialization): Assume the above returns false + and simplify accordingly. + (register_specialization): Likewise. + +2022-10-06 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_omp_assumption_clauses): Emit IFN_ASSUME + call for holds clause on assume construct. + +2022-10-06 Jakub Jelinek <jakub@redhat.com> + + PR c++/106654 + * cp-tree.h (process_stmt_assume_attribute): Implement C++23 + P1774R8 - Portable assumptions. Declare. + (diagnose_failing_condition): Declare. + (find_failing_clause): Likewise. + * parser.cc (assume_attr): New enumerator. + (cp_parser_parenthesized_expression_list): Handle assume_attr. + Remove identifier variable, for id_attr push the identifier into + expression_list right away instead of inserting it before all the + others at the end. + (cp_parser_conditional_expression): New function. + (cp_parser_constant_expression): Use it. + (cp_parser_statement): Handle assume attribute. + (cp_parser_expression_statement): Likewise. + (cp_parser_gnu_attribute_list): Use assume_attr for assume + attribute. + (cp_parser_std_attribute): Likewise. Handle standard assume + attribute like gnu::assume. + * cp-gimplify.cc (process_stmt_assume_attribute): New function. + * constexpr.cc: Include fold-const.h. + (find_failing_clause_r, find_failing_clause): New functions, + moved from semantics.cc with ctx argument added and if non-NULL, + call cxx_eval_constant_expression rather than fold_non_dependent_expr. + (cxx_eval_internal_function): Handle IFN_ASSUME. + (potential_constant_expression_1): Likewise. + * pt.cc (tsubst_copy_and_build): Likewise. + * semantics.cc (diagnose_failing_condition): New function. + (find_failing_clause_r, find_failing_clause): Moved to constexpr.cc. + (finish_static_assert): Use it. Add auto_diagnostic_group. + +2022-10-05 Jason Merrill <jason@redhat.com> + + * tree.cc (lvalue_kind) [VIEW_CONVERT_EXPR]: Change prvalue to + xvalue. + +2022-10-04 Jason Merrill <jason@redhat.com> + + PR c++/107154 + * cp-gimplify.cc (cp_genericize_init_expr): Use iloc_sentinel. + (cp_genericize_target_expr): Likewise. + +2022-10-04 Patrick Palka <ppalka@redhat.com> + + PR c++/107136 + * Make-lang.in (CP_PLUGIN_HEADERS): Add cp-trait.def. + +2022-10-04 Jakub Jelinek <jakub@redhat.com> + + * cp-tree.h (struct omp_declare_target_attr): Rename to ... + (cp_omp_declare_target_attr): ... this. Add device_type member. + (omp_begin_assumes_data): Rename to ... + (cp_omp_begin_assumes_data): ... this. + (struct saved_scope): Change types of omp_declare_target_attribute + and omp_begin_assumes. + * parser.cc (cp_parser_omp_clause_device_type): Uncomment + check_no_duplicate_clause call. + (cp_parser_omp_all_clauses): Fix up pasto, c_name for OMP_CLAUSE_LINK + should be "link" rather than "to". + (cp_parser_omp_declare_target): Adjust for omp_declare_target_attr + to cp_omp_declare_target_attr changes, push -1 as device_type. Use + error_at rather than warning_at for declare target with only + device_type clauses. + (OMP_BEGIN_DECLARE_TARGET_CLAUSE_MASK): Define. + (cp_parser_omp_begin): Add begin declare target support. Adjust + for omp_begin_assumes_data to cp_omp_begin_assumes_data change. + (cp_parser_omp_end): Adjust for the + omp_declare_target_attr to cp_omp_declare_target_attr and + omp_begin_assumes_data to cp_omp_begin_assumes_data type changes, + adjust diagnostics wording and simplify format strings for easier + translations. + * semantics.cc (finish_translation_unit): Likewise. + * decl2.cc (cplus_decl_attributes): If device_type was present on + begin declare target, add "omp declare target host" and/or + "omp declare target nohost" attributes. + +2022-10-03 Jakub Jelinek <jakub@redhat.com> + + * cp-tree.h (BCS_STMT_EXPR): New enumerator. + * name-lookup.h (enum scope_kind): Add sk_stmt_expr. + * name-lookup.cc (begin_scope): Handle sk_stmt_expr like sk_block. + * semantics.cc (begin_compound_stmt): For BCS_STMT_EXPR use + sk_stmt_expr. + * parser.cc (cp_parser_statement_expr): Use BCS_STMT_EXPR instead of + BCS_NORMAL. + * decl.cc (struct named_label_entry): Add in_stmt_expr. + (poplevel_named_label_1): Handle sk_stmt_expr. + (check_previous_goto_1): Diagnose entering of statement expression. + (check_goto): Likewise. + +2022-10-03 Patrick Palka <ppalka@redhat.com> + + * constraint.cc (diagnose_trait_expr): Use CPTK_IS_SAME instead + of CPTK_IS_SAME_AS. + * cp-trait.def (IS_SAME_AS): Rename to ... + (IS_SAME): ... this. + * pt.cc (alias_ctad_tweaks): Use CPTK_IS_SAME instead of + CPTK_IS_SAME_AS. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2022-10-01 Patrick Palka <ppalka@redhat.com> + + * semantics.cc (trait_expr_value): Make cp_trait_kind switch + statement exhaustive. + (finish_trait_expr): Likewise. + (finish_trait_type): Likewise. + +2022-10-01 Jason Merrill <jason@redhat.com> + + * init.cc (build_vec_init): Clear from_array for CONSTRUCTOR + initializer. + +2022-10-01 Jason Merrill <jason@redhat.com> + + * cp-gimplify.cc (cp_genericize_init): Also convert the result of + split_nonconstant_init to void. + +2022-09-30 Patrick Palka <ppalka@redhat.com> + + * constraint.cc (diagnose_trait_expr): Likewise. + * cp-objcp-common.cc (names_builtin_p): Likewise. + * cp-tree.h (enum cp_trait_kind): Likewise. + * cxx-pretty-print.cc (pp_cxx_trait): Likewise. + * parser.cc (cp_keyword_starts_decl_specifier_p): Likewise. + (cp_parser_primary_expression): Likewise. + (cp_parser_trait): Likewise. + (cp_parser_simple_type_specifier): Likewise. + * cp-trait.def: New file. + +2022-09-30 Jason Merrill <jason@redhat.com> + + * cp-gimplify.cc (cp_fold_r) [TARGET_EXPR]: Collapse + TARGET_EXPR within TARGET_EXPR. + * constexpr.cc (cxx_eval_outermost_constant_expr): Avoid + adding redundant TARGET_EXPR. + * cp-tree.h (target_expr_needs_replace): VEC_INIT_EXPR doesn't. + +2022-09-29 Patrick Palka <ppalka@redhat.com> + + PR c++/102576 + * pt.cc (listify): Use lookup_qualified_name instead of + get_namespace_binding. + +2022-09-29 Jason Merrill <jason@redhat.com> + + * class.cc (check_methods): Call constraints_satisfied_p. + +2022-09-29 Jason Merrill <jason@redhat.com> + + * constexpr.cc (potential_constant_expression_1): Look into + DECL_INITIAL. Use location wrappers. + +2022-09-29 Jason Merrill <jason@redhat.com> + + PR c++/93046 + * call.cc (build_conditional_expr): For a?:c extension, treat + a reused class prvalue as an xvalue. + +2022-09-29 Jason Merrill <jason@redhat.com> + + * call.cc (build_conditional_expr): Set TARGET_EXPR_NO_ELIDE on the + outer TARGET_EXPR. + +2022-09-29 Patrick Palka <ppalka@redhat.com> + + * constraint.cc (diagnose_trait_expr): Handle CPTK_REMOVE_CV, + CPTK_REMOVE_REFERENCE and CPTK_REMOVE_CVREF. + * cp-objcp-common.cc (names_builtin_p): Likewise. + * cp-tree.h (enum cp_trait_kind): Add CPTK_REMOVE_CV, + CPTK_REMOVE_REFERENCE and CPTK_REMOVE_CVREF. + * cxx-pretty-print.cc (pp_cxx_trait): Handle CPTK_REMOVE_CV, + CPTK_REMOVE_REFERENCE and CPTK_REMOVE_CVREF. + * parser.cc (cp_keyword_starts_decl_specifier_p): Return true + for RID_REMOVE_CV, RID_REMOVE_REFERENCE and RID_REMOVE_CVREF. + (cp_parser_trait): Handle RID_REMOVE_CV, RID_REMOVE_REFERENCE + and RID_REMOVE_CVREF. + (cp_parser_simple_type_specifier): Likewise. + * semantics.cc (finish_trait_type): Likewise. + +2022-09-29 Patrick Palka <ppalka@redhat.com> + + * cp-objcp-common.cc (cp_common_init_ts): Replace + UNDERLYING_TYPE with TRAIT_TYPE. + * cp-tree.def (TRAIT_TYPE): Define. + (UNDERLYING_TYPE): Remove. + * cp-tree.h (TRAIT_TYPE_KIND_RAW): Define. + (TRAIT_TYPE_KIND): Define. + (TRAIT_TYPE_TYPE1): Define. + (TRAIT_TYPE_TYPE2): Define. + (WILDCARD_TYPE_P): Return true for TRAIT_TYPE. + (finish_trait_type): Declare. + * cxx-pretty-print.cc (cxx_pretty_printer::primary_expression): + Adjust after renaming pp_cxx_trait_expression. + (cxx_pretty_printer::simple_type_specifier) <case TRAIT_TYPE>: + New. + (cxx_pretty_printer::type_id): Replace UNDERLYING_TYPE with + TRAIT_TYPE. + (pp_cxx_trait_expression): Rename to ... + (pp_cxx_trait): ... this. Handle TRAIT_TYPE as well. Correct + pretty printing of the trailing arguments. + * cxx-pretty-print.h (pp_cxx_trait_expression): Rename to ... + (pp_cxx_trait_type): ... this. + * error.cc (dump_type) <case UNDERLYING_TYPE>: Remove. + <case TRAIT_TYPE>: New. + (dump_type_prefix): Replace UNDERLYING_WITH with TRAIT_TYPE. + (dump_type_suffix): Likewise. + * mangle.cc (write_type) <case UNDERLYING_TYPE>: Remove. + <case TRAIT_TYPE>: New. + * module.cc (trees_out::type_node) <case UNDERLYING_TYPE>: + Remove. + <case TRAIT_TYPE>: New. + (trees_in::tree_node): Likewise. + * parser.cc (cp_parser_primary_expression): Adjust after + renaming cp_parser_trait_expr. + (cp_parser_trait_expr): Rename to ... + (cp_parser_trait): ... this. Call finish_trait_type for traits + that yield a type. + (cp_parser_simple_type_specifier): Adjust after renaming + cp_parser_trait_expr. + * pt.cc (for_each_template_parm_r) <case UNDERLYING_TYPE>: + Remove. + <case TRAIT_TYPE>: New. + (tsubst): Likewise. + (unify): Replace UNDERLYING_TYPE with TRAIT_TYPE. + (dependent_type_p_r): Likewise. + * semantics.cc (finish_underlying_type): Don't return + UNDERLYING_TYPE anymore when processing_template_decl. + (finish_trait_type): Define. + * tree.cc (strip_typedefs) <case UNDERLYING_TYPE>: Remove. + <case TRAIT_TYPE>: New. + (cp_walk_subtrees): Likewise. + * typeck.cc (structural_comptypes): Likewise. + +2022-09-29 Nathan Sidwell <nathan@acm.org> + + PR c++/100616 + * module.cc (enum tree_tag): Add tt_nttp_var. + (trees_out::decl_node): Handle NTTP objects. + (trees_in::tree_node): Handle tt_nttp_var. + (depset::hash::add_binding_entry): Skip NTTP objects. + +2022-09-28 Eugene Rozenfeld <erozen@microsoft.com> + + * module.cc (write_location): Write discriminator. + (read_location): Read discriminator. + +2022-09-28 Nathan Sidwell <nathan@acm.org> + + * cp-tree.h (DECL_NTTP_OBJECT_P): New. + (template_parm_object_p): Delete. + (build_template_parm_object): Declare. + * cxx-pretty-print.cc (pp_cx_template_argument_list): Use DECL_NTTP_OBJECT_P. + * error.cc (dump_simple_decl): Likewise. + * mangle.cc (write_template_arg): Likewise. + * pt.cc (template_parm_object_p): Delete. + (create_template_parm_object): Separated out checking from ... + (get_template_parm_object): ... this, new external entry point. + +2022-09-27 Marek Polacek <polacek@redhat.com> + + PR c++/101165 + PR c++/106882 + * call.cc (reference_binding): Check clk_implicit_rval in C++20 only. + * cp-tree.h (unparenthesized_id_or_class_member_access_p): Declare. + * pt.cc (unparenthesized_id_or_class_member_access_p): New function, + broken out of... + (do_auto_deduction): ...here. Use it. In C++23, maybe call + treat_lvalue_as_rvalue_p. + * tree.cc (xvalue_p): Check & clk_rvalueref, not == clk_rvalueref. + * typeck.cc (check_return_expr): Allow implicit move for functions + returning a reference as well, or when the return value type is not + a scalar type. + +2022-09-27 Marek Polacek <polacek@redhat.com> + + * constraint.cc (diagnose_trait_expr): Say "nothrow" without quotes + rather than in quotes. + +2022-09-27 Jonathan Wakely <jwakely@redhat.com> + + PR c++/107049 + * method.cc (is_convertible_helper): Use access check sentinel. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + PR c++/106651 + * cp-tree.h (LAMBDA_EXPR_STATIC_P): Implement C++23 + P1169R4 - static operator(). Define. + * parser.cc (CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR): Document + that it also allows static. + (cp_parser_lambda_declarator_opt): Handle static lambda specifier. + (cp_parser_decl_specifier_seq): Allow RID_STATIC for + CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR. + * decl.cc (grok_op_properties): If operator() isn't a method, + use a different error wording, if it is static member function, + allow it (for C++20 and older with a pedwarn unless it is + a lambda function or template instantiation). + * call.cc (joust): Don't ICE if one candidate is static member + function and the other is an indirect call. If the parameter + conversion on the other candidate is user defined conversion, + ellipsis or bad conversion, make static member function candidate + a winner for that parameter. + * lambda.cc (maybe_add_lambda_conv_op): Handle static lambdas. + * error.cc (dump_lambda_function): Print static for static lambdas. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + * cp-tree.h (struct omp_begin_assumes_data): New type. + (struct saved_scope): Add omp_begin_assumes member. + * parser.cc: Include bitmap.h. + (cp_parser_omp_assumption_clauses, cp_parser_omp_assume, + cp_parser_omp_assumes, cp_parser_omp_begin): New functions. + (cp_parser_omp_end_declare_target): Rename to ... + (cp_parser_omp_end): ... this. Handle also end assumes. + (cp_parser_omp_construct): Handle PRAGMA_OMP_ASSUME. + (cp_parser_pragma): Handle PRAGMA_OMP_ASSUME, PRAGMA_OMP_ASSUMES + and PRAGMA_OMP_BEGIN. Handle PRAGMA_OMP_END rather than + PRAGMA_OMP_END_DECLARE_TARGET and call cp_parser_omp_end + for it rather than cp_parser_omp_end_declare_target. + * pt.cc (apply_late_template_attributes): Also temporarily clear + omp_begin_assumes. + * semantics.cc (finish_translation_unit): Also diagnose + #pragma omp begin assumes without corresponding + #pragma omp end assumes. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_lambda_declarator_opt): Don't diagnose + conflicting specifiers here. + (cp_storage_class_name): New variable. + (cp_parser_decl_specifier_seq): When setting conflicting_specifiers_p + for the first time, diagnose which exact specifiers conflict. + (cp_parser_set_storage_class): Likewise. Move storage_class + computation earlier. + * decl.cc (grokdeclarator): Don't diagnose conflicting specifiers + here, just return error_mark_node. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + PR c++/106652 + PR c++/85518 + * cp-tree.h (cp_compare_floating_point_conversion_ranks): Implement + P1467R9 - Extended floating-point types and standard names except + for std::bfloat16_t for now. Declare. + (extended_float_type_p): New inline function. + * mangle.cc (write_builtin_type): Mangle float{16,32,64,128}_type_node + as DF{16,32,64,128}_. Mangle float{32,64,128}x_type_node as + DF{32,64,128}x. Remove FIXED_POINT_TYPE mangling that conflicts + with that. + * typeck2.cc (check_narrowing): If one of ftype or type is extended + floating-point type, compare floating-point conversion ranks. + * parser.cc (cp_keyword_starts_decl_specifier_p): Handle + CASE_RID_FLOATN_NX. + (cp_parser_simple_type_specifier): Likewise and diagnose missing + _Float<N> or _Float<N>x support if not supported by target. + * typeck.cc (cp_compare_floating_point_conversion_ranks): New function. + (cp_common_type): If both types are REAL_TYPE and one or both are + extended floating-point types, select common type based on comparison + of floating-point conversion ranks and subranks. + (cp_build_binary_op): Diagnose operation with floating point arguments + with unordered conversion ranks. + * call.cc (standard_conversion): For floating-point conversion, if + either from or to are extended floating-point types, set conv->bad_p + for implicit conversion from larger to smaller conversion rank or + with unordered conversion ranks. + (convert_like_internal): Emit a pedwarn on such conversions. + (build_conditional_expr): Diagnose operation with floating point + arguments with unordered conversion ranks. + (convert_arg_to_ellipsis): Don't promote extended floating-point types + narrower than double to double. + (compare_ics): Implement P1467R9 [over.ics.rank]/4 changes. + +2022-09-26 Marek Polacek <polacek@redhat.com> + + PR c++/106656 + * typeck2.cc (array_string_literal_compatible_p): Allow + initializing arrays of char or unsigned char by a UTF-8 string literal. + +2022-09-26 Marek Polacek <polacek@redhat.com> + + PR c++/106784 + * method.cc (is_convertible_helper): New. + (is_convertible): Use it. + (is_nothrow_convertible): Likewise. + +2022-09-26 Patrick Palka <ppalka@redhat.com> + + PR c++/107033 + * module.cc (trees_in::decl_value): In the MK_partial case for + a variable template partial specialization, pass decl_p=true to + add_mergeable_specialization, and set spec to the VAR_DECL not + the TEMPLATE_DECL. + * pt.cc (add_mergeable_specialization): For a variable template + partial specialization, set the TREE_TYPE of the new + DECL_TEMPLATE_SPECIALIZATIONS node to the TREE_TYPE of the + VAR_DECL not the VAR_DECL itself. + +2022-09-23 Marek Polacek <polacek@redhat.com> + + PR c++/106784 + * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_CONVERTIBLE + and CPTK_IS_NOTHROW_CONVERTIBLE. + * cp-objcp-common.cc (names_builtin_p): Handle RID_IS_CONVERTIBLE + RID_IS_NOTHROW_CONVERTIBLE. + * cp-tree.h (enum cp_trait_kind): Add CPTK_IS_CONVERTIBLE and + CPTK_IS_NOTHROW_CONVERTIBLE. + (is_convertible): Declare. + (is_nothrow_convertible): Likewise. + * cxx-pretty-print.cc (pp_cxx_trait_expression): Handle + CPTK_IS_CONVERTIBLE and CPTK_IS_NOTHROW_CONVERTIBLE. + * method.cc (is_convertible): New. + (is_nothrow_convertible): Likewise. + * parser.cc (cp_parser_primary_expression): Handle RID_IS_CONVERTIBLE + and RID_IS_NOTHROW_CONVERTIBLE. + (cp_parser_trait_expr): Likewise. + * semantics.cc (trait_expr_value): Handle CPTK_IS_CONVERTIBLE and + CPTK_IS_NOTHROW_CONVERTIBLE. + (finish_trait_expr): Likewise. + +2022-09-23 Marek Polacek <polacek@redhat.com> + + PR c++/106983 + * typeck2.cc (split_nonconstant_init_1): Check TYPE_P. + +2022-09-22 Patrick Palka <ppalka@redhat.com> + + PR c++/106826 + * module.cc (trees_out::decl_value): Use get_template_info in + the MK_partial case to handle both VAR_DECL and TYPE_DECL. + (trees_out::key_mergeable): Likewise. + (trees_in::key_mergeable): Likewise. + (has_definition): Consider DECL_INITIAL of a partial variable + template specialization. + (depset::hash::make_dependency): Handle partial variable template + specializations too. + +2022-09-20 Patrick Palka <ppalka@redhat.com> + + * decl.cc (cp_finish_decl): After updating the deduced type of a + VAR_DECL, also update the corresponding TEMPLATE_DECL if there + is one. + +2022-09-20 Patrick Palka <ppalka@redhat.com> + + PR c++/106761 + * module.cc (trees_out::type_node) <case TYPE_PACK_EXPANSION>: + Stream PACK_EXPANSION_EXTRA_ARGS. + (trees_in::tree_node) <case TYPE_PACK_EXPANSION>: Likewise. + +2022-09-17 Patrick Palka <ppalka@redhat.com> + + * module.cc (friend_from_decl_list): Don't consider + CLASSTYPE_TEMPLATE_INFO for a TYPENAME_TYPE friend. + (trees_in::read_class_def): Don't add to + CLASSTYPE_BEFRIENDING_CLASSES for a TYPENAME_TYPE friend. + +2022-09-16 Patrick Palka <ppalka@redhat.com> + + PR c++/92505 + * constexpr.cc (cxx_eval_component_reference): Check non_constant_p + sooner. In C++14 or later, reject a DECL_MUTABLE_P member access + only if CONSTRUCTOR_MUTABLE_POISION is also set. + +2022-09-16 Jason Merrill <jason@redhat.com> + + PR c++/106858 + * parser.cc (cp_parser_omp_var_list_no_open): Pass the + initial token location down. + * semantics.cc (finish_omp_clauses): Check + invalid_nonstatic_memfn_p. + * typeck.cc (invalid_nonstatic_memfn_p): Handle null TREE_TYPE. + +2022-09-15 Richard Biener <rguenther@suse.de> + + * decl.cc (cxx_init_decl_processing): Inline last + build_void_list_node call. + (build_void_list_node): Remove. + +2022-09-14 Julian Brown <julian@codesourcery.com> + + * semantics.cc (finish_omp_clauses): Likewise. + +2022-09-13 Patrick Palka <ppalka@redhat.com> + + * cp-tree.h (mark_used): Remove single-parameter overload. Add + default argument to the two-parameter overload. + * decl2.cc (mark_used): Likewise. + +2022-09-13 Patrick Palka <ppalka@redhat.com> + + * cp-tree.h (cxx_constant_value): Define two-parameter version + that omits the object parameter. + * decl.cc (build_explicit_specifier): Omit NULL_TREE object + argument to cxx_constant_value. + * except.cc (build_noexcept_spec): Likewise. + * pt.cc (expand_integer_pack): Likewise. + (fold_targs_r): Likewise. + * semantics.cc (finish_if_stmt_cond): Likewise. + +2022-09-13 Patrick Palka <ppalka@redhat.com> + + * decl.cc (build_explicit_specifier): Pass complain to + cxx_constant_value. + * except.cc (build_noexcept_spec): Likewise. + * pt.cc (expand_integer_pack): Likewise. + (tsubst_function_decl): Propagate error_mark_node returned + from build_explicit_specifier. + +2022-09-12 Patrick Palka <ppalka@redhat.com> + + * call.cc (build_conditional_expr): Adjust calls to + '_sfinae'-suffixed functions. + (build_temp): Likewise. + (convert_like_internal): Likewise. + (convert_arg_to_ellipsis): Likewise. + (build_over_call): Likewise. + (build_cxx_call): Likewise. + (build_new_method_call): Likewise. + * constexpr.cc (cxx_eval_outermost_constant_expr): Likewise. + (cxx_constant_value_sfinae): Rename to ... + (cxx_constant_value): ... this. Document its default arguments. + (fold_non_dependent_expr): Adjust function comment. + * cp-tree.h (instantiate_non_dependent_expr_sfinae): Rename to ... + (instantiate_non_dependent_expr): ... this. Give its 'complain' + parameter a default argument. + (get_target_expr_sfinae, get_target_expr): Likewise. + (require_complete_type_sfinae, require_complete_type): Likewise. + (abstract_virtuals_error_sfinae, abstract_virtuals_error): + Likewise. + (cxx_constant_value_sfinae, cxx_constant_value): Likewise. + * cvt.cc (build_up_reference): Adjust calls to '_sfinae'-suffixed + functions. + (ocp_convert): Likewise. + * decl.cc (build_explicit_specifier): Likewise. + * except.cc (build_noexcept_spec): Likewise. + * init.cc (build_new_1): Likewise. + * pt.cc (expand_integer_pack): Likewise. + (instantiate_non_dependent_expr_internal): Adjust function + comment. + (instantiate_non_dependent_expr): Rename to ... + (instantiate_non_dependent_expr_sfinae): ... this. Document its + default argument. + (tsubst_init): Adjust calls to '_sfinae'-suffixed functions. + (fold_targs_r): Likewise. + * semantics.cc (finish_compound_literal): Likewise. + (finish_decltype_type): Likewise. + (cp_build_bit_cast): Likewise. + * tree.cc (build_cplus_new): Likewise. + (get_target_expr): Rename to ... + (get_target_expr_sfinae): ... this. Document its default + argument. + * typeck.cc (require_complete_type): Rename to ... + (require_complete_type_sfinae): ... this. Document its default + argument. + (cp_build_array_ref): Adjust calls to '_sfinae'-suffixed + functions. + (convert_arguments): Likewise. + (cp_build_binary_op): Likewise. + (build_static_cast_1): Likewise. + (cp_build_modify_expr): Likewise. + (convert_for_initialization): Likewise. + * typeck2.cc (abstract_virtuals_error): Rename to ... + (abstract_virtuals_error_sfinae): ... this. Document its default + argument. + (build_functional_cast_1): Adjust calls to '_sfinae'-suffixed + functions. + +2022-09-12 Patrick Palka <ppalka@redhat.com> + + PR c++/101906 + * pt.cc (tsubst_template_args): Set cp_evaluated here. + (tsubst_aggr_type): Not here. + +2022-09-12 Jason Merrill <jason@redhat.com> + + PR c++/106893 + PR c++/90451 + * decl.cc (cp_finish_decl): Call mark_single_function. + +2022-09-12 Jason Merrill <jason@redhat.com> + + PR c++/93259 + * pt.cc (type_dependent_expression_p): Treat a compound + literal of array-of-unknown-bound type like a variable. + +2022-09-12 Jason Merrill <jason@redhat.com> + + PR c++/106567 + * lambda.cc (type_deducible_expression_p): Check + array_of_unknown_bound_p. + +2022-09-12 Jonathan Wakely <jwakely@redhat.com> + + PR c++/86491 + * decl2.cc (constrain_class_visibility): Adjust wording of + -Wsubobject-linkage for cases where anonymous + namespaces aren't used. + * tree.cc (decl_anon_ns_mem_p): Now only true for actual anonymous + namespace members, rename old semantics to... + (decl_internal_context_p): ...this. + * cp-tree.h, name-lookup.cc, pt.cc: Adjust. + +2022-09-08 Jonathan Wakely <jwakely@redhat.com> + + PR c++/106838 + * class.cc (type_has_virtual_destructor): Return false for + union types. + * semantics.cc (check_trait_type): Add KIND parameter to support + different sets of requirements. + (finish_trait_expr): Pass KIND argument for relevant traits. + +2022-09-08 Patrick Palka <ppalka@redhat.com> + + PR c++/99130 + * decl2.cc (maybe_instantiate_decl): Adjust function comment. + Check VAR_OR_FUNCTION_DECL_P. Pull out the disjunction into ... + (mark_used): ... here, removing the decl_maybe_constant_var_p + part of it. + +2022-09-07 Jason Merrill <jason@redhat.com> + + PR c++/106793 + * decl.cc (grokdeclarator): Improve placeholder diagnostics. + * parser.cc (cp_parser_type_id_1): Add fixit. + +2022-09-07 Arsen Arsenović <arsen@aarsen.me> + + PR c++/106188 + PR c++/106713 + * coroutines.cc (coro_rewrite_function_body): Ensure we have a + BIND_EXPR wrapping the function body. + +2022-09-07 Jakub Jelinek <jakub@redhat.com> + + PR c++/106829 + * semantics.cc (finish_omp_target_clauses): If current_function_decl + isn't a nonstatic member function, don't set data.current_object to + non-NULL. + +2022-09-06 Jason Merrill <jason@redhat.com> + + * decl.cc (grok_op_properties): Return sooner for C++23 op[]. + +2022-09-06 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_omp_clause_doacross_sink): Don't verify val + in omp_cur_iteration - 1 has integer_type_node type. + +2022-09-06 Jakub Jelinek <jakub@redhat.com> + + * pt.cc (tsubst_expr) <case OMP_ORDERED>: If OMP_BODY was NULL, keep + it NULL after instantiation too. + +2022-09-03 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_omp_clause_name): Handle doacross. + (cp_parser_omp_clause_depend_sink): Renamed to ... + (cp_parser_omp_clause_doacross_sink): ... this. Add depend_p + argument. Handle parsing of doacross(sink:omp_cur_iteration-1). Use + OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of + OMP_CLAUSE_DEPEND_SINK_NEGATIVE, build OMP_CLAUSE_DOACROSS instead + of OMP_CLAUSE_DEPEND and set OMP_CLAUSE_DOACROSS_DEPEND flag on it. + (cp_parser_omp_clause_depend): Use OMP_CLAUSE_DOACROSS_SINK and + OMP_CLAUSE_DOACROSS_SOURCE instead of OMP_CLAUSE_DEPEND_SINK and + OMP_CLAUSE_DEPEND_SOURCE, build OMP_CLAUSE_DOACROSS for depend(source) + and set OMP_CLAUSE_DOACROSS_DEPEND on it. + (cp_parser_omp_clause_doacross): New function. + (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DOACROSS. + (cp_parser_omp_depobj): Use OMP_CLAUSE_DEPEND_INVALID instead of + OMP_CLAUSE_DEPEND_SOURCE. + (cp_parser_omp_for_loop): Don't diagnose here linear clause together + with ordered with argument. + (cp_parser_omp_simd): Don't diagnose ordered clause with argument on + for simd. + (OMP_ORDERED_DEPEND_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_DOACROSS. + (cp_parser_omp_ordered): Handle also doacross and adjust for it + diagnostic wording. + * pt.cc (tsubst_omp_clause_decl): Use + OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of + OMP_CLAUSE_DEPEND_SINK_NEGATIVE. + (tsubst_omp_clauses): Handle OMP_CLAUSE_DOACROSS. + (tsubst_expr): Use OMP_CLAUSE_DEPEND_INVALID instead of + OMP_CLAUSE_DEPEND_SOURCE. + * semantics.cc (cp_finish_omp_clause_depend_sink): Rename to ... + (cp_finish_omp_clause_doacross_sink): ... this. + (finish_omp_clauses): Handle OMP_CLAUSE_DOACROSS. Don't handle + OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. + +2022-09-02 David Malcolm <dmalcolm@redhat.com> + + PR c/90885 + * cp-tree.h (class cp_expr): Add bitfield m_decimal. Clear it in + existing ctors. Add ctor that allows specifying its value. + (cp_expr::decimal_p): New accessor. + * parser.cc (cp_parser_expression_stack_entry::flags): New field. + (cp_parser_primary_expression): Set m_decimal of cp_expr when + handling numbers. + (cp_parser_binary_expression): Extract flags from token when + populating stack. Call check_for_xor_used_as_pow. + +2022-09-01 Marek Polacek <polacek@redhat.com> + + * cp-tree.h (maybe_strip_ref_conversion): Remove. + +2022-08-30 Ulrich Drepper <drepper@gmail.com> + + * Make-lang.in: Add rule to rebuild std-name-hint.h from + std-name-hint.gperf. + * name-lookup.cc (get_std_name_hint): Remove hints array. + Use gperf-generated class std_name_hint_lookup. + Include "std-name-hint.h". + * std-name-hint.gperf: New file. + * std-name-hint.h: New file. Generated from the .gperf file. + +2022-08-30 Marek Polacek <polacek@redhat.com> + + PR c++/106759 + * cp-objcp-common.cc (names_builtin_p): Handle RID_IS_NOTHROW_ASSIGNABLE + and RID_IS_NOTHROW_CONSTRUCTIBLE. + +2022-08-29 Marek Polacek <polacek@redhat.com> + + PR c++/106712 + * decl.cc (grokdeclarator): Reverse the order of arguments to + attr_chainon. + +2022-08-26 Marek Polacek <polacek@redhat.com> + + PR c++/81159 + * typeck.cc (maybe_warn_self_move): New. + (cp_build_modify_expr): Call maybe_warn_self_move. + +2022-08-25 Marek Polacek <polacek@redhat.com> + + * cp-tree.h (enum cp_tree_index): Remove CTI_NULLPTR, CTI_NULLPTR_TYPE. + Move it to c_tree_index. + (nullptr_node): No longer define here. + (nullptr_type_node): Likewise. + (NULLPTR_TYPE_P): Likewise. + * decl.cc (cxx_init_decl_processing): Only keep C++-specific nullptr + initialization; move the shared code to c_common_nodes_and_builtins. + +2022-08-25 Jason Merrill <jason@redhat.com> + + * call.cc (unsafe_return_slot_p): Return 2 for *this in a + constructor. + +2022-08-23 Marek Polacek <polacek@redhat.com> + + * typeck.cc (maybe_warn_pessimizing_move): Don't warn about + redundant std::move when the expression was wrapped in { }. + +2022-08-17 Marek Polacek <polacek@redhat.com> + + PR c++/90428 + * typeck.cc (can_do_rvo_p): Rename to ... + (can_elide_copy_prvalue_p): ... this. + (maybe_warn_pessimizing_move): Extend the + -Wredundant-move warning to warn about std::move on a + const-qualified object. + +2022-08-17 Marek Polacek <polacek@redhat.com> + + PR c++/89780 + * pt.cc (tsubst_copy_and_build) <case CALL_EXPR>: Maybe suppress + -Wpessimizing-move. + * typeck.cc (maybe_warn_pessimizing_move): Don't issue warnings + if they are suppressed. + (check_return_expr): Disable -Wpessimizing-move when returning + a dependent expression. + +2022-08-17 Marek Polacek <polacek@redhat.com> + + PR c++/106276 + * call.cc (build_over_call): Call maybe_warn_pessimizing_move. + * cp-tree.h (maybe_warn_pessimizing_move): Declare. + * decl.cc (build_aggr_init_full_exprs): Call + maybe_warn_pessimizing_move. + * typeck.cc (maybe_warn_pessimizing_move): Handle TREE_LIST and + CONSTRUCTOR. Add a bool parameter and use it. Adjust a diagnostic + message. + (check_return_expr): Adjust the call to maybe_warn_pessimizing_move. + +2022-08-17 Tobias Burnus <tobias@codesourcery.com> + Chung-Lin Tang <cltang@codesourcery.com> + + PR c++/104493 + * cp-objcp-common.h (LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove. + * cp-tree.h (cp_omp_mappable_type, cp_omp_emit_unmappable_type_notes): + Remove. + * decl2.cc (cp_omp_mappable_type_1, cp_omp_mappable_type, + cp_omp_emit_unmappable_type_notes): Remove. + (cplus_decl_attributes): Call omp_mappable_type instead of + removed langhook. + * decl.cc (cp_finish_decl): Likewise; call cxx_incomplete_type_inform + in lieu of cp_omp_emit_unmappable_type_notes. + * semantics.cc (finish_omp_clauses): Likewise. + +2022-08-16 Tom Honermann <tom@honermann.net> + + PR c++/106423 + * parser.cc (cp_lexer_saving_tokens): Add comment regarding + diagnostic requirements. + +2022-08-16 Jakub Jelinek <jakub@redhat.com> + + * typeck.cc (cp_build_modify_expr): Implement + P2327R1 - De-deprecating volatile compound operations. Don't warn + for |=, &= or ^= with volatile lhs. + * expr.cc (mark_use) <case MODIFY_EXPR>: Adjust warning wording, + leave out simple. + +2022-08-15 Marek Polacek <polacek@redhat.com> + + PR c++/106276 + * typeck.cc (can_do_rvo_p): New. + (maybe_warn_pessimizing_move): Warn when moving a temporary object + in a return statement prevents copy elision. + +2022-08-11 Marek Polacek <polacek@redhat.com> + + PR middle-end/102633 + * decl.cc (cp_finish_decl): Call suppress_warning. + +2022-08-07 Jakub Jelinek <jakub@redhat.com> + + PR c++/88174 + * constexpr.cc (cxx_eval_store_expression): Handle REALPART_EXPR + and IMAGPART_EXPR. Change ctors from releasing_vec to + auto_vec<tree *>, adjust all uses. For !preeval, update ctors + vector. + +2022-07-31 Lewis Hyatt <lhyatt@gmail.com> + + PR c++/66290 + * parser.cc (cp_lexer_new_main): Rename global done_lexing to + override_libcpp_locations. + +2022-07-31 Jason Merrill <jason@redhat.com> + + PR c++/106369 + * constexpr.cc (reduced_constant_expression_p): Return false + if a CONSTRUCTOR initializes an empty field. + +2022-07-29 Jakub Jelinek <jakub@redhat.com> + + PR c++/106448 + * parser.cc (cp_parser_omp_atomic): For simple cast followed by + CPP_QUERY token, don't try cp_parser_binary_operation if compare + is true. + +2022-07-26 Marek Polacek <polacek@redhat.com> + + PR c++/106311 + * pt.cc (redeclare_class_template): Check DECL_P before accessing + DECL_SOURCE_LOCATION. + +2022-07-26 Jason Merrill <jason@redhat.com> + + PR c++/106230 + * semantics.cc (finish_for_stmt): Check stmts_are_full_exprs_p. + +2022-07-25 Jason Merrill <jason@redhat.com> + + PR c++/87729 + * class.cc (warn_hidden): Remove shortcut. + +2022-07-22 Patrick Palka <ppalka@redhat.com> + + PR c++/106366 + * pt.cc (do_class_deduction): Don't consider TYPE_HAS_LIST_CTOR + when setting try_list_ctor. Reset args even when try_list_ctor + is true and there are no list candidates. Call resolve_args on + the reset args. Rename try_list_ctor to try_list_cand. + +2022-07-22 Martin Liska <mliska@suse.cz> + + PR other/106370 + * init.cc (sort_mem_initializers): Remove continue as last stmt + in a loop. + +2022-07-21 Jason Merrill <jason@redhat.com> + + PR c++/106361 + * decl.cc (move_fn_p): Remove assert. + +2022-07-21 Jason Merrill <jason@redhat.com> + + DR 2084 + PR c++/98423 + * method.cc (walk_field_subobs): Fix DMI in union case. + +2022-07-19 Patrick Palka <ppalka@redhat.com> + + PR c++/94894 + PR c++/105766 + PR c++/106201 + * call.cc (enum conversion_kind): Add ck_deferred_bad enumerator. + (has_next): Return false for it. + (reference_binding): Return a ck_deferred_bad conversion instead + of an actual bad conversion when LOOKUP_SHORTCUT_BAD_CONVS is set. + Remove now obsolete early exit for the incomplete TO case. + (implicit_conversion_1): Don't mask out LOOKUP_SHORTCUT_BAD_CONVS. + (add_function_candidate): Set LOOKUP_SHORTCUT_BAD_CONVS iff + shortcut_bad_convs. + (missing_conversion_p): Also return true for a ck_deferred_bad + conversion. + * cp-tree.h (LOOKUP_SHORTCUT_BAD_CONVS): Define. + +2022-07-19 Jonathan Wakely <jwakely@redhat.com> + + * cp-objcp-common.cc (names_builtin_p): Return true for + RID_REF_CONSTRUCTS_FROM_TEMPORARY and + RID_REF_CONVERTS_FROM_TEMPORARY. + +2022-07-15 Marek Polacek <polacek@redhat.com> + + PR c++/104477 + * call.cc (ref_conv_binds_directly_p): Rename to ... + (ref_conv_binds_directly): ... this. Add a new bool parameter. Change + the return type to tristate. + * constraint.cc (diagnose_trait_expr): Handle + CPTK_REF_CONSTRUCTS_FROM_TEMPORARY and CPTK_REF_CONVERTS_FROM_TEMPORARY. + * cp-tree.h: Include "tristate.h". + (enum cp_trait_kind): Add CPTK_REF_CONSTRUCTS_FROM_TEMPORARY + and CPTK_REF_CONVERTS_FROM_TEMPORARY. + (ref_conv_binds_directly_p): Rename to ... + (ref_conv_binds_directly): ... this. + (ref_xes_from_temporary): Declare. + * cxx-pretty-print.cc (pp_cxx_trait_expression): Handle + CPTK_REF_CONSTRUCTS_FROM_TEMPORARY and CPTK_REF_CONVERTS_FROM_TEMPORARY. + * method.cc (ref_xes_from_temporary): New. + * parser.cc (cp_parser_primary_expression): Handle + RID_REF_CONSTRUCTS_FROM_TEMPORARY and RID_REF_CONVERTS_FROM_TEMPORARY. + (cp_parser_trait_expr): Likewise. + (warn_for_range_copy): Adjust to call ref_conv_binds_directly. + * semantics.cc (trait_expr_value): Handle + CPTK_REF_CONSTRUCTS_FROM_TEMPORARY and CPTK_REF_CONVERTS_FROM_TEMPORARY. + (finish_trait_expr): Likewise. + +2022-07-13 Patrick Palka <ppalka@redhat.com> + + PR c++/105912 + * pt.cc (tsubst_copy_and_build) <case CALL_EXPR>: Guard against + NULL_TREE extract_call_expr result. + +2022-07-13 Patrick Palka <ppalka@redhat.com> + + PR c++/105842 + * constraint.cc (satisfy_declaration_constraints): Refine early + exit test for argument dependence. + * cp-tree.h (uses_outer_template_parms_in_constraints): Declare. + * pt.cc (template_class_depth): Handle TI_TEMPLATE being a + FIELD_DECL. + (usse_outer_template_parms): Factor out constraint dependence + test into ... + (uses_outer_template_parms_in_constraints): ... here. + (type_dependent_expression_p): Use it for FUNCTION_DECL. + +2022-07-07 Patrick Palka <ppalka@redhat.com> + + PR c++/105956 + * pt.cc (template_arg_to_parm): Define. + (tsubst_argument_pack): Try to reuse the corresponding + ARGUMENT_PACK from 'args' when substituting into a generic + ARGUMENT_PACK for a variadic template parameter. + (tsubst_template_args): Move variable declarations closer to + their first use. Replace 'orig_t' with 'r'. Rename 'need_new' + to 'const_subst_p'. Heuristically detect if the substituted + elements are identical to that of a level from 'args' and avoid + allocating a new TREE_VEC if so. Add sanity check for the + length of the new TREE_VEC, and remove dead ARGUMENT_PACK_P test. + (tsubst_decl) <case TYPE_DECL, case VAR_DECL>: Revert + r13-1045-gcb7fd1ea85feea change for avoiding substitution into + DECL_TI_ARGS, but still avoid coercion in this case. + +2022-07-07 Jason Merrill <jason@redhat.com> + + PR c++/87729 + * class.cc (warn_hidden): Ignore [cd]tors. + +2022-07-06 Lewis Hyatt <lhyatt@gmail.com> + + PR c++/53431 + * parser.cc (cp_parser_pragma_kind): Move earlier in the file. + (cp_lexer_handle_early_pragma): New function. + (cp_lexer_new_main): Support parsing and handling early pragmas. + (c_parse_file): Adapt to changes in cp_lexer_new_main. + +2022-07-06 Jason Merrill <jason@redhat.com> + + PR c++/106179 + PR c++/106024 + * parser.cc (cp_parser_lookup_name): Remove :: requirement + for using unqualified lookup result. + +2022-07-05 Nathan Sidwell <nathan@acm.org> + + * module.cc + (struct ord_loc_info, ord_loc_traits): New. + (ord_loc_tabke, ord_loc_remap): New globals. + (struct location_map_info): Delete. + (struct module_state_config): Rename ordinary_loc_align to + loc_range_bits. + (module_for_ordinary_loc): Adjust. + (module_state::note_location): Note ordinary locations, + return bool. + (module_state::write_location): Adjust ordinary location + streaming. + (module_state::read_location): Likewise. + (module_state::write_init_maps): Allocate ord_loc_table. + (module_state::write_prepare_maps): Reimplement ordinary + map preparation. + (module_state::read_prepare_maps): Adjust. + (module_state::write_ordinary_maps): Reimplement. + (module_state::write_macro_maps): Adjust. + (module_state::read_ordinary_maps): Reimplement. + (module_state::write_macros): Adjust. + (module_state::write_config): Adjust. + (module_state::read_config): Adjust. + (module_state::write_begin): Adjust. + (module_state::read_initial): Adjust. + +2022-07-04 Tobias Burnus <tobias@codesourcery.com> + Chung-Lin Tang <cltang@codesourcery.com> + Thomas Schwinge <thomas@codesourcery.com> + + * parser.cc (cp_parser_omp_target_data, + cp_parser_omp_target_enter_data, cp_parser_omp_target_exit_data, + cp_parser_omp_target_update): Set OMP_REQUIRES_TARGET_USED. + (cp_parser_omp_requires): Remove sorry. + +2022-07-01 Lewis Hyatt <lhyatt@gmail.com> + + * parser.cc (cp_token_is_module_directive): New function + refactoring common code. + (cp_parser_skip_to_closing_parenthesis_1): Use the new function. + (cp_parser_skip_to_end_of_statement): Likewise. + (cp_parser_skip_to_end_of_block_or_statement): Likewise. + (cp_parser_declaration): Likewise. + +2022-07-01 Marek Polacek <polacek@redhat.com> + + PR c++/105550 + * constexpr.cc (cxx_eval_conditional_expression): Strip TARGET_EXPRs. + +2022-07-01 Tobias Burnus <tobias@codesourcery.com> + + * parser.cc (cp_parser_omp_target_enter_data, + cp_parser_omp_target_exit_data): Accept tofrom + map-type modifier but use 'to' / 'from' internally. + +2022-07-01 Marek Polacek <polacek@redhat.com> + + PR c++/106111 + * parser.cc (cp_lexer_get_preprocessor_token): Also warn about + RID_ALIGNOF, RID_ALIGNAS, RID_THREAD. + +2022-07-01 Jason Merrill <jason@redhat.com> + + PR c++/105779 + * call.cc (resolve_args): Use complain. + +2022-07-01 Jason Merrill <jason@redhat.com> + + * parser.cc (missing_template_diag): Split out... + (cp_parser_id_expression): ...from here. + +2022-07-01 Jason Merrill <jason@redhat.com> + + PR c++/106024 + * parser.cc (missing_template_diag): Factor out... + (cp_parser_id_expression): ...from here. + (cp_parser_lookup_name): Don't look in dependent object_type. + +2022-06-30 Nathan Sidwell <nathan@acm.org> + + * module.cc (module_state::write_define): Drop located param. + (module_state::read_define): Likewise. + (module_state::prepare_macros): New, broken out of ... + (module_state::write_macros): ... here. Adjust. + (module_state::write_begin): Adjust. + +2022-06-29 Nathan Sidwell <nathan@acm.org> + + * module.cc (macro_info, macro_traits, macro_table, + macro_remap): Rename to ... + (macro_loc_info, macro_loc_traits, macro_loc_table, + macro_loc_remap): ... these. Update all uses. + (module_state::write_prepare_maps): Remove unneeded macro checking. + (module_state::write_begin): Free macro_loc_remap. + +2022-06-27 Sergei Trofimovich <siarheit@google.com> + + PR c++/106102 + * mapper-client.cc: Include <memory> via "system.h". + * mapper-resolver.cc: Ditto. + * module.cc: Ditto. + +2022-06-27 David Malcolm <dmalcolm@redhat.com> + + * cxx-pretty-print.h: Add "final" and "override" to various vfunc + implementations, removing redundant "virtual" as appropriate. + * module.cc: Likewise. + +2022-06-24 Jason Merrill <jason@redhat.com> + + PR c++/87729 + PR c++/20423 + * class.cc (warn_hidden): Handle -Woverloaded-virtual=1. + +2022-06-24 Alexandre Oliva <oliva@adacore.com> + + * g++spec.cc (lang_specific_driver): Implement -nostdlib++. + +2022-06-23 Jason Merrill <jason@redhat.com> + + PR c++/105925 + * call.cc (build_aggr_conv): Don't depend on + CONSTRUCTOR_IS_DESIGNATED_INIT. + +2022-06-23 Jason Merrill <jason@redhat.com> + + PR c++/105925 + * decl.cc (reshape_init_array_1): Set + CONSTRUCTOR_IS_DESIGNATED_INIT here. + (reshape_init_class): And here. + (reshape_init): Not here. + +2022-06-23 Patrick Palka <ppalka@redhat.com> + + PR c++/105931 + * expr.cc (fold_for_warn): Don't fold when in an unevaluated + context. + +2022-06-23 Patrick Palka <ppalka@redhat.com> + + PR c++/105982 + * pt.cc (lookup_template_class): After calling complete_type for + the substituted context, check the table again iff the type was + previously incomplete and complete_type made it complete. + +2022-06-23 Jason Merrill <jason@redhat.com> + + PR c++/94554 + * pt.cc (dependent_operand_p): Split out from... + (tsubst_copy_and_build): ...here. + (tsubst_expr) [IF_STMT]: Use it. + * semantics.cc (finish_if_stmt_cond): Keep the pre-conversion + condition in the template tree. + +2022-06-23 Jason Merrill <jason@redhat.com> + + PR c++/105885 + * pt.cc (tsubst_copy_and_build): Also suppress -Waddress for + comparison of dependent operands. + +2022-06-23 Nathan Sidwell <nathan@acm.org> + + * module.cc (struct macro_info): New. + (struct macro_traits): New. + (macro_remap, macro_table): New globals. + (depset::hash::find_dependencies): Note namespace location. + (module_for_macro_loc): Adjust. + (module_state::note_location): New. + (module_state::Write_location): Note location when not + streaming. Adjust macro location streaming. + (module_state::read_location): Adjust macro location + streaming. + (module_state::write_init_maps): New. + (module_state::write_prepare_maps): Reimplement macro map + preparation. + (module_state::write_macro_maps): Reimplement. + (module_state::read_macro_maps): Likewise. + (module_state::write_begin): Adjust. + +2022-06-23 Jason Merrill <jason@redhat.com> + + * pt.cc (type_unification_real): An auto tparm can't + be affected by other deductions. + +2022-06-23 Jason Merrill <jason@redhat.com> + + PR c++/105964 + * pt.cc (type_dependent_expression_p): Look through BASELINK. + +2022-06-22 Jason Merrill <jason@redhat.com> + + PR c++/105908 + * name-lookup.cc (outer_binding): Strip BASELINK. + +2022-06-22 Nathan Sidwell <nathan@acm.org> + + * module.cc (struct duplicate_hash): Remove. + (duplicate_hash_map): Adjust. + +2022-06-22 Jason Merrill <jason@redhat.com> + + PR c++/104642 + * constexpr.cc (cxx_eval_builtin_function_call): Handle + unreachable/trap earlier. + * cp-gimplify.cc (cp_maybe_instrument_return): Use + build_builtin_unreachable. + +2022-06-18 Jakub Jelinek <jakub@redhat.com> + + * cp-ubsan.cc (cp_ubsan_instrument_vptr_p): Use + flag_sanitize_trap & SANITIZE_VPTR instead of + flag_sanitize_undefined_trap_on_error. + +2022-06-17 Jakub Jelinek <jakub@redhat.com> + + PR c++/106001 + * typeck.cc (build_x_shufflevector): Use fold_non_dependent_expr + instead of maybe_constant_value. + +2022-06-16 Nathan Sidwell <nathan@acm.org> + + * decl2.cc (finish_objects): Add startp parameter, adjust. + (generate_ctor_or_dtor_function): Detect empty fn, and don't + generate unnecessary code. Remove objc startup here ... + (c_parse_final_cleanyps): ... do it here. + +2022-06-16 Martin Liska <mliska@suse.cz> + + * decl2.cc (struct priority_map_traits): Remove unused param. + +2022-06-15 Nathan Sidwell <nathan@acm.org> + + * module.cc (module_state::write_readme): Use less confusing + importable unit names. + +2022-06-14 Nathan Sidwell <nathan@acm.org> + + * cp-tree.h (fini_modules): Add has_inits parm. + * decl2.cc (c_parse_final_cleanups): Check for + inits, adjust fini_modules flags. + * module.cc (module_state): Rename call_init_p to + active_init_p. + (module_state::write_config): Write active_init. + (module_state::read_config): Read it. + (module_determine_import_inits): Clear active_init_p + of covered inits. + (late_finish_module): Add has_init parm. Record it. + (fini_modules): Adjust. + +2022-06-13 Nathan Sidwell <nathan@acm.org> + + * module.cc (module_state::write): Separate to ... + (module_state::write_begin, module_state::write_end): ... + these. + (module_state::write_readme): Drop extensions parameter. + (struct module_processing_cookie): Add more fields. + (finish_module_processing): Adjust state writing call. + (late_finish_module): Call write_end. + +2022-06-10 Patrick Palka <ppalka@redhat.com> + + PR c++/65328 + * decl.cc (typename_hasher::hash): Add extra overloads. + Use iterative_hash_object instead of htab_hash_pointer. + Hash TYPENAME_TYPE_FULLNAME instead of TYPE_IDENTIFIER. + (build_typename_type): Use typename_hasher::hash. + * pt.cc (spec_hasher::hash): Add two-parameter overload. + Set comparing_specializations around the call to + hash_tmpl_and_args. + (iterative_hash_template_arg) <case TYPENAME_TYPE>: + When comparing_specializations, hash the TYPE_CONTEXT + and TYPENAME_TYPE_FULLNAME. + (tsubst_function_decl): Use spec_hasher::hash instead of + hash_tmpl_and_args. + (tsubst_template_decl): Likewise. + (tsubst_decl): Likewise. + +2022-06-10 Patrick Palka <ppalka@redhat.com> + + * pt.cc (instantiate_template): Don't substitute the context + of the most general template if that of the partially + instantiated template is already non-dependent. + +2022-06-10 Patrick Palka <ppalka@redhat.com> + + * pt.cc (lookup_template_class): Remove dead stores to + context parameter. Don't substitute the context of the + most general template if that of the partially instantiated + template is already non-dependent. Check the specializations + table again after completing the context of a nested dependent + specialization. + (tsubst_aggr_type) <case RECORD_TYPE>: Don't substitute + TYPE_CONTEXT or pass it to lookup_template_class. + (tsubst_decl) <case TYPE_DECL, case TYPE_DECL>: Avoid substituting + the TREE_TYPE for DECL_SELF_REFERENCE_P. Avoid template argument + substitution or coercion in some cases. + +2022-06-10 Nathan Sidwell <nathan@acm.org> + + * cp-tree.h (fini_modules): Add some parameters. + (finish_module_processing): Return an opaque pointer. + * decl2.cc (c_parse_final_cleanups): Propagate a cookie from + finish_module_processing to fini_modules. + * module.cc (struct module_processing_cookie): New. + (finish_module_processing): Return a heap-allocated cookie. + (late_finish_module): New. Finish out the module writing. + (fini_modules): Adjust. + +2022-06-10 Nathan Sidwell <nathan@acm.org> + + * cp-tree.h (module_has_import_init): Rename to ... + (module_determined_import_inits): ... here. + * decl2.cc (start_objects): Do not handle module initializers + here. + (c_parse_final_cleanups): Generate a separate module + initializer calling function and add it to the list. Shrink + the c-lang region. + * module.cc (num_init_calls_needed): Delete. + (module_has_import_init): Rename to ... + (module_determined_import_inits): ... here. Do the + calculation here ... + (finish_module_processing): ... rather than here. + (module_add_import_initializers): Reformat. + +2022-06-09 Jakub Jelinek <jakub@redhat.com> + + PR c++/105871 + * constexpr.cc (cxx_eval_bit_field_ref): For BIT_FIELD_REF with + non-integral result type use fold_ternary too like for BIT_FIELD_REFs + from VECTOR_CST. If fold_ternary returns NULL, diagnose non-constant + expression, set *non_constant_p and return t, instead of returning + NULL. + +2022-06-09 Nathan Sidwell <nathan@acm.org> + + * cp-tree.h (module_initializer_kind): Replace with ... + (module_global_init_needed, module_has_import_inits): ... + these. + * decl2.cc (start_objects): Add has_body parm. Reorganize + module initializer creation. + (generate_ctor_or_dtor_function): Adjust. + (c_parse_final_cleanups): Adjust. + (vtv_start_verification_constructor_init_function): Adjust. + * module.cc (module_initializer_kind): Replace with ... + (module_global_init_needed, module_has_import_inits): ... + these. + +2022-06-08 Jason Merrill <jason@redhat.com> + + PR c++/105852 + * decl.cc (duplicate_decls): Change non-templated friend + check to an assert. + * pt.cc (tsubst_function_decl): Don't set DECL_TEMPLATE_INFO + on non-templated friends. + (tsubst_friend_function): Adjust. + +2022-06-08 Jason Merrill <jason@redhat.com> + + PR c++/105852 + PR c++/105761 + * decl.cc (duplicate_decls): Avoid copying template info + from non-templated friend even if newdecl isn't a definition. + Correct handling of DECL_UNIQUE_FRIEND_P on templates. + * pt.cc (non_templated_friend_p): New. + * cp-tree.h (non_templated_friend_p): Declare it. + +2022-06-08 Nathan Sidwell <nathan@acm.org> + + * decl2.cc (struct priority_info_s, priority_info): Delete. + (priority_map_traits, priority_map_t): New. + (static_init_fini_fns): New. + (INITIALIZE_P_IDENTIFIER, PRIORITY_IDENTIFIER): Delete. + (initialize_p_decl, priority_decl): Delete. + (ssdf_decls, priority_info_map): Delete. + (start_static_storage_duration_function): Rename to ... + (start_partial_init_fini_fn): ... here. Create a void arg fn. + Add it to the slot in the appropriate static_init_fini_fns + hash table. + (finish_static_storage_duration_function): Rename to ... + (finish_partial_init_fini_fn): ... here. + (get_priority_info): Delete. + (one_static_initialization_or_destruction): Assert not + trivial dtor. + (do_static_initialization_or_destruction): Rename to ... + (emit_partial_init_fini_fn) ... here. Start & finish the fn. + Simply init/fini each var. + (partition_vars_for_init_fini): Partition vars according to + priority and add to init and/or fini list. + (generate_ctor_or_dtor_function): Start and finish the function. + Do santitizer calls here. + (generate_ctor_and_dtor_functions_for_priority): Delete. + (c_parse_final_cleanups): Reimplement global init/fini + processing. + +2022-06-07 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_omp_clause_linear): Parse OpenMP 5.2 + style linear clause modifiers. Set + OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER flag on the clauses when + old style modifiers are used. + * semantics.cc (finish_omp_clauses): Only reject linear clause + with val modifier on simd or for if the old style modifiers are + used. + +2022-06-07 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/96442 + * decl.cc (start_enum): When emitting a "must be integral" error, + set ENUM_UNDERLYING_TYPE to integer_type_node, to avoid an ICE + downstream in build_enumeration. + +2022-06-06 Patrick Palka <ppalka@redhat.com> + + PR c++/53164 + PR c++/105848 + * pt.cc (tsubst_copy_and_build) <case CALL_EXPR>: Look through an + ADDR_EXPR callee when calling mark_used. + +2022-06-04 Marek Polacek <polacek@redhat.com> + + PR c++/102399 + PR c++/69585 + * parser.cc (cp_parser_attributes_opt): Accept GNU attributes + followed by [[]] attributes and vice versa. + +2022-06-03 Patrick Palka <ppalka@redhat.com> + + PR c++/105756 + * typeck.cc (cp_build_binary_op): Don't fold operands + when c_inhibit_evaluation_warnings. + +2022-06-03 Jason Merrill <jason@redhat.com> + + PR c++/105761 + * decl.cc (duplicate_decls): Don't copy DECL_TEMPLATE_INFO + from a hidden friend. + +2022-06-03 Patrick Palka <ppalka@redhat.com> + + PR c++/105637 + * tree.cc (maybe_dummy_object): When returning a dummy + object, respect the cv-quals of 'this' if available. + +2022-06-03 Patrick Palka <ppalka@redhat.com> + + PR c++/100374 + * pt.cc (determine_specialization): Compare overall constraints + not just the trailing constraints. + (tsubst_each_template_parm_constraints): Define. + (tsubst_friend_function): Use it. + (tsubst_friend_class): Use it. + (tsubst_template_parm): Don't substitute TEMPLATE_PARM_CONSTRAINTS. + +2022-06-03 Patrick Palka <ppalka@redhat.com> + + PR c++/105797 + * pt.cc (for_each_template_parm_r) <case FUNCTION_DECL, VAR_DECL>: + Don't walk DECL_CONTEXT. + <case PARM_DECL>: Likewise. Walk TREE_TYPE. + <case CONST_DECL>: Simplify. + (any_template_parm_r) <case PARM_DECL>: Don't walk TREE_TYPE. + +2022-06-02 Marek Polacek <polacek@redhat.com> + + * constexpr.cc (potential_constant_expression_1): Treat + {,VEC_}NEW_EXPR and {,VEC_}DELETE_EXPRas potentially constant in C++20. + +2022-06-02 Marek Polacek <polacek@redhat.com> + + PR c++/105803 + * pt.cc (value_dependent_expression_p): Handle {,VEC_}NEW_EXPR + in the switch. + +2022-06-02 David Malcolm <dmalcolm@redhat.com> + + * cp-lang.cc (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine. + (cp_get_sarif_source_language): New. + +2022-06-02 Jason Merrill <jason@redhat.com> + + PR c++/105795 + * constexpr.cc (init_subob_ctx): Clear ctx->ctor for empty subob. + (cxx_eval_store_expression): Likewise. + (cxx_eval_bare_aggregate): Handle null ctx->ctor. + +2022-06-02 Jason Merrill <jason@redhat.com> + + PR c++/105795 + * constexpr.cc (cxx_eval_bare_aggregate): Always call + init_subob_ctx. + +2022-06-01 Jason Merrill <jason@redhat.com> + + PR c++/105734 + * parser.cc (cp_parser_postfix_dot_deref_expression): Use typeof + if the expression has auto type. + +2022-06-01 Jason Merrill <jason@redhat.com> + + PR c++/105779 + * call.cc (resolve_args): Call mark_single_function here. + * pt.cc (unify_one_argument): Not here. + +2022-06-01 Nathan Sidwell <nathan@acm.org> + + * decl2.cc (fix_temporary_vars_context_r): Use data argument + for new context. + (one_static_initialization_or_destruction): Adjust tree walk + call. Refactor guard generation. + +2022-06-01 Nathan Sidwell <nathan@acm.org> + + * decl2.cc (ssdf_decl): Delete global. + (start_static_storage_duration_function): Use some RAII. + (do_static_initialization_or_destruction): Likewise. + (c_parse_final_cleanups): Likewise. Avoid rechecking 'vars'. + +2022-06-01 Nathan Sidwell <nathan@acm.org> + + * decl2.cc (start_objects): Replace 'method_type' parameter + with 'initp' boolean, rename and retype 'priority' parameter. + (finish_objects): Likewise. Do not expand here. + (one_static_initialization_or_destruction): Move 'initp' + parameter first. + (do_static_initialization_or_destruction): Likewise. + (generate_ctor_or_dtor_function): Rename 'initp' parameter. + Adjust start_objects/finish_obects calls and expand here. + (generate_ctor_and_dtor_functions_for_priority): Adjust calls. + (c_parse_final_cleanups): Likewise. + (vtv_start_verification_constructor_init): Adjust. + (vtv_finish_verification_constructor_init): Use finish_objects. + +2022-05-31 Patrick Palka <ppalka@redhat.com> + + PR c++/105758 + * call.cc (build_over_call): Use z_candidate::conversion_path + and ::access_path instead of TYPE_BINFO when building the + BASELINK for the templated form. + +2022-05-31 Patrick Palka <ppalka@redhat.com> + + * parser.cc: Use auto_timevar instead of timevar_push/pop. + Remove wrapper functions. + * pt.cc: Likewise. + +2022-05-31 Patrick Palka <ppalka@redhat.com> + + * cp-tree.h (cp_build_qualified_type_real): Rename to ... + (cp_build_qualified_type): ... this. Give its last parameter + a default argument. Remove macro of the same name. + * decl.cc (grokdeclarator): Adjust accordingly. + * pt.cc (tsubst_aggr_type): Likewise. + (rebuild_function_or_method_type): Likewise. + (tsubst): Likewise. + (maybe_dependent_member_ref): Likewise. + (unify): Likewise. + * tree.cc (cp_build_qualified_type_real): Rename to ... + (cp_build_qualified_type): ... this. Adjust accordingly. + +2022-05-31 Jason Merrill <jason@redhat.com> + + * Make-lang.in (c++.tags): Just look at *.cc. + +2022-05-31 Patrick Palka <ppalka@redhat.com> + + * cp-tree.h (comp_template_args): Change return type to bool. + * pt.cc (comp_template_args): Document default arguments. + Change return type to bool and adjust returns accordingly. + +2022-05-31 Patrick Palka <ppalka@redhat.com> + + * decl.cc (grokvardecl): Use current_template_constraints. + (grokdeclarator): Likewise. + (xref_tag): Likewise. + * semantics.cc (finish_template_template_parm): Likewise. + +2022-05-31 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (OMP_SCOPE_CLAUSE_MASK): Add firstprivate and allocate + clauses. + +2022-05-30 Marek Polacek <polacek@redhat.com> + + PR c++/99080 + * pt.cc (type_dependent_expression_p): Assert !TYPE_P. + * semantics.cc (finish_id_expression_1): Handle UNBOUND_CLASS_TEMPLATE + specifically. + +2022-05-28 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (handle_omp_declare_target_clause): If OMP_CLAUSE_LINK was + seen first, use "%<to%>" or "%<enter%>" depending on + OMP_CLAUSE_ENTER_TO of the current clause, otherwise use + "%<to%> or %<enter%>" wording. + +2022-05-28 Jason Merrill <jason@redhat.com> + + PR c++/105652 + * pt.cc (tsubst_lambda_expr): Don't let a namespace-scope lambda + instantiate into a class-scope lambda. + +2022-05-27 Marek Polacek <polacek@redhat.com> + + PR c++/105725 + * parser.cc (class_decl_loc_t::add): Check CLASS_TYPE_P. + +2022-05-27 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_omp_clause_name): Parse enter clause. + (cp_parser_omp_all_clauses): For to clause on declare target, use + OMP_CLAUSE_ENTER clause with OMP_CLAUSE_ENTER_TO instead of + OMP_CLAUSE_TO_DECLARE clause. Handle PRAGMA_OMP_CLAUSE_ENTER. + (OMP_DECLARE_TARGET_CLAUSE_MASK): Add enter clause. + (cp_parser_omp_declare_target): Use OMP_CLAUSE_ENTER instead of + OMP_CLAUSE_TO_DECLARE. + * semantics.cc (finish_omp_clauses): Handle OMP_CLAUSE_ENTER instead + of OMP_CLAUSE_TO_DECLARE, to OMP_CLAUSE_ENTER_TO use "to" as clause + name in diagnostics instead of + omp_clause_code_name[OMP_CLAUSE_CODE (c)]. + +2022-05-26 Marek Polacek <polacek@redhat.com> + + PR c++/105569 + * typeck.cc (warn_for_null_address): Improve the warning when + the POINTER_PLUS_EXPR's base is of reference type. + +2022-05-26 Patrick Palka <ppalka@redhat.com> + + PR c++/96363 + * decl.cc (shadow_tag): Use the return value of + maybe_process_partial_specialization. + * parser.cc (cp_parser_single_declaration): Call shadow_tag + before associate_classtype_constraints. + * pt.cc (maybe_new_partial_specialization): Change return type + to bool. Take 'type' argument by mutable reference. Set 'type' + to point to the correct constrained specialization when + appropriate. + (maybe_process_partial_specialization): Adjust accordingly. + +2022-05-25 Marek Polacek <polacek@redhat.com> + + PR c++/96637 + * cp-tree.h (attr_chainon): Declare. + * decl.cc (start_decl): Use attr_chainon. + (grokdeclarator): Likewise. + * parser.cc (cp_parser_statement): No longer static. + +2022-05-25 Jason Merrill <jason@redhat.com> + + PR c++/105655 + * pt.cc (build_template_decl): Add assert. + (tsubst_function_decl): Don't return a template. + +2022-05-25 Jason Merrill <jason@redhat.com> + + PR c++/105623 + * decl2.cc (mark_used): Copy type from fn to BASELINK. + * pt.cc (unify_one_argument): Call mark_single_function. + +2022-05-25 Jason Merrill <jason@redhat.com> + + * constexpr.cc (cxx_eval_call_expression): Check for + heap vars in the result. + +2022-05-25 Jason Merrill <jason@redhat.com> + + * constexpr.cc (maybe_constant_init_1): Only pass false for + strict when initializing a variable of static duration. + +2022-05-25 Marek Polacek <polacek@redhat.com> + + PR c++/100252 + * typeck2.cc (potential_prvalue_result_of): New. + (replace_placeholders_for_class_temp_r): New. + (digest_nsdmi_init): Call it. + +2022-05-24 Jason Merrill <jason@redhat.com> + + * constexpr.cc (cxx_fold_indirect_ref): Add default arg. + (cxx_eval_call_expression): Call it. + (cxx_fold_indirect_ref_1): Handle null empty_base. + +2022-05-24 Jason Merrill <jason@redhat.com> + + * constexpr.cc (enum value_cat): New. Change all 'lval' parameters + from int to value_cat. Change most false to vc_prvalue, most true + to vc_glvalue, cases where the return value is ignored to + vc_discard. + (cxx_eval_statement_list): Only vc_prvalue for stmt-expr result. + (cxx_eval_store_expression): Only build _REF for vc_glvalue. + (cxx_eval_array_reference, cxx_eval_component_reference) + (cxx_eval_indirect_ref, cxx_eval_constant_expression): Likewise. + +2022-05-24 Jason Merrill <jason@redhat.com> + + PR c++/105622 + * constexpr.cc (cxx_eval_store_expression): Adjust assert. + Use initialized_type. + +2022-05-24 Patrick Palka <ppalka@redhat.com> + + * cp-tree.h (any_template_arguments_need_structural_equality_p): + Declare. + * pt.cc (struct ctp_hasher): Define. + (ctp_table): Define. + (canonical_type_parameter): Use it. + (process_template_parm): Set TYPE_CANONICAL for + TEMPLATE_TEMPLATE_PARM too. + (lookup_template_class_1): Remove now outdated comment for the + any_template_arguments_need_structural_equality_p test. + (tsubst) <case TEMPLATE_TEMPLATE_PARM, etc>: Don't specifically + clear TYPE_CANONICAL for ttps. Set TYPE_CANONICAL on the + substituted type later. + (any_template_arguments_need_structural_equality_p): Return + true for any_targ_node. Don't return true just because a + template argument uses structural equality. Add comment for + the PARM_DECL special case. + (rewrite_template_parm): Set TYPE_CANONICAL on the rewritten + parm's type later. + * tree.cc (bind_template_template_parm): Set TYPE_CANONICAL + when safe to do so. + * typeck.cc (structural_comptypes) [check_alias]: Increment + processing_template_decl before checking + dependent_alias_template_spec_p. + +2022-05-24 Jakub Jelinek <jakub@redhat.com> + + PR c/105378 + * parser.cc (OMP_TASKWAIT_CLAUSE_MASK): Add nowait clause. + +2022-05-20 David Malcolm <dmalcolm@redhat.com> + + * cxx-pretty-print.h: Replace uses of "FINAL" and "OVERRIDE" with + "final" and "override". + * error.cc: Likewise. + +2022-05-18 Marek Polacek <polacek@redhat.com> + + PR c++/105634 + * call.cc (maybe_warn_class_memaccess): Avoid % by zero. + +2022-05-17 Jason Merrill <jason@redhat.com> + + PR c++/102307 + * decl.cc (check_initializer): Use build_cplus_new in case of + constexpr failure. + +2022-05-17 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_omp_clause_depend): Parse + inoutset depend-kind. + (cp_parser_omp_depobj): Likewise. + * cxx-pretty-print.cc (cxx_pretty_printer::statement): Handle + OMP_CLAUSE_DEPEND_INOUTSET. + +2022-05-16 Martin Liska <mliska@suse.cz> + + * module.cc (depset::entity_kind_name): Use ARRAY_SIZE. + * name-lookup.cc (get_std_name_hint): Likewise. + * parser.cc (cp_parser_new): Likewise. + +2022-05-16 Marcel Vollweiler <marcel@codesourcery.com> + + * pt.cc (tsubst_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR. + * semantics.cc (finish_omp_clauses): Added template decl processing. + +2022-05-15 Jason Merrill <jason@redhat.com> + + PR c++/100502 + PR c++/58993 + * friend.cc (is_friend): Hidden friends count as members. + * search.cc (friend_accessible_p): Likewise. + +2022-05-15 Jason Merrill <jason@redhat.com> + + * parser.cc (cp_parser_template_name): Look through + injected-class-name. + +2022-05-15 Jason Merrill <jason@redhat.com> + + PR c++/105589 + PR c++/105191 + PR c++/92385 + * init.cc (build_value_init): Handle class in template. + +2022-05-13 Nathan Sidwell <nathan@acm.org> + + * mangle.cc (maybe_write_module): Check external linkage. + +2022-05-13 Richard Biener <rguenther@suse.de> + + * constexpr.cc: Remove gimple-fold.h include. + +2022-05-12 Patrick Palka <ppalka@redhat.com> + + * cp-tree.h (TMPL_ARGS_LEVEL): Assert LEVEL is 1 when + TMPL_ARGS_HAVE_MULTIPLE_LEVELS is false. + * pt.cc (try_class_unification): Correctly copy multidimensional + targs. Free the copy of targs. + (unify_pack_expansion): Fix level comparison. + +2022-05-12 Nathan Sidwell <nathan@acm.org> + + * parser.cc (cp_parser_linkage_specification): Implement + global module attachment semantics. + +2022-05-12 Jakub Jelinek <jakub@redhat.com> + + * lex.cc (init_reswords): Register omp_all_memory as keyword + if flag_openmp. + * parser.cc (cp_parser_primary_expression): Diagnose uses of + omp_all_memory in postfix expressions. + (cp_parser_omp_var_list_no_open): Handle omp_all_memory in depend + clause. + * semantics.cc (finish_omp_clauses): Handle omp_all_memory + keyword in depend clause as null_pointer_node, diagnose invalid + uses. + * pt.cc (tsubst_omp_clause_decl): Pass through omp_all_memory. + +2022-05-11 Patrick Palka <ppalka@redhat.com> + + * constraint.cc (tsubst_parameter_mapping): Convert loop over + TREE_VEC into a range-based for loop using tree_vec_range. + * pt.cc (iterative_hash_template_arg): Likewise. + (template_parms_level_to_args): Likewise. + (deducible_template_args): Likewise. + (check_undeduced_parms): Likewise. + (dependent_type_p_r): Likewise. + (value_dependent_expression_p) <case NONTYPE_ARGUMENT_PACK>: + Likewise. + (dependent_template_arg_p): Likewise. + * tree.cc (cp_walk_subtrees) <case NONTYPE_ARGUMENT_PACK>: + Likewise. + +2022-05-11 Jason Merrill <jason@redhat.com> + + PR c++/105541 + * cp-tree.h (TMPL_ARGS_DEPTH): 0 for null args. + * parser.cc (cp_parser_enclosed_template_argument_list): + Use 0-length TREE_VEC for <>. + +2022-05-11 Jason Merrill <jason@redhat.com> + + PR bootstrap/105567 + * typeck.cc (check_return_expr): Don't mess with ctor return value + while parsing a template. + +2022-05-11 Nathan Sidwell <nathan@acm.org> + + * cp-tree.h (DECL_MODULE_ATTACH_P): New. + (struct lang_decl_base): Add module_attach_p flag. + * decl.cc (duplicate_decls): Rework module redeclaration + checking. + * module.cc (trees_out::lang_decl_bools): Write attach flag. + (trees_in::lang_decl_bools): ... and read it back. + (trees_out::decl_value): Rework module attachment handling. + (trees_in::decl_value): Rename local var to reflect meaning. + (trees_in::key_mergeable): Likewise. + (get_originating_module): Use DECL_MODULE_ATTACH_P. No need + to special-case mangling. + (module_may_redeclare): Reimplement. + (set_originating_module): Deal with attachment. + * name-lookup.cc (maybe_record_mergeable_decl): Deal with + attachment. + (mergeable_namespace_slots): Likewise. + (do_nonmember_using_decl): Likewise. + * name-lookup.h (mergeable_namespace_slots): Adjust parm + meaning. + * ptree.cc (cxx_print_decl): Adjust purview & attach printing. + +2022-05-11 Martin Liska <mliska@suse.cz> + + PR target/105355 + * lang-specs.h: Use Separate syntax. + +2022-05-10 Patrick Palka <ppalka@redhat.com> + + * coroutines.cc (instantiate_coro_traits): Adjust accordingly. + * cp-tree.def: Remove mention of SET_PACK_EXPANSION_PATTERN. + * cp-tree.h (SET_PACK_EXPANSION_PATTERN): Remove. + (SET_ARGUMENT_PACK_ARGS): Remove. + * module.cc (trees_in::tree_node): Adjust accordingly. + * parser.cc (make_char_string_pack): Likewise. + (make_string_pack): Likewise. + * pt.cc (make_pack_expansion): Likewise. + (template_parm_to_arg): Likewise. + (coerce_template_parameter_pack): Likewise. + (extract_fnparm_pack): Likewise. + (extract_locals_r): Likewise. + (make_argument_pack): Likewise. + (tsubst_argument_pack): Likewise. + (lookup_init_capture_pack): Likewise. + (type_unification_real): Likewise. + (unify_pack_expansion): Likewise. + (tsubst_initializer_list): Likewise. + +2022-05-10 Patrick Palka <ppalka@redhat.com> + + * cp-tree.h (PACK_EXPANSION_CHECK): Define. + (PACK_EXPANSION_PATTERN): Use PACK_EXPANSION_CHECK. + (SET_PACK_EXPANSION_PATTERN): Likewise. + (PACK_EXPANSION_PARAMETER_PACKS): Likewise. + (PACK_EXPANSION_EXTRA_ARGS): Likewise. + (PACK_EXPANSION_LOCAL_P): Likewise. + (PACK_EXPANSION_SIZEOF_P): Likewise. + (PACK_EXPANSION_AUTO_P): Likewise. + (PACK_EXPANSION_FORCE_EXTRA_ARGS_P): Likewise. + (ARGUMENT_PACK_CHECK): Define. + (ARGUMENT_PACK_ARGS): Use ARGUMENT_PACK_CHECK. + (SET_ARGUMENT_PACK_ARGS): Likewise. + * parser.cc (cp_parser_sizeof_pack): Check for error_mark_node + before setting PACK_EXPANSION_SIZEOF_P. + +2022-05-10 Nathan Sidwell <nathan@acm.org> + + * cp-tree.h (enum module_kind_bits): Disambiguate purview, + attach, named module vs header-unit. + (global_purview_p, not_module_p): Delete. + (named_module_p): New. + (header_module_p, module_purview_p): Adjust. + (module_attach_p, named_module_purview_p): New. + * decl.cc (duplicate_decls): Adjust. + * module.cc (declare_module, preprocessed_module): Adjust. + * name-lookup.cc (init_global_partition): Adjust. + (get_fixed_binding_slot, pushdecl): Adjust. + * parser.cc (cp_parser_module_declaration): Adjust. + (cp_parser_import_declaration, cp_parser_declaration): Adjust. + +2022-05-10 Jason Merrill <jason@redhat.com> + + PR c++/105529 + * decl.cc (maybe_return_this): Replace... + (finish_constructor_body, finish_destructor_body): ...these. + (finish_function_body): Call it. + * optimize.cc (build_delete_destructor_body): Call it. + * cp-tree.h (maybe_return_this): Declare. + +2022-05-09 Marek Polacek <polacek@redhat.com> + + PR c++/103539 + * parser.cc (cp_parser_statement): Constify the in_compound parameter. + Create a modifiable copy. Allow labels at the end of compound + statements. + +2022-05-09 Patrick Palka <ppalka@redhat.com> + + PR c++/105491 + * call.cc (field_in_pset): Adjust after next_initializable_field + renaming. + (build_aggr_conv): Likewise. + (convert_like_internal): Likewise. + (type_has_extended_temps): Likewise. + * class.cc (default_init_uninitialized_part): Likewise. + (finish_struct): Likewise. + * constexpr.cc (cx_check_missing_mem_inits): Likewise. + (reduced_constant_expression_p): Use next_subobject_field + instead. + * cp-gimplify.cc (get_source_location_impl_type): Adjust after + next_initializable_field renaming. + (fold_builtin_source_location): Likewise. + * cp-tree.h (next_initializable_field): Rename to ... + (next_aggregate_field): ... this. + (next_subobject_field): Declare. + * decl.cc (next_aggregate_field): Renamed from ... + (next_initializable_field): ... this. Skip over vptr fields + again. + (next_subobject_field): Define. + (reshape_init_class): Adjust after next_initializable_field + renaming. + * init.cc (build_value_init_noctor): Likewise. + (emit_mem_initializers): Likewise. + * lambda.cc (build_capture_proxy): Likewise. + * method.cc (build_comparison_op): Likewise. + * pt.cc (maybe_aggr_guide): Likewise. + * tree.cc (structural_type_p): Likewise. + * typeck2.cc (split_nonconstant_init_1): Likewise. + (digest_init_r): Likewise. + +2022-05-09 Nathan Sidwell <nathan@acm.org> + + * cp-tree.h (DECL_MODULE_KEYED_DECLS_P): Renamed from + DECL_MODULE_ATTACHMENTS_P. + (struct lane_decl_base): Rename module_attached_p to + module_keyed_decls_p. + (maybe_key_decl): Renamed from maybe_attach_decl. + * lambda.cc (record_lambda_scope): Adjust. + * lex.cc (cxx_dup_lang_specific_decl): Adjust. + * module.cc (keyed_map_t, keyed_table): Renamed from attached_map_t, + attached_table. + (enum merge_kind): Rename MK_attached to MK_keyed. + (trees_out::lang_decl_bools): Adjust. + (trees_in::lang_decl_bools): Adjust. + (trees_in::decl_value): Adjust. + (trees_out::get_merge_kind): Adjust. + (trees_out::key_mergeable): Adjust. + (trees_in::key_mergeable): Adjust. + (maybe_key_decl): Rename from maybe_attach_decl. + (direct_import): Adjust. + (fini_modules): Adjust. + +2022-05-09 Martin Liska <mliska@suse.cz> + + * cp-gimplify.cc (cp_genericize_r): Use {,UN}LIKELY + macros. + * parser.cc (cp_finalize_omp_declare_simd): Likewise. + (cp_finalize_oacc_routine): Likewise. + +2022-05-07 Marek Polacek <polacek@redhat.com> + + PR c++/101833 + PR c++/47634 + * tree.cc (maybe_adjust_arg_pos_for_attribute): New. + +2022-05-06 Jason Merrill <jason@redhat.com> + + * error.cc (decl_to_string): Add show_color parameter. + (subst_to_string): Likewise. + (cp_printer): Pass it. + (type_to_string): Set pp_show_color. + (dump_function_name): Use "fnname" color. + (dump_template_bindings): Use "targs" color. + (struct colorize_guard): New. + (reinit_cxx_pp): Clear pp_show_color. + +2022-05-06 Jason Merrill <jason@redhat.com> + + PR c++/105245 + PR c++/100111 + * constexpr.cc (cxx_eval_store_expression): Reorganize empty base + handling. + +2022-05-05 Marek Polacek <polacek@redhat.com> + + PR c++/64679 + * parser.cc (cp_parser_parameter_declaration_clause): Maintain + a vector of parameters that haven't been pushed yet. Push them at the + end of a valid parameter-declaration-clause. + (cp_parser_parameter_declaration_list): Take a new auto_vec parameter. + Do not pushdecl while parsing tentatively when pushdecl-ing a parameter + would result in a hard error. + (cp_parser_cache_defarg): Adjust the call to + cp_parser_parameter_declaration_list. + +2022-05-05 Richard Biener <rguenther@suse.de> + + * module.cc (trees_in::core_vals): Remove separate allocation + for REAL_CST. + +2022-05-04 Jason Merrill <jason@redhat.com> + + PR c++/104470 + * pt.cc (maybe_dependent_member_ref): Handle types. + (tsubst, tsubst_copy): Use it. + (tsubst_aggr_type, instantiate_alias_template): Don't handle + tf_dguide here. + +2022-05-04 Patrick Palka <ppalka@redhat.com> + + PR c++/105476 + * pt.cc (maybe_aggr_guide): Set processing_template_decl when + partially instantiating the guide's parameter list. + +2022-05-04 Marek Polacek <polacek@redhat.com> + + PR c++/64679 + * parser.cc (cp_parser_init_declarator): Properly handle a series of + operator() calls, they are not part of an init-declarator. + +2022-05-04 Jason Merrill <jason@redhat.com> + + * decl.cc (reshape_init): Shortcut already-reshaped init. + (reshape_init_class): Assert not getting one here. + +2022-05-04 Jason Merrill <jason@redhat.com> + + * error.cc (cp_print_error_function): Use %qD. + (function_category): Use %qD. + +2022-05-04 Marek Polacek <polacek@redhat.com> + + PR c++/105436 + * parser.cc (cp_parser_next_token_ends_template_argument_p): Don't + return true for CPP_GREATER_EQ. + +2022-05-04 Jason Merrill <jason@redhat.com> + + * cp-tree.h (struct language_function): Remove x_cdtor_label. + (cdtor_label, LABEL_DECL_CDTOR): Remove. + * constexpr.cc (returns): Don't check LABEL_DECL_CDTOR. + (cxx_eval_constant_expression): Don't call returns. + * decl.cc (check_goto): Don't check cdtor_label. + (start_preparsed_function): And don't set it. + (finish_constructor_body, finish_destructor_body): Remove. + (finish_function_body): Don't call them. + * typeck.cc (check_return_expr): Handle cdtor_returns_this here. + * semantics.cc (finish_return_stmt): Not here. + +2022-05-04 Jakub Jelinek <jakub@redhat.com> + + * lambda.cc: Include decl.h. + (maybe_add_lambda_conv_op): Temporarily override deprecated_state to + UNAVAILABLE_DEPRECATED_SUPPRESS. + +2022-05-03 Patrick Palka <ppalka@redhat.com> + + PR c++/105351 + * cp-tree.h (finish_non_static_data_member): Add defaulted + complain parameter. + * pt.cc (tsubst_copy_and_build): Pass complain to + finish_non_static_data_member. + * semantics.cc (finish_non_static_data_member): Respect complain + parameter. + (finish_qualified_id_expr): Pass complain to + finish_non_static_data_member. + +2022-05-02 Jason Merrill <jason@redhat.com> + + * pt.cc (tsubst_copy_and_build) [TEMPLATE_ID_EXPR]: Copy location. + (do_auto_deduction): Use expr location. + +2022-05-02 Jason Merrill <jason@redhat.com> + + * class.cc (maybe_note_name_used_in_class): Note in all enclosing + classes. Remember location of use. + (note_name_declared_in_class): Adjust. + +2022-05-02 Marek Polacek <polacek@redhat.com> + + * cp-tree.h (uses_template_parms): Adjust declaration. + * pt.cc (uses_template_parms): Return bool. Use a RAII sentinel. + +2022-05-02 Richard Biener <rguenther@suse.de> + + * constexpr.cc (fold_simple_1): Use CASE_CONVERT. + * cp-gimplify.cc (cp_fold): Likewise. + * pt.cc (tsubst_copy): Likewise. + +2022-04-29 Jason Merrill <jason@redhat.com> + + PR c++/91618 + PR c++/96604 + * friend.cc (do_friend): Call check_explicit_specialization here. + * decl.cc (grokdeclarator): Not here. + * decl2.cc (check_classfn): Or here. + +2022-04-29 Jason Merrill <jason@redhat.com> + + PR c++/104470 + * cp-tree.h (enum tsubst_flags): Add tf_dguide. + * pt.cc (tsubst_aggr_type): Check it. + (tsubst_baselink, tsubst_copy): Check it. + (maybe_dependent_member_ref): Check it. + (instantiate_alias_template): Handle it. + (build_deduction_guide): Set it. + +2022-04-29 Jason Merrill <jason@redhat.com> + + PR c++/82980 + * lambda.cc (type_deducible_expression_p): Allow more types. + +2022-04-29 Jason Merrill <jason@redhat.com> + + * decl.cc (cp_finish_decl): Only consider auto for vars. + +2022-04-29 Marek Polacek <polacek@redhat.com> + + PR c++/67048 + * parser.cc (cp_parser_enum_specifier): Warn about empty unnamed enum + only when it's followed by a semicolon. + +2022-04-29 Jason Merrill <jason@redhat.com> + + PR c++/80351 + * decl.cc (cp_finish_decl): Check completeness of deduced type. + +2022-04-29 Jason Merrill <jason@redhat.com> + + PR c++/102987 + * error.cc (dump_decl) [USING_DECL]: Respect flags. + +2022-04-29 Jason Merrill <jason@redhat.com> + + * error.cc (dump_decl): Check TFF_UNQUALIFIED_NAME. + +2022-04-29 Jakub Jelinek <jakub@redhat.com> + + PR c++/104319 + * parser.cc (cp_parser_template_argument): Treat >= like C++98 >> + after a type id by setting maybe_type_id and aborting tentative + parse. + (cp_parser_enclosed_template_argument_list): Handle + CPP_GREATER_EQ like misspelled CPP_GREATER CPP_RQ and + CPP_RSHIFT_EQ like misspelled CPP_GREATER CPP_GREATER_EQ + or CPP_RSHIFT CPP_EQ or CPP_GREATER CPP_GREATER CPP_EQ. + (cp_parser_next_token_ends_template_argument_p): Return true + also for CPP_GREATER_EQ and CPP_RSHIFT_EQ. + +2022-04-29 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/105426 + * coroutines.cc (register_local_var_uses): Allow promotion of unnamed + temporaries to coroutine frame copies. + +2022-04-29 Jason Merrill <jason@redhat.com> + + * semantics.cc (check_trait_type): Don't check completeness + of element type of array of unknown bound. + +2022-04-29 Jason Merrill <jason@redhat.com> + + PR c++/102651 + PR c++/49387 + * rtti.cc (get_tinfo_decl_direct): Don't complete_type. + (emit_tinfo_decl): Update tdesc type if needed. + +2022-04-29 Zhao Wei Liew <zhaoweiliew@gmail.com> + + PR c++/25689 + * call.cc (extract_call_expr): Return a NULL_TREE on failure + instead of asserting. + (build_new_method_call): Suppress -Wparentheses diagnostic for + MODIFY_EXPR. + * semantics.cc (is_assignment_op_expr_p): Add function to check + if an expression is a call to an op= operator expression. + (maybe_convert_cond): Handle the case of a op= operator expression + for the -Wparentheses diagnostic. + +2022-04-28 Patrick Palka <ppalka@redhat.com> + + PR c++/105425 + * pt.cc (unify) <case TEMPLATE_PARM_INDEX>: Treat + DEPENDENT_OPERATOR_TYPE like an empty type. + +2022-04-28 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/104051 + * coroutines.cc (coro_diagnose_throwing_final_aw_expr): Handle + non-target expression inputs. + +2022-04-28 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/105301 + * coroutines.cc (coro_promise_type_found_p): Account for possible + mutliple overloads of the promise return_value() method. + +2022-04-28 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/105287 + * coroutines.cc (maybe_promote_temps): Ensure generated temporaries + are added to the bind expr. + (add_var_to_bind): Fix local var naming to use portable punctuation. + (register_local_var_uses): Do not add synthetic names to unnamed + temporaries. + +2022-04-28 Nathan Sidwell <nathan@acm.org> + Iain Sandoe <iain@sandoe.co.uk> + + PR c++/103868 + * coroutines.cc (finish_co_await_expr): Do not process non-dependent + coroutine expressions at template definition time. + (finish_co_yield_expr): Likewise. + (finish_co_return_stmt): Likewise. + +2022-04-28 Marek Polacek <polacek@redhat.com> + + PR c++/90107 + * parser.cc (cp_parser_class_specifier_1): Accept :: after a class + definition. + +2022-04-27 Jason Merrill <jason@redhat.com> + + * tree.cc (strip_typedefs): Add default argument comments. + +2022-04-27 Marek Polacek <polacek@redhat.com> + + PR c++/105398 + * pt.cc (uses_template_parms): Return false for any NAMESPACE_DECL. + +2022-04-26 Jason Merrill <jason@redhat.com> + + PR c++/102629 + * pt.cc (gen_elem_of_pack_expansion_instantiation): Clear + TEMPLATE_TYPE_PARAMETER_PACK on auto. + +2022-04-26 Patrick Palka <ppalka@redhat.com> + + PR c++/105386 + * semantics.cc (finish_decltype_type): Pass tf_decltype to + instantiate_non_dependent_expr_sfinae. + +2022-04-26 Jason Merrill <jason@redhat.com> + + PR c++/104624 + * pt.cc (check_for_bare_parameter_packs): Check for lambda + function parameter pack. + +2022-04-26 Patrick Palka <ppalka@redhat.com> + + PR c++/105289 + PR c++/86193 + * pt.cc (process_partial_specialization): Downgrade "partial + specialization isn't more specialized" diagnostic from permerror + to an on-by-default pedwarn. + (unify) <case TEMPLATE_PARM_INDEX>: When substituting into the + NTTP type a second time, use the original type not the + substituted type. + +2022-04-25 Marek Polacek <polacek@redhat.com> + + PR c++/105353 + * typeck.cc (build_x_shufflevector): Use + instantiation_dependent_expression_p except for the first two + arguments. + +2022-04-21 Marek Polacek <polacek@redhat.com> + + * constexpr.cc (cxx_eval_logical_expression): Remove unused + parameter. + (cxx_eval_constant_expression) <case TRUTH_ANDIF_EXPR>, + <case TRUTH_OR_EXPR>: Adjust calls to cxx_eval_logical_expression. + +2022-04-21 Marek Polacek <polacek@redhat.com> + + PR c++/105321 + * constexpr.cc (cxx_eval_logical_expression): Always pass false for lval + to cxx_eval_constant_expression. + +2022-04-20 Ed Catmur <ed@catmur.uk> + + PR c++/104996 + * call.cc (compare_ics): When comparing list-initialization + sequences, do not return early. + +2022-04-19 Jakub Jelinek <jakub@redhat.com> + + PR c++/105256 + * typeck2.cc (process_init_constructor_array, + process_init_constructor_record, process_init_constructor_union): Move + CONSTRUCTOR_PLACEHOLDER_BOUNDARY flag from CONSTRUCTOR elements to the + containing CONSTRUCTOR. + +2022-04-15 Marek Polacek <polacek@redhat.com> + + PR c++/105268 + * parser.cc (cp_parser_placeholder_type_specifier): Return + error_mark_node when trying to build up a constrained parameter in + a default argument. + +2022-04-15 Jason Merrill <jason@redhat.com> + + PR c++/102804 + * decl.cc (grokdeclarator): Drop typedef used with 'unsigned'. + +2022-04-15 Jason Merrill <jason@redhat.com> + + PR c++/102987 + * error.cc (dump_expr): Handle USING_DECL. + [VIEW_CONVERT_EXPR]: Just look through location wrapper. + +2022-04-14 Jason Merrill <jason@redhat.com> + + PR c++/104646 + * constexpr.cc (maybe_save_constexpr_fundef): Don't do extra + checks for defaulted ctors. + +2022-04-14 Jason Merrill <jason@redhat.com> + + PR c++/82980 + * lambda.cc (type_deducible_expression_p): New. + (lambda_capture_field_type): Check it. + +2022-04-14 Jason Merrill <jason@redhat.com> + + PR c++/65211 + * pt.cc (tsubst_decl) [TYPE_DECL]: Copy TYPE_ALIGN. + +2022-04-14 Jason Merrill <jason@redhat.com> + + PR c++/97219 + * name-lookup.cc (dependent_local_decl_p): New. + * cp-tree.h (dependent_local_decl_p): Declare. + * semantics.cc (finish_call_expr): Use it. + * pt.cc (tsubst_arg_types): Also substitute default args + for local externs. + +2022-04-14 Jason Merrill <jason@redhat.com> + + PR c++/101698 + * pt.cc (tsubst_baselink): Also check dependent optype. + +2022-04-14 Jason Merrill <jason@redhat.com> + + PR c++/101442 + * decl.cc (cp_finish_decl): Don't pass decl to push_cleanup. + * init.cc (perform_member_init): Likewise. + * semantics.cc (push_cleanup): Adjust comment. + +2022-04-13 Jason Merrill <jason@redhat.com> + + PR c++/105245 + PR c++/100111 + * constexpr.cc (cxx_eval_store_expression): Build a CONSTRUCTOR + as needed in empty base handling. + +2022-04-13 Jakub Jelinek <jakub@redhat.com> + + PR c++/105233 + * decl2.cc (cp_check_const_attributes): For aligned attribute + pass manifestly_const_eval=true to fold_non_dependent_expr. + +2022-04-13 Marek Polacek <polacek@redhat.com> + + PR c++/97296 + * call.cc (direct_reference_binding): strip_top_quals when creating + a ck_qual. + +2022-04-12 Jason Merrill <jason@redhat.com> + + PR c++/104669 + * decl.cc (decls_match): Compare versions even if not recording. + (duplicate_decls): Propagate attributes to alias. + * decl2.cc (find_last_decl): Give up if versioned. + +2022-04-12 Jason Merrill <jason@redhat.com> + + PR c++/102071 + * init.cc (build_new_1): Check array_p for alignment. + +2022-04-12 Patrick Palka <ppalka@redhat.com> + + PR c++/103105 + * pt.cc (build_extra_args): Call preserve_args. + +2022-04-12 Jason Merrill <jason@redhat.com> + + PR c++/104142 + * decl.cc (check_initializer): Check TREE_SIDE_EFFECTS. + +2022-04-12 Jason Merrill <jason@redhat.com> + + PR c++/105223 + PR c++/92918 + * class.cc (finish_struct): Always using op=. + +2022-04-11 Jason Merrill <jason@redhat.com> + + PR c++/98249 + * call.cc (build_operator_new_call): Just look in ::. + +2022-04-11 Alexandre Oliva <oliva@adacore.com> + + * constexpr.cc (cxx_eval_call_expression): Disregard dtor + result. + +2022-04-11 Alexandre Oliva <oliva@adacore.com> + + * semantics.cc (set_cleanup_locs): Propagate locus to call + wrapped in cast-to-void. + +2022-04-11 Jason Merrill <jason@redhat.com> + + PR c++/100370 + * init.cc (warn_placement_new_too_small): Check deref. + +2022-04-09 Jason Merrill <jason@redhat.com> + + PR c++/105191 + PR c++/92385 + * tree.cc (build_vec_init_elt): Do {}-init for aggregates. + * constexpr.cc (cxx_eval_vec_init): Only treat {} as value-init + for non-aggregate types. + (build_vec_init_expr): Also check constancy of explicit + initializer elements. + +2022-04-09 Jason Merrill <jason@redhat.com> + + PR c++/91618 + PR c++/96604 + * name-lookup.cc (set_decl_namespace): Set + DECL_IMPLICIT_INSTANTIATION if no non-template match. + * pt.cc (check_explicit_specialization): Check it. + * decl2.cc (check_classfn): Call it. + +2022-04-07 Patrick Palka <ppalka@redhat.com> + + PR c++/99479 + * name-lookup.cc (name_lookup::using_queue): Change to an + auto_vec (with 16 elements of internal storage). + (name_lookup::queue_namespace): Change return type to void, + take queue parameter by reference and adjust function body + accordingly. + (name_lookup::do_queue_usings): Inline into ... + (name_lookup::queue_usings): ... here. As in queue_namespace. + (name_lookup::search_unqualified): Don't make queue static, + remove length variable, and adjust function body accordingly. + +2022-04-07 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/102586 + * cp-objcp-common.h (cp_classtype_as_base): Declare. + (LANG_HOOKS_CLASSTYPE_AS_BASE): Redefine. + * cp-objcp-common.cc (cp_classtype_as_base): New function. + +2022-04-07 Jason Merrill <jason@redhat.com> + + PR c++/101051 + * decl.cc (grokdeclarator): Reject conversion with trailing return + sooner. + +2022-04-07 Jason Merrill <jason@redhat.com> + + PR c++/101717 + * lambda.cc (lambda_expr_this_capture): Check all enclosing + lambdas for completeness. + +2022-04-07 Jason Merrill <jason@redhat.com> + + PR c++/105187 + * typeck2.cc (store_init_value): Allow TREE_HAS_CONSTRUCTOR for + vectors. + +2022-04-06 Jakub Jelinek <jakub@redhat.com> + + PR c++/104668 + * decl2.cc (splice_template_attributes): Return NULL if *p is + error_mark_node. + (cplus_decl_attributes): Return early if attributes is + error_mark_node. Don't check that later. + +2022-04-06 Patrick Palka <ppalka@redhat.com> + + PR c++/105143 + * pt.cc (do_class_deduction): Check complain before attempting + to issue a -Wctad-maybe-unsupported warning. + +2022-04-06 Jason Merrill <jason@redhat.com> + + PR c++/104702 + * init.cc (build_vec_init): Use a reference for the result. + +2022-04-06 Jason Merrill <jason@redhat.com> + + PR c++/100608 + * name-lookup.cc (check_local_shadow): Use -Wshadow=local + if exactly one of 'old' and 'decl' is a type. + +2022-04-05 Jason Merrill <jason@redhat.com> + + PR c++/103852 + DR 1286 + * pt.cc (do_class_deduction): Pedwarn for renaming alias in C++17. + +2022-04-05 Jason Merrill <jason@redhat.com> + + PR c++/101677 + * name-lookup.h (struct cp_binding_level): Add requires_expression + bit-field. + * parser.cc (cp_parser_requires_expression): Set it. + (synthesize_implicit_template_parm): Check it. + +2022-04-04 Jason Merrill <jason@redhat.com> + + PR c++/101894 + * decl.cc (duplicate_decls): Copy DECL_FRIEND_CONTEXT. + +2022-04-04 Jason Merrill <jason@redhat.com> + + PR c++/103852 + DR 1286 + * pt.cc (get_underlying_template): Compare default template args. + +2022-04-03 Benno Evers <benno.evers@tenzir.com> + Iain Sandoe <iain@sandoe.co.uk> + + PR c++/103328 + * coroutines.cc (morph_fn_to_coro): Reset + current_binding_level->blocks. + +2022-04-01 Jason Merrill <jason@redhat.com> + + Revert: + 2022-03-31 Jason Merrill <jason@redhat.com> + + PR c++/96645 + * parser.cc (cp_parser_early_parsing_nsdmi): New. + (cp_parser_member_declaration): Call it. + +2022-04-01 Jason Merrill <jason@redhat.com> + + Revert: + 2022-03-24 Jason Merrill <jason@redhat.com> + + PR c++/96645 + * cp-tree.h (type_has_default_ctor_to_be_synthesized): Declare. + * class.cc (type_has_default_ctor_to_be_synthesized): New. + (type_has_non_user_provided_default_constructor_1): Support it. + (type_has_non_user_provided_default_constructor): Now a wrapper. + * method.cc (complain_about_unparsed_dmi): New. + (constructible_expr): Call it. + +2022-04-01 Patrick Palka <ppalka@redhat.com> + + PR c++/105110 + * pt.cc (unify) <case TEMPLATE_PARM_INDEX>: Drop cv-quals from + the argument type of an NTTP before deducing from it. + +2022-03-31 Jason Merrill <jason@redhat.com> + + PR c++/96645 + * parser.cc (cp_parser_early_parsing_nsdmi): New. + (cp_parser_member_declaration): Call it. + +2022-03-30 Patrick Palka <ppalka@redhat.com> + + PR c++/100474 + * constraint.cc (diagnose_trait_expr): Handle all remaining + traits appropriately. Remove default case. + +2022-03-30 Marek Polacek <polacek@redhat.com> + + PR c++/93280 + PR c++/104583 + * init.cc (get_nsdmi): Set TARGET_EXPR_DIRECT_INIT_P to in_ctor. + +2022-03-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/105092 + * pt.cc (tsubst_omp_clause_decl): When handling iterators, set + DECL_CONTEXT of the iterator var to current_function_decl and + call pushdecl. + +2022-03-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/105061 + * parser.cc (cp_parser_template_introduction): If member_p, temporarily + clear parser->colon_corrects_to_scope_p around tentative parsing of + nested name specifier. + +2022-03-28 Jason Merrill <jason@redhat.com> + + * pt.cc (determine_specialization): Add comment. + +2022-03-28 Patrick Palka <ppalka@redhat.com> + + PR c++/105067 + * pt.cc (finish_concept_definition): Check that a concept is + declared with exactly one template parameter list. + +2022-03-28 Patrick Palka <ppalka@redhat.com> + + PR c++/105064 + * constraint.cc (maybe_substitute_reqs_for): Don't assume + DECL_TEMPLATE_INFO is available. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/105003 + PR c++/104008 + PR c++/102869 + * pt.cc (complex_alias_template_r): walk_tree callback, replacing + uses_all_template_parms_r, complex_pack_expansion_r. + (complex_alias_template_p): Adjust. + * tree.cc (strip_typedefs): Revert r12-7710 change. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/102071 + * init.cc (build_new_1): Include cookie in alignment. Omit + constexpr wrapper from alloc_call. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/103291 + * name-lookup.cc (push_local_extern_decl_alias): Call + determine_visibility. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/102123 + * pt.cc (tsubst_copy): Use make_unbound_class_template for rewriting + a type template reference. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/103968 + * pt.cc (value_dependent_expression_p): Check + has_value_dependent_address for conversion to reference. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/103943 + * pt.cc (tsubst_qualified_id): Handle getting SCOPE_REF from + tsubst_baselink. + (instantiation_dependent_scope_ref_p): Check dependent_scope_p. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/102045 + * call.cc (make_base_init_ok): Call make_used. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/104847 + * mangle.cc (write_expression): Don't write a union designator when + undigested. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/99445 + PR c++/103769 + * tree.cc (strip_typedefs): Use build_distinct_type_copy. + +2022-03-26 Patrick Palka <ppalka@redhat.com> + + PR c++/105050 + * constexpr.cc (potential_constant_expression_1) <case IF_STMT>: + Clarify error message when a if-stmt is non-constant because its + branches are non-constant. + +2022-03-26 Patrick Palka <ppalka@redhat.com> + + PR c++/103455 + * call.cc (add_builtin_candidate) <case MEMBER_REF>: Test + CLASS_TYPE_P instead of MAYBE_CLASS_TYPE_P. + +2022-03-26 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_postfix_expression) + <case RID_BILTIN_CONVERTVECTOR, case RID_BUILTIN_BIT_CAST>: Don't + return cp_build_{vec,convert,bit_cast} result right away, instead + set postfix_expression to it and break. + +2022-03-25 Marek Polacek <polacek@redhat.com> + + PR c++/104944 + * typeck.cc (cxx_sizeof_or_alignof_type): Diagnose alignof(void). + (cxx_alignas_expr): Call cxx_sizeof_or_alignof_type with + complain == true. + +2022-03-24 Marek Polacek <polacek@redhat.com> + + PR c++/104284 + * decl.cc (check_initializer): Don't call build_aggr_init in + a template. + +2022-03-24 Jason Merrill <jason@redhat.com> + + PR c++/96645 + * cp-tree.h (type_has_default_ctor_to_be_synthesized): Declare. + * class.cc (type_has_default_ctor_to_be_synthesized): New. + (type_has_non_user_provided_default_constructor_1): Support it. + (type_has_non_user_provided_default_constructor): Now a wrapper. + * method.cc (complain_about_unparsed_dmi): New. + (constructible_expr): Call it. + +2022-03-24 Marek Polacek <polacek@redhat.com> + + PR c++/102990 + * typeck2.cc (massage_init_elt): Avoid folding CONSTRUCTORs. + +2022-03-24 Patrick Palka <ppalka@redhat.com> + + PR c++/104620 + * call.cc (build_over_call): Use cxx_constant_value_sfinae + instead of cxx_constant_value to evaluate a consteval call. + * constexpr.cc (cxx_constant_value_sfinae): Add decl parameter + and pass it to cxx_eval_outermost_constant_expr. + * cp-tree.h (cxx_constant_value_sfinae): Add decl parameter. + * pt.cc (fold_targs_r): Pass NULL_TREE as decl parameter to + cxx_constant_value_sfinae. + +2022-03-24 Jakub Jelinek <jakub@redhat.com> + + PR c++/104994 + * constexpr.cc (cxx_eval_constant_expression): Don't diagnose passing + through extern thread_local declarations. Change wording from + declaration to definition. + (potential_constant_expression_1): Don't diagnose extern thread_local + declarations. Change wording from declared to defined. + * decl.cc (start_decl): Likewise. + +2022-03-23 Jason Merrill <jason@redhat.com> + + PR c++/103337 + * decl.cc (reshape_single_init): New. + (reshape_init_class): Use it. + +2022-03-23 Jason Merrill <jason@redhat.com> + + PR c++/105006 + * name-lookup.cc (lookup_using_decl): Check that scope is + a dependent type before looking for dependent using. + +2022-03-23 Jason Merrill <jason@redhat.com> + + PR c++/105006 + * name-lookup.cc (lookup_using_decl): Set DECL_DEPENDENT_P if lookup + finds a dependent using. + +2022-03-21 Jason Merrill <jason@redhat.com> + + PR c++/58646 + * init.cc (build_vec_init): Check for vla element type. + +2022-03-21 Jason Merrill <jason@redhat.com> + + PR c++/103337 + PR c++/102740 + PR c++/103299 + PR c++/102538 + * decl.cc (reshape_init_class): Avoid looking for designator + after we found it. + (reshape_init_r): Keep looking for designator. + +2022-03-21 Jason Merrill <jason@redhat.com> + + PR c++/101767 + * decl.cc (reshape_init_class): Back out of anon struct + if a designator doesn't match. + +2022-03-18 Jason Merrill <jason@redhat.com> + + PR c++/92918 + PR c++/104476 + * class.cc (add_method): Avoid adding the same used function twice. + (handle_using_decl): Don't add_method. + (finish_struct): Don't using op= if we have one already. + (maybe_push_used_methods): New. + * semantics.cc (finish_member_declaration): Call it. + * name-lookup.cc (diagnose_name_conflict): No longer static. + (push_class_level_binding): Revert 92918 patch, limit + to dependent using. + * cp-tree.h: Adjust. + +2022-03-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/104568 + * init.cc (build_new_constexpr_heap_type): Remove FULL_SIZE + argument and its handling, instead add ITYPE2 argument. Only + support COOKIE_SIZE != NULL. + (build_new_1): If size is 0, change it to 0 * outer_nelts if + outer_nelts is non-NULL. Pass type rather than elt_type to + maybe_wrap_new_for_constexpr. + * constexpr.cc (build_new_constexpr_heap_type): New function. + (cxx_eval_constant_expression) <case CONVERT_EXPR>: + If elt_size is zero sized type, try to recover outer_nelts from + the size argument to operator new/new[] and pass that as + arg_size to build_new_constexpr_heap_type. Pass ctx, + non_constant_p and overflow_p to that call too. + +2022-03-18 Marek Polacek <polacek@redhat.com> + + PR c++/104008 + * tree.cc (strip_typedefs): Don't strip an alias template when + doing so would result in losing a parameter pack. + +2022-03-16 Patrick Palka <ppalka@redhat.com> + + * search.cc (lookup_member): Simplify by handling all values + of protect together in the ambiguous case. Don't modify protect. + +2022-03-16 Patrick Palka <ppalka@redhat.com> + + PR c++/96780 + * cp-gimplify.cc (cp_fold) <case CALL_EXPR>: Fold calls to + std::move/forward and other cast-like functions into simple + casts. + +2022-03-15 Patrick Palka <ppalka@redhat.com> + + PR c++/103177 + * search.cc (lookup_field_info::errstr): Remove this data + member. + (lookup_field_r): Don't set errstr. + (lookup_member): Check ambiguity before checking access. + Simplify accordingly after errstr removal. Exit early upon + error or empty result. + +2022-03-15 Jakub Jelinek <jakub@redhat.com> + + PR c++/104623 + * parser.cc (cp_parser_skip_to_pragma_eol): Don't purge any tokens. + +2022-03-14 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/102586 + * call.cc (build_cxx_call): Diagnose __builtin_clear_padding where + first argument's type is pointer to non-trivially-copyable type unless + it is address of a variable or parameter. + +2022-03-12 Patrick Palka <ppalka@redhat.com> + + PR c++/104641 + * cp-tree.h (tsubst_flags::tf_tst_ok): New flag. + * decl.cc (make_typename_type): Allow a typename-specifier to + resolve to a template when tf_tst_ok, in which case return + a CTAD placeholder for the template. + * pt.cc (tsubst_decl) <case VAR_DECL>: Set tf_tst_ok when + substituting the type. + (tsubst): Clear tf_tst_ok and remember if it was set. + <case TYPENAME_TYPE>: Pass tf_tst_ok to make_typename_type + appropriately. + (tsubst_copy) <case CAST_EXPR>: Set tf_tst_ok when substituting + the type. + (tsubst_copy_and_build) <case CAST_EXPR>: Likewise. + <case CONSTRUCTOR>: Likewise. + +2022-03-12 Patrick Palka <ppalka@redhat.com> + + PR c++/104622 + * call.cc (missing_conversion_p): Define. + (add_candidates): Use it. + * pt.cc (check_non_deducible_conversion): Change type of strict + parameter to unification_kind_t and directly test for DEDUCE_CALL. + +2022-03-12 Patrick Palka <ppalka@redhat.com> + + PR c++/104527 + * constraint.cc (normalize_atom): Set + ATOMIC_CONSTR_EXPR_FROM_CONCEPT_P appropriately. + (get_mapped_args): Make static, adjust parameters. Always + return a vector whose depth corresponds to the template depth of + the context of the atomic constraint expression. Micro-optimize + by passing false as exact to safe_grow_cleared and by collapsing + a multi-level depth-one argument vector. + (satisfy_atom): Adjust call to get_mapped_args and + diagnose_atomic_constraint. + (diagnose_atomic_constraint): Replace map parameter with an args + parameter. + * cp-tree.h (ATOMIC_CONSTR_EXPR_FROM_CONCEPT_P): Define. + (get_mapped_args): Remove declaration. + +2022-03-12 Patrick Palka <ppalka@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/98644 + * constexpr.cc (mark_non_constant): Define, split out from ... + (cxx_eval_outermost_constant_expr): ... here. + (maybe_constant_value): Use it. + +2022-03-12 Patrick Palka <ppalka@redhat.com> + + * semantics.cc (finish_unary_fold_expr): Use input_location + instead of UNKNOWN_LOCATION. + (finish_binary_fold_expr): Likewise. + +2022-03-12 Thomas Schwinge <thomas@codesourcery.com> + + PR other/65095 + * semantics.cc (handle_omp_array_sections_1) + (cp_oacc_check_attachments): Call 'user_omp_clause_code_name' + instead of 'c_omp_map_clause_name'. + +2022-03-10 Marek Polacek <polacek@redhat.com> + + PR c++/104608 + * parser.cc (cp_parser_template_name): Repeat lookup of + TYPE_DECLs. + +2022-03-10 Marek Polacek <polacek@redhat.com> + + PR c++/104752 + * semantics.cc (finish_compound_literal): Disallow auto{x} for + is_constrained_auto. + * typeck2.cc (build_functional_cast_1): Likewise. + +2022-03-10 Marek Polacek <polacek@redhat.com> + + PR c++/104846 + * decl.cc (grokdeclarator): Check FUNC_OR_METHOD_TYPE_P before giving + data member errors. + +2022-03-10 Jakub Jelinek <jakub@redhat.com> + + PR c++/103460 + * decl.cc (grok_op_properties): Allow variadic operator[] for + C++23. + +2022-03-10 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/95999 + * decl.cc (finish_enum_value_list): If VALUE isn't an INTEGER_CST + consider it to be zero (i.e. treat it like error_mark_node). + (build_enumerator): Likewise, if PREV_VALUE isn't an INTEGER_CST, + set VALUE to error_mark_node. + +2022-03-10 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/39751 + * parser.cc (cp_parser_late_parsing_for_member): Confirm the token + stream hasn't been purged before processing DECL_PENDING_INLINE. + +2022-03-09 Patrick Palka <ppalka@redhat.com> + + PR c++/104823 + * except.cc (build_noexcept_spec): Strengthen dependence check + to instantiation_dependent_expression_p. + * parser.cc (cp_parser_parenthesized_expression_list_elt): + Remove fold_expr_p parameter, and don't call + instantiate_non_dependent_expr. + (cp_parser_parenthesized_expression_list): Adjust accordingly. + * pt.cc (expand_integer_pack): Strengthen dependence check + to instantiation_dependent_expression_p. + (instantiate_non_dependent_expr_internal): Adjust comment. + (instantiate_non_dependent_expr_sfinae): Likewise. Drop + the potentially-constant check, and relax and turn the + dependence check into a checking assert. + (instantiate_non_dependent_or_null): Adjust comment. + * semantics.cc (finish_decltype_type): Keep + processing_template_decl cleared after calling + instantiate_non_dependent_expr_sfinae. + +2022-03-09 Patrick Palka <ppalka@redhat.com> + + PR c++/102137 + PR c++/87820 + * cp-tree.h (is_copy_initialization): Declare. + * decl.cc (cp_finish_decl): Set LOOKUP_ONLYCONVERTING + when is_copy_initialization is true. + * init.cc (build_aggr_init): Split out copy-initialization + check into ... + (is_copy_initialization): ... here. + * pt.cc (instantiate_decl): Pass 0 instead of + LOOKUP_ONLYCONVERTING as flags to cp_finish_decl. + +2022-03-09 Patrick Palka <ppalka@redhat.com> + + PR c++/65396 + * cp-tree.h (merge_default_template_args): Declare. + * decl.cc (merge_default_template_args): Define, factored out + from redeclare_class_template. + (duplicate_decls): Use it when merging member function template + and free function declarations. + * pt.cc (redeclare_class_template): Factor out default argument + merging logic into merge_default_template_args. Improve location + of a note when there's a template parameter kind mismatch. + +2022-03-09 Jakub Jelinek <jakub@redhat.com> + + PR c/104711 + * constexpr.cc (cxx_eval_check_shift_p): Use TYPE_OVERFLOW_WRAPS + instead of TYPE_UNSIGNED. + * typeck.cc (cp_build_binary_op): Don't emit + -Wshift-negative-value warning if TYPE_OVERFLOW_WRAPS. + +2022-03-08 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/96440 + * decl.cc (start_decl): Defend against prefix_attributes being + error_mark_node. + +2022-03-08 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/96437 + * parser.cc (synthesize_implicit_template_parm): Check that + TREE_VALUE (new_parm) isn't error_mark_node before setting its + DECL_VIRTUAL_P. + +2022-03-08 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/96329 + * parser.cc (cp_parser_linkage_specification): Treat the case where + linkage is error_mark_node as "invalid linkage-specification". + +2022-03-08 Marek Polacek <polacek@redhat.com> + + PR c++/104108 + * pt.cc (convert_nontype_argument): Recompute + value_dependent_expression_p after build_converted_constant_expr. + +2022-03-08 Marek Polacek <polacek@redhat.com> + + * decl2.cc (is_late_template_attribute): Do not defer attribute + unavailable. + * pt.cc (tsubst_enum): Set TREE_UNAVAILABLE. + +2022-03-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/104806 + * search.cc (lookup_field_fuzzy_info::fuzzy_lookup_field): Ignore + identifiers with space at the end. + +2022-03-07 Jason Merrill <jason@redhat.com> + + PR c++/104618 + * decl2.cc (mark_single_function): Look through parens and location + wrapper. + * typeck.cc (cp_build_addr_expr_1): Not here. + +2022-03-07 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_omp_clause_map): Add missing space in string + literal. + +2022-03-07 Jakub Jelinek <jakub@redhat.com> + + * cvt.cc: Fix up duplicated word issue in a comment. + * pt.cc: Likewise. + * module.cc: Likewise. + * coroutines.cc: Likewise. + +2022-03-04 Nathan Sidwell <nathan@acm.org> + + * mangle.cc (is_std_substitution): Check global module. + (is_std_substitution_char): Return bool. + +2022-03-04 Nathan Sidwell <nathan@acm.org> + + * cp-tree.h (mangle_identifier): Replace with ... + (mangle_module_component): ... this. + * mangle.cc (dump_substitution_candidates): Adjust. + (add_substitution): Likewise. + (find_substitution): Likewise. + (unmangled_name_p): Likewise. + (mangle_module_substitution): Reimplement. + (mangle_module_component): New. + (write_module, maybe_write_module): Adjust. + (write_name): Drop modules here. + (write_unqualified): Do them here instead. + (mangle_global_init): Adjust. + * module.cc (module_state::mangle): Adjust. + (mangle_module): Likewise. + (get_originating_module): Adjust. + +2022-02-28 Marek Polacek <polacek@redhat.com> + + PR c++/104682 + * cp-tree.h (build_enumerator): Adjust. + * decl.cc (finish_enum): Make it return the new decl. + * pt.cc (tsubst_enum): Propagate TREE_DEPRECATED and TREE_UNAVAILABLE. + +2022-02-28 Marek Polacek <polacek@redhat.com> + + PR c++/104667 + * decl2.cc (is_late_template_attribute): Cope with a decl without + a type. + +2022-02-27 Jason Merrill <jason@redhat.com> + + PR c++/104618 + * typeck.cc (cp_build_addr_expr_1): Also + maybe_undo_parenthesized_ref. + +2022-02-24 Martin Liska <mliska@suse.cz> + + * pt.cc (defarg_insts_for): Use braces for subobject. + +2022-02-18 Patrick Palka <ppalka@redhat.com> + + PR c++/94944 + * pt.cc (maybe_instantiate_noexcept): For non-static member + functions, set current_class_ptr/ref to the specialized 'this' + instead. + +2022-02-17 Jason Merrill <jason@redhat.com> + + PR c++/104539 + * pt.cc (mark_decl_instantiated): Don't clear DECL_COMDAT. + +2022-02-17 Jason Merrill <jason@redhat.com> + + PR c++/90451 + * decl2.cc (mark_single_function): New. + * cp-tree.h: Declare it. + * typeck.cc (cp_build_addr_expr_1): mark_used when making a PMF. + * semantics.cc (finish_qualified_id_expr): Not here. + (finish_id_expression_1): Or here. + (finish_decltype_type): Call mark_single_function. + * cvt.cc (convert_to_void): And here. + * pt.cc (convert_nontype_argument): And here. + * init.cc (build_offset_ref): Adjust assert. + +2022-02-17 Patrick Palka <ppalka@redhat.com> + + PR c++/104565 + * semantics.cc (finish_compound_literal): Don't perform + non-dependent expr folding before calling check_narrowing. + +2022-02-16 Patrick Palka <ppalka@redhat.com> + + PR c++/104507 + * constexpr.cc (potential_constant_expression_1) + <case NON_DEPENDENT_EXPR>: Return false instead of recursing. + Assert tf_error isn't set. + +2022-02-15 Jason Merrill <jason@redhat.com> + + PR c++/104107 + PR c++/95036 + * pt.cc (coerce_template_template_parms): Take full parms. + Avoid adding too much of outer_args. + (coerce_template_template_parm): Adjust. + (template_template_parm_bindings_ok_p): Adjust. + (convert_template_argument): Adjust. + +2022-02-14 Jakub Jelinek <jakub@redhat.com> + + PR c++/104513 + * constexpr.cc (potential_constant_expression_1) <case GOTO_EXPR>: + Don't punt if returns (target). + +2022-02-11 Jakub Jelinek <jakub@redhat.com> + + PR c++/104472 + * constexpr.cc (cxx_eval_internal_function) <case IFN_VEC_CONVERT>: + Only return fold_const_call result if it is non-NULL. Otherwise + fall through into the default: case to return t, set *non_constant_p + and emit diagnostics if needed. + +2022-02-10 Jason Merrill <jason@redhat.com> + + * module.cc (depset::hash::add_specializations): Use + STRIP_TEMPLATE. + +2022-02-10 Tobias Burnus <tobias@codesourcery.com> + + PR c++/102204 + * decl2.cc (cp_omp_mappable_type_1): Remove check for virtual + members as those are permitted since OpenMP 5.0. + +2022-02-10 Patrick Palka <ppalka@redhat.com> + + * pt.cc (filter_memfn_lookup): Handle dependent USING_DECL + better. + +2022-02-10 Marcel Vollweiler <marcel@codesourcery.com> + + * parser.cc (cp_parser_omp_clause_name): Parse 'has_device_addr' clause. + (cp_parser_omp_var_list_no_open): Handle array sections. + (cp_parser_omp_all_clauses): Added PRAGMA_OMP_CLAUSE_HAS_DEVICE_ADDR + case. + (cp_parser_omp_target_update): Added HAS_DEVICE_ADDR to OMP_CLAUSE_MASK. + * semantics.cc (handle_omp_array_sections): Handle clause restrictions. + (finish_omp_clauses): Handle array sections. + +2022-02-09 Patrick Palka <ppalka@redhat.com> + + PR c++/104432 + * call.cc (build_new_method_call): When a non-dependent call + resolves to a specialization of a member template, always build + the pruned overload set using the member template, not the + specialization. + * pt.cc (filter_memfn_lookup): New parameter newtype. Simplify + and correct how members from the new lookup set are matched to + those from the old one. + (tsubst_baselink): Pass binfo_type as newtype to + filter_memfn_lookup. + +2022-02-09 Jason Merrill <jason@redhat.com> + + PR c++/103752 + * module.cc (trees_out::core_vals): Stream explicit specifier. + (trees_in::core_vals): Likewise. + * pt.cc (store_explicit_specifier): No longer static. + (tsubst_function_decl): Clear DECL_HAS_DEPENDENT_EXPLICIT_SPEC_P. + * cp-tree.h (lookup_explicit_specifier): Declare. + +2022-02-09 Jason Merrill <jason@redhat.com> + + PR c++/96876 + * typeck2.cc (split_nonconstant_init_1): Push cleanups for + preceding members with constant initialization. + (maybe_push_temp_cleanup): Do nothing if -fno-exceptions. + +2022-02-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/104379 + * name-lookup.cc (check_local_shadow): When diagnosing shadowing + of a member or global declaration, add warning suppression for + the decl and don't warn again on it. + +2022-02-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/104403 + * constexpr.cc (cxx_eval_constant_expression): Don't assert DECL_EXPRs + of TREE_STATIC vars may only appear in -std=c++23. + +2022-02-08 Patrick Palka <ppalka@redhat.com> + + PR c++/80951 + * pt.cc (uses_deducible_template_parms): Consider the + noexcept-spec of a function type. + +2022-02-08 Patrick Palka <ppalka@redhat.com> + + PR c++/104410 + * constraint.cc (satisfaction_value): Relax assert to accept + cv-qualified bool. + +2022-02-08 Patrick Palka <ppalka@redhat.com> + + PR c++/103706 + * pt.cc (preserve_args): New function. + (tsubst_lambda_expr): Use it when setting LAMBDA_EXPR_REGEN_INFO. + +2022-02-08 Patrick Palka <ppalka@redhat.com> + + PR c++/103706 + * constraint.cc (satisfy_declaration_constraints): Use + lambda_regenerating_args instead. + * cp-tree.h (lambda_regenerating_args): Declare. + * pt.cc (lambda_regenerating_args): Define, split out from + satisfy_declaration_constraints. + (do_auto_deduction): Use lambda_regenerating_args to obtain the + full set of outer template arguments for satisfaction when + inside a lambda. + +2022-02-06 Patrick Palka <ppalka@redhat.com> + + PR c++/96242 + * decl2.cc (mark_used): Directly synthesize a DECL_MAYBE_DELETED + fn by calling maybe_synthesize_method instead of relying on + maybe_instantiate_noexcept. Move call to m_i_n after the + DECL_DELETED_FN handling. + * pt.cc (maybe_instantiate_noexcept): Restrict DECL_MAYBE_DELETED + fn synthesis to only those with an implicit noexcept-spec, and + return !DECL_DELETED_FN instead of !DECL_MAYBE_DELETED afterwards. + +2022-02-06 Jakub Jelinek <jakub@redhat.com> + + PR c++/89074 + PR c++/104033 + * constexpr.cc (cxx_eval_binary_expression): Temporarily set + folding_cxx_constexpr. + +2022-02-05 Jason Merrill <jason@redhat.com> + + PR c++/104300 + PR c++/92385 + * cp-tree.h (get_vec_init_expr): New. + (target_expr_needs_replace): New. + * cp-gimplify.cc (cp_gimplify_init_expr): Use it. + (struct cp_fold_data): New. + (cp_fold_r): Only genericize inits at end of fn. + (cp_fold_function): Here. + (cp_fully_fold_init): Not here. + * init.cc (build_vec_init): Use get_vec_init_expr. + * tree.cc (build_vec_init_expr): Likewise. + * typeck2.cc (split_nonconstant_init_1): Likewise. + (process_init_constructor): Wrap VEC_INIT_EXPR in + TARGET_EXPR. + +2022-02-05 Jason Merrill <jason@redhat.com> + + * pt.cc (iterative_hash_template_arg): Add comment. + +2022-02-03 Patrick Palka <ppalka@redhat.com> + + PR c++/104079 + * pt.cc (value_dependent_noexcept_spec_p): New predicate split + out from ... + (dependent_type_p_r): ... here. + (instantiation_dependent_r): Use value_dependent_noexcept_spec_p + to consider dependence of a noexcept-spec before C++17. + * tree.cc (fixup_deferred_exception_variants): Clear + TYPE_DEPENDENT_P_VALID. + +2022-02-03 Jason Merrill <jason@redhat.com> + + PR c++/104302 + * decl.cc (maybe_deduce_size_from_array_init): Give up + on type-dependent init. + (cp_complete_array_type): Only call reshape_init for character + array. + +2022-02-01 Jason Merrill <jason@redhat.com> + + PR c++/103186 + * pt.cc (defarg_inst): Use tree_vec_map_cache_hasher. + (defarg_insts_for): New. + (tsubst_default_argument): Adjust. + +2022-01-31 Marek Polacek <polacek@redhat.com> + + PR c++/102414 + PR c++/101874 + * decl.cc (create_array_type_for_decl): Use template_placeholder_p. + Sorry on a variable-length array of auto. + +2022-01-31 Marek Polacek <polacek@redhat.com> + + PR c++/102434 + * class.cc (finish_struct): Don't allow union initializer_list. + +2022-01-31 Patrick Palka <ppalka@redhat.com> + + PR c++/104294 + * pt.cc (ctor_deduction_guides_for): Correct computation of + outer_args. + +2022-01-31 Patrick Palka <ppalka@redhat.com> + + PR c++/104291 + * pt.cc (for_each_template_parm_r) <case CONSTRUCTOR>: Clear + walk_subtrees if !include_nondeduced_p. Simplify given that + cp_walk_subtrees already walks TYPE_PTRMEMFUNC_FN_TYPE_RAW. + +2022-01-28 Patrick Palka <ppalka@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/92752 + * typeck.cc (build_ptrmemfunc): Cast a nullptr constant to the + unqualified pointer type not the qualified one. + +2022-01-28 Patrick Palka <ppalka@redhat.com> + + PR c++/103341 + * decl.cc (cp_finish_decl): Pass the template arguments of a + variable template specialization or a templated static data + member to do_auto_deduction when the auto is constrained. + +2022-01-28 Jason Merrill <jason@redhat.com> + + PR c++/100198 + PR c++/100030 + PR c++/100282 + * parser.cc (cp_parser_enumerator_definition): Sorry on parameter + pack in lambda. + (cp_parser_class_head): And in class attributes. + * pt.cc (check_for_bare_parameter_packs): Sorry instead of error + in lambda. + +2022-01-27 Jason Merrill <jason@redhat.com> + + PR c++/104245 + PR c++/51344 + * decl2.cc (save_template_attributes): Take late attrs as parm. + (cplus_decl_attributes): Call it after decl_attributes, + splice_template_attributes before. + +2022-01-27 Patrick Palka <ppalka@redhat.com> + + PR c++/99895 + * call.cc (build_over_call): For a non-dependent member call, + build up a CALL_EXPR using a COMPONENT_REF callee, as in + build_new_method_call. + * pt.cc (build_non_dependent_expr): Don't wrap PARM_DECL either. + * tree.cc (build_min_non_dep_op_overload): Adjust accordingly + after the build_over_call change. + +2022-01-27 Patrick Palka <ppalka@redhat.com> + + PR c++/92944 + PR c++/103678 + * parser.cc (cp_parser_class_head): Update 'type' with the result + of maybe_process_partial_specialization in the + nested_name_specifier branch. Refactor nearby code to accomodate + that maybe_process_partial_specialization returns a _TYPE, not a + TYPE_DECL, and eliminate local variable 'class_type' in passing. + +2022-01-27 Marek Polacek <polacek@redhat.com> + + PR c++/101988 + * decl.cc (create_array_type_for_decl): Reject forming an array of + placeholder for a deduced class type. + +2022-01-26 Jason Merrill <jason@redhat.com> + + PR c++/104206 + PR c++/101072 + * semantics.cc (finish_compound_literal): Restore VECTOR_TYPE check. + +2022-01-26 Jakub Jelinek <jakub@redhat.com> + + PR c++/104226 + * constexpr.cc (init_subob_ctx): For vector ctors containing + vector elements, ensure appending to the same ctor instead of + creating another one. + +2022-01-26 Marek Polacek <polacek@redhat.com> + + PR target/104213 + * decl.cc (finish_constructor_body): Suppress -Wuse-after-free. + (finish_destructor_body): Likewise. + * optimize.cc (build_delete_destructor_body): Likewise. + +2022-01-26 Jason Merrill <jason@redhat.com> + + PR c++/104235 + * parser.cc (cp_parser_template_name): Repeat lookup of USING_DECL. + +2022-01-26 Jason Merrill <jason@redhat.com> + + PR c++/103057 + * pt.cc (tsubst_aggr_type): Call tsubst for alias template + specialization. + +2022-01-25 Patrick Palka <ppalka@redhat.com> + + PR c++/101532 + PR c++/104225 + * decl2.cc (mark_used): Don't consider maybe_instantiate_noexcept + on a deleted function. + +2022-01-25 Jason Merrill <jason@redhat.com> + + PR c++/59950 + * call.cc (build_over_call): Use cp_build_indirect_ref. + +2022-01-24 Patrick Palka <ppalka@redhat.com> + + PR c++/104197 + * pt.cc (make_auto_1): Use -1 as a placeholder default argument + for level. + +2022-01-24 Patrick Palka <ppalka@redhat.com> + + PR c++/104173 + * typeck.cc (build_class_member_access_expr): Extend + unary_complex_lvalue result adjustment to preserve all + rvalues, not just xvalues. + +2022-01-23 Will Wray <wjwray@gmail.com> + + PR c++/55227 + * decl.cc (reshape_init_r): Only call has_designator_check when + first_initializer_p or for the inner constructor element. + (cp_complete_array_type): Call reshape_init on braced-init-list. + +2022-01-23 Jason Merrill <jason@redhat.com> + + PR c++/104182 + * cp-gimplify.cc (cp_genericize_target_expr): Make sure nothing + has set DECL_INITIAL on a TARGET_EXPR slot. + * tree.cc (is_local_temp): Don't check DECL_CONTEXT. + +2022-01-23 Jason Merrill <jason@redhat.com> + + PR c++/101072 + * cp-tree.h (build_implicit_conv_flags): Declare. + * call.cc (build_implicit_conv_flags): Split out from... + (perform_implicit_conversion_flags): ...here. + * decl.cc (check_initializer): Use it. + * pt.cc (tsubst_copy_and_build): Remove TARGET_EXPR handling. + * semantics.cc (finish_compound_literal): Don't treat + scalar values like CONSTRUCTORs. + +2022-01-21 Jason Merrill <jason@redhat.com> + + * semantics.cc (find_failing_clause): Return expr if not + decomposable. + (finish_static_assert): Show constant values in failing + comparison. + +2022-01-21 Jason Merrill <jason@redhat.com> + + PR c++/104084 + PR c++/20040 + * init.cc (build_new_1): Only pull out TARGET_EXPR_INITIAL if + alloc_expr is a TARGET_EXPR. + +2022-01-21 Marek Polacek <polacek@redhat.com> + + PR c++/101715 + * tree.cc (fixup_deferred_exception_variants): Remove duplicate + variants after parsing the exception specifications. + +2022-01-21 Jason Merrill <jason@redhat.com> + + PR c++/104139 + PR c++/103681 + * class.cc (end_of_class): Use base_binfo. + +2022-01-20 Jason Merrill <jason@redhat.com> + + PR c++/101405 + * decl.cc (reshape_init_class): Reject designator for a member of + another class. + +2022-01-20 Patrick Palka <ppalka@redhat.com> + + PR c++/91911 + PR c++/103672 + * pt.cc (keep_template_parm): Punt on a level 0 template parm. + (tsubst_decl) <case VAR_DECL>: Remove !CHECKING_P safeguard. + (tsubst) <case TEMPLATE_TYPE_PARM>: Handle CTAD placeholders + specially. + (make_auto_1): Add defaulted 'level' parameter. + (make_template_placeholder): Pass 0 as 'level' to make_auto_1. + +2022-01-20 Patrick Palka <ppalka@redhat.com> + + * decl.cc (grokdeclarator): Diagnose a CTAD placeholder as + function return type even when !funcdecl_p. + +2022-01-20 Martin Liska <mliska@suse.cz> + + PR c++/104134 + * error.cc (dump_aggr_type): Partially disable the warning. + +2022-01-20 Jason Merrill <jason@redhat.com> + + PR c++/102300 + * parser.cc (cp_parser_template_name): Use dependent_scope_p. + +2022-01-19 David Malcolm <dmalcolm@redhat.com> + + * cp-lang.cc (selftest::run_cp_tests): Update calls for .c to .cc + renaming. + * cp-tree.h (cp_pt_c_tests): Rename to... + (cp_pt_cc_tests): ...this. + (cp_tree_c_tests): Rename to... + (cp_tree_cc_tests): ...this. + * pt.cc (cp_pt_c_tests): Rename to... + (cp_pt_cc_tests): ...this. + * tree.cc (cp_tree_c_tests): Rename to... + (cp_tree_cc_tests): ...this. + +2022-01-19 Jason Merrill <jason@redhat.com> + + * parser.cc (saved_token_sentinel::rollback): Use + cp_lexer_previous_token. + +2022-01-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/104055 + * constexpr.cc (cxx_eval_outermost_constant_expr): If t is a + TARGET_EXPR with TARGET_EXPR_CLEANUP, use get_target_expr rather + than get_target_expr_sfinae with tf_no_cleanup, and don't set + TREE_CONSTANT. + +2022-01-18 Jason Merrill <jason@redhat.com> + Jakub Jelinek <jakub@redhat.com> + + PR c++/104025 + * parser.cc (saved_token_sentinel::rollback): Call + cp_lexer_set_source_position. + (~saved_token_sentinel): Call rollback. + +2022-01-18 Patrick Palka <ppalka@redhat.com> + + PR c++/104074 + * pt.cc (invalid_nontype_parm_type_p): Use WILDCARD_TYPE_P so + that we return false for DEPENDENT_OPERATOR_TYPE too. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * Make-lang.in: Rename .c names to .cc. + * config-lang.in: Likewise. + * constexpr.cc (cxx_eval_constant_expression): Likewise. + * coroutines.cc (morph_fn_to_coro): Likewise. + * cp-gimplify.cc (cp_gimplify_expr): Likewise. + * cp-lang.cc (struct lang_hooks): Likewise. + (get_template_argument_pack_elems_folded): Likewise. + * cp-objcp-common.cc (cp_tree_size): Likewise. + (cp_unit_size_without_reusable_padding): Likewise. + (pop_file_scope): Likewise. + (cp_pushdecl): Likewise. + * cp-objcp-common.h (GCC_CP_OBJCP_COMMON): Likewise. + (cxx_simulate_record_decl): Likewise. + * cp-tree.h (struct named_label_entry): Likewise. + (current_function_return_value): Likewise. + (more_aggr_init_expr_args_p): Likewise. + (get_function_version_dispatcher): Likewise. + (common_enclosing_class): Likewise. + (strip_fnptr_conv): Likewise. + (current_decl_namespace): Likewise. + (do_aggregate_paren_init): Likewise. + (cp_check_const_attributes): Likewise. + (qualified_name_lookup_error): Likewise. + (generic_targs_for): Likewise. + (mark_exp_read): Likewise. + (is_global_friend): Likewise. + (maybe_reject_flexarray_init): Likewise. + (module_token_lang): Likewise. + (handle_module_option): Likewise. + (literal_integer_zerop): Likewise. + (build_extra_args): Likewise. + (build_if_nonnull): Likewise. + (maybe_check_overriding_exception_spec): Likewise. + (finish_omp_target_clauses): Likewise. + (maybe_warn_zero_as_null_pointer_constant): Likewise. + (cxx_print_error_function): Likewise. + (decl_in_std_namespace_p): Likewise. + (merge_exception_specifiers): Likewise. + (mangle_module_global_init): Likewise. + (cxx_block_may_fallthru): Likewise. + (fold_builtin_source_location): Likewise. + (enum cp_oracle_request): Likewise. + (subsumes): Likewise. + (cp_finish_injected_record_type): Likewise. + (vtv_build_vtable_verify_fndecl): Likewise. + (cp_tree_c_finish_parsing): Likewise. + * cvt.cc (diagnose_ref_binding): Likewise. + (convert_to_void): Likewise. + (convert_force): Likewise. + (type_promotes_to): Likewise. + * decl.cc (make_unbound_class_template_raw): Likewise. + (cxx_init_decl_processing): Likewise. + (check_class_member_definition_namespace): Likewise. + (cxx_maybe_build_cleanup): Likewise. + * decl2.cc (maybe_emit_vtables): Likewise. + * error.cc (dump_function_name): Likewise. + * init.cc (is_class_type): Likewise. + (build_new_1): Likewise. + * lang-specs.h: Likewise. + * method.cc (make_alias_for_thunk): Likewise. + * module.cc (specialization_add): Likewise. + (module_state::read_cluster): Likewise. + * name-lookup.cc (check_extern_c_conflict): Likewise. + * name-lookup.h (struct cxx_binding): Likewise. + * parser.cc (cp_parser_identifier): Likewise. + * parser.h (struct cp_parser): Likewise. + * pt.cc (has_value_dependent_address): Likewise. + (push_tinst_level_loc): Likewise. + * semantics.cc (finish_omp_clauses): Likewise. + (finish_omp_atomic): Likewise. + * tree.cc (cp_save_expr): Likewise. + (cp_free_lang_data): Likewise. + * typeck.cc (cp_common_type): Likewise. + (strip_array_domain): Likewise. + (rationalize_conditional_expr): Likewise. + (check_return_expr): Likewise. + * vtable-class-hierarchy.cc: Likewise. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * call.c: Moved to... + * call.cc: ...here. + * class.c: Moved to... + * class.cc: ...here. + * constexpr.c: Moved to... + * constexpr.cc: ...here. + * cp-gimplify.c: Moved to... + * cp-gimplify.cc: ...here. + * cp-lang.c: Moved to... + * cp-lang.cc: ...here. + * cp-objcp-common.c: Moved to... + * cp-objcp-common.cc: ...here. + * cp-ubsan.c: Moved to... + * cp-ubsan.cc: ...here. + * cvt.c: Moved to... + * cvt.cc: ...here. + * cxx-pretty-print.c: Moved to... + * cxx-pretty-print.cc: ...here. + * decl.c: Moved to... + * decl.cc: ...here. + * decl2.c: Moved to... + * decl2.cc: ...here. + * dump.c: Moved to... + * dump.cc: ...here. + * error.c: Moved to... + * error.cc: ...here. + * except.c: Moved to... + * except.cc: ...here. + * expr.c: Moved to... + * expr.cc: ...here. + * friend.c: Moved to... + * friend.cc: ...here. + * g++spec.c: Moved to... + * g++spec.cc: ...here. + * init.c: Moved to... + * init.cc: ...here. + * lambda.c: Moved to... + * lambda.cc: ...here. + * lex.c: Moved to... + * lex.cc: ...here. + * mangle.c: Moved to... + * mangle.cc: ...here. + * method.c: Moved to... + * method.cc: ...here. + * name-lookup.c: Moved to... + * name-lookup.cc: ...here. + * optimize.c: Moved to... + * optimize.cc: ...here. + * parser.c: Moved to... + * parser.cc: ...here. + * pt.c: Moved to... + * pt.cc: ...here. + * ptree.c: Moved to... + * ptree.cc: ...here. + * rtti.c: Moved to... + * rtti.cc: ...here. + * search.c: Moved to... + * search.cc: ...here. + * semantics.c: Moved to... + * semantics.cc: ...here. + * tree.c: Moved to... + * tree.cc: ...here. + * typeck.c: Moved to... + * typeck.cc: ...here. + * typeck2.c: Moved to... + * typeck2.cc: ...here. + * vtable-class-hierarchy.c: Moved to... + * vtable-class-hierarchy.cc: ...here. + +2022-01-17 Jakub Jelinek <jakub@redhat.com> + + PR c++/104031 + * cp-gimplify.c (cp_genericize_target_expr): Set DECL_CONTEXT of + TARGET_EXPR_SLOT to current_function_decl if it was NULL. + +2022-01-17 Andrew Stubbs <ams@codesourcery.com> + + * parser.c (cp_parser_omp_requires): Don't "sorry" dynamic_allocators. + +2022-01-14 Chung-Lin Tang <cltang@codesourcery.com> + + PR c++/103705 + * semantics.c (finish_omp_clauses): Also continue peeling off of + outer node for ARRAY_REFs. + +2022-01-14 Jakub Jelinek <jakub@redhat.com> + + PR c++/103991 + * cp-objcp-common.c (cxx_block_may_fallthru) <case IF_STMT>: For + IF_STMT_CONSTEXPR_P with constant false or true condition only + check if the taken clause may fall through. + * cp-gimplify.c (genericize_if_stmt): For consteval if, revert + to r12-5638^ behavior if then_ block can't fall through. For + constexpr if, revert to r12-5638^ behavior. + +2022-01-13 Anthony Sharp <anthonysharp15@gmail.com> + Jason Merrill <jason@redhat.com> + + PR c++/70417 + * parser.c (cp_parser_id_expression): Handle + -Wmissing-template-keyword. + (struct saved_token_sentinel): Add modes to control what happens + on destruction. + (cp_parser_statement): Adjust. + (cp_parser_skip_entire_template_parameter_list): New function that + skips an entire template parameter list. + (cp_parser_require_end_of_template_parameter_list): Rename old + cp_parser_skip_to_end_of_template_parameter_list. + (cp_parser_skip_to_end_of_template_parameter_list): Refactor to be + called from one of the above two functions. + (cp_parser_lambda_declarator_opt) + (cp_parser_explicit_template_declaration) + (cp_parser_enclosed_template_argument_list): Adjust. + +2022-01-12 Jakub Jelinek <jakub@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/103480 + * tree.c (move): If expr is xvalue_p, just return expr without + build_static_cast. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + PR c++/101597 + * class.c (build_vfn_ref): Build OBJ_TYPE_REF with INTEGER_CST + OBJ_TYPE_REF_TOKEN with type equal to OBJ_TYPE_REF_OBJECT type. + * error.c (resolve_virtual_fun_from_obj_type_ref): Use type of + OBJ_TYPE_REF_TOKEN rather than type of OBJ_TYPE_REF_OBJECT as + obj_type. + +2022-01-11 Patrick Palka <ppalka@redhat.com> + + PR c++/103831 + * call.c (build_new_method_call): Consider dependent bases only + if 'this' is available. + +2022-01-11 Olivier Hainque <hainque@adacore.com> + + * decl.c (cxx_init_decl_processing): Move code possibly + altering flag_weak before code testing it. + +2022-01-10 Patrick Palka <ppalka@redhat.com> + + PR c++/103879 + * constexpr.c (cxx_fold_indirect_ref): Split out object/offset + canonicalization step into a local lambda. Strengthen it to + absorb more components at position 0. Use it before both calls + to cxx_fold_indirect_ref_1. + +2022-01-10 Patrick Palka <ppalka@redhat.com> + + PR c++/103783 + * call.c (cand_parms_match): Skip over 'this' when given one + static and one non-static member function. + +2022-01-10 Jakub Jelinek <jakub@redhat.com> + + PR c++/103912 + * semantics.c (expand_or_defer_fn): For immediate functions, set + node->body_removed to true and clear analyzed, definition and + force_output. + * decl2.c (c_parse_final_cleanups): Ignore immediate functions for + expand_or_defer_fn. + +2022-01-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/89074 + * constexpr.c (cxx_maybe_fold_addr_pointer_plus): New function. + (cxx_eval_binary_expression): Use it. + +2022-01-08 Jason Merrill <jason@redhat.com> + + PR c++/103946 + * init.c (build_vec_init): Remove assert. + * tree.c (build_vec_init_expr): Likewise. + +2022-01-08 Jason Merrill <jason@redhat.com> + + PR c++/100588 + * call.c (build_op_delete_call): Ignore destroying delete + if alloc_fn. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/20040 + * init.c (build_new_1): Also build pointer cleanup if + TYPE_GETS_DELETE. + * cp-tree.h (TYPE_GETS_VEC_DELETE): New. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/103936 + PR c++/65591 + * cp-gimplify.c (cp_gimplify_expr): Restore VEC_INIT_EXPR handling. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/103711 + * init.c (perform_target_ctor): Select destructor by in_chrg. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/61611 + * except.c (in_nested_catch): New. + (expand_end_catch_block): Check it. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/33799 + PR c++/102191 + * except.c (maybe_splice_retval_cleanup): Check + current_binding_level. + * semantics.c (do_poplevel): Call it here. + * parser.c (cp_parser_compound_statement): Not here. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/53868 + * decl.c (cp_finish_decl): Use wrap_temporary_cleanups for + cleanups from set_up_extended_ref_temp. + (wrap_temporary_cleanups): Ignore array cleanups. + (initialize_local_var): Don't check for array here. + * cp-tree.h (BIND_EXPR_VEC_DTOR): New. + * init.c (build_vec_delete_1): Set it. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/66451 + * init.c (build_vec_delete_1): Handle throwing dtor. + (build_vec_init): Tell it we're in a cleanup already. + +2022-01-07 Jason Merrill <jason@redhat.com> + + * typeck2.c (split_nonconstant_init_1): Don't cleanup the last elt. + (split_nonconstant_init): Adjust. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/66139 + PR c++/52320 + * constexpr.c (replace_decl): Rename from replace_result_decl. + * cp-tree.h (replace_decl): Declare it. + * cp-gimplify.c (cp_gimplify_init_expr): Call it. + (cp_gimplify_expr): Don't handle VEC_INIT_EXPR. + (cp_genericize_init, cp_genericize_init_expr) + (cp_genericize_target_expr): New. + (cp_fold_r): Call them. + * tree.c (build_array_copy): Add a TARGET_EXPR. + * typeck2.c (digest_init_r): Look through a TARGET_EXPR. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/94041 + * decl.c (initialize_local_var): Fix comment. + * init.c (build_new_1): Do stabilize array init. + (build_vec_init): Use TARGET_EXPR for cleanup. Initialization + of an element from an explicit initializer is not a + full-expression. + * tree.c (expand_vec_init_expr): Pass flags through. + * typeck2.c (split_nonconstant_init_1): Handle VEC_INIT_EXPR. + (split_nonconstant_init): Handle array cleanups. + * cp-tree.h: Adjust. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/94041 + * decl.c (check_initializer): Remove obsolete comment. + (wrap_cleanups_r): Don't wrap CLEANUP_EH_ONLY. + (initialize_local_var): Change assert to test. + * typeck2.c (maybe_push_temp_cleanup): New. + (split_nonconstant_init_1): Use it. + (split_nonconstant_init): Clear cleanup flags. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/92385 + * typeck2.c (PICFLAG_VEC_INIT): New. + (process_init_constructor_array): Set it. + (process_init_constructor): Handle it. + (split_nonconstant_init_1): Handle VEC_INIT_EXPR. + * init.c (build_vec_init): Likewise. + * cp-gimplify.c (cp_gimplify_expr): Factor out... + * tree.c (expand_vec_init_expr): ...this function. + (build_vec_init_elt): Handle BRACE_ENCLOSED_INITIALIZER_P. + (build_vec_init_expr): Likewise. + * constexpr.c (cxx_eval_vec_init): Likewise. + (reduced_constant_expression_p): Check arrays before C++20. + * cp-tree.h (expand_vec_init_expr): Declare. + +2022-01-07 Jason Merrill <jason@redhat.com> + + * init.c (build_new_1): Remove preevaluation code. + +2022-01-05 Nathan Sidwell <nathan@acm.org> + + * pt.c (instantiate_class_template_1): Process attribute((used)) set + in class's context. + +2022-01-05 Nathan Sidwell <nathan@acm.org> + + * init.c (build_new_1): Check complain before alignment warning. + +2022-01-04 Jason Merrill <jason@redhat.com> + + * cp-tree.h (class releasing_vec): Add begin/end fns. + +2022-01-04 Jason Merrill <jason@redhat.com> + + * init.c: Include -*- C++ -*- on first line. + +2022-01-03 Marek Polacek <polacek@redhat.com> + + PR c++/103758 + * parser.c (cp_parser_decl_specifier_seq): Replace %<decl-specifier%> + with %qD. + +2022-01-03 Marek Polacek <polacek@redhat.com> + + * parser.c (make_char_string_pack): Add a cast to const unsigned + char *. + +2022-01-03 Jakub Jelinek <jakub@redhat.com> + + PR c++/103600 + * rtti.c (get_tinfo_decl_direct): Add "non overlapping" attribute + to DECL_TINFO_P VAR_DECLs. + +2022-01-02 Jason Merrill <jason@redhat.com> + + * init.c (build_vec_init): Append the decrement to elt_init. + +2022-01-02 Jason Merrill <jason@redhat.com> + + * decl.c (wrap_cleanups_r): Don't wrap if noexcept. + + +Copyright (C) 2022 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index 7630f24840156811bad76f2ea4399991cee0400a..97887c90552b40c034f463eff250248365499ae2 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,832 +1,5 @@ -2022-12-12 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/108055 - * decl.cc (function_defined_in_root_p): Check all enclosing template - instances for definition in a root module. - (function_needs_inline_definition_p): Replace call to - function_defined_in_root_p with test for outer module `isRoot'. - -2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/108050 - * decl.cc (DeclVisitor::visit (Import *)): Handle build_import_decl - returning a TREE_LIST. - * imports.cc (ImportVisitor::visit (OverloadSet *)): New override. - -2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd c8ae4adb2e. - * typeinfo.cc (check_typeinfo_type): Update for new front-end - interface. - (TypeInfoVisitor::visit (TypeInfoStructDeclaration *)): Remove warning - that toHash() must be declared 'nothrow @safe`. - -2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org> - - * intrinsics.cc (expand_intrinsic_bsf): Fix comment. - (expand_intrinsic_bsr): Use BIT_XOR_EXPR instead of MINUS_EXPR. - -2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> - - * Make-lang.in (D_TEXI_FILES): Add d/implement-d.texi. - * gdc.texi: Adjust introduction, include implement-d.texi. - * implement-d.texi: New file. - -2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> - - * Make-lang.in: Only include doc/include when building documentation. - (d.html): Rename html directory to $(build_htmldir)/gdc. - -2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.texi: Separate indices into options and keywords. - -2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.texi: Update gdc option documentation. - * lang.opt (frevert=intpromote): Correct documentation. - -2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/107592 - * toir.cc (IRVisitor::push_unrolled_continue_label): New method. - (IRVisitor::pop_unrolled_continue_label): New method. - (IRVisitor::visit (UnrolledLoopStatement *)): Use them instead of - push_continue_label and pop_continue_label. - -2022-11-23 Martin Liska <mliska@suse.cz> - - * Make-lang.in: Use it as $DO_LINK_MUTEX. - -2022-11-23 Marek Polacek <polacek@redhat.com> - - Revert: - 2022-11-23 Marek Polacek <polacek@redhat.com> - - * Make-lang.in: Remove NO_PIE_CFLAGS. - -2022-11-23 Marek Polacek <polacek@redhat.com> - - * Make-lang.in: Remove NO_PIE_CFLAGS. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/conf.py: New file. - * doc/copyright.rst: New file. - * doc/general-public-license-3.rst: New file. - * doc/gnu-free-documentation-license.rst: New file. - * doc/index.rst: New file. - * doc/indices-and-tables.rst: New file. - * doc/invoking-gdc.rst: New file. - * doc/invoking-gdc/code-generation.rst: New file. - * doc/invoking-gdc/developer-options.rst: New file. - * doc/invoking-gdc/input-and-output-files.rst: New file. - * doc/invoking-gdc/options-for-directory-search.rst: New file. - * doc/invoking-gdc/options-for-linking.rst: New file. - * doc/invoking-gdc/runtime-options.rst: New file. - * doc/invoking-gdc/warnings.rst: New file. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * d-target.def: Port to RST. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * Make-lang.in: Support Sphinx based documentation. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - - * gdc.texi: Removed. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * Make-lang.in: Support --with-sphinx-build. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * Make-lang.in: - Support installation if sphinx-build is missing. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/copyright.rst: - Add trailing newline. - * doc/general-public-license-3.rst: - Add trailing newline. - * doc/gnu-free-documentation-license.rst: - Add trailing newline. - * doc/index.rst: - Add trailing newline. - * doc/indices-and-tables.rst: - Add trailing newline. - * doc/invoking-gdc.rst: - Add trailing newline. - * doc/invoking-gdc/code-generation.rst: - Add trailing newline. - * doc/invoking-gdc/developer-options.rst: - Add trailing newline. - * doc/invoking-gdc/input-and-output-files.rst: - Add trailing newline. - * doc/invoking-gdc/options-for-directory-search.rst: - Add trailing newline. - * doc/invoking-gdc/options-for-linking.rst: - Add trailing newline. - * doc/invoking-gdc/runtime-options.rst: - Add trailing newline. - * doc/invoking-gdc/warnings.rst: - Add trailing newline. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-10 Martin Liska <mliska@suse.cz> - - * doc/conf.py: Add newline at last line. - -2022-11-10 Martin Liska <mliska@suse.cz> - - * doc/conf.py: Add newline at last line. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/copyright.rst: - Add trailing newline. - * doc/general-public-license-3.rst: - Add trailing newline. - * doc/gnu-free-documentation-license.rst: - Add trailing newline. - * doc/index.rst: - Add trailing newline. - * doc/indices-and-tables.rst: - Add trailing newline. - * doc/invoking-gdc.rst: - Add trailing newline. - * doc/invoking-gdc/code-generation.rst: - Add trailing newline. - * doc/invoking-gdc/developer-options.rst: - Add trailing newline. - * doc/invoking-gdc/input-and-output-files.rst: - Add trailing newline. - * doc/invoking-gdc/options-for-directory-search.rst: - Add trailing newline. - * doc/invoking-gdc/options-for-linking.rst: - Add trailing newline. - * doc/invoking-gdc/runtime-options.rst: - Add trailing newline. - * doc/invoking-gdc/warnings.rst: - Add trailing newline. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * Make-lang.in: - Support installation if sphinx-build is missing. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * Make-lang.in: Support --with-sphinx-build. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * gdc.texi: Removed. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * Make-lang.in: Support Sphinx based documentation. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * d-target.def: Port to RST. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/conf.py: New file. - * doc/copyright.rst: New file. - * doc/general-public-license-3.rst: New file. - * doc/gnu-free-documentation-license.rst: New file. - * doc/index.rst: New file. - * doc/indices-and-tables.rst: New file. - * doc/invoking-gdc.rst: New file. - * doc/invoking-gdc/code-generation.rst: New file. - * doc/invoking-gdc/developer-options.rst: New file. - * doc/invoking-gdc/input-and-output-files.rst: New file. - * doc/invoking-gdc/options-for-directory-search.rst: New file. - * doc/invoking-gdc/options-for-linking.rst: New file. - * doc/invoking-gdc/runtime-options.rst: New file. - * doc/invoking-gdc/warnings.rst: New file. - -2022-11-05 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-target.cc (Target::isVectorOpSupported): Remove cases for - comparison operators. - * intrinsics.cc (maybe_set_intrinsic): Remove cases for vector - comparison intrinsics. - (maybe_warn_intrinsic_mismatch): Likewise. - (expand_intrinsic_vec_cond): Remove. - (maybe_expand_intrinsic): Remove cases for vector comparison - intrinsics. - * intrinsics.def (INTRINSIC_EQUALMASK): Remove. - (INTRINSIC_NOTEQUALMASK): Remove. - (INTRINSIC_GREATERMASK): Remove. - (INTRINSIC_GREATEREQUALMASK): Remove. - -2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-attribs.cc (apply_user_attributes): Update for new front-end - interface. - * d-builtins.cc (d_init_versions): Predefine `D_Optimized' with - compiling with optimizations enabled. - * d-lang.cc (d_handle_option): Update for new front-end interface. - Handle new option `-fpreview=systemvariables'. - * dmd/MERGE: Merge upstream dmd e4f8919591. - * dmd/VERSION: Bump version to v2.101.0-beta.1. - * expr.cc (ExprVisitor::visit (AssignExp *)): Treat construction of - static arrays from a call expression as a simple assignment. - (ExprVisitor::visit (ArrayLiteralExp *)): Handle array literals with - `scope' storage. - * gdc.texi: Update documentation of `-fpreview=' options. - * lang.opt (fpreview=shortenedmethods): Remove. - (fpreview=systemvariables): New option. - -2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-target.def (d_minfo_section): Expand documentation of hook. - Default initialize to "minfo". - (d_minfo_start_name): Rename to ... - (d_minfo_section_start): ... this. Default initialize to - "__start_minfo". - (d_minfo_end_name): Rename to ... - (d_minfo_section_end): ... this. Default initialize to "__stop_minfo". - * modules.cc (register_moduleinfo): Use new targetdm hook names. - -2022-09-27 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd d579c467c1. - * decl.cc (layout_struct_initializer): Update for new front-end - interface. - * expr.cc (ExprVisitor::visit (AssignExp *)): Remove lowering of array - assignments. - (ExprVisitor::visit (NewExp *)): Add new lowering of new'ing - associative arrays to an _aaNew() library call. - * runtime.def (ARRAYSETASSIGN): Remove. - (AANEW): Define. - -2022-09-15 Richard Biener <rguenther@suse.de> - - * d-builtins.cc (d_build_c_type_nodes): Do not initialize - void_list_node. - -2022-08-27 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd 817610b16d. - * d-ctfloat.cc (CTFloat::parse): Update for new front-end interface. - * d-lang.cc (d_parse_file): Likewise. - * expr.cc (ExprVisitor::visit (AssignExp *)): Remove handling of array - assignments to non-trivial static and dynamic arrays. - * runtime.def (ARRAYASSIGN): Remove. - (ARRAYASSIGN_L): Remove. - (ARRAYASSIGN_R): Remove. - -2022-08-16 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/106638 - * gdc.texi: Update DIP links to point at upstream dlang/DIPs - repository. - -2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-tree.h (d_defer_declaration): Declare. - * decl.cc (function_needs_inline_definition_p): Defer checking - DECL_UNINLINABLE and DECL_DECLARED_INLINE_P. - (maybe_build_decl_tree): Call d_defer_declaration instead of - build_decl_tree. - * modules.cc (deferred_inline_declarations): New variable. - (build_module_tree): Set deferred_inline_declarations and a handle - declarations pushed to it. - (d_defer_declaration): New function. - -2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/106623 - * d-codegen.cc (underlying_complex_expr): New function. - (d_build_call): Handle passing native complex objects as the - library-defined equivalent. - * d-tree.h (underlying_complex_expr): Declare. - * expr.cc (ExprVisitor::visit (DotVarExp *)): Call - underlying_complex_expr instead of build_vconvert. - -2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-compiler.cc (Compiler::onParseModule): Call create_tinfo_types - when module name is object. - * typeinfo.cc (create_tinfo_types): Add guard for multiple - invocations. - -2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-codegen.cc (build_delegate_cst): Give anonymous delegate field - names same as per ABI spec. - -2022-08-09 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/106563 - * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Set semanticRun - before generating its symbol. - (function_defined_in_root_p): New function. - (function_needs_inline_definition_p): New function. - (maybe_build_decl_tree): New function. - (get_symbol_decl): Call maybe_build_decl_tree before returning symbol. - (start_function): Use function_defined_in_root_p instead of inline - test for locally defined symbols. - (set_linkage_for_decl): Check for inline functions before private or - protected symbols. - -2022-08-08 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/106555 - * d-target.cc (Target::isReturnOnStack): Check for return type size. - -2022-08-03 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd d7772a2369. - * dmd/VERSION: Bump version to v2.100.1. - * d-codegen.cc (get_frameinfo): Check whether decision to generate - closure changed since semantic finished. - * d-lang.cc (d_handle_option): Remove handling of -fdebug=level and - -fversion=level. - * decl.cc (DeclVisitor::visit (VarDeclaration *)): Generate evaluation - of noreturn variable initializers before throw. - * expr.cc (ExprVisitor::visit (AssignExp *)): Don't generate - assignment for noreturn types, only evaluate for side effects. - * lang.opt (fdebug=): Undocument -fdebug=level. - (fversion=): Undocument -fversion=level. - -2022-07-06 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd 56589f0f4. - -2022-07-06 Iain Buclaw <ibuclaw@gdcproject.org> - - * Make-lang.in (NOEXCEPTION_DFLAGS): Define. - (ALL_DFLAGS): Add NO_EXCEPTION_DFLAGS. - -2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/106139 - * d-convert.cc (convert_expr): Handle casting from array to vector. - (convert_for_rvalue): Rewrite vector to array casts of the same - element type into a constructor. - (convert_for_assignment): Return calling convert_for_rvalue. - * expr.cc (ExprVisitor::visit (VectorExp *)): Handle generating a - vector expression from a static array. - * toir.cc (IRVisitor::visit (ReturnStatement *)): Call - convert_for_rvalue on return value. - -2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org> - - * intrinsics.cc (build_shuffle_mask_type): Use to_constant when - getting the number of subparts from a vector type. - (expand_intrinsic_vec_shufflevector): Likewise. - -2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org> - - * intrinsics.cc: Include diagnostic.h, langhooks.h, - vec-perm-indices.h. - (maybe_set_intrinsic): Add cases for new simd intrinsics. - (warn_mismatched_return_type): New function. - (warn_mismatched_argument): New function. - (build_shuffle_mask_type): New function. - (maybe_warn_intrinsic_mismatch): New function. - (expand_intrinsic_vec_cond): New function. - (expand_intrinsic_vec_convert): New function. - (expand_intrinsic_vec_blend): New function. - (expand_intrinsic_vec_shuffle): New function. - (expand_intrinsic_vec_shufflevector): New function. - (expand_intrinsic_vec_load_unaligned): New function. - (expand_intrinsic_vec_store_unaligned): New function. - (maybe_expand_intrinsic): Check signature of intrinsic before handing - off to front-end lowering. Add cases for new simd intrinsics. - * intrinsics.def (INTRINSIC_LOADUNALIGNED): Define intrinsic. - (INTRINSIC_STOREUNALIGNED): Define intrinsic. - (INTRINSIC_SHUFFLE): Define intrinsic. - (INTRINSIC_SHUFFLEVECTOR): Define intrinsic. - (INTRINSIC_CONVERTVECTOR): Define intrinsic. - (INTRINSIC_BLENDVECTOR): Define intrinsic. - (INTRINSIC_EQUALMASK): Define intrinsic. - (INTRINSIC_NOTEQUALMASK): Define intrinsic. - (INTRINSIC_GREATERMASK): Define intrinsic. - (INTRINSIC_GREATEREQUALMASK): Define intrinsic. - -2022-06-28 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-codegen.cc: Include gimple-expr.h. - (force_target_expr): Use create_tmp_var_raw. - * decl.cc: Inlucde gimple-expr.h. - (build_local_temp): Use create_tmp_var_raw. - * intrinsics.cc (expand_intrinsic_rotate): Use get_callee_fndecl. - (maybe_expand_intrinsic): Likewise. - -2022-06-28 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-attribs.cc (handle_omp_declare_simd_attribute): New function. - (d_handle_simd_attribute): New function. - (d_langhook_common_attribute_table): Add 'omp declare simd' attribute. - (d_langhook_attribute_table): Add simd attribute. - -2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-attribs.cc (d_handle_section_attribute): Update error message. - (d_handle_symver_attribute): Likewise. - (d_handle_no_sanitize_attribute): Likewise. - (d_handle_visibility_attribute): Likewise. - -2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/105413 - * d-attribs.cc (d_handle_register_attribute): New function. - (d_langhook_attribute_table): Add register attribute. - * d-codegen.cc (d_mark_addressable): Error if taken address of - register variable. - (build_frame_type): Error if register variable has non-local - references. - * d-tree.h (d_mark_addressable): Add complain parameter. - * decl.cc (get_symbol_decl): Mark register varibles DECL_REGISTER. - Error when register variable declared thread-local or extern. - * expr.cc (ExprVisitor::visit (IndexExp *)): Don't complain about - marking register vectors as addressable in an ARRAY_REF. - -2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-codegen.cc (build_array_index): Rename to... - (build_pointer_index): ...this. - * d-tree.h (build_array_index): Rename declaration to... - (build_pointer_index): ...this. - * expr.cc (ExprVisitor::visit (IndexExp *)): Construct indexes of - ARRAY_TYPE using ARRAY_REF. - (ExprVisitor::visit (SliceExp *)): Update. - * intrinsics.cc (expand_intrinsic_bt): Update. - -2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd 529110f66. - * decl.cc (DeclVisitor::visit (TupleDeclaration *)): Update for new - front-end interface. - * types.cc (layout_aggregate_members): Likewise. - -2022-06-22 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd 6203135dc. - * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoStructDeclaration *)): - Update for new front-end interface. - (SpeculativeTypeVisitor::visit (TypeStruct *)): Likewise. - -2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-attribs.cc (d_langhook_attribute_table): Add no_sanitize. - (d_handle_no_sanitize_attribute): New function. - -2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-attribs.cc (d_langhook_attribute_table): Add visibility. - (insert_type_attribute): Use decl_attributes instead of - merge_attributes. - (insert_decl_attribute): Likewise. - (apply_user_attributes): Do nothing when no UDAs applied. - (d_handle_visibility_attribute): New function. - * d-gimplify.cc (d_gimplify_binary_expr): Adjust. - * d-tree.h (set_visibility_for_decl): Declare. - * decl.cc (get_symbol_decl): Move setting of visibility flags to... - (set_visibility_for_decl): ... here. New function. - * types.cc (TypeVisitor::visit (TypeStruct *)): Call - set_visibility_for_decl(). - (TypeVisitor::visit (TypeClass *)): Likewise. - -2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> - - * typeinfo.cc (make_internal_typeinfo): Set TYPE_ARTIFICIAL. - -2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-attribs.cc (apply_user_attributes): Set ATTR_FLAG_TYPE_IN_PLACE - only on incomplete types. - * d-codegen.cc (copy_aggregate_type): Set TYPE_STUB_DECL after copy. - * d-compiler.cc (Compiler::onParseModule): Adjust. - * d-tree.h (AGGREGATE_OR_ENUM_TYPE_CHECK): Define. - (TYPE_FORWARD_REFERENCES): Define. - * decl.cc (gcc_attribute_p): Update documentation. - (DeclVisitor::visit (StructDeclaration *)): Exit before building type - node if gcc.attributes symbol. - (DeclVisitor::visit (ClassDeclaration *)): Build type node and add - TYPE_NAME to current binding level before emitting anything else. - (DeclVisitor::visit (InterfaceDeclaration *)): Likewise. - (DeclVisitor::visit (EnumDeclaration *)): Likewise. - (build_type_decl): Move rest_of_decl_compilation() call to - finish_aggregate_type(). - * types.cc (insert_aggregate_field): Move layout_decl() call to - finish_aggregate_type(). - (insert_aggregate_bitfield): Likewise. - (layout_aggregate_members): Adjust. - (finish_incomplete_fields): New function. - (finish_aggregate_type): Handle forward referenced field types. Call - rest_of_type_compilation() after completing the aggregate. - (TypeVisitor::visit (TypeEnum *)): Don't set size and alignment until - after apply_user_attributes(). Call rest_of_type_compilation() after - completing the enumeral. - (TypeVisitor::visit (TypeStruct *)): Call build_type_decl() before - apply_user_attributes(). Don't set size, alignment, and mode until - after apply_user_attributes(). - (TypeVisitor::visit (TypeClass *)): Call build_type_decl() before - applly_user_attributes(). - -2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-builtins.cc: Include builtins.h. - (gcc_builtins_libfuncs): Remove. - (strip_type_modifiers): New function. - (matches_builtin_type): New function. - (covariant_with_builtin_type_p): New function. - (maybe_set_builtin_1): Set front-end built-in if identifier matches - gcc built-in name. Apply user-specified attributes and assembler name - overrides to the built-in. Warn about built-in declaration mismatches. - (d_builtin_function): Set IDENTIFIER_DECL_TREE of built-in functions. - * d-compiler.cc (Compiler::onParseModule): Scan all modules for any - identifiers that match built-in function names. - * lang.opt (Wbuiltin-declaration-mismatch): New option. - -2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-tree.h (check_typeinfo_type): Add Expression* parameter. - (build_typeinfo): Likewise. Declare new override. - * expr.cc (ExprVisitor): Call build_typeinfo with Expression*. - * typeinfo.cc (check_typeinfo_type): Include expression in the - diagnostic message. - (build_typeinfo): New override. - -2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd 821ed393d. - * expr.cc (ExprVisitor::visit (NewExp *)): Remove handled of - allocating `@nogc' throwable object. - * runtime.def (NEWTHROW): Remove. - -2022-06-02 David Malcolm <dmalcolm@redhat.com> - - * d-lang.cc (d_get_sarif_source_language): New. - (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine. - -2022-05-31 Jason Merrill <jason@redhat.com> - - * Make-lang.in (d.tags): Just look at *.cc. - -2022-05-31 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/105544 - * d-lang.cc (d_parse_file): Zero padding past the end of the stdin - buffer so the D lexer has a sentinel to stop parsing at. - -2022-05-27 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd 4d07f22f2 - * d-lang.cc (d_handle_option): Handle OPT_fpreview_fiximmutableconv. - * lang.opt (fpreview=fiximmutableconv): New option. - * runtime.def (ARRAYAPPENDT): Remove. - -2022-05-25 Iain Buclaw <ibuclaw@gdcproject.org> - - * expr.cc: Add "final" and "override" to all "visit" vfunc decls - as appropriate. - * imports.cc: Likewise. - * typeinfo.cc: Likewise. - -2022-05-24 David Malcolm <dmalcolm@redhat.com> - - * decl.cc: Add "final" and "override" to all "visit" vfunc decls - as appropriate. - * expr.cc: Likewise. - * toir.cc: Likewise. - * typeinfo.cc: Likewise. - * types.cc: Likewise. - -2022-05-16 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd 60bfa0ee7. - * dmd/VERSION: Update version to v2.100.0. - * d-builtins.cc (d_init_versions): Update for new front-end interface. - * d-codegen.cc (d_decl_context): Use resolvedLinkage to get - declaration linkage. - (build_struct_literal): Track offset in bits. - * d-gimplify.cc (d_gimplify_modify_expr): Check both operands for a - bit-field reference. - * d-lang.cc (d_handle_option): Handle -fpreview=bitfields, remove - -frevert=markdown and -ftransition=vmarkdown. - (d_post_options): Set flag_rtti and flag_exceptions if -fno-druntime - was seen on command-line. - (d_parse_file): Update for new front-end interface. - (d_type_promotes_to): Use resolvedLinkage to get declaration linkage. - * decl.cc (make_thunk): Likewise. - * expr.cc (ExprVisitor::visit (CatAssignExp *)): Remove lowering for - appending of an element or array to another array. - * lang.opt (fpreview=bitfields): New option. - (frevert=markdown): Remove. - (ftransition=vmarkdown): Remove. - * types.cc (layout_aggregate_members): Ignore anonymous fields in - total count. - -2022-04-28 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd 313d28b3d. - * d-port.cc (Port::memicmp): Use d_size_t instead of size_t. - (Port::valcpy): Likewise. - -2022-04-21 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd eb7bee331. - * dmd/VERSION: Update version to v2.100.0-beta.1. - * d-lang.cc (d_handle_option): Handle OPT_frevert_dip1000. - * lang.opt (frevert=dip1000): New option. - -2022-04-13 Iain Buclaw <ibuclaw@gdcproject.org> - - * Make-lang.in (D_FRONTEND_OBJS): Add d/common-bitfields.o, - d/mustuse.o. - * d-ctfloat.cc (CTFloat::isIdentical): Don't treat NaN values as - identical. - * dmd/MERGE: Merge upstream dmd 4d1bfcf14. - * expr.cc (ExprVisitor::visit (VoidInitExp *)): New. - -2022-04-03 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-lang.cc: Include dmd/template.h. - (d_parse_file): Call printTemplateStats when vtemplates is set. - * decl.cc (start_function): Remove OPT_Wtemplates warning. - * lang.opt (Wtemplates): Remove. - -2022-04-02 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd 47871363d. - * d-builtins.cc (d_init_versions): Add predefined version identifiers - D_PreConditions, D_PostConditions, and D_Invariants. - * d-codegen.cc (d_build_call): Update for new front-end interface. - (build_frame_type): Generate reference field for NRVO variables with - nested references. - (build_closure): Generate assignment of return address to closure. - * d-tree.h (DECL_INSTANTIATED): Use DECL_LANG_FLAG_2. - (bind_expr): Remove. - * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Update for new - front-end interface. - (get_symbol_decl): Likewise. - (get_decl_tree): Check DECL_LANG_FRAME_FIELD before DECL_LANG_NRVO. - Dereference the field when both are set. - * expr.cc (ExprVisitor::visit (DeleteExp *)): Update for new front-end - interface. - * modules.cc (get_internal_fn): Likewise. - * toir.cc (IRVisitor::visit (ReturnStatement *)): Likewise. - -2022-03-21 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/105004 - * d-codegen.cc (build_struct_literal): Use complex_expr to build - complex expressions from __c_complex types. - -2022-03-21 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/104911 - * dmd/MERGE: Merge upstream dmd 2503f17e5. - * d-convert.cc (convert_expr): Replace d_uns64 with dinteger_t. - * d-lang.cc: Remove dmd/root/file.h include. - (d_handle_option): Update for new front-end interface. - (d_parse_file): Likewise. - -2022-03-13 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd 02a3fafc6. - * dmd/VERSION: Update version to v2.099.0. - * imports.cc (ImportVisitor::visit (EnumDeclaration *)): Don't cache - decl in front-end AST node. - (ImportVisitor::visit (AggregateDeclaration *)): Likewise. - (ImportVisitor::visit (ClassDeclaration *)): Likewise. - -2022-03-11 Iain Buclaw <ibuclaw@gdcproject.org> - - * imports.cc (imported_decls): Define. - (class ImportVisitor): Add result_ field. - (ImportVisitor::result): New method. - (ImportVisitor::visit (Module *)): Store decl to result_. - (ImportVisitor::visit (Import *)): Likewise. - (ImportVisitor::visit (AliasDeclaration *)): Don't cache decl in - front-end AST node. - (ImportVisitor::visit (OverDeclaration *)): Likewise. - (ImportVisitor::visit (FuncDeclaration *)): Likewise. - (ImportVisitor::visit (Declaration *)): Likewise. - (build_import_decl): Use imported_decls to cache and lookup built - declarations. - -2022-03-11 Iain Buclaw <ibuclaw@gdcproject.org> - - PR translation/104552 - * lang.opt (fdump-cxx-spec=): Fix typo in argument handle. - (fpreview=fixaliasthis): Quote `alias this' as code. - -2022-03-02 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd 423f19b41. - -2022-02-28 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-target.cc (Target::_init): Initialize C type size fields. - * dmd/MERGE: Merge upstream dmd cf63dd8e5. - * dmd/VERSION: Update version to v2.099.0-rc.1. - -2022-02-20 Iain Buclaw <ibuclaw@gdcproject.org> - - * expr.cc (ExprVisitor::visit (DeleteExp *)): Remove handling of - deleting GC allocated classes. - * runtime.def (DELCLASS): Remove. - (DELINTERFACE): Remove. - -2022-02-20 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd cb49e99f8. - * dmd/VERSION: Update version to v2.099.0-beta.1. - * decl.cc (layout_class_initializer): Update call to NewExp::create. - * expr.cc (ExprVisitor::visit (DeleteExp *)): Remove handling of - deleting arrays and pointers. - (ExprVisitor::visit (DotVarExp *)): Convert complex types to the - front-end library type representing them. - (ExprVisitor::visit (StringExp *)): Use getCodeUnit instead of charAt - to get the value of each index in a string expression. - * runtime.def (DELMEMORY): Remove. - (DELARRAYT): Remove. - * types.cc (TypeVisitor::visit (TypeEnum *)): Handle anonymous enums. - -2022-02-16 Iain Buclaw <ibuclaw@gdcproject.org> - - * d-builtins.cc (d_build_builtins_module): Set purity of DECL_PURE_P - functions to PURE::const_. - * d-gimplify.cc (bit_field_ref): New function. - (d_gimplify_modify_expr): Handle implicit casting for assignments to - bit-fields. - (d_gimplify_unary_expr): New function. - (d_gimplify_binary_expr): New function. - (d_gimplify_expr): Handle UNARY_CLASS_P and BINARY_CLASS_P. - * d-target.cc (Target::_init): Initialize bitFieldStyle. - (TargetCPP::parameterType): Update signature. - (Target::supportsLinkerDirective): New function. - * dmd/MERGE: Merge upstream dmd 52844d4b1. - * expr.cc (ExprVisitor::visit (ThrowExp *)): New function. - * types.cc (d_build_bitfield_integer_type): New function. - (insert_aggregate_bitfield): New function. - (layout_aggregate_members): Handle inserting bit-fields into an - aggregate type. - -2022-01-31 Martin Liska <mliska@suse.cz> - - PR d/104287 - * decl.cc (d_finish_decl): Remove trailing dot. - -2022-01-28 Martin Liska <mliska@suse.cz> - - * decl.cc (d_finish_decl): Do not use leading capital letter. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * d-gimplify.cc: Rename .c names to .cc. - * d-incpath.cc: Likewise. - * lang-specs.h: Likewise. - -2022-01-03 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/103840 - * dmd/MERGE: Merge upstream dmd 001bfd97b. - * Make-lang.in (D_FRONTEND_OBJS): Rename d/complex.o to - d/root-complex.o, and d/utf.o to d/root/utf.o. - -2022-01-03 Jakub Jelinek <jakub@redhat.com> - - * gdc.texi: Bump @copyrights-d year. - -Copyright (C) 2022 Free Software Foundation, Inc. +Copyright (C) 2023 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-2022 b/gcc/d/ChangeLog-2022 new file mode 100644 index 0000000000000000000000000000000000000000..7630f24840156811bad76f2ea4399991cee0400a --- /dev/null +++ b/gcc/d/ChangeLog-2022 @@ -0,0 +1,833 @@ +2022-12-12 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/108055 + * decl.cc (function_defined_in_root_p): Check all enclosing template + instances for definition in a root module. + (function_needs_inline_definition_p): Replace call to + function_defined_in_root_p with test for outer module `isRoot'. + +2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/108050 + * decl.cc (DeclVisitor::visit (Import *)): Handle build_import_decl + returning a TREE_LIST. + * imports.cc (ImportVisitor::visit (OverloadSet *)): New override. + +2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd c8ae4adb2e. + * typeinfo.cc (check_typeinfo_type): Update for new front-end + interface. + (TypeInfoVisitor::visit (TypeInfoStructDeclaration *)): Remove warning + that toHash() must be declared 'nothrow @safe`. + +2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org> + + * intrinsics.cc (expand_intrinsic_bsf): Fix comment. + (expand_intrinsic_bsr): Use BIT_XOR_EXPR instead of MINUS_EXPR. + +2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> + + * Make-lang.in (D_TEXI_FILES): Add d/implement-d.texi. + * gdc.texi: Adjust introduction, include implement-d.texi. + * implement-d.texi: New file. + +2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> + + * Make-lang.in: Only include doc/include when building documentation. + (d.html): Rename html directory to $(build_htmldir)/gdc. + +2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.texi: Separate indices into options and keywords. + +2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.texi: Update gdc option documentation. + * lang.opt (frevert=intpromote): Correct documentation. + +2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/107592 + * toir.cc (IRVisitor::push_unrolled_continue_label): New method. + (IRVisitor::pop_unrolled_continue_label): New method. + (IRVisitor::visit (UnrolledLoopStatement *)): Use them instead of + push_continue_label and pop_continue_label. + +2022-11-23 Martin Liska <mliska@suse.cz> + + * Make-lang.in: Use it as $DO_LINK_MUTEX. + +2022-11-23 Marek Polacek <polacek@redhat.com> + + Revert: + 2022-11-23 Marek Polacek <polacek@redhat.com> + + * Make-lang.in: Remove NO_PIE_CFLAGS. + +2022-11-23 Marek Polacek <polacek@redhat.com> + + * Make-lang.in: Remove NO_PIE_CFLAGS. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/conf.py: New file. + * doc/copyright.rst: New file. + * doc/general-public-license-3.rst: New file. + * doc/gnu-free-documentation-license.rst: New file. + * doc/index.rst: New file. + * doc/indices-and-tables.rst: New file. + * doc/invoking-gdc.rst: New file. + * doc/invoking-gdc/code-generation.rst: New file. + * doc/invoking-gdc/developer-options.rst: New file. + * doc/invoking-gdc/input-and-output-files.rst: New file. + * doc/invoking-gdc/options-for-directory-search.rst: New file. + * doc/invoking-gdc/options-for-linking.rst: New file. + * doc/invoking-gdc/runtime-options.rst: New file. + * doc/invoking-gdc/warnings.rst: New file. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * d-target.def: Port to RST. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * Make-lang.in: Support Sphinx based documentation. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + + * gdc.texi: Removed. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * Make-lang.in: Support --with-sphinx-build. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * Make-lang.in: + Support installation if sphinx-build is missing. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/copyright.rst: + Add trailing newline. + * doc/general-public-license-3.rst: + Add trailing newline. + * doc/gnu-free-documentation-license.rst: + Add trailing newline. + * doc/index.rst: + Add trailing newline. + * doc/indices-and-tables.rst: + Add trailing newline. + * doc/invoking-gdc.rst: + Add trailing newline. + * doc/invoking-gdc/code-generation.rst: + Add trailing newline. + * doc/invoking-gdc/developer-options.rst: + Add trailing newline. + * doc/invoking-gdc/input-and-output-files.rst: + Add trailing newline. + * doc/invoking-gdc/options-for-directory-search.rst: + Add trailing newline. + * doc/invoking-gdc/options-for-linking.rst: + Add trailing newline. + * doc/invoking-gdc/runtime-options.rst: + Add trailing newline. + * doc/invoking-gdc/warnings.rst: + Add trailing newline. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-10 Martin Liska <mliska@suse.cz> + + * doc/conf.py: Add newline at last line. + +2022-11-10 Martin Liska <mliska@suse.cz> + + * doc/conf.py: Add newline at last line. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/copyright.rst: + Add trailing newline. + * doc/general-public-license-3.rst: + Add trailing newline. + * doc/gnu-free-documentation-license.rst: + Add trailing newline. + * doc/index.rst: + Add trailing newline. + * doc/indices-and-tables.rst: + Add trailing newline. + * doc/invoking-gdc.rst: + Add trailing newline. + * doc/invoking-gdc/code-generation.rst: + Add trailing newline. + * doc/invoking-gdc/developer-options.rst: + Add trailing newline. + * doc/invoking-gdc/input-and-output-files.rst: + Add trailing newline. + * doc/invoking-gdc/options-for-directory-search.rst: + Add trailing newline. + * doc/invoking-gdc/options-for-linking.rst: + Add trailing newline. + * doc/invoking-gdc/runtime-options.rst: + Add trailing newline. + * doc/invoking-gdc/warnings.rst: + Add trailing newline. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * Make-lang.in: + Support installation if sphinx-build is missing. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * Make-lang.in: Support --with-sphinx-build. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * gdc.texi: Removed. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * Make-lang.in: Support Sphinx based documentation. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * d-target.def: Port to RST. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/conf.py: New file. + * doc/copyright.rst: New file. + * doc/general-public-license-3.rst: New file. + * doc/gnu-free-documentation-license.rst: New file. + * doc/index.rst: New file. + * doc/indices-and-tables.rst: New file. + * doc/invoking-gdc.rst: New file. + * doc/invoking-gdc/code-generation.rst: New file. + * doc/invoking-gdc/developer-options.rst: New file. + * doc/invoking-gdc/input-and-output-files.rst: New file. + * doc/invoking-gdc/options-for-directory-search.rst: New file. + * doc/invoking-gdc/options-for-linking.rst: New file. + * doc/invoking-gdc/runtime-options.rst: New file. + * doc/invoking-gdc/warnings.rst: New file. + +2022-11-05 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-target.cc (Target::isVectorOpSupported): Remove cases for + comparison operators. + * intrinsics.cc (maybe_set_intrinsic): Remove cases for vector + comparison intrinsics. + (maybe_warn_intrinsic_mismatch): Likewise. + (expand_intrinsic_vec_cond): Remove. + (maybe_expand_intrinsic): Remove cases for vector comparison + intrinsics. + * intrinsics.def (INTRINSIC_EQUALMASK): Remove. + (INTRINSIC_NOTEQUALMASK): Remove. + (INTRINSIC_GREATERMASK): Remove. + (INTRINSIC_GREATEREQUALMASK): Remove. + +2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-attribs.cc (apply_user_attributes): Update for new front-end + interface. + * d-builtins.cc (d_init_versions): Predefine `D_Optimized' with + compiling with optimizations enabled. + * d-lang.cc (d_handle_option): Update for new front-end interface. + Handle new option `-fpreview=systemvariables'. + * dmd/MERGE: Merge upstream dmd e4f8919591. + * dmd/VERSION: Bump version to v2.101.0-beta.1. + * expr.cc (ExprVisitor::visit (AssignExp *)): Treat construction of + static arrays from a call expression as a simple assignment. + (ExprVisitor::visit (ArrayLiteralExp *)): Handle array literals with + `scope' storage. + * gdc.texi: Update documentation of `-fpreview=' options. + * lang.opt (fpreview=shortenedmethods): Remove. + (fpreview=systemvariables): New option. + +2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-target.def (d_minfo_section): Expand documentation of hook. + Default initialize to "minfo". + (d_minfo_start_name): Rename to ... + (d_minfo_section_start): ... this. Default initialize to + "__start_minfo". + (d_minfo_end_name): Rename to ... + (d_minfo_section_end): ... this. Default initialize to "__stop_minfo". + * modules.cc (register_moduleinfo): Use new targetdm hook names. + +2022-09-27 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd d579c467c1. + * decl.cc (layout_struct_initializer): Update for new front-end + interface. + * expr.cc (ExprVisitor::visit (AssignExp *)): Remove lowering of array + assignments. + (ExprVisitor::visit (NewExp *)): Add new lowering of new'ing + associative arrays to an _aaNew() library call. + * runtime.def (ARRAYSETASSIGN): Remove. + (AANEW): Define. + +2022-09-15 Richard Biener <rguenther@suse.de> + + * d-builtins.cc (d_build_c_type_nodes): Do not initialize + void_list_node. + +2022-08-27 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd 817610b16d. + * d-ctfloat.cc (CTFloat::parse): Update for new front-end interface. + * d-lang.cc (d_parse_file): Likewise. + * expr.cc (ExprVisitor::visit (AssignExp *)): Remove handling of array + assignments to non-trivial static and dynamic arrays. + * runtime.def (ARRAYASSIGN): Remove. + (ARRAYASSIGN_L): Remove. + (ARRAYASSIGN_R): Remove. + +2022-08-16 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/106638 + * gdc.texi: Update DIP links to point at upstream dlang/DIPs + repository. + +2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-tree.h (d_defer_declaration): Declare. + * decl.cc (function_needs_inline_definition_p): Defer checking + DECL_UNINLINABLE and DECL_DECLARED_INLINE_P. + (maybe_build_decl_tree): Call d_defer_declaration instead of + build_decl_tree. + * modules.cc (deferred_inline_declarations): New variable. + (build_module_tree): Set deferred_inline_declarations and a handle + declarations pushed to it. + (d_defer_declaration): New function. + +2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/106623 + * d-codegen.cc (underlying_complex_expr): New function. + (d_build_call): Handle passing native complex objects as the + library-defined equivalent. + * d-tree.h (underlying_complex_expr): Declare. + * expr.cc (ExprVisitor::visit (DotVarExp *)): Call + underlying_complex_expr instead of build_vconvert. + +2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-compiler.cc (Compiler::onParseModule): Call create_tinfo_types + when module name is object. + * typeinfo.cc (create_tinfo_types): Add guard for multiple + invocations. + +2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-codegen.cc (build_delegate_cst): Give anonymous delegate field + names same as per ABI spec. + +2022-08-09 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/106563 + * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Set semanticRun + before generating its symbol. + (function_defined_in_root_p): New function. + (function_needs_inline_definition_p): New function. + (maybe_build_decl_tree): New function. + (get_symbol_decl): Call maybe_build_decl_tree before returning symbol. + (start_function): Use function_defined_in_root_p instead of inline + test for locally defined symbols. + (set_linkage_for_decl): Check for inline functions before private or + protected symbols. + +2022-08-08 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/106555 + * d-target.cc (Target::isReturnOnStack): Check for return type size. + +2022-08-03 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd d7772a2369. + * dmd/VERSION: Bump version to v2.100.1. + * d-codegen.cc (get_frameinfo): Check whether decision to generate + closure changed since semantic finished. + * d-lang.cc (d_handle_option): Remove handling of -fdebug=level and + -fversion=level. + * decl.cc (DeclVisitor::visit (VarDeclaration *)): Generate evaluation + of noreturn variable initializers before throw. + * expr.cc (ExprVisitor::visit (AssignExp *)): Don't generate + assignment for noreturn types, only evaluate for side effects. + * lang.opt (fdebug=): Undocument -fdebug=level. + (fversion=): Undocument -fversion=level. + +2022-07-06 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd 56589f0f4. + +2022-07-06 Iain Buclaw <ibuclaw@gdcproject.org> + + * Make-lang.in (NOEXCEPTION_DFLAGS): Define. + (ALL_DFLAGS): Add NO_EXCEPTION_DFLAGS. + +2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/106139 + * d-convert.cc (convert_expr): Handle casting from array to vector. + (convert_for_rvalue): Rewrite vector to array casts of the same + element type into a constructor. + (convert_for_assignment): Return calling convert_for_rvalue. + * expr.cc (ExprVisitor::visit (VectorExp *)): Handle generating a + vector expression from a static array. + * toir.cc (IRVisitor::visit (ReturnStatement *)): Call + convert_for_rvalue on return value. + +2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org> + + * intrinsics.cc (build_shuffle_mask_type): Use to_constant when + getting the number of subparts from a vector type. + (expand_intrinsic_vec_shufflevector): Likewise. + +2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org> + + * intrinsics.cc: Include diagnostic.h, langhooks.h, + vec-perm-indices.h. + (maybe_set_intrinsic): Add cases for new simd intrinsics. + (warn_mismatched_return_type): New function. + (warn_mismatched_argument): New function. + (build_shuffle_mask_type): New function. + (maybe_warn_intrinsic_mismatch): New function. + (expand_intrinsic_vec_cond): New function. + (expand_intrinsic_vec_convert): New function. + (expand_intrinsic_vec_blend): New function. + (expand_intrinsic_vec_shuffle): New function. + (expand_intrinsic_vec_shufflevector): New function. + (expand_intrinsic_vec_load_unaligned): New function. + (expand_intrinsic_vec_store_unaligned): New function. + (maybe_expand_intrinsic): Check signature of intrinsic before handing + off to front-end lowering. Add cases for new simd intrinsics. + * intrinsics.def (INTRINSIC_LOADUNALIGNED): Define intrinsic. + (INTRINSIC_STOREUNALIGNED): Define intrinsic. + (INTRINSIC_SHUFFLE): Define intrinsic. + (INTRINSIC_SHUFFLEVECTOR): Define intrinsic. + (INTRINSIC_CONVERTVECTOR): Define intrinsic. + (INTRINSIC_BLENDVECTOR): Define intrinsic. + (INTRINSIC_EQUALMASK): Define intrinsic. + (INTRINSIC_NOTEQUALMASK): Define intrinsic. + (INTRINSIC_GREATERMASK): Define intrinsic. + (INTRINSIC_GREATEREQUALMASK): Define intrinsic. + +2022-06-28 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-codegen.cc: Include gimple-expr.h. + (force_target_expr): Use create_tmp_var_raw. + * decl.cc: Inlucde gimple-expr.h. + (build_local_temp): Use create_tmp_var_raw. + * intrinsics.cc (expand_intrinsic_rotate): Use get_callee_fndecl. + (maybe_expand_intrinsic): Likewise. + +2022-06-28 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-attribs.cc (handle_omp_declare_simd_attribute): New function. + (d_handle_simd_attribute): New function. + (d_langhook_common_attribute_table): Add 'omp declare simd' attribute. + (d_langhook_attribute_table): Add simd attribute. + +2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-attribs.cc (d_handle_section_attribute): Update error message. + (d_handle_symver_attribute): Likewise. + (d_handle_no_sanitize_attribute): Likewise. + (d_handle_visibility_attribute): Likewise. + +2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/105413 + * d-attribs.cc (d_handle_register_attribute): New function. + (d_langhook_attribute_table): Add register attribute. + * d-codegen.cc (d_mark_addressable): Error if taken address of + register variable. + (build_frame_type): Error if register variable has non-local + references. + * d-tree.h (d_mark_addressable): Add complain parameter. + * decl.cc (get_symbol_decl): Mark register varibles DECL_REGISTER. + Error when register variable declared thread-local or extern. + * expr.cc (ExprVisitor::visit (IndexExp *)): Don't complain about + marking register vectors as addressable in an ARRAY_REF. + +2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-codegen.cc (build_array_index): Rename to... + (build_pointer_index): ...this. + * d-tree.h (build_array_index): Rename declaration to... + (build_pointer_index): ...this. + * expr.cc (ExprVisitor::visit (IndexExp *)): Construct indexes of + ARRAY_TYPE using ARRAY_REF. + (ExprVisitor::visit (SliceExp *)): Update. + * intrinsics.cc (expand_intrinsic_bt): Update. + +2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd 529110f66. + * decl.cc (DeclVisitor::visit (TupleDeclaration *)): Update for new + front-end interface. + * types.cc (layout_aggregate_members): Likewise. + +2022-06-22 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd 6203135dc. + * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoStructDeclaration *)): + Update for new front-end interface. + (SpeculativeTypeVisitor::visit (TypeStruct *)): Likewise. + +2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-attribs.cc (d_langhook_attribute_table): Add no_sanitize. + (d_handle_no_sanitize_attribute): New function. + +2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-attribs.cc (d_langhook_attribute_table): Add visibility. + (insert_type_attribute): Use decl_attributes instead of + merge_attributes. + (insert_decl_attribute): Likewise. + (apply_user_attributes): Do nothing when no UDAs applied. + (d_handle_visibility_attribute): New function. + * d-gimplify.cc (d_gimplify_binary_expr): Adjust. + * d-tree.h (set_visibility_for_decl): Declare. + * decl.cc (get_symbol_decl): Move setting of visibility flags to... + (set_visibility_for_decl): ... here. New function. + * types.cc (TypeVisitor::visit (TypeStruct *)): Call + set_visibility_for_decl(). + (TypeVisitor::visit (TypeClass *)): Likewise. + +2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> + + * typeinfo.cc (make_internal_typeinfo): Set TYPE_ARTIFICIAL. + +2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-attribs.cc (apply_user_attributes): Set ATTR_FLAG_TYPE_IN_PLACE + only on incomplete types. + * d-codegen.cc (copy_aggregate_type): Set TYPE_STUB_DECL after copy. + * d-compiler.cc (Compiler::onParseModule): Adjust. + * d-tree.h (AGGREGATE_OR_ENUM_TYPE_CHECK): Define. + (TYPE_FORWARD_REFERENCES): Define. + * decl.cc (gcc_attribute_p): Update documentation. + (DeclVisitor::visit (StructDeclaration *)): Exit before building type + node if gcc.attributes symbol. + (DeclVisitor::visit (ClassDeclaration *)): Build type node and add + TYPE_NAME to current binding level before emitting anything else. + (DeclVisitor::visit (InterfaceDeclaration *)): Likewise. + (DeclVisitor::visit (EnumDeclaration *)): Likewise. + (build_type_decl): Move rest_of_decl_compilation() call to + finish_aggregate_type(). + * types.cc (insert_aggregate_field): Move layout_decl() call to + finish_aggregate_type(). + (insert_aggregate_bitfield): Likewise. + (layout_aggregate_members): Adjust. + (finish_incomplete_fields): New function. + (finish_aggregate_type): Handle forward referenced field types. Call + rest_of_type_compilation() after completing the aggregate. + (TypeVisitor::visit (TypeEnum *)): Don't set size and alignment until + after apply_user_attributes(). Call rest_of_type_compilation() after + completing the enumeral. + (TypeVisitor::visit (TypeStruct *)): Call build_type_decl() before + apply_user_attributes(). Don't set size, alignment, and mode until + after apply_user_attributes(). + (TypeVisitor::visit (TypeClass *)): Call build_type_decl() before + applly_user_attributes(). + +2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-builtins.cc: Include builtins.h. + (gcc_builtins_libfuncs): Remove. + (strip_type_modifiers): New function. + (matches_builtin_type): New function. + (covariant_with_builtin_type_p): New function. + (maybe_set_builtin_1): Set front-end built-in if identifier matches + gcc built-in name. Apply user-specified attributes and assembler name + overrides to the built-in. Warn about built-in declaration mismatches. + (d_builtin_function): Set IDENTIFIER_DECL_TREE of built-in functions. + * d-compiler.cc (Compiler::onParseModule): Scan all modules for any + identifiers that match built-in function names. + * lang.opt (Wbuiltin-declaration-mismatch): New option. + +2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-tree.h (check_typeinfo_type): Add Expression* parameter. + (build_typeinfo): Likewise. Declare new override. + * expr.cc (ExprVisitor): Call build_typeinfo with Expression*. + * typeinfo.cc (check_typeinfo_type): Include expression in the + diagnostic message. + (build_typeinfo): New override. + +2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd 821ed393d. + * expr.cc (ExprVisitor::visit (NewExp *)): Remove handled of + allocating `@nogc' throwable object. + * runtime.def (NEWTHROW): Remove. + +2022-06-02 David Malcolm <dmalcolm@redhat.com> + + * d-lang.cc (d_get_sarif_source_language): New. + (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine. + +2022-05-31 Jason Merrill <jason@redhat.com> + + * Make-lang.in (d.tags): Just look at *.cc. + +2022-05-31 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/105544 + * d-lang.cc (d_parse_file): Zero padding past the end of the stdin + buffer so the D lexer has a sentinel to stop parsing at. + +2022-05-27 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd 4d07f22f2 + * d-lang.cc (d_handle_option): Handle OPT_fpreview_fiximmutableconv. + * lang.opt (fpreview=fiximmutableconv): New option. + * runtime.def (ARRAYAPPENDT): Remove. + +2022-05-25 Iain Buclaw <ibuclaw@gdcproject.org> + + * expr.cc: Add "final" and "override" to all "visit" vfunc decls + as appropriate. + * imports.cc: Likewise. + * typeinfo.cc: Likewise. + +2022-05-24 David Malcolm <dmalcolm@redhat.com> + + * decl.cc: Add "final" and "override" to all "visit" vfunc decls + as appropriate. + * expr.cc: Likewise. + * toir.cc: Likewise. + * typeinfo.cc: Likewise. + * types.cc: Likewise. + +2022-05-16 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd 60bfa0ee7. + * dmd/VERSION: Update version to v2.100.0. + * d-builtins.cc (d_init_versions): Update for new front-end interface. + * d-codegen.cc (d_decl_context): Use resolvedLinkage to get + declaration linkage. + (build_struct_literal): Track offset in bits. + * d-gimplify.cc (d_gimplify_modify_expr): Check both operands for a + bit-field reference. + * d-lang.cc (d_handle_option): Handle -fpreview=bitfields, remove + -frevert=markdown and -ftransition=vmarkdown. + (d_post_options): Set flag_rtti and flag_exceptions if -fno-druntime + was seen on command-line. + (d_parse_file): Update for new front-end interface. + (d_type_promotes_to): Use resolvedLinkage to get declaration linkage. + * decl.cc (make_thunk): Likewise. + * expr.cc (ExprVisitor::visit (CatAssignExp *)): Remove lowering for + appending of an element or array to another array. + * lang.opt (fpreview=bitfields): New option. + (frevert=markdown): Remove. + (ftransition=vmarkdown): Remove. + * types.cc (layout_aggregate_members): Ignore anonymous fields in + total count. + +2022-04-28 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd 313d28b3d. + * d-port.cc (Port::memicmp): Use d_size_t instead of size_t. + (Port::valcpy): Likewise. + +2022-04-21 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd eb7bee331. + * dmd/VERSION: Update version to v2.100.0-beta.1. + * d-lang.cc (d_handle_option): Handle OPT_frevert_dip1000. + * lang.opt (frevert=dip1000): New option. + +2022-04-13 Iain Buclaw <ibuclaw@gdcproject.org> + + * Make-lang.in (D_FRONTEND_OBJS): Add d/common-bitfields.o, + d/mustuse.o. + * d-ctfloat.cc (CTFloat::isIdentical): Don't treat NaN values as + identical. + * dmd/MERGE: Merge upstream dmd 4d1bfcf14. + * expr.cc (ExprVisitor::visit (VoidInitExp *)): New. + +2022-04-03 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-lang.cc: Include dmd/template.h. + (d_parse_file): Call printTemplateStats when vtemplates is set. + * decl.cc (start_function): Remove OPT_Wtemplates warning. + * lang.opt (Wtemplates): Remove. + +2022-04-02 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd 47871363d. + * d-builtins.cc (d_init_versions): Add predefined version identifiers + D_PreConditions, D_PostConditions, and D_Invariants. + * d-codegen.cc (d_build_call): Update for new front-end interface. + (build_frame_type): Generate reference field for NRVO variables with + nested references. + (build_closure): Generate assignment of return address to closure. + * d-tree.h (DECL_INSTANTIATED): Use DECL_LANG_FLAG_2. + (bind_expr): Remove. + * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Update for new + front-end interface. + (get_symbol_decl): Likewise. + (get_decl_tree): Check DECL_LANG_FRAME_FIELD before DECL_LANG_NRVO. + Dereference the field when both are set. + * expr.cc (ExprVisitor::visit (DeleteExp *)): Update for new front-end + interface. + * modules.cc (get_internal_fn): Likewise. + * toir.cc (IRVisitor::visit (ReturnStatement *)): Likewise. + +2022-03-21 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/105004 + * d-codegen.cc (build_struct_literal): Use complex_expr to build + complex expressions from __c_complex types. + +2022-03-21 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/104911 + * dmd/MERGE: Merge upstream dmd 2503f17e5. + * d-convert.cc (convert_expr): Replace d_uns64 with dinteger_t. + * d-lang.cc: Remove dmd/root/file.h include. + (d_handle_option): Update for new front-end interface. + (d_parse_file): Likewise. + +2022-03-13 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd 02a3fafc6. + * dmd/VERSION: Update version to v2.099.0. + * imports.cc (ImportVisitor::visit (EnumDeclaration *)): Don't cache + decl in front-end AST node. + (ImportVisitor::visit (AggregateDeclaration *)): Likewise. + (ImportVisitor::visit (ClassDeclaration *)): Likewise. + +2022-03-11 Iain Buclaw <ibuclaw@gdcproject.org> + + * imports.cc (imported_decls): Define. + (class ImportVisitor): Add result_ field. + (ImportVisitor::result): New method. + (ImportVisitor::visit (Module *)): Store decl to result_. + (ImportVisitor::visit (Import *)): Likewise. + (ImportVisitor::visit (AliasDeclaration *)): Don't cache decl in + front-end AST node. + (ImportVisitor::visit (OverDeclaration *)): Likewise. + (ImportVisitor::visit (FuncDeclaration *)): Likewise. + (ImportVisitor::visit (Declaration *)): Likewise. + (build_import_decl): Use imported_decls to cache and lookup built + declarations. + +2022-03-11 Iain Buclaw <ibuclaw@gdcproject.org> + + PR translation/104552 + * lang.opt (fdump-cxx-spec=): Fix typo in argument handle. + (fpreview=fixaliasthis): Quote `alias this' as code. + +2022-03-02 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd 423f19b41. + +2022-02-28 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-target.cc (Target::_init): Initialize C type size fields. + * dmd/MERGE: Merge upstream dmd cf63dd8e5. + * dmd/VERSION: Update version to v2.099.0-rc.1. + +2022-02-20 Iain Buclaw <ibuclaw@gdcproject.org> + + * expr.cc (ExprVisitor::visit (DeleteExp *)): Remove handling of + deleting GC allocated classes. + * runtime.def (DELCLASS): Remove. + (DELINTERFACE): Remove. + +2022-02-20 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd cb49e99f8. + * dmd/VERSION: Update version to v2.099.0-beta.1. + * decl.cc (layout_class_initializer): Update call to NewExp::create. + * expr.cc (ExprVisitor::visit (DeleteExp *)): Remove handling of + deleting arrays and pointers. + (ExprVisitor::visit (DotVarExp *)): Convert complex types to the + front-end library type representing them. + (ExprVisitor::visit (StringExp *)): Use getCodeUnit instead of charAt + to get the value of each index in a string expression. + * runtime.def (DELMEMORY): Remove. + (DELARRAYT): Remove. + * types.cc (TypeVisitor::visit (TypeEnum *)): Handle anonymous enums. + +2022-02-16 Iain Buclaw <ibuclaw@gdcproject.org> + + * d-builtins.cc (d_build_builtins_module): Set purity of DECL_PURE_P + functions to PURE::const_. + * d-gimplify.cc (bit_field_ref): New function. + (d_gimplify_modify_expr): Handle implicit casting for assignments to + bit-fields. + (d_gimplify_unary_expr): New function. + (d_gimplify_binary_expr): New function. + (d_gimplify_expr): Handle UNARY_CLASS_P and BINARY_CLASS_P. + * d-target.cc (Target::_init): Initialize bitFieldStyle. + (TargetCPP::parameterType): Update signature. + (Target::supportsLinkerDirective): New function. + * dmd/MERGE: Merge upstream dmd 52844d4b1. + * expr.cc (ExprVisitor::visit (ThrowExp *)): New function. + * types.cc (d_build_bitfield_integer_type): New function. + (insert_aggregate_bitfield): New function. + (layout_aggregate_members): Handle inserting bit-fields into an + aggregate type. + +2022-01-31 Martin Liska <mliska@suse.cz> + + PR d/104287 + * decl.cc (d_finish_decl): Remove trailing dot. + +2022-01-28 Martin Liska <mliska@suse.cz> + + * decl.cc (d_finish_decl): Do not use leading capital letter. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * d-gimplify.cc: Rename .c names to .cc. + * d-incpath.cc: Likewise. + * lang-specs.h: Likewise. + +2022-01-03 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/103840 + * dmd/MERGE: Merge upstream dmd 001bfd97b. + * Make-lang.in (D_FRONTEND_OBJS): Rename d/complex.o to + d/root-complex.o, and d/utf.o to d/root/utf.o. + +2022-01-03 Jakub Jelinek <jakub@redhat.com> + + * gdc.texi: Bump @copyrights-d year. + + +Copyright (C) 2022 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 71e551d9109260b50a4475d40f1ccd380c3ab265..97887c90552b40c034f463eff250248365499ae2 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,4483 +1,5 @@ -2022-12-30 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/102595 - * decl.cc (attr_decl1): Guard against NULL pointer. - * parse.cc (match_deferred_characteristics): Include BT_CLASS in check for - derived being undefined. - -2022-12-23 Harald Anlauf <anlauf@gmx.de> - - PR fortran/108131 - * array.cc (match_array_element_spec): Avoid too early simplification - of matched array element specs that can lead to a misinterpretation - when used as array bounds in array declarations. - -2022-12-23 Julian Brown <julian@codesourcery.com> - - * dump-parse-tree.cc (show_attr): Fix OMP-UDR-ARTIFICIAL-VAR typo. - * trans-openmp.cc (gfc_trans_omp_array_section): Replace stray unicode - m-dash character with hyphen. - -2022-12-23 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/106731 - * trans-array.cc (gfc_trans_auto_array_allocation): Remove gcc_assert (!TREE_STATIC()). - -2022-12-22 Harald Anlauf <anlauf@gmx.de> - - PR fortran/69604 - * match.cc (chk_stmt_fcn_body): New function. Check for invalid uses - of statement functions arguments. - (gfc_match_st_function): Use above. - -2022-12-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95375 - * decl.cc (verify_bind_c_sym): Extend interoperability check to - CLASS variables. - -2022-12-18 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/107397 - * decl.cc (add_init_expr_to_sym): Add check with new error message. - -2022-12-14 Julian Brown <julian@codesourcery.com> - - PR fortran/107214 - * gfortran.h (gfc_symbol): Add data_mark, dev_mark, gen_mark and - reduc_mark bitfields. - * openmp.cc (resolve_omp_clauses): Use above bitfields to improve - duplicate clause detection. - -2022-12-14 Julian Brown <julian@codesourcery.com> - - * trans-openmp.cc (gfc_add_firstprivate_if_unmapped): New function. - (gfc_split_omp_clauses): Call above. - -2022-12-13 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/107423 - * parse.cc (parse_spec): Avoid NULL pointer dereference when parsing - a function and an error occured. - -2022-12-12 Harald Anlauf <anlauf@gmx.de> - - PR fortran/102180 - * array.cc (match_array_element_spec): Add check for bad - assumed-implied-spec. - (gfc_match_array_spec): Reorder logic so that the first bad array - element spec may trigger an error. - -2022-12-11 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/107995 - * interface.cc (gfc_check_dummy_characteristics): Reject statement - function dummy arguments. - -2022-12-11 Tobias Burnus <tobias@codesourcery.com> - - * openmp.cc (gfc_match_omp_context_selector_specification): - Remove spurious 's' in an error message. - -2022-12-10 Harald Anlauf <anlauf@gmx.de> - - PR fortran/106911 - * simplify.cc (gfc_simplify_ishftc): If the SIZE argument is known - to be outside the allowed range, terminate simplification. - -2022-12-10 Tobias Burnus <tobias@codesourcery.com> - - * match.cc (gfc_match_member_sep): Use %<...%> in gfc_error. - * openmp.cc (gfc_match_oacc_routine, gfc_match_omp_context_selector, - gfc_match_omp_context_selector_specification, - gfc_match_omp_declare_variant, resolve_omp_clauses): Likewise; - use %qs instead of '%s'. - * primary.cc (match_real_constant, gfc_match_varspec): Likewise. - * resolve.cc (gfc_resolve_formal_arglist, resolve_operator, - resolve_ordinary_assign): Likewise. - -2022-12-09 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/107872 - * resolve.cc (derived_inaccessible): Skip over allocatable components - to prevent an infinite loop. - -2022-12-09 Tobias Burnus <tobias@codesourcery.com> - - * dump-parse-tree.cc (show_omp_namelist): Improve OMP_LIST_ALLOCATE - output. - * gfortran.h (struct gfc_omp_namelist): Add 'align' to 'u'. - (gfc_free_omp_namelist): Add bool arg. - * match.cc (gfc_free_omp_namelist): Likewise; free 'u.align'. - * openmp.cc (gfc_free_omp_clauses, gfc_match_omp_clause_reduction, - gfc_match_omp_flush): Update call. - (gfc_match_omp_clauses): Match 'align/allocate modifers in - 'allocate' clause. - (resolve_omp_clauses): Resolve align. - * st.cc (gfc_free_statement): Update call - * trans-openmp.cc (gfc_trans_omp_clauses): Handle 'align'. - -2022-12-08 Harald Anlauf <anlauf@gmx.de> - - PR fortran/108025 - * symbol.cc (gfc_add_contiguous): Diagnose and reject duplicate - CONTIGUOUS attribute. - -2022-12-07 Harald Anlauf <anlauf@gmx.de> - - PR fortran/108010 - * arith.cc (reduce_unary): Handle zero-sized arrays. - (reduce_binary_aa): Likewise. - -2022-12-04 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107922 - * simplify.cc (gfc_simplify_unpack): Terminate simplification when - array-valued argument FIELD does not provide enough elements. - -2022-12-04 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107870 - * intrinsic.texi: Fix typo in documentation of intrinsic FLOOR. - Describe the optional KIND argument to intrinsics as a scalar - constant expression, in accordance with the current standard. - -2022-12-04 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107899 - * resolve.cc (resolve_deallocate_expr): Avoid NULL pointer dereference - on invalid CLASS variable. - -2022-11-30 Martin Liska <mliska@suse.cz> - - * parse.cc (parse_omp_structured_block): Remove extra semicolon. - -2022-11-29 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/107874 - * simplify.cc (gfc_simplify_merge): When simplifying MERGE with a - constant scalar MASK, ensure that arguments TSOURCE and FSOURCE are - either constant or will be evaluated. - * trans-intrinsic.cc (gfc_conv_intrinsic_merge): Evaluate arguments - before generating conditional expression. - -2022-11-28 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107819 - * trans-stmt.cc (gfc_conv_elemental_dependencies): In checking for - elemental dependencies, treat dummy argument with VALUE attribute - as implicitly having intent(in). - -2022-11-28 Tobias Burnus <tobias@codesourcery.com> - - * openmp.cc (OMP_DO_CLAUSES, OMP_SCOPE_CLAUSES, - OMP_SECTIONS_CLAUSES): Add 'nowait'. - (OMP_SINGLE_CLAUSES): Add 'nowait' and 'copyprivate'. - (gfc_match_omp_distribute_parallel_do, - gfc_match_omp_distribute_parallel_do_simd, - gfc_match_omp_parallel_do, - gfc_match_omp_parallel_do_simd, - gfc_match_omp_parallel_sections, - gfc_match_omp_teams_distribute_parallel_do, - gfc_match_omp_teams_distribute_parallel_do_simd): Disallow 'nowait'. - (gfc_match_omp_workshare): Match 'nowait' clause. - (gfc_match_omp_end_single): Use clause matcher for 'nowait'. - (resolve_omp_clauses): Reject 'nowait' + 'copyprivate'. - * parse.cc (decode_omp_directive): Break too long line. - (parse_omp_do, parse_omp_structured_block): Diagnose duplicated - 'nowait' clause. - -2022-11-23 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/107577 - * resolve.cc (find_array_spec): Choose appropriate locus either of - bad array reference or of non-array entity in error message. - -2022-11-18 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107576 - * interface.cc (gfc_procedure_use): Reject NULL as actual argument - when there is no explicit procedure interface. - -2022-11-17 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> - - PR fortran/99884 - * io.cc (check_open_constraints): Remove double spaces. - -2022-11-16 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/107707 - * interface.cc (gfc_compare_actual_formal): Check that we actually - have integer values before asking gmp_* to use them. - -2022-11-16 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107681 - * resolve.cc (resolve_fl_var_and_proc): Prevent NULL pointer - dereference with reference to bad CLASS variable. - -2022-11-16 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107680 - * arith.cc (arith_power): Check that operands are properly converted - before attempting to simplify. - -2022-11-15 Lewis Hyatt <lhyatt@gmail.com> - - * cpp.cc (gfc_cpp_init): Use special_fname_builtin () rather than a - hardcoded string (which was also incorrectly left untranslated - previously.) - * error.cc (gfc_diagnostic_build_locus_prefix): Likewise. - * f95-lang.cc (gfc_init): Likewise. - -2022-11-14 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107444 - * trans-openmp.cc (gfc_omp_check_optional_argument): Adjust to change - of prefix of internal symbol for presence status to '.'. - -2022-11-14 Martin Liska <mliska@suse.cz> - - * gfortran.texi: Port from Sphinx. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/gfc-internals/code-that-interacts-with-the-user.rst: New file. - * doc/gfc-internals/command-line-options.rst: New file. - * doc/gfc-internals/conf.py: New file. - * doc/gfc-internals/copyright.rst: New file. - * doc/gfc-internals/error-handling.rst: New file. - * doc/gfc-internals/frontend-data-structures.rst: New file. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst: New file. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst: - New file. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst: - New file. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst: - New file. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst: - New file. - * doc/gfc-internals/gfccode.rst: New file. - * doc/gfc-internals/gfcexpr.rst: New file. - * doc/gfc-internals/gnu-free-documentation-license.rst: New file. - * doc/gfc-internals/index.rst: New file. - * doc/gfc-internals/indices-and-tables.rst: New file. - * doc/gfc-internals/internals-of-fortran-2003-oop-features.rst: New file. - * doc/gfc-internals/introduction.rst: New file. - * doc/gfc-internals/symbol-versioning.rst: New file. - * doc/gfc-internals/the-libgfortran-runtime-library.rst: New file. - * doc/gfc-internals/type-bound-operators.rst: New file. - * doc/gfc-internals/type-bound-procedures.rst: New file. - * doc/gfortran/about-gnu-fortran.rst: New file. - * doc/gfortran/coarray-programming.rst: New file. - * doc/gfortran/compiler-characteristics.rst: New file. - * doc/gfortran/compiler-characteristics/asynchronous-i-o.rst: New file. - * doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst: New file. - * doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst: New file. - * doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst: - New file. - * doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst: New file. - * doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst: - New file. - * doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst: - New file. - * doc/gfortran/compiler-characteristics/kind-type-parameters.rst: New file. - * doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst: - New file. - * doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst: New file. - * doc/gfortran/conf.py: New file. - * doc/gfortran/contributing.rst: New file. - * doc/gfortran/contributors-to-gnu-fortran.rst: New file. - * doc/gfortran/copyright.rst: New file. - * doc/gfortran/extensions-implemented-in-gnu-fortran.rst: New file. - * doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst: New file. - * doc/gfortran/extensions.rst: New file. - * doc/gfortran/function-abi-documentation.rst: New file. - * doc/gfortran/funding.rst: New file. - * doc/gfortran/general-public-license-3.rst: New file. - * doc/gfortran/gnu-fortran-and-gcc.rst: New file. - * doc/gfortran/gnu-fortran-command-options.rst: New file. - * doc/gfortran/gnu-fortran-command-options/description.rst: New file. - * doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst: New file. - * doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst: - New file. - * doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst: New file. - * doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst: New file. - * doc/gfortran/gnu-fortran-command-options/option-summary.rst: New file. - * doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst: - New file. - * doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst: - New file. - * doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst: - New file. - * doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst: New file. - * doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst: - New file. - * doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst: - New file. - * doc/gfortran/gnu-fortran-compiler-directives.rst: New file. - * doc/gfortran/gnu-free-documentation-license.rst: New file. - * doc/gfortran/index.rst: New file. - * doc/gfortran/indices-and-tables.rst: New file. - * doc/gfortran/interoperability-with-c.rst: New file. - * doc/gfortran/intrinsic-modules.rst: New file. - * doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst: - New file. - * doc/gfortran/intrinsic-modules/isocbinding.rst: New file. - * doc/gfortran/intrinsic-modules/isofortranenv.rst: New file. - * doc/gfortran/intrinsic-modules/openacc-module-openacc.rst: New file. - * doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst: New file. - * doc/gfortran/intrinsic-procedures.rst: New file. - * doc/gfortran/intrinsic-procedures/abort.rst: New file. - * doc/gfortran/intrinsic-procedures/abs.rst: New file. - * doc/gfortran/intrinsic-procedures/access.rst: New file. - * doc/gfortran/intrinsic-procedures/achar.rst: New file. - * doc/gfortran/intrinsic-procedures/acos.rst: New file. - * doc/gfortran/intrinsic-procedures/acosd.rst: New file. - * doc/gfortran/intrinsic-procedures/acosh.rst: New file. - * doc/gfortran/intrinsic-procedures/adjustl.rst: New file. - * doc/gfortran/intrinsic-procedures/adjustr.rst: New file. - * doc/gfortran/intrinsic-procedures/aimag.rst: New file. - * doc/gfortran/intrinsic-procedures/aint.rst: New file. - * doc/gfortran/intrinsic-procedures/alarm.rst: New file. - * doc/gfortran/intrinsic-procedures/all.rst: New file. - * doc/gfortran/intrinsic-procedures/allocated.rst: New file. - * doc/gfortran/intrinsic-procedures/and.rst: New file. - * doc/gfortran/intrinsic-procedures/anint.rst: New file. - * doc/gfortran/intrinsic-procedures/any.rst: New file. - * doc/gfortran/intrinsic-procedures/asin.rst: New file. - * doc/gfortran/intrinsic-procedures/asind.rst: New file. - * doc/gfortran/intrinsic-procedures/asinh.rst: New file. - * doc/gfortran/intrinsic-procedures/associated.rst: New file. - * doc/gfortran/intrinsic-procedures/atan.rst: New file. - * doc/gfortran/intrinsic-procedures/atan2.rst: New file. - * doc/gfortran/intrinsic-procedures/atan2d.rst: New file. - * doc/gfortran/intrinsic-procedures/atand.rst: New file. - * doc/gfortran/intrinsic-procedures/atanh.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicadd.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicand.rst: New file. - * doc/gfortran/intrinsic-procedures/atomiccas.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicdefine.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicfetchadd.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicfetchand.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicfetchor.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicfetchxor.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicor.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicref.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicxor.rst: New file. - * doc/gfortran/intrinsic-procedures/backtrace.rst: New file. - * doc/gfortran/intrinsic-procedures/besselj0.rst: New file. - * doc/gfortran/intrinsic-procedures/besselj1.rst: New file. - * doc/gfortran/intrinsic-procedures/besseljn.rst: New file. - * doc/gfortran/intrinsic-procedures/bessely0.rst: New file. - * doc/gfortran/intrinsic-procedures/bessely1.rst: New file. - * doc/gfortran/intrinsic-procedures/besselyn.rst: New file. - * doc/gfortran/intrinsic-procedures/bge.rst: New file. - * doc/gfortran/intrinsic-procedures/bgt.rst: New file. - * doc/gfortran/intrinsic-procedures/bitsize.rst: New file. - * doc/gfortran/intrinsic-procedures/ble.rst: New file. - * doc/gfortran/intrinsic-procedures/blt.rst: New file. - * doc/gfortran/intrinsic-procedures/btest.rst: New file. - * doc/gfortran/intrinsic-procedures/cassociated.rst: New file. - * doc/gfortran/intrinsic-procedures/ceiling.rst: New file. - * doc/gfortran/intrinsic-procedures/cfpointer.rst: New file. - * doc/gfortran/intrinsic-procedures/cfprocpointer.rst: New file. - * doc/gfortran/intrinsic-procedures/cfunloc.rst: New file. - * doc/gfortran/intrinsic-procedures/char.rst: New file. - * doc/gfortran/intrinsic-procedures/chdir.rst: New file. - * doc/gfortran/intrinsic-procedures/chmod.rst: New file. - * doc/gfortran/intrinsic-procedures/cloc.rst: New file. - * doc/gfortran/intrinsic-procedures/cmplx.rst: New file. - * doc/gfortran/intrinsic-procedures/cobroadcast.rst: New file. - * doc/gfortran/intrinsic-procedures/comax.rst: New file. - * doc/gfortran/intrinsic-procedures/comin.rst: New file. - * doc/gfortran/intrinsic-procedures/commandargumentcount.rst: New file. - * doc/gfortran/intrinsic-procedures/compileroptions.rst: New file. - * doc/gfortran/intrinsic-procedures/compilerversion.rst: New file. - * doc/gfortran/intrinsic-procedures/complex.rst: New file. - * doc/gfortran/intrinsic-procedures/conjg.rst: New file. - * doc/gfortran/intrinsic-procedures/coreduce.rst: New file. - * doc/gfortran/intrinsic-procedures/cos.rst: New file. - * doc/gfortran/intrinsic-procedures/cosd.rst: New file. - * doc/gfortran/intrinsic-procedures/cosh.rst: New file. - * doc/gfortran/intrinsic-procedures/cosum.rst: New file. - * doc/gfortran/intrinsic-procedures/cotan.rst: New file. - * doc/gfortran/intrinsic-procedures/cotand.rst: New file. - * doc/gfortran/intrinsic-procedures/count.rst: New file. - * doc/gfortran/intrinsic-procedures/cputime.rst: New file. - * doc/gfortran/intrinsic-procedures/cshift.rst: New file. - * doc/gfortran/intrinsic-procedures/csizeof.rst: New file. - * doc/gfortran/intrinsic-procedures/ctime.rst: New file. - * doc/gfortran/intrinsic-procedures/dateandtime.rst: New file. - * doc/gfortran/intrinsic-procedures/dble.rst: New file. - * doc/gfortran/intrinsic-procedures/dcmplx.rst: New file. - * doc/gfortran/intrinsic-procedures/digits.rst: New file. - * doc/gfortran/intrinsic-procedures/dim.rst: New file. - * doc/gfortran/intrinsic-procedures/dotproduct.rst: New file. - * doc/gfortran/intrinsic-procedures/dprod.rst: New file. - * doc/gfortran/intrinsic-procedures/dreal.rst: New file. - * doc/gfortran/intrinsic-procedures/dshiftl.rst: New file. - * doc/gfortran/intrinsic-procedures/dshiftr.rst: New file. - * doc/gfortran/intrinsic-procedures/dtime.rst: New file. - * doc/gfortran/intrinsic-procedures/eoshift.rst: New file. - * doc/gfortran/intrinsic-procedures/epsilon.rst: New file. - * doc/gfortran/intrinsic-procedures/erf.rst: New file. - * doc/gfortran/intrinsic-procedures/erfc.rst: New file. - * doc/gfortran/intrinsic-procedures/erfcscaled.rst: New file. - * doc/gfortran/intrinsic-procedures/etime.rst: New file. - * doc/gfortran/intrinsic-procedures/eventquery.rst: New file. - * doc/gfortran/intrinsic-procedures/executecommandline.rst: New file. - * doc/gfortran/intrinsic-procedures/exit.rst: New file. - * doc/gfortran/intrinsic-procedures/exp.rst: New file. - * doc/gfortran/intrinsic-procedures/exponent.rst: New file. - * doc/gfortran/intrinsic-procedures/extendstypeof.rst: New file. - * doc/gfortran/intrinsic-procedures/fdate.rst: New file. - * doc/gfortran/intrinsic-procedures/fget.rst: New file. - * doc/gfortran/intrinsic-procedures/fgetc.rst: New file. - * doc/gfortran/intrinsic-procedures/findloc.rst: New file. - * doc/gfortran/intrinsic-procedures/floor.rst: New file. - * doc/gfortran/intrinsic-procedures/flush.rst: New file. - * doc/gfortran/intrinsic-procedures/fnum.rst: New file. - * doc/gfortran/intrinsic-procedures/fput.rst: New file. - * doc/gfortran/intrinsic-procedures/fputc.rst: New file. - * doc/gfortran/intrinsic-procedures/fraction.rst: New file. - * doc/gfortran/intrinsic-procedures/free.rst: New file. - * doc/gfortran/intrinsic-procedures/fseek.rst: New file. - * doc/gfortran/intrinsic-procedures/fstat.rst: New file. - * doc/gfortran/intrinsic-procedures/ftell.rst: New file. - * doc/gfortran/intrinsic-procedures/gamma.rst: New file. - * doc/gfortran/intrinsic-procedures/gerror.rst: New file. - * doc/gfortran/intrinsic-procedures/getarg.rst: New file. - * doc/gfortran/intrinsic-procedures/getcommand.rst: New file. - * doc/gfortran/intrinsic-procedures/getcommandargument.rst: New file. - * doc/gfortran/intrinsic-procedures/getcwd.rst: New file. - * doc/gfortran/intrinsic-procedures/getenv.rst: New file. - * doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst: New file. - * doc/gfortran/intrinsic-procedures/getgid.rst: New file. - * doc/gfortran/intrinsic-procedures/getlog.rst: New file. - * doc/gfortran/intrinsic-procedures/getpid.rst: New file. - * doc/gfortran/intrinsic-procedures/getuid.rst: New file. - * doc/gfortran/intrinsic-procedures/gmtime.rst: New file. - * doc/gfortran/intrinsic-procedures/hostnm.rst: New file. - * doc/gfortran/intrinsic-procedures/huge.rst: New file. - * doc/gfortran/intrinsic-procedures/hypot.rst: New file. - * doc/gfortran/intrinsic-procedures/iachar.rst: New file. - * doc/gfortran/intrinsic-procedures/iall.rst: New file. - * doc/gfortran/intrinsic-procedures/iand.rst: New file. - * doc/gfortran/intrinsic-procedures/iany.rst: New file. - * doc/gfortran/intrinsic-procedures/iargc.rst: New file. - * doc/gfortran/intrinsic-procedures/ibclr.rst: New file. - * doc/gfortran/intrinsic-procedures/ibits.rst: New file. - * doc/gfortran/intrinsic-procedures/ibset.rst: New file. - * doc/gfortran/intrinsic-procedures/ichar.rst: New file. - * doc/gfortran/intrinsic-procedures/idate.rst: New file. - * doc/gfortran/intrinsic-procedures/ieor.rst: New file. - * doc/gfortran/intrinsic-procedures/ierrno.rst: New file. - * doc/gfortran/intrinsic-procedures/imageindex.rst: New file. - * doc/gfortran/intrinsic-procedures/index.rst: New file. - * doc/gfortran/intrinsic-procedures/int.rst: New file. - * doc/gfortran/intrinsic-procedures/int2.rst: New file. - * doc/gfortran/intrinsic-procedures/int8.rst: New file. - * doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst: New file. - * doc/gfortran/intrinsic-procedures/ior.rst: New file. - * doc/gfortran/intrinsic-procedures/iparity.rst: New file. - * doc/gfortran/intrinsic-procedures/irand.rst: New file. - * doc/gfortran/intrinsic-procedures/isatty.rst: New file. - * doc/gfortran/intrinsic-procedures/iscontiguous.rst: New file. - * doc/gfortran/intrinsic-procedures/ishft.rst: New file. - * doc/gfortran/intrinsic-procedures/ishftc.rst: New file. - * doc/gfortran/intrinsic-procedures/isiostatend.rst: New file. - * doc/gfortran/intrinsic-procedures/isiostateor.rst: New file. - * doc/gfortran/intrinsic-procedures/isnan.rst: New file. - * doc/gfortran/intrinsic-procedures/itime.rst: New file. - * doc/gfortran/intrinsic-procedures/kill.rst: New file. - * doc/gfortran/intrinsic-procedures/kind.rst: New file. - * doc/gfortran/intrinsic-procedures/lbound.rst: New file. - * doc/gfortran/intrinsic-procedures/lcobound.rst: New file. - * doc/gfortran/intrinsic-procedures/leadz.rst: New file. - * doc/gfortran/intrinsic-procedures/len.rst: New file. - * doc/gfortran/intrinsic-procedures/lentrim.rst: New file. - * doc/gfortran/intrinsic-procedures/lge.rst: New file. - * doc/gfortran/intrinsic-procedures/lgt.rst: New file. - * doc/gfortran/intrinsic-procedures/link.rst: New file. - * doc/gfortran/intrinsic-procedures/lle.rst: New file. - * doc/gfortran/intrinsic-procedures/llt.rst: New file. - * doc/gfortran/intrinsic-procedures/lnblnk.rst: New file. - * doc/gfortran/intrinsic-procedures/loc.rst: New file. - * doc/gfortran/intrinsic-procedures/log.rst: New file. - * doc/gfortran/intrinsic-procedures/log10.rst: New file. - * doc/gfortran/intrinsic-procedures/loggamma.rst: New file. - * doc/gfortran/intrinsic-procedures/logical.rst: New file. - * doc/gfortran/intrinsic-procedures/lshift.rst: New file. - * doc/gfortran/intrinsic-procedures/lstat.rst: New file. - * doc/gfortran/intrinsic-procedures/ltime.rst: New file. - * doc/gfortran/intrinsic-procedures/malloc.rst: New file. - * doc/gfortran/intrinsic-procedures/maskl.rst: New file. - * doc/gfortran/intrinsic-procedures/maskr.rst: New file. - * doc/gfortran/intrinsic-procedures/matmul.rst: New file. - * doc/gfortran/intrinsic-procedures/max.rst: New file. - * doc/gfortran/intrinsic-procedures/maxexponent.rst: New file. - * doc/gfortran/intrinsic-procedures/maxloc.rst: New file. - * doc/gfortran/intrinsic-procedures/maxval.rst: New file. - * doc/gfortran/intrinsic-procedures/mclock.rst: New file. - * doc/gfortran/intrinsic-procedures/mclock8.rst: New file. - * doc/gfortran/intrinsic-procedures/merge.rst: New file. - * doc/gfortran/intrinsic-procedures/mergebits.rst: New file. - * doc/gfortran/intrinsic-procedures/min.rst: New file. - * doc/gfortran/intrinsic-procedures/minexponent.rst: New file. - * doc/gfortran/intrinsic-procedures/minloc.rst: New file. - * doc/gfortran/intrinsic-procedures/minval.rst: New file. - * doc/gfortran/intrinsic-procedures/mod.rst: New file. - * doc/gfortran/intrinsic-procedures/modulo.rst: New file. - * doc/gfortran/intrinsic-procedures/movealloc.rst: New file. - * doc/gfortran/intrinsic-procedures/mvbits.rst: New file. - * doc/gfortran/intrinsic-procedures/nearest.rst: New file. - * doc/gfortran/intrinsic-procedures/newline.rst: New file. - * doc/gfortran/intrinsic-procedures/nint.rst: New file. - * doc/gfortran/intrinsic-procedures/norm2.rst: New file. - * doc/gfortran/intrinsic-procedures/not.rst: New file. - * doc/gfortran/intrinsic-procedures/null.rst: New file. - * doc/gfortran/intrinsic-procedures/numimages.rst: New file. - * doc/gfortran/intrinsic-procedures/or.rst: New file. - * doc/gfortran/intrinsic-procedures/pack.rst: New file. - * doc/gfortran/intrinsic-procedures/parity.rst: New file. - * doc/gfortran/intrinsic-procedures/perror.rst: New file. - * doc/gfortran/intrinsic-procedures/popcnt.rst: New file. - * doc/gfortran/intrinsic-procedures/poppar.rst: New file. - * doc/gfortran/intrinsic-procedures/precision.rst: New file. - * doc/gfortran/intrinsic-procedures/present.rst: New file. - * doc/gfortran/intrinsic-procedures/product.rst: New file. - * doc/gfortran/intrinsic-procedures/radix.rst: New file. - * doc/gfortran/intrinsic-procedures/ran.rst: New file. - * doc/gfortran/intrinsic-procedures/rand.rst: New file. - * doc/gfortran/intrinsic-procedures/randominit.rst: New file. - * doc/gfortran/intrinsic-procedures/randomnumber.rst: New file. - * doc/gfortran/intrinsic-procedures/randomseed.rst: New file. - * doc/gfortran/intrinsic-procedures/range.rst: New file. - * doc/gfortran/intrinsic-procedures/rank.rst: New file. - * doc/gfortran/intrinsic-procedures/real.rst: New file. - * doc/gfortran/intrinsic-procedures/rename.rst: New file. - * doc/gfortran/intrinsic-procedures/repeat.rst: New file. - * doc/gfortran/intrinsic-procedures/reshape.rst: New file. - * doc/gfortran/intrinsic-procedures/rrspacing.rst: New file. - * doc/gfortran/intrinsic-procedures/rshift.rst: New file. - * doc/gfortran/intrinsic-procedures/sametypeas.rst: New file. - * doc/gfortran/intrinsic-procedures/scale.rst: New file. - * doc/gfortran/intrinsic-procedures/scan.rst: New file. - * doc/gfortran/intrinsic-procedures/secnds.rst: New file. - * doc/gfortran/intrinsic-procedures/second.rst: New file. - * doc/gfortran/intrinsic-procedures/selectedcharkind.rst: New file. - * doc/gfortran/intrinsic-procedures/selectedintkind.rst: New file. - * doc/gfortran/intrinsic-procedures/selectedrealkind.rst: New file. - * doc/gfortran/intrinsic-procedures/setexponent.rst: New file. - * doc/gfortran/intrinsic-procedures/shape.rst: New file. - * doc/gfortran/intrinsic-procedures/shifta.rst: New file. - * doc/gfortran/intrinsic-procedures/shiftl.rst: New file. - * doc/gfortran/intrinsic-procedures/shiftr.rst: New file. - * doc/gfortran/intrinsic-procedures/sign.rst: New file. - * doc/gfortran/intrinsic-procedures/signal.rst: New file. - * doc/gfortran/intrinsic-procedures/sin.rst: New file. - * doc/gfortran/intrinsic-procedures/sind.rst: New file. - * doc/gfortran/intrinsic-procedures/sinh.rst: New file. - * doc/gfortran/intrinsic-procedures/size.rst: New file. - * doc/gfortran/intrinsic-procedures/sizeof.rst: New file. - * doc/gfortran/intrinsic-procedures/sleep.rst: New file. - * doc/gfortran/intrinsic-procedures/spacing.rst: New file. - * doc/gfortran/intrinsic-procedures/spread.rst: New file. - * doc/gfortran/intrinsic-procedures/sqrt.rst: New file. - * doc/gfortran/intrinsic-procedures/srand.rst: New file. - * doc/gfortran/intrinsic-procedures/stat.rst: New file. - * doc/gfortran/intrinsic-procedures/storagesize.rst: New file. - * doc/gfortran/intrinsic-procedures/sum.rst: New file. - * doc/gfortran/intrinsic-procedures/symlnk.rst: New file. - * doc/gfortran/intrinsic-procedures/system.rst: New file. - * doc/gfortran/intrinsic-procedures/systemclock.rst: New file. - * doc/gfortran/intrinsic-procedures/tan.rst: New file. - * doc/gfortran/intrinsic-procedures/tand.rst: New file. - * doc/gfortran/intrinsic-procedures/tanh.rst: New file. - * doc/gfortran/intrinsic-procedures/thisimage.rst: New file. - * doc/gfortran/intrinsic-procedures/time.rst: New file. - * doc/gfortran/intrinsic-procedures/time8.rst: New file. - * doc/gfortran/intrinsic-procedures/tiny.rst: New file. - * doc/gfortran/intrinsic-procedures/trailz.rst: New file. - * doc/gfortran/intrinsic-procedures/transfer.rst: New file. - * doc/gfortran/intrinsic-procedures/transpose.rst: New file. - * doc/gfortran/intrinsic-procedures/trim.rst: New file. - * doc/gfortran/intrinsic-procedures/ttynam.rst: New file. - * doc/gfortran/intrinsic-procedures/ubound.rst: New file. - * doc/gfortran/intrinsic-procedures/ucobound.rst: New file. - * doc/gfortran/intrinsic-procedures/umask.rst: New file. - * doc/gfortran/intrinsic-procedures/unlink.rst: New file. - * doc/gfortran/intrinsic-procedures/unpack.rst: New file. - * doc/gfortran/intrinsic-procedures/verify.rst: New file. - * doc/gfortran/intrinsic-procedures/xor.rst: New file. - * doc/gfortran/introduction.rst: New file. - * doc/gfortran/mixed-language-programming.rst: New file. - * doc/gfortran/naming-and-argument-passing-conventions.rst: New file. - * doc/gfortran/non-fortran-main-program.rst: New file. - * doc/gfortran/projects.rst: New file. - * doc/gfortran/runtime.rst: New file. - * doc/gfortran/runtime/gfortranconvertunit.rst: New file. - * doc/gfortran/runtime/gfortranerrorbacktrace.rst: New file. - * doc/gfortran/runtime/gfortranformattedbuffersize.rst: New file. - * doc/gfortran/runtime/gfortranlistseparator.rst: New file. - * doc/gfortran/runtime/gfortranoptionalplus.rst: New file. - * doc/gfortran/runtime/gfortranshowlocus.rst: New file. - * doc/gfortran/runtime/gfortranstderrunit.rst: New file. - * doc/gfortran/runtime/gfortranstdinunit.rst: New file. - * doc/gfortran/runtime/gfortranstdoutunit.rst: New file. - * doc/gfortran/runtime/gfortranunbufferedall.rst: New file. - * doc/gfortran/runtime/gfortranunbufferedpreconnected.rst: New file. - * doc/gfortran/runtime/gfortranunformattedbuffersize.rst: New file. - * doc/gfortran/runtime/tmpdir.rst: New file. - * doc/gfortran/standards.rst: New file. - * doc/gfortran/type-and-enum-abi-documentation.rst: New file. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * Make-lang.in: Support Sphinx based documentation. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * gfc-internals.texi: Removed. - * gfortran.texi: Removed. - * intrinsic.texi: Removed. - * invoke.texi: Removed. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * Make-lang.in: Support --with-sphinx-build. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * Make-lang.in: - Support installation if sphinx-build is missing. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gfortran/intrinsic-procedures/aint.rst: Simplify function - declaration. - * doc/gfortran/intrinsic-procedures/int.rst: Likewise. - * doc/gfortran/intrinsic-procedures/anint.rst: Likewise. - * doc/gfortran/intrinsic-procedures/char.rst: Likewise. - * doc/gfortran/intrinsic-procedures/real.rst: Likewise. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/gfc-internals/code-that-interacts-with-the-user.rst: - Add trailing newline. - * doc/gfc-internals/command-line-options.rst: - Add trailing newline. - * doc/gfc-internals/copyright.rst: - Add trailing newline. - * doc/gfc-internals/error-handling.rst: - Add trailing newline. - * doc/gfc-internals/frontend-data-structures.rst: - Add trailing newline. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst: - Add trailing newline. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst: - Add trailing newline. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst: - Add trailing newline. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst: - Add trailing newline. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst: - Add trailing newline. - * doc/gfc-internals/gfccode.rst: - Add trailing newline. - * doc/gfc-internals/gfcexpr.rst: - Add trailing newline. - * doc/gfc-internals/gnu-free-documentation-license.rst: - Add trailing newline. - * doc/gfc-internals/index.rst: - Add trailing newline. - * doc/gfc-internals/indices-and-tables.rst: - Add trailing newline. - * doc/gfc-internals/internals-of-fortran-2003-oop-features.rst: - Add trailing newline. - * doc/gfc-internals/introduction.rst: - Add trailing newline. - * doc/gfc-internals/symbol-versioning.rst: - Add trailing newline. - * doc/gfc-internals/the-libgfortran-runtime-library.rst: - Add trailing newline. - * doc/gfc-internals/type-bound-operators.rst: - Add trailing newline. - * doc/gfc-internals/type-bound-procedures.rst: - Add trailing newline. - * doc/gfortran/about-gnu-fortran.rst: - Add trailing newline. - * doc/gfortran/coarray-programming.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/asynchronous-i-o.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/kind-type-parameters.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst: - Add trailing newline. - * doc/gfortran/contributing.rst: - Add trailing newline. - * doc/gfortran/contributors-to-gnu-fortran.rst: - Add trailing newline. - * doc/gfortran/copyright.rst: - Add trailing newline. - * doc/gfortran/extensions-implemented-in-gnu-fortran.rst: - Add trailing newline. - * doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst: - Add trailing newline. - * doc/gfortran/extensions.rst: - Add trailing newline. - * doc/gfortran/function-abi-documentation.rst: - Add trailing newline. - * doc/gfortran/funding.rst: - Add trailing newline. - * doc/gfortran/general-public-license-3.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-and-gcc.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/description.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/option-summary.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-compiler-directives.rst: - Add trailing newline. - * doc/gfortran/gnu-free-documentation-license.rst: - Add trailing newline. - * doc/gfortran/index.rst: - Add trailing newline. - * doc/gfortran/indices-and-tables.rst: - Add trailing newline. - * doc/gfortran/interoperability-with-c.rst: - Add trailing newline. - * doc/gfortran/intrinsic-modules.rst: - Add trailing newline. - * doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst: - Add trailing newline. - * doc/gfortran/intrinsic-modules/isocbinding.rst: - Add trailing newline. - * doc/gfortran/intrinsic-modules/isofortranenv.rst: - Add trailing newline. - * doc/gfortran/intrinsic-modules/openacc-module-openacc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/abort.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/abs.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/access.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/achar.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/acos.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/acosd.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/acosh.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/adjustl.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/adjustr.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/aimag.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/alarm.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/all.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/allocated.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/and.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/any.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/asin.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/asind.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/asinh.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/associated.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atan.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atan2.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atan2d.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atanh.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicadd.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomiccas.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicdefine.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicfetchadd.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicfetchand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicfetchor.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicfetchxor.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicor.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicref.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicxor.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/backtrace.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/besselj0.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/besselj1.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/besseljn.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/bessely0.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/bessely1.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/besselyn.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/bge.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/bgt.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/bitsize.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ble.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/blt.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/btest.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cassociated.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ceiling.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cfpointer.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cfprocpointer.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cfunloc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/chdir.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/chmod.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cloc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cmplx.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cobroadcast.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/comax.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/comin.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/commandargumentcount.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/compileroptions.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/compilerversion.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/complex.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/conjg.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/coreduce.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cos.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cosd.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cosh.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cosum.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cotan.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cotand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/count.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cputime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cshift.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/csizeof.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ctime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dateandtime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dble.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dcmplx.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/digits.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dim.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dotproduct.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dprod.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dreal.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dshiftl.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dshiftr.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dtime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/eoshift.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/epsilon.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/erf.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/erfc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/erfcscaled.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/etime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/eventquery.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/executecommandline.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/exit.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/exp.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/exponent.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/extendstypeof.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fdate.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fget.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fgetc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/findloc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/floor.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/flush.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fnum.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fput.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fputc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fraction.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/free.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fseek.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fstat.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ftell.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/gamma.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/gerror.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getarg.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getcommand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getcommandargument.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getcwd.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getenv.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getgid.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getlog.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getpid.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getuid.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/gmtime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/hostnm.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/huge.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/hypot.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/iachar.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/iall.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/iand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/iany.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/iargc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ibclr.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ibits.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ibset.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ichar.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/idate.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ieor.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ierrno.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/imageindex.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/index.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/int2.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/int8.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ior.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/iparity.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/irand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/isatty.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/iscontiguous.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ishft.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ishftc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/isiostatend.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/isiostateor.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/isnan.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/itime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/kill.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/kind.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lbound.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lcobound.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/leadz.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/len.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lentrim.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lge.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lgt.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/link.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lle.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/llt.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lnblnk.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/loc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/log.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/log10.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/loggamma.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/logical.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lshift.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lstat.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ltime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/malloc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/maskl.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/maskr.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/matmul.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/max.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/maxexponent.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/maxloc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/maxval.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/mclock.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/mclock8.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/merge.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/mergebits.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/min.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/minexponent.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/minloc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/minval.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/mod.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/modulo.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/movealloc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/mvbits.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/nearest.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/newline.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/nint.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/norm2.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/not.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/null.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/numimages.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/or.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/pack.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/parity.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/perror.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/popcnt.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/poppar.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/precision.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/present.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/product.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/radix.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ran.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/rand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/randominit.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/randomnumber.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/randomseed.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/range.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/rank.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/rename.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/repeat.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/reshape.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/rrspacing.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/rshift.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sametypeas.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/scale.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/scan.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/secnds.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/second.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/selectedcharkind.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/selectedintkind.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/selectedrealkind.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/setexponent.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/shape.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/shifta.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/shiftl.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/shiftr.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sign.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/signal.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sin.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sind.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sinh.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/size.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sizeof.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sleep.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/spacing.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/spread.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sqrt.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/srand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/stat.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/storagesize.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sum.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/symlnk.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/system.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/systemclock.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/tan.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/tand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/tanh.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/thisimage.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/time.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/time8.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/tiny.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/trailz.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/transfer.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/transpose.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/trim.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ttynam.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ubound.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ucobound.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/umask.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/unlink.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/unpack.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/verify.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/xor.rst: - Add trailing newline. - * doc/gfortran/introduction.rst: - Add trailing newline. - * doc/gfortran/mixed-language-programming.rst: - Add trailing newline. - * doc/gfortran/naming-and-argument-passing-conventions.rst: - Add trailing newline. - * doc/gfortran/non-fortran-main-program.rst: - Add trailing newline. - * doc/gfortran/projects.rst: - Add trailing newline. - * doc/gfortran/runtime.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranconvertunit.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranerrorbacktrace.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranformattedbuffersize.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranlistseparator.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranoptionalplus.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranshowlocus.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranstderrunit.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranstdinunit.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranstdoutunit.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranunbufferedall.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranunbufferedpreconnected.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranunformattedbuffersize.rst: - Add trailing newline. - * doc/gfortran/runtime/tmpdir.rst: - Add trailing newline. - * doc/gfortran/standards.rst: - Add trailing newline. - * doc/gfortran/type-and-enum-abi-documentation.rst: - Add trailing newline. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/gfc-internals/conf.py: Add newline at last line. - * doc/gfortran/conf.py: Add newline at last line. - -2022-11-14 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-10 Martin Liska <mliska@suse.cz> - - * doc/gfortran/intrinsic-procedures/abs.rst: Move label directly before title. - * doc/gfortran/intrinsic-procedures/acos.rst: Likewise. - * doc/gfortran/intrinsic-procedures/acosd.rst: Likewise. - * doc/gfortran/intrinsic-procedures/acosh.rst: Likewise. - * doc/gfortran/intrinsic-procedures/aimag.rst: Likewise. - * doc/gfortran/intrinsic-procedures/aint.rst: Likewise. - * doc/gfortran/intrinsic-procedures/anint.rst: Likewise. - * doc/gfortran/intrinsic-procedures/asin.rst: Likewise. - * doc/gfortran/intrinsic-procedures/asind.rst: Likewise. - * doc/gfortran/intrinsic-procedures/asinh.rst: Likewise. - * doc/gfortran/intrinsic-procedures/atan.rst: Likewise. - * doc/gfortran/intrinsic-procedures/atan2.rst: Likewise. - * doc/gfortran/intrinsic-procedures/atan2d.rst: Likewise. - * doc/gfortran/intrinsic-procedures/atand.rst: Likewise. - * doc/gfortran/intrinsic-procedures/atanh.rst: Likewise. - * doc/gfortran/intrinsic-procedures/besselj0.rst: Likewise. - * doc/gfortran/intrinsic-procedures/besselj1.rst: Likewise. - * doc/gfortran/intrinsic-procedures/besseljn.rst: Likewise. - * doc/gfortran/intrinsic-procedures/bessely0.rst: Likewise. - * doc/gfortran/intrinsic-procedures/bessely1.rst: Likewise. - * doc/gfortran/intrinsic-procedures/besselyn.rst: Likewise. - * doc/gfortran/intrinsic-procedures/btest.rst: Likewise. - * doc/gfortran/intrinsic-procedures/char.rst: Likewise. - * doc/gfortran/intrinsic-procedures/conjg.rst: Likewise. - * doc/gfortran/intrinsic-procedures/cos.rst: Likewise. - * doc/gfortran/intrinsic-procedures/cosd.rst: Likewise. - * doc/gfortran/intrinsic-procedures/cosh.rst: Likewise. - * doc/gfortran/intrinsic-procedures/cotan.rst: Likewise. - * doc/gfortran/intrinsic-procedures/cotand.rst: Likewise. - * doc/gfortran/intrinsic-procedures/dim.rst: Likewise. - * doc/gfortran/intrinsic-procedures/dprod.rst: Likewise. - * doc/gfortran/intrinsic-procedures/erf.rst: Likewise. - * doc/gfortran/intrinsic-procedures/erfc.rst: Likewise. - * doc/gfortran/intrinsic-procedures/exp.rst: Likewise. - * doc/gfortran/intrinsic-procedures/gamma.rst: Likewise. - * doc/gfortran/intrinsic-procedures/iand.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ibclr.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ibits.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ibset.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ichar.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ieor.rst: Likewise. - * doc/gfortran/intrinsic-procedures/index.rst: Likewise. - * doc/gfortran/intrinsic-procedures/int.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ior.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ishft.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ishftc.rst: Likewise. - * doc/gfortran/intrinsic-procedures/len.rst: Likewise. - * doc/gfortran/intrinsic-procedures/lge.rst: Likewise. - * doc/gfortran/intrinsic-procedures/lgt.rst: Likewise. - * doc/gfortran/intrinsic-procedures/lle.rst: Likewise. - * doc/gfortran/intrinsic-procedures/llt.rst: Likewise. - * doc/gfortran/intrinsic-procedures/log.rst: Likewise. - * doc/gfortran/intrinsic-procedures/log10.rst: Likewise. - * doc/gfortran/intrinsic-procedures/loggamma.rst: Likewise. - * doc/gfortran/intrinsic-procedures/max.rst: Likewise. - * doc/gfortran/intrinsic-procedures/min.rst: Likewise. - * doc/gfortran/intrinsic-procedures/mod.rst: Likewise. - * doc/gfortran/intrinsic-procedures/mvbits.rst: Likewise. - * doc/gfortran/intrinsic-procedures/nint.rst: Likewise. - * doc/gfortran/intrinsic-procedures/not.rst: Likewise. - * doc/gfortran/intrinsic-procedures/real.rst: Likewise. - * doc/gfortran/intrinsic-procedures/sign.rst: Likewise. - * doc/gfortran/intrinsic-procedures/sin.rst: Likewise. - * doc/gfortran/intrinsic-procedures/sind.rst: Likewise. - * doc/gfortran/intrinsic-procedures/sinh.rst: Likewise. - * doc/gfortran/intrinsic-procedures/sqrt.rst: Likewise. - * doc/gfortran/intrinsic-procedures/tan.rst: Likewise. - * doc/gfortran/intrinsic-procedures/tand.rst: Likewise. - * doc/gfortran/intrinsic-procedures/tanh.rst: Likewise. - -2022-11-14 Martin Liska <mliska@suse.cz> - - * doc/gfortran/naming-and-argument-passing-conventions.rst: - Revert. - -2022-11-13 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/94104 - * interface.cc (gfc_compare_actual_formal): Improve error message - dependent on Fortran standard level. - -2021-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> - - * gfortran.h (gfc_check_include): Remove declaration. - -2022-11-12 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107444 - * trans-decl.cc (create_function_arglist): Extend presence status - to all intrinsic types, and change prefix of internal symbol to '.'. - * trans-expr.cc (gfc_conv_expr_present): Align to changes in - create_function_arglist. - (gfc_conv_procedure_call): Fix generation of procedure arguments for - the case of character dummy arguments with optional+value attribute. - * trans-types.cc (gfc_get_function_type): Synchronize with changes - to create_function_arglist. - * doc/gfortran/naming-and-argument-passing-conventions.rst: Clarify - the gfortran argument passing conventions with regard to OPTIONAL - dummy arguments of intrinsic type. - -2022-11-10 Martin Liska <mliska@suse.cz> - - * doc/gfortran/intrinsic-procedures/abs.rst: Move label directly before title. - * doc/gfortran/intrinsic-procedures/acos.rst: Likewise. - * doc/gfortran/intrinsic-procedures/acosd.rst: Likewise. - * doc/gfortran/intrinsic-procedures/acosh.rst: Likewise. - * doc/gfortran/intrinsic-procedures/aimag.rst: Likewise. - * doc/gfortran/intrinsic-procedures/aint.rst: Likewise. - * doc/gfortran/intrinsic-procedures/anint.rst: Likewise. - * doc/gfortran/intrinsic-procedures/asin.rst: Likewise. - * doc/gfortran/intrinsic-procedures/asind.rst: Likewise. - * doc/gfortran/intrinsic-procedures/asinh.rst: Likewise. - * doc/gfortran/intrinsic-procedures/atan.rst: Likewise. - * doc/gfortran/intrinsic-procedures/atan2.rst: Likewise. - * doc/gfortran/intrinsic-procedures/atan2d.rst: Likewise. - * doc/gfortran/intrinsic-procedures/atand.rst: Likewise. - * doc/gfortran/intrinsic-procedures/atanh.rst: Likewise. - * doc/gfortran/intrinsic-procedures/besselj0.rst: Likewise. - * doc/gfortran/intrinsic-procedures/besselj1.rst: Likewise. - * doc/gfortran/intrinsic-procedures/besseljn.rst: Likewise. - * doc/gfortran/intrinsic-procedures/bessely0.rst: Likewise. - * doc/gfortran/intrinsic-procedures/bessely1.rst: Likewise. - * doc/gfortran/intrinsic-procedures/besselyn.rst: Likewise. - * doc/gfortran/intrinsic-procedures/btest.rst: Likewise. - * doc/gfortran/intrinsic-procedures/char.rst: Likewise. - * doc/gfortran/intrinsic-procedures/conjg.rst: Likewise. - * doc/gfortran/intrinsic-procedures/cos.rst: Likewise. - * doc/gfortran/intrinsic-procedures/cosd.rst: Likewise. - * doc/gfortran/intrinsic-procedures/cosh.rst: Likewise. - * doc/gfortran/intrinsic-procedures/cotan.rst: Likewise. - * doc/gfortran/intrinsic-procedures/cotand.rst: Likewise. - * doc/gfortran/intrinsic-procedures/dim.rst: Likewise. - * doc/gfortran/intrinsic-procedures/dprod.rst: Likewise. - * doc/gfortran/intrinsic-procedures/erf.rst: Likewise. - * doc/gfortran/intrinsic-procedures/erfc.rst: Likewise. - * doc/gfortran/intrinsic-procedures/exp.rst: Likewise. - * doc/gfortran/intrinsic-procedures/gamma.rst: Likewise. - * doc/gfortran/intrinsic-procedures/iand.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ibclr.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ibits.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ibset.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ichar.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ieor.rst: Likewise. - * doc/gfortran/intrinsic-procedures/index.rst: Likewise. - * doc/gfortran/intrinsic-procedures/int.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ior.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ishft.rst: Likewise. - * doc/gfortran/intrinsic-procedures/ishftc.rst: Likewise. - * doc/gfortran/intrinsic-procedures/len.rst: Likewise. - * doc/gfortran/intrinsic-procedures/lge.rst: Likewise. - * doc/gfortran/intrinsic-procedures/lgt.rst: Likewise. - * doc/gfortran/intrinsic-procedures/lle.rst: Likewise. - * doc/gfortran/intrinsic-procedures/llt.rst: Likewise. - * doc/gfortran/intrinsic-procedures/log.rst: Likewise. - * doc/gfortran/intrinsic-procedures/log10.rst: Likewise. - * doc/gfortran/intrinsic-procedures/loggamma.rst: Likewise. - * doc/gfortran/intrinsic-procedures/max.rst: Likewise. - * doc/gfortran/intrinsic-procedures/min.rst: Likewise. - * doc/gfortran/intrinsic-procedures/mod.rst: Likewise. - * doc/gfortran/intrinsic-procedures/mvbits.rst: Likewise. - * doc/gfortran/intrinsic-procedures/nint.rst: Likewise. - * doc/gfortran/intrinsic-procedures/not.rst: Likewise. - * doc/gfortran/intrinsic-procedures/real.rst: Likewise. - * doc/gfortran/intrinsic-procedures/sign.rst: Likewise. - * doc/gfortran/intrinsic-procedures/sin.rst: Likewise. - * doc/gfortran/intrinsic-procedures/sind.rst: Likewise. - * doc/gfortran/intrinsic-procedures/sinh.rst: Likewise. - * doc/gfortran/intrinsic-procedures/sqrt.rst: Likewise. - * doc/gfortran/intrinsic-procedures/tan.rst: Likewise. - * doc/gfortran/intrinsic-procedures/tand.rst: Likewise. - * doc/gfortran/intrinsic-procedures/tanh.rst: Likewise. - -2022-11-10 Martin Liska <mliska@suse.cz> - - * doc/gfc-internals/conf.py: Add newline at last line. - * doc/gfortran/conf.py: Add newline at last line. - -2022-11-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107559 - * resolve.cc (resolve_equivalence): Avoid NULL pointer dereference - while emitting diagnostics for bad EQUIVALENCEs. - -2022-11-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107441 - * trans-decl.cc (create_function_arglist): Adjust the ordering of - automatically generated hidden procedure arguments to match the - documented ABI for gfortran. - * trans-types.cc (gfc_get_function_type): Separate hidden parameters - so that the presence flag for optional+value arguments come before - string length, coarray token and offset, as required. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gfc-internals/code-that-interacts-with-the-user.rst: - Add trailing newline. - * doc/gfc-internals/command-line-options.rst: - Add trailing newline. - * doc/gfc-internals/copyright.rst: - Add trailing newline. - * doc/gfc-internals/error-handling.rst: - Add trailing newline. - * doc/gfc-internals/frontend-data-structures.rst: - Add trailing newline. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst: - Add trailing newline. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst: - Add trailing newline. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst: - Add trailing newline. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst: - Add trailing newline. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst: - Add trailing newline. - * doc/gfc-internals/gfccode.rst: - Add trailing newline. - * doc/gfc-internals/gfcexpr.rst: - Add trailing newline. - * doc/gfc-internals/gnu-free-documentation-license.rst: - Add trailing newline. - * doc/gfc-internals/index.rst: - Add trailing newline. - * doc/gfc-internals/indices-and-tables.rst: - Add trailing newline. - * doc/gfc-internals/internals-of-fortran-2003-oop-features.rst: - Add trailing newline. - * doc/gfc-internals/introduction.rst: - Add trailing newline. - * doc/gfc-internals/symbol-versioning.rst: - Add trailing newline. - * doc/gfc-internals/the-libgfortran-runtime-library.rst: - Add trailing newline. - * doc/gfc-internals/type-bound-operators.rst: - Add trailing newline. - * doc/gfc-internals/type-bound-procedures.rst: - Add trailing newline. - * doc/gfortran/about-gnu-fortran.rst: - Add trailing newline. - * doc/gfortran/coarray-programming.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/asynchronous-i-o.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/kind-type-parameters.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst: - Add trailing newline. - * doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst: - Add trailing newline. - * doc/gfortran/contributing.rst: - Add trailing newline. - * doc/gfortran/contributors-to-gnu-fortran.rst: - Add trailing newline. - * doc/gfortran/copyright.rst: - Add trailing newline. - * doc/gfortran/extensions-implemented-in-gnu-fortran.rst: - Add trailing newline. - * doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst: - Add trailing newline. - * doc/gfortran/extensions.rst: - Add trailing newline. - * doc/gfortran/function-abi-documentation.rst: - Add trailing newline. - * doc/gfortran/funding.rst: - Add trailing newline. - * doc/gfortran/general-public-license-3.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-and-gcc.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/description.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/option-summary.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst: - Add trailing newline. - * doc/gfortran/gnu-fortran-compiler-directives.rst: - Add trailing newline. - * doc/gfortran/gnu-free-documentation-license.rst: - Add trailing newline. - * doc/gfortran/index.rst: - Add trailing newline. - * doc/gfortran/indices-and-tables.rst: - Add trailing newline. - * doc/gfortran/interoperability-with-c.rst: - Add trailing newline. - * doc/gfortran/intrinsic-modules.rst: - Add trailing newline. - * doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst: - Add trailing newline. - * doc/gfortran/intrinsic-modules/isocbinding.rst: - Add trailing newline. - * doc/gfortran/intrinsic-modules/isofortranenv.rst: - Add trailing newline. - * doc/gfortran/intrinsic-modules/openacc-module-openacc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/abort.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/abs.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/access.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/achar.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/acos.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/acosd.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/acosh.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/adjustl.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/adjustr.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/aimag.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/alarm.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/all.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/allocated.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/and.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/any.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/asin.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/asind.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/asinh.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/associated.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atan.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atan2.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atan2d.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atanh.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicadd.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomiccas.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicdefine.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicfetchadd.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicfetchand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicfetchor.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicfetchxor.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicor.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicref.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/atomicxor.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/backtrace.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/besselj0.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/besselj1.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/besseljn.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/bessely0.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/bessely1.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/besselyn.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/bge.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/bgt.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/bitsize.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ble.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/blt.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/btest.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cassociated.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ceiling.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cfpointer.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cfprocpointer.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cfunloc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/chdir.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/chmod.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cloc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cmplx.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cobroadcast.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/comax.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/comin.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/commandargumentcount.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/compileroptions.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/compilerversion.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/complex.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/conjg.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/coreduce.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cos.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cosd.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cosh.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cosum.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cotan.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cotand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/count.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cputime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/cshift.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/csizeof.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ctime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dateandtime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dble.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dcmplx.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/digits.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dim.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dotproduct.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dprod.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dreal.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dshiftl.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dshiftr.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/dtime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/eoshift.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/epsilon.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/erf.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/erfc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/erfcscaled.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/etime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/eventquery.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/executecommandline.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/exit.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/exp.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/exponent.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/extendstypeof.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fdate.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fget.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fgetc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/findloc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/floor.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/flush.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fnum.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fput.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fputc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fraction.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/free.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fseek.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/fstat.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ftell.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/gamma.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/gerror.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getarg.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getcommand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getcommandargument.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getcwd.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getenv.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getgid.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getlog.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getpid.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/getuid.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/gmtime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/hostnm.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/huge.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/hypot.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/iachar.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/iall.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/iand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/iany.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/iargc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ibclr.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ibits.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ibset.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ichar.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/idate.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ieor.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ierrno.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/imageindex.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/index.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/int2.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/int8.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ior.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/iparity.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/irand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/isatty.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/iscontiguous.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ishft.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ishftc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/isiostatend.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/isiostateor.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/isnan.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/itime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/kill.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/kind.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lbound.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lcobound.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/leadz.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/len.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lentrim.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lge.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lgt.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/link.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lle.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/llt.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lnblnk.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/loc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/log.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/log10.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/loggamma.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/logical.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lshift.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/lstat.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ltime.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/malloc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/maskl.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/maskr.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/matmul.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/max.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/maxexponent.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/maxloc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/maxval.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/mclock.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/mclock8.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/merge.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/mergebits.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/min.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/minexponent.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/minloc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/minval.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/mod.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/modulo.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/movealloc.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/mvbits.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/nearest.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/newline.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/nint.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/norm2.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/not.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/null.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/numimages.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/or.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/pack.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/parity.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/perror.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/popcnt.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/poppar.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/precision.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/present.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/product.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/radix.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ran.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/rand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/randominit.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/randomnumber.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/randomseed.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/range.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/rank.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/rename.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/repeat.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/reshape.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/rrspacing.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/rshift.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sametypeas.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/scale.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/scan.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/secnds.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/second.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/selectedcharkind.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/selectedintkind.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/selectedrealkind.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/setexponent.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/shape.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/shifta.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/shiftl.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/shiftr.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sign.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/signal.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sin.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sind.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sinh.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/size.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sizeof.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sleep.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/spacing.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/spread.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sqrt.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/srand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/stat.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/storagesize.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/sum.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/symlnk.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/system.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/systemclock.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/tan.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/tand.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/tanh.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/thisimage.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/time.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/time8.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/tiny.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/trailz.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/transfer.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/transpose.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/trim.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ttynam.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ubound.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/ucobound.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/umask.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/unlink.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/unpack.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/verify.rst: - Add trailing newline. - * doc/gfortran/intrinsic-procedures/xor.rst: - Add trailing newline. - * doc/gfortran/introduction.rst: - Add trailing newline. - * doc/gfortran/mixed-language-programming.rst: - Add trailing newline. - * doc/gfortran/naming-and-argument-passing-conventions.rst: - Add trailing newline. - * doc/gfortran/non-fortran-main-program.rst: - Add trailing newline. - * doc/gfortran/projects.rst: - Add trailing newline. - * doc/gfortran/runtime.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranconvertunit.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranerrorbacktrace.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranformattedbuffersize.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranlistseparator.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranoptionalplus.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranshowlocus.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranstderrunit.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranstdinunit.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranstdoutunit.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranunbufferedall.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranunbufferedpreconnected.rst: - Add trailing newline. - * doc/gfortran/runtime/gfortranunformattedbuffersize.rst: - Add trailing newline. - * doc/gfortran/runtime/tmpdir.rst: - Add trailing newline. - * doc/gfortran/standards.rst: - Add trailing newline. - * doc/gfortran/type-and-enum-abi-documentation.rst: - Add trailing newline. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gfortran/intrinsic-procedures/aint.rst: Simplify function - declaration. - * doc/gfortran/intrinsic-procedures/int.rst: Likewise. - * doc/gfortran/intrinsic-procedures/anint.rst: Likewise. - * doc/gfortran/intrinsic-procedures/char.rst: Likewise. - * doc/gfortran/intrinsic-procedures/real.rst: Likewise. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * Make-lang.in: - Support installation if sphinx-build is missing. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * Make-lang.in: Support --with-sphinx-build. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * gfc-internals.texi: Removed. - * gfortran.texi: Removed. - * intrinsic.texi: Removed. - * invoke.texi: Removed. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * Make-lang.in: Support Sphinx based documentation. - -2022-11-09 Martin Liska <mliska@suse.cz> - - * doc/gfc-internals/code-that-interacts-with-the-user.rst: New file. - * doc/gfc-internals/command-line-options.rst: New file. - * doc/gfc-internals/conf.py: New file. - * doc/gfc-internals/copyright.rst: New file. - * doc/gfc-internals/error-handling.rst: New file. - * doc/gfc-internals/frontend-data-structures.rst: New file. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst: New file. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst: - New file. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst: - New file. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst: - New file. - * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst: - New file. - * doc/gfc-internals/gfccode.rst: New file. - * doc/gfc-internals/gfcexpr.rst: New file. - * doc/gfc-internals/gnu-free-documentation-license.rst: New file. - * doc/gfc-internals/index.rst: New file. - * doc/gfc-internals/indices-and-tables.rst: New file. - * doc/gfc-internals/internals-of-fortran-2003-oop-features.rst: New file. - * doc/gfc-internals/introduction.rst: New file. - * doc/gfc-internals/symbol-versioning.rst: New file. - * doc/gfc-internals/the-libgfortran-runtime-library.rst: New file. - * doc/gfc-internals/type-bound-operators.rst: New file. - * doc/gfc-internals/type-bound-procedures.rst: New file. - * doc/gfortran/about-gnu-fortran.rst: New file. - * doc/gfortran/coarray-programming.rst: New file. - * doc/gfortran/compiler-characteristics.rst: New file. - * doc/gfortran/compiler-characteristics/asynchronous-i-o.rst: New file. - * doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst: New file. - * doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst: New file. - * doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst: - New file. - * doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst: New file. - * doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst: - New file. - * doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst: - New file. - * doc/gfortran/compiler-characteristics/kind-type-parameters.rst: New file. - * doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst: - New file. - * doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst: New file. - * doc/gfortran/conf.py: New file. - * doc/gfortran/contributing.rst: New file. - * doc/gfortran/contributors-to-gnu-fortran.rst: New file. - * doc/gfortran/copyright.rst: New file. - * doc/gfortran/extensions-implemented-in-gnu-fortran.rst: New file. - * doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst: New file. - * doc/gfortran/extensions.rst: New file. - * doc/gfortran/function-abi-documentation.rst: New file. - * doc/gfortran/funding.rst: New file. - * doc/gfortran/general-public-license-3.rst: New file. - * doc/gfortran/gnu-fortran-and-gcc.rst: New file. - * doc/gfortran/gnu-fortran-command-options.rst: New file. - * doc/gfortran/gnu-fortran-command-options/description.rst: New file. - * doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst: New file. - * doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst: - New file. - * doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst: New file. - * doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst: New file. - * doc/gfortran/gnu-fortran-command-options/option-summary.rst: New file. - * doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst: - New file. - * doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst: - New file. - * doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst: - New file. - * doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst: New file. - * doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst: - New file. - * doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst: - New file. - * doc/gfortran/gnu-fortran-compiler-directives.rst: New file. - * doc/gfortran/gnu-free-documentation-license.rst: New file. - * doc/gfortran/index.rst: New file. - * doc/gfortran/indices-and-tables.rst: New file. - * doc/gfortran/interoperability-with-c.rst: New file. - * doc/gfortran/intrinsic-modules.rst: New file. - * doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst: - New file. - * doc/gfortran/intrinsic-modules/isocbinding.rst: New file. - * doc/gfortran/intrinsic-modules/isofortranenv.rst: New file. - * doc/gfortran/intrinsic-modules/openacc-module-openacc.rst: New file. - * doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst: New file. - * doc/gfortran/intrinsic-procedures.rst: New file. - * doc/gfortran/intrinsic-procedures/abort.rst: New file. - * doc/gfortran/intrinsic-procedures/abs.rst: New file. - * doc/gfortran/intrinsic-procedures/access.rst: New file. - * doc/gfortran/intrinsic-procedures/achar.rst: New file. - * doc/gfortran/intrinsic-procedures/acos.rst: New file. - * doc/gfortran/intrinsic-procedures/acosd.rst: New file. - * doc/gfortran/intrinsic-procedures/acosh.rst: New file. - * doc/gfortran/intrinsic-procedures/adjustl.rst: New file. - * doc/gfortran/intrinsic-procedures/adjustr.rst: New file. - * doc/gfortran/intrinsic-procedures/aimag.rst: New file. - * doc/gfortran/intrinsic-procedures/aint.rst: New file. - * doc/gfortran/intrinsic-procedures/alarm.rst: New file. - * doc/gfortran/intrinsic-procedures/all.rst: New file. - * doc/gfortran/intrinsic-procedures/allocated.rst: New file. - * doc/gfortran/intrinsic-procedures/and.rst: New file. - * doc/gfortran/intrinsic-procedures/anint.rst: New file. - * doc/gfortran/intrinsic-procedures/any.rst: New file. - * doc/gfortran/intrinsic-procedures/asin.rst: New file. - * doc/gfortran/intrinsic-procedures/asind.rst: New file. - * doc/gfortran/intrinsic-procedures/asinh.rst: New file. - * doc/gfortran/intrinsic-procedures/associated.rst: New file. - * doc/gfortran/intrinsic-procedures/atan.rst: New file. - * doc/gfortran/intrinsic-procedures/atan2.rst: New file. - * doc/gfortran/intrinsic-procedures/atan2d.rst: New file. - * doc/gfortran/intrinsic-procedures/atand.rst: New file. - * doc/gfortran/intrinsic-procedures/atanh.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicadd.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicand.rst: New file. - * doc/gfortran/intrinsic-procedures/atomiccas.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicdefine.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicfetchadd.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicfetchand.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicfetchor.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicfetchxor.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicor.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicref.rst: New file. - * doc/gfortran/intrinsic-procedures/atomicxor.rst: New file. - * doc/gfortran/intrinsic-procedures/backtrace.rst: New file. - * doc/gfortran/intrinsic-procedures/besselj0.rst: New file. - * doc/gfortran/intrinsic-procedures/besselj1.rst: New file. - * doc/gfortran/intrinsic-procedures/besseljn.rst: New file. - * doc/gfortran/intrinsic-procedures/bessely0.rst: New file. - * doc/gfortran/intrinsic-procedures/bessely1.rst: New file. - * doc/gfortran/intrinsic-procedures/besselyn.rst: New file. - * doc/gfortran/intrinsic-procedures/bge.rst: New file. - * doc/gfortran/intrinsic-procedures/bgt.rst: New file. - * doc/gfortran/intrinsic-procedures/bitsize.rst: New file. - * doc/gfortran/intrinsic-procedures/ble.rst: New file. - * doc/gfortran/intrinsic-procedures/blt.rst: New file. - * doc/gfortran/intrinsic-procedures/btest.rst: New file. - * doc/gfortran/intrinsic-procedures/cassociated.rst: New file. - * doc/gfortran/intrinsic-procedures/ceiling.rst: New file. - * doc/gfortran/intrinsic-procedures/cfpointer.rst: New file. - * doc/gfortran/intrinsic-procedures/cfprocpointer.rst: New file. - * doc/gfortran/intrinsic-procedures/cfunloc.rst: New file. - * doc/gfortran/intrinsic-procedures/char.rst: New file. - * doc/gfortran/intrinsic-procedures/chdir.rst: New file. - * doc/gfortran/intrinsic-procedures/chmod.rst: New file. - * doc/gfortran/intrinsic-procedures/cloc.rst: New file. - * doc/gfortran/intrinsic-procedures/cmplx.rst: New file. - * doc/gfortran/intrinsic-procedures/cobroadcast.rst: New file. - * doc/gfortran/intrinsic-procedures/comax.rst: New file. - * doc/gfortran/intrinsic-procedures/comin.rst: New file. - * doc/gfortran/intrinsic-procedures/commandargumentcount.rst: New file. - * doc/gfortran/intrinsic-procedures/compileroptions.rst: New file. - * doc/gfortran/intrinsic-procedures/compilerversion.rst: New file. - * doc/gfortran/intrinsic-procedures/complex.rst: New file. - * doc/gfortran/intrinsic-procedures/conjg.rst: New file. - * doc/gfortran/intrinsic-procedures/coreduce.rst: New file. - * doc/gfortran/intrinsic-procedures/cos.rst: New file. - * doc/gfortran/intrinsic-procedures/cosd.rst: New file. - * doc/gfortran/intrinsic-procedures/cosh.rst: New file. - * doc/gfortran/intrinsic-procedures/cosum.rst: New file. - * doc/gfortran/intrinsic-procedures/cotan.rst: New file. - * doc/gfortran/intrinsic-procedures/cotand.rst: New file. - * doc/gfortran/intrinsic-procedures/count.rst: New file. - * doc/gfortran/intrinsic-procedures/cputime.rst: New file. - * doc/gfortran/intrinsic-procedures/cshift.rst: New file. - * doc/gfortran/intrinsic-procedures/csizeof.rst: New file. - * doc/gfortran/intrinsic-procedures/ctime.rst: New file. - * doc/gfortran/intrinsic-procedures/dateandtime.rst: New file. - * doc/gfortran/intrinsic-procedures/dble.rst: New file. - * doc/gfortran/intrinsic-procedures/dcmplx.rst: New file. - * doc/gfortran/intrinsic-procedures/digits.rst: New file. - * doc/gfortran/intrinsic-procedures/dim.rst: New file. - * doc/gfortran/intrinsic-procedures/dotproduct.rst: New file. - * doc/gfortran/intrinsic-procedures/dprod.rst: New file. - * doc/gfortran/intrinsic-procedures/dreal.rst: New file. - * doc/gfortran/intrinsic-procedures/dshiftl.rst: New file. - * doc/gfortran/intrinsic-procedures/dshiftr.rst: New file. - * doc/gfortran/intrinsic-procedures/dtime.rst: New file. - * doc/gfortran/intrinsic-procedures/eoshift.rst: New file. - * doc/gfortran/intrinsic-procedures/epsilon.rst: New file. - * doc/gfortran/intrinsic-procedures/erf.rst: New file. - * doc/gfortran/intrinsic-procedures/erfc.rst: New file. - * doc/gfortran/intrinsic-procedures/erfcscaled.rst: New file. - * doc/gfortran/intrinsic-procedures/etime.rst: New file. - * doc/gfortran/intrinsic-procedures/eventquery.rst: New file. - * doc/gfortran/intrinsic-procedures/executecommandline.rst: New file. - * doc/gfortran/intrinsic-procedures/exit.rst: New file. - * doc/gfortran/intrinsic-procedures/exp.rst: New file. - * doc/gfortran/intrinsic-procedures/exponent.rst: New file. - * doc/gfortran/intrinsic-procedures/extendstypeof.rst: New file. - * doc/gfortran/intrinsic-procedures/fdate.rst: New file. - * doc/gfortran/intrinsic-procedures/fget.rst: New file. - * doc/gfortran/intrinsic-procedures/fgetc.rst: New file. - * doc/gfortran/intrinsic-procedures/findloc.rst: New file. - * doc/gfortran/intrinsic-procedures/floor.rst: New file. - * doc/gfortran/intrinsic-procedures/flush.rst: New file. - * doc/gfortran/intrinsic-procedures/fnum.rst: New file. - * doc/gfortran/intrinsic-procedures/fput.rst: New file. - * doc/gfortran/intrinsic-procedures/fputc.rst: New file. - * doc/gfortran/intrinsic-procedures/fraction.rst: New file. - * doc/gfortran/intrinsic-procedures/free.rst: New file. - * doc/gfortran/intrinsic-procedures/fseek.rst: New file. - * doc/gfortran/intrinsic-procedures/fstat.rst: New file. - * doc/gfortran/intrinsic-procedures/ftell.rst: New file. - * doc/gfortran/intrinsic-procedures/gamma.rst: New file. - * doc/gfortran/intrinsic-procedures/gerror.rst: New file. - * doc/gfortran/intrinsic-procedures/getarg.rst: New file. - * doc/gfortran/intrinsic-procedures/getcommand.rst: New file. - * doc/gfortran/intrinsic-procedures/getcommandargument.rst: New file. - * doc/gfortran/intrinsic-procedures/getcwd.rst: New file. - * doc/gfortran/intrinsic-procedures/getenv.rst: New file. - * doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst: New file. - * doc/gfortran/intrinsic-procedures/getgid.rst: New file. - * doc/gfortran/intrinsic-procedures/getlog.rst: New file. - * doc/gfortran/intrinsic-procedures/getpid.rst: New file. - * doc/gfortran/intrinsic-procedures/getuid.rst: New file. - * doc/gfortran/intrinsic-procedures/gmtime.rst: New file. - * doc/gfortran/intrinsic-procedures/hostnm.rst: New file. - * doc/gfortran/intrinsic-procedures/huge.rst: New file. - * doc/gfortran/intrinsic-procedures/hypot.rst: New file. - * doc/gfortran/intrinsic-procedures/iachar.rst: New file. - * doc/gfortran/intrinsic-procedures/iall.rst: New file. - * doc/gfortran/intrinsic-procedures/iand.rst: New file. - * doc/gfortran/intrinsic-procedures/iany.rst: New file. - * doc/gfortran/intrinsic-procedures/iargc.rst: New file. - * doc/gfortran/intrinsic-procedures/ibclr.rst: New file. - * doc/gfortran/intrinsic-procedures/ibits.rst: New file. - * doc/gfortran/intrinsic-procedures/ibset.rst: New file. - * doc/gfortran/intrinsic-procedures/ichar.rst: New file. - * doc/gfortran/intrinsic-procedures/idate.rst: New file. - * doc/gfortran/intrinsic-procedures/ieor.rst: New file. - * doc/gfortran/intrinsic-procedures/ierrno.rst: New file. - * doc/gfortran/intrinsic-procedures/imageindex.rst: New file. - * doc/gfortran/intrinsic-procedures/index.rst: New file. - * doc/gfortran/intrinsic-procedures/int.rst: New file. - * doc/gfortran/intrinsic-procedures/int2.rst: New file. - * doc/gfortran/intrinsic-procedures/int8.rst: New file. - * doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst: New file. - * doc/gfortran/intrinsic-procedures/ior.rst: New file. - * doc/gfortran/intrinsic-procedures/iparity.rst: New file. - * doc/gfortran/intrinsic-procedures/irand.rst: New file. - * doc/gfortran/intrinsic-procedures/isatty.rst: New file. - * doc/gfortran/intrinsic-procedures/iscontiguous.rst: New file. - * doc/gfortran/intrinsic-procedures/ishft.rst: New file. - * doc/gfortran/intrinsic-procedures/ishftc.rst: New file. - * doc/gfortran/intrinsic-procedures/isiostatend.rst: New file. - * doc/gfortran/intrinsic-procedures/isiostateor.rst: New file. - * doc/gfortran/intrinsic-procedures/isnan.rst: New file. - * doc/gfortran/intrinsic-procedures/itime.rst: New file. - * doc/gfortran/intrinsic-procedures/kill.rst: New file. - * doc/gfortran/intrinsic-procedures/kind.rst: New file. - * doc/gfortran/intrinsic-procedures/lbound.rst: New file. - * doc/gfortran/intrinsic-procedures/lcobound.rst: New file. - * doc/gfortran/intrinsic-procedures/leadz.rst: New file. - * doc/gfortran/intrinsic-procedures/len.rst: New file. - * doc/gfortran/intrinsic-procedures/lentrim.rst: New file. - * doc/gfortran/intrinsic-procedures/lge.rst: New file. - * doc/gfortran/intrinsic-procedures/lgt.rst: New file. - * doc/gfortran/intrinsic-procedures/link.rst: New file. - * doc/gfortran/intrinsic-procedures/lle.rst: New file. - * doc/gfortran/intrinsic-procedures/llt.rst: New file. - * doc/gfortran/intrinsic-procedures/lnblnk.rst: New file. - * doc/gfortran/intrinsic-procedures/loc.rst: New file. - * doc/gfortran/intrinsic-procedures/log.rst: New file. - * doc/gfortran/intrinsic-procedures/log10.rst: New file. - * doc/gfortran/intrinsic-procedures/loggamma.rst: New file. - * doc/gfortran/intrinsic-procedures/logical.rst: New file. - * doc/gfortran/intrinsic-procedures/lshift.rst: New file. - * doc/gfortran/intrinsic-procedures/lstat.rst: New file. - * doc/gfortran/intrinsic-procedures/ltime.rst: New file. - * doc/gfortran/intrinsic-procedures/malloc.rst: New file. - * doc/gfortran/intrinsic-procedures/maskl.rst: New file. - * doc/gfortran/intrinsic-procedures/maskr.rst: New file. - * doc/gfortran/intrinsic-procedures/matmul.rst: New file. - * doc/gfortran/intrinsic-procedures/max.rst: New file. - * doc/gfortran/intrinsic-procedures/maxexponent.rst: New file. - * doc/gfortran/intrinsic-procedures/maxloc.rst: New file. - * doc/gfortran/intrinsic-procedures/maxval.rst: New file. - * doc/gfortran/intrinsic-procedures/mclock.rst: New file. - * doc/gfortran/intrinsic-procedures/mclock8.rst: New file. - * doc/gfortran/intrinsic-procedures/merge.rst: New file. - * doc/gfortran/intrinsic-procedures/mergebits.rst: New file. - * doc/gfortran/intrinsic-procedures/min.rst: New file. - * doc/gfortran/intrinsic-procedures/minexponent.rst: New file. - * doc/gfortran/intrinsic-procedures/minloc.rst: New file. - * doc/gfortran/intrinsic-procedures/minval.rst: New file. - * doc/gfortran/intrinsic-procedures/mod.rst: New file. - * doc/gfortran/intrinsic-procedures/modulo.rst: New file. - * doc/gfortran/intrinsic-procedures/movealloc.rst: New file. - * doc/gfortran/intrinsic-procedures/mvbits.rst: New file. - * doc/gfortran/intrinsic-procedures/nearest.rst: New file. - * doc/gfortran/intrinsic-procedures/newline.rst: New file. - * doc/gfortran/intrinsic-procedures/nint.rst: New file. - * doc/gfortran/intrinsic-procedures/norm2.rst: New file. - * doc/gfortran/intrinsic-procedures/not.rst: New file. - * doc/gfortran/intrinsic-procedures/null.rst: New file. - * doc/gfortran/intrinsic-procedures/numimages.rst: New file. - * doc/gfortran/intrinsic-procedures/or.rst: New file. - * doc/gfortran/intrinsic-procedures/pack.rst: New file. - * doc/gfortran/intrinsic-procedures/parity.rst: New file. - * doc/gfortran/intrinsic-procedures/perror.rst: New file. - * doc/gfortran/intrinsic-procedures/popcnt.rst: New file. - * doc/gfortran/intrinsic-procedures/poppar.rst: New file. - * doc/gfortran/intrinsic-procedures/precision.rst: New file. - * doc/gfortran/intrinsic-procedures/present.rst: New file. - * doc/gfortran/intrinsic-procedures/product.rst: New file. - * doc/gfortran/intrinsic-procedures/radix.rst: New file. - * doc/gfortran/intrinsic-procedures/ran.rst: New file. - * doc/gfortran/intrinsic-procedures/rand.rst: New file. - * doc/gfortran/intrinsic-procedures/randominit.rst: New file. - * doc/gfortran/intrinsic-procedures/randomnumber.rst: New file. - * doc/gfortran/intrinsic-procedures/randomseed.rst: New file. - * doc/gfortran/intrinsic-procedures/range.rst: New file. - * doc/gfortran/intrinsic-procedures/rank.rst: New file. - * doc/gfortran/intrinsic-procedures/real.rst: New file. - * doc/gfortran/intrinsic-procedures/rename.rst: New file. - * doc/gfortran/intrinsic-procedures/repeat.rst: New file. - * doc/gfortran/intrinsic-procedures/reshape.rst: New file. - * doc/gfortran/intrinsic-procedures/rrspacing.rst: New file. - * doc/gfortran/intrinsic-procedures/rshift.rst: New file. - * doc/gfortran/intrinsic-procedures/sametypeas.rst: New file. - * doc/gfortran/intrinsic-procedures/scale.rst: New file. - * doc/gfortran/intrinsic-procedures/scan.rst: New file. - * doc/gfortran/intrinsic-procedures/secnds.rst: New file. - * doc/gfortran/intrinsic-procedures/second.rst: New file. - * doc/gfortran/intrinsic-procedures/selectedcharkind.rst: New file. - * doc/gfortran/intrinsic-procedures/selectedintkind.rst: New file. - * doc/gfortran/intrinsic-procedures/selectedrealkind.rst: New file. - * doc/gfortran/intrinsic-procedures/setexponent.rst: New file. - * doc/gfortran/intrinsic-procedures/shape.rst: New file. - * doc/gfortran/intrinsic-procedures/shifta.rst: New file. - * doc/gfortran/intrinsic-procedures/shiftl.rst: New file. - * doc/gfortran/intrinsic-procedures/shiftr.rst: New file. - * doc/gfortran/intrinsic-procedures/sign.rst: New file. - * doc/gfortran/intrinsic-procedures/signal.rst: New file. - * doc/gfortran/intrinsic-procedures/sin.rst: New file. - * doc/gfortran/intrinsic-procedures/sind.rst: New file. - * doc/gfortran/intrinsic-procedures/sinh.rst: New file. - * doc/gfortran/intrinsic-procedures/size.rst: New file. - * doc/gfortran/intrinsic-procedures/sizeof.rst: New file. - * doc/gfortran/intrinsic-procedures/sleep.rst: New file. - * doc/gfortran/intrinsic-procedures/spacing.rst: New file. - * doc/gfortran/intrinsic-procedures/spread.rst: New file. - * doc/gfortran/intrinsic-procedures/sqrt.rst: New file. - * doc/gfortran/intrinsic-procedures/srand.rst: New file. - * doc/gfortran/intrinsic-procedures/stat.rst: New file. - * doc/gfortran/intrinsic-procedures/storagesize.rst: New file. - * doc/gfortran/intrinsic-procedures/sum.rst: New file. - * doc/gfortran/intrinsic-procedures/symlnk.rst: New file. - * doc/gfortran/intrinsic-procedures/system.rst: New file. - * doc/gfortran/intrinsic-procedures/systemclock.rst: New file. - * doc/gfortran/intrinsic-procedures/tan.rst: New file. - * doc/gfortran/intrinsic-procedures/tand.rst: New file. - * doc/gfortran/intrinsic-procedures/tanh.rst: New file. - * doc/gfortran/intrinsic-procedures/thisimage.rst: New file. - * doc/gfortran/intrinsic-procedures/time.rst: New file. - * doc/gfortran/intrinsic-procedures/time8.rst: New file. - * doc/gfortran/intrinsic-procedures/tiny.rst: New file. - * doc/gfortran/intrinsic-procedures/trailz.rst: New file. - * doc/gfortran/intrinsic-procedures/transfer.rst: New file. - * doc/gfortran/intrinsic-procedures/transpose.rst: New file. - * doc/gfortran/intrinsic-procedures/trim.rst: New file. - * doc/gfortran/intrinsic-procedures/ttynam.rst: New file. - * doc/gfortran/intrinsic-procedures/ubound.rst: New file. - * doc/gfortran/intrinsic-procedures/ucobound.rst: New file. - * doc/gfortran/intrinsic-procedures/umask.rst: New file. - * doc/gfortran/intrinsic-procedures/unlink.rst: New file. - * doc/gfortran/intrinsic-procedures/unpack.rst: New file. - * doc/gfortran/intrinsic-procedures/verify.rst: New file. - * doc/gfortran/intrinsic-procedures/xor.rst: New file. - * doc/gfortran/introduction.rst: New file. - * doc/gfortran/mixed-language-programming.rst: New file. - * doc/gfortran/naming-and-argument-passing-conventions.rst: New file. - * doc/gfortran/non-fortran-main-program.rst: New file. - * doc/gfortran/projects.rst: New file. - * doc/gfortran/runtime.rst: New file. - * doc/gfortran/runtime/gfortranconvertunit.rst: New file. - * doc/gfortran/runtime/gfortranerrorbacktrace.rst: New file. - * doc/gfortran/runtime/gfortranformattedbuffersize.rst: New file. - * doc/gfortran/runtime/gfortranlistseparator.rst: New file. - * doc/gfortran/runtime/gfortranoptionalplus.rst: New file. - * doc/gfortran/runtime/gfortranshowlocus.rst: New file. - * doc/gfortran/runtime/gfortranstderrunit.rst: New file. - * doc/gfortran/runtime/gfortranstdinunit.rst: New file. - * doc/gfortran/runtime/gfortranstdoutunit.rst: New file. - * doc/gfortran/runtime/gfortranunbufferedall.rst: New file. - * doc/gfortran/runtime/gfortranunbufferedpreconnected.rst: New file. - * doc/gfortran/runtime/gfortranunformattedbuffersize.rst: New file. - * doc/gfortran/runtime/tmpdir.rst: New file. - * doc/gfortran/standards.rst: New file. - * doc/gfortran/type-and-enum-abi-documentation.rst: New file. - -2022-11-07 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/107508 - * trans-array.cc (gfc_alloc_allocatable_for_assignment): Fix - string-length check, plug memory leak, and avoid generation of - effectively no-op code. - * trans-expr.cc (alloc_scalar_allocatable_for_assignment): Extend - comment; minor cleanup. - -2022-11-03 Tobias Burnus <tobias@codesourcery.com> - - * openmp.cc (gfc_match_omp_clauses): Permit derived types for - the 'to' and 'from' clauses of 'target update'. - * trans-openmp.cc (gfc_trans_omp_clauses): Fixes for - derived-type changes; fix size for scalars. - -2022-10-28 Joseph Myers <joseph@codesourcery.com> - - * trans-types.cc (gfc_get_function_type): Do not use - build_varargs_function_type_vec for unprototyped function. - -2022-10-26 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103413 - * symbol.cc (gfc_type_compatible): A boz-literal-constant has no type - and thus is not considered compatible to any type. - -2022-10-21 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/100097 - PR fortran/100098 - * trans-array.cc (gfc_trans_class_array): New function to - initialize class descriptor's TKR information. - * trans-array.h (gfc_trans_class_array): Add function prototype. - * trans-decl.cc (gfc_trans_deferred_vars): Add calls to the new - function for both pointers and allocatables. - -2022-10-20 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/105633 - * expr.cc (find_array_section): Move check for NULL pointers so - that both subscript triplets and vector subscripts are covered. - -2022-10-17 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/104330 - * simplify.cc (gfc_simplify_image_index): Do not dereference NULL - pointer. - -2022-10-17 Harald Anlauf <anlauf@gmx.de> - Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/93483 - PR fortran/107216 - PR fortran/107219 - * arith.cc (reduce_unary): Handled expressions are EXP_CONSTANT and - EXPR_ARRAY. Do not attempt to reduce otherwise. - (reduce_binary_ac): Likewise. - (reduce_binary_ca): Likewise. - (reduce_binary_aa): Moved check for EXP_CONSTANT and EXPR_ARRAY - from here ... - (reduce_binary): ... to here. - (eval_intrinsic): Catch failed reductions. - * gfortran.h (GFC_INTRINSIC_OPS): New enum ARITH_NOT_REDUCED to keep - track of expressions that were not reduced by the arithmetic evaluation - code. - -2022-10-17 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107272 - * arith.cc (gfc_arith_not): Operand must be of type BT_LOGICAL. - (gfc_arith_and): Likewise. - (gfc_arith_or): Likewise. - (gfc_arith_eqv): Likewise. - (gfc_arith_neqv): Likewise. - (gfc_arith_eq): Compare consistency of types of operands. - (gfc_arith_ne): Likewise. - (gfc_arith_gt): Likewise. - (gfc_arith_ge): Likewise. - (gfc_arith_lt): Likewise. - (gfc_arith_le): Likewise. - -2022-10-17 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/107266 - * trans-expr.cc (gfc_conv_string_parameter): Use passed - type to honor character kind. - * trans-types.cc (gfc_sym_type): Honor character kind. - * trans-decl.cc (gfc_conv_cfi_to_gfc): Fix handling kind=4 - character strings. - -2022-10-14 Harald Anlauf <anlauf@gmx.de> - - PR fortran/100971 - * resolve.cc (resolve_transfer): Extend check for permissibility - of polymorphic elements in a data transfer to arrays. - -2022-10-12 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107217 - * arith.cc (gfc_arith_plus): Compare consistency of types of operands. - (gfc_arith_minus): Likewise. - (gfc_arith_times): Likewise. - (gfc_arith_divide): Likewise. - (arith_power): Check that both operands are of numeric type. - -2022-10-11 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107215 - * arith.cc (gfc_int2int): Check validity of type of source expr. - (gfc_int2real): Likewise. - (gfc_int2complex): Likewise. - (gfc_real2int): Likewise. - (gfc_real2real): Likewise. - (gfc_complex2int): Likewise. - (gfc_complex2real): Likewise. - (gfc_complex2complex): Likewise. - (gfc_log2log): Likewise. - (gfc_log2int): Likewise. - (gfc_int2log): Likewise. - -2022-10-10 Jakub Jelinek <jakub@redhat.com> - - * trans-openmp.cc (gfc_trans_omp_assume): Use create_tmp_var_raw - instead of gfc_create_var for TARGET_EXPR slot creation. Create it - with boolean_type_node and convert. - -2022-10-08 Harald Anlauf <anlauf@gmx.de> - Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/107000 - * arith.cc (gfc_arith_error): Define error message for - ARITH_INVALID_TYPE. - (reduce_unary): Catch arithmetic expressions with invalid type. - (reduce_binary_ac): Likewise. - (reduce_binary_ca): Likewise. - (reduce_binary_aa): Likewise. - (eval_intrinsic): Likewise. - (gfc_real2complex): Source expression must be of type REAL. - * gfortran.h (enum arith): Add ARITH_INVALID_TYPE. - -2022-10-06 Tobias Burnus <tobias@codesourcery.com> - - * trans-openmp.cc (gfc_trans_omp_assume): New. - (gfc_trans_omp_directive): Call it. - -2022-10-05 Tobias Burnus <tobias@codesourcery.com> - - * dump-parse-tree.cc (show_omp_assumes): New. - (show_omp_clauses, show_namespace): Call it. - (show_omp_node, show_code_node): Handle OpenMP ASSUME. - * gfortran.h (enum gfc_statement): Add ST_OMP_ASSUME, - ST_OMP_END_ASSUME, ST_OMP_ASSUMES and ST_NOTHING. - (gfc_exec_op): Add EXEC_OMP_ASSUME. - (gfc_omp_assumptions): New struct. - (gfc_get_omp_assumptions): New XCNEW #define. - (gfc_omp_clauses, gfc_namespace): Add assume member. - (gfc_resolve_omp_assumptions): New prototype. - * match.h (gfc_match_omp_assume, gfc_match_omp_assumes): New. - * openmp.cc (omp_code_to_statement): Forward declare. - (enum gfc_omp_directive_kind, struct gfc_omp_directive): New. - (gfc_free_omp_clauses): Free assume member and its struct data. - (enum omp_mask2): Add OMP_CLAUSE_ASSUMPTIONS. - (gfc_omp_absent_contains_clause): New. - (gfc_match_omp_clauses): Call it; optionally use passed - omp_clauses argument. - (omp_verify_merge_absent_contains, gfc_match_omp_assume, - gfc_match_omp_assumes, gfc_resolve_omp_assumptions): New. - (resolve_omp_clauses): Call the latter. - (gfc_resolve_omp_directive, omp_code_to_statement): Handle - EXEC_OMP_ASSUME. - * parse.cc (decode_omp_directive): Parse OpenMP ASSUME(S). - (next_statement, parse_executable, parse_omp_structured_block): - Handle ST_OMP_ASSUME. - (case_omp_decl): Add ST_OMP_ASSUMES. - (gfc_ascii_statement): Handle Assumes, optional return - string without '!$OMP '/'!$ACC ' prefix. - * parse.h (gfc_ascii_statement): Add optional bool arg to prototype. - * resolve.cc (gfc_resolve_blocks, gfc_resolve_code): Add - EXEC_OMP_ASSUME. - (gfc_resolve): Resolve ASSUMES directive. - * symbol.cc (gfc_free_namespace): Free omp_assumes member. - * st.cc (gfc_free_statement): Handle EXEC_OMP_ASSUME. - * trans-openmp.cc (gfc_trans_omp_directive): Likewise. - * trans.cc (trans_code): Likewise. - -2022-10-04 Tobias Burnus <tobias@codesourcery.com> - - * parse.cc (decode_omp_directive): Handle '(end) loop' and 'scan' - also with -fopenmp-simd. - -2022-10-01 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/100040 - PR fortran/100029 - * trans-expr.cc (gfc_conv_class_to_class): Add code to have - assumed-rank arrays recognized as full arrays and fix the type - of the array assignment. - (gfc_conv_procedure_call): Change order of code blocks such that - the free of ALLOCATABLE dummy arguments with INTENT(OUT) occurs - first. - -2022-09-30 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/105318 - * openmp.cc (resolve_omp_clauses): Update is_device_ptr restrictions - for OpenMP 5.1 and map to has_device_addr where applicable; map - use_device_ptr to use_device_addr where applicable. - Silence integer-range warning for device(omp_{initial,invalid}_device). - -2022-09-27 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107054 - * simplify.cc (gfc_simplify_unpack): Replace assert by condition - that terminates simplification when there are not enough elements - in the constructor of argument VECTOR. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/41453 - * trans-expr.cc (gfc_conv_procedure_call): Allow strictly - matching derived types. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/41453 - PR fortran/99169 - * trans-expr.cc (gfc_conv_procedure_call): Remove conditions - on ALLOCATABLE and POINTER attributes guarding clobber - generation. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/41453 - PR fortran/87401 - * trans-expr.cc (gfc_conv_procedure_call): Remove condition - disabling clobber generation for ASSOCIATE variables. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/41453 - PR fortran/87395 - * trans-expr.cc (gfc_conv_procedure_call): Remove condition - on SAVE attribute guarding clobber generation. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/41453 - PR fortran/87395 - * trans-expr.cc (gfc_conv_procedure_call): Remove condition - disabling clobber generation for dummy variables. Remove - obsolete comment. - -2022-09-25 Harald Anlauf <anlauf@gmx.de> - Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/105012 - * trans-expr.cc (gfc_conv_procedure_call): Use dummy - information from associated_dummy if there is no information - from the procedure interface. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/106817 - * trans-expr.cc (gfc_conv_procedure_call): Collect all clobbers - to their own separate block. Append the block of clobbers to - the procedure preliminary block after the argument evaluation - codes for all the arguments. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/105012 - * trans-expr.cc (gfc_conv_procedure_call): Retrieve variable - from the just calculated variable reference. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - * trans.h (gfc_conv_expr_reference): Remove add_clobber - argument. - * trans-expr.cc (gfc_conv_expr_reference): Ditto. Inline code - depending on add_clobber and conditions controlling it ... - (gfc_conv_procedure_call): ... to here. - -2022-09-22 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/100103 - * trans-array.cc (gfc_is_reallocatable_lhs): Add select rank - temporary associate names as possible targets of automatic - reallocation. - -2022-09-22 Harald Anlauf <anlauf@gmx.de> - - PR fortran/82868 - * trans-decl.cc (generate_coarray_sym_init): Skip symbol - if attr.associate_var. - -2022-09-20 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/104143 - * interface.cc (compare_parameter): Permit scalar args to - 'type(*), dimension(*)'. - -2022-09-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/106986 - * simplify.cc (gfc_simplify_findloc): Do not try to simplify - intrinsic FINDLOC when the ARRAY argument has a NULL shape. - -2022-09-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/106985 - * expr.cc (gfc_simplify_expr): Avoid NULL pointer dereference. - -2022-09-20 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/100132 - * trans-types.cc (create_fn_spec): Fix function attributes when - passing polymorphic pointers. - -2022-09-20 Martin Liska <mliska@suse.cz> - - PR fortran/106636 - * gfortran.texi: Add back link to ISO_VARYING_STRING. - -2022-09-20 Martin Liska <mliska@suse.cz> - - * gfortran.texi: Replace "the the" with "the". - -2022-09-20 Martin Liska <mliska@suse.cz> - - PR fortran/106636 - * gfortran.texi: Remove 2 dead links. - -2022-09-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * libgfortran.h: Declare GFC_FPE_AWAY. - -2022-09-15 Harald Anlauf <anlauf@gmx.de> - - PR fortran/106857 - * simplify.cc (gfc_simplify_pack): Check for NULL pointer dereferences - while walking through constructors (error recovery). - -2022-09-15 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/104314 - * resolve.cc (deferred_op_assign): Do not try to generate temporary - for deferred character length assignment if types do not agree. - -2022-09-15 Richard Biener <rguenther@suse.de> - - * f95-lang.cc (gfc_init_decl_processing): Do not initialize - void_list_node. - -2022-09-14 Julian Brown <julian@codesourcery.com> - - * trans-openmp.cc (gfc_trans_omp_clauses): Don't create - GOMP_MAP_TO_PSET mappings for class metadata, nor GOMP_MAP_POINTER - mappings for POINTER_TYPE_P decls. - -2022-09-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - PR fortran/95644 - * f95-lang.cc (gfc_init_builtin_functions): Declare FMA - built-ins. - * mathbuiltins.def: Declare FMA built-ins. - * trans-intrinsic.cc (conv_intrinsic_ieee_fma): New function. - (conv_intrinsic_ieee_signbit): New function. - (gfc_build_intrinsic_lib_fndecls): Add cases for FMA and - SIGNBIT. - -2022-09-08 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/106670 - * scanner.cc (skip_fixed_omp_sentinel): Add -Wsurprising warning - for 'omx' sentinels with -fopenmp. - * invoke.texi (-Wsurprising): Document additional warning case. - -2022-09-06 Tobias Burnus <tobias@codesourcery.com> - - * openmp.cc (resolve_omp_clauses): Remove ordered/linear - check as it is handled now in the middle end. - -2022-09-05 Tobias Burnus <tobias@codesourcery.com> - - * dump-parse-tree.cc (show_omp_namelist, show_omp_clauses): Handle - omp_cur_iteration and distinguish doacross/depend. - * gfortran.h (enum gfc_omp_depend_doacross_op): Renamed from - gfc_omp_depend_op. - (enum gfc_omp_depend_doacross_op): Add OMP_DOACROSS_SINK_FIRST, - Rename OMP_DEPEND_SINK to OMP_DOACROSS_SINK. - (gfc_omp_namelist) Handle renaming, rename depend_op to - depend_doacross_op. - (struct gfc_omp_clauses): Add doacross_source. - * openmp.cc (gfc_match_omp_depend_sink): Renamed to ... - (gfc_match_omp_doacross_sink): ... this; handle omp_all_memory. - (enum omp_mask2): Add OMP_CLAUSE_DOACROSS. - (gfc_match_omp_clauses): Handle 'doacross' and syntax changes to - depend. - (gfc_match_omp_depobj): Simplify as sink/source are now impossible. - (gfc_match_omp_ordered_depend): Request OMP_CLAUSE_DOACROSS. - (resolve_omp_clauses): Update sink/source checks. - (gfc_resolve_omp_directive): Resolve EXEC_OMP_ORDERED clauses. - * parse.cc (decode_omp_directive): Handle 'ordered doacross'. - * trans-openmp.cc (gfc_trans_omp_clauses): Handle doacross. - (gfc_trans_omp_do): Fix OMP_FOR_ORIG_DECLS handling if 'ordered' - clause is present. - (gfc_trans_omp_depobj): Update for member name change. - -2022-09-04 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/100136 - * trans-expr.cc (gfc_conv_procedure_call): Add handling of pointer - expressions. - -2022-09-03 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/100245 - * trans-expr.cc (trans_class_assignment): Add if clause to handle - derived type in the LHS. - -2022-09-03 Jakub Jelinek <jakub@redhat.com> - - * trans-openmp.cc (gfc_trans_omp_clauses): Use - OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of - OMP_CLAUSE_DEPEND_SINK_NEGATIVE, build OMP_CLAUSE_DOACROSS - clause instead of OMP_CLAUSE_DEPEND and set OMP_CLAUSE_DOACROSS_DEPEND - on it. - -2022-09-02 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/99349 - * decl.cc (match_data_constant): Avoid NULL pointer dereference. - -2022-08-26 Jakub Jelinek <jakub@redhat.com> - - PR fortran/106579 - * trans-intrinsic.cc: Include realmpfr.h. - (conv_intrinsic_ieee_value): New function. - (gfc_conv_ieee_arithmetic_function): Handle ieee_value. - -2022-08-26 Jakub Jelinek <jakub@redhat.com> - - PR fortran/106579 - * f95-lang.cc (gfc_init_builtin_functions): Initialize - BUILT_IN_FPCLASSIFY. - * libgfortran.h (IEEE_OTHER_VALUE, IEEE_SIGNALING_NAN, - IEEE_QUIET_NAN, IEEE_NEGATIVE_INF, IEEE_NEGATIVE_NORMAL, - IEEE_NEGATIVE_DENORMAL, IEEE_NEGATIVE_SUBNORMAL, - IEEE_NEGATIVE_ZERO, IEEE_POSITIVE_ZERO, IEEE_POSITIVE_DENORMAL, - IEEE_POSITIVE_SUBNORMAL, IEEE_POSITIVE_NORMAL, IEEE_POSITIVE_INF): - New enum. - * trans-intrinsic.cc (conv_intrinsic_ieee_class): New function. - (gfc_conv_ieee_arithmetic_function): Handle ieee_class. - -2022-08-26 Jakub Jelinek <jakub@redhat.com> - - * f95-lang.cc (gfc_init_builtin_functions): Initialize - BUILT_IN_ISSIGNALING. - -2022-08-25 Tobias Burnus <tobias@codesourcery.com> - - * parse.cc (parse_omp_structured_block): When parsing strictly - structured blocks, issue an error if the end-directive comes - before the 'end block'. - -2022-08-24 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103694 - * simplify.cc (simplify_size): The size expression of an array cannot - be simplified if an error occurs while resolving the array spec. - -2022-08-22 Harald Anlauf <anlauf@gmx.de> - - PR fortran/106557 - * simplify.cc (gfc_simplify_ibclr): Ensure consistent results of - the simplification by dropping a redundant memory representation - of argument x. - (gfc_simplify_ibset): Likewise. - -2022-08-20 Jakub Jelinek <jakub@redhat.com> - - PR fortran/46539 - * lang.opt (static-libgfortran, static-libquadmath): Change Fortran - to Driver. - * options.cc (gfc_handle_option): Don't handle OPT_static_libgfortran - nor OPT_static_libquadmath here. - -2022-08-18 Harald Anlauf <anlauf@gmx.de> - - Revert: - 2022-07-31 Harald Anlauf <anlauf@gmx.de> - - PR fortran/77652 - * check.cc (gfc_check_associated): Make the rank check of POINTER - vs. TARGET match the allowed forms of pointer assignment for the - selected Fortran standard. - -2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - Jakub Jelinek <jakub@redhat.com> - - PR fortran/46539 - * lang.opt (static-libquadmath): New option. - * invoke.texi (-static-libquadmath): Document it. - * options.cc (gfc_handle_option): Error out if -static-libquadmath - is passed but we do not support it. - -2022-08-17 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/106566 - * openmp.cc (gfc_match_omp_clauses): Fix setting linear-step value - to 1 when not specified. - (gfc_match_omp_declare_simd): Accept module procedures. - -2022-08-16 Martin Liska <mliska@suse.cz> - - * gfortran.texi: Fix link destination to a valid URL. - -2022-07-31 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/92805 - * match.cc (gfc_match_small_literal_int): Make gobbling of leading - whitespace optional. - (gfc_match_name): Likewise. - (gfc_match_char): Likewise. - * match.h (gfc_match_small_literal_int): Adjust prototype. - (gfc_match_name): Likewise. - (gfc_match_char): Likewise. - * primary.cc (match_kind_param): Match small literal int or name - without gobbling whitespace. - (get_kind): Do not skip over blanks. - (match_string_constant): Likewise. - -2022-07-31 Harald Anlauf <anlauf@gmx.de> - - PR fortran/77652 - * check.cc (gfc_check_associated): Make the rank check of POINTER - vs. TARGET match the allowed forms of pointer assignment for the - selected Fortran standard. - -2022-07-29 Tobias Burnus <tobias@codesourcery.com> - - * openmp.cc (resolve_omp_clauses): Permit assumed-size arrays - in uniform clause. - -2022-07-26 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103504 - * interface.cc (get_sym_storage_size): Array bounds and character - length can only be of integer type. - -2022-07-21 Martin Liska <mliska@suse.cz> - - * intrinsic.texi: Remove trailing dots for 2 Fortran fns. - -2022-07-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/101330 - * openmp.cc (gfc_match_iterator): Remove left-over code from - development that could lead to a crash on invalid input. - -2022-07-19 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103590 - * resolve.cc (find_array_spec): Change function result to bool to - enable error recovery. Generate error message for invalid array - reference of non-array entity instead of an internal error. - (gfc_resolve_ref): Use function result from find_array_spec for - error recovery. - -2022-07-15 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/104313 - * trans-decl.cc (gfc_generate_return): Do not generate conflicting - fake results for functions with no result variable under -ff2c. - -2022-07-14 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/106209 - * decl.cc (add_init_expr_to_sym): Handle bad initializers for - implied-shape arrays. - -2022-07-12 Harald Anlauf <anlauf@gmx.de> - - PR fortran/106049 - * simplify.cc (is_constant_array_expr): A non-zero-sized constant - array shall have a non-empty constructor. When the constructor is - empty or missing, treat as non-constant. - -2022-07-04 Tobias Burnus <tobias@codesourcery.com> - Jakub Jelinek <jakub@redhat.com> - - * gfortran.h (gfc_omp_namelist): Update by creating 'linear' struct, - move 'linear_op' as 'op' to id and add 'old_modifier' to it. - * dump-parse-tree.cc (show_omp_namelist): Update accordingly. - * module.cc (mio_omp_declare_simd): Likewise. - * trans-openmp.cc (gfc_trans_omp_clauses): Likewise. - * openmp.cc (resolve_omp_clauses): Likewise; accept new-style - 'val' modifier with do/simd. - (gfc_match_omp_clauses): Handle OpenMP 5.2 linear clause syntax. - -2022-07-04 Tobias Burnus <tobias@codesourcery.com> - Chung-Lin Tang <cltang@codesourcery.com> - Thomas Schwinge <thomas@codesourcery.com> - - * openmp.cc (gfc_match_omp_requires): Remove sorry. - * parse.cc (decode_omp_directive): Don't regard 'declare target' - as target usage for 'omp requires'; add more flags to - omp_requires_mask. - -2022-07-01 Tobias Burnus <tobias@codesourcery.com> - - * dump-parse-tree.cc (show_omp_namelist): For the map-type, - also handle the always modifer and release/delete. - * openmp.cc (resolve_omp_clauses): Accept tofrom - map-type modifier for target enter/exit data, - but use 'to' / 'from' internally. - -2022-06-30 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/103137 - PR fortran/103138 - PR fortran/103693 - PR fortran/105243 - * decl.cc (gfc_match_data_decl): Reject CLASS entity declaration - when it is given the PARAMETER attribute. - -2022-06-29 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/106121 - * simplify.cc (gfc_simplify_extends_type_of): Do not attempt to - simplify when one of the arguments is a CLASS variable that was - not properly declared. - -2022-06-28 Jakub Jelinek <jakub@redhat.com> - - * gfortran.h (gfc_real_info): Add use_iec_60559 bitfield. - * trans-types.h (gfc_real16_use_iec_60559): Declare. - * trans-types.cc (gfc_real16_use_iec_60559): Define. - (gfc_init_kinds): When building powerpc64le-linux libgfortran - on glibc 2.26 to 2.31, set gfc_real16_use_iec_60559 and - use_iec_60559. - (gfc_build_real_type): Set gfc_real16_use_iec_60559 and use_iec_60559 - on glibc 2.26 or later. - * trans-intrinsic.cc (gfc_build_intrinsic_lib_fndecls): Adjust - comment. Handle gfc_real16_use_iec_60559. - (gfc_get_intrinsic_lib_fndecl): Handle use_iec_60559. - -2022-06-26 Harald Anlauf <anlauf@gmx.de> - - PR fortran/105691 - * simplify.cc (gfc_simplify_index): Replace old simplification - code by the equivalent of the runtime library implementation. Use - HOST_WIDE_INT instead of int for string index, length variables. - -2022-06-26 Harald Anlauf <anlauf@gmx.de> - - PR fortran/105954 - * decl.cc (variable_decl): Adjust upper bounds for explicit-shape - specs with constant bound expressions to ensure non-negative - extents. - -2022-06-24 Harald Anlauf <anlauf@gmx.de> - - PR fortran/105813 - * check.cc (gfc_check_unpack): Try to simplify MASK argument to - UNPACK so that checking of the VECTOR argument can work when MASK - is a variable. - -2022-06-18 Harald Anlauf <anlauf@gmx.de> - - PR fortran/105986 - * simplify.cc (gfc_simplify_btest): Add check for POS argument. - (gfc_simplify_ibclr): Add check for POS argument. - (gfc_simplify_ibits): Add check for POS and LEN arguments. - (gfc_simplify_ibset): Add check for POS argument. - -2022-06-08 Tobias Burnus <tobias@codesourcery.com> - - * openmp.cc (gfc_match_omp_clauses): Check also parent namespace - for 'requires reverse_offload'. - -2022-06-07 Jakub Jelinek <jakub@redhat.com> - - * trans-openmp.cc (gfc_trans_omp_clauses): Set - OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER on OMP_CLAUSE_LINEAR - clauses unconditionally for now. - -2022-06-03 Tobias Burnus <tobias@codesourcery.com> - - * openmp.cc (OMP_SCOPE_CLAUSES): Add firstprivate and allocate. - -2022-06-02 David Malcolm <dmalcolm@redhat.com> - - * f95-lang.cc (gfc_get_sarif_source_language): New. - (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine. - -2022-05-31 Jason Merrill <jason@redhat.com> - - * Make-lang.in (fortran.tags): Look at *.cc. - -2022-05-30 Harald Anlauf <anlauf@gmx.de> - - PR fortran/91300 - * libgfortran.h: Define new error code LIBERROR_NO_MEMORY. - * trans-stmt.cc (gfc_trans_allocate): Generate code for setting - ERRMSG depending on result of STAT result of ALLOCATE. - * trans.cc (gfc_allocate_using_malloc): Use STAT value of - LIBERROR_NO_MEMORY in case of failed malloc. - -2022-05-28 Tobias Burnus <tobias@codesourcery.com> - - * dump-parse-tree.cc (show_omp_clauses): Handle OMP_LIST_ENTER. - * gfortran.h: Add OMP_LIST_ENTER. - * openmp.cc (enum omp_mask2, OMP_DECLARE_TARGET_CLAUSES): Add - OMP_CLAUSE_ENTER. - (gfc_match_omp_clauses, gfc_match_omp_declare_target, - resolve_omp_clauses): Handle 'enter' clause. - -2022-05-27 Tobias Burnus <tobias@codesourcery.com> - Chung-Lin Tang <cltang@codesourcery.com> - - * openmp.cc (gfc_check_omp_requires): Fix clause name in error. - -2022-05-24 Tobias Burnus <tobias@codesourcery.com> - - PR c/105378 - * openmp.cc (gfc_match_omp_taskwait): Accept nowait. - -2022-05-23 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/104949 - * f95-lang.cc (LANG_HOOKS_OMP_ARRAY_SIZE): Redefine. - * trans-openmp.cc (gfc_omp_array_size): New. - (gfc_trans_omp_variable_list): Never turn has_device_addr - to firstprivate. - * trans.h (gfc_omp_array_size): New. - -2022-05-18 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.h (enum gfc_omp_depend_op): Add OMP_DEPEND_INOUTSET. - (gfc_omp_clauses): Enlarge ENUM_BITFIELD. - * dump-parse-tree.cc (show_omp_namelist, show_omp_clauses): Handle - 'inoutset' depend modifier. - * openmp.cc (gfc_match_omp_clauses, gfc_match_omp_depobj): Likewise. - * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj): - Likewise. - -2022-05-17 Tobias Burnus <tobias@codesourcery.com> - - * dump-parse-tree.cc (show_omp_namelist): Handle omp_all_memory. - * openmp.cc (gfc_match_omp_variable_list, gfc_match_omp_depend_sink, - gfc_match_omp_clauses, resolve_omp_clauses): Likewise. - * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj): - Likewise. - * resolve.cc (resolve_symbol): Reject it as symbol. - -2022-05-16 Martin Liska <mliska@suse.cz> - - * frontend-passes.cc (gfc_code_walker): Use ARRAY_SIZE. - * openmp.cc (gfc_match_omp_context_selector_specification): Likewise. - * trans-intrinsic.cc (conv_intrinsic_ieee_builtin): Likewise. - * trans-types.cc (gfc_get_array_descr_info): Likewise. - -2022-05-13 Tobias Burnus <tobias@codesourcery.com> - - * trans-openmp.cc (gfc_trans_omp_clauses): When mapping nondescriptor - array sections, use GOMP_MAP_FIRSTPRIVATE_POINTER instead of - GOMP_MAP_POINTER for the pointer attachment. - -2022-05-11 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/105230 - * expr.cc (find_array_section): Correct logic to avoid NULL - pointer dereference on invalid array section. - -2022-05-10 Harald Anlauf <anlauf@gmx.de> - - PR fortran/105526 - * resolve.cc (check_team): New. - (gfc_resolve_code): Add checks for arguments to coarray intrinsics - FORM TEAM, CHANGE TEAM, and SYNC TEAM. - -2022-05-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/105501 - * match.cc (gfc_match_if): Adjust patterns used for matching. - (gfc_match_select_rank): Likewise. - * parse.cc (decode_statement): Likewise. - -2022-05-05 Sandra Loosemore <sandra@codesourcery.com> - - * gfortran.h (struct gfc_omp_clauses): Add non_rectangular bit. - * openmp.cc (is_outer_iteration_variable): New function. - (expr_is_invariant): New function. - (bound_expr_is_canonical): New function. - (resolve_omp_do): Replace existing non-rectangularity error with - check for canonical form and setting non_rectangular bit. - * trans-openmp.cc (gfc_trans_omp_do): Transfer non_rectangular - flag to generated tree structure. - -2022-05-02 Sandra Loosemore <sandra@codesourcery.com> - - * trans-openmp.cc (gfc_trans_omp_critical): Set location on OMP - tree node. - (gfc_trans_omp_do): Likewise. - (gfc_trans_omp_masked): Likewise. - (gfc_trans_omp_do_simd): Likewise. - (gfc_trans_omp_scope): Likewise. - (gfc_trans_omp_taskgroup): Likewise. - (gfc_trans_omp_taskwait): Likewise. - (gfc_trans_omp_distribute): Likewise. - (gfc_trans_omp_taskloop): Likewise. - (gfc_trans_omp_master_masked_taskloop): Likewise. - -2022-04-29 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.texi: Fix exchanged period and letter. - -2022-04-28 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.texi: Mention r16_ieee and r16_ibm. - * invoke.texi: Likewise. - -2022-04-27 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/103662 - PR fortran/105379 - * array.cc (compare_bounds): Use bool as return type. - Support non-constant expressions. - (gfc_compare_array_spec): Update call to compare_bounds. - -2022-04-27 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/102043 - PR fortran/105381 - * trans-array.cc (non_negative_strides_array_p): Inline variable - orig_decl and merge nested if conditions. Add condition to not - recurse if the next argument is the same as the current. - -2022-04-25 Jakub Jelinek <jakub@redhat.com> - Thomas Schwinge <thomas@codesourcery.com> - - PR fortran/104717 - * trans-openmp.cc (gfc_trans_oacc_construct): Wrap construct body - in an extra BIND_EXPR. - -2022-04-24 Mikael Morin <mikael@gcc.gnu.org> - Jakub Jelinek <jakub@redhat.com> - - PR fortran/103662 - * interface.cc (gfc_compare_derived_types): Support comparing - unlimited polymorphic fake symbols. Recursively compare class - descriptor types and virtual table types. - * resolve.cc (resolve_fl_derived): Add type to the types list - on unlimited polymorphic short-circuit return. - -2022-04-22 Mikael Morin <mikael@gcc.gnu.org> - Richard Biener <rguenther@suse.de> - - PR fortran/102043 - * trans.h (gfc_build_array_ref): Add non_negative_offset - argument. - * trans.cc (gfc_build_array_ref): Ditto. Use pointer arithmetic - if non_negative_offset is false. - * trans-expr.cc (gfc_conv_substring): Set flag in the call to - gfc_build_array_ref. - * trans-array.cc (gfc_get_cfi_dim_item, - gfc_conv_descriptor_dimension): Same. - (build_array_ref): Decide on whether to set the flag and update - the call. - (gfc_conv_scalarized_array_ref): Same. New argument tmp_array. - (gfc_conv_tmp_array_ref): Update call to - gfc_conv_scalarized_ref. - (non_negative_strides_array_p): New function. - -2022-04-22 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/102043 - * trans-array.cc (gfc_conv_expr_descriptor): Use - gfc_conv_tmp_array_ref. - -2022-04-22 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/102043 - * trans-io.cc: Add handling for the case where the array - is referenced using pointer arithmetic. - -2022-04-22 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/102043 - * trans-expr.cc: Pre-evaluate src and dest to variables - before using them. - -2022-04-21 Fritz Reese <foreese@gcc.gnu.org> - - PR fortran/105310 - * trans-expr.cc (gfc_conv_union_initializer): Pass vec* by reference. - -2022-04-13 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/105242 - * match.cc (match_exit_cycle): Handle missing OMP LOOP, DO and SIMD - directives in the EXIT/CYCLE diagnostic. - -2022-04-10 Harald Anlauf <anlauf@gmx.de> - - PR fortran/105184 - * array.cc (match_subscript): Reject assumed size coarray - specification with missing lower bound. - * resolve.cc (resolve_allocate_expr): Fix logic for checking - allocate-coshape-spec in ALLOCATE statement. - -2022-04-05 Sandra Loosemore <sandra@codesourcery.com> - - * trans-openmp.cc (gfc_split_omp_clauses): Fix mask for - EXEC_OMP_MASKED_TASKLOOP. - -2022-04-05 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104210 - * arith.cc (eval_intrinsic): Avoid NULL pointer dereference. - (gfc_zero_size_array): Likewise. - -2022-04-05 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/105138 - * intrinsic.cc (gfc_is_intrinsic): When a symbol refers to a - RECURSIVE procedure, it cannot be an INTRINSIC. - -2022-03-30 Harald Anlauf <anlauf@gmx.de> - - PR fortran/100892 - * check.cc (gfc_check_associated): Avoid NULL pointer dereference. - -2022-03-29 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/104571 - * resolve.cc (resolve_elemental_actual): Avoid NULL pointer - dereference. - -2022-03-29 Harald Anlauf <anlauf@gmx.de> - - PR fortran/50549 - * resolve.cc (resolve_structure_cons): Reject pointer assignments - of character with different lengths in structure constructor. - -2022-03-25 Jakub Jelinek <jakub@redhat.com> - - PR fortran/103691 - * trans-array.cc (gfc_conv_array_initializer): If TYPE_MAX_VALUE is - smaller than TYPE_MIN_VALUE (i.e. empty array), ignore the - initializer; if TYPE_MIN_VALUE is equal to TYPE_MAX_VALUE, use just - the TYPE_MIN_VALUE as index instead of RANGE_EXPR. - -2022-03-23 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/103560 - * scanner.cc (add_path_to_list): Don't append '/' to the - save include path. - (open_included_file): Use '/' in concatenating path + file name. - * module.cc (gzopen_included_file_1): Likewise. - -2022-03-22 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104999 - * simplify.cc (gfc_simplify_cshift): Ensure temporary holding - source array stride is initialized. - -2022-03-19 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/104228 - PR fortran/104570 - * parse.cc (parse_associate): Use a new distinct gfc_charlen if the - copied type has one whose length is not known to be constant. - * resolve.cc (resolve_assoc_var): Reset charlen if it’s shared with - the associate target regardless of the expression type. - Don’t reinitialize charlen if it’s deferred. - -2022-03-18 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/103039 - * trans-openmp.cc (gfc_omp_clause_copy_ctor, gfc_omp_clause_dtor): - Only privatize pointer for associate names. - -2022-03-18 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/103039 - * openmp.cc (resolve_omp_clauses): Improve associate-name diagnostic - for select type/rank. - -2022-03-11 Tobias Burnus <tobias@codesourcery.com> - - * trans-openmp.cc (gfc_trans_omp_clauses, gfc_omp_finish_clause): - Obtain size for mapping only if allocatable array is allocated. - -2022-03-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104849 - * expr.cc (find_array_section): Avoid NULL pointer dereference on - invalid array section. - -2022-03-09 Tobias Burnus <tobias@codesourcery.com> - - * trans-intrinsic.cc (gfc_conv_intrinsic_sizeof): Fix CLASS handling. - -2022-03-08 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/104126 - * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Handle NULL - without MOLD. - -2022-03-08 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104811 - * frontend-passes.cc (optimize_minmaxloc): Do not attempt - frontend-optimization of MINLOC/MAXLOC for character arrays, as - there is no suitable code yet for inline expansion. - -2022-03-07 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/99585 - PR fortran/104430 - * trans-expr.cc (conv_parent_component_references): Fix comment; - simplify comparison. - (gfc_maybe_dereference_var): Avoid d referencing a nonpointer. - -2022-03-07 Tobias Burnus <tobias@codesourcery.com> - - * array.cc (gfc_ref_dimen_size): Fix comment typo. - * dump-parse-tree.cc (gfc_dump_c_prototypes): Likewise. - * frontend-passes.cc (cfe_code): Likewise. - * gfortran.texi: Likewise. - * resolve.cc (generate_component_assignments): Likewise. - * simplify.cc (gfc_simplify_this_image): Likewise. - * trans-expr.cc (trans_scalar_class_assign, - gfc_maybe_dereference_var): Likewise. - * intrinsic.texi: Remove word duplication. - * invoke.texi: Likewise. - -2022-03-07 Jakub Jelinek <jakub@redhat.com> - - * trans-expr.cc: Fix up duplicated word issue in a comment. - * gfortran.h: Likewise. - * scanner.cc: Likewise. - -2022-03-07 Martin Liska <mliska@suse.cz> - - * intrinsic.cc (gfc_is_intrinsic): Remove asterisk from error - message. - -2022-03-07 Martin Liska <mliska@suse.cz> - - PR translation/90148 - * intrinsic.cc (gfc_is_intrinsic): Put - quote to a proper place. - -2022-03-03 Kwok Cheung Yeung <kcy@codesourcery.com> - - PR fortran/104131 - * openmp.cc (gfc_match_omp_detach): Move check for type of event - handle to... - (resolve_omp_clauses) ...here. Also check that the event handle is - not an array, or an array access or structure element access. - -2022-03-02 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104573 - * resolve.cc (resolve_structure_cons): Avoid NULL pointer - dereference when there is no valid component. - -2022-02-24 Harald Anlauf <anlauf@gmx.de> - - PR fortran/84519 - * dump-parse-tree.cc (show_code_node): Dump QUIET specifier when - present. - * match.cc (gfc_match_stopcode): Implement parsing of F2018 QUIET - specifier. F2018 stopcodes may have non-default integer kind. - * resolve.cc (gfc_resolve_code): Add checks for QUIET argument. - * trans-stmt.cc (gfc_trans_stop): Pass QUIET specifier to call of - library function. - -2022-02-22 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104619 - * resolve.cc (resolve_structure_cons): Skip shape check if shape - of constructor cannot be determined at compile time. - -2022-02-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/77693 - * data.cc (gfc_assign_data_value): If a variable in a data - statement has the POINTER attribute, check for allowed initial - data target that is compatible with pointer assignment. - * gfortran.h (IS_POINTER): New macro. - -2022-02-15 Tobias Burnus <tobias@codesourcery.com> - - * trans-openmp.cc (gfc_trans_omp_depobj): Fix to alloc/ptr dummy - and for c_ptr. - -2022-02-15 Tobias Burnus <tobias@codesourcery.com> - - * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj): - Depend on the proper addr, for ptr/alloc depend on pointee. - -2022-02-14 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104211 - * expr.cc (find_array_section): Replace assertion by error - recovery when encountering bad array constructor. - -2022-02-13 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/104228 - * resolve.cc (resolve_assoc_var): Also create a new character - length for non-dummy associate targets. - * trans-stmt.cc (trans_associate_var): Initialize character length - even if no temporary is used for the associate variable. - -2022-02-10 Roger Sayle <roger@nextmovesoftware.com> - Tobias Burnus <tobias@codesourcery.com> - - * trans-common.cc (GFC_EQUIV_FMT): New macro respecting the - target's NO_DOT_IN_LABEL and NO_DOLLAR_IN_LABEL preferences. - (build_equiv_decl): Use GFC_EQUIV_FMT here. - -2022-02-10 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/104329 - * openmp.cc (resolve_omp_atomic): Defer extra-code assert after - other diagnostics. - -2022-02-10 Marcel Vollweiler <marcel@codesourcery.com> - - * dump-parse-tree.cc (show_omp_clauses): Added OMP_LIST_HAS_DEVICE_ADDR - case. - * gfortran.h: Added OMP_LIST_HAS_DEVICE_ADDR. - * openmp.cc (enum omp_mask2): Added OMP_CLAUSE_HAS_DEVICE_ADDR. - (gfc_match_omp_clauses): Parse HAS_DEVICE_ADDR clause. - (resolve_omp_clauses): Same. - * trans-openmp.cc (gfc_trans_omp_variable_list): Added - OMP_LIST_HAS_DEVICE_ADDR case. - (gfc_trans_omp_clauses): Firstprivatize of array descriptors. - -2022-02-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/66193 - * arith.cc (reduce_binary_ac): When reducing binary expressions, - try simplification. Handle case of empty constructor. - (reduce_binary_ca): Likewise. - -2022-02-03 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104311 - * check.cc (gfc_calculate_transfer_sizes): Checks for case when - storage size of SOURCE is greater than zero while the storage size - of MOLD is zero and MOLD is an array shall not depend on SIZE. - -2022-02-03 Jakub Jelinek <jakub@redhat.com> - - PR fortran/104328 - * openmp.cc (is_scalar_intrinsic_expr): If must_be_var && conv_ok - and expr is conversion, verify it is a conversion from EXPR_VARIABLE - with non-NULL symtree. Check ->block->next before dereferencing it. - -2022-02-01 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104331 - * simplify.cc (gfc_simplify_eoshift): Avoid NULL pointer - dereference when shape is not set. - -2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/103790 - * trans-array.cc (structure_alloc_comps): Prevent descriptor - stacking for non-array data; do not broadcast caf-tokens. - * trans-intrinsic.cc (conv_co_collective): Prevent generation - of unused descriptor. - -2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> - - Revert: - 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/103790 - * trans-array.cc (structure_alloc_comps): Prevent descriptor - stacking for non-array data; do not broadcast caf-tokens. - * trans-intrinsic.cc (conv_co_collective): Prevent generation - of unused descriptor. - -2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/103790 - * trans-array.cc (structure_alloc_comps): Prevent descriptor - stacking for non-array data; do not broadcast caf-tokens. - * trans-intrinsic.cc (conv_co_collective): Prevent generation - of unused descriptor. - -2022-01-27 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104128 - * expr.cc (gfc_copy_expr): Convert internal representation of - string to wide char in value only for default character kind. - * target-memory.cc (interpret_array): Pass flag for conversion of - wide chars. - (gfc_target_interpret_expr): Likewise. - -2022-01-27 Harald Anlauf <anlauf@gmx.de> - - PR fortran/84784 - * trans-intrinsic.cc (conv_intrinsic_image_status): Convert result - to resulting (default) integer type. - (conv_intrinsic_team_number): Likewise. - (gfc_conv_intrinsic_popcnt_poppar): Likewise. - -2022-01-25 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104227 - * check.cc (gfc_calculate_transfer_sizes): Fix checking of arrays - passed as MOLD argument to the TRANSFER intrinsic for having - storage size zero. - -2022-01-25 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104212 - * check.cc (gfc_check_norm2): Check that optional argument DIM is - scalar. - (gfc_check_parity): Likewise. - -2022-01-24 Jakub Jelinek <jakub@redhat.com> - - * lang.opt (fconvert=): Add EnumSet property and mention also - r16_ieee and r16_ibm arguments. - (big-endian, little-endian, native, swap): Add Set(1) property. - (r16_ieee, r16_ibm): New EnumValue entries with Set(2) property. - * trans-types.cc (gfc_init_kinds): Emit gfc_fatal_error for - -fconvert=r16_ieee or -fconvert=r16_ibm when R16_IEEE <=> R16_IBM - conversions aren't supported. - -2022-01-22 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104127 - * simplify.cc (gfc_simplify_transfer): Ensure that the result - typespec is set up for TRANSFER with MOLD of type CHARACTER - including character length even if the result is a zero-sized - array. - -2022-01-20 Sandra Loosemore <sandra@codesourcery.com> - - PR fortran/103695 - PR fortran/102621 - * gfortran.h (struct gfc_namespace) Add omp_affinity_iterator - field. - * dump-parse-tree.cc (show_iterator): Use it. - * openmp.cc (gfc_match_iterator): Likewise. - (resolve_omp_clauses): Likewise. - * trans-decl.cc (gfc_finish_var_decl): Likewise. - * trans-openmp.cc (handle_iterator): Likewise. - -2022-01-18 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103692 - * array.cc (gfc_expand_constructor): Handle zero-sized array - constructors. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * check.cc (gfc_check_all_any): Rename .c names to .cc. - * class.cc (find_intrinsic_vtab): Likewise. - * config-lang.in: Likewise. - * cpp.cc (cpp_define_builtins): Likewise. - * data.cc (get_array_index): Likewise. - * decl.cc (match_clist_expr): Likewise. - (get_proc_name): Likewise. - (gfc_verify_c_interop_param): Likewise. - (gfc_get_pdt_instance): Likewise. - (gfc_match_formal_arglist): Likewise. - (gfc_get_type_attr_spec): Likewise. - * dependency.cc: Likewise. - * error.cc (gfc_format_decoder): Likewise. - * expr.cc (check_restricted): Likewise. - (gfc_build_default_init_expr): Likewise. - * f95-lang.cc: Likewise. - * gfc-internals.texi: Likewise. - * gfortran.h (enum match): Likewise. - (enum procedure_type): Likewise. - (enum oacc_routine_lop): Likewise. - (gfc_get_pdt_instance): Likewise. - (gfc_end_source_files): Likewise. - (gfc_mpz_set_hwi): Likewise. - (gfc_get_option_string): Likewise. - (gfc_find_sym_in_expr): Likewise. - (gfc_errors_to_warnings): Likewise. - (gfc_real_4_kind): Likewise. - (gfc_free_finalizer): Likewise. - (gfc_sym_get_dummy_args): Likewise. - (gfc_check_intrinsic_standard): Likewise. - (gfc_free_case_list): Likewise. - (gfc_resolve_oacc_routines): Likewise. - (gfc_check_vardef_context): Likewise. - (gfc_free_association_list): Likewise. - (gfc_implicit_pure_function): Likewise. - (gfc_ref_dimen_size): Likewise. - (gfc_compare_actual_formal): Likewise. - (gfc_resolve_wait): Likewise. - (gfc_dt_upper_string): Likewise. - (gfc_generate_module_code): Likewise. - (gfc_delete_bbt): Likewise. - (debug): Likewise. - (gfc_build_block_ns): Likewise. - (gfc_dep_difference): Likewise. - (gfc_invalid_null_arg): Likewise. - (gfc_is_finalizable): Likewise. - (gfc_fix_implicit_pure): Likewise. - (gfc_is_size_zero_array): Likewise. - (gfc_is_reallocatable_lhs): Likewise. - * gfortranspec.cc: Likewise. - * interface.cc (compare_actual_expr): Likewise. - * intrinsic.cc (add_functions): Likewise. - * iresolve.cc (gfc_resolve_matmul): Likewise. - (gfc_resolve_alarm_sub): Likewise. - * iso-c-binding.def: Likewise. - * lang-specs.h: Likewise. - * libgfortran.h (GFC_STDERR_UNIT_NUMBER): Likewise. - * match.cc (gfc_match_label): Likewise. - (gfc_match_symbol): Likewise. - (match_derived_type_spec): Likewise. - (copy_ts_from_selector_to_associate): Likewise. - * match.h (gfc_match_call): Likewise. - (gfc_get_common): Likewise. - (gfc_match_omp_end_single): Likewise. - (gfc_match_volatile): Likewise. - (gfc_match_bind_c): Likewise. - (gfc_match_literal_constant): Likewise. - (gfc_match_init_expr): Likewise. - (gfc_match_array_constructor): Likewise. - (gfc_match_end_interface): Likewise. - (gfc_match_print): Likewise. - (gfc_match_expr): Likewise. - * matchexp.cc (next_operator): Likewise. - * mathbuiltins.def: Likewise. - * module.cc (free_true_name): Likewise. - * openmp.cc (gfc_resolve_omp_parallel_blocks): Likewise. - (gfc_omp_save_and_clear_state): Likewise. - * parse.cc (parse_union): Likewise. - (set_syms_host_assoc): Likewise. - * resolve.cc (resolve_actual_arglist): Likewise. - (resolve_elemental_actual): Likewise. - (check_host_association): Likewise. - (resolve_typebound_function): Likewise. - (resolve_typebound_subroutine): Likewise. - (gfc_resolve_expr): Likewise. - (resolve_assoc_var): Likewise. - (resolve_typebound_procedures): Likewise. - (resolve_equivalence_derived): Likewise. - * simplify.cc (simplify_bound): Likewise. - * symbol.cc (gfc_set_default_type): Likewise. - (gfc_add_ext_attribute): Likewise. - * target-memory.cc (gfc_target_interpret_expr): Likewise. - * target-memory.h (gfc_target_interpret_expr): Likewise. - * trans-array.cc (gfc_get_cfi_dim_sm): Likewise. - (gfc_conv_shift_descriptor_lbound): Likewise. - (gfc_could_be_alias): Likewise. - (gfc_get_dataptr_offset): Likewise. - * trans-const.cc: Likewise. - * trans-decl.cc (trans_function_start): Likewise. - (gfc_trans_deferred_vars): Likewise. - (generate_local_decl): Likewise. - (gfc_generate_function_code): Likewise. - * trans-expr.cc (gfc_vptr_size_get): Likewise. - (gfc_trans_class_array_init_assign): Likewise. - (POWI_TABLE_SIZE): Likewise. - (gfc_conv_procedure_call): Likewise. - (gfc_trans_arrayfunc_assign): Likewise. - * trans-intrinsic.cc (gfc_conv_intrinsic_len): Likewise. - (gfc_conv_intrinsic_loc): Likewise. - (conv_intrinsic_event_query): Likewise. - * trans-io.cc (gfc_build_st_parameter): Likewise. - * trans-openmp.cc (gfc_omp_check_optional_argument): Likewise. - (gfc_omp_unshare_expr_r): Likewise. - (gfc_trans_omp_array_section): Likewise. - (gfc_trans_omp_clauses): Likewise. - * trans-stmt.cc (trans_associate_var): Likewise. - (gfc_trans_deallocate): Likewise. - * trans-stmt.h (gfc_trans_class_init_assign): Likewise. - (gfc_trans_deallocate): Likewise. - (gfc_trans_oacc_declare): Likewise. - * trans-types.cc: Likewise. - * trans-types.h (enum gfc_packed): Likewise. - * trans.cc (N_): Likewise. - (trans_code): Likewise. - * trans.h (gfc_build_compare_string): Likewise. - (gfc_conv_expr_type): Likewise. - (gfc_trans_deferred_vars): Likewise. - (getdecls): Likewise. - (gfc_get_array_descr_info): Likewise. - (gfc_omp_firstprivatize_type_sizes): Likewise. - (GTY): Likewise. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * arith.c: Moved to... - * arith.cc: ...here. - * array.c: Moved to... - * array.cc: ...here. - * bbt.c: Moved to... - * bbt.cc: ...here. - * check.c: Moved to... - * check.cc: ...here. - * class.c: Moved to... - * class.cc: ...here. - * constructor.c: Moved to... - * constructor.cc: ...here. - * convert.c: Moved to... - * convert.cc: ...here. - * cpp.c: Moved to... - * cpp.cc: ...here. - * data.c: Moved to... - * data.cc: ...here. - * decl.c: Moved to... - * decl.cc: ...here. - * dependency.c: Moved to... - * dependency.cc: ...here. - * dump-parse-tree.c: Moved to... - * dump-parse-tree.cc: ...here. - * error.c: Moved to... - * error.cc: ...here. - * expr.c: Moved to... - * expr.cc: ...here. - * f95-lang.c: Moved to... - * f95-lang.cc: ...here. - * frontend-passes.c: Moved to... - * frontend-passes.cc: ...here. - * gfortranspec.c: Moved to... - * gfortranspec.cc: ...here. - * interface.c: Moved to... - * interface.cc: ...here. - * intrinsic.c: Moved to... - * intrinsic.cc: ...here. - * io.c: Moved to... - * io.cc: ...here. - * iresolve.c: Moved to... - * iresolve.cc: ...here. - * match.c: Moved to... - * match.cc: ...here. - * matchexp.c: Moved to... - * matchexp.cc: ...here. - * misc.c: Moved to... - * misc.cc: ...here. - * module.c: Moved to... - * module.cc: ...here. - * openmp.c: Moved to... - * openmp.cc: ...here. - * options.c: Moved to... - * options.cc: ...here. - * parse.c: Moved to... - * parse.cc: ...here. - * primary.c: Moved to... - * primary.cc: ...here. - * resolve.c: Moved to... - * resolve.cc: ...here. - * scanner.c: Moved to... - * scanner.cc: ...here. - * simplify.c: Moved to... - * simplify.cc: ...here. - * st.c: Moved to... - * st.cc: ...here. - * symbol.c: Moved to... - * symbol.cc: ...here. - * target-memory.c: Moved to... - * target-memory.cc: ...here. - * trans-array.c: Moved to... - * trans-array.cc: ...here. - * trans-common.c: Moved to... - * trans-common.cc: ...here. - * trans-const.c: Moved to... - * trans-const.cc: ...here. - * trans-decl.c: Moved to... - * trans-decl.cc: ...here. - * trans-expr.c: Moved to... - * trans-expr.cc: ...here. - * trans-intrinsic.c: Moved to... - * trans-intrinsic.cc: ...here. - * trans-io.c: Moved to... - * trans-io.cc: ...here. - * trans-openmp.c: Moved to... - * trans-openmp.cc: ...here. - * trans-stmt.c: Moved to... - * trans-stmt.cc: ...here. - * trans-types.c: Moved to... - * trans-types.cc: ...here. - * trans.c: Moved to... - * trans.cc: ...here. - -2022-01-17 Andrew Stubbs <ams@codesourcery.com> - - * openmp.c (gfc_match_omp_requires): Don't "sorry" dynamic_allocators. - -2022-01-15 Harald Anlauf <anlauf@gmx.de> - - PR fortran/83079 - * target-memory.c (gfc_interpret_character): Result length is - in bytes and thus depends on the character kind. - * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Compute correct - string length for the result of the TRANSFER intrinsic and for - temporaries for the different character kinds. - -2022-01-14 Harald Anlauf <anlauf@gmx.de> - - PR fortran/99256 - * intrinsic.c: Do not check formal argument type when checking - arguments of intrinsics for alternate return specifiers. - -2022-01-14 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103782 - * expr.c (gfc_simplify_expr): Adjust logic for when to scalarize a - call of an intrinsic which may have been overloaded. - -2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com> - - * dump-parse-tree.c (show_omp_clauses): Handle OMP_LIST_ALLOCATE. - * gfortran.h (OMP_LIST_ALLOCATE): New enum value. - * openmp.c (enum omp_mask1): Add OMP_CLAUSE_ALLOCATE. - (gfc_match_omp_clauses): Handle OMP_CLAUSE_ALLOCATE - (OMP_PARALLEL_CLAUSES, OMP_DO_CLAUSES, OMP_SECTIONS_CLAUSES) - (OMP_TASK_CLAUSES, OMP_TASKLOOP_CLAUSES, OMP_TARGET_CLAUSES) - (OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES) - (OMP_SINGLE_CLAUSES): Add OMP_CLAUSE_ALLOCATE. - (OMP_TASKGROUP_CLAUSES): New. - (gfc_match_omp_taskgroup): Use OMP_TASKGROUP_CLAUSES instead of - OMP_CLAUSE_TASK_REDUCTION. - (resolve_omp_clauses): Handle OMP_LIST_ALLOCATE. - (resolve_omp_do): Avoid warning when loop iteration variable is - in allocate clause. - * trans-openmp.c (gfc_trans_omp_clauses): Handle translation of - allocate clause. - (gfc_split_omp_clauses): Update for OMP_LIST_ALLOCATE. - -2022-01-13 Harald Anlauf <anlauf@gmx.de> - - PR fortran/67804 - * primary.c (gfc_match_structure_constructor): Recover from errors - that occurred while checking for a valid structure constructor in - a DATA statement. - -2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> - - * libgfortran.h (unit_convert): Add flags. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - * trans-types.c (gfc_init_kinds): When setting abi_kind to 17, if not - targetting glibc 2.32 or later and -fbuilding-libgfortran, set - gfc_real16_is_float128 and c_float128 in gfc_real_kinds. - (gfc_build_real_type): Don't set c_long_double if c_float128 is - already set. - * trans-intrinsic.c (builtin_decl_for_precision): Don't use - long_double_built_in if gfc_real16_is_float128 and - long_double_type_node == gfc_float128_type_node. - * lang.opt (fbuilding-libgfortran): New undocumented option. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Use - gfc_type_abi_kind. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - * trans-io.c (transfer_array_desc): Pass abi kind instead of kind - to libgfortran. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - * trans-io.c (transfer_namelist_element): Use gfc_type_abi_kind, - formatting fixes. - (transfer_expr): Use gfc_type_abi_kind, use *REAL128* APIs even - for abi_kind == 17. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - * gfortran.h (gfc_real_info): Add abi_kind member. - (gfc_type_abi_kind): Declare. - * trans-types.c (gfc_init_kinds): Initialize abi_kind. - * intrinsic.c (gfc_type_abi_kind): New function. - (conv_name): Use it. - * iresolve.c (resolve_transformational, gfc_resolve_abs, - gfc_resolve_char_achar, gfc_resolve_acos, gfc_resolve_acosh, - gfc_resolve_aimag, gfc_resolve_and, gfc_resolve_aint, gfc_resolve_all, - gfc_resolve_anint, gfc_resolve_any, gfc_resolve_asin, - gfc_resolve_asinh, gfc_resolve_atan, gfc_resolve_atanh, - gfc_resolve_atan2, gfc_resolve_bessel_n2, gfc_resolve_ceiling, - gfc_resolve_cmplx, gfc_resolve_complex, gfc_resolve_cos, - gfc_resolve_cosh, gfc_resolve_count, gfc_resolve_dble, - gfc_resolve_dim, gfc_resolve_dot_product, gfc_resolve_dprod, - gfc_resolve_exp, gfc_resolve_floor, gfc_resolve_hypot, - gfc_resolve_int, gfc_resolve_int2, gfc_resolve_int8, gfc_resolve_long, - gfc_resolve_log, gfc_resolve_log10, gfc_resolve_logical, - gfc_resolve_matmul, gfc_resolve_minmax, gfc_resolve_maxloc, - gfc_resolve_findloc, gfc_resolve_maxval, gfc_resolve_merge, - gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_mod, - gfc_resolve_modulo, gfc_resolve_nearest, gfc_resolve_or, - gfc_resolve_real, gfc_resolve_realpart, gfc_resolve_reshape, - gfc_resolve_sign, gfc_resolve_sin, gfc_resolve_sinh, gfc_resolve_sqrt, - gfc_resolve_tan, gfc_resolve_tanh, gfc_resolve_transpose, - gfc_resolve_trigd, gfc_resolve_xor, gfc_resolve_random_number): - Likewise. - * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise. - -2022-01-10 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/103366 - * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Allow unlimited - polymorphic actual argument passed to assumed type formal. - -2022-01-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103777 - * simplify.c (gfc_simplify_maskr): Check validity of argument 'I' - before simplifying. - (gfc_simplify_maskl): Likewise. - -2022-01-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/101762 - * expr.c (gfc_check_pointer_assign): For pointer initialization - targets, check that subscripts and substring indices in - specifications are constant expressions. - -2022-01-09 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/103789 - * trans-array.c (arg_evaluated_for_scalarization): Add MASKL, MASKR, - SCAN and VERIFY to the list of intrinsics whose KIND argument is to be - ignored. - -2022-01-07 Sandra Loosemore <sandra@codesourcery.com> - - PR fortran/103898 - * trans-intrinsic.c (gfc_conv_intrinsic_size): Make size_var - actually be a variable and fix surrounding code. - -2022-01-06 Steve Kargl <kargl@gcc.gnu.org> - Sandra Loosemore <sandra@codesourcery.com> - - PR fortran/103287 - * interface.c (argument_rank_mismatch): Replace incorrect assertion - with return. - -2022-01-05 Sandra Loosemore <sandra@codesourcery.com> - - PR fortran/103258 - * decl.c (gfc_match_char_spec): Suppress errors around call - to gfc_reduce_init_expr. - * error.c (gfc_query_suppress_errors): New. - * gfortran.h (gfc_query_suppress_errors): Declare. - * symbol.c (gfc_set_default_type): Check gfc_query_suppress_errors. - -2022-01-03 Sandra Loosemore <sandra@codesourcery.com> - - PR fortran/103390 - * expr.c (gfc_is_simply_contiguous): Make it smarter about - function calls. - * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Do not generate - copy loops for array expressions that are not "variables" (lvalues). - -2022-01-03 Jakub Jelinek <jakub@redhat.com> - - * 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) 2022 Free Software Foundation, Inc. +Copyright (C) 2023 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-2022 b/gcc/fortran/ChangeLog-2022 new file mode 100644 index 0000000000000000000000000000000000000000..71e551d9109260b50a4475d40f1ccd380c3ab265 --- /dev/null +++ b/gcc/fortran/ChangeLog-2022 @@ -0,0 +1,4484 @@ +2022-12-30 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/102595 + * decl.cc (attr_decl1): Guard against NULL pointer. + * parse.cc (match_deferred_characteristics): Include BT_CLASS in check for + derived being undefined. + +2022-12-23 Harald Anlauf <anlauf@gmx.de> + + PR fortran/108131 + * array.cc (match_array_element_spec): Avoid too early simplification + of matched array element specs that can lead to a misinterpretation + when used as array bounds in array declarations. + +2022-12-23 Julian Brown <julian@codesourcery.com> + + * dump-parse-tree.cc (show_attr): Fix OMP-UDR-ARTIFICIAL-VAR typo. + * trans-openmp.cc (gfc_trans_omp_array_section): Replace stray unicode + m-dash character with hyphen. + +2022-12-23 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/106731 + * trans-array.cc (gfc_trans_auto_array_allocation): Remove gcc_assert (!TREE_STATIC()). + +2022-12-22 Harald Anlauf <anlauf@gmx.de> + + PR fortran/69604 + * match.cc (chk_stmt_fcn_body): New function. Check for invalid uses + of statement functions arguments. + (gfc_match_st_function): Use above. + +2022-12-20 Harald Anlauf <anlauf@gmx.de> + + PR fortran/95375 + * decl.cc (verify_bind_c_sym): Extend interoperability check to + CLASS variables. + +2022-12-18 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/107397 + * decl.cc (add_init_expr_to_sym): Add check with new error message. + +2022-12-14 Julian Brown <julian@codesourcery.com> + + PR fortran/107214 + * gfortran.h (gfc_symbol): Add data_mark, dev_mark, gen_mark and + reduc_mark bitfields. + * openmp.cc (resolve_omp_clauses): Use above bitfields to improve + duplicate clause detection. + +2022-12-14 Julian Brown <julian@codesourcery.com> + + * trans-openmp.cc (gfc_add_firstprivate_if_unmapped): New function. + (gfc_split_omp_clauses): Call above. + +2022-12-13 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/107423 + * parse.cc (parse_spec): Avoid NULL pointer dereference when parsing + a function and an error occured. + +2022-12-12 Harald Anlauf <anlauf@gmx.de> + + PR fortran/102180 + * array.cc (match_array_element_spec): Add check for bad + assumed-implied-spec. + (gfc_match_array_spec): Reorder logic so that the first bad array + element spec may trigger an error. + +2022-12-11 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/107995 + * interface.cc (gfc_check_dummy_characteristics): Reject statement + function dummy arguments. + +2022-12-11 Tobias Burnus <tobias@codesourcery.com> + + * openmp.cc (gfc_match_omp_context_selector_specification): + Remove spurious 's' in an error message. + +2022-12-10 Harald Anlauf <anlauf@gmx.de> + + PR fortran/106911 + * simplify.cc (gfc_simplify_ishftc): If the SIZE argument is known + to be outside the allowed range, terminate simplification. + +2022-12-10 Tobias Burnus <tobias@codesourcery.com> + + * match.cc (gfc_match_member_sep): Use %<...%> in gfc_error. + * openmp.cc (gfc_match_oacc_routine, gfc_match_omp_context_selector, + gfc_match_omp_context_selector_specification, + gfc_match_omp_declare_variant, resolve_omp_clauses): Likewise; + use %qs instead of '%s'. + * primary.cc (match_real_constant, gfc_match_varspec): Likewise. + * resolve.cc (gfc_resolve_formal_arglist, resolve_operator, + resolve_ordinary_assign): Likewise. + +2022-12-09 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/107872 + * resolve.cc (derived_inaccessible): Skip over allocatable components + to prevent an infinite loop. + +2022-12-09 Tobias Burnus <tobias@codesourcery.com> + + * dump-parse-tree.cc (show_omp_namelist): Improve OMP_LIST_ALLOCATE + output. + * gfortran.h (struct gfc_omp_namelist): Add 'align' to 'u'. + (gfc_free_omp_namelist): Add bool arg. + * match.cc (gfc_free_omp_namelist): Likewise; free 'u.align'. + * openmp.cc (gfc_free_omp_clauses, gfc_match_omp_clause_reduction, + gfc_match_omp_flush): Update call. + (gfc_match_omp_clauses): Match 'align/allocate modifers in + 'allocate' clause. + (resolve_omp_clauses): Resolve align. + * st.cc (gfc_free_statement): Update call + * trans-openmp.cc (gfc_trans_omp_clauses): Handle 'align'. + +2022-12-08 Harald Anlauf <anlauf@gmx.de> + + PR fortran/108025 + * symbol.cc (gfc_add_contiguous): Diagnose and reject duplicate + CONTIGUOUS attribute. + +2022-12-07 Harald Anlauf <anlauf@gmx.de> + + PR fortran/108010 + * arith.cc (reduce_unary): Handle zero-sized arrays. + (reduce_binary_aa): Likewise. + +2022-12-04 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107922 + * simplify.cc (gfc_simplify_unpack): Terminate simplification when + array-valued argument FIELD does not provide enough elements. + +2022-12-04 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107870 + * intrinsic.texi: Fix typo in documentation of intrinsic FLOOR. + Describe the optional KIND argument to intrinsics as a scalar + constant expression, in accordance with the current standard. + +2022-12-04 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107899 + * resolve.cc (resolve_deallocate_expr): Avoid NULL pointer dereference + on invalid CLASS variable. + +2022-11-30 Martin Liska <mliska@suse.cz> + + * parse.cc (parse_omp_structured_block): Remove extra semicolon. + +2022-11-29 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/107874 + * simplify.cc (gfc_simplify_merge): When simplifying MERGE with a + constant scalar MASK, ensure that arguments TSOURCE and FSOURCE are + either constant or will be evaluated. + * trans-intrinsic.cc (gfc_conv_intrinsic_merge): Evaluate arguments + before generating conditional expression. + +2022-11-28 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107819 + * trans-stmt.cc (gfc_conv_elemental_dependencies): In checking for + elemental dependencies, treat dummy argument with VALUE attribute + as implicitly having intent(in). + +2022-11-28 Tobias Burnus <tobias@codesourcery.com> + + * openmp.cc (OMP_DO_CLAUSES, OMP_SCOPE_CLAUSES, + OMP_SECTIONS_CLAUSES): Add 'nowait'. + (OMP_SINGLE_CLAUSES): Add 'nowait' and 'copyprivate'. + (gfc_match_omp_distribute_parallel_do, + gfc_match_omp_distribute_parallel_do_simd, + gfc_match_omp_parallel_do, + gfc_match_omp_parallel_do_simd, + gfc_match_omp_parallel_sections, + gfc_match_omp_teams_distribute_parallel_do, + gfc_match_omp_teams_distribute_parallel_do_simd): Disallow 'nowait'. + (gfc_match_omp_workshare): Match 'nowait' clause. + (gfc_match_omp_end_single): Use clause matcher for 'nowait'. + (resolve_omp_clauses): Reject 'nowait' + 'copyprivate'. + * parse.cc (decode_omp_directive): Break too long line. + (parse_omp_do, parse_omp_structured_block): Diagnose duplicated + 'nowait' clause. + +2022-11-23 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/107577 + * resolve.cc (find_array_spec): Choose appropriate locus either of + bad array reference or of non-array entity in error message. + +2022-11-18 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107576 + * interface.cc (gfc_procedure_use): Reject NULL as actual argument + when there is no explicit procedure interface. + +2022-11-17 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> + + PR fortran/99884 + * io.cc (check_open_constraints): Remove double spaces. + +2022-11-16 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/107707 + * interface.cc (gfc_compare_actual_formal): Check that we actually + have integer values before asking gmp_* to use them. + +2022-11-16 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107681 + * resolve.cc (resolve_fl_var_and_proc): Prevent NULL pointer + dereference with reference to bad CLASS variable. + +2022-11-16 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107680 + * arith.cc (arith_power): Check that operands are properly converted + before attempting to simplify. + +2022-11-15 Lewis Hyatt <lhyatt@gmail.com> + + * cpp.cc (gfc_cpp_init): Use special_fname_builtin () rather than a + hardcoded string (which was also incorrectly left untranslated + previously.) + * error.cc (gfc_diagnostic_build_locus_prefix): Likewise. + * f95-lang.cc (gfc_init): Likewise. + +2022-11-14 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107444 + * trans-openmp.cc (gfc_omp_check_optional_argument): Adjust to change + of prefix of internal symbol for presence status to '.'. + +2022-11-14 Martin Liska <mliska@suse.cz> + + * gfortran.texi: Port from Sphinx. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/gfc-internals/code-that-interacts-with-the-user.rst: New file. + * doc/gfc-internals/command-line-options.rst: New file. + * doc/gfc-internals/conf.py: New file. + * doc/gfc-internals/copyright.rst: New file. + * doc/gfc-internals/error-handling.rst: New file. + * doc/gfc-internals/frontend-data-structures.rst: New file. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst: New file. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst: + New file. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst: + New file. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst: + New file. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst: + New file. + * doc/gfc-internals/gfccode.rst: New file. + * doc/gfc-internals/gfcexpr.rst: New file. + * doc/gfc-internals/gnu-free-documentation-license.rst: New file. + * doc/gfc-internals/index.rst: New file. + * doc/gfc-internals/indices-and-tables.rst: New file. + * doc/gfc-internals/internals-of-fortran-2003-oop-features.rst: New file. + * doc/gfc-internals/introduction.rst: New file. + * doc/gfc-internals/symbol-versioning.rst: New file. + * doc/gfc-internals/the-libgfortran-runtime-library.rst: New file. + * doc/gfc-internals/type-bound-operators.rst: New file. + * doc/gfc-internals/type-bound-procedures.rst: New file. + * doc/gfortran/about-gnu-fortran.rst: New file. + * doc/gfortran/coarray-programming.rst: New file. + * doc/gfortran/compiler-characteristics.rst: New file. + * doc/gfortran/compiler-characteristics/asynchronous-i-o.rst: New file. + * doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst: New file. + * doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst: New file. + * doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst: + New file. + * doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst: New file. + * doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst: + New file. + * doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst: + New file. + * doc/gfortran/compiler-characteristics/kind-type-parameters.rst: New file. + * doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst: + New file. + * doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst: New file. + * doc/gfortran/conf.py: New file. + * doc/gfortran/contributing.rst: New file. + * doc/gfortran/contributors-to-gnu-fortran.rst: New file. + * doc/gfortran/copyright.rst: New file. + * doc/gfortran/extensions-implemented-in-gnu-fortran.rst: New file. + * doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst: New file. + * doc/gfortran/extensions.rst: New file. + * doc/gfortran/function-abi-documentation.rst: New file. + * doc/gfortran/funding.rst: New file. + * doc/gfortran/general-public-license-3.rst: New file. + * doc/gfortran/gnu-fortran-and-gcc.rst: New file. + * doc/gfortran/gnu-fortran-command-options.rst: New file. + * doc/gfortran/gnu-fortran-command-options/description.rst: New file. + * doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst: New file. + * doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst: + New file. + * doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst: New file. + * doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst: New file. + * doc/gfortran/gnu-fortran-command-options/option-summary.rst: New file. + * doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst: + New file. + * doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst: + New file. + * doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst: + New file. + * doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst: New file. + * doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst: + New file. + * doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst: + New file. + * doc/gfortran/gnu-fortran-compiler-directives.rst: New file. + * doc/gfortran/gnu-free-documentation-license.rst: New file. + * doc/gfortran/index.rst: New file. + * doc/gfortran/indices-and-tables.rst: New file. + * doc/gfortran/interoperability-with-c.rst: New file. + * doc/gfortran/intrinsic-modules.rst: New file. + * doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst: + New file. + * doc/gfortran/intrinsic-modules/isocbinding.rst: New file. + * doc/gfortran/intrinsic-modules/isofortranenv.rst: New file. + * doc/gfortran/intrinsic-modules/openacc-module-openacc.rst: New file. + * doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst: New file. + * doc/gfortran/intrinsic-procedures.rst: New file. + * doc/gfortran/intrinsic-procedures/abort.rst: New file. + * doc/gfortran/intrinsic-procedures/abs.rst: New file. + * doc/gfortran/intrinsic-procedures/access.rst: New file. + * doc/gfortran/intrinsic-procedures/achar.rst: New file. + * doc/gfortran/intrinsic-procedures/acos.rst: New file. + * doc/gfortran/intrinsic-procedures/acosd.rst: New file. + * doc/gfortran/intrinsic-procedures/acosh.rst: New file. + * doc/gfortran/intrinsic-procedures/adjustl.rst: New file. + * doc/gfortran/intrinsic-procedures/adjustr.rst: New file. + * doc/gfortran/intrinsic-procedures/aimag.rst: New file. + * doc/gfortran/intrinsic-procedures/aint.rst: New file. + * doc/gfortran/intrinsic-procedures/alarm.rst: New file. + * doc/gfortran/intrinsic-procedures/all.rst: New file. + * doc/gfortran/intrinsic-procedures/allocated.rst: New file. + * doc/gfortran/intrinsic-procedures/and.rst: New file. + * doc/gfortran/intrinsic-procedures/anint.rst: New file. + * doc/gfortran/intrinsic-procedures/any.rst: New file. + * doc/gfortran/intrinsic-procedures/asin.rst: New file. + * doc/gfortran/intrinsic-procedures/asind.rst: New file. + * doc/gfortran/intrinsic-procedures/asinh.rst: New file. + * doc/gfortran/intrinsic-procedures/associated.rst: New file. + * doc/gfortran/intrinsic-procedures/atan.rst: New file. + * doc/gfortran/intrinsic-procedures/atan2.rst: New file. + * doc/gfortran/intrinsic-procedures/atan2d.rst: New file. + * doc/gfortran/intrinsic-procedures/atand.rst: New file. + * doc/gfortran/intrinsic-procedures/atanh.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicadd.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicand.rst: New file. + * doc/gfortran/intrinsic-procedures/atomiccas.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicdefine.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicfetchadd.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicfetchand.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicfetchor.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicfetchxor.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicor.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicref.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicxor.rst: New file. + * doc/gfortran/intrinsic-procedures/backtrace.rst: New file. + * doc/gfortran/intrinsic-procedures/besselj0.rst: New file. + * doc/gfortran/intrinsic-procedures/besselj1.rst: New file. + * doc/gfortran/intrinsic-procedures/besseljn.rst: New file. + * doc/gfortran/intrinsic-procedures/bessely0.rst: New file. + * doc/gfortran/intrinsic-procedures/bessely1.rst: New file. + * doc/gfortran/intrinsic-procedures/besselyn.rst: New file. + * doc/gfortran/intrinsic-procedures/bge.rst: New file. + * doc/gfortran/intrinsic-procedures/bgt.rst: New file. + * doc/gfortran/intrinsic-procedures/bitsize.rst: New file. + * doc/gfortran/intrinsic-procedures/ble.rst: New file. + * doc/gfortran/intrinsic-procedures/blt.rst: New file. + * doc/gfortran/intrinsic-procedures/btest.rst: New file. + * doc/gfortran/intrinsic-procedures/cassociated.rst: New file. + * doc/gfortran/intrinsic-procedures/ceiling.rst: New file. + * doc/gfortran/intrinsic-procedures/cfpointer.rst: New file. + * doc/gfortran/intrinsic-procedures/cfprocpointer.rst: New file. + * doc/gfortran/intrinsic-procedures/cfunloc.rst: New file. + * doc/gfortran/intrinsic-procedures/char.rst: New file. + * doc/gfortran/intrinsic-procedures/chdir.rst: New file. + * doc/gfortran/intrinsic-procedures/chmod.rst: New file. + * doc/gfortran/intrinsic-procedures/cloc.rst: New file. + * doc/gfortran/intrinsic-procedures/cmplx.rst: New file. + * doc/gfortran/intrinsic-procedures/cobroadcast.rst: New file. + * doc/gfortran/intrinsic-procedures/comax.rst: New file. + * doc/gfortran/intrinsic-procedures/comin.rst: New file. + * doc/gfortran/intrinsic-procedures/commandargumentcount.rst: New file. + * doc/gfortran/intrinsic-procedures/compileroptions.rst: New file. + * doc/gfortran/intrinsic-procedures/compilerversion.rst: New file. + * doc/gfortran/intrinsic-procedures/complex.rst: New file. + * doc/gfortran/intrinsic-procedures/conjg.rst: New file. + * doc/gfortran/intrinsic-procedures/coreduce.rst: New file. + * doc/gfortran/intrinsic-procedures/cos.rst: New file. + * doc/gfortran/intrinsic-procedures/cosd.rst: New file. + * doc/gfortran/intrinsic-procedures/cosh.rst: New file. + * doc/gfortran/intrinsic-procedures/cosum.rst: New file. + * doc/gfortran/intrinsic-procedures/cotan.rst: New file. + * doc/gfortran/intrinsic-procedures/cotand.rst: New file. + * doc/gfortran/intrinsic-procedures/count.rst: New file. + * doc/gfortran/intrinsic-procedures/cputime.rst: New file. + * doc/gfortran/intrinsic-procedures/cshift.rst: New file. + * doc/gfortran/intrinsic-procedures/csizeof.rst: New file. + * doc/gfortran/intrinsic-procedures/ctime.rst: New file. + * doc/gfortran/intrinsic-procedures/dateandtime.rst: New file. + * doc/gfortran/intrinsic-procedures/dble.rst: New file. + * doc/gfortran/intrinsic-procedures/dcmplx.rst: New file. + * doc/gfortran/intrinsic-procedures/digits.rst: New file. + * doc/gfortran/intrinsic-procedures/dim.rst: New file. + * doc/gfortran/intrinsic-procedures/dotproduct.rst: New file. + * doc/gfortran/intrinsic-procedures/dprod.rst: New file. + * doc/gfortran/intrinsic-procedures/dreal.rst: New file. + * doc/gfortran/intrinsic-procedures/dshiftl.rst: New file. + * doc/gfortran/intrinsic-procedures/dshiftr.rst: New file. + * doc/gfortran/intrinsic-procedures/dtime.rst: New file. + * doc/gfortran/intrinsic-procedures/eoshift.rst: New file. + * doc/gfortran/intrinsic-procedures/epsilon.rst: New file. + * doc/gfortran/intrinsic-procedures/erf.rst: New file. + * doc/gfortran/intrinsic-procedures/erfc.rst: New file. + * doc/gfortran/intrinsic-procedures/erfcscaled.rst: New file. + * doc/gfortran/intrinsic-procedures/etime.rst: New file. + * doc/gfortran/intrinsic-procedures/eventquery.rst: New file. + * doc/gfortran/intrinsic-procedures/executecommandline.rst: New file. + * doc/gfortran/intrinsic-procedures/exit.rst: New file. + * doc/gfortran/intrinsic-procedures/exp.rst: New file. + * doc/gfortran/intrinsic-procedures/exponent.rst: New file. + * doc/gfortran/intrinsic-procedures/extendstypeof.rst: New file. + * doc/gfortran/intrinsic-procedures/fdate.rst: New file. + * doc/gfortran/intrinsic-procedures/fget.rst: New file. + * doc/gfortran/intrinsic-procedures/fgetc.rst: New file. + * doc/gfortran/intrinsic-procedures/findloc.rst: New file. + * doc/gfortran/intrinsic-procedures/floor.rst: New file. + * doc/gfortran/intrinsic-procedures/flush.rst: New file. + * doc/gfortran/intrinsic-procedures/fnum.rst: New file. + * doc/gfortran/intrinsic-procedures/fput.rst: New file. + * doc/gfortran/intrinsic-procedures/fputc.rst: New file. + * doc/gfortran/intrinsic-procedures/fraction.rst: New file. + * doc/gfortran/intrinsic-procedures/free.rst: New file. + * doc/gfortran/intrinsic-procedures/fseek.rst: New file. + * doc/gfortran/intrinsic-procedures/fstat.rst: New file. + * doc/gfortran/intrinsic-procedures/ftell.rst: New file. + * doc/gfortran/intrinsic-procedures/gamma.rst: New file. + * doc/gfortran/intrinsic-procedures/gerror.rst: New file. + * doc/gfortran/intrinsic-procedures/getarg.rst: New file. + * doc/gfortran/intrinsic-procedures/getcommand.rst: New file. + * doc/gfortran/intrinsic-procedures/getcommandargument.rst: New file. + * doc/gfortran/intrinsic-procedures/getcwd.rst: New file. + * doc/gfortran/intrinsic-procedures/getenv.rst: New file. + * doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst: New file. + * doc/gfortran/intrinsic-procedures/getgid.rst: New file. + * doc/gfortran/intrinsic-procedures/getlog.rst: New file. + * doc/gfortran/intrinsic-procedures/getpid.rst: New file. + * doc/gfortran/intrinsic-procedures/getuid.rst: New file. + * doc/gfortran/intrinsic-procedures/gmtime.rst: New file. + * doc/gfortran/intrinsic-procedures/hostnm.rst: New file. + * doc/gfortran/intrinsic-procedures/huge.rst: New file. + * doc/gfortran/intrinsic-procedures/hypot.rst: New file. + * doc/gfortran/intrinsic-procedures/iachar.rst: New file. + * doc/gfortran/intrinsic-procedures/iall.rst: New file. + * doc/gfortran/intrinsic-procedures/iand.rst: New file. + * doc/gfortran/intrinsic-procedures/iany.rst: New file. + * doc/gfortran/intrinsic-procedures/iargc.rst: New file. + * doc/gfortran/intrinsic-procedures/ibclr.rst: New file. + * doc/gfortran/intrinsic-procedures/ibits.rst: New file. + * doc/gfortran/intrinsic-procedures/ibset.rst: New file. + * doc/gfortran/intrinsic-procedures/ichar.rst: New file. + * doc/gfortran/intrinsic-procedures/idate.rst: New file. + * doc/gfortran/intrinsic-procedures/ieor.rst: New file. + * doc/gfortran/intrinsic-procedures/ierrno.rst: New file. + * doc/gfortran/intrinsic-procedures/imageindex.rst: New file. + * doc/gfortran/intrinsic-procedures/index.rst: New file. + * doc/gfortran/intrinsic-procedures/int.rst: New file. + * doc/gfortran/intrinsic-procedures/int2.rst: New file. + * doc/gfortran/intrinsic-procedures/int8.rst: New file. + * doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst: New file. + * doc/gfortran/intrinsic-procedures/ior.rst: New file. + * doc/gfortran/intrinsic-procedures/iparity.rst: New file. + * doc/gfortran/intrinsic-procedures/irand.rst: New file. + * doc/gfortran/intrinsic-procedures/isatty.rst: New file. + * doc/gfortran/intrinsic-procedures/iscontiguous.rst: New file. + * doc/gfortran/intrinsic-procedures/ishft.rst: New file. + * doc/gfortran/intrinsic-procedures/ishftc.rst: New file. + * doc/gfortran/intrinsic-procedures/isiostatend.rst: New file. + * doc/gfortran/intrinsic-procedures/isiostateor.rst: New file. + * doc/gfortran/intrinsic-procedures/isnan.rst: New file. + * doc/gfortran/intrinsic-procedures/itime.rst: New file. + * doc/gfortran/intrinsic-procedures/kill.rst: New file. + * doc/gfortran/intrinsic-procedures/kind.rst: New file. + * doc/gfortran/intrinsic-procedures/lbound.rst: New file. + * doc/gfortran/intrinsic-procedures/lcobound.rst: New file. + * doc/gfortran/intrinsic-procedures/leadz.rst: New file. + * doc/gfortran/intrinsic-procedures/len.rst: New file. + * doc/gfortran/intrinsic-procedures/lentrim.rst: New file. + * doc/gfortran/intrinsic-procedures/lge.rst: New file. + * doc/gfortran/intrinsic-procedures/lgt.rst: New file. + * doc/gfortran/intrinsic-procedures/link.rst: New file. + * doc/gfortran/intrinsic-procedures/lle.rst: New file. + * doc/gfortran/intrinsic-procedures/llt.rst: New file. + * doc/gfortran/intrinsic-procedures/lnblnk.rst: New file. + * doc/gfortran/intrinsic-procedures/loc.rst: New file. + * doc/gfortran/intrinsic-procedures/log.rst: New file. + * doc/gfortran/intrinsic-procedures/log10.rst: New file. + * doc/gfortran/intrinsic-procedures/loggamma.rst: New file. + * doc/gfortran/intrinsic-procedures/logical.rst: New file. + * doc/gfortran/intrinsic-procedures/lshift.rst: New file. + * doc/gfortran/intrinsic-procedures/lstat.rst: New file. + * doc/gfortran/intrinsic-procedures/ltime.rst: New file. + * doc/gfortran/intrinsic-procedures/malloc.rst: New file. + * doc/gfortran/intrinsic-procedures/maskl.rst: New file. + * doc/gfortran/intrinsic-procedures/maskr.rst: New file. + * doc/gfortran/intrinsic-procedures/matmul.rst: New file. + * doc/gfortran/intrinsic-procedures/max.rst: New file. + * doc/gfortran/intrinsic-procedures/maxexponent.rst: New file. + * doc/gfortran/intrinsic-procedures/maxloc.rst: New file. + * doc/gfortran/intrinsic-procedures/maxval.rst: New file. + * doc/gfortran/intrinsic-procedures/mclock.rst: New file. + * doc/gfortran/intrinsic-procedures/mclock8.rst: New file. + * doc/gfortran/intrinsic-procedures/merge.rst: New file. + * doc/gfortran/intrinsic-procedures/mergebits.rst: New file. + * doc/gfortran/intrinsic-procedures/min.rst: New file. + * doc/gfortran/intrinsic-procedures/minexponent.rst: New file. + * doc/gfortran/intrinsic-procedures/minloc.rst: New file. + * doc/gfortran/intrinsic-procedures/minval.rst: New file. + * doc/gfortran/intrinsic-procedures/mod.rst: New file. + * doc/gfortran/intrinsic-procedures/modulo.rst: New file. + * doc/gfortran/intrinsic-procedures/movealloc.rst: New file. + * doc/gfortran/intrinsic-procedures/mvbits.rst: New file. + * doc/gfortran/intrinsic-procedures/nearest.rst: New file. + * doc/gfortran/intrinsic-procedures/newline.rst: New file. + * doc/gfortran/intrinsic-procedures/nint.rst: New file. + * doc/gfortran/intrinsic-procedures/norm2.rst: New file. + * doc/gfortran/intrinsic-procedures/not.rst: New file. + * doc/gfortran/intrinsic-procedures/null.rst: New file. + * doc/gfortran/intrinsic-procedures/numimages.rst: New file. + * doc/gfortran/intrinsic-procedures/or.rst: New file. + * doc/gfortran/intrinsic-procedures/pack.rst: New file. + * doc/gfortran/intrinsic-procedures/parity.rst: New file. + * doc/gfortran/intrinsic-procedures/perror.rst: New file. + * doc/gfortran/intrinsic-procedures/popcnt.rst: New file. + * doc/gfortran/intrinsic-procedures/poppar.rst: New file. + * doc/gfortran/intrinsic-procedures/precision.rst: New file. + * doc/gfortran/intrinsic-procedures/present.rst: New file. + * doc/gfortran/intrinsic-procedures/product.rst: New file. + * doc/gfortran/intrinsic-procedures/radix.rst: New file. + * doc/gfortran/intrinsic-procedures/ran.rst: New file. + * doc/gfortran/intrinsic-procedures/rand.rst: New file. + * doc/gfortran/intrinsic-procedures/randominit.rst: New file. + * doc/gfortran/intrinsic-procedures/randomnumber.rst: New file. + * doc/gfortran/intrinsic-procedures/randomseed.rst: New file. + * doc/gfortran/intrinsic-procedures/range.rst: New file. + * doc/gfortran/intrinsic-procedures/rank.rst: New file. + * doc/gfortran/intrinsic-procedures/real.rst: New file. + * doc/gfortran/intrinsic-procedures/rename.rst: New file. + * doc/gfortran/intrinsic-procedures/repeat.rst: New file. + * doc/gfortran/intrinsic-procedures/reshape.rst: New file. + * doc/gfortran/intrinsic-procedures/rrspacing.rst: New file. + * doc/gfortran/intrinsic-procedures/rshift.rst: New file. + * doc/gfortran/intrinsic-procedures/sametypeas.rst: New file. + * doc/gfortran/intrinsic-procedures/scale.rst: New file. + * doc/gfortran/intrinsic-procedures/scan.rst: New file. + * doc/gfortran/intrinsic-procedures/secnds.rst: New file. + * doc/gfortran/intrinsic-procedures/second.rst: New file. + * doc/gfortran/intrinsic-procedures/selectedcharkind.rst: New file. + * doc/gfortran/intrinsic-procedures/selectedintkind.rst: New file. + * doc/gfortran/intrinsic-procedures/selectedrealkind.rst: New file. + * doc/gfortran/intrinsic-procedures/setexponent.rst: New file. + * doc/gfortran/intrinsic-procedures/shape.rst: New file. + * doc/gfortran/intrinsic-procedures/shifta.rst: New file. + * doc/gfortran/intrinsic-procedures/shiftl.rst: New file. + * doc/gfortran/intrinsic-procedures/shiftr.rst: New file. + * doc/gfortran/intrinsic-procedures/sign.rst: New file. + * doc/gfortran/intrinsic-procedures/signal.rst: New file. + * doc/gfortran/intrinsic-procedures/sin.rst: New file. + * doc/gfortran/intrinsic-procedures/sind.rst: New file. + * doc/gfortran/intrinsic-procedures/sinh.rst: New file. + * doc/gfortran/intrinsic-procedures/size.rst: New file. + * doc/gfortran/intrinsic-procedures/sizeof.rst: New file. + * doc/gfortran/intrinsic-procedures/sleep.rst: New file. + * doc/gfortran/intrinsic-procedures/spacing.rst: New file. + * doc/gfortran/intrinsic-procedures/spread.rst: New file. + * doc/gfortran/intrinsic-procedures/sqrt.rst: New file. + * doc/gfortran/intrinsic-procedures/srand.rst: New file. + * doc/gfortran/intrinsic-procedures/stat.rst: New file. + * doc/gfortran/intrinsic-procedures/storagesize.rst: New file. + * doc/gfortran/intrinsic-procedures/sum.rst: New file. + * doc/gfortran/intrinsic-procedures/symlnk.rst: New file. + * doc/gfortran/intrinsic-procedures/system.rst: New file. + * doc/gfortran/intrinsic-procedures/systemclock.rst: New file. + * doc/gfortran/intrinsic-procedures/tan.rst: New file. + * doc/gfortran/intrinsic-procedures/tand.rst: New file. + * doc/gfortran/intrinsic-procedures/tanh.rst: New file. + * doc/gfortran/intrinsic-procedures/thisimage.rst: New file. + * doc/gfortran/intrinsic-procedures/time.rst: New file. + * doc/gfortran/intrinsic-procedures/time8.rst: New file. + * doc/gfortran/intrinsic-procedures/tiny.rst: New file. + * doc/gfortran/intrinsic-procedures/trailz.rst: New file. + * doc/gfortran/intrinsic-procedures/transfer.rst: New file. + * doc/gfortran/intrinsic-procedures/transpose.rst: New file. + * doc/gfortran/intrinsic-procedures/trim.rst: New file. + * doc/gfortran/intrinsic-procedures/ttynam.rst: New file. + * doc/gfortran/intrinsic-procedures/ubound.rst: New file. + * doc/gfortran/intrinsic-procedures/ucobound.rst: New file. + * doc/gfortran/intrinsic-procedures/umask.rst: New file. + * doc/gfortran/intrinsic-procedures/unlink.rst: New file. + * doc/gfortran/intrinsic-procedures/unpack.rst: New file. + * doc/gfortran/intrinsic-procedures/verify.rst: New file. + * doc/gfortran/intrinsic-procedures/xor.rst: New file. + * doc/gfortran/introduction.rst: New file. + * doc/gfortran/mixed-language-programming.rst: New file. + * doc/gfortran/naming-and-argument-passing-conventions.rst: New file. + * doc/gfortran/non-fortran-main-program.rst: New file. + * doc/gfortran/projects.rst: New file. + * doc/gfortran/runtime.rst: New file. + * doc/gfortran/runtime/gfortranconvertunit.rst: New file. + * doc/gfortran/runtime/gfortranerrorbacktrace.rst: New file. + * doc/gfortran/runtime/gfortranformattedbuffersize.rst: New file. + * doc/gfortran/runtime/gfortranlistseparator.rst: New file. + * doc/gfortran/runtime/gfortranoptionalplus.rst: New file. + * doc/gfortran/runtime/gfortranshowlocus.rst: New file. + * doc/gfortran/runtime/gfortranstderrunit.rst: New file. + * doc/gfortran/runtime/gfortranstdinunit.rst: New file. + * doc/gfortran/runtime/gfortranstdoutunit.rst: New file. + * doc/gfortran/runtime/gfortranunbufferedall.rst: New file. + * doc/gfortran/runtime/gfortranunbufferedpreconnected.rst: New file. + * doc/gfortran/runtime/gfortranunformattedbuffersize.rst: New file. + * doc/gfortran/runtime/tmpdir.rst: New file. + * doc/gfortran/standards.rst: New file. + * doc/gfortran/type-and-enum-abi-documentation.rst: New file. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * Make-lang.in: Support Sphinx based documentation. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * gfc-internals.texi: Removed. + * gfortran.texi: Removed. + * intrinsic.texi: Removed. + * invoke.texi: Removed. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * Make-lang.in: Support --with-sphinx-build. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * Make-lang.in: + Support installation if sphinx-build is missing. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gfortran/intrinsic-procedures/aint.rst: Simplify function + declaration. + * doc/gfortran/intrinsic-procedures/int.rst: Likewise. + * doc/gfortran/intrinsic-procedures/anint.rst: Likewise. + * doc/gfortran/intrinsic-procedures/char.rst: Likewise. + * doc/gfortran/intrinsic-procedures/real.rst: Likewise. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/gfc-internals/code-that-interacts-with-the-user.rst: + Add trailing newline. + * doc/gfc-internals/command-line-options.rst: + Add trailing newline. + * doc/gfc-internals/copyright.rst: + Add trailing newline. + * doc/gfc-internals/error-handling.rst: + Add trailing newline. + * doc/gfc-internals/frontend-data-structures.rst: + Add trailing newline. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst: + Add trailing newline. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst: + Add trailing newline. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst: + Add trailing newline. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst: + Add trailing newline. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst: + Add trailing newline. + * doc/gfc-internals/gfccode.rst: + Add trailing newline. + * doc/gfc-internals/gfcexpr.rst: + Add trailing newline. + * doc/gfc-internals/gnu-free-documentation-license.rst: + Add trailing newline. + * doc/gfc-internals/index.rst: + Add trailing newline. + * doc/gfc-internals/indices-and-tables.rst: + Add trailing newline. + * doc/gfc-internals/internals-of-fortran-2003-oop-features.rst: + Add trailing newline. + * doc/gfc-internals/introduction.rst: + Add trailing newline. + * doc/gfc-internals/symbol-versioning.rst: + Add trailing newline. + * doc/gfc-internals/the-libgfortran-runtime-library.rst: + Add trailing newline. + * doc/gfc-internals/type-bound-operators.rst: + Add trailing newline. + * doc/gfc-internals/type-bound-procedures.rst: + Add trailing newline. + * doc/gfortran/about-gnu-fortran.rst: + Add trailing newline. + * doc/gfortran/coarray-programming.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/asynchronous-i-o.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/kind-type-parameters.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst: + Add trailing newline. + * doc/gfortran/contributing.rst: + Add trailing newline. + * doc/gfortran/contributors-to-gnu-fortran.rst: + Add trailing newline. + * doc/gfortran/copyright.rst: + Add trailing newline. + * doc/gfortran/extensions-implemented-in-gnu-fortran.rst: + Add trailing newline. + * doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst: + Add trailing newline. + * doc/gfortran/extensions.rst: + Add trailing newline. + * doc/gfortran/function-abi-documentation.rst: + Add trailing newline. + * doc/gfortran/funding.rst: + Add trailing newline. + * doc/gfortran/general-public-license-3.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-and-gcc.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/description.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/option-summary.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-compiler-directives.rst: + Add trailing newline. + * doc/gfortran/gnu-free-documentation-license.rst: + Add trailing newline. + * doc/gfortran/index.rst: + Add trailing newline. + * doc/gfortran/indices-and-tables.rst: + Add trailing newline. + * doc/gfortran/interoperability-with-c.rst: + Add trailing newline. + * doc/gfortran/intrinsic-modules.rst: + Add trailing newline. + * doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst: + Add trailing newline. + * doc/gfortran/intrinsic-modules/isocbinding.rst: + Add trailing newline. + * doc/gfortran/intrinsic-modules/isofortranenv.rst: + Add trailing newline. + * doc/gfortran/intrinsic-modules/openacc-module-openacc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/abort.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/abs.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/access.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/achar.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/acos.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/acosd.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/acosh.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/adjustl.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/adjustr.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/aimag.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/alarm.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/all.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/allocated.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/and.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/any.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/asin.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/asind.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/asinh.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/associated.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atan.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atan2.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atan2d.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atanh.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicadd.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomiccas.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicdefine.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicfetchadd.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicfetchand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicfetchor.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicfetchxor.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicor.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicref.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicxor.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/backtrace.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/besselj0.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/besselj1.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/besseljn.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/bessely0.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/bessely1.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/besselyn.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/bge.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/bgt.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/bitsize.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ble.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/blt.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/btest.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cassociated.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ceiling.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cfpointer.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cfprocpointer.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cfunloc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/chdir.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/chmod.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cloc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cmplx.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cobroadcast.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/comax.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/comin.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/commandargumentcount.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/compileroptions.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/compilerversion.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/complex.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/conjg.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/coreduce.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cos.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cosd.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cosh.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cosum.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cotan.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cotand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/count.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cputime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cshift.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/csizeof.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ctime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dateandtime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dble.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dcmplx.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/digits.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dim.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dotproduct.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dprod.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dreal.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dshiftl.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dshiftr.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dtime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/eoshift.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/epsilon.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/erf.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/erfc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/erfcscaled.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/etime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/eventquery.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/executecommandline.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/exit.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/exp.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/exponent.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/extendstypeof.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fdate.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fget.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fgetc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/findloc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/floor.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/flush.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fnum.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fput.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fputc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fraction.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/free.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fseek.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fstat.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ftell.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/gamma.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/gerror.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getarg.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getcommand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getcommandargument.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getcwd.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getenv.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getgid.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getlog.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getpid.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getuid.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/gmtime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/hostnm.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/huge.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/hypot.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/iachar.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/iall.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/iand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/iany.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/iargc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ibclr.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ibits.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ibset.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ichar.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/idate.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ieor.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ierrno.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/imageindex.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/index.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/int2.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/int8.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ior.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/iparity.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/irand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/isatty.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/iscontiguous.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ishft.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ishftc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/isiostatend.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/isiostateor.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/isnan.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/itime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/kill.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/kind.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lbound.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lcobound.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/leadz.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/len.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lentrim.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lge.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lgt.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/link.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lle.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/llt.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lnblnk.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/loc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/log.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/log10.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/loggamma.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/logical.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lshift.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lstat.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ltime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/malloc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/maskl.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/maskr.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/matmul.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/max.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/maxexponent.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/maxloc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/maxval.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/mclock.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/mclock8.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/merge.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/mergebits.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/min.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/minexponent.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/minloc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/minval.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/mod.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/modulo.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/movealloc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/mvbits.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/nearest.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/newline.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/nint.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/norm2.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/not.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/null.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/numimages.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/or.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/pack.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/parity.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/perror.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/popcnt.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/poppar.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/precision.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/present.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/product.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/radix.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ran.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/rand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/randominit.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/randomnumber.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/randomseed.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/range.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/rank.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/rename.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/repeat.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/reshape.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/rrspacing.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/rshift.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sametypeas.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/scale.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/scan.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/secnds.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/second.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/selectedcharkind.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/selectedintkind.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/selectedrealkind.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/setexponent.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/shape.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/shifta.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/shiftl.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/shiftr.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sign.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/signal.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sin.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sind.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sinh.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/size.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sizeof.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sleep.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/spacing.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/spread.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sqrt.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/srand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/stat.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/storagesize.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sum.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/symlnk.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/system.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/systemclock.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/tan.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/tand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/tanh.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/thisimage.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/time.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/time8.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/tiny.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/trailz.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/transfer.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/transpose.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/trim.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ttynam.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ubound.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ucobound.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/umask.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/unlink.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/unpack.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/verify.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/xor.rst: + Add trailing newline. + * doc/gfortran/introduction.rst: + Add trailing newline. + * doc/gfortran/mixed-language-programming.rst: + Add trailing newline. + * doc/gfortran/naming-and-argument-passing-conventions.rst: + Add trailing newline. + * doc/gfortran/non-fortran-main-program.rst: + Add trailing newline. + * doc/gfortran/projects.rst: + Add trailing newline. + * doc/gfortran/runtime.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranconvertunit.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranerrorbacktrace.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranformattedbuffersize.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranlistseparator.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranoptionalplus.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranshowlocus.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranstderrunit.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranstdinunit.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranstdoutunit.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranunbufferedall.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranunbufferedpreconnected.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranunformattedbuffersize.rst: + Add trailing newline. + * doc/gfortran/runtime/tmpdir.rst: + Add trailing newline. + * doc/gfortran/standards.rst: + Add trailing newline. + * doc/gfortran/type-and-enum-abi-documentation.rst: + Add trailing newline. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/gfc-internals/conf.py: Add newline at last line. + * doc/gfortran/conf.py: Add newline at last line. + +2022-11-14 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-10 Martin Liska <mliska@suse.cz> + + * doc/gfortran/intrinsic-procedures/abs.rst: Move label directly before title. + * doc/gfortran/intrinsic-procedures/acos.rst: Likewise. + * doc/gfortran/intrinsic-procedures/acosd.rst: Likewise. + * doc/gfortran/intrinsic-procedures/acosh.rst: Likewise. + * doc/gfortran/intrinsic-procedures/aimag.rst: Likewise. + * doc/gfortran/intrinsic-procedures/aint.rst: Likewise. + * doc/gfortran/intrinsic-procedures/anint.rst: Likewise. + * doc/gfortran/intrinsic-procedures/asin.rst: Likewise. + * doc/gfortran/intrinsic-procedures/asind.rst: Likewise. + * doc/gfortran/intrinsic-procedures/asinh.rst: Likewise. + * doc/gfortran/intrinsic-procedures/atan.rst: Likewise. + * doc/gfortran/intrinsic-procedures/atan2.rst: Likewise. + * doc/gfortran/intrinsic-procedures/atan2d.rst: Likewise. + * doc/gfortran/intrinsic-procedures/atand.rst: Likewise. + * doc/gfortran/intrinsic-procedures/atanh.rst: Likewise. + * doc/gfortran/intrinsic-procedures/besselj0.rst: Likewise. + * doc/gfortran/intrinsic-procedures/besselj1.rst: Likewise. + * doc/gfortran/intrinsic-procedures/besseljn.rst: Likewise. + * doc/gfortran/intrinsic-procedures/bessely0.rst: Likewise. + * doc/gfortran/intrinsic-procedures/bessely1.rst: Likewise. + * doc/gfortran/intrinsic-procedures/besselyn.rst: Likewise. + * doc/gfortran/intrinsic-procedures/btest.rst: Likewise. + * doc/gfortran/intrinsic-procedures/char.rst: Likewise. + * doc/gfortran/intrinsic-procedures/conjg.rst: Likewise. + * doc/gfortran/intrinsic-procedures/cos.rst: Likewise. + * doc/gfortran/intrinsic-procedures/cosd.rst: Likewise. + * doc/gfortran/intrinsic-procedures/cosh.rst: Likewise. + * doc/gfortran/intrinsic-procedures/cotan.rst: Likewise. + * doc/gfortran/intrinsic-procedures/cotand.rst: Likewise. + * doc/gfortran/intrinsic-procedures/dim.rst: Likewise. + * doc/gfortran/intrinsic-procedures/dprod.rst: Likewise. + * doc/gfortran/intrinsic-procedures/erf.rst: Likewise. + * doc/gfortran/intrinsic-procedures/erfc.rst: Likewise. + * doc/gfortran/intrinsic-procedures/exp.rst: Likewise. + * doc/gfortran/intrinsic-procedures/gamma.rst: Likewise. + * doc/gfortran/intrinsic-procedures/iand.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ibclr.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ibits.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ibset.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ichar.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ieor.rst: Likewise. + * doc/gfortran/intrinsic-procedures/index.rst: Likewise. + * doc/gfortran/intrinsic-procedures/int.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ior.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ishft.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ishftc.rst: Likewise. + * doc/gfortran/intrinsic-procedures/len.rst: Likewise. + * doc/gfortran/intrinsic-procedures/lge.rst: Likewise. + * doc/gfortran/intrinsic-procedures/lgt.rst: Likewise. + * doc/gfortran/intrinsic-procedures/lle.rst: Likewise. + * doc/gfortran/intrinsic-procedures/llt.rst: Likewise. + * doc/gfortran/intrinsic-procedures/log.rst: Likewise. + * doc/gfortran/intrinsic-procedures/log10.rst: Likewise. + * doc/gfortran/intrinsic-procedures/loggamma.rst: Likewise. + * doc/gfortran/intrinsic-procedures/max.rst: Likewise. + * doc/gfortran/intrinsic-procedures/min.rst: Likewise. + * doc/gfortran/intrinsic-procedures/mod.rst: Likewise. + * doc/gfortran/intrinsic-procedures/mvbits.rst: Likewise. + * doc/gfortran/intrinsic-procedures/nint.rst: Likewise. + * doc/gfortran/intrinsic-procedures/not.rst: Likewise. + * doc/gfortran/intrinsic-procedures/real.rst: Likewise. + * doc/gfortran/intrinsic-procedures/sign.rst: Likewise. + * doc/gfortran/intrinsic-procedures/sin.rst: Likewise. + * doc/gfortran/intrinsic-procedures/sind.rst: Likewise. + * doc/gfortran/intrinsic-procedures/sinh.rst: Likewise. + * doc/gfortran/intrinsic-procedures/sqrt.rst: Likewise. + * doc/gfortran/intrinsic-procedures/tan.rst: Likewise. + * doc/gfortran/intrinsic-procedures/tand.rst: Likewise. + * doc/gfortran/intrinsic-procedures/tanh.rst: Likewise. + +2022-11-14 Martin Liska <mliska@suse.cz> + + * doc/gfortran/naming-and-argument-passing-conventions.rst: + Revert. + +2022-11-13 José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/94104 + * interface.cc (gfc_compare_actual_formal): Improve error message + dependent on Fortran standard level. + +2021-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> + + * gfortran.h (gfc_check_include): Remove declaration. + +2022-11-12 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107444 + * trans-decl.cc (create_function_arglist): Extend presence status + to all intrinsic types, and change prefix of internal symbol to '.'. + * trans-expr.cc (gfc_conv_expr_present): Align to changes in + create_function_arglist. + (gfc_conv_procedure_call): Fix generation of procedure arguments for + the case of character dummy arguments with optional+value attribute. + * trans-types.cc (gfc_get_function_type): Synchronize with changes + to create_function_arglist. + * doc/gfortran/naming-and-argument-passing-conventions.rst: Clarify + the gfortran argument passing conventions with regard to OPTIONAL + dummy arguments of intrinsic type. + +2022-11-10 Martin Liska <mliska@suse.cz> + + * doc/gfortran/intrinsic-procedures/abs.rst: Move label directly before title. + * doc/gfortran/intrinsic-procedures/acos.rst: Likewise. + * doc/gfortran/intrinsic-procedures/acosd.rst: Likewise. + * doc/gfortran/intrinsic-procedures/acosh.rst: Likewise. + * doc/gfortran/intrinsic-procedures/aimag.rst: Likewise. + * doc/gfortran/intrinsic-procedures/aint.rst: Likewise. + * doc/gfortran/intrinsic-procedures/anint.rst: Likewise. + * doc/gfortran/intrinsic-procedures/asin.rst: Likewise. + * doc/gfortran/intrinsic-procedures/asind.rst: Likewise. + * doc/gfortran/intrinsic-procedures/asinh.rst: Likewise. + * doc/gfortran/intrinsic-procedures/atan.rst: Likewise. + * doc/gfortran/intrinsic-procedures/atan2.rst: Likewise. + * doc/gfortran/intrinsic-procedures/atan2d.rst: Likewise. + * doc/gfortran/intrinsic-procedures/atand.rst: Likewise. + * doc/gfortran/intrinsic-procedures/atanh.rst: Likewise. + * doc/gfortran/intrinsic-procedures/besselj0.rst: Likewise. + * doc/gfortran/intrinsic-procedures/besselj1.rst: Likewise. + * doc/gfortran/intrinsic-procedures/besseljn.rst: Likewise. + * doc/gfortran/intrinsic-procedures/bessely0.rst: Likewise. + * doc/gfortran/intrinsic-procedures/bessely1.rst: Likewise. + * doc/gfortran/intrinsic-procedures/besselyn.rst: Likewise. + * doc/gfortran/intrinsic-procedures/btest.rst: Likewise. + * doc/gfortran/intrinsic-procedures/char.rst: Likewise. + * doc/gfortran/intrinsic-procedures/conjg.rst: Likewise. + * doc/gfortran/intrinsic-procedures/cos.rst: Likewise. + * doc/gfortran/intrinsic-procedures/cosd.rst: Likewise. + * doc/gfortran/intrinsic-procedures/cosh.rst: Likewise. + * doc/gfortran/intrinsic-procedures/cotan.rst: Likewise. + * doc/gfortran/intrinsic-procedures/cotand.rst: Likewise. + * doc/gfortran/intrinsic-procedures/dim.rst: Likewise. + * doc/gfortran/intrinsic-procedures/dprod.rst: Likewise. + * doc/gfortran/intrinsic-procedures/erf.rst: Likewise. + * doc/gfortran/intrinsic-procedures/erfc.rst: Likewise. + * doc/gfortran/intrinsic-procedures/exp.rst: Likewise. + * doc/gfortran/intrinsic-procedures/gamma.rst: Likewise. + * doc/gfortran/intrinsic-procedures/iand.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ibclr.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ibits.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ibset.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ichar.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ieor.rst: Likewise. + * doc/gfortran/intrinsic-procedures/index.rst: Likewise. + * doc/gfortran/intrinsic-procedures/int.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ior.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ishft.rst: Likewise. + * doc/gfortran/intrinsic-procedures/ishftc.rst: Likewise. + * doc/gfortran/intrinsic-procedures/len.rst: Likewise. + * doc/gfortran/intrinsic-procedures/lge.rst: Likewise. + * doc/gfortran/intrinsic-procedures/lgt.rst: Likewise. + * doc/gfortran/intrinsic-procedures/lle.rst: Likewise. + * doc/gfortran/intrinsic-procedures/llt.rst: Likewise. + * doc/gfortran/intrinsic-procedures/log.rst: Likewise. + * doc/gfortran/intrinsic-procedures/log10.rst: Likewise. + * doc/gfortran/intrinsic-procedures/loggamma.rst: Likewise. + * doc/gfortran/intrinsic-procedures/max.rst: Likewise. + * doc/gfortran/intrinsic-procedures/min.rst: Likewise. + * doc/gfortran/intrinsic-procedures/mod.rst: Likewise. + * doc/gfortran/intrinsic-procedures/mvbits.rst: Likewise. + * doc/gfortran/intrinsic-procedures/nint.rst: Likewise. + * doc/gfortran/intrinsic-procedures/not.rst: Likewise. + * doc/gfortran/intrinsic-procedures/real.rst: Likewise. + * doc/gfortran/intrinsic-procedures/sign.rst: Likewise. + * doc/gfortran/intrinsic-procedures/sin.rst: Likewise. + * doc/gfortran/intrinsic-procedures/sind.rst: Likewise. + * doc/gfortran/intrinsic-procedures/sinh.rst: Likewise. + * doc/gfortran/intrinsic-procedures/sqrt.rst: Likewise. + * doc/gfortran/intrinsic-procedures/tan.rst: Likewise. + * doc/gfortran/intrinsic-procedures/tand.rst: Likewise. + * doc/gfortran/intrinsic-procedures/tanh.rst: Likewise. + +2022-11-10 Martin Liska <mliska@suse.cz> + + * doc/gfc-internals/conf.py: Add newline at last line. + * doc/gfortran/conf.py: Add newline at last line. + +2022-11-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107559 + * resolve.cc (resolve_equivalence): Avoid NULL pointer dereference + while emitting diagnostics for bad EQUIVALENCEs. + +2022-11-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107441 + * trans-decl.cc (create_function_arglist): Adjust the ordering of + automatically generated hidden procedure arguments to match the + documented ABI for gfortran. + * trans-types.cc (gfc_get_function_type): Separate hidden parameters + so that the presence flag for optional+value arguments come before + string length, coarray token and offset, as required. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gfc-internals/code-that-interacts-with-the-user.rst: + Add trailing newline. + * doc/gfc-internals/command-line-options.rst: + Add trailing newline. + * doc/gfc-internals/copyright.rst: + Add trailing newline. + * doc/gfc-internals/error-handling.rst: + Add trailing newline. + * doc/gfc-internals/frontend-data-structures.rst: + Add trailing newline. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst: + Add trailing newline. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst: + Add trailing newline. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst: + Add trailing newline. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst: + Add trailing newline. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst: + Add trailing newline. + * doc/gfc-internals/gfccode.rst: + Add trailing newline. + * doc/gfc-internals/gfcexpr.rst: + Add trailing newline. + * doc/gfc-internals/gnu-free-documentation-license.rst: + Add trailing newline. + * doc/gfc-internals/index.rst: + Add trailing newline. + * doc/gfc-internals/indices-and-tables.rst: + Add trailing newline. + * doc/gfc-internals/internals-of-fortran-2003-oop-features.rst: + Add trailing newline. + * doc/gfc-internals/introduction.rst: + Add trailing newline. + * doc/gfc-internals/symbol-versioning.rst: + Add trailing newline. + * doc/gfc-internals/the-libgfortran-runtime-library.rst: + Add trailing newline. + * doc/gfc-internals/type-bound-operators.rst: + Add trailing newline. + * doc/gfc-internals/type-bound-procedures.rst: + Add trailing newline. + * doc/gfortran/about-gnu-fortran.rst: + Add trailing newline. + * doc/gfortran/coarray-programming.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/asynchronous-i-o.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/kind-type-parameters.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst: + Add trailing newline. + * doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst: + Add trailing newline. + * doc/gfortran/contributing.rst: + Add trailing newline. + * doc/gfortran/contributors-to-gnu-fortran.rst: + Add trailing newline. + * doc/gfortran/copyright.rst: + Add trailing newline. + * doc/gfortran/extensions-implemented-in-gnu-fortran.rst: + Add trailing newline. + * doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst: + Add trailing newline. + * doc/gfortran/extensions.rst: + Add trailing newline. + * doc/gfortran/function-abi-documentation.rst: + Add trailing newline. + * doc/gfortran/funding.rst: + Add trailing newline. + * doc/gfortran/general-public-license-3.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-and-gcc.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/description.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/option-summary.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst: + Add trailing newline. + * doc/gfortran/gnu-fortran-compiler-directives.rst: + Add trailing newline. + * doc/gfortran/gnu-free-documentation-license.rst: + Add trailing newline. + * doc/gfortran/index.rst: + Add trailing newline. + * doc/gfortran/indices-and-tables.rst: + Add trailing newline. + * doc/gfortran/interoperability-with-c.rst: + Add trailing newline. + * doc/gfortran/intrinsic-modules.rst: + Add trailing newline. + * doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst: + Add trailing newline. + * doc/gfortran/intrinsic-modules/isocbinding.rst: + Add trailing newline. + * doc/gfortran/intrinsic-modules/isofortranenv.rst: + Add trailing newline. + * doc/gfortran/intrinsic-modules/openacc-module-openacc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/abort.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/abs.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/access.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/achar.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/acos.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/acosd.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/acosh.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/adjustl.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/adjustr.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/aimag.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/alarm.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/all.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/allocated.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/and.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/any.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/asin.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/asind.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/asinh.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/associated.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atan.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atan2.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atan2d.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atanh.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicadd.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomiccas.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicdefine.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicfetchadd.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicfetchand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicfetchor.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicfetchxor.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicor.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicref.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/atomicxor.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/backtrace.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/besselj0.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/besselj1.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/besseljn.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/bessely0.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/bessely1.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/besselyn.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/bge.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/bgt.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/bitsize.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ble.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/blt.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/btest.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cassociated.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ceiling.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cfpointer.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cfprocpointer.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cfunloc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/chdir.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/chmod.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cloc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cmplx.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cobroadcast.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/comax.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/comin.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/commandargumentcount.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/compileroptions.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/compilerversion.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/complex.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/conjg.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/coreduce.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cos.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cosd.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cosh.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cosum.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cotan.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cotand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/count.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cputime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/cshift.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/csizeof.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ctime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dateandtime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dble.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dcmplx.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/digits.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dim.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dotproduct.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dprod.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dreal.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dshiftl.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dshiftr.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/dtime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/eoshift.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/epsilon.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/erf.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/erfc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/erfcscaled.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/etime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/eventquery.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/executecommandline.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/exit.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/exp.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/exponent.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/extendstypeof.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fdate.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fget.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fgetc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/findloc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/floor.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/flush.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fnum.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fput.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fputc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fraction.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/free.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fseek.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/fstat.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ftell.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/gamma.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/gerror.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getarg.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getcommand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getcommandargument.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getcwd.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getenv.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getgid.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getlog.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getpid.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/getuid.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/gmtime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/hostnm.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/huge.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/hypot.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/iachar.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/iall.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/iand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/iany.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/iargc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ibclr.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ibits.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ibset.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ichar.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/idate.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ieor.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ierrno.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/imageindex.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/index.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/int2.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/int8.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ior.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/iparity.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/irand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/isatty.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/iscontiguous.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ishft.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ishftc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/isiostatend.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/isiostateor.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/isnan.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/itime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/kill.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/kind.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lbound.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lcobound.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/leadz.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/len.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lentrim.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lge.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lgt.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/link.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lle.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/llt.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lnblnk.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/loc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/log.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/log10.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/loggamma.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/logical.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lshift.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/lstat.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ltime.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/malloc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/maskl.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/maskr.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/matmul.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/max.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/maxexponent.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/maxloc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/maxval.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/mclock.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/mclock8.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/merge.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/mergebits.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/min.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/minexponent.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/minloc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/minval.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/mod.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/modulo.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/movealloc.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/mvbits.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/nearest.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/newline.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/nint.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/norm2.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/not.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/null.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/numimages.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/or.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/pack.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/parity.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/perror.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/popcnt.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/poppar.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/precision.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/present.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/product.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/radix.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ran.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/rand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/randominit.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/randomnumber.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/randomseed.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/range.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/rank.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/rename.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/repeat.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/reshape.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/rrspacing.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/rshift.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sametypeas.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/scale.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/scan.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/secnds.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/second.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/selectedcharkind.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/selectedintkind.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/selectedrealkind.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/setexponent.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/shape.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/shifta.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/shiftl.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/shiftr.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sign.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/signal.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sin.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sind.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sinh.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/size.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sizeof.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sleep.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/spacing.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/spread.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sqrt.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/srand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/stat.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/storagesize.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/sum.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/symlnk.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/system.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/systemclock.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/tan.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/tand.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/tanh.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/thisimage.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/time.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/time8.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/tiny.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/trailz.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/transfer.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/transpose.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/trim.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ttynam.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ubound.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/ucobound.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/umask.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/unlink.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/unpack.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/verify.rst: + Add trailing newline. + * doc/gfortran/intrinsic-procedures/xor.rst: + Add trailing newline. + * doc/gfortran/introduction.rst: + Add trailing newline. + * doc/gfortran/mixed-language-programming.rst: + Add trailing newline. + * doc/gfortran/naming-and-argument-passing-conventions.rst: + Add trailing newline. + * doc/gfortran/non-fortran-main-program.rst: + Add trailing newline. + * doc/gfortran/projects.rst: + Add trailing newline. + * doc/gfortran/runtime.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranconvertunit.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranerrorbacktrace.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranformattedbuffersize.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranlistseparator.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranoptionalplus.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranshowlocus.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranstderrunit.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranstdinunit.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranstdoutunit.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranunbufferedall.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranunbufferedpreconnected.rst: + Add trailing newline. + * doc/gfortran/runtime/gfortranunformattedbuffersize.rst: + Add trailing newline. + * doc/gfortran/runtime/tmpdir.rst: + Add trailing newline. + * doc/gfortran/standards.rst: + Add trailing newline. + * doc/gfortran/type-and-enum-abi-documentation.rst: + Add trailing newline. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gfortran/intrinsic-procedures/aint.rst: Simplify function + declaration. + * doc/gfortran/intrinsic-procedures/int.rst: Likewise. + * doc/gfortran/intrinsic-procedures/anint.rst: Likewise. + * doc/gfortran/intrinsic-procedures/char.rst: Likewise. + * doc/gfortran/intrinsic-procedures/real.rst: Likewise. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * Make-lang.in: + Support installation if sphinx-build is missing. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * Make-lang.in: Support --with-sphinx-build. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * gfc-internals.texi: Removed. + * gfortran.texi: Removed. + * intrinsic.texi: Removed. + * invoke.texi: Removed. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * Make-lang.in: Support Sphinx based documentation. + +2022-11-09 Martin Liska <mliska@suse.cz> + + * doc/gfc-internals/code-that-interacts-with-the-user.rst: New file. + * doc/gfc-internals/command-line-options.rst: New file. + * doc/gfc-internals/conf.py: New file. + * doc/gfc-internals/copyright.rst: New file. + * doc/gfc-internals/error-handling.rst: New file. + * doc/gfc-internals/frontend-data-structures.rst: New file. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst: New file. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst: + New file. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst: + New file. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst: + New file. + * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst: + New file. + * doc/gfc-internals/gfccode.rst: New file. + * doc/gfc-internals/gfcexpr.rst: New file. + * doc/gfc-internals/gnu-free-documentation-license.rst: New file. + * doc/gfc-internals/index.rst: New file. + * doc/gfc-internals/indices-and-tables.rst: New file. + * doc/gfc-internals/internals-of-fortran-2003-oop-features.rst: New file. + * doc/gfc-internals/introduction.rst: New file. + * doc/gfc-internals/symbol-versioning.rst: New file. + * doc/gfc-internals/the-libgfortran-runtime-library.rst: New file. + * doc/gfc-internals/type-bound-operators.rst: New file. + * doc/gfc-internals/type-bound-procedures.rst: New file. + * doc/gfortran/about-gnu-fortran.rst: New file. + * doc/gfortran/coarray-programming.rst: New file. + * doc/gfortran/compiler-characteristics.rst: New file. + * doc/gfortran/compiler-characteristics/asynchronous-i-o.rst: New file. + * doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst: New file. + * doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst: New file. + * doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst: + New file. + * doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst: New file. + * doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst: + New file. + * doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst: + New file. + * doc/gfortran/compiler-characteristics/kind-type-parameters.rst: New file. + * doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst: + New file. + * doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst: New file. + * doc/gfortran/conf.py: New file. + * doc/gfortran/contributing.rst: New file. + * doc/gfortran/contributors-to-gnu-fortran.rst: New file. + * doc/gfortran/copyright.rst: New file. + * doc/gfortran/extensions-implemented-in-gnu-fortran.rst: New file. + * doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst: New file. + * doc/gfortran/extensions.rst: New file. + * doc/gfortran/function-abi-documentation.rst: New file. + * doc/gfortran/funding.rst: New file. + * doc/gfortran/general-public-license-3.rst: New file. + * doc/gfortran/gnu-fortran-and-gcc.rst: New file. + * doc/gfortran/gnu-fortran-command-options.rst: New file. + * doc/gfortran/gnu-fortran-command-options/description.rst: New file. + * doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst: New file. + * doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst: + New file. + * doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst: New file. + * doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst: New file. + * doc/gfortran/gnu-fortran-command-options/option-summary.rst: New file. + * doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst: + New file. + * doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst: + New file. + * doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst: + New file. + * doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst: New file. + * doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst: + New file. + * doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst: + New file. + * doc/gfortran/gnu-fortran-compiler-directives.rst: New file. + * doc/gfortran/gnu-free-documentation-license.rst: New file. + * doc/gfortran/index.rst: New file. + * doc/gfortran/indices-and-tables.rst: New file. + * doc/gfortran/interoperability-with-c.rst: New file. + * doc/gfortran/intrinsic-modules.rst: New file. + * doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst: + New file. + * doc/gfortran/intrinsic-modules/isocbinding.rst: New file. + * doc/gfortran/intrinsic-modules/isofortranenv.rst: New file. + * doc/gfortran/intrinsic-modules/openacc-module-openacc.rst: New file. + * doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst: New file. + * doc/gfortran/intrinsic-procedures.rst: New file. + * doc/gfortran/intrinsic-procedures/abort.rst: New file. + * doc/gfortran/intrinsic-procedures/abs.rst: New file. + * doc/gfortran/intrinsic-procedures/access.rst: New file. + * doc/gfortran/intrinsic-procedures/achar.rst: New file. + * doc/gfortran/intrinsic-procedures/acos.rst: New file. + * doc/gfortran/intrinsic-procedures/acosd.rst: New file. + * doc/gfortran/intrinsic-procedures/acosh.rst: New file. + * doc/gfortran/intrinsic-procedures/adjustl.rst: New file. + * doc/gfortran/intrinsic-procedures/adjustr.rst: New file. + * doc/gfortran/intrinsic-procedures/aimag.rst: New file. + * doc/gfortran/intrinsic-procedures/aint.rst: New file. + * doc/gfortran/intrinsic-procedures/alarm.rst: New file. + * doc/gfortran/intrinsic-procedures/all.rst: New file. + * doc/gfortran/intrinsic-procedures/allocated.rst: New file. + * doc/gfortran/intrinsic-procedures/and.rst: New file. + * doc/gfortran/intrinsic-procedures/anint.rst: New file. + * doc/gfortran/intrinsic-procedures/any.rst: New file. + * doc/gfortran/intrinsic-procedures/asin.rst: New file. + * doc/gfortran/intrinsic-procedures/asind.rst: New file. + * doc/gfortran/intrinsic-procedures/asinh.rst: New file. + * doc/gfortran/intrinsic-procedures/associated.rst: New file. + * doc/gfortran/intrinsic-procedures/atan.rst: New file. + * doc/gfortran/intrinsic-procedures/atan2.rst: New file. + * doc/gfortran/intrinsic-procedures/atan2d.rst: New file. + * doc/gfortran/intrinsic-procedures/atand.rst: New file. + * doc/gfortran/intrinsic-procedures/atanh.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicadd.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicand.rst: New file. + * doc/gfortran/intrinsic-procedures/atomiccas.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicdefine.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicfetchadd.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicfetchand.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicfetchor.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicfetchxor.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicor.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicref.rst: New file. + * doc/gfortran/intrinsic-procedures/atomicxor.rst: New file. + * doc/gfortran/intrinsic-procedures/backtrace.rst: New file. + * doc/gfortran/intrinsic-procedures/besselj0.rst: New file. + * doc/gfortran/intrinsic-procedures/besselj1.rst: New file. + * doc/gfortran/intrinsic-procedures/besseljn.rst: New file. + * doc/gfortran/intrinsic-procedures/bessely0.rst: New file. + * doc/gfortran/intrinsic-procedures/bessely1.rst: New file. + * doc/gfortran/intrinsic-procedures/besselyn.rst: New file. + * doc/gfortran/intrinsic-procedures/bge.rst: New file. + * doc/gfortran/intrinsic-procedures/bgt.rst: New file. + * doc/gfortran/intrinsic-procedures/bitsize.rst: New file. + * doc/gfortran/intrinsic-procedures/ble.rst: New file. + * doc/gfortran/intrinsic-procedures/blt.rst: New file. + * doc/gfortran/intrinsic-procedures/btest.rst: New file. + * doc/gfortran/intrinsic-procedures/cassociated.rst: New file. + * doc/gfortran/intrinsic-procedures/ceiling.rst: New file. + * doc/gfortran/intrinsic-procedures/cfpointer.rst: New file. + * doc/gfortran/intrinsic-procedures/cfprocpointer.rst: New file. + * doc/gfortran/intrinsic-procedures/cfunloc.rst: New file. + * doc/gfortran/intrinsic-procedures/char.rst: New file. + * doc/gfortran/intrinsic-procedures/chdir.rst: New file. + * doc/gfortran/intrinsic-procedures/chmod.rst: New file. + * doc/gfortran/intrinsic-procedures/cloc.rst: New file. + * doc/gfortran/intrinsic-procedures/cmplx.rst: New file. + * doc/gfortran/intrinsic-procedures/cobroadcast.rst: New file. + * doc/gfortran/intrinsic-procedures/comax.rst: New file. + * doc/gfortran/intrinsic-procedures/comin.rst: New file. + * doc/gfortran/intrinsic-procedures/commandargumentcount.rst: New file. + * doc/gfortran/intrinsic-procedures/compileroptions.rst: New file. + * doc/gfortran/intrinsic-procedures/compilerversion.rst: New file. + * doc/gfortran/intrinsic-procedures/complex.rst: New file. + * doc/gfortran/intrinsic-procedures/conjg.rst: New file. + * doc/gfortran/intrinsic-procedures/coreduce.rst: New file. + * doc/gfortran/intrinsic-procedures/cos.rst: New file. + * doc/gfortran/intrinsic-procedures/cosd.rst: New file. + * doc/gfortran/intrinsic-procedures/cosh.rst: New file. + * doc/gfortran/intrinsic-procedures/cosum.rst: New file. + * doc/gfortran/intrinsic-procedures/cotan.rst: New file. + * doc/gfortran/intrinsic-procedures/cotand.rst: New file. + * doc/gfortran/intrinsic-procedures/count.rst: New file. + * doc/gfortran/intrinsic-procedures/cputime.rst: New file. + * doc/gfortran/intrinsic-procedures/cshift.rst: New file. + * doc/gfortran/intrinsic-procedures/csizeof.rst: New file. + * doc/gfortran/intrinsic-procedures/ctime.rst: New file. + * doc/gfortran/intrinsic-procedures/dateandtime.rst: New file. + * doc/gfortran/intrinsic-procedures/dble.rst: New file. + * doc/gfortran/intrinsic-procedures/dcmplx.rst: New file. + * doc/gfortran/intrinsic-procedures/digits.rst: New file. + * doc/gfortran/intrinsic-procedures/dim.rst: New file. + * doc/gfortran/intrinsic-procedures/dotproduct.rst: New file. + * doc/gfortran/intrinsic-procedures/dprod.rst: New file. + * doc/gfortran/intrinsic-procedures/dreal.rst: New file. + * doc/gfortran/intrinsic-procedures/dshiftl.rst: New file. + * doc/gfortran/intrinsic-procedures/dshiftr.rst: New file. + * doc/gfortran/intrinsic-procedures/dtime.rst: New file. + * doc/gfortran/intrinsic-procedures/eoshift.rst: New file. + * doc/gfortran/intrinsic-procedures/epsilon.rst: New file. + * doc/gfortran/intrinsic-procedures/erf.rst: New file. + * doc/gfortran/intrinsic-procedures/erfc.rst: New file. + * doc/gfortran/intrinsic-procedures/erfcscaled.rst: New file. + * doc/gfortran/intrinsic-procedures/etime.rst: New file. + * doc/gfortran/intrinsic-procedures/eventquery.rst: New file. + * doc/gfortran/intrinsic-procedures/executecommandline.rst: New file. + * doc/gfortran/intrinsic-procedures/exit.rst: New file. + * doc/gfortran/intrinsic-procedures/exp.rst: New file. + * doc/gfortran/intrinsic-procedures/exponent.rst: New file. + * doc/gfortran/intrinsic-procedures/extendstypeof.rst: New file. + * doc/gfortran/intrinsic-procedures/fdate.rst: New file. + * doc/gfortran/intrinsic-procedures/fget.rst: New file. + * doc/gfortran/intrinsic-procedures/fgetc.rst: New file. + * doc/gfortran/intrinsic-procedures/findloc.rst: New file. + * doc/gfortran/intrinsic-procedures/floor.rst: New file. + * doc/gfortran/intrinsic-procedures/flush.rst: New file. + * doc/gfortran/intrinsic-procedures/fnum.rst: New file. + * doc/gfortran/intrinsic-procedures/fput.rst: New file. + * doc/gfortran/intrinsic-procedures/fputc.rst: New file. + * doc/gfortran/intrinsic-procedures/fraction.rst: New file. + * doc/gfortran/intrinsic-procedures/free.rst: New file. + * doc/gfortran/intrinsic-procedures/fseek.rst: New file. + * doc/gfortran/intrinsic-procedures/fstat.rst: New file. + * doc/gfortran/intrinsic-procedures/ftell.rst: New file. + * doc/gfortran/intrinsic-procedures/gamma.rst: New file. + * doc/gfortran/intrinsic-procedures/gerror.rst: New file. + * doc/gfortran/intrinsic-procedures/getarg.rst: New file. + * doc/gfortran/intrinsic-procedures/getcommand.rst: New file. + * doc/gfortran/intrinsic-procedures/getcommandargument.rst: New file. + * doc/gfortran/intrinsic-procedures/getcwd.rst: New file. + * doc/gfortran/intrinsic-procedures/getenv.rst: New file. + * doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst: New file. + * doc/gfortran/intrinsic-procedures/getgid.rst: New file. + * doc/gfortran/intrinsic-procedures/getlog.rst: New file. + * doc/gfortran/intrinsic-procedures/getpid.rst: New file. + * doc/gfortran/intrinsic-procedures/getuid.rst: New file. + * doc/gfortran/intrinsic-procedures/gmtime.rst: New file. + * doc/gfortran/intrinsic-procedures/hostnm.rst: New file. + * doc/gfortran/intrinsic-procedures/huge.rst: New file. + * doc/gfortran/intrinsic-procedures/hypot.rst: New file. + * doc/gfortran/intrinsic-procedures/iachar.rst: New file. + * doc/gfortran/intrinsic-procedures/iall.rst: New file. + * doc/gfortran/intrinsic-procedures/iand.rst: New file. + * doc/gfortran/intrinsic-procedures/iany.rst: New file. + * doc/gfortran/intrinsic-procedures/iargc.rst: New file. + * doc/gfortran/intrinsic-procedures/ibclr.rst: New file. + * doc/gfortran/intrinsic-procedures/ibits.rst: New file. + * doc/gfortran/intrinsic-procedures/ibset.rst: New file. + * doc/gfortran/intrinsic-procedures/ichar.rst: New file. + * doc/gfortran/intrinsic-procedures/idate.rst: New file. + * doc/gfortran/intrinsic-procedures/ieor.rst: New file. + * doc/gfortran/intrinsic-procedures/ierrno.rst: New file. + * doc/gfortran/intrinsic-procedures/imageindex.rst: New file. + * doc/gfortran/intrinsic-procedures/index.rst: New file. + * doc/gfortran/intrinsic-procedures/int.rst: New file. + * doc/gfortran/intrinsic-procedures/int2.rst: New file. + * doc/gfortran/intrinsic-procedures/int8.rst: New file. + * doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst: New file. + * doc/gfortran/intrinsic-procedures/ior.rst: New file. + * doc/gfortran/intrinsic-procedures/iparity.rst: New file. + * doc/gfortran/intrinsic-procedures/irand.rst: New file. + * doc/gfortran/intrinsic-procedures/isatty.rst: New file. + * doc/gfortran/intrinsic-procedures/iscontiguous.rst: New file. + * doc/gfortran/intrinsic-procedures/ishft.rst: New file. + * doc/gfortran/intrinsic-procedures/ishftc.rst: New file. + * doc/gfortran/intrinsic-procedures/isiostatend.rst: New file. + * doc/gfortran/intrinsic-procedures/isiostateor.rst: New file. + * doc/gfortran/intrinsic-procedures/isnan.rst: New file. + * doc/gfortran/intrinsic-procedures/itime.rst: New file. + * doc/gfortran/intrinsic-procedures/kill.rst: New file. + * doc/gfortran/intrinsic-procedures/kind.rst: New file. + * doc/gfortran/intrinsic-procedures/lbound.rst: New file. + * doc/gfortran/intrinsic-procedures/lcobound.rst: New file. + * doc/gfortran/intrinsic-procedures/leadz.rst: New file. + * doc/gfortran/intrinsic-procedures/len.rst: New file. + * doc/gfortran/intrinsic-procedures/lentrim.rst: New file. + * doc/gfortran/intrinsic-procedures/lge.rst: New file. + * doc/gfortran/intrinsic-procedures/lgt.rst: New file. + * doc/gfortran/intrinsic-procedures/link.rst: New file. + * doc/gfortran/intrinsic-procedures/lle.rst: New file. + * doc/gfortran/intrinsic-procedures/llt.rst: New file. + * doc/gfortran/intrinsic-procedures/lnblnk.rst: New file. + * doc/gfortran/intrinsic-procedures/loc.rst: New file. + * doc/gfortran/intrinsic-procedures/log.rst: New file. + * doc/gfortran/intrinsic-procedures/log10.rst: New file. + * doc/gfortran/intrinsic-procedures/loggamma.rst: New file. + * doc/gfortran/intrinsic-procedures/logical.rst: New file. + * doc/gfortran/intrinsic-procedures/lshift.rst: New file. + * doc/gfortran/intrinsic-procedures/lstat.rst: New file. + * doc/gfortran/intrinsic-procedures/ltime.rst: New file. + * doc/gfortran/intrinsic-procedures/malloc.rst: New file. + * doc/gfortran/intrinsic-procedures/maskl.rst: New file. + * doc/gfortran/intrinsic-procedures/maskr.rst: New file. + * doc/gfortran/intrinsic-procedures/matmul.rst: New file. + * doc/gfortran/intrinsic-procedures/max.rst: New file. + * doc/gfortran/intrinsic-procedures/maxexponent.rst: New file. + * doc/gfortran/intrinsic-procedures/maxloc.rst: New file. + * doc/gfortran/intrinsic-procedures/maxval.rst: New file. + * doc/gfortran/intrinsic-procedures/mclock.rst: New file. + * doc/gfortran/intrinsic-procedures/mclock8.rst: New file. + * doc/gfortran/intrinsic-procedures/merge.rst: New file. + * doc/gfortran/intrinsic-procedures/mergebits.rst: New file. + * doc/gfortran/intrinsic-procedures/min.rst: New file. + * doc/gfortran/intrinsic-procedures/minexponent.rst: New file. + * doc/gfortran/intrinsic-procedures/minloc.rst: New file. + * doc/gfortran/intrinsic-procedures/minval.rst: New file. + * doc/gfortran/intrinsic-procedures/mod.rst: New file. + * doc/gfortran/intrinsic-procedures/modulo.rst: New file. + * doc/gfortran/intrinsic-procedures/movealloc.rst: New file. + * doc/gfortran/intrinsic-procedures/mvbits.rst: New file. + * doc/gfortran/intrinsic-procedures/nearest.rst: New file. + * doc/gfortran/intrinsic-procedures/newline.rst: New file. + * doc/gfortran/intrinsic-procedures/nint.rst: New file. + * doc/gfortran/intrinsic-procedures/norm2.rst: New file. + * doc/gfortran/intrinsic-procedures/not.rst: New file. + * doc/gfortran/intrinsic-procedures/null.rst: New file. + * doc/gfortran/intrinsic-procedures/numimages.rst: New file. + * doc/gfortran/intrinsic-procedures/or.rst: New file. + * doc/gfortran/intrinsic-procedures/pack.rst: New file. + * doc/gfortran/intrinsic-procedures/parity.rst: New file. + * doc/gfortran/intrinsic-procedures/perror.rst: New file. + * doc/gfortran/intrinsic-procedures/popcnt.rst: New file. + * doc/gfortran/intrinsic-procedures/poppar.rst: New file. + * doc/gfortran/intrinsic-procedures/precision.rst: New file. + * doc/gfortran/intrinsic-procedures/present.rst: New file. + * doc/gfortran/intrinsic-procedures/product.rst: New file. + * doc/gfortran/intrinsic-procedures/radix.rst: New file. + * doc/gfortran/intrinsic-procedures/ran.rst: New file. + * doc/gfortran/intrinsic-procedures/rand.rst: New file. + * doc/gfortran/intrinsic-procedures/randominit.rst: New file. + * doc/gfortran/intrinsic-procedures/randomnumber.rst: New file. + * doc/gfortran/intrinsic-procedures/randomseed.rst: New file. + * doc/gfortran/intrinsic-procedures/range.rst: New file. + * doc/gfortran/intrinsic-procedures/rank.rst: New file. + * doc/gfortran/intrinsic-procedures/real.rst: New file. + * doc/gfortran/intrinsic-procedures/rename.rst: New file. + * doc/gfortran/intrinsic-procedures/repeat.rst: New file. + * doc/gfortran/intrinsic-procedures/reshape.rst: New file. + * doc/gfortran/intrinsic-procedures/rrspacing.rst: New file. + * doc/gfortran/intrinsic-procedures/rshift.rst: New file. + * doc/gfortran/intrinsic-procedures/sametypeas.rst: New file. + * doc/gfortran/intrinsic-procedures/scale.rst: New file. + * doc/gfortran/intrinsic-procedures/scan.rst: New file. + * doc/gfortran/intrinsic-procedures/secnds.rst: New file. + * doc/gfortran/intrinsic-procedures/second.rst: New file. + * doc/gfortran/intrinsic-procedures/selectedcharkind.rst: New file. + * doc/gfortran/intrinsic-procedures/selectedintkind.rst: New file. + * doc/gfortran/intrinsic-procedures/selectedrealkind.rst: New file. + * doc/gfortran/intrinsic-procedures/setexponent.rst: New file. + * doc/gfortran/intrinsic-procedures/shape.rst: New file. + * doc/gfortran/intrinsic-procedures/shifta.rst: New file. + * doc/gfortran/intrinsic-procedures/shiftl.rst: New file. + * doc/gfortran/intrinsic-procedures/shiftr.rst: New file. + * doc/gfortran/intrinsic-procedures/sign.rst: New file. + * doc/gfortran/intrinsic-procedures/signal.rst: New file. + * doc/gfortran/intrinsic-procedures/sin.rst: New file. + * doc/gfortran/intrinsic-procedures/sind.rst: New file. + * doc/gfortran/intrinsic-procedures/sinh.rst: New file. + * doc/gfortran/intrinsic-procedures/size.rst: New file. + * doc/gfortran/intrinsic-procedures/sizeof.rst: New file. + * doc/gfortran/intrinsic-procedures/sleep.rst: New file. + * doc/gfortran/intrinsic-procedures/spacing.rst: New file. + * doc/gfortran/intrinsic-procedures/spread.rst: New file. + * doc/gfortran/intrinsic-procedures/sqrt.rst: New file. + * doc/gfortran/intrinsic-procedures/srand.rst: New file. + * doc/gfortran/intrinsic-procedures/stat.rst: New file. + * doc/gfortran/intrinsic-procedures/storagesize.rst: New file. + * doc/gfortran/intrinsic-procedures/sum.rst: New file. + * doc/gfortran/intrinsic-procedures/symlnk.rst: New file. + * doc/gfortran/intrinsic-procedures/system.rst: New file. + * doc/gfortran/intrinsic-procedures/systemclock.rst: New file. + * doc/gfortran/intrinsic-procedures/tan.rst: New file. + * doc/gfortran/intrinsic-procedures/tand.rst: New file. + * doc/gfortran/intrinsic-procedures/tanh.rst: New file. + * doc/gfortran/intrinsic-procedures/thisimage.rst: New file. + * doc/gfortran/intrinsic-procedures/time.rst: New file. + * doc/gfortran/intrinsic-procedures/time8.rst: New file. + * doc/gfortran/intrinsic-procedures/tiny.rst: New file. + * doc/gfortran/intrinsic-procedures/trailz.rst: New file. + * doc/gfortran/intrinsic-procedures/transfer.rst: New file. + * doc/gfortran/intrinsic-procedures/transpose.rst: New file. + * doc/gfortran/intrinsic-procedures/trim.rst: New file. + * doc/gfortran/intrinsic-procedures/ttynam.rst: New file. + * doc/gfortran/intrinsic-procedures/ubound.rst: New file. + * doc/gfortran/intrinsic-procedures/ucobound.rst: New file. + * doc/gfortran/intrinsic-procedures/umask.rst: New file. + * doc/gfortran/intrinsic-procedures/unlink.rst: New file. + * doc/gfortran/intrinsic-procedures/unpack.rst: New file. + * doc/gfortran/intrinsic-procedures/verify.rst: New file. + * doc/gfortran/intrinsic-procedures/xor.rst: New file. + * doc/gfortran/introduction.rst: New file. + * doc/gfortran/mixed-language-programming.rst: New file. + * doc/gfortran/naming-and-argument-passing-conventions.rst: New file. + * doc/gfortran/non-fortran-main-program.rst: New file. + * doc/gfortran/projects.rst: New file. + * doc/gfortran/runtime.rst: New file. + * doc/gfortran/runtime/gfortranconvertunit.rst: New file. + * doc/gfortran/runtime/gfortranerrorbacktrace.rst: New file. + * doc/gfortran/runtime/gfortranformattedbuffersize.rst: New file. + * doc/gfortran/runtime/gfortranlistseparator.rst: New file. + * doc/gfortran/runtime/gfortranoptionalplus.rst: New file. + * doc/gfortran/runtime/gfortranshowlocus.rst: New file. + * doc/gfortran/runtime/gfortranstderrunit.rst: New file. + * doc/gfortran/runtime/gfortranstdinunit.rst: New file. + * doc/gfortran/runtime/gfortranstdoutunit.rst: New file. + * doc/gfortran/runtime/gfortranunbufferedall.rst: New file. + * doc/gfortran/runtime/gfortranunbufferedpreconnected.rst: New file. + * doc/gfortran/runtime/gfortranunformattedbuffersize.rst: New file. + * doc/gfortran/runtime/tmpdir.rst: New file. + * doc/gfortran/standards.rst: New file. + * doc/gfortran/type-and-enum-abi-documentation.rst: New file. + +2022-11-07 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/107508 + * trans-array.cc (gfc_alloc_allocatable_for_assignment): Fix + string-length check, plug memory leak, and avoid generation of + effectively no-op code. + * trans-expr.cc (alloc_scalar_allocatable_for_assignment): Extend + comment; minor cleanup. + +2022-11-03 Tobias Burnus <tobias@codesourcery.com> + + * openmp.cc (gfc_match_omp_clauses): Permit derived types for + the 'to' and 'from' clauses of 'target update'. + * trans-openmp.cc (gfc_trans_omp_clauses): Fixes for + derived-type changes; fix size for scalars. + +2022-10-28 Joseph Myers <joseph@codesourcery.com> + + * trans-types.cc (gfc_get_function_type): Do not use + build_varargs_function_type_vec for unprototyped function. + +2022-10-26 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103413 + * symbol.cc (gfc_type_compatible): A boz-literal-constant has no type + and thus is not considered compatible to any type. + +2022-10-21 José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/100097 + PR fortran/100098 + * trans-array.cc (gfc_trans_class_array): New function to + initialize class descriptor's TKR information. + * trans-array.h (gfc_trans_class_array): Add function prototype. + * trans-decl.cc (gfc_trans_deferred_vars): Add calls to the new + function for both pointers and allocatables. + +2022-10-20 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/105633 + * expr.cc (find_array_section): Move check for NULL pointers so + that both subscript triplets and vector subscripts are covered. + +2022-10-17 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/104330 + * simplify.cc (gfc_simplify_image_index): Do not dereference NULL + pointer. + +2022-10-17 Harald Anlauf <anlauf@gmx.de> + Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/93483 + PR fortran/107216 + PR fortran/107219 + * arith.cc (reduce_unary): Handled expressions are EXP_CONSTANT and + EXPR_ARRAY. Do not attempt to reduce otherwise. + (reduce_binary_ac): Likewise. + (reduce_binary_ca): Likewise. + (reduce_binary_aa): Moved check for EXP_CONSTANT and EXPR_ARRAY + from here ... + (reduce_binary): ... to here. + (eval_intrinsic): Catch failed reductions. + * gfortran.h (GFC_INTRINSIC_OPS): New enum ARITH_NOT_REDUCED to keep + track of expressions that were not reduced by the arithmetic evaluation + code. + +2022-10-17 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107272 + * arith.cc (gfc_arith_not): Operand must be of type BT_LOGICAL. + (gfc_arith_and): Likewise. + (gfc_arith_or): Likewise. + (gfc_arith_eqv): Likewise. + (gfc_arith_neqv): Likewise. + (gfc_arith_eq): Compare consistency of types of operands. + (gfc_arith_ne): Likewise. + (gfc_arith_gt): Likewise. + (gfc_arith_ge): Likewise. + (gfc_arith_lt): Likewise. + (gfc_arith_le): Likewise. + +2022-10-17 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/107266 + * trans-expr.cc (gfc_conv_string_parameter): Use passed + type to honor character kind. + * trans-types.cc (gfc_sym_type): Honor character kind. + * trans-decl.cc (gfc_conv_cfi_to_gfc): Fix handling kind=4 + character strings. + +2022-10-14 Harald Anlauf <anlauf@gmx.de> + + PR fortran/100971 + * resolve.cc (resolve_transfer): Extend check for permissibility + of polymorphic elements in a data transfer to arrays. + +2022-10-12 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107217 + * arith.cc (gfc_arith_plus): Compare consistency of types of operands. + (gfc_arith_minus): Likewise. + (gfc_arith_times): Likewise. + (gfc_arith_divide): Likewise. + (arith_power): Check that both operands are of numeric type. + +2022-10-11 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107215 + * arith.cc (gfc_int2int): Check validity of type of source expr. + (gfc_int2real): Likewise. + (gfc_int2complex): Likewise. + (gfc_real2int): Likewise. + (gfc_real2real): Likewise. + (gfc_complex2int): Likewise. + (gfc_complex2real): Likewise. + (gfc_complex2complex): Likewise. + (gfc_log2log): Likewise. + (gfc_log2int): Likewise. + (gfc_int2log): Likewise. + +2022-10-10 Jakub Jelinek <jakub@redhat.com> + + * trans-openmp.cc (gfc_trans_omp_assume): Use create_tmp_var_raw + instead of gfc_create_var for TARGET_EXPR slot creation. Create it + with boolean_type_node and convert. + +2022-10-08 Harald Anlauf <anlauf@gmx.de> + Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/107000 + * arith.cc (gfc_arith_error): Define error message for + ARITH_INVALID_TYPE. + (reduce_unary): Catch arithmetic expressions with invalid type. + (reduce_binary_ac): Likewise. + (reduce_binary_ca): Likewise. + (reduce_binary_aa): Likewise. + (eval_intrinsic): Likewise. + (gfc_real2complex): Source expression must be of type REAL. + * gfortran.h (enum arith): Add ARITH_INVALID_TYPE. + +2022-10-06 Tobias Burnus <tobias@codesourcery.com> + + * trans-openmp.cc (gfc_trans_omp_assume): New. + (gfc_trans_omp_directive): Call it. + +2022-10-05 Tobias Burnus <tobias@codesourcery.com> + + * dump-parse-tree.cc (show_omp_assumes): New. + (show_omp_clauses, show_namespace): Call it. + (show_omp_node, show_code_node): Handle OpenMP ASSUME. + * gfortran.h (enum gfc_statement): Add ST_OMP_ASSUME, + ST_OMP_END_ASSUME, ST_OMP_ASSUMES and ST_NOTHING. + (gfc_exec_op): Add EXEC_OMP_ASSUME. + (gfc_omp_assumptions): New struct. + (gfc_get_omp_assumptions): New XCNEW #define. + (gfc_omp_clauses, gfc_namespace): Add assume member. + (gfc_resolve_omp_assumptions): New prototype. + * match.h (gfc_match_omp_assume, gfc_match_omp_assumes): New. + * openmp.cc (omp_code_to_statement): Forward declare. + (enum gfc_omp_directive_kind, struct gfc_omp_directive): New. + (gfc_free_omp_clauses): Free assume member and its struct data. + (enum omp_mask2): Add OMP_CLAUSE_ASSUMPTIONS. + (gfc_omp_absent_contains_clause): New. + (gfc_match_omp_clauses): Call it; optionally use passed + omp_clauses argument. + (omp_verify_merge_absent_contains, gfc_match_omp_assume, + gfc_match_omp_assumes, gfc_resolve_omp_assumptions): New. + (resolve_omp_clauses): Call the latter. + (gfc_resolve_omp_directive, omp_code_to_statement): Handle + EXEC_OMP_ASSUME. + * parse.cc (decode_omp_directive): Parse OpenMP ASSUME(S). + (next_statement, parse_executable, parse_omp_structured_block): + Handle ST_OMP_ASSUME. + (case_omp_decl): Add ST_OMP_ASSUMES. + (gfc_ascii_statement): Handle Assumes, optional return + string without '!$OMP '/'!$ACC ' prefix. + * parse.h (gfc_ascii_statement): Add optional bool arg to prototype. + * resolve.cc (gfc_resolve_blocks, gfc_resolve_code): Add + EXEC_OMP_ASSUME. + (gfc_resolve): Resolve ASSUMES directive. + * symbol.cc (gfc_free_namespace): Free omp_assumes member. + * st.cc (gfc_free_statement): Handle EXEC_OMP_ASSUME. + * trans-openmp.cc (gfc_trans_omp_directive): Likewise. + * trans.cc (trans_code): Likewise. + +2022-10-04 Tobias Burnus <tobias@codesourcery.com> + + * parse.cc (decode_omp_directive): Handle '(end) loop' and 'scan' + also with -fopenmp-simd. + +2022-10-01 José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/100040 + PR fortran/100029 + * trans-expr.cc (gfc_conv_class_to_class): Add code to have + assumed-rank arrays recognized as full arrays and fix the type + of the array assignment. + (gfc_conv_procedure_call): Change order of code blocks such that + the free of ALLOCATABLE dummy arguments with INTENT(OUT) occurs + first. + +2022-09-30 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/105318 + * openmp.cc (resolve_omp_clauses): Update is_device_ptr restrictions + for OpenMP 5.1 and map to has_device_addr where applicable; map + use_device_ptr to use_device_addr where applicable. + Silence integer-range warning for device(omp_{initial,invalid}_device). + +2022-09-27 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107054 + * simplify.cc (gfc_simplify_unpack): Replace assert by condition + that terminates simplification when there are not enough elements + in the constructor of argument VECTOR. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/41453 + * trans-expr.cc (gfc_conv_procedure_call): Allow strictly + matching derived types. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/41453 + PR fortran/99169 + * trans-expr.cc (gfc_conv_procedure_call): Remove conditions + on ALLOCATABLE and POINTER attributes guarding clobber + generation. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/41453 + PR fortran/87401 + * trans-expr.cc (gfc_conv_procedure_call): Remove condition + disabling clobber generation for ASSOCIATE variables. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/41453 + PR fortran/87395 + * trans-expr.cc (gfc_conv_procedure_call): Remove condition + on SAVE attribute guarding clobber generation. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/41453 + PR fortran/87395 + * trans-expr.cc (gfc_conv_procedure_call): Remove condition + disabling clobber generation for dummy variables. Remove + obsolete comment. + +2022-09-25 Harald Anlauf <anlauf@gmx.de> + Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/105012 + * trans-expr.cc (gfc_conv_procedure_call): Use dummy + information from associated_dummy if there is no information + from the procedure interface. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/106817 + * trans-expr.cc (gfc_conv_procedure_call): Collect all clobbers + to their own separate block. Append the block of clobbers to + the procedure preliminary block after the argument evaluation + codes for all the arguments. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/105012 + * trans-expr.cc (gfc_conv_procedure_call): Retrieve variable + from the just calculated variable reference. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + * trans.h (gfc_conv_expr_reference): Remove add_clobber + argument. + * trans-expr.cc (gfc_conv_expr_reference): Ditto. Inline code + depending on add_clobber and conditions controlling it ... + (gfc_conv_procedure_call): ... to here. + +2022-09-22 José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/100103 + * trans-array.cc (gfc_is_reallocatable_lhs): Add select rank + temporary associate names as possible targets of automatic + reallocation. + +2022-09-22 Harald Anlauf <anlauf@gmx.de> + + PR fortran/82868 + * trans-decl.cc (generate_coarray_sym_init): Skip symbol + if attr.associate_var. + +2022-09-20 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/104143 + * interface.cc (compare_parameter): Permit scalar args to + 'type(*), dimension(*)'. + +2022-09-20 Harald Anlauf <anlauf@gmx.de> + + PR fortran/106986 + * simplify.cc (gfc_simplify_findloc): Do not try to simplify + intrinsic FINDLOC when the ARRAY argument has a NULL shape. + +2022-09-20 Harald Anlauf <anlauf@gmx.de> + + PR fortran/106985 + * expr.cc (gfc_simplify_expr): Avoid NULL pointer dereference. + +2022-09-20 José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/100132 + * trans-types.cc (create_fn_spec): Fix function attributes when + passing polymorphic pointers. + +2022-09-20 Martin Liska <mliska@suse.cz> + + PR fortran/106636 + * gfortran.texi: Add back link to ISO_VARYING_STRING. + +2022-09-20 Martin Liska <mliska@suse.cz> + + * gfortran.texi: Replace "the the" with "the". + +2022-09-20 Martin Liska <mliska@suse.cz> + + PR fortran/106636 + * gfortran.texi: Remove 2 dead links. + +2022-09-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * libgfortran.h: Declare GFC_FPE_AWAY. + +2022-09-15 Harald Anlauf <anlauf@gmx.de> + + PR fortran/106857 + * simplify.cc (gfc_simplify_pack): Check for NULL pointer dereferences + while walking through constructors (error recovery). + +2022-09-15 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/104314 + * resolve.cc (deferred_op_assign): Do not try to generate temporary + for deferred character length assignment if types do not agree. + +2022-09-15 Richard Biener <rguenther@suse.de> + + * f95-lang.cc (gfc_init_decl_processing): Do not initialize + void_list_node. + +2022-09-14 Julian Brown <julian@codesourcery.com> + + * trans-openmp.cc (gfc_trans_omp_clauses): Don't create + GOMP_MAP_TO_PSET mappings for class metadata, nor GOMP_MAP_POINTER + mappings for POINTER_TYPE_P decls. + +2022-09-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR fortran/95644 + * f95-lang.cc (gfc_init_builtin_functions): Declare FMA + built-ins. + * mathbuiltins.def: Declare FMA built-ins. + * trans-intrinsic.cc (conv_intrinsic_ieee_fma): New function. + (conv_intrinsic_ieee_signbit): New function. + (gfc_build_intrinsic_lib_fndecls): Add cases for FMA and + SIGNBIT. + +2022-09-08 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/106670 + * scanner.cc (skip_fixed_omp_sentinel): Add -Wsurprising warning + for 'omx' sentinels with -fopenmp. + * invoke.texi (-Wsurprising): Document additional warning case. + +2022-09-06 Tobias Burnus <tobias@codesourcery.com> + + * openmp.cc (resolve_omp_clauses): Remove ordered/linear + check as it is handled now in the middle end. + +2022-09-05 Tobias Burnus <tobias@codesourcery.com> + + * dump-parse-tree.cc (show_omp_namelist, show_omp_clauses): Handle + omp_cur_iteration and distinguish doacross/depend. + * gfortran.h (enum gfc_omp_depend_doacross_op): Renamed from + gfc_omp_depend_op. + (enum gfc_omp_depend_doacross_op): Add OMP_DOACROSS_SINK_FIRST, + Rename OMP_DEPEND_SINK to OMP_DOACROSS_SINK. + (gfc_omp_namelist) Handle renaming, rename depend_op to + depend_doacross_op. + (struct gfc_omp_clauses): Add doacross_source. + * openmp.cc (gfc_match_omp_depend_sink): Renamed to ... + (gfc_match_omp_doacross_sink): ... this; handle omp_all_memory. + (enum omp_mask2): Add OMP_CLAUSE_DOACROSS. + (gfc_match_omp_clauses): Handle 'doacross' and syntax changes to + depend. + (gfc_match_omp_depobj): Simplify as sink/source are now impossible. + (gfc_match_omp_ordered_depend): Request OMP_CLAUSE_DOACROSS. + (resolve_omp_clauses): Update sink/source checks. + (gfc_resolve_omp_directive): Resolve EXEC_OMP_ORDERED clauses. + * parse.cc (decode_omp_directive): Handle 'ordered doacross'. + * trans-openmp.cc (gfc_trans_omp_clauses): Handle doacross. + (gfc_trans_omp_do): Fix OMP_FOR_ORIG_DECLS handling if 'ordered' + clause is present. + (gfc_trans_omp_depobj): Update for member name change. + +2022-09-04 José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/100136 + * trans-expr.cc (gfc_conv_procedure_call): Add handling of pointer + expressions. + +2022-09-03 José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/100245 + * trans-expr.cc (trans_class_assignment): Add if clause to handle + derived type in the LHS. + +2022-09-03 Jakub Jelinek <jakub@redhat.com> + + * trans-openmp.cc (gfc_trans_omp_clauses): Use + OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of + OMP_CLAUSE_DEPEND_SINK_NEGATIVE, build OMP_CLAUSE_DOACROSS + clause instead of OMP_CLAUSE_DEPEND and set OMP_CLAUSE_DOACROSS_DEPEND + on it. + +2022-09-02 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/99349 + * decl.cc (match_data_constant): Avoid NULL pointer dereference. + +2022-08-26 Jakub Jelinek <jakub@redhat.com> + + PR fortran/106579 + * trans-intrinsic.cc: Include realmpfr.h. + (conv_intrinsic_ieee_value): New function. + (gfc_conv_ieee_arithmetic_function): Handle ieee_value. + +2022-08-26 Jakub Jelinek <jakub@redhat.com> + + PR fortran/106579 + * f95-lang.cc (gfc_init_builtin_functions): Initialize + BUILT_IN_FPCLASSIFY. + * libgfortran.h (IEEE_OTHER_VALUE, IEEE_SIGNALING_NAN, + IEEE_QUIET_NAN, IEEE_NEGATIVE_INF, IEEE_NEGATIVE_NORMAL, + IEEE_NEGATIVE_DENORMAL, IEEE_NEGATIVE_SUBNORMAL, + IEEE_NEGATIVE_ZERO, IEEE_POSITIVE_ZERO, IEEE_POSITIVE_DENORMAL, + IEEE_POSITIVE_SUBNORMAL, IEEE_POSITIVE_NORMAL, IEEE_POSITIVE_INF): + New enum. + * trans-intrinsic.cc (conv_intrinsic_ieee_class): New function. + (gfc_conv_ieee_arithmetic_function): Handle ieee_class. + +2022-08-26 Jakub Jelinek <jakub@redhat.com> + + * f95-lang.cc (gfc_init_builtin_functions): Initialize + BUILT_IN_ISSIGNALING. + +2022-08-25 Tobias Burnus <tobias@codesourcery.com> + + * parse.cc (parse_omp_structured_block): When parsing strictly + structured blocks, issue an error if the end-directive comes + before the 'end block'. + +2022-08-24 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103694 + * simplify.cc (simplify_size): The size expression of an array cannot + be simplified if an error occurs while resolving the array spec. + +2022-08-22 Harald Anlauf <anlauf@gmx.de> + + PR fortran/106557 + * simplify.cc (gfc_simplify_ibclr): Ensure consistent results of + the simplification by dropping a redundant memory representation + of argument x. + (gfc_simplify_ibset): Likewise. + +2022-08-20 Jakub Jelinek <jakub@redhat.com> + + PR fortran/46539 + * lang.opt (static-libgfortran, static-libquadmath): Change Fortran + to Driver. + * options.cc (gfc_handle_option): Don't handle OPT_static_libgfortran + nor OPT_static_libquadmath here. + +2022-08-18 Harald Anlauf <anlauf@gmx.de> + + Revert: + 2022-07-31 Harald Anlauf <anlauf@gmx.de> + + PR fortran/77652 + * check.cc (gfc_check_associated): Make the rank check of POINTER + vs. TARGET match the allowed forms of pointer assignment for the + selected Fortran standard. + +2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + Jakub Jelinek <jakub@redhat.com> + + PR fortran/46539 + * lang.opt (static-libquadmath): New option. + * invoke.texi (-static-libquadmath): Document it. + * options.cc (gfc_handle_option): Error out if -static-libquadmath + is passed but we do not support it. + +2022-08-17 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/106566 + * openmp.cc (gfc_match_omp_clauses): Fix setting linear-step value + to 1 when not specified. + (gfc_match_omp_declare_simd): Accept module procedures. + +2022-08-16 Martin Liska <mliska@suse.cz> + + * gfortran.texi: Fix link destination to a valid URL. + +2022-07-31 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/92805 + * match.cc (gfc_match_small_literal_int): Make gobbling of leading + whitespace optional. + (gfc_match_name): Likewise. + (gfc_match_char): Likewise. + * match.h (gfc_match_small_literal_int): Adjust prototype. + (gfc_match_name): Likewise. + (gfc_match_char): Likewise. + * primary.cc (match_kind_param): Match small literal int or name + without gobbling whitespace. + (get_kind): Do not skip over blanks. + (match_string_constant): Likewise. + +2022-07-31 Harald Anlauf <anlauf@gmx.de> + + PR fortran/77652 + * check.cc (gfc_check_associated): Make the rank check of POINTER + vs. TARGET match the allowed forms of pointer assignment for the + selected Fortran standard. + +2022-07-29 Tobias Burnus <tobias@codesourcery.com> + + * openmp.cc (resolve_omp_clauses): Permit assumed-size arrays + in uniform clause. + +2022-07-26 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103504 + * interface.cc (get_sym_storage_size): Array bounds and character + length can only be of integer type. + +2022-07-21 Martin Liska <mliska@suse.cz> + + * intrinsic.texi: Remove trailing dots for 2 Fortran fns. + +2022-07-20 Harald Anlauf <anlauf@gmx.de> + + PR fortran/101330 + * openmp.cc (gfc_match_iterator): Remove left-over code from + development that could lead to a crash on invalid input. + +2022-07-19 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103590 + * resolve.cc (find_array_spec): Change function result to bool to + enable error recovery. Generate error message for invalid array + reference of non-array entity instead of an internal error. + (gfc_resolve_ref): Use function result from find_array_spec for + error recovery. + +2022-07-15 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/104313 + * trans-decl.cc (gfc_generate_return): Do not generate conflicting + fake results for functions with no result variable under -ff2c. + +2022-07-14 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/106209 + * decl.cc (add_init_expr_to_sym): Handle bad initializers for + implied-shape arrays. + +2022-07-12 Harald Anlauf <anlauf@gmx.de> + + PR fortran/106049 + * simplify.cc (is_constant_array_expr): A non-zero-sized constant + array shall have a non-empty constructor. When the constructor is + empty or missing, treat as non-constant. + +2022-07-04 Tobias Burnus <tobias@codesourcery.com> + Jakub Jelinek <jakub@redhat.com> + + * gfortran.h (gfc_omp_namelist): Update by creating 'linear' struct, + move 'linear_op' as 'op' to id and add 'old_modifier' to it. + * dump-parse-tree.cc (show_omp_namelist): Update accordingly. + * module.cc (mio_omp_declare_simd): Likewise. + * trans-openmp.cc (gfc_trans_omp_clauses): Likewise. + * openmp.cc (resolve_omp_clauses): Likewise; accept new-style + 'val' modifier with do/simd. + (gfc_match_omp_clauses): Handle OpenMP 5.2 linear clause syntax. + +2022-07-04 Tobias Burnus <tobias@codesourcery.com> + Chung-Lin Tang <cltang@codesourcery.com> + Thomas Schwinge <thomas@codesourcery.com> + + * openmp.cc (gfc_match_omp_requires): Remove sorry. + * parse.cc (decode_omp_directive): Don't regard 'declare target' + as target usage for 'omp requires'; add more flags to + omp_requires_mask. + +2022-07-01 Tobias Burnus <tobias@codesourcery.com> + + * dump-parse-tree.cc (show_omp_namelist): For the map-type, + also handle the always modifer and release/delete. + * openmp.cc (resolve_omp_clauses): Accept tofrom + map-type modifier for target enter/exit data, + but use 'to' / 'from' internally. + +2022-06-30 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/103137 + PR fortran/103138 + PR fortran/103693 + PR fortran/105243 + * decl.cc (gfc_match_data_decl): Reject CLASS entity declaration + when it is given the PARAMETER attribute. + +2022-06-29 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/106121 + * simplify.cc (gfc_simplify_extends_type_of): Do not attempt to + simplify when one of the arguments is a CLASS variable that was + not properly declared. + +2022-06-28 Jakub Jelinek <jakub@redhat.com> + + * gfortran.h (gfc_real_info): Add use_iec_60559 bitfield. + * trans-types.h (gfc_real16_use_iec_60559): Declare. + * trans-types.cc (gfc_real16_use_iec_60559): Define. + (gfc_init_kinds): When building powerpc64le-linux libgfortran + on glibc 2.26 to 2.31, set gfc_real16_use_iec_60559 and + use_iec_60559. + (gfc_build_real_type): Set gfc_real16_use_iec_60559 and use_iec_60559 + on glibc 2.26 or later. + * trans-intrinsic.cc (gfc_build_intrinsic_lib_fndecls): Adjust + comment. Handle gfc_real16_use_iec_60559. + (gfc_get_intrinsic_lib_fndecl): Handle use_iec_60559. + +2022-06-26 Harald Anlauf <anlauf@gmx.de> + + PR fortran/105691 + * simplify.cc (gfc_simplify_index): Replace old simplification + code by the equivalent of the runtime library implementation. Use + HOST_WIDE_INT instead of int for string index, length variables. + +2022-06-26 Harald Anlauf <anlauf@gmx.de> + + PR fortran/105954 + * decl.cc (variable_decl): Adjust upper bounds for explicit-shape + specs with constant bound expressions to ensure non-negative + extents. + +2022-06-24 Harald Anlauf <anlauf@gmx.de> + + PR fortran/105813 + * check.cc (gfc_check_unpack): Try to simplify MASK argument to + UNPACK so that checking of the VECTOR argument can work when MASK + is a variable. + +2022-06-18 Harald Anlauf <anlauf@gmx.de> + + PR fortran/105986 + * simplify.cc (gfc_simplify_btest): Add check for POS argument. + (gfc_simplify_ibclr): Add check for POS argument. + (gfc_simplify_ibits): Add check for POS and LEN arguments. + (gfc_simplify_ibset): Add check for POS argument. + +2022-06-08 Tobias Burnus <tobias@codesourcery.com> + + * openmp.cc (gfc_match_omp_clauses): Check also parent namespace + for 'requires reverse_offload'. + +2022-06-07 Jakub Jelinek <jakub@redhat.com> + + * trans-openmp.cc (gfc_trans_omp_clauses): Set + OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER on OMP_CLAUSE_LINEAR + clauses unconditionally for now. + +2022-06-03 Tobias Burnus <tobias@codesourcery.com> + + * openmp.cc (OMP_SCOPE_CLAUSES): Add firstprivate and allocate. + +2022-06-02 David Malcolm <dmalcolm@redhat.com> + + * f95-lang.cc (gfc_get_sarif_source_language): New. + (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine. + +2022-05-31 Jason Merrill <jason@redhat.com> + + * Make-lang.in (fortran.tags): Look at *.cc. + +2022-05-30 Harald Anlauf <anlauf@gmx.de> + + PR fortran/91300 + * libgfortran.h: Define new error code LIBERROR_NO_MEMORY. + * trans-stmt.cc (gfc_trans_allocate): Generate code for setting + ERRMSG depending on result of STAT result of ALLOCATE. + * trans.cc (gfc_allocate_using_malloc): Use STAT value of + LIBERROR_NO_MEMORY in case of failed malloc. + +2022-05-28 Tobias Burnus <tobias@codesourcery.com> + + * dump-parse-tree.cc (show_omp_clauses): Handle OMP_LIST_ENTER. + * gfortran.h: Add OMP_LIST_ENTER. + * openmp.cc (enum omp_mask2, OMP_DECLARE_TARGET_CLAUSES): Add + OMP_CLAUSE_ENTER. + (gfc_match_omp_clauses, gfc_match_omp_declare_target, + resolve_omp_clauses): Handle 'enter' clause. + +2022-05-27 Tobias Burnus <tobias@codesourcery.com> + Chung-Lin Tang <cltang@codesourcery.com> + + * openmp.cc (gfc_check_omp_requires): Fix clause name in error. + +2022-05-24 Tobias Burnus <tobias@codesourcery.com> + + PR c/105378 + * openmp.cc (gfc_match_omp_taskwait): Accept nowait. + +2022-05-23 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/104949 + * f95-lang.cc (LANG_HOOKS_OMP_ARRAY_SIZE): Redefine. + * trans-openmp.cc (gfc_omp_array_size): New. + (gfc_trans_omp_variable_list): Never turn has_device_addr + to firstprivate. + * trans.h (gfc_omp_array_size): New. + +2022-05-18 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.h (enum gfc_omp_depend_op): Add OMP_DEPEND_INOUTSET. + (gfc_omp_clauses): Enlarge ENUM_BITFIELD. + * dump-parse-tree.cc (show_omp_namelist, show_omp_clauses): Handle + 'inoutset' depend modifier. + * openmp.cc (gfc_match_omp_clauses, gfc_match_omp_depobj): Likewise. + * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj): + Likewise. + +2022-05-17 Tobias Burnus <tobias@codesourcery.com> + + * dump-parse-tree.cc (show_omp_namelist): Handle omp_all_memory. + * openmp.cc (gfc_match_omp_variable_list, gfc_match_omp_depend_sink, + gfc_match_omp_clauses, resolve_omp_clauses): Likewise. + * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj): + Likewise. + * resolve.cc (resolve_symbol): Reject it as symbol. + +2022-05-16 Martin Liska <mliska@suse.cz> + + * frontend-passes.cc (gfc_code_walker): Use ARRAY_SIZE. + * openmp.cc (gfc_match_omp_context_selector_specification): Likewise. + * trans-intrinsic.cc (conv_intrinsic_ieee_builtin): Likewise. + * trans-types.cc (gfc_get_array_descr_info): Likewise. + +2022-05-13 Tobias Burnus <tobias@codesourcery.com> + + * trans-openmp.cc (gfc_trans_omp_clauses): When mapping nondescriptor + array sections, use GOMP_MAP_FIRSTPRIVATE_POINTER instead of + GOMP_MAP_POINTER for the pointer attachment. + +2022-05-11 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/105230 + * expr.cc (find_array_section): Correct logic to avoid NULL + pointer dereference on invalid array section. + +2022-05-10 Harald Anlauf <anlauf@gmx.de> + + PR fortran/105526 + * resolve.cc (check_team): New. + (gfc_resolve_code): Add checks for arguments to coarray intrinsics + FORM TEAM, CHANGE TEAM, and SYNC TEAM. + +2022-05-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/105501 + * match.cc (gfc_match_if): Adjust patterns used for matching. + (gfc_match_select_rank): Likewise. + * parse.cc (decode_statement): Likewise. + +2022-05-05 Sandra Loosemore <sandra@codesourcery.com> + + * gfortran.h (struct gfc_omp_clauses): Add non_rectangular bit. + * openmp.cc (is_outer_iteration_variable): New function. + (expr_is_invariant): New function. + (bound_expr_is_canonical): New function. + (resolve_omp_do): Replace existing non-rectangularity error with + check for canonical form and setting non_rectangular bit. + * trans-openmp.cc (gfc_trans_omp_do): Transfer non_rectangular + flag to generated tree structure. + +2022-05-02 Sandra Loosemore <sandra@codesourcery.com> + + * trans-openmp.cc (gfc_trans_omp_critical): Set location on OMP + tree node. + (gfc_trans_omp_do): Likewise. + (gfc_trans_omp_masked): Likewise. + (gfc_trans_omp_do_simd): Likewise. + (gfc_trans_omp_scope): Likewise. + (gfc_trans_omp_taskgroup): Likewise. + (gfc_trans_omp_taskwait): Likewise. + (gfc_trans_omp_distribute): Likewise. + (gfc_trans_omp_taskloop): Likewise. + (gfc_trans_omp_master_masked_taskloop): Likewise. + +2022-04-29 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.texi: Fix exchanged period and letter. + +2022-04-28 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.texi: Mention r16_ieee and r16_ibm. + * invoke.texi: Likewise. + +2022-04-27 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/103662 + PR fortran/105379 + * array.cc (compare_bounds): Use bool as return type. + Support non-constant expressions. + (gfc_compare_array_spec): Update call to compare_bounds. + +2022-04-27 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/102043 + PR fortran/105381 + * trans-array.cc (non_negative_strides_array_p): Inline variable + orig_decl and merge nested if conditions. Add condition to not + recurse if the next argument is the same as the current. + +2022-04-25 Jakub Jelinek <jakub@redhat.com> + Thomas Schwinge <thomas@codesourcery.com> + + PR fortran/104717 + * trans-openmp.cc (gfc_trans_oacc_construct): Wrap construct body + in an extra BIND_EXPR. + +2022-04-24 Mikael Morin <mikael@gcc.gnu.org> + Jakub Jelinek <jakub@redhat.com> + + PR fortran/103662 + * interface.cc (gfc_compare_derived_types): Support comparing + unlimited polymorphic fake symbols. Recursively compare class + descriptor types and virtual table types. + * resolve.cc (resolve_fl_derived): Add type to the types list + on unlimited polymorphic short-circuit return. + +2022-04-22 Mikael Morin <mikael@gcc.gnu.org> + Richard Biener <rguenther@suse.de> + + PR fortran/102043 + * trans.h (gfc_build_array_ref): Add non_negative_offset + argument. + * trans.cc (gfc_build_array_ref): Ditto. Use pointer arithmetic + if non_negative_offset is false. + * trans-expr.cc (gfc_conv_substring): Set flag in the call to + gfc_build_array_ref. + * trans-array.cc (gfc_get_cfi_dim_item, + gfc_conv_descriptor_dimension): Same. + (build_array_ref): Decide on whether to set the flag and update + the call. + (gfc_conv_scalarized_array_ref): Same. New argument tmp_array. + (gfc_conv_tmp_array_ref): Update call to + gfc_conv_scalarized_ref. + (non_negative_strides_array_p): New function. + +2022-04-22 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/102043 + * trans-array.cc (gfc_conv_expr_descriptor): Use + gfc_conv_tmp_array_ref. + +2022-04-22 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/102043 + * trans-io.cc: Add handling for the case where the array + is referenced using pointer arithmetic. + +2022-04-22 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/102043 + * trans-expr.cc: Pre-evaluate src and dest to variables + before using them. + +2022-04-21 Fritz Reese <foreese@gcc.gnu.org> + + PR fortran/105310 + * trans-expr.cc (gfc_conv_union_initializer): Pass vec* by reference. + +2022-04-13 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/105242 + * match.cc (match_exit_cycle): Handle missing OMP LOOP, DO and SIMD + directives in the EXIT/CYCLE diagnostic. + +2022-04-10 Harald Anlauf <anlauf@gmx.de> + + PR fortran/105184 + * array.cc (match_subscript): Reject assumed size coarray + specification with missing lower bound. + * resolve.cc (resolve_allocate_expr): Fix logic for checking + allocate-coshape-spec in ALLOCATE statement. + +2022-04-05 Sandra Loosemore <sandra@codesourcery.com> + + * trans-openmp.cc (gfc_split_omp_clauses): Fix mask for + EXEC_OMP_MASKED_TASKLOOP. + +2022-04-05 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104210 + * arith.cc (eval_intrinsic): Avoid NULL pointer dereference. + (gfc_zero_size_array): Likewise. + +2022-04-05 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/105138 + * intrinsic.cc (gfc_is_intrinsic): When a symbol refers to a + RECURSIVE procedure, it cannot be an INTRINSIC. + +2022-03-30 Harald Anlauf <anlauf@gmx.de> + + PR fortran/100892 + * check.cc (gfc_check_associated): Avoid NULL pointer dereference. + +2022-03-29 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/104571 + * resolve.cc (resolve_elemental_actual): Avoid NULL pointer + dereference. + +2022-03-29 Harald Anlauf <anlauf@gmx.de> + + PR fortran/50549 + * resolve.cc (resolve_structure_cons): Reject pointer assignments + of character with different lengths in structure constructor. + +2022-03-25 Jakub Jelinek <jakub@redhat.com> + + PR fortran/103691 + * trans-array.cc (gfc_conv_array_initializer): If TYPE_MAX_VALUE is + smaller than TYPE_MIN_VALUE (i.e. empty array), ignore the + initializer; if TYPE_MIN_VALUE is equal to TYPE_MAX_VALUE, use just + the TYPE_MIN_VALUE as index instead of RANGE_EXPR. + +2022-03-23 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/103560 + * scanner.cc (add_path_to_list): Don't append '/' to the + save include path. + (open_included_file): Use '/' in concatenating path + file name. + * module.cc (gzopen_included_file_1): Likewise. + +2022-03-22 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104999 + * simplify.cc (gfc_simplify_cshift): Ensure temporary holding + source array stride is initialized. + +2022-03-19 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/104228 + PR fortran/104570 + * parse.cc (parse_associate): Use a new distinct gfc_charlen if the + copied type has one whose length is not known to be constant. + * resolve.cc (resolve_assoc_var): Reset charlen if it’s shared with + the associate target regardless of the expression type. + Don’t reinitialize charlen if it’s deferred. + +2022-03-18 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/103039 + * trans-openmp.cc (gfc_omp_clause_copy_ctor, gfc_omp_clause_dtor): + Only privatize pointer for associate names. + +2022-03-18 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/103039 + * openmp.cc (resolve_omp_clauses): Improve associate-name diagnostic + for select type/rank. + +2022-03-11 Tobias Burnus <tobias@codesourcery.com> + + * trans-openmp.cc (gfc_trans_omp_clauses, gfc_omp_finish_clause): + Obtain size for mapping only if allocatable array is allocated. + +2022-03-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104849 + * expr.cc (find_array_section): Avoid NULL pointer dereference on + invalid array section. + +2022-03-09 Tobias Burnus <tobias@codesourcery.com> + + * trans-intrinsic.cc (gfc_conv_intrinsic_sizeof): Fix CLASS handling. + +2022-03-08 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/104126 + * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Handle NULL + without MOLD. + +2022-03-08 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104811 + * frontend-passes.cc (optimize_minmaxloc): Do not attempt + frontend-optimization of MINLOC/MAXLOC for character arrays, as + there is no suitable code yet for inline expansion. + +2022-03-07 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/99585 + PR fortran/104430 + * trans-expr.cc (conv_parent_component_references): Fix comment; + simplify comparison. + (gfc_maybe_dereference_var): Avoid d referencing a nonpointer. + +2022-03-07 Tobias Burnus <tobias@codesourcery.com> + + * array.cc (gfc_ref_dimen_size): Fix comment typo. + * dump-parse-tree.cc (gfc_dump_c_prototypes): Likewise. + * frontend-passes.cc (cfe_code): Likewise. + * gfortran.texi: Likewise. + * resolve.cc (generate_component_assignments): Likewise. + * simplify.cc (gfc_simplify_this_image): Likewise. + * trans-expr.cc (trans_scalar_class_assign, + gfc_maybe_dereference_var): Likewise. + * intrinsic.texi: Remove word duplication. + * invoke.texi: Likewise. + +2022-03-07 Jakub Jelinek <jakub@redhat.com> + + * trans-expr.cc: Fix up duplicated word issue in a comment. + * gfortran.h: Likewise. + * scanner.cc: Likewise. + +2022-03-07 Martin Liska <mliska@suse.cz> + + * intrinsic.cc (gfc_is_intrinsic): Remove asterisk from error + message. + +2022-03-07 Martin Liska <mliska@suse.cz> + + PR translation/90148 + * intrinsic.cc (gfc_is_intrinsic): Put + quote to a proper place. + +2022-03-03 Kwok Cheung Yeung <kcy@codesourcery.com> + + PR fortran/104131 + * openmp.cc (gfc_match_omp_detach): Move check for type of event + handle to... + (resolve_omp_clauses) ...here. Also check that the event handle is + not an array, or an array access or structure element access. + +2022-03-02 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104573 + * resolve.cc (resolve_structure_cons): Avoid NULL pointer + dereference when there is no valid component. + +2022-02-24 Harald Anlauf <anlauf@gmx.de> + + PR fortran/84519 + * dump-parse-tree.cc (show_code_node): Dump QUIET specifier when + present. + * match.cc (gfc_match_stopcode): Implement parsing of F2018 QUIET + specifier. F2018 stopcodes may have non-default integer kind. + * resolve.cc (gfc_resolve_code): Add checks for QUIET argument. + * trans-stmt.cc (gfc_trans_stop): Pass QUIET specifier to call of + library function. + +2022-02-22 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104619 + * resolve.cc (resolve_structure_cons): Skip shape check if shape + of constructor cannot be determined at compile time. + +2022-02-20 Harald Anlauf <anlauf@gmx.de> + + PR fortran/77693 + * data.cc (gfc_assign_data_value): If a variable in a data + statement has the POINTER attribute, check for allowed initial + data target that is compatible with pointer assignment. + * gfortran.h (IS_POINTER): New macro. + +2022-02-15 Tobias Burnus <tobias@codesourcery.com> + + * trans-openmp.cc (gfc_trans_omp_depobj): Fix to alloc/ptr dummy + and for c_ptr. + +2022-02-15 Tobias Burnus <tobias@codesourcery.com> + + * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj): + Depend on the proper addr, for ptr/alloc depend on pointee. + +2022-02-14 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104211 + * expr.cc (find_array_section): Replace assertion by error + recovery when encountering bad array constructor. + +2022-02-13 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/104228 + * resolve.cc (resolve_assoc_var): Also create a new character + length for non-dummy associate targets. + * trans-stmt.cc (trans_associate_var): Initialize character length + even if no temporary is used for the associate variable. + +2022-02-10 Roger Sayle <roger@nextmovesoftware.com> + Tobias Burnus <tobias@codesourcery.com> + + * trans-common.cc (GFC_EQUIV_FMT): New macro respecting the + target's NO_DOT_IN_LABEL and NO_DOLLAR_IN_LABEL preferences. + (build_equiv_decl): Use GFC_EQUIV_FMT here. + +2022-02-10 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/104329 + * openmp.cc (resolve_omp_atomic): Defer extra-code assert after + other diagnostics. + +2022-02-10 Marcel Vollweiler <marcel@codesourcery.com> + + * dump-parse-tree.cc (show_omp_clauses): Added OMP_LIST_HAS_DEVICE_ADDR + case. + * gfortran.h: Added OMP_LIST_HAS_DEVICE_ADDR. + * openmp.cc (enum omp_mask2): Added OMP_CLAUSE_HAS_DEVICE_ADDR. + (gfc_match_omp_clauses): Parse HAS_DEVICE_ADDR clause. + (resolve_omp_clauses): Same. + * trans-openmp.cc (gfc_trans_omp_variable_list): Added + OMP_LIST_HAS_DEVICE_ADDR case. + (gfc_trans_omp_clauses): Firstprivatize of array descriptors. + +2022-02-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/66193 + * arith.cc (reduce_binary_ac): When reducing binary expressions, + try simplification. Handle case of empty constructor. + (reduce_binary_ca): Likewise. + +2022-02-03 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104311 + * check.cc (gfc_calculate_transfer_sizes): Checks for case when + storage size of SOURCE is greater than zero while the storage size + of MOLD is zero and MOLD is an array shall not depend on SIZE. + +2022-02-03 Jakub Jelinek <jakub@redhat.com> + + PR fortran/104328 + * openmp.cc (is_scalar_intrinsic_expr): If must_be_var && conv_ok + and expr is conversion, verify it is a conversion from EXPR_VARIABLE + with non-NULL symtree. Check ->block->next before dereferencing it. + +2022-02-01 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104331 + * simplify.cc (gfc_simplify_eoshift): Avoid NULL pointer + dereference when shape is not set. + +2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/103790 + * trans-array.cc (structure_alloc_comps): Prevent descriptor + stacking for non-array data; do not broadcast caf-tokens. + * trans-intrinsic.cc (conv_co_collective): Prevent generation + of unused descriptor. + +2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> + + Revert: + 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/103790 + * trans-array.cc (structure_alloc_comps): Prevent descriptor + stacking for non-array data; do not broadcast caf-tokens. + * trans-intrinsic.cc (conv_co_collective): Prevent generation + of unused descriptor. + +2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/103790 + * trans-array.cc (structure_alloc_comps): Prevent descriptor + stacking for non-array data; do not broadcast caf-tokens. + * trans-intrinsic.cc (conv_co_collective): Prevent generation + of unused descriptor. + +2022-01-27 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104128 + * expr.cc (gfc_copy_expr): Convert internal representation of + string to wide char in value only for default character kind. + * target-memory.cc (interpret_array): Pass flag for conversion of + wide chars. + (gfc_target_interpret_expr): Likewise. + +2022-01-27 Harald Anlauf <anlauf@gmx.de> + + PR fortran/84784 + * trans-intrinsic.cc (conv_intrinsic_image_status): Convert result + to resulting (default) integer type. + (conv_intrinsic_team_number): Likewise. + (gfc_conv_intrinsic_popcnt_poppar): Likewise. + +2022-01-25 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104227 + * check.cc (gfc_calculate_transfer_sizes): Fix checking of arrays + passed as MOLD argument to the TRANSFER intrinsic for having + storage size zero. + +2022-01-25 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104212 + * check.cc (gfc_check_norm2): Check that optional argument DIM is + scalar. + (gfc_check_parity): Likewise. + +2022-01-24 Jakub Jelinek <jakub@redhat.com> + + * lang.opt (fconvert=): Add EnumSet property and mention also + r16_ieee and r16_ibm arguments. + (big-endian, little-endian, native, swap): Add Set(1) property. + (r16_ieee, r16_ibm): New EnumValue entries with Set(2) property. + * trans-types.cc (gfc_init_kinds): Emit gfc_fatal_error for + -fconvert=r16_ieee or -fconvert=r16_ibm when R16_IEEE <=> R16_IBM + conversions aren't supported. + +2022-01-22 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104127 + * simplify.cc (gfc_simplify_transfer): Ensure that the result + typespec is set up for TRANSFER with MOLD of type CHARACTER + including character length even if the result is a zero-sized + array. + +2022-01-20 Sandra Loosemore <sandra@codesourcery.com> + + PR fortran/103695 + PR fortran/102621 + * gfortran.h (struct gfc_namespace) Add omp_affinity_iterator + field. + * dump-parse-tree.cc (show_iterator): Use it. + * openmp.cc (gfc_match_iterator): Likewise. + (resolve_omp_clauses): Likewise. + * trans-decl.cc (gfc_finish_var_decl): Likewise. + * trans-openmp.cc (handle_iterator): Likewise. + +2022-01-18 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103692 + * array.cc (gfc_expand_constructor): Handle zero-sized array + constructors. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * check.cc (gfc_check_all_any): Rename .c names to .cc. + * class.cc (find_intrinsic_vtab): Likewise. + * config-lang.in: Likewise. + * cpp.cc (cpp_define_builtins): Likewise. + * data.cc (get_array_index): Likewise. + * decl.cc (match_clist_expr): Likewise. + (get_proc_name): Likewise. + (gfc_verify_c_interop_param): Likewise. + (gfc_get_pdt_instance): Likewise. + (gfc_match_formal_arglist): Likewise. + (gfc_get_type_attr_spec): Likewise. + * dependency.cc: Likewise. + * error.cc (gfc_format_decoder): Likewise. + * expr.cc (check_restricted): Likewise. + (gfc_build_default_init_expr): Likewise. + * f95-lang.cc: Likewise. + * gfc-internals.texi: Likewise. + * gfortran.h (enum match): Likewise. + (enum procedure_type): Likewise. + (enum oacc_routine_lop): Likewise. + (gfc_get_pdt_instance): Likewise. + (gfc_end_source_files): Likewise. + (gfc_mpz_set_hwi): Likewise. + (gfc_get_option_string): Likewise. + (gfc_find_sym_in_expr): Likewise. + (gfc_errors_to_warnings): Likewise. + (gfc_real_4_kind): Likewise. + (gfc_free_finalizer): Likewise. + (gfc_sym_get_dummy_args): Likewise. + (gfc_check_intrinsic_standard): Likewise. + (gfc_free_case_list): Likewise. + (gfc_resolve_oacc_routines): Likewise. + (gfc_check_vardef_context): Likewise. + (gfc_free_association_list): Likewise. + (gfc_implicit_pure_function): Likewise. + (gfc_ref_dimen_size): Likewise. + (gfc_compare_actual_formal): Likewise. + (gfc_resolve_wait): Likewise. + (gfc_dt_upper_string): Likewise. + (gfc_generate_module_code): Likewise. + (gfc_delete_bbt): Likewise. + (debug): Likewise. + (gfc_build_block_ns): Likewise. + (gfc_dep_difference): Likewise. + (gfc_invalid_null_arg): Likewise. + (gfc_is_finalizable): Likewise. + (gfc_fix_implicit_pure): Likewise. + (gfc_is_size_zero_array): Likewise. + (gfc_is_reallocatable_lhs): Likewise. + * gfortranspec.cc: Likewise. + * interface.cc (compare_actual_expr): Likewise. + * intrinsic.cc (add_functions): Likewise. + * iresolve.cc (gfc_resolve_matmul): Likewise. + (gfc_resolve_alarm_sub): Likewise. + * iso-c-binding.def: Likewise. + * lang-specs.h: Likewise. + * libgfortran.h (GFC_STDERR_UNIT_NUMBER): Likewise. + * match.cc (gfc_match_label): Likewise. + (gfc_match_symbol): Likewise. + (match_derived_type_spec): Likewise. + (copy_ts_from_selector_to_associate): Likewise. + * match.h (gfc_match_call): Likewise. + (gfc_get_common): Likewise. + (gfc_match_omp_end_single): Likewise. + (gfc_match_volatile): Likewise. + (gfc_match_bind_c): Likewise. + (gfc_match_literal_constant): Likewise. + (gfc_match_init_expr): Likewise. + (gfc_match_array_constructor): Likewise. + (gfc_match_end_interface): Likewise. + (gfc_match_print): Likewise. + (gfc_match_expr): Likewise. + * matchexp.cc (next_operator): Likewise. + * mathbuiltins.def: Likewise. + * module.cc (free_true_name): Likewise. + * openmp.cc (gfc_resolve_omp_parallel_blocks): Likewise. + (gfc_omp_save_and_clear_state): Likewise. + * parse.cc (parse_union): Likewise. + (set_syms_host_assoc): Likewise. + * resolve.cc (resolve_actual_arglist): Likewise. + (resolve_elemental_actual): Likewise. + (check_host_association): Likewise. + (resolve_typebound_function): Likewise. + (resolve_typebound_subroutine): Likewise. + (gfc_resolve_expr): Likewise. + (resolve_assoc_var): Likewise. + (resolve_typebound_procedures): Likewise. + (resolve_equivalence_derived): Likewise. + * simplify.cc (simplify_bound): Likewise. + * symbol.cc (gfc_set_default_type): Likewise. + (gfc_add_ext_attribute): Likewise. + * target-memory.cc (gfc_target_interpret_expr): Likewise. + * target-memory.h (gfc_target_interpret_expr): Likewise. + * trans-array.cc (gfc_get_cfi_dim_sm): Likewise. + (gfc_conv_shift_descriptor_lbound): Likewise. + (gfc_could_be_alias): Likewise. + (gfc_get_dataptr_offset): Likewise. + * trans-const.cc: Likewise. + * trans-decl.cc (trans_function_start): Likewise. + (gfc_trans_deferred_vars): Likewise. + (generate_local_decl): Likewise. + (gfc_generate_function_code): Likewise. + * trans-expr.cc (gfc_vptr_size_get): Likewise. + (gfc_trans_class_array_init_assign): Likewise. + (POWI_TABLE_SIZE): Likewise. + (gfc_conv_procedure_call): Likewise. + (gfc_trans_arrayfunc_assign): Likewise. + * trans-intrinsic.cc (gfc_conv_intrinsic_len): Likewise. + (gfc_conv_intrinsic_loc): Likewise. + (conv_intrinsic_event_query): Likewise. + * trans-io.cc (gfc_build_st_parameter): Likewise. + * trans-openmp.cc (gfc_omp_check_optional_argument): Likewise. + (gfc_omp_unshare_expr_r): Likewise. + (gfc_trans_omp_array_section): Likewise. + (gfc_trans_omp_clauses): Likewise. + * trans-stmt.cc (trans_associate_var): Likewise. + (gfc_trans_deallocate): Likewise. + * trans-stmt.h (gfc_trans_class_init_assign): Likewise. + (gfc_trans_deallocate): Likewise. + (gfc_trans_oacc_declare): Likewise. + * trans-types.cc: Likewise. + * trans-types.h (enum gfc_packed): Likewise. + * trans.cc (N_): Likewise. + (trans_code): Likewise. + * trans.h (gfc_build_compare_string): Likewise. + (gfc_conv_expr_type): Likewise. + (gfc_trans_deferred_vars): Likewise. + (getdecls): Likewise. + (gfc_get_array_descr_info): Likewise. + (gfc_omp_firstprivatize_type_sizes): Likewise. + (GTY): Likewise. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * arith.c: Moved to... + * arith.cc: ...here. + * array.c: Moved to... + * array.cc: ...here. + * bbt.c: Moved to... + * bbt.cc: ...here. + * check.c: Moved to... + * check.cc: ...here. + * class.c: Moved to... + * class.cc: ...here. + * constructor.c: Moved to... + * constructor.cc: ...here. + * convert.c: Moved to... + * convert.cc: ...here. + * cpp.c: Moved to... + * cpp.cc: ...here. + * data.c: Moved to... + * data.cc: ...here. + * decl.c: Moved to... + * decl.cc: ...here. + * dependency.c: Moved to... + * dependency.cc: ...here. + * dump-parse-tree.c: Moved to... + * dump-parse-tree.cc: ...here. + * error.c: Moved to... + * error.cc: ...here. + * expr.c: Moved to... + * expr.cc: ...here. + * f95-lang.c: Moved to... + * f95-lang.cc: ...here. + * frontend-passes.c: Moved to... + * frontend-passes.cc: ...here. + * gfortranspec.c: Moved to... + * gfortranspec.cc: ...here. + * interface.c: Moved to... + * interface.cc: ...here. + * intrinsic.c: Moved to... + * intrinsic.cc: ...here. + * io.c: Moved to... + * io.cc: ...here. + * iresolve.c: Moved to... + * iresolve.cc: ...here. + * match.c: Moved to... + * match.cc: ...here. + * matchexp.c: Moved to... + * matchexp.cc: ...here. + * misc.c: Moved to... + * misc.cc: ...here. + * module.c: Moved to... + * module.cc: ...here. + * openmp.c: Moved to... + * openmp.cc: ...here. + * options.c: Moved to... + * options.cc: ...here. + * parse.c: Moved to... + * parse.cc: ...here. + * primary.c: Moved to... + * primary.cc: ...here. + * resolve.c: Moved to... + * resolve.cc: ...here. + * scanner.c: Moved to... + * scanner.cc: ...here. + * simplify.c: Moved to... + * simplify.cc: ...here. + * st.c: Moved to... + * st.cc: ...here. + * symbol.c: Moved to... + * symbol.cc: ...here. + * target-memory.c: Moved to... + * target-memory.cc: ...here. + * trans-array.c: Moved to... + * trans-array.cc: ...here. + * trans-common.c: Moved to... + * trans-common.cc: ...here. + * trans-const.c: Moved to... + * trans-const.cc: ...here. + * trans-decl.c: Moved to... + * trans-decl.cc: ...here. + * trans-expr.c: Moved to... + * trans-expr.cc: ...here. + * trans-intrinsic.c: Moved to... + * trans-intrinsic.cc: ...here. + * trans-io.c: Moved to... + * trans-io.cc: ...here. + * trans-openmp.c: Moved to... + * trans-openmp.cc: ...here. + * trans-stmt.c: Moved to... + * trans-stmt.cc: ...here. + * trans-types.c: Moved to... + * trans-types.cc: ...here. + * trans.c: Moved to... + * trans.cc: ...here. + +2022-01-17 Andrew Stubbs <ams@codesourcery.com> + + * openmp.c (gfc_match_omp_requires): Don't "sorry" dynamic_allocators. + +2022-01-15 Harald Anlauf <anlauf@gmx.de> + + PR fortran/83079 + * target-memory.c (gfc_interpret_character): Result length is + in bytes and thus depends on the character kind. + * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Compute correct + string length for the result of the TRANSFER intrinsic and for + temporaries for the different character kinds. + +2022-01-14 Harald Anlauf <anlauf@gmx.de> + + PR fortran/99256 + * intrinsic.c: Do not check formal argument type when checking + arguments of intrinsics for alternate return specifiers. + +2022-01-14 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103782 + * expr.c (gfc_simplify_expr): Adjust logic for when to scalarize a + call of an intrinsic which may have been overloaded. + +2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com> + + * dump-parse-tree.c (show_omp_clauses): Handle OMP_LIST_ALLOCATE. + * gfortran.h (OMP_LIST_ALLOCATE): New enum value. + * openmp.c (enum omp_mask1): Add OMP_CLAUSE_ALLOCATE. + (gfc_match_omp_clauses): Handle OMP_CLAUSE_ALLOCATE + (OMP_PARALLEL_CLAUSES, OMP_DO_CLAUSES, OMP_SECTIONS_CLAUSES) + (OMP_TASK_CLAUSES, OMP_TASKLOOP_CLAUSES, OMP_TARGET_CLAUSES) + (OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES) + (OMP_SINGLE_CLAUSES): Add OMP_CLAUSE_ALLOCATE. + (OMP_TASKGROUP_CLAUSES): New. + (gfc_match_omp_taskgroup): Use OMP_TASKGROUP_CLAUSES instead of + OMP_CLAUSE_TASK_REDUCTION. + (resolve_omp_clauses): Handle OMP_LIST_ALLOCATE. + (resolve_omp_do): Avoid warning when loop iteration variable is + in allocate clause. + * trans-openmp.c (gfc_trans_omp_clauses): Handle translation of + allocate clause. + (gfc_split_omp_clauses): Update for OMP_LIST_ALLOCATE. + +2022-01-13 Harald Anlauf <anlauf@gmx.de> + + PR fortran/67804 + * primary.c (gfc_match_structure_constructor): Recover from errors + that occurred while checking for a valid structure constructor in + a DATA statement. + +2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> + + * libgfortran.h (unit_convert): Add flags. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + * trans-types.c (gfc_init_kinds): When setting abi_kind to 17, if not + targetting glibc 2.32 or later and -fbuilding-libgfortran, set + gfc_real16_is_float128 and c_float128 in gfc_real_kinds. + (gfc_build_real_type): Don't set c_long_double if c_float128 is + already set. + * trans-intrinsic.c (builtin_decl_for_precision): Don't use + long_double_built_in if gfc_real16_is_float128 and + long_double_type_node == gfc_float128_type_node. + * lang.opt (fbuilding-libgfortran): New undocumented option. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Use + gfc_type_abi_kind. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + * trans-io.c (transfer_array_desc): Pass abi kind instead of kind + to libgfortran. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + * trans-io.c (transfer_namelist_element): Use gfc_type_abi_kind, + formatting fixes. + (transfer_expr): Use gfc_type_abi_kind, use *REAL128* APIs even + for abi_kind == 17. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + * gfortran.h (gfc_real_info): Add abi_kind member. + (gfc_type_abi_kind): Declare. + * trans-types.c (gfc_init_kinds): Initialize abi_kind. + * intrinsic.c (gfc_type_abi_kind): New function. + (conv_name): Use it. + * iresolve.c (resolve_transformational, gfc_resolve_abs, + gfc_resolve_char_achar, gfc_resolve_acos, gfc_resolve_acosh, + gfc_resolve_aimag, gfc_resolve_and, gfc_resolve_aint, gfc_resolve_all, + gfc_resolve_anint, gfc_resolve_any, gfc_resolve_asin, + gfc_resolve_asinh, gfc_resolve_atan, gfc_resolve_atanh, + gfc_resolve_atan2, gfc_resolve_bessel_n2, gfc_resolve_ceiling, + gfc_resolve_cmplx, gfc_resolve_complex, gfc_resolve_cos, + gfc_resolve_cosh, gfc_resolve_count, gfc_resolve_dble, + gfc_resolve_dim, gfc_resolve_dot_product, gfc_resolve_dprod, + gfc_resolve_exp, gfc_resolve_floor, gfc_resolve_hypot, + gfc_resolve_int, gfc_resolve_int2, gfc_resolve_int8, gfc_resolve_long, + gfc_resolve_log, gfc_resolve_log10, gfc_resolve_logical, + gfc_resolve_matmul, gfc_resolve_minmax, gfc_resolve_maxloc, + gfc_resolve_findloc, gfc_resolve_maxval, gfc_resolve_merge, + gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_mod, + gfc_resolve_modulo, gfc_resolve_nearest, gfc_resolve_or, + gfc_resolve_real, gfc_resolve_realpart, gfc_resolve_reshape, + gfc_resolve_sign, gfc_resolve_sin, gfc_resolve_sinh, gfc_resolve_sqrt, + gfc_resolve_tan, gfc_resolve_tanh, gfc_resolve_transpose, + gfc_resolve_trigd, gfc_resolve_xor, gfc_resolve_random_number): + Likewise. + * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise. + +2022-01-10 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/103366 + * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Allow unlimited + polymorphic actual argument passed to assumed type formal. + +2022-01-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103777 + * simplify.c (gfc_simplify_maskr): Check validity of argument 'I' + before simplifying. + (gfc_simplify_maskl): Likewise. + +2022-01-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/101762 + * expr.c (gfc_check_pointer_assign): For pointer initialization + targets, check that subscripts and substring indices in + specifications are constant expressions. + +2022-01-09 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/103789 + * trans-array.c (arg_evaluated_for_scalarization): Add MASKL, MASKR, + SCAN and VERIFY to the list of intrinsics whose KIND argument is to be + ignored. + +2022-01-07 Sandra Loosemore <sandra@codesourcery.com> + + PR fortran/103898 + * trans-intrinsic.c (gfc_conv_intrinsic_size): Make size_var + actually be a variable and fix surrounding code. + +2022-01-06 Steve Kargl <kargl@gcc.gnu.org> + Sandra Loosemore <sandra@codesourcery.com> + + PR fortran/103287 + * interface.c (argument_rank_mismatch): Replace incorrect assertion + with return. + +2022-01-05 Sandra Loosemore <sandra@codesourcery.com> + + PR fortran/103258 + * decl.c (gfc_match_char_spec): Suppress errors around call + to gfc_reduce_init_expr. + * error.c (gfc_query_suppress_errors): New. + * gfortran.h (gfc_query_suppress_errors): Declare. + * symbol.c (gfc_set_default_type): Check gfc_query_suppress_errors. + +2022-01-03 Sandra Loosemore <sandra@codesourcery.com> + + PR fortran/103390 + * expr.c (gfc_is_simply_contiguous): Make it smarter about + function calls. + * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Do not generate + copy loops for array expressions that are not "variables" (lvalues). + +2022-01-03 Jakub Jelinek <jakub@redhat.com> + + * 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) 2022 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d9fafccda63f6fd96eea0c5f6dde5ee9c11a5565..97887c90552b40c034f463eff250248365499ae2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,21437 +1,5 @@ -2022-12-30 Martin Uecker <uecker@tugraz.at> - - * gcc.dg/pr103770.c: New test. - * gcc.dg/pr103859.c: New test. - * gcc.dg/pr105065.c: New test. - -2022-12-30 Stam Markianos-Wright <stam.markianos-wright@arm.com> - - PR target/107714 - * gcc.target/arm/mve/intrinsics/vldst24q_reg_offset.c: New test. - -2022-12-30 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/102595 - * gfortran.dg/class_result_4.f90: Update error message check. - * gfortran.dg/pr85779_3.f90: Update error message check. - -2022-12-28 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/ashlti3-1.c: New test case. - -2022-12-28 Martin Liska <mliska@suse.cz> - - PR tree-optimization/108137 - * gcc.dg/tree-ssa/pr108137.c: New test. - -2022-12-27 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - PR target/95632 - PR target/106602 - * gcc.target/riscv/pr95632.c: New test. - * gcc.target/riscv/pr106602.c: New test. - -2022-12-27 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/rvv/vsetvl/riscv_vector.h: New. - -2022-12-27 Kewen Lin <linkw@linux.ibm.com> - Iain Sandoe <iain@sandoe.co.uk> - - PR target/106680 - * gcc.target/powerpc/pr106680-1.c: New test. - * gcc.target/powerpc/pr106680-2.c: New test. - * gcc.target/powerpc/pr106680-3.c: New test. - * gcc.target/powerpc/pr106680-4.c: New test. - -2022-12-26 David Edelsohn <dje.gcc@gmail.com> - - * gcc.dg/analyzer/fd-accept.c: Skip. - * gcc.dg/analyzer/fd-access-mode-target-headers.c: Skip. - * gcc.dg/analyzer/fd-bind.c: Skip. - * gcc.dg/analyzer/fd-connect.c: Skip. - * gcc.dg/analyzer/fd-datagram-socket.c: Skip. - * gcc.dg/analyzer/fd-glibc-datagram-client.c: Skip. - * gcc.dg/analyzer/fd-glibc-datagram-socket.c: Skip. - * gcc.dg/analyzer/fd-listen.c: Skip. - * gcc.dg/analyzer/fd-socket-misuse.c: Skip. - * gcc.dg/analyzer/fd-stream-socket-active-open.c: Skip. - * gcc.dg/analyzer/fd-stream-socket-passive-open.c: Skip. - * gcc.dg/analyzer/fd-stream-socket.c: Skip. - * gcc.dg/analyzer/fd-symbolic-socket.c: Skip. - * gcc.dg/analyzer/flex-with-call-summaries.c: Skip. - * gcc.dg/analyzer/getchar-1.c: Skip. - * gcc.dg/analyzer/isatty-1.c: Skip. - * gcc.dg/analyzer/pr94851-1.c: Skip. - * gcc.dg/analyzer/pragma-2.c: Skip. - -2022-12-25 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - * gcc.target/i386/sse-movss-4.c: New test case. - * gcc.target/i386/sse2-movsd-3.c: New test case. - -2022-12-24 Roger Sayle <roger@nextmovesoftware.com> - - PR target/107548 - * gcc.target/i386/pr107548-1.c: Match both vmovd and movd. - * gcc.target/i386/pr107548-2.c: Match both vpaddq and paddq. - -2022-12-23 Harald Anlauf <anlauf@gmx.de> - - PR fortran/108131 - * gfortran.dg/pr103505.f90: Adjust expected patterns. - * gfortran.dg/pr108131.f90: New test. - -2022-12-23 Patrick Palka <ppalka@redhat.com> - - PR c++/108116 - * g++.dg/cpp0x/nsdmi-template24.C: New test. - -2022-12-23 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/108068 - * gcc.dg/dfp/pr108068.c: New test. - -2022-12-23 Patrick Palka <ppalka@redhat.com> - - PR c++/107853 - * g++.dg/cpp2a/concepts-friend12.C: New test. - * g++.dg/cpp2a/concepts-friend13.C: New test. - -2022-12-23 Roger Sayle <roger@nextmovesoftware.com> - - PR target/107548 - * gcc.target/i386/pr107548-1.c: New test V4SI case. - * gcc.target/i386/pr107548-2.c: New test V2DI case. - -2022-12-23 H.J. Lu <hjl.tools@gmail.com> - Roger Sayle <roger@nextmovesoftware.com> - - PR target/106933 - PR target/106959 - * gcc.target/i386/pr106933-1.c: New test case. - * gcc.target/i386/pr106933-2.c: Likewise. - * gcc.target/i386/pr106959-1.c: Likewise. - * gcc.target/i386/pr106959-2.c: Likewise. - * gcc.target/i386/pr106959-3.c: Likewise. - -2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/base/vle-constraint-1.c: New test. - -2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/base/vsetvl-1.c: Add "__riscv_" prefix. - -2022-12-23 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/106731 - * gfortran.dg/pr106731.f90: New test. - -2022-12-23 Arsen Arsenović <arsen@aarsen.me> - Jonathan Wakely <jwakely@redhat.com> - - * g++.dg/contracts/contracts-access1.C: Convert to new default - violation handler. - * g++.dg/contracts/contracts-assume2.C: Ditto. - * g++.dg/contracts/contracts-config1.C: Ditto. - * g++.dg/contracts/contracts-constexpr1.C: Ditto. - * g++.dg/contracts/contracts-ctor-dtor1.C: Ditto. - * g++.dg/contracts/contracts-deduced2.C: Ditto. - * g++.dg/contracts/contracts-friend1.C: Ditto. - * g++.dg/contracts/contracts-multiline1.C: Ditto. - * g++.dg/contracts/contracts-post3.C: Ditto. - * g++.dg/contracts/contracts-pre10.C: Ditto. - * g++.dg/contracts/contracts-pre2.C: Ditto. - * g++.dg/contracts/contracts-pre2a2.C: Ditto. - * g++.dg/contracts/contracts-pre3.C: Ditto. - * g++.dg/contracts/contracts-pre4.C: Ditto. - * g++.dg/contracts/contracts-pre5.C: Ditto. - * g++.dg/contracts/contracts-pre7.C: Ditto. - * g++.dg/contracts/contracts-pre9.C: Ditto. - * g++.dg/contracts/contracts-redecl3.C: Ditto. - * g++.dg/contracts/contracts-redecl4.C: Ditto. - * g++.dg/contracts/contracts-redecl6.C: Ditto. - * g++.dg/contracts/contracts-redecl7.C: Ditto. - * g++.dg/contracts/contracts-tmpl-spec1.C: Ditto. - * g++.dg/contracts/contracts-tmpl-spec2.C: Ditto. - * g++.dg/contracts/contracts-tmpl-spec3.C: Ditto. - * g++.dg/contracts/contracts10.C: Ditto. - * g++.dg/contracts/contracts14.C: Ditto. - * g++.dg/contracts/contracts15.C: Ditto. - * g++.dg/contracts/contracts16.C: Ditto. - * g++.dg/contracts/contracts17.C: Ditto. - * g++.dg/contracts/contracts19.C: Ditto. - * g++.dg/contracts/contracts25.C: Ditto. - * g++.dg/contracts/contracts3.C: Ditto. - * g++.dg/contracts/contracts35.C: Ditto. - * g++.dg/contracts/contracts5.C: Ditto. - * g++.dg/contracts/contracts7.C: Ditto. - * g++.dg/contracts/contracts9.C: Ditto. - -2022-12-22 Jason Merrill <jason@redhat.com> - - * g++.dg/coroutines/coro.h: #include <stdio.h> instead of - declaring puts/printf. - * g++.dg/coroutines/torture/mid-suspend-destruction-0.C: - #include <stdio.h>. - * g++.dg/coroutines/pr95599.C: Use PRINT instead of puts. - * g++.dg/coroutines/torture/call-00-co-aw-arg.C: - * g++.dg/coroutines/torture/call-01-multiple-co-aw.C: - * g++.dg/coroutines/torture/call-02-temp-co-aw.C: - * g++.dg/coroutines/torture/call-03-temp-ref-co-aw.C: - * g++.dg/coroutines/torture/co-await-00-trivial.C: - * g++.dg/coroutines/torture/co-await-01-with-value.C: - * g++.dg/coroutines/torture/co-await-02-xform.C: - * g++.dg/coroutines/torture/co-await-03-rhs-op.C: - * g++.dg/coroutines/torture/co-await-04-control-flow.C: - * g++.dg/coroutines/torture/co-await-05-loop.C: - * g++.dg/coroutines/torture/co-await-06-ovl.C: - * g++.dg/coroutines/torture/co-await-07-tmpl.C: - * g++.dg/coroutines/torture/co-await-08-cascade.C: - * g++.dg/coroutines/torture/co-await-09-pair.C: - * g++.dg/coroutines/torture/co-await-11-forwarding.C: - * g++.dg/coroutines/torture/co-await-12-operator-2.C: - * g++.dg/coroutines/torture/co-await-13-return-ref.C: - * g++.dg/coroutines/torture/co-await-14-return-ref-to-auto.C: - * g++.dg/coroutines/torture/pr95003.C: Likewise. - -2022-12-22 Harald Anlauf <anlauf@gmx.de> - - PR fortran/69604 - * gfortran.dg/statement_function_4.f90: New test. - -2022-12-22 Richard Biener <rguenther@suse.de> - - PR testsuite/107809 - * gcc.dg/vect/vect-recurr-1.c: Require vect_perm. - * gcc.dg/vect/vect-recurr-2.c: Likewise. - * gcc.dg/vect/vect-recurr-3.c: Likewise. - * gcc.dg/vect/vect-recurr-4.c: Likewise. - * gcc.dg/vect/vect-recurr-5.c: Likewise. - * gcc.dg/vect/vect-recurr-6.c: Likewise. - -2022-12-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/108166 - * g++.dg/torture/pr108166.C: New test. - -2022-12-22 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/108193 - * gfortran.dg/pr108193.f90: New test. - -2022-12-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107451 - * gcc.dg/torture/pr107451.c: New testcase. - -2022-12-21 Jonathan Yong <10walls@gmail.com> - - * gcc.c-torture/compile/pr55569.c: fix excess errors. - -2022-12-21 Andrew Pinski <apinski@marvell.com> - - * gcc.c-torture/compile/vector-shift-1.c: New test. - -2022-12-21 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/read_dir-aux.c: New; provides my_mkdir, my_rmdir, - my_verify_not_exists and expect_open_to_fail. - * gfortran.dg/read_dir.f90: Call those; expect that opening a - directory fails on Windows. - -2022-12-21 Kewen Lin <linkw@linux.ibm.com> - - PR target/106736 - * gcc.target/powerpc/pr106736-1.c: New test. - * gcc.target/powerpc/pr106736-2.c: Likewise. - * gcc.target/powerpc/pr106736-3.c: Likewise. - * gcc.target/powerpc/pr106736-4.c: Likewise. - * gcc.target/powerpc/pr106736-5.c: Likewise. - -2022-12-21 Jason Merrill <jason@redhat.com> - - PR c++/84471 - PR c++/107504 - * g++.dg/tree-ssa/value-expr1.C: New test. - * g++.dg/tree-ssa/value-expr2.C: New test. - * g++.dg/analyzer/pr93212.C: Move warning. - -2022-12-20 Patrick Palka <ppalka@redhat.com> - - PR c++/101886 - * g++.dg/concepts/diagnostic12.C: Adjust expected order of - template parameters within pretty printed parameter mapping. - * g++.dg/concepts/auto6.C: New test. - -2022-12-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95375 - * gfortran.dg/bind_c_procs_4.f90: New test. - -2022-12-20 Iain Sandoe <iain@sandoe.co.uk> - - * g++.dg/coroutines/torture/extern-c-coroutine.C: New test. - -2022-12-20 Patrick Palka <ppalka@redhat.com> - - PR c++/103346 - PR c++/104278 - PR c++/102553 - * g++.dg/cpp2a/nontype-class52a.C: New test. - * g++.dg/cpp2a/nontype-class53.C: New test. - * g++.dg/cpp2a/nontype-class54.C: New test. - * g++.dg/cpp2a/nontype-class55.C: New test. - -2022-12-20 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/108139 - * gcc.dg/pr108139.c: New. - -2022-12-20 Jiufu Guo <guojiufu@linux.ibm.com> - - PR target/103743 - * gcc.target/powerpc/pr103743.c: New test. - * gcc.target/powerpc/pr103743_1.c: New test. - -2022-12-19 Patrick Palka <ppalka@redhat.com> - - PR c++/100881 - * g++.dg/cpp2a/srcloc3.C: Adjust expected note s/evaluating/using. - * g++.dg/cpp2a/srcloc4.C: Likewise. - * g++.dg/cpp2a/srcloc5.C: Likewise. - * g++.dg/cpp2a/srcloc6.C: Likewise. - * g++.dg/cpp2a/srcloc7.C: Likewise. - * g++.dg/cpp2a/srcloc8.C: Likewise. - * g++.dg/cpp2a/srcloc9.C: Likewise. - * g++.dg/cpp2a/srcloc10.C: Likewise. - * g++.dg/cpp2a/srcloc11.C: Likewise. - * g++.dg/cpp2a/srcloc12.C: Likewise. - * g++.dg/cpp2a/srcloc13.C: Likewise. - * g++.dg/modules/pr100881_a.C: New test. - * g++.dg/modules/pr100881_b.C: New test. - -2022-12-19 Patrick Palka <ppalka@redhat.com> - - PR c++/101886 - * g++.dg/concepts/auto5.C: New test. - -2022-12-19 Jakub Jelinek <jakub@redhat.com> - - PR c/108043 - * gcc.dg/pr108043.c: New test. - * gcc.dg/c99-complit-2.c (foo): Adjust expected diagnostics for - complit with function type. - -2022-12-19 Marek Polacek <polacek@redhat.com> - - PR c/98487 - * c-c++-common/Wsuggest-attribute-1.c: New test. - -2022-12-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/108164 - * gcc.dg/pr108164.c: New testcase. - -2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-10.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-11.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-12.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-13.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-14.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-15.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-16.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-17.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-18.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-19.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-20.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-21.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-22.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-23.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-27.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-28.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-29.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-30.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-31.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-32.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-34.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-35.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-37.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-38.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-40.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-41.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-42.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-43.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-44.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-45.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-46.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-9.c: New test. - -2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-13.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-14.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-15.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-16.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-17.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-18.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-19.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-20.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-21.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-22.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-23.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-24.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-25.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-26.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-27.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-28.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-10.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-11.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-12.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-9.c: New test. - -2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-10.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-11.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-12.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-13.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-14.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-15.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-16.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-17.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-18.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-19.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-20.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-21.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-22.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-23.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-24.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-25.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-26.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-27.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-28.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-9.c: New test. - -2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-10.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-11.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-12.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-13.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-9.c: New test. - -2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/rvv.exp: Adjust to enable tests for VSETVL PASS. - * gcc.target/riscv/rvv/vsetvl/dump-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-10.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-11.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-12.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-13.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-14.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-15.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-16.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-9.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-8.c: New test. - -2022-12-19 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/rvv/base/mov-1.c: Simplify operand check. - * gcc.target/riscv/rvv/base/mov-10.c: Ditto. - * gcc.target/riscv/rvv/base/mov-11.c: Ditto. - * gcc.target/riscv/rvv/base/mov-12.c: Ditto. - * gcc.target/riscv/rvv/base/mov-2.c: Ditto. - * gcc.target/riscv/rvv/base/mov-3.c: Ditto. - * gcc.target/riscv/rvv/base/mov-4.c: Ditto. - * gcc.target/riscv/rvv/base/mov-5.c: Ditto. - * gcc.target/riscv/rvv/base/mov-6.c: Ditto. - * gcc.target/riscv/rvv/base/mov-8.c: Ditto. - * gcc.target/riscv/rvv/base/mov-9.c: Ditto. - * gcc.target/riscv/rvv/base/vread_csr.c: Ditto. - * gcc.target/riscv/rvv/base/vsetvl-1.c: Ditto. - * gcc.target/riscv/rvv/base/vwrite_csr.c: Ditto. - -2022-12-19 Jakub Jelinek <jakub@redhat.com> - - PR testsuite/108151 - * gcc.dg/pr64536.c (bar): Cast long to __INTPTR_TYPE__ - before casting to long *. - -2022-12-19 Jakub Jelinek <jakub@redhat.com> - - PR testsuite/108151 - * gcc.dg/pr64536.c (bar): Use casts to __INTPTR_TYPE__ rather than - long when casting pointer to integral type. - -2022-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - PR target/108140 - * gcc.target/aarch64/acle/pr108140.c: New test. - -2022-12-19 Jakub Jelinek <jakub@redhat.com> - - PR fortran/107397 - * gfortran.dg/pr107397.f90: Adjust expected diagnostic wording and - add space between dg-error string and closing }. - -2022-12-19 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/rvv/base/vread_csr.c: Use specific option - instead. - * gcc.target/riscv/rvv/base/vwrite_csr.c: Ditto. - -2022-12-19 Jiufu Guo <guojiufu@linux.ibm.com> - - PR target/106708 - * gcc.target/powerpc/pr106708.c: New test. - -2022-12-19 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/rvv/base/mov-1.c: Use double quotes to - include riscv_vector.h rather than angle brackets. - * gcc.target/riscv/rvv/base/mov-10.c: Ditto. - * gcc.target/riscv/rvv/base/mov-11.c: Ditto. - * gcc.target/riscv/rvv/base/mov-12.c: Ditto. - * gcc.target/riscv/rvv/base/mov-13.c: Ditto. - * gcc.target/riscv/rvv/base/mov-2.c: Ditto. - * gcc.target/riscv/rvv/base/mov-3.c: Ditto. - * gcc.target/riscv/rvv/base/mov-4.c: Ditto. - * gcc.target/riscv/rvv/base/mov-5.c: Ditto. - * gcc.target/riscv/rvv/base/mov-6.c: Ditto. - * gcc.target/riscv/rvv/base/mov-7.c: Ditto. - * gcc.target/riscv/rvv/base/mov-8.c: Ditto. - * gcc.target/riscv/rvv/base/mov-9.c: Ditto. - * gcc.target/riscv/rvv/base/vread_csr.c: Ditto. - * gcc.target/riscv/rvv/base/vsetvl-1.c: Ditto. - * gcc.target/riscv/rvv/base/vwrite_csr.c: Ditto. - -2022-12-18 Gaius Mulley <gaiusmod2@gmail.com> - - * gm2/pimcoroutines/run/pass/testtime.mod: Reduce sleep times in - the test by a factor of 25. - -2022-12-18 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/107397 - * gfortran.dg/pr107397.f90: New test. - -2022-12-17 Patrick Palka <ppalka@redhat.com> - - PR c++/107437 - PR c++/87765 - * g++.dg/cpp1y/lambda-generic-107437.C: New test. - * g++.dg/cpp1z/constexpr-lambda26.C: Remove dg-ice. - -2022-12-16 John David Anglin <danglin@gcc.gnu.org> - - * lib/target-supports.exp (check_effective_target_static): Return 0 - on hppa*-*-*. - -2022-12-16 Andrew Pinski <pinskia@gmail.com> - Iain Sandoe <iain@sandoe.co.uk> - - PR c++/107768 - * g++.dg/coroutines/pr107768.C: New test. - -2022-12-16 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106479 - * gcc.dg/analyzer/pr104308.c (test_memmove_within_uninit): Remove - xfail on region creation event. - -2022-12-16 Vladimir N. Makarov <vmakarov@redhat.com> - - Revert: - 2022-12-16 Vladimir N. Makarov <vmakarov@redhat.com> - - * gcc.target/avr/pr90706.c: New. - -2022-12-16 Qing Zhao <qing.zhao@oracle.com> - - * gcc.dg/Warray-bounds-flex-arrays-1.c: Update testing case with - -Wstrict-flex-arrays. - * gcc.dg/Warray-bounds-flex-arrays-2.c: Likewise. - * gcc.dg/Warray-bounds-flex-arrays-3.c: Likewise. - * gcc.dg/Warray-bounds-flex-arrays-4.c: Likewise. - * gcc.dg/Warray-bounds-flex-arrays-5.c: Likewise. - * gcc.dg/Warray-bounds-flex-arrays-6.c: Likewise. - * c-c++-common/Wstrict-flex-arrays.c: New test. - * gcc.dg/Wstrict-flex-arrays-2.c: New test. - * gcc.dg/Wstrict-flex-arrays-3.c: New test. - * gcc.dg/Wstrict-flex-arrays.c: New test. - -2022-12-16 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/106751 - * gcc.c-torture/compile/pr106751.c: New test. - -2022-12-16 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/cmpccxadd-1.c: Fix intrin name. - * gcc.target/i386/cmpccxadd-2.c: Ditto. - -2022-12-15 Patrick Palka <ppalka@redhat.com> - - PR c++/102104 - PR c++/108090 - * g++.dg/cpp1z/using-variadic1.C: New test. - * g++.dg/cpp1z/using-variadic1a.C: New test. - * g++.dg/cpp1z/using-variadic1b.C: New test. - * g++.dg/cpp1z/using-variadic1c.C: New test. - * g++.dg/cpp1z/using-variadic2.C: New test. - * g++.dg/cpp1z/using-variadic3.C: New test. - -2022-12-15 Arsen Arsenović <arsen@aarsen.me> - - * g++.dg/contracts/contracts-externC.C: New test. - -2022-12-15 Patrick Palka <ppalka@redhat.com> - - PR c++/107188 - * g++.dg/cpp2a/concepts-placeholder11.C: New test. - -2022-12-15 Patrick Palka <ppalka@redhat.com> - - PR c++/100295 - PR c++/107579 - * g++.dg/cpp1z/constexpr-if-lambda5.C: New test. - -2022-12-15 Patrick Palka <ppalka@redhat.com> - - PR c++/105518 - * g++.dg/cpp0x/lambda/lambda-alias1.C: New test. - -2022-12-15 Patrick Palka <ppalka@redhat.com> - - PR c++/108104 - * g++.dg/template/ptrmem33.C: New test. - -2022-12-15 Vladimir N. Makarov <vmakarov@redhat.com> - - * gcc.target/avr/pr90706.c: New. - -2022-12-15 Jakub Jelinek <jakub@redhat.com> - - PR c++/107065 - * g++.dg/cpp0x/pr107065.C: New test. - -2022-12-15 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/108075 - * g++.dg/cpp23/ext-floating13.C: New test. - -2022-12-15 Jakub Jelinek <jakub@redhat.com> - - * lib/target-supports.exp (check_compile): Further quoting - fixes for /* Assembly, /* ObjC and (* Modula-2 *) checks. - -2022-12-15 Jakub Jelinek <jakub@redhat.com> - - * lib/target-supports.exp (check_compile): Add support for - Rust and Modula-2. Use \* rather than * for /* comment for - Assembly. - -2022-12-15 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/108095 - * gcc.dg/pr108095.c: New test. - -2022-12-15 Jason Merrill <jason@redhat.com> - - PR c++/108071 - PR c++/105838 - * g++.dg/cpp0x/initlist131.C: New test. - * g++.dg/cpp0x/initlist132.C: New test. - * g++.dg/cpp0x/initlist133.C: New test. - -2022-12-14 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/108065 - * gfortran.dg/analyzer/pr108065.f90: New test. - -2022-12-14 David Faust <david.faust@oracle.com> - - PR target/106773 - * gcc.dg/debug/btf/btf-datasec-2.c: New test. - * gcc.dg/debug/btf/btf-function-6.c: New test. - -2022-12-14 David Faust <david.faust@oracle.com> - - PR target/106773 - * gcc.dg/debug/btf/btf-pr106773.c: New test. - -2022-12-14 David Faust <david.faust@oracle.com> - - PR target/106773 - * gcc.dg/debug/btf/btf-variables-4.c: New test. - * gcc.dg/debug/btf/btf-variables-5.c: New test. - -2022-12-14 Martin Jambor <mjambor@suse.cz> - - * g++.dg/ipa/ipa-sra-6.C: New test. - -2022-12-14 Martin Jambor <mjambor@suse.cz> - - * gcc.dg/ipa/ipa-sra-29.c: New test. - -2022-12-14 Gaius Mulley <gaiusmod2@gmail.com> - - * lib/gm2-dg.exp: New file. - * lib/gm2.exp: New file. - * lib/gm2-simple.exp: New file. - * lib/gm2-torture.exp: New file. - * gm2/calling-c/datatypes/unbounded/run/pass/c.c: New file. - * gm2/calling-c/datatypes/unbounded/run/pass/c.def: New file. - * gm2/calling-c/datatypes/unbounded/run/pass/calling-c-datatypes-unbounded-run-pass.exp: - New file. - * gm2/calling-c/datatypes/unbounded/run/pass/m.mod: New file. - * gm2/case/pass/case-pass.exp: New file. - * gm2/case/pass/testcase1.mod: New file. - * gm2/case/pass/testcase2.mod: New file. - * gm2/case/pass/testcase3.mod: New file. - * gm2/case/pass/testcase4.mod: New file. - * gm2/complex/fail/var1.mod: New file. - * gm2/complex/pass/arith.mod: New file. - * gm2/complex/pass/arith2.mod: New file. - * gm2/complex/pass/arith3.mod: New file. - * gm2/complex/pass/arith4.mod: New file. - * gm2/complex/pass/arith5.mod: New file. - * gm2/complex/pass/arith6.mod: New file. - * gm2/complex/pass/complex-pass.exp: New file. - * gm2/complex/pass/consts.mod: New file. - * gm2/complex/pass/consts2.mod: New file. - * gm2/complex/pass/consts3.mod: New file. - * gm2/complex/pass/tinycabs.mod: New file. - * gm2/complex/pass/var1.mod: New file. - * gm2/complex/pass/var2.mod: New file. - * gm2/complex/pass/var3.mod: New file. - * gm2/complex/pass/var4.mod: New file. - * gm2/complex/pass/var5.mod: New file. - * gm2/complex/pass/var6.mod: New file. - * gm2/complex/pass/var7.mod: New file. - * gm2/complex/pass/var8.mod: New file. - * gm2/complex/run/pass/arith3.mod: New file. - * gm2/complex/run/pass/arith4.mod: New file. - * gm2/complex/run/pass/arith5.mod: New file. - * gm2/complex/run/pass/arith6.mod: New file. - * gm2/complex/run/pass/arith7.mod: New file. - * gm2/complex/run/pass/arith8.mod: New file. - * gm2/complex/run/pass/complex-run-pass.exp: New file. - * gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp: New file. - * gm2/coroutines/pim/run/pass/testiotransfer.mod: New file. - * gm2/coroutines/pim/run/pass/testtransfer.mod: New file. - * gm2/cpp/fail/another.h: New file. - * gm2/cpp/fail/fail1.mod: New file. - * gm2/cpp/longcard2.mod: New file. - * gm2/cpp/longstrimp.mod: New file. - * gm2/cpp/pass/arrayhuge.mod: New file. - * gm2/cpp/pass/arrayhuge2.mod: New file. - * gm2/cpp/pass/cpp-pass.exp: New file. - * gm2/cpp/pass/cpp.mod: New file. - * gm2/cpp/pass/cpph.mod: New file. - * gm2/cpp/pass/subaddr.mod: New file. - * gm2/cpp/pass/testcpp.mod: New file. - * gm2/cpp/pass/testcpp2.mod: New file. - * gm2/cpp/setchar2.mod: New file. - * gm2/cpp/setchar6.mod: New file. - * gm2/cse/fail/cse-fail.exp: New file. - * gm2/cse/fail/testcse38.mod: New file. - * gm2/cse/pass/cse-pass.exp: New file. - * gm2/cse/pass/m2t.c: New file. - * gm2/cse/pass/testb.mod: New file. - * gm2/cse/pass/testbuiltin.def: New file. - * gm2/cse/pass/testbuiltin.mod: New file. - * gm2/cse/pass/testcse.def: New file. - * gm2/cse/pass/testcse.mod: New file. - * gm2/cse/pass/testcse10.mod: New file. - * gm2/cse/pass/testcse11.mod: New file. - * gm2/cse/pass/testcse12.mod: New file. - * gm2/cse/pass/testcse13.mod: New file. - * gm2/cse/pass/testcse14.mod: New file. - * gm2/cse/pass/testcse15.mod: New file. - * gm2/cse/pass/testcse16.mod: New file. - * gm2/cse/pass/testcse17.mod: New file. - * gm2/cse/pass/testcse18.mod: New file. - * gm2/cse/pass/testcse19.mod: New file. - * gm2/cse/pass/testcse2.mod: New file. - * gm2/cse/pass/testcse20.mod: New file. - * gm2/cse/pass/testcse21.mod: New file. - * gm2/cse/pass/testcse22.mod: New file. - * gm2/cse/pass/testcse23.mod: New file. - * gm2/cse/pass/testcse24.mod: New file. - * gm2/cse/pass/testcse25.mod: New file. - * gm2/cse/pass/testcse26.mod: New file. - * gm2/cse/pass/testcse27.mod: New file. - * gm2/cse/pass/testcse28.mod: New file. - * gm2/cse/pass/testcse29.mod: New file. - * gm2/cse/pass/testcse3.mod: New file. - * gm2/cse/pass/testcse31.mod: New file. - * gm2/cse/pass/testcse32.mod: New file. - * gm2/cse/pass/testcse33.mod: New file. - * gm2/cse/pass/testcse34.mod: New file. - * gm2/cse/pass/testcse35.mod: New file. - * gm2/cse/pass/testcse36.mod: New file. - * gm2/cse/pass/testcse37.mod: New file. - * gm2/cse/pass/testcse39.mod: New file. - * gm2/cse/pass/testcse4.c: New file. - * gm2/cse/pass/testcse4.mod: New file. - * gm2/cse/pass/testcse40.mod: New file. - * gm2/cse/pass/testcse41.mod: New file. - * gm2/cse/pass/testcse42.mod: New file. - * gm2/cse/pass/testcse43.mod: New file. - * gm2/cse/pass/testcse44.mod: New file. - * gm2/cse/pass/testcse45.mod: New file. - * gm2/cse/pass/testcse46.mod: New file. - * gm2/cse/pass/testcse47.mod: New file. - * gm2/cse/pass/testcse48.mod: New file. - * gm2/cse/pass/testcse49.mod: New file. - * gm2/cse/pass/testcse5.c: New file. - * gm2/cse/pass/testcse5.mod: New file. - * gm2/cse/pass/testcse50.def: New file. - * gm2/cse/pass/testcse50.mod: New file. - * gm2/cse/pass/testcse51.mod: New file. - * gm2/cse/pass/testcse52.def: New file. - * gm2/cse/pass/testcse52.mod: New file. - * gm2/cse/pass/testcse53.def: New file. - * gm2/cse/pass/testcse53.mod: New file. - * gm2/cse/pass/testcse6.c: New file. - * gm2/cse/pass/testcse6.mod: New file. - * gm2/cse/pass/testcse7.c: New file. - * gm2/cse/pass/testcse7.mod: New file. - * gm2/cse/pass/testcse8.c: New file. - * gm2/cse/pass/testcse8.mod: New file. - * gm2/cse/pass/testcse9.c: New file. - * gm2/cse/pass/testsize.mod: New file. - * gm2/dynamic/pass/add.mod: New file. - * gm2/dynamic/pass/dynamic-pass.exp: New file. - * gm2/dynamic/pass/prog21.mod: New file. - * gm2/dynamic/pass/testarray.mod: New file. - * gm2/dynamic/pass/testarray2.mod: New file. - * gm2/dynamic/pass/testarray3.mod: New file. - * gm2/dynamic/pass/testarray4.mod: New file. - * gm2/dynamic/pass/testarray6.mod: New file. - * gm2/dynamic/pass/testbec.mod: New file. - * gm2/dynamic/pass/testbec10.mod: New file. - * gm2/dynamic/pass/testbec11.mod: New file. - * gm2/dynamic/pass/testbec12.mod: New file. - * gm2/dynamic/pass/testbec13.mod: New file. - * gm2/dynamic/pass/testbec14.mod: New file. - * gm2/dynamic/pass/testbec15.mod: New file. - * gm2/dynamic/pass/testbec16.mod: New file. - * gm2/dynamic/pass/testbec17.mod: New file. - * gm2/dynamic/pass/testbec18.mod: New file. - * gm2/dynamic/pass/testbec19.mod: New file. - * gm2/dynamic/pass/testbec2.mod: New file. - * gm2/dynamic/pass/testbec20.mod: New file. - * gm2/dynamic/pass/testbec21.mod: New file. - * gm2/dynamic/pass/testbec22.mod: New file. - * gm2/dynamic/pass/testbec23.mod: New file. - * gm2/dynamic/pass/testbec24.mod: New file. - * gm2/dynamic/pass/testbec25.mod: New file. - * gm2/dynamic/pass/testbec26.mod: New file. - * gm2/dynamic/pass/testbec27.mod: New file. - * gm2/dynamic/pass/testbec28.mod: New file. - * gm2/dynamic/pass/testbec29.mod: New file. - * gm2/dynamic/pass/testbec3.mod: New file. - * gm2/dynamic/pass/testbec30.mod: New file. - * gm2/dynamic/pass/testbec31.mod: New file. - * gm2/dynamic/pass/testbec32.mod: New file. - * gm2/dynamic/pass/testbec33.mod: New file. - * gm2/dynamic/pass/testbec34.mod: New file. - * gm2/dynamic/pass/testbec35.mod: New file. - * gm2/dynamic/pass/testbec36.mod: New file. - * gm2/dynamic/pass/testbec37.mod: New file. - * gm2/dynamic/pass/testbec38.mod: New file. - * gm2/dynamic/pass/testbec39.mod: New file. - * gm2/dynamic/pass/testbec4.mod: New file. - * gm2/dynamic/pass/testbec40.mod: New file. - * gm2/dynamic/pass/testbec41.mod: New file. - * gm2/dynamic/pass/testbec42.mod: New file. - * gm2/dynamic/pass/testbec43.mod: New file. - * gm2/dynamic/pass/testbec44.mod: New file. - * gm2/dynamic/pass/testbec45.mod: New file. - * gm2/dynamic/pass/testbec5.mod: New file. - * gm2/dynamic/pass/testbec6.mod: New file. - * gm2/dynamic/pass/testbec7.mod: New file. - * gm2/dynamic/pass/testbec8.mod: New file. - * gm2/dynamic/pass/testbec9.mod: New file. - * gm2/dynamic/pass/testdavid.mod: New file. - * gm2/dynamic/pass/testdiv.mod: New file. - * gm2/dynamic/pass/testexp.mod: New file. - * gm2/dynamic/pass/testfor.mod: New file. - * gm2/dynamic/pass/testfor2.mod: New file. - * gm2/dynamic/pass/testfunc.mod: New file. - * gm2/dynamic/pass/testfunc2.mod: New file. - * gm2/dynamic/pass/testfunc3.mod: New file. - * gm2/dynamic/pass/testfunc4.mod: New file. - * gm2/dynamic/pass/testfunc5.mod: New file. - * gm2/dynamic/pass/testfunc6.mod: New file. - * gm2/dynamic/pass/testif.mod: New file. - * gm2/dynamic/pass/testit.mod: New file. - * gm2/dynamic/pass/testloop.mod: New file. - * gm2/dynamic/pass/testloop2.mod: New file. - * gm2/dynamic/pass/testloop3.mod: New file. - * gm2/dynamic/pass/testloop4.mod: New file. - * gm2/dynamic/pass/testloop5.mod: New file. - * gm2/dynamic/pass/testmin.mod: New file. - * gm2/dynamic/pass/testnum4.mod: New file. - * gm2/dynamic/pass/testord.mod: New file. - * gm2/dynamic/pass/testparam.mod: New file. - * gm2/dynamic/pass/testparam2.mod: New file. - * gm2/dynamic/pass/testproc.mod: New file. - * gm2/dynamic/pass/testproc2.c: New file. - * gm2/dynamic/pass/testproc2.def: New file. - * gm2/dynamic/pass/testproc2.mod: New file. - * gm2/dynamic/pass/testscn.mod: New file. - * gm2/dynamic/pass/testset.mod: New file. - * gm2/dynamic/pass/testset2.mod: New file. - * gm2/dynamic/pass/testset3.mod: New file. - * gm2/dynamic/pass/teststr.c: New file. - * gm2/dynamic/pass/teststr.mod: New file. - * gm2/dynamic/pass/teststr2.mod: New file. - * gm2/dynamic/pass/teststring.mod: New file. - * gm2/dynamic/pass/testunbounded.mod: New file. - * gm2/dynamic/pass/testwith.mod: New file. - * gm2/dynamic/pass/testzero.mod: New file. - * gm2/dynamic/pass/wc.mod: New file. - * gm2/embedded/pass/embedded-pass.exp: New file. - * gm2/embedded/pass/varataddress.mod: New file. - * gm2/embedded/pass/varataddress1.mod: New file. - * gm2/embedded/pass/varataddress2.mod: New file. - * gm2/embedded/pass/varataddress3.mod: New file. - * gm2/errors/fail/array1.mod: New file. - * gm2/errors/fail/badexpr.mod: New file. - * gm2/errors/fail/badfor.mod: New file. - * gm2/errors/fail/badhigh.mod: New file. - * gm2/errors/fail/badshift.mod: New file. - * gm2/errors/fail/badsubexpradr.mod: New file. - * gm2/errors/fail/binaryconst.mod: New file. - * gm2/errors/fail/binarygeneric.mod: New file. - * gm2/errors/fail/binarygenericconst.mod: New file. - * gm2/errors/fail/end.mod: New file. - * gm2/errors/fail/errors-fail.exp: New file. - * gm2/errors/fail/mismatched.mod: New file. - * gm2/errors/fail/mismatchedproc.mod: New file. - * gm2/errors/fail/nestedproc4.mod: New file. - * gm2/errors/fail/nomodule.mod: New file. - * gm2/errors/fail/proctype.mod: New file. - * gm2/errors/fail/prog110.mod: New file. - * gm2/errors/fail/prog111.mod: New file. - * gm2/errors/fail/prog113.mod: New file. - * gm2/errors/fail/prog114.mod: New file. - * gm2/errors/fail/testaddress.mod: New file. - * gm2/errors/fail/testarray.mod: New file. - * gm2/errors/fail/testbit.mod: New file. - * gm2/errors/fail/testbit2.mod: New file. - * gm2/errors/fail/testcase.mod: New file. - * gm2/errors/fail/testcomment.mod: New file. - * gm2/errors/fail/testcomment2.mod: New file. - * gm2/errors/fail/testcomment3.mod: New file. - * gm2/errors/fail/testconst.mod: New file. - * gm2/errors/fail/testdyn.mod: New file. - * gm2/errors/fail/testdyn2.mod: New file. - * gm2/errors/fail/testdyn3.mod: New file. - * gm2/errors/fail/testexp.mod: New file. - * gm2/errors/fail/testfio.mod: New file. - * gm2/errors/fail/testimport.mod: New file. - * gm2/errors/fail/testimport2.def: New file. - * gm2/errors/fail/testimport2.mod: New file. - * gm2/errors/fail/testinit.mod: New file. - * gm2/errors/fail/testmodule.mod: New file. - * gm2/errors/fail/testnil.mod: New file. - * gm2/errors/fail/testnil2.mod: New file. - * gm2/errors/fail/testparam.mod: New file. - * gm2/errors/fail/testproc.mod: New file. - * gm2/errors/fail/testproc2.mod: New file. - * gm2/errors/fail/testsize.mod: New file. - * gm2/errors/fail/teststring.mod: New file. - * gm2/errors/fail/testsub3.mod: New file. - * gm2/errors/fail/testsub4.mod: New file. - * gm2/errors/fail/testtype.mod: New file. - * gm2/errors/fail/testvar.mod: New file. - * gm2/errors/fail/testwith.mod: New file. - * gm2/errors/fail/testwrite.mod: New file. - * gm2/errors/fail/type.mod: New file. - * gm2/errors/fail/unarygeneric.mod: New file. - * gm2/errors/mustfail: New file. - * gm2/errors/options: New file. - * gm2/errors/testchar.mod: New file. - * gm2/errors/testsub2.mod: New file. - * gm2/examples/callingC/pass/examples-callingC-pass.exp: New file. - * gm2/examples/callingC/pass/hello.mod: New file. - * gm2/examples/callingC/pass/libprintf.def: New file. - * gm2/examples/callingC/run/pass/c.c: New file. - * gm2/examples/callingC/run/pass/c.def: New file. - * gm2/examples/callingC/run/pass/examples-callingC-run-pass.exp: New - file. - * gm2/examples/callingC/run/pass/hello.mod: New file. - * gm2/examples/callingC/run/pass/libprintf.def: New file. - * gm2/examples/callingC/run/pass/m.mod: New file. - * gm2/examples/cpp/pass/examples-cpp-pass.exp: New file. - * gm2/examples/cpp/pass/hello.mod: New file. - * gm2/examples/cppDef/pass/a.def: New file. - * gm2/examples/cppDef/pass/a.mod: New file. - * gm2/examples/cppDef/pass/b.mod: New file. - * gm2/examples/cppDef/pass/examples-cppDef-pass.exp: New file. - * gm2/examples/cppDef/pass/libprintf.def: New file. - * gm2/examples/hello/pass/examples-hello-pass.exp: New file. - * gm2/examples/hello/pass/hello.mod: New file. - * gm2/examples/map/pass/AdvMap.def: New file. - * gm2/examples/map/pass/AdvMap.mod: New file. - * gm2/examples/map/pass/BoxMap.def: New file. - * gm2/examples/map/pass/BoxMap.mod: New file. - * gm2/examples/map/pass/Chance.def: New file. - * gm2/examples/map/pass/Chance.mod: New file. - * gm2/examples/map/pass/Find.def: New file. - * gm2/examples/map/pass/Find.mod: New file. - * gm2/examples/map/pass/Geometry.def: New file. - * gm2/examples/map/pass/Geometry.mod: New file. - * gm2/examples/map/pass/MakeBoxes.def: New file. - * gm2/examples/map/pass/MakeBoxes.mod: New file. - * gm2/examples/map/pass/Map.mod: New file. - * gm2/examples/map/pass/RoomMap.def: New file. - * gm2/examples/map/pass/RoomMap.mod: New file. - * gm2/examples/map/pass/Semantic.mod: New file. - * gm2/examples/map/pass/StoreCoord.def: New file. - * gm2/examples/map/pass/StoreCoord.mod: New file. - * gm2/examples/map/pass/StoreCoords.def: New file. - * gm2/examples/map/pass/StoreCoords.mod: New file. - * gm2/examples/map/pass/WriteMap.def: New file. - * gm2/examples/map/pass/WriteMap.mod: New file. - * gm2/examples/map/pass/examples-map-pass.exp: New file. - * gm2/examples/map/pass/makemaps: New file. - * gm2/examples/map/pass/testch2.mod: New file. - * gm2/examples/map/pass/testchan.mod: New file. - * gm2/examples/map/pass/testcoor.mod: New file. - * gm2/examples/map/pass/testmaps: New file. - * gm2/exceptions/run/pass/cpp.cpp: New file. - * gm2/exceptions/run/pass/cpp.def: New file. - * gm2/exceptions/run/pass/exceptions-run-pass.exp: New file. - * gm2/exceptions/run/pass/libexcept.mod: New file. - * gm2/exceptions/run/pass/m2test.def: New file. - * gm2/exceptions/run/pass/m2test.mod: New file. - * gm2/exceptions/run/pass/mycpp.cpp: New file. - * gm2/exceptions/run/pass/mycpp.def: New file. - * gm2/exceptions/run/pass/mym2.mod: New file. - * gm2/exceptions/run/pass/mym2a.mod: New file. - * gm2/extensions/pass/align.mod: New file. - * gm2/extensions/pass/align2.mod: New file. - * gm2/extensions/pass/card16p.mod: New file. - * gm2/extensions/pass/card32p.mod: New file. - * gm2/extensions/pass/card64p.mod: New file. - * gm2/extensions/pass/card8p.mod: New file. - * gm2/extensions/pass/co.def: New file. - * gm2/extensions/pass/co.mod: New file. - * gm2/extensions/pass/extensions-pass.exp: New file. - * gm2/extensions/pass/frame.mod: New file. - * gm2/extensions/pass/hello.mod: New file. - * gm2/extensions/pass/int16p.mod: New file. - * gm2/extensions/pass/int32p.mod: New file. - * gm2/extensions/pass/int64p.mod: New file. - * gm2/extensions/pass/int8p.mod: New file. - * gm2/extensions/pass/intsize8.mod: New file. - * gm2/extensions/pass/jmp.mod: New file. - * gm2/extensions/pass/libc.def: New file. - * gm2/extensions/pass/optparam.mod: New file. - * gm2/extensions/pass/optparam2.mod: New file. - * gm2/extensions/pass/return.mod: New file. - * gm2/extensions/pass/set8.mod: New file. - * gm2/extensions/pass/set8a.mod: New file. - * gm2/extensions/pass/set8b.mod: New file. - * gm2/extensions/pass/testco.mod: New file. - * gm2/extensions/run/fail/extensions-run-fail.exp: New file. - * gm2/extensions/run/fail/intsize8.mod: New file. - * gm2/extensions/run/pass/align3.mod: New file. - * gm2/extensions/run/pass/align4.mod: New file. - * gm2/extensions/run/pass/align5.mod: New file. - * gm2/extensions/run/pass/align6.mod: New file. - * gm2/extensions/run/pass/align7.mod: New file. - * gm2/extensions/run/pass/callingc.mod: New file. - * gm2/extensions/run/pass/card16p.mod: New file. - * gm2/extensions/run/pass/card32p.mod: New file. - * gm2/extensions/run/pass/card64p.mod: New file. - * gm2/extensions/run/pass/card8p.mod: New file. - * gm2/extensions/run/pass/column.mod: New file. - * gm2/extensions/run/pass/cvararg.c: New file. - * gm2/extensions/run/pass/cvararg.def: New file. - * gm2/extensions/run/pass/extensions-run-pass.exp: New file. - * gm2/extensions/run/pass/int16p.mod: New file. - * gm2/extensions/run/pass/int32p.mod: New file. - * gm2/extensions/run/pass/int64p.mod: New file. - * gm2/extensions/run/pass/int8field.mod: New file. - * gm2/extensions/run/pass/int8p.mod: New file. - * gm2/extensions/run/pass/packedrecord.mod: New file. - * gm2/extensions/run/pass/packedrecord2.mod: New file. - * gm2/extensions/run/pass/real32.mod: New file. - * gm2/extensions/run/pass/real32a.mod: New file. - * gm2/extensions/run/pass/record.mod: New file. - * gm2/extensions/run/pass/testopen.mod: New file. - * gm2/extensions/run/pass/vararg.mod: New file. - * gm2/extensions/run/pass/vararg2.mod: New file. - * gm2/extensions/run/pass/vararg3.mod: New file. - * gm2/fpu/pass/five.mod: New file. - * gm2/fpu/pass/fp.def: New file. - * gm2/fpu/pass/fp.mod: New file. - * gm2/fpu/pass/fpu-pass.exp: New file. - * gm2/fpu/pass/one.mod: New file. - * gm2/fpu/pass/r1.mod: New file. - * gm2/fpu/pass/realconst.mod: New file. - * gm2/fpu/pass/testfp.mod: New file. - * gm2/fpu/pass/testfp2.mod: New file. - * gm2/fpu/pass/testfpu1.mod: New file. - * gm2/fpu/pass/testfpu2.mod: New file. - * gm2/fpu/pass/testfpu3.mod: New file. - * gm2/fpu/pass/testsin.mod: New file. - * gm2/imports/run/pass/c.def: New file. - * gm2/imports/run/pass/c.mod: New file. - * gm2/imports/run/pass/imports-run-pass.exp: New file. - * gm2/imports/run/pass/innermods.mod: New file. - * gm2/imports/run/pass/innermods2.mod: New file. - * gm2/imports/run/pass/innermods3.mod: New file. - * gm2/imports/run/pass/innermods4.mod: New file. - * gm2/imports/run/pass/innermods5.def: New file. - * gm2/imports/run/pass/innermods5.mod: New file. - * gm2/imports/run/pass/innermods6.mod: New file. - * gm2/integer/div.mod: New file. - * gm2/integer/expr.mod: New file. - * gm2/integer/mod.mod: New file. - * gm2/integer/mod2.mod: New file. - * gm2/integer/one.mod: New file. - * gm2/integer/options: New file. - * gm2/integer/zero.mod: New file. - * gm2/iso/analysis/fail/Makefile: New file. - * gm2/iso/analysis/fail/arithoverflow.mod: New file. - * gm2/iso/analysis/fail/arithoverflow2.mod: New file. - * gm2/iso/analysis/fail/arithsubcard.mod: New file. - * gm2/iso/analysis/fail/arrayrange.mod: New file. - * gm2/iso/analysis/fail/assignvalue.mod: New file. - * gm2/iso/analysis/fail/callassignment.mod: New file. - * gm2/iso/analysis/fail/callassignment2.mod: New file. - * gm2/iso/analysis/fail/callassignment3.mod: New file. - * gm2/iso/analysis/fail/callassignment4.mod: New file. - * gm2/iso/analysis/fail/caserange.mod: New file. - * gm2/iso/analysis/fail/decvalue.mod: New file. - * gm2/iso/analysis/fail/forloop.mod: New file. - * gm2/iso/analysis/fail/incvalue.mod: New file. - * gm2/iso/analysis/fail/iso-analysis-fail.exp: New file. - * gm2/iso/analysis/fail/noreturn.mod: New file. - * gm2/iso/analysis/fail/returnvalue.mod: New file. - * gm2/iso/analysis/fail/staticarray.mod: New file. - * gm2/iso/check/fail/iso-check-fail.exp: New file. - * gm2/iso/check/fail/modulusoverflow.mod: New file. - * gm2/iso/fail/badarray.mod: New file. - * gm2/iso/fail/badarray2.mod: New file. - * gm2/iso/fail/badipv4.mod: New file. - * gm2/iso/fail/bug10.mod: New file. - * gm2/iso/fail/bug8.mod: New file. - * gm2/iso/fail/bug9.mod: New file. - * gm2/iso/fail/case.mod: New file. - * gm2/iso/fail/case2.mod: New file. - * gm2/iso/fail/case3.mod: New file. - * gm2/iso/fail/const1.mod: New file. - * gm2/iso/fail/constarray.mod: New file. - * gm2/iso/fail/constarray2.mod: New file. - * gm2/iso/fail/constprocedure.mod: New file. - * gm2/iso/fail/constrecord.mod: New file. - * gm2/iso/fail/constrecord2.mod: New file. - * gm2/iso/fail/constrecord3.mod: New file. - * gm2/iso/fail/constsubrange.mod: New file. - * gm2/iso/fail/constsubrange2.mod: New file. - * gm2/iso/fail/constsubrange3.mod: New file. - * gm2/iso/fail/defa.def: New file. - * gm2/iso/fail/defa.mod: New file. - * gm2/iso/fail/defb.def: New file. - * gm2/iso/fail/defb.mod: New file. - * gm2/iso/fail/defc.def: New file. - * gm2/iso/fail/defc.mod: New file. - * gm2/iso/fail/except.mod: New file. - * gm2/iso/fail/except2.mod: New file. - * gm2/iso/fail/iso-fail.exp: New file. - * gm2/iso/fail/isoa.def: New file. - * gm2/iso/fail/isoa.mod: New file. - * gm2/iso/fail/lengthsubexpr.mod: New file. - * gm2/iso/fail/proc.mod: New file. - * gm2/iso/fail/realbitscast.mod: New file. - * gm2/iso/fail/varient.mod: New file. - * gm2/iso/fail/varient2.mod: New file. - * gm2/iso/future/builtinlj.mod: New file. - * gm2/iso/pass/ChanConsts.def: New file. - * gm2/iso/pass/ChanConsts.mod: New file. - * gm2/iso/pass/ConvTypes.def: New file. - * gm2/iso/pass/ConvTypes.mod: New file. - * gm2/iso/pass/addadr1.mod: New file. - * gm2/iso/pass/bits32c.mod: New file. - * gm2/iso/pass/callwraptime.mod: New file. - * gm2/iso/pass/caseiso.mod: New file. - * gm2/iso/pass/caseiso2.mod: New file. - * gm2/iso/pass/cast.mod: New file. - * gm2/iso/pass/cast3.mod: New file. - * gm2/iso/pass/castiso.mod: New file. - * gm2/iso/pass/const1.mod: New file. - * gm2/iso/pass/constreal.mod: New file. - * gm2/iso/pass/constructor1.mod: New file. - * gm2/iso/pass/constructor2.mod: New file. - * gm2/iso/pass/constructor3.mod: New file. - * gm2/iso/pass/constructor4.mod: New file. - * gm2/iso/pass/constructor5.mod: New file. - * gm2/iso/pass/constructor6.mod: New file. - * gm2/iso/pass/constsize4.mod: New file. - * gm2/iso/pass/delim.mod: New file. - * gm2/iso/pass/delim2.mod: New file. - * gm2/iso/pass/enummodule.mod: New file. - * gm2/iso/pass/except1.mod: New file. - * gm2/iso/pass/expproc.mod: New file. - * gm2/iso/pass/expproc2.mod: New file. - * gm2/iso/pass/iso-pass.exp: New file. - * gm2/iso/pass/isob.def: New file. - * gm2/iso/pass/isob.mod: New file. - * gm2/iso/pass/isobitset.mod: New file. - * gm2/iso/pass/isobitset2.mod: New file. - * gm2/iso/pass/longm.mod: New file. - * gm2/iso/pass/m.mod: New file. - * gm2/iso/pass/proccast.mod: New file. - * gm2/iso/pass/realbitscast.mod: New file. - * gm2/iso/pass/set12.mod: New file. - * gm2/iso/pass/stringchar.mod: New file. - * gm2/iso/pass/subassign.mod: New file. - * gm2/iso/pass/testaddindr.mod: New file. - * gm2/iso/pass/testconv.def: New file. - * gm2/iso/pass/testconv.mod: New file. - * gm2/iso/pass/testconv2.def: New file. - * gm2/iso/pass/testconv2.mod: New file. - * gm2/iso/pass/testconv3.mod: New file. - * gm2/iso/pass/testconv4.mod: New file. - * gm2/iso/pass/testconv5.mod: New file. - * gm2/iso/pass/testconv6.mod: New file. - * gm2/iso/pass/testconv7.mod: New file. - * gm2/iso/pass/testconv8.mod: New file. - * gm2/iso/pass/testconv9.mod: New file. - * gm2/iso/pass/testiso.mod: New file. - * gm2/iso/pass/testiso2.mod: New file. - * gm2/iso/pass/testisosize.mod: New file. - * gm2/iso/pass/testlength.mod: New file. - * gm2/iso/pass/testlength2.mod: New file. - * gm2/iso/pass/testlength3.mod: New file. - * gm2/iso/pass/testlength4.mod: New file. - * gm2/iso/pass/testlength5.mod: New file. - * gm2/iso/pass/unbounded.mod: New file. - * gm2/iso/pass/unbounded2.mod: New file. - * gm2/iso/run/pass/adraddress.mod: New file. - * gm2/iso/run/pass/adrunbounded3.mod: New file. - * gm2/iso/run/pass/baseimport.mod: New file. - * gm2/iso/run/pass/compsize.mod: New file. - * gm2/iso/run/pass/concurrentstore.mod: New file. - * gm2/iso/run/pass/constprocedure.mod: New file. - * gm2/iso/run/pass/constructor1.mod: New file. - * gm2/iso/run/pass/constructor2.mod: New file. - * gm2/iso/run/pass/conststrarray.mod: New file. - * gm2/iso/run/pass/contimer.mod: New file. - * gm2/iso/run/pass/except.c: New file. - * gm2/iso/run/pass/except2.mod: New file. - * gm2/iso/run/pass/except3.cpp: New file. - * gm2/iso/run/pass/except4.mod: New file. - * gm2/iso/run/pass/except5.cpp: New file. - * gm2/iso/run/pass/except5.mod: New file. - * gm2/iso/run/pass/except6.cpp: New file. - * gm2/iso/run/pass/except7.mod: New file. - * gm2/iso/run/pass/except8.mod: New file. - * gm2/iso/run/pass/fileio.def: New file. - * gm2/iso/run/pass/fileio.mod: New file. - * gm2/iso/run/pass/hello.mod: New file. - * gm2/iso/run/pass/int8field.mod: New file. - * gm2/iso/run/pass/iso-run-pass.exp: New file. - * gm2/iso/run/pass/long.mod: New file. - * gm2/iso/run/pass/long2.mod: New file. - * gm2/iso/run/pass/long3.mod: New file. - * gm2/iso/run/pass/long4.c: New file. - * gm2/iso/run/pass/long4.mod: New file. - * gm2/iso/run/pass/minmax.mod: New file. - * gm2/iso/run/pass/modulus.mod: New file. - * gm2/iso/run/pass/nestediso.mod: New file. - * gm2/iso/run/pass/nestedrecord.mod: New file. - * gm2/iso/run/pass/onebyte.mod: New file. - * gm2/iso/run/pass/onebyte2.mod: New file. - * gm2/iso/run/pass/onebyte3.mod: New file. - * gm2/iso/run/pass/packed.mod: New file. - * gm2/iso/run/pass/proc.c: New file. - * gm2/iso/run/pass/proc.mod: New file. - * gm2/iso/run/pass/proc2.mod: New file. - * gm2/iso/run/pass/returnrecord.mod: New file. - * gm2/iso/run/pass/shift.mod: New file. - * gm2/iso/run/pass/shift2.mod: New file. - * gm2/iso/run/pass/shift3.mod: New file. - * gm2/iso/run/pass/shift4.mod: New file. - * gm2/iso/run/pass/simple: New file. - * gm2/iso/run/pass/simplelarge.mod: New file. - * gm2/iso/run/pass/strcons.mod: New file. - * gm2/iso/run/pass/strcons2.mod: New file. - * gm2/iso/run/pass/t.cpp: New file. - * gm2/iso/run/pass/t1.cpp: New file. - * gm2/iso/run/pass/testLength.mod: New file. - * gm2/iso/run/pass/testarray.mod: New file. - * gm2/iso/run/pass/testgeneric.mod: New file. - * gm2/iso/run/pass/testlarge.mod: New file. - * gm2/iso/run/pass/testsystem.mod: New file. - * gm2/iso/run/pass/tinyconst.mod: New file. - * gm2/iso/run/pass/tinyconst2.mod: New file. - * gm2/iso/run/pass/tinyconst3.mod: New file. - * gm2/iso/run/pass/tinyconst4.mod: New file. - * gm2/iso/run/pass/tinyconst5.mod: New file. - * gm2/iso/run/pass/tinytimer.mod: New file. - * gm2/iso/run/pass/trivialmodulus.mod: New file. - * gm2/iso/run/pass/tsize.mod: New file. - * gm2/iso/run/pass/tsize2.mod: New file. - * gm2/iso/run/pass/tstLength.mod: New file. - * gm2/iso/run/pass/unbounded.mod: New file. - * gm2/iso/run/pass/unbounded2.mod: New file. - * gm2/iso/run/pass/unbounded3.mod: New file. - * gm2/iso/run/pass/unbounded4.mod: New file. - * gm2/iso/run/pass/unbounded5.mod: New file. - * gm2/iso/run/pass/unbounded6.mod: New file. - * gm2/iso/run/pass/unbounded7.mod: New file. - * gm2/iso/run/pass/unbounded8.mod: New file. - * gm2/isocoroutines/run/pass/coroutine.mod: New file. - * gm2/isocoroutines/run/pass/isocoroutines-run-pass.exp: New file. - * gm2/isolib/run/pass/arraycons.mod: New file. - * gm2/isolib/run/pass/arraycons2.mod: New file. - * gm2/isolib/run/pass/arraycons3.mod: New file. - * gm2/isolib/run/pass/arraycons5.mod: New file. - * gm2/isolib/run/pass/arraycons6.mod: New file. - * gm2/isolib/run/pass/arraycons7.mod: New file. - * gm2/isolib/run/pass/arrayconst8.mod: New file. - * gm2/isolib/run/pass/exceptiontest.mod: New file. - * gm2/isolib/run/pass/filepos.mod: New file. - * gm2/isolib/run/pass/hello.mod: New file. - * gm2/isolib/run/pass/insert.mod: New file. - * gm2/isolib/run/pass/intconv.mod: New file. - * gm2/isolib/run/pass/isolib-run-pass.exp: New file. - * gm2/isolib/run/pass/longstr.mod: New file. - * gm2/isolib/run/pass/openlibc.mod: New file. - * gm2/isolib/run/pass/raise.mod: New file. - * gm2/isolib/run/pass/raise2.mod: New file. - * gm2/isolib/run/pass/readreal.mod: New file. - * gm2/isolib/run/pass/real1.mod: New file. - * gm2/isolib/run/pass/real2.mod: New file. - * gm2/isolib/run/pass/real3.mod: New file. - * gm2/isolib/run/pass/realconv.mod: New file. - * gm2/isolib/run/pass/realconv2.mod: New file. - * gm2/isolib/run/pass/realstr.mod: New file. - * gm2/isolib/run/pass/sigfig.mod: New file. - * gm2/isolib/run/pass/stringreal2.mod: New file. - * gm2/isolib/run/pass/termfile.mod-disabled: New file. - * gm2/isolib/run/pass/testappend.mod: New file. - * gm2/isolib/run/pass/testinput: New file. - * gm2/isolib/run/pass/testio.mod: New file. - * gm2/isolib/run/pass/testio2.mod: New file. - * gm2/isolib/run/pass/testmem.mod: New file. - * gm2/isolib/run/pass/testmem2.mod: New file. - * gm2/isolib/run/pass/testnumber: New file. - * gm2/isolib/run/pass/tiny.mod: New file. - * gm2/isolib/run/pass/tiny2.mod: New file. - * gm2/isolib/run/pass/tiny3.mod: New file. - * gm2/isolib/run/pass/tiny4.mod: New file. - * gm2/isolib/run/pass/tiny5.mod: New file. - * gm2/libs/a.def: New file. - * gm2/libs/a.mod: New file. - * gm2/libs/b.def: New file. - * gm2/libs/b.mod: New file. - * gm2/libs/testraw.mod: New file. - * gm2/link/externalscaffold/pass/hello.mod: New file. - * gm2/link/externalscaffold/pass/link-externalscaffold-pass.exp: New - file. - * gm2/link/externalscaffold/pass/scaffold.c: New file. - * gm2/link/pim/fail/import.mod: New file. - * gm2/link/pim/fail/link-pim-fail.exp: New file. - * gm2/link/pim/pass/link-pim-pass.exp: New file. - * gm2/link/pimc/pass/README: New file. - * gm2/link/pimc/pass/link-pimc-pass.exp: New file. - * gm2/link/pimc/pass/testdtoa.mod: New file. - * gm2/link/pimc/pass/testerrno.mod: New file. - * gm2/link/pimc/pass/testgetopt.mod: New file. - * gm2/link/pimc/pass/testldtoa.mod: New file. - * gm2/link/pimc/pass/testlibc.mod: New file. - * gm2/link/pimc/pass/testlibc2.mod: New file. - * gm2/link/pimc/pass/testsckt.mod: New file. - * gm2/link/pimc/pass/testselective.mod: New file. - * gm2/link/pimc/pass/testsysexceptions.mod: New file. - * gm2/link/pimc/pass/testtermios.mod: New file. - * gm2/link/pimc/pass/testunixargs.mod: New file. - * gm2/link/pimc/pass/testwrapc.mod: New file. - * gm2/linking/libarchive/pass/c.c: New file. - * gm2/linking/libarchive/pass/c.def: New file. - * gm2/linking/libarchive/pass/d.def: New file. - * gm2/linking/libarchive/pass/e.def: New file. - * gm2/linking/libarchive/pass/linking-libarchive-pass.exp: New file. - * gm2/linking/libarchive/pass/m.mod: New file. - * gm2/linking/verbose/pass/hello.mod: New file. - * gm2/linking/verbose/pass/linking-verbose-pass.exp: New file. - * gm2/pim/fail/TestLong3.mod: New file. - * gm2/pim/fail/TestLong6.mod: New file. - * gm2/pim/fail/a.def: New file. - * gm2/pim/fail/assignbounds.mod: New file. - * gm2/pim/fail/assignsubrange.mod: New file. - * gm2/pim/fail/assignsubrange2.mod: New file. - * gm2/pim/fail/b.def: New file. - * gm2/pim/fail/bad.def: New file. - * gm2/pim/fail/badconst.mod: New file. - * gm2/pim/fail/badfunc.mod: New file. - * gm2/pim/fail/badparam.mod: New file. - * gm2/pim/fail/badparam2.mod: New file. - * gm2/pim/fail/badtype.mod: New file. - * gm2/pim/fail/badtypes.mod: New file. - * gm2/pim/fail/bits.mod: New file. - * gm2/pim/fail/bits2.mod: New file. - * gm2/pim/fail/bits3.mod: New file. - * gm2/pim/fail/bits4.mod: New file. - * gm2/pim/fail/cardword.mod: New file. - * gm2/pim/fail/constbec.mod: New file. - * gm2/pim/fail/constsize3.mod: New file. - * gm2/pim/fail/constvar.mod: New file. - * gm2/pim/fail/convert5.mod: New file. - * gm2/pim/fail/dupconst.mod: New file. - * gm2/pim/fail/dupenum.mod: New file. - * gm2/pim/fail/dupfield.mod: New file. - * gm2/pim/fail/duptype.mod: New file. - * gm2/pim/fail/dupvar.mod: New file. - * gm2/pim/fail/expression.mod: New file. - * gm2/pim/fail/expression2.mod: New file. - * gm2/pim/fail/expression3.mod: New file. - * gm2/pim/fail/func.mod: New file. - * gm2/pim/fail/good.def: New file. - * gm2/pim/fail/good.mod: New file. - * gm2/pim/fail/import.mod: New file. - * gm2/pim/fail/inserttok.def: New file. - * gm2/pim/fail/inserttok.mod: New file. - * gm2/pim/fail/integer.mod: New file. - * gm2/pim/fail/keyword.mod: New file. - * gm2/pim/fail/longtypes2.mod: New file. - * gm2/pim/fail/longtypes3.mod: New file. - * gm2/pim/fail/multisetf.mod: New file. - * gm2/pim/fail/nested3.mod: New file. - * gm2/pim/fail/opaque.mod: New file. - * gm2/pim/fail/opaque2.mod: New file. - * gm2/pim/fail/opasfail.mod: New file. - * gm2/pim/fail/opcpfail.mod: New file. - * gm2/pim/fail/pim-fail.exp: New file. - * gm2/pim/fail/procmod.mod: New file. - * gm2/pim/fail/rotate.mod: New file. - * gm2/pim/fail/rotate2.mod: New file. - * gm2/pim/fail/setbec.mod: New file. - * gm2/pim/fail/setequiv.mod: New file. - * gm2/pim/fail/setsnulf.mod: New file. - * gm2/pim/fail/settype.mod: New file. - * gm2/pim/fail/shift.mod: New file. - * gm2/pim/fail/shift2.mod: New file. - * gm2/pim/fail/subrange7.mod: New file. - * gm2/pim/fail/unary.mod: New file. - * gm2/pim/fail/undeclared.mod: New file. - * gm2/pim/fail/val.mod: New file. - * gm2/pim/fail/val2.mod: New file. - * gm2/pim/fail/wordconst.mod: New file. - * gm2/pim/no-options/run/pass/integer.mod: New file. - * gm2/pim/no-options/run/pass/pim-no-options-run-pass.exp: New file. - * gm2/pim/options/bounds/fail/IdentifierBug.mod: New file. - * gm2/pim/options/bounds/fail/pim-options-bounds-fail.exp: New file. - * gm2/pim/options/optimize/run/pass/addition.def: New file. - * gm2/pim/options/optimize/run/pass/addition.mod: New file. - * gm2/pim/options/optimize/run/pass/concat.mod: New file. - * gm2/pim/options/optimize/run/pass/pim-options-optimize-run-pass.exp: - New file. - * gm2/pim/options/optimize/run/pass/testadd.mod: New file. - * gm2/pim/pass/ABSBug.mod: New file. - * gm2/pim/pass/TestLong4.mod: New file. - * gm2/pim/pass/TestLong7.mod: New file. - * gm2/pim/pass/TestLong8.mod: New file. - * gm2/pim/pass/TestLong9.mod: New file. - * gm2/pim/pass/another.mod: New file. - * gm2/pim/pass/aochar.mod: New file. - * gm2/pim/pass/array.mod: New file. - * gm2/pim/pass/array2.mod: New file. - * gm2/pim/pass/array3.mod: New file. - * gm2/pim/pass/array4.mod: New file. - * gm2/pim/pass/array5.mod: New file. - * gm2/pim/pass/array6.mod: New file. - * gm2/pim/pass/arraybool.mod: New file. - * gm2/pim/pass/arraychar.mod: New file. - * gm2/pim/pass/arraychar2.mod: New file. - * gm2/pim/pass/arraychar3.mod: New file. - * gm2/pim/pass/arrayconst1.mod: New file. - * gm2/pim/pass/arrayconst2.mod: New file. - * gm2/pim/pass/arrayconst3.mod: New file. - * gm2/pim/pass/arraydecl.mod: New file. - * gm2/pim/pass/arraydim.mod: New file. - * gm2/pim/pass/arraydyn.mod: New file. - * gm2/pim/pass/arrayeqiv.mod: New file. - * gm2/pim/pass/arrayfio.mod: New file. - * gm2/pim/pass/arrayhuge.mod: New file. - * gm2/pim/pass/arrayhuge2.mod: New file. - * gm2/pim/pass/arrayindex.mod: New file. - * gm2/pim/pass/arrayindirect.mod: New file. - * gm2/pim/pass/arrayinproc.mod: New file. - * gm2/pim/pass/arrayint.mod: New file. - * gm2/pim/pass/arrayofbyte.mod: New file. - * gm2/pim/pass/arrayofcard.mod: New file. - * gm2/pim/pass/arrayptr.mod: New file. - * gm2/pim/pass/arrayptr2.mod: New file. - * gm2/pim/pass/arrayptr3.mod: New file. - * gm2/pim/pass/arrayptr4.mod: New file. - * gm2/pim/pass/arrayptr5.mod: New file. - * gm2/pim/pass/arrayptr6.mod: New file. - * gm2/pim/pass/arrayrecord.mod: New file. - * gm2/pim/pass/arraytiny.c: New file. - * gm2/pim/pass/arraytiny.mod: New file. - * gm2/pim/pass/arraytype.mod: New file. - * gm2/pim/pass/arraytype2.mod: New file. - * gm2/pim/pass/arraytype3.mod: New file. - * gm2/pim/pass/arraytype4.mod: New file. - * gm2/pim/pass/assignment.mod: New file. - * gm2/pim/pass/assignment2.mod: New file. - * gm2/pim/pass/assignment3.mod: New file. - * gm2/pim/pass/assignment4.mod: New file. - * gm2/pim/pass/badpointer.mod: New file. - * gm2/pim/pass/bits32.def: New file. - * gm2/pim/pass/bits32.mod: New file. - * gm2/pim/pass/bits32i.mod: New file. - * gm2/pim/pass/bitset.mod: New file. - * gm2/pim/pass/bitset2.mod: New file. - * gm2/pim/pass/bitset3.mod: New file. - * gm2/pim/pass/bitset4.mod: New file. - * gm2/pim/pass/bitset5.mod: New file. - * gm2/pim/pass/bitsetfunc.mod: New file. - * gm2/pim/pass/block.mod: New file. - * gm2/pim/pass/blockindirect.mod: New file. - * gm2/pim/pass/builtin.def: New file. - * gm2/pim/pass/builtin.mod: New file. - * gm2/pim/pass/builtin2.mod: New file. - * gm2/pim/pass/builtinconst.mod: New file. - * gm2/pim/pass/bytearray.mod: New file. - * gm2/pim/pass/card.mod: New file. - * gm2/pim/pass/card2.mod: New file. - * gm2/pim/pass/char.mod: New file. - * gm2/pim/pass/char2.mod: New file. - * gm2/pim/pass/charproc.mod: New file. - * gm2/pim/pass/charset.mod: New file. - * gm2/pim/pass/charset2.mod: New file. - * gm2/pim/pass/charset3.mod: New file. - * gm2/pim/pass/checkparm.def: New file. - * gm2/pim/pass/checkparm.mod: New file. - * gm2/pim/pass/colour.mod: New file. - * gm2/pim/pass/comment1.mod: New file. - * gm2/pim/pass/complexarray.mod: New file. - * gm2/pim/pass/complextypes.mod: New file. - * gm2/pim/pass/constcast.mod: New file. - * gm2/pim/pass/constmax.mod: New file. - * gm2/pim/pass/constset.mod: New file. - * gm2/pim/pass/constset2.mod: New file. - * gm2/pim/pass/constset3.mod: New file. - * gm2/pim/pass/constsize.mod: New file. - * gm2/pim/pass/constsize2.mod: New file. - * gm2/pim/pass/convert.mod: New file. - * gm2/pim/pass/convert2.mod: New file. - * gm2/pim/pass/convert3.mod: New file. - * gm2/pim/pass/convert4.mod: New file. - * gm2/pim/pass/danglingelse.mod: New file. - * gm2/pim/pass/debug: New file. - * gm2/pim/pass/defset.def: New file. - * gm2/pim/pass/defset.mod: New file. - * gm2/pim/pass/deftype.mod: New file. - * gm2/pim/pass/divaddr.mod: New file. - * gm2/pim/pass/enum.mod: New file. - * gm2/pim/pass/enum2.mod: New file. - * gm2/pim/pass/enum3.mod: New file. - * gm2/pim/pass/file.mod: New file. - * gm2/pim/pass/filesystem.mod: New file. - * gm2/pim/pass/foo.mod: New file. - * gm2/pim/pass/foo2.mod: New file. - * gm2/pim/pass/for1.mod: New file. - * gm2/pim/pass/function.mod: New file. - * gm2/pim/pass/function2.mod: New file. - * gm2/pim/pass/gcd.def: New file. - * gm2/pim/pass/gcd.mod: New file. - * gm2/pim/pass/getconst.mod: New file. - * gm2/pim/pass/hello.mod: New file. - * gm2/pim/pass/impa.mod: New file. - * gm2/pim/pass/impb.def: New file. - * gm2/pim/pass/impb.mod: New file. - * gm2/pim/pass/impc.def: New file. - * gm2/pim/pass/impc.mod: New file. - * gm2/pim/pass/impd.mod: New file. - * gm2/pim/pass/impe.mod: New file. - * gm2/pim/pass/impf.mod: New file. - * gm2/pim/pass/impg.mod: New file. - * gm2/pim/pass/imph.mod: New file. - * gm2/pim/pass/impi.mod: New file. - * gm2/pim/pass/impj.mod: New file. - * gm2/pim/pass/impk.mod: New file. - * gm2/pim/pass/impl.mod: New file. - * gm2/pim/pass/impm.mod: New file. - * gm2/pim/pass/impn.def: New file. - * gm2/pim/pass/impn.mod: New file. - * gm2/pim/pass/impo.mod: New file. - * gm2/pim/pass/imports.mod: New file. - * gm2/pim/pass/impp.def: New file. - * gm2/pim/pass/impp.mod: New file. - * gm2/pim/pass/impq.def: New file. - * gm2/pim/pass/impq.mod: New file. - * gm2/pim/pass/incompsets.mod: New file. - * gm2/pim/pass/index.mod: New file. - * gm2/pim/pass/index2.mod: New file. - * gm2/pim/pass/indirect.mod: New file. - * gm2/pim/pass/inner.mod: New file. - * gm2/pim/pass/inner2.mod: New file. - * gm2/pim/pass/int.mod: New file. - * gm2/pim/pass/largeset.mod: New file. - * gm2/pim/pass/largeset1.mod: New file. - * gm2/pim/pass/largeset2.mod: New file. - * gm2/pim/pass/largeset3.mod: New file. - * gm2/pim/pass/largeset4.mod: New file. - * gm2/pim/pass/largeset5.mod: New file. - * gm2/pim/pass/largeset6.mod: New file. - * gm2/pim/pass/largeset7.mod: New file. - * gm2/pim/pass/localmod.mod: New file. - * gm2/pim/pass/localproc.mod: New file. - * gm2/pim/pass/localvar.mod: New file. - * gm2/pim/pass/log: New file. - * gm2/pim/pass/longint.mod: New file. - * gm2/pim/pass/longint2.mod: New file. - * gm2/pim/pass/longmm.mod: New file. - * gm2/pim/pass/longreal.mod: New file. - * gm2/pim/pass/longtypes.mod: New file. - * gm2/pim/pass/longtypes3.mod: New file. - * gm2/pim/pass/longtypes4.mod: New file. - * gm2/pim/pass/longtypes5.mod: New file. - * gm2/pim/pass/longtypes6.mod: New file. - * gm2/pim/pass/loopexit.mod: New file. - * gm2/pim/pass/math.mod: New file. - * gm2/pim/pass/maxlongint.mod: New file. - * gm2/pim/pass/maxreal.mod: New file. - * gm2/pim/pass/maxreal2.mod: New file. - * gm2/pim/pass/minmaxconst.mod: New file. - * gm2/pim/pass/minmaxconst2.mod: New file. - * gm2/pim/pass/modaddr.mod: New file. - * gm2/pim/pass/multaddr.mod: New file. - * gm2/pim/pass/multiple.mod: New file. - * gm2/pim/pass/multiset.mod: New file. - * gm2/pim/pass/multtypes.mod: New file. - * gm2/pim/pass/mydef.def: New file. - * gm2/pim/pass/negatives.def: New file. - * gm2/pim/pass/negatives.mod: New file. - * gm2/pim/pass/nested.mod: New file. - * gm2/pim/pass/nested2.mod: New file. - * gm2/pim/pass/nested3.mod: New file. - * gm2/pim/pass/nested4.mod: New file. - * gm2/pim/pass/nested5.mod: New file. - * gm2/pim/pass/nested6.mod: New file. - * gm2/pim/pass/nested7.mod: New file. - * gm2/pim/pass/nestedfor.mod: New file. - * gm2/pim/pass/nestedif.mod: New file. - * gm2/pim/pass/nestedset.mod: New file. - * gm2/pim/pass/onezero.mod: New file. - * gm2/pim/pass/opaque.def: New file. - * gm2/pim/pass/opaque.mod: New file. - * gm2/pim/pass/opaque2.mod: New file. - * gm2/pim/pass/opaquetype.def: New file. - * gm2/pim/pass/opaquetype.mod: New file. - * gm2/pim/pass/param.mod: New file. - * gm2/pim/pass/param2.mod: New file. - * gm2/pim/pass/param3.mod: New file. - * gm2/pim/pass/parambool.mod: New file. - * gm2/pim/pass/paramreal.mod: New file. - * gm2/pim/pass/pim-pass.exp: New file. - * gm2/pim/pass/pimimp.mod: New file. - * gm2/pim/pass/pointer.mod: New file. - * gm2/pim/pass/procadr.mod: New file. - * gm2/pim/pass/procconv.mod: New file. - * gm2/pim/pass/procconv2.mod: New file. - * gm2/pim/pass/procedure1.mod: New file. - * gm2/pim/pass/procedure2.mod: New file. - * gm2/pim/pass/procindirect.mod: New file. - * gm2/pim/pass/procmod.mod: New file. - * gm2/pim/pass/procmod2.mod: New file. - * gm2/pim/pass/procmod3.mod: New file. - * gm2/pim/pass/procmod31.mod: New file. - * gm2/pim/pass/procmod4.mod: New file. - * gm2/pim/pass/procmod5.mod: New file. - * gm2/pim/pass/procmod6.def: New file. - * gm2/pim/pass/procmod6.mod: New file. - * gm2/pim/pass/procmod7.mod: New file. - * gm2/pim/pass/procmod8.mod: New file. - * gm2/pim/pass/procmod9.mod: New file. - * gm2/pim/pass/proctype.mod: New file. - * gm2/pim/pass/proctype2.def: New file. - * gm2/pim/pass/proctype3.mod: New file. - * gm2/pim/pass/proctype4.mod: New file. - * gm2/pim/pass/program.mod: New file. - * gm2/pim/pass/program2.mod: New file. - * gm2/pim/pass/ptrarray.mod: New file. - * gm2/pim/pass/ptrarray2.mod: New file. - * gm2/pim/pass/ptrarray3.mod: New file. - * gm2/pim/pass/ptrcard.mod: New file. - * gm2/pim/pass/quads.def: New file. - * gm2/pim/pass/quads.mod: New file. - * gm2/pim/pass/real.mod: New file. - * gm2/pim/pass/real2.mod: New file. - * gm2/pim/pass/real3.mod: New file. - * gm2/pim/pass/realconst.mod: New file. - * gm2/pim/pass/realneg.mod: New file. - * gm2/pim/pass/realneg2.mod: New file. - * gm2/pim/pass/realone.mod: New file. - * gm2/pim/pass/realsize.mod: New file. - * gm2/pim/pass/record1.mod: New file. - * gm2/pim/pass/record10.mod: New file. - * gm2/pim/pass/record11.mod: New file. - * gm2/pim/pass/record12.def: New file. - * gm2/pim/pass/record13.def: New file. - * gm2/pim/pass/record14.def: New file. - * gm2/pim/pass/record15.def: New file. - * gm2/pim/pass/record16.def: New file. - * gm2/pim/pass/record2.mod: New file. - * gm2/pim/pass/record3.mod: New file. - * gm2/pim/pass/record4.mod: New file. - * gm2/pim/pass/record5.mod: New file. - * gm2/pim/pass/record6.mod: New file. - * gm2/pim/pass/record7.mod: New file. - * gm2/pim/pass/record8.mod: New file. - * gm2/pim/pass/record9.mod: New file. - * gm2/pim/pass/recordarray.c: New file. - * gm2/pim/pass/recordarray.mod: New file. - * gm2/pim/pass/recordarray2.mod: New file. - * gm2/pim/pass/redef.mod: New file. - * gm2/pim/pass/set10.mod: New file. - * gm2/pim/pass/set11.def: New file. - * gm2/pim/pass/set11.mod: New file. - * gm2/pim/pass/set12.mod: New file. - * gm2/pim/pass/set4.mod: New file. - * gm2/pim/pass/set5.mod: New file. - * gm2/pim/pass/set6.mod: New file. - * gm2/pim/pass/set7.mod: New file. - * gm2/pim/pass/set8.mod: New file. - * gm2/pim/pass/set9.mod: New file. - * gm2/pim/pass/setchar.mod: New file. - * gm2/pim/pass/setchar10.mod: New file. - * gm2/pim/pass/setchar11.mod: New file. - * gm2/pim/pass/setchar3.mod: New file. - * gm2/pim/pass/setchar4.mod: New file. - * gm2/pim/pass/setchar5.mod: New file. - * gm2/pim/pass/setchar7.mod: New file. - * gm2/pim/pass/setchar8.mod: New file. - * gm2/pim/pass/setchar9.mod: New file. - * gm2/pim/pass/setconst.mod: New file. - * gm2/pim/pass/setconst2.mod: New file. - * gm2/pim/pass/setconst3.mod: New file. - * gm2/pim/pass/setenum.mod: New file. - * gm2/pim/pass/setimp.mod: New file. - * gm2/pim/pass/setimp2.mod: New file. - * gm2/pim/pass/setofchar.mod: New file. - * gm2/pim/pass/setoverflow.mod: New file. - * gm2/pim/pass/sets.mod: New file. - * gm2/pim/pass/sets2.mod: New file. - * gm2/pim/pass/sets3.mod: New file. - * gm2/pim/pass/sets4.mod: New file. - * gm2/pim/pass/sets5.mod: New file. - * gm2/pim/pass/sets6.mod: New file. - * gm2/pim/pass/setsnul.mod: New file. - * gm2/pim/pass/settest1.mod: New file. - * gm2/pim/pass/settest2.mod: New file. - * gm2/pim/pass/settest3.mod: New file. - * gm2/pim/pass/simpleproc.mod: New file. - * gm2/pim/pass/sizes.mod: New file. - * gm2/pim/pass/sizetype.mod: New file. - * gm2/pim/pass/smallset1.mod: New file. - * gm2/pim/pass/smallset2.mod: New file. - * gm2/pim/pass/smallset3.mod: New file. - * gm2/pim/pass/smallset4.mod: New file. - * gm2/pim/pass/smallset5.mod: New file. - * gm2/pim/pass/smallset6.mod: New file. - * gm2/pim/pass/smallset7.mod: New file. - * gm2/pim/pass/stabs.mod: New file. - * gm2/pim/pass/stdio.mod: New file. - * gm2/pim/pass/str1.mod: New file. - * gm2/pim/pass/str2.mod: New file. - * gm2/pim/pass/str3.mod: New file. - * gm2/pim/pass/str4.mod: New file. - * gm2/pim/pass/str5.mod: New file. - * gm2/pim/pass/stressset.mod: New file. - * gm2/pim/pass/stringassign.mod: New file. - * gm2/pim/pass/stringopaq.mod: New file. - * gm2/pim/pass/strings.mod: New file. - * gm2/pim/pass/strparam.def: New file. - * gm2/pim/pass/strparam.mod: New file. - * gm2/pim/pass/subrange.mod: New file. - * gm2/pim/pass/subrange10.mod: New file. - * gm2/pim/pass/subrange11.mod: New file. - * gm2/pim/pass/subrange12.mod: New file. - * gm2/pim/pass/subrange14.mod: New file. - * gm2/pim/pass/subrange15.mod: New file. - * gm2/pim/pass/subrange16.mod: New file. - * gm2/pim/pass/subrange17.mod: New file. - * gm2/pim/pass/subrange2.mod: New file. - * gm2/pim/pass/subrange3.mod: New file. - * gm2/pim/pass/subrange4.mod: New file. - * gm2/pim/pass/subrange5.mod: New file. - * gm2/pim/pass/subrange6.mod: New file. - * gm2/pim/pass/subrange7.mod: New file. - * gm2/pim/pass/subrange8.mod: New file. - * gm2/pim/pass/subrange9.mod: New file. - * gm2/pim/pass/test2recursive.mod: New file. - * gm2/pim/pass/testabs.mod: New file. - * gm2/pim/pass/testbuiltin.mod: New file. - * gm2/pim/pass/testbuiltin2.mod: New file. - * gm2/pim/pass/testbuiltstr.mod: New file. - * gm2/pim/pass/testcap.mod: New file. - * gm2/pim/pass/testcap2.mod: New file. - * gm2/pim/pass/testcard.mod: New file. - * gm2/pim/pass/testcard2.mod: New file. - * gm2/pim/pass/testcard3.mod: New file. - * gm2/pim/pass/testcard4.mod: New file. - * gm2/pim/pass/testcard5.mod: New file. - * gm2/pim/pass/testcase.mod: New file. - * gm2/pim/pass/testcase2.mod: New file. - * gm2/pim/pass/testcase3.mod: New file. - * gm2/pim/pass/testcase4.mod: New file. - * gm2/pim/pass/testchar.mod: New file. - * gm2/pim/pass/testfloat.mod: New file. - * gm2/pim/pass/testfloat2.mod: New file. - * gm2/pim/pass/testfloat3.mod: New file. - * gm2/pim/pass/testfloat4.mod: New file. - * gm2/pim/pass/testfor.mod: New file. - * gm2/pim/pass/testimpvar.mod: New file. - * gm2/pim/pass/testlong3.mod: New file. - * gm2/pim/pass/testmod.mod: New file. - * gm2/pim/pass/testmod2.mod: New file. - * gm2/pim/pass/testodd.mod: New file. - * gm2/pim/pass/testopaque.mod: New file. - * gm2/pim/pass/testopaque2.mod: New file. - * gm2/pim/pass/testopaque3.mod: New file. - * gm2/pim/pass/testord.mod: New file. - * gm2/pim/pass/testparam.mod: New file. - * gm2/pim/pass/testparam2.mod: New file. - * gm2/pim/pass/testparam3.mod: New file. - * gm2/pim/pass/testpimsize.mod: New file. - * gm2/pim/pass/testrecursive.def: New file. - * gm2/pim/pass/testrecursive.mod: New file. - * gm2/pim/pass/testreturnstr.mod: New file. - * gm2/pim/pass/testset.mod: New file. - * gm2/pim/pass/testshort.mod: New file. - * gm2/pim/pass/testsinf.mod: New file. - * gm2/pim/pass/testsinl.mod: New file. - * gm2/pim/pass/testsize.mod: New file. - * gm2/pim/pass/testvar.mod: New file. - * gm2/pim/pass/testvarin.mod: New file. - * gm2/pim/pass/timeio.mod: New file. - * gm2/pim/pass/timeio2.mod: New file. - * gm2/pim/pass/timeio3.mod: New file. - * gm2/pim/pass/timeio4.mod: New file. - * gm2/pim/pass/timeio5.mod: New file. - * gm2/pim/pass/timeio6.mod: New file. - * gm2/pim/pass/timeio7.mod: New file. - * gm2/pim/pass/timeio8.mod: New file. - * gm2/pim/pass/timeio9.mod: New file. - * gm2/pim/pass/tinyalloc.mod: New file. - * gm2/pim/pass/tinyarray.mod: New file. - * gm2/pim/pass/tinyarray2.mod: New file. - * gm2/pim/pass/tinyarray3.mod: New file. - * gm2/pim/pass/tinyarray4.mod: New file. - * gm2/pim/pass/tinyarray5.mod: New file. - * gm2/pim/pass/tinyarray6.mod: New file. - * gm2/pim/pass/tinyassign.def: New file. - * gm2/pim/pass/tinyassign.mod: New file. - * gm2/pim/pass/tinyassign2.mod: New file. - * gm2/pim/pass/tinyassign3.mod: New file. - * gm2/pim/pass/tinyassign4.mod: New file. - * gm2/pim/pass/tinyassign5.mod: New file. - * gm2/pim/pass/tinybitset.mod: New file. - * gm2/pim/pass/tinyelse.mod: New file. - * gm2/pim/pass/tinyenum.mod: New file. - * gm2/pim/pass/tinyfor.mod: New file. - * gm2/pim/pass/tinyfor2.mod: New file. - * gm2/pim/pass/tinyfor3.mod: New file. - * gm2/pim/pass/tinyhalt.mod: New file. - * gm2/pim/pass/tinyhello.mod: New file. - * gm2/pim/pass/tinyif.mod: New file. - * gm2/pim/pass/tinyif2.mod: New file. - * gm2/pim/pass/tinyif3.mod: New file. - * gm2/pim/pass/tinyif4.mod: New file. - * gm2/pim/pass/tinyif5.mod: New file. - * gm2/pim/pass/tinyif6.mod: New file. - * gm2/pim/pass/tinyif7.mod: New file. - * gm2/pim/pass/tinyif8.mod: New file. - * gm2/pim/pass/tinyimp.mod: New file. - * gm2/pim/pass/tinylit.mod: New file. - * gm2/pim/pass/tinylit2.mod: New file. - * gm2/pim/pass/tinymax.mod: New file. - * gm2/pim/pass/tinymod.mod: New file. - * gm2/pim/pass/tinynode.mod: New file. - * gm2/pim/pass/tinyparam.mod: New file. - * gm2/pim/pass/tinyparam2.mod: New file. - * gm2/pim/pass/tinyplus.mod: New file. - * gm2/pim/pass/tinyproc.mod: New file. - * gm2/pim/pass/tinyproc2.mod: New file. - * gm2/pim/pass/tinyproc3.mod: New file. - * gm2/pim/pass/tinyproc4.mod: New file. - * gm2/pim/pass/tinyproc5.mod: New file. - * gm2/pim/pass/tinyproc6.mod: New file. - * gm2/pim/pass/tinyptr.mod: New file. - * gm2/pim/pass/tinyreal.mod: New file. - * gm2/pim/pass/tinyrecord.mod: New file. - * gm2/pim/pass/tinyrepeat.mod: New file. - * gm2/pim/pass/tinyset6.mod: New file. - * gm2/pim/pass/tinyset7.mod: New file. - * gm2/pim/pass/tinystate.mod: New file. - * gm2/pim/pass/tinysub.def: New file. - * gm2/pim/pass/tinytest.mod: New file. - * gm2/pim/pass/tinytrue.mod: New file. - * gm2/pim/pass/tinyvar.mod: New file. - * gm2/pim/pass/tinyvar2.mod: New file. - * gm2/pim/pass/tinyvar3.mod: New file. - * gm2/pim/pass/tinyvar4.mod: New file. - * gm2/pim/pass/tinyvar5.mod: New file. - * gm2/pim/pass/tinyvarient.mod: New file. - * gm2/pim/pass/tinyvarient2.mod: New file. - * gm2/pim/pass/tinyvarient3.def: New file. - * gm2/pim/pass/tinyvarient3.mod: New file. - * gm2/pim/pass/tinyvarient4.mod: New file. - * gm2/pim/pass/tinyvarient5.mod: New file. - * gm2/pim/pass/tinyvarient6.mod: New file. - * gm2/pim/pass/tinywhile.mod: New file. - * gm2/pim/pass/tinywith.mod: New file. - * gm2/pim/pass/tinywith2.mod: New file. - * gm2/pim/pass/tinywith3.mod: New file. - * gm2/pim/pass/tinywith4.mod: New file. - * gm2/pim/pass/tinywith5.mod: New file. - * gm2/pim/pass/tinywith6.mod: New file. - * gm2/pim/pass/trunc.mod: New file. - * gm2/pim/pass/try: New file. - * gm2/pim/pass/typeequiv.mod: New file. - * gm2/pim/pass/typeequiv2.mod: New file. - * gm2/pim/pass/typeequiv3.mod: New file. - * gm2/pim/pass/typeonly.def: New file. - * gm2/pim/pass/typeonly.mod: New file. - * gm2/pim/pass/typesize.mod: New file. - * gm2/pim/pass/unbounded.mod: New file. - * gm2/pim/pass/unbounded2.mod: New file. - * gm2/pim/pass/unbounded3.mod: New file. - * gm2/pim/pass/v.def: New file. - * gm2/pim/pass/varaddress.mod: New file. - * gm2/pim/pass/varaddress2.mod: New file. - * gm2/pim/pass/varaddress3.mod: New file. - * gm2/pim/pass/varcard.mod: New file. - * gm2/pim/pass/variant9.mod: New file. - * gm2/pim/pass/varient.mod: New file. - * gm2/pim/pass/varient2.mod: New file. - * gm2/pim/pass/varient3.mod: New file. - * gm2/pim/pass/varient4.mod: New file. - * gm2/pim/pass/varient5.mod: New file. - * gm2/pim/pass/varient6.mod: New file. - * gm2/pim/pass/varient7.mod: New file. - * gm2/pim/pass/varient8.mod: New file. - * gm2/pim/pass/varin.def: New file. - * gm2/pim/pass/varin.mod: New file. - * gm2/pim/pass/varint.mod: New file. - * gm2/pim/pass/wincat.mod: New file. - * gm2/pim/pass/with.mod: New file. - * gm2/pim/pass/wordconst.mod: New file. - * gm2/pim/run/fail/case.mod: New file. - * gm2/pim/run/fail/nil.mod: New file. - * gm2/pim/run/fail/pim-run-fail.exp: New file. - * gm2/pim/run/pass/Countdown.mod: New file. - * gm2/pim/run/pass/EndFor.def: New file. - * gm2/pim/run/pass/EndFor.mod: New file. - * gm2/pim/run/pass/EnumTest.mod: New file. - * gm2/pim/run/pass/For1.mod: New file. - * gm2/pim/run/pass/For10.mod: New file. - * gm2/pim/run/pass/For11.mod: New file. - * gm2/pim/run/pass/For12.mod: New file. - * gm2/pim/run/pass/For2.mod: New file. - * gm2/pim/run/pass/For3.mod: New file. - * gm2/pim/run/pass/For4.mod: New file. - * gm2/pim/run/pass/For5.mod: New file. - * gm2/pim/run/pass/For6.mod: New file. - * gm2/pim/run/pass/For7.mod: New file. - * gm2/pim/run/pass/For8.mod: New file. - * gm2/pim/run/pass/For9.mod: New file. - * gm2/pim/run/pass/FpuIOBug.mod: New file. - * gm2/pim/run/pass/MaxReal.mod: New file. - * gm2/pim/run/pass/MaxReal2.mod: New file. - * gm2/pim/run/pass/TestLong.mod: New file. - * gm2/pim/run/pass/TestLong2.mod: New file. - * gm2/pim/run/pass/TestLong4.mod: New file. - * gm2/pim/run/pass/TestLong5.mod: New file. - * gm2/pim/run/pass/addrarray.mod: New file. - * gm2/pim/run/pass/arraychar.mod: New file. - * gm2/pim/run/pass/arraychar2.mod: New file. - * gm2/pim/run/pass/arrayrecord.mod: New file. - * gm2/pim/run/pass/bitsettest.def: New file. - * gm2/pim/run/pass/bitsettest.mod: New file. - * gm2/pim/run/pass/bytearray.mod: New file. - * gm2/pim/run/pass/constdynstr.mod: New file. - * gm2/pim/run/pass/conststr.mod: New file. - * gm2/pim/run/pass/conststr2.mod: New file. - * gm2/pim/run/pass/cycles.mod: New file. - * gm2/pim/run/pass/dec.mod: New file. - * gm2/pim/run/pass/enums.mod: New file. - * gm2/pim/run/pass/incsubrange.def: New file. - * gm2/pim/run/pass/incsubrange.mod: New file. - * gm2/pim/run/pass/index3.mod: New file. - * gm2/pim/run/pass/int16.mod: New file. - * gm2/pim/run/pass/int32.mod: New file. - * gm2/pim/run/pass/int8.mod: New file. - * gm2/pim/run/pass/line.mod: New file. - * gm2/pim/run/pass/long.mod: New file. - * gm2/pim/run/pass/longfor.mod: New file. - * gm2/pim/run/pass/longtypes10.mod: New file. - * gm2/pim/run/pass/longtypes7.mod: New file. - * gm2/pim/run/pass/longtypes8.mod: New file. - * gm2/pim/run/pass/longtypes9.mod: New file. - * gm2/pim/run/pass/math.mod: New file. - * gm2/pim/run/pass/math2.mod: New file. - * gm2/pim/run/pass/mathconst.mod: New file. - * gm2/pim/run/pass/minhello.mod: New file. - * gm2/pim/run/pass/minimal.mod: New file. - * gm2/pim/run/pass/nestedproc.mod: New file. - * gm2/pim/run/pass/nestedproc2.mod: New file. - * gm2/pim/run/pass/nestedproc3.mod: New file. - * gm2/pim/run/pass/nestedproc4.mod: New file. - * gm2/pim/run/pass/nestedproc5.mod: New file. - * gm2/pim/run/pass/nestedproc6.mod: New file. - * gm2/pim/run/pass/nestedproc7.mod: New file. - * gm2/pim/run/pass/nestedwith.mod: New file. - * gm2/pim/run/pass/nestedwith2.mod: New file. - * gm2/pim/run/pass/nestedwith3.mod: New file. - * gm2/pim/run/pass/nothing.mod: New file. - * gm2/pim/run/pass/pim-run-pass.exp: New file. - * gm2/pim/run/pass/prog31ex.mod: New file. - * gm2/pim/run/pass/rts.mod: New file. - * gm2/pim/run/pass/setcritical.mod: New file. - * gm2/pim/run/pass/setequiv.mod: New file. - * gm2/pim/run/pass/str6.mod: New file. - * gm2/pim/run/pass/stringaddr.mod: New file. - * gm2/pim/run/pass/stringaddr2.def: New file. - * gm2/pim/run/pass/stringaddr2.mod: New file. - * gm2/pim/run/pass/stripped.mod: New file. - * gm2/pim/run/pass/sys.def: New file. - * gm2/pim/run/pass/sys.mod: New file. - * gm2/pim/run/pass/t.def: New file. - * gm2/pim/run/pass/testaddr.mod: New file. - * gm2/pim/run/pass/testaddr2.mod: New file. - * gm2/pim/run/pass/testaddr3.mod: New file. - * gm2/pim/run/pass/testarray.mod: New file. - * gm2/pim/run/pass/testarray2.mod: New file. - * gm2/pim/run/pass/testarray3.mod: New file. - * gm2/pim/run/pass/testarray4.mod: New file. - * gm2/pim/run/pass/testarray5.mod: New file. - * gm2/pim/run/pass/testavail.mod: New file. - * gm2/pim/run/pass/testdiv.mod: New file. - * gm2/pim/run/pass/testfpufunc.mod: New file. - * gm2/pim/run/pass/testfpufunc2.mod: New file. - * gm2/pim/run/pass/testlarge.mod: New file. - * gm2/pim/run/pass/testlarge2.mod: New file. - * gm2/pim/run/pass/testnextproc.mod: New file. - * gm2/pim/run/pass/testparam.mod: New file. - * gm2/pim/run/pass/testreturnstr.mod: New file. - * gm2/pim/run/pass/testreturnstr2.mod: New file. - * gm2/pim/run/pass/testreturnstr3.def: New file. - * gm2/pim/run/pass/testreturnstr3.mod: New file. - * gm2/pim/run/pass/testsize.mod: New file. - * gm2/pim/run/pass/testsize2.mod: New file. - * gm2/pim/run/pass/testsize3.mod: New file. - * gm2/pim/run/pass/testsize4.mod: New file. - * gm2/pim/run/pass/testtbitsize.mod: New file. - * gm2/pim/run/pass/tinywith.mod: New file. - * gm2/pim/run/pass/unbounded.mod: New file. - * gm2/pim/run/pass/varaddress3.mod: New file. - * gm2/pim/run/pass/varparam2.mod: New file. - * gm2/pim/run/pass/varparam3.mod: New file. - * gm2/pim/run/pass/varparm.mod: New file. - * gm2/pim/run/pass/wr.mod: New file. - * gm2/pimcoroutines/pass/imports.mod: New file. - * gm2/pimcoroutines/pass/imports2.mod: New file. - * gm2/pimcoroutines/pass/pimcoroutines-pass.exp: New file. - * gm2/pimcoroutines/run/pass/pimcoroutines-run-pass.exp: New file. - * gm2/pimcoroutines/run/pass/testtime.mod: New file. - * gm2/pimlib/base/run/pass/FIO.mod: New file. - * gm2/pimlib/base/run/pass/StrLib.mod: New file. - * gm2/pimlib/base/run/pass/pimlib-base-run-pass.exp: New file. - * gm2/pimlib/base/run/pass/testconvert.mod: New file. - * gm2/pimlib/coroutines/pass/pimlib-coroutines-pass.exp: New file. - * gm2/pimlib/coroutines/pass/priority.mod: New file. - * gm2/pimlib/coroutines/pass/priority2.mod: New file. - * gm2/pimlib/coroutines/pass/priority3.def: New file. - * gm2/pimlib/coroutines/pass/priority3.mod: New file. - * gm2/pimlib/logitech/pass/LogitechLong.mod: New file. - * gm2/pimlib/logitech/pass/hello.mod: New file. - * gm2/pimlib/logitech/pass/pimlib-logitech-pass.exp: New file. - * gm2/pimlib/logitech/run/pass/bbits.mod: New file. - * gm2/pimlib/logitech/run/pass/hello.mod: New file. - * gm2/pimlib/logitech/run/pass/helloinout.mod: New file. - * gm2/pimlib/logitech/run/pass/intb.mod: New file. - * gm2/pimlib/logitech/run/pass/pimlib-logitech-run-pass.exp: New file. - * gm2/pimlib/logitech/run/pass/realconv.mod: New file. - * gm2/pimlib/logitech/run/pass/realinput.mod: New file. - * gm2/pimlib/logitech/run/pass/realinput2.mod: New file. - * gm2/pimlib/logitech/run/pass/realinput3.mod: New file. - * gm2/pimlib/logitech/run/pass/rename.mod: New file. - * gm2/pimlib/logitech/run/pass/timedate.mod: New file. - * gm2/pimlib/logitech/run/pass/writeoct.mod: New file. - * gm2/pimlib/pass/pimlib-pass.exp: New file. - * gm2/pimlib/run/pass/format.mod: New file. - * gm2/pimlib/run/pass/limittests.c: New file. - * gm2/pimlib/run/pass/limittests.mod: New file. - * gm2/pimlib/run/pass/longreal.mod: New file. - * gm2/pimlib/run/pass/pimlib-run-pass.exp: New file. - * gm2/pimlib/run/pass/test.c: New file. - * gm2/pimlib/run/pass/testreal.mod: New file. - * gm2/pimlib/run/pass/testreal2.mod: New file. - * gm2/pimlib/run/pass/testreal4.mod: New file. - * gm2/projects/README: New file. - * gm2/projects/iso/run/pass/halma/halma.mod: New file. - * gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp: - New file. - * gm2/projects/iso/run/pass/hello/hello.mod: New file. - * gm2/projects/iso/run/pass/hello/projects-iso-run-pass-hello.exp: - New file. - * gm2/projects/log/run/pass/hello/hello.mod: New file. - * gm2/projects/log/run/pass/hello/projects-log-run-pass-hello.exp: - New file. - * gm2/projects/pim/run/pass/hello/hello.mod: New file. - * gm2/projects/pim/run/pass/hello/projects-pim-run-pass-hello.exp: - New file. - * gm2/projects/pim/run/pass/random/AdvMap.def: New file. - * gm2/projects/pim/run/pass/random/AdvMap.mod: New file. - * gm2/projects/pim/run/pass/random/BoxMap.def: New file. - * gm2/projects/pim/run/pass/random/BoxMap.mod: New file. - * gm2/projects/pim/run/pass/random/Chance.def: New file. - * gm2/projects/pim/run/pass/random/Chance.mod: New file. - * gm2/projects/pim/run/pass/random/Geometry.def: New file. - * gm2/projects/pim/run/pass/random/Geometry.mod: New file. - * gm2/projects/pim/run/pass/random/MakeBoxes.def: New file. - * gm2/projects/pim/run/pass/random/MakeBoxes.mod: New file. - * gm2/projects/pim/run/pass/random/Map.mod: New file. - * gm2/projects/pim/run/pass/random/MapOptions.def: New file. - * gm2/projects/pim/run/pass/random/MapOptions.mod: New file. - * gm2/projects/pim/run/pass/random/Options.def: New file. - * gm2/projects/pim/run/pass/random/Options.mod: New file. - * gm2/projects/pim/run/pass/random/RoomMap.def: New file. - * gm2/projects/pim/run/pass/random/RoomMap.mod: New file. - * gm2/projects/pim/run/pass/random/StoreCoords.def: New file. - * gm2/projects/pim/run/pass/random/StoreCoords.mod: New file. - * gm2/projects/pim/run/pass/random/WriteMap.def: New file. - * gm2/projects/pim/run/pass/random/WriteMap.mod: New file. - * gm2/projects/pim/run/pass/random/projects-pim-run-pass-random.exp: - New file. - * gm2/quads/run/pass/becomes.mod: New file. - * gm2/quads/run/pass/param.mod: New file. - * gm2/quads/run/pass/quads-run-pass.exp: New file. - * gm2/quads/run/pass/return.mod: New file. - * gm2/recover/pass/cannot-solve/begin.mod: New file. - * gm2/recover/pass/cannot-solve/statementsemi.mod: New file. - * gm2/recover/pass/end2.mod: New file. - * gm2/recover/pass/of.mod: New file. - * gm2/recover/pass/procsemi.mod: New file. - * gm2/recover/pass/recover-pass.exp: New file. - * gm2/recover/pass/rrbra.mod: New file. - * gm2/recover/pass/rsbra.mod: New file. - * gm2/recover/pass/semi.mod: New file. - * gm2/run/fail/list.mod: New file. - * gm2/run/fail/options: New file. - * gm2/run/fail/testdec.mod: New file. - * gm2/run/fail/testfunc.mod: New file. - * gm2/run/pass/cycles.mod: New file. - * gm2/run/pass/line.mod: New file. - * gm2/run/pass/nestedproc.mod: New file. - * gm2/run/pass/nestedproc2.mod: New file. - * gm2/run/pass/nestedproc3.mod: New file. - * gm2/run/pass/nestedproc5.mod: New file. - * gm2/run/pass/nestedset.mod: New file. - * gm2/run/pass/nothing.mod: New file. - * gm2/run/pass/options: New file. - * gm2/run/pass/prog31ex.mod: New file. - * gm2/run/pass/rts.mod: New file. - * gm2/run/pass/stripped.mod: New file. - * gm2/run/pass/testavail.mod: New file. - * gm2/run/pass/testfpufunc.mod: New file. - * gm2/run/pass/testfpufunc2.mod: New file. - * gm2/run/pass/testnextproc.mod: New file. - * gm2/run/pass/testparam.mod: New file. - * gm2/run/pass/testsize.mod: New file. - * gm2/run/pass/testsize2.mod: New file. - * gm2/run/pass/testsize3.mod: New file. - * gm2/run/pass/wr.mod: New file. - * gm2/scripts/addit: New file. - * gm2/scripts/comp: New file. - * gm2/scripts/compile: New file. - * gm2/scripts/compileiso: New file. - * gm2/scripts/link: New file. - * gm2/scripts/regression: New file. - * gm2/scripts/subit: New file. - * gm2/sets/run/pass/multisetarith.mod: New file. - * gm2/sets/run/pass/multisetarith2.mod: New file. - * gm2/sets/run/pass/multisetarith3.mod: New file. - * gm2/sets/run/pass/multisetarith4.mod: New file. - * gm2/sets/run/pass/multisetrotate.mod: New file. - * gm2/sets/run/pass/multisetrotate2.mod: New file. - * gm2/sets/run/pass/multisetrotate3.mod: New file. - * gm2/sets/run/pass/multisetrotate4.mod: New file. - * gm2/sets/run/pass/multisetshift.mod: New file. - * gm2/sets/run/pass/multisetshift2.mod: New file. - * gm2/sets/run/pass/multisimple.mod: New file. - * gm2/sets/run/pass/multisimple2.mod: New file. - * gm2/sets/run/pass/multisimple3.mod: New file. - * gm2/sets/run/pass/multisimple4.mod: New file. - * gm2/sets/run/pass/multisimple5.mod: New file. - * gm2/sets/run/pass/multisimple6.mod: New file. - * gm2/sets/run/pass/multisimple7.mod: New file. - * gm2/sets/run/pass/setarith.mod: New file. - * gm2/sets/run/pass/setarith2.mod: New file. - * gm2/sets/run/pass/setarith3.mod: New file. - * gm2/sets/run/pass/setarith4.mod: New file. - * gm2/sets/run/pass/setrotate.mod: New file. - * gm2/sets/run/pass/setrotate2.mod: New file. - * gm2/sets/run/pass/setrotate3.mod: New file. - * gm2/sets/run/pass/setrotate4.mod: New file. - * gm2/sets/run/pass/sets-run-pass.exp: New file. - * gm2/sets/run/pass/setshift.mod: New file. - * gm2/sets/run/pass/setshift2.mod: New file. - * gm2/sets/run/pass/simple.mod: New file. - * gm2/sets/run/pass/simple2.mod: New file. - * gm2/sets/run/pass/simple3.mod: New file. - * gm2/sets/run/pass/simple4.mod: New file. - * gm2/sets/run/pass/simple5.mod: New file. - * gm2/sets/run/pass/simple6.mod: New file. - * gm2/sets/run/pass/simple7.mod: New file. - * gm2/switches/auto-init/fail/switches-auto-init-fail.exp: New file. - * gm2/switches/auto-init/fail/uninitptr.mod: New file. - * gm2/switches/auto-init/fail/uninitptr2.mod: New file. - * gm2/switches/check-all/pim2/fail/overflow.mod: New file. - * gm2/switches/check-all/pim2/fail/overflow2.mod: New file. - * gm2/switches/check-all/pim2/fail/overflowdiv1.mod: New file. - * gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp: - New file. - * gm2/switches/check-all/plugin/iso/fail/divceilposneg.mod: New file. - * gm2/switches/check-all/plugin/iso/fail/divceilposneg2.mod: New file. - * gm2/switches/check-all/plugin/iso/fail/divceilposnegcall.mod: New - file. - * gm2/switches/check-all/plugin/iso/fail/divceilposnegcall2.mod: New - file. - * gm2/switches/check-all/plugin/iso/fail/divfloornegpos.mod: New file. - * gm2/switches/check-all/plugin/iso/fail/divfloorpospos.mod: New file. - * gm2/switches/check-all/plugin/iso/fail/lowdiv.mod: New file. - * gm2/switches/check-all/plugin/iso/fail/switches-check-all-plugin-iso-fail.exp: - New file. - * gm2/switches/check-all/plugin/pim2/fail/divceil.mod: New file. - * gm2/switches/check-all/plugin/pim2/fail/highdiv.mod: New file. - * gm2/switches/check-all/plugin/pim2/fail/modulus.mod: New file. - * gm2/switches/check-all/plugin/pim2/fail/plugin1.mod: New file. - * gm2/switches/check-all/plugin/pim2/fail/plugin3.mod: New file. - * gm2/switches/check-all/plugin/pim2/fail/plugin4.def: New file. - * gm2/switches/check-all/plugin/pim2/fail/plugin4.mod: New file. - * gm2/switches/check-all/plugin/pim2/fail/plugin5.def: New file. - * gm2/switches/check-all/plugin/pim2/fail/plugin5.mod: New file. - * gm2/switches/check-all/plugin/pim2/fail/plugin6.def: New file. - * gm2/switches/check-all/plugin/pim2/fail/plugin6.mod: New file. - * gm2/switches/check-all/plugin/pim2/fail/plugin7.def: New file. - * gm2/switches/check-all/plugin/pim2/fail/plugin7.mod: New file. - * gm2/switches/check-all/plugin/pim2/fail/plugin8.def: New file. - * gm2/switches/check-all/plugin/pim2/fail/plugin8.mod: New file. - * gm2/switches/check-all/plugin/pim2/fail/plugin9.mod: New file. - * gm2/switches/check-all/plugin/pim2/fail/switches-check-all-plugin-pim2-fail.exp: - New file. - * gm2/switches/check-all/run/fail/cardrange.mod: New file. - * gm2/switches/check-all/run/fail/cardrange2.mod: New file. - * gm2/switches/check-all/run/fail/cardrange3.mod: New file. - * gm2/switches/check-all/run/fail/intrange.mod: New file. - * gm2/switches/check-all/run/fail/intrange2.mod: New file. - * gm2/switches/check-all/run/fail/intrange3.mod: New file. - * gm2/switches/check-all/run/fail/intrange4.mod: New file. - * gm2/switches/check-all/run/fail/intrange5.mod: New file. - * gm2/switches/check-all/run/fail/multint1.mod: New file. - * gm2/switches/check-all/run/fail/multint2.mod: New file. - * gm2/switches/check-all/run/fail/multint3.mod: New file. - * gm2/switches/check-all/run/fail/rangesupport.def: New file. - * gm2/switches/check-all/run/fail/rangesupport.mod: New file. - * gm2/switches/check-all/run/fail/realrange.mod: New file. - * gm2/switches/check-all/run/fail/subrange.mod: New file. - * gm2/switches/check-all/run/fail/switches-check-all-run-fail.exp: - New file. - * gm2/switches/check-all/run/fail/tinyrange.mod: New file. - * gm2/switches/check-all/run/pass/cardrange.mod: New file. - * gm2/switches/check-all/run/pass/forcheck.mod: New file. - * gm2/switches/check-all/run/pass/subrange.mod: New file. - * gm2/switches/check-all/run/pass/switches-check-all-run-pass.exp: - New file. - * gm2/switches/extended-opaque/fail/a.def: New file. - * gm2/switches/extended-opaque/fail/a.mod: New file. - * gm2/switches/extended-opaque/fail/switches-extended-opaque-fail.exp: - New file. - * gm2/switches/extended-opaque/pass/a.def: New file. - * gm2/switches/extended-opaque/pass/a.mod: New file. - * gm2/switches/extended-opaque/pass/b.mod: New file. - * gm2/switches/extended-opaque/pass/switches-extended-opaque-pass.exp: - New file. - * gm2/switches/iso/run/pass/modulus.mod: New file. - * gm2/switches/iso/run/pass/modulus4.mod: New file. - * gm2/switches/iso/run/pass/switches-iso-run-pass.exp: New file. - * gm2/switches/makeall/fail/switches-makeall-fail.exp: New file. - * gm2/switches/makeall/fail/test.def: New file. - * gm2/switches/makeall/fail/test.mod: New file. - * gm2/switches/makeall/pass/switches-makeall-pass.exp: New file. - * gm2/switches/makeall/pass/test.def: New file. - * gm2/switches/makeall/pass/test.mod: New file. - * gm2/switches/none/run/pass/gm2-none.exp: New file. - * gm2/switches/none/run/pass/hello.mod: New file. - * gm2/switches/optimization/run/pass/fact.mod: New file. - * gm2/switches/optimization/run/pass/switches-optimization-run-pass.exp: - New file. - * gm2/switches/pedantic-params/fail/a.def: New file. - * gm2/switches/pedantic-params/fail/a.mod: New file. - * gm2/switches/pedantic-params/fail/switches-pedantic-params-fail.exp: - New file. - * gm2/switches/pedantic-params/pass/Strings.def: New file. - * gm2/switches/pedantic-params/pass/Strings.mod: New file. - * gm2/switches/pedantic-params/pass/Strings2.def: New file. - * gm2/switches/pedantic-params/pass/Strings2.mod: New file. - * gm2/switches/pedantic-params/pass/switches-pedantic-params-pass.exp: - New file. - * gm2/switches/pedantic/fail/onlywrite.mod: New file. - * gm2/switches/pedantic/fail/readb4.mod: New file. - * gm2/switches/pic/run/pass/func.c: New file. - * gm2/switches/pic/run/pass/func.mod: New file. - * gm2/switches/pic/run/pass/func2.c: New file. - * gm2/switches/pic/run/pass/func2.mod: New file. - * gm2/switches/pic/run/pass/switches-pic-run-pass.exp: New file. - * gm2/switches/pim2/run/pass/modulus.mod: New file. - * gm2/switches/pim2/run/pass/switches-pim2-run-pass.exp: New file. - * gm2/switches/pim3/run/pass/modulus.mod: New file. - * gm2/switches/pim3/run/pass/switches-pim3-run-pass.exp: New file. - * gm2/switches/pim4/run/pass/FpuIOBug.mod: New file. - * gm2/switches/pim4/run/pass/InOutBug.mod: New file. - * gm2/switches/pim4/run/pass/NumberIOBug.mod: New file. - * gm2/switches/pim4/run/pass/modulus.mod: New file. - * gm2/switches/pim4/run/pass/modulus2.mod: New file. - * gm2/switches/pim4/run/pass/switches-pim4-run-pass.exp: New file. - * gm2/switches/whole-program/pass/run/hello.mod: New file. - * gm2/switches/whole-program/pass/run/hello2.mod: New file. - * gm2/switches/whole-program/pass/run/switches-whole-program-pass-run.exp: - New file. - * gm2/switches/whole-program/pass/run/tiny.mod: New file. - * gm2/switches/whole-program/pass/run/tiny2.mod: New file. - * gm2/types/bitset.mod: New file. - * gm2/types/bitset2.mod: New file. - * gm2/types/bitset3.mod: New file. - * gm2/types/charset.mod: New file. - * gm2/types/const.mod: New file. - * gm2/types/prog35.mod: New file. - * gm2/types/real.mod: New file. - * gm2/types/run/pass/d.c: New file. - * gm2/types/run/pass/d.def: New file. - * gm2/types/run/pass/types-run-pass.exp: New file. - * gm2/types/run/pass/varient4.mod: New file. - * gm2/types/run/pass/varient5.mod: New file. - * gm2/types/string.mod: New file. - * gm2/types/type1.mod: New file. - * gm2/types/type2.mod: New file. - * gm2/types/type3.mod: New file. - * gm2/types/type4.mod: New file. - * gm2/types/varient.mod: New file. - * gm2/types/word.mod: New file. - * gm2/ulmlib/pass/ulmlib-pass.exp: New file. - * gm2/ulmlib/std/pass/ulmlib-std-pass.exp: New file. - * gm2/ulmlib/sys/pass/ulmlib-sys-pass.exp: New file. - * gm2/warnings/todo/nestedproc6.mod: New file. - * gm2/warnings/todo/options: New file. - * gm2/warnings/todo/testfor.mod: New file. - * gm2/warnings/todo/testfor2.mod: New file. - * gm2/warnings/todo/testfor3.mod: New file. - * gm2/warnings/todo/testkeywords.mod: New file. - * gm2/warnings/todo/testloop.mod: New file. - * gm2/warnings/todo/testscope.mod: New file. - * gm2/warnings/todo/testscope2.mod: New file. - * gm2/x86-asm/asm.mod: New file. - * gm2/x86-asm/asm2.mod: New file. - -2022-12-14 Julian Brown <julian@codesourcery.com> - - PR fortran/107214 - * gfortran.dg/gomp/pr107214.f90: New test. - * gfortran.dg/gomp/pr107214-2.f90: New test. - * gfortran.dg/gomp/pr107214-3.f90: New test. - * gfortran.dg/gomp/pr107214-4.f90: New test. - * gfortran.dg/gomp/pr107214-5.f90: New test. - * gfortran.dg/gomp/pr107214-6.f90: New test. - * gfortran.dg/gomp/pr107214-7.f90: New test. - * gfortran.dg/gomp/pr107214-8.f90: New test. - -2022-12-14 Tamar Christina <tamar.christina@arm.com> - - PR target/107988 - * gcc.target/aarch64/pr107988-1.c: New test. - -2022-12-14 Antoni Boucher <bouanto@zoho.com> - Guillaume Gomez <guillaume1.gomez@gmail.com> - - PR jit/108078 - * jit.dg/test-vector-types.cc: Add tests for vector type comparison - -2022-12-13 Martin Jambor <mjambor@suse.cz> - - * gcc.dg/ipa/ipa-sra-26.c: New test. - * gcc.dg/ipa/ipa-sra-27.c: Likewise. - * gcc.dg/ipa/ipa-sra-28.c: Likewise. - -2022-12-13 Martin Jambor <mjambor@suse.cz> - - * gfortran.dg/pr48636-2.f90: Disable IPA-SRA. - * gfortran.dg/ipa-sra-1.f90: New test. - -2022-12-13 Martin Jambor <mjambor@suse.cz> - - * gcc.dg/ipa/ipa-sra-25.c: New test - -2022-12-13 Martin Jambor <mjambor@suse.cz> - - * g++.dg/ipa/ipa-sra-5.C: New test - -2022-12-13 Martin Jambor <mjambor@suse.cz> - - PR ipa/103227 - PR ipa/107640 - * gcc.dg/ipa/pr107640-2.c: New test. - -2022-12-13 Jakub Jelinek <jakub@redhat.com> - - PR target/108044 - * gcc.target/i386/pr108044-1.c: New test. - * gcc.target/i386/pr108044-2.c: New test. - * gcc.target/i386/pr108044-3.c: New test. - * gcc.target/i386/pr108044-4.c: New test. - -2022-12-13 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/107423 - * gfortran.dg/pr107423.f90: New test. - -2022-12-13 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/108064 - * gcc.c-torture/execute/pr108064.c: New test. - -2022-12-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105801 - * gcc.dg/tree-ssa/ssa-ccp-43.c: New testcase. - -2022-12-13 Arthur Cohen <arthur.cohen@embecosm.com> - - * lib/rust.exp (rust_init): Add - '-frust-incomplete-and-experimental-compiler-do-not-use'. - -2022-12-13 Philip Herron <philip.herron@embecosm.com> - Arthur Cohen <arthur.cohen@embecosm.com> - Thomas Schwinge <thomas@codesourcery.com> - Mark Wielaard <mark@klomp.org> - Marc Poulhiès <dkm@kataplop.net> - - * rust/execute/torture/block_expr1.rs: New. - * rust/execute/torture/builtin_macro_cfg.rs: New. - * rust/execute/torture/builtin_macro_concat.rs: New. - * rust/execute/torture/builtin_macro_env.rs: New. - * rust/execute/torture/builtin_macro_include_bytes.rs: New. - * rust/execute/torture/builtin_macro_include_str.rs: New. - * rust/execute/torture/builtin_macro_line.rs: New. - * rust/execute/torture/builtin_macros1.rs: New. - * rust/execute/torture/builtin_macros3.rs: New. - * rust/execute/torture/cfg1.rs: New. - * rust/execute/torture/cfg2.rs: New. - * rust/execute/torture/cfg3.rs: New. - * rust/execute/torture/cfg4.rs: New. - * rust/execute/torture/cfg5.rs: New. - * rust/execute/torture/coercion1.rs: New. - * rust/execute/torture/coercion2.rs: New. - * rust/execute/torture/const_fold1.rs: New. - * rust/execute/torture/const_fold2.rs: New. - * rust/execute/torture/copy_nonoverlapping1.rs: New. - * rust/execute/torture/empty_main.rs: New. - * rust/execute/torture/execute.exp: New. - * rust/execute/torture/exit_error.rs: New. - * rust/execute/torture/extern_mod4.rs: New. - * rust/execute/torture/func1.rs: New. - * rust/execute/torture/helloworld1.rs: New. - * rust/execute/torture/helloworld2.rs: New. - * rust/execute/torture/include.txt: New. - * rust/execute/torture/index1.rs: New. - * rust/execute/torture/issue-1120.rs: New. - * rust/execute/torture/issue-1133.rs: New. - * rust/execute/torture/issue-1198.rs: New. - * rust/execute/torture/issue-1231.rs: New. - * rust/execute/torture/issue-1232.rs: New. - * rust/execute/torture/issue-1249.rs: New. - * rust/execute/torture/issue-1436.rs: New. - * rust/execute/torture/issue-1496.rs: New. - * rust/execute/torture/issue-647.rs: New. - * rust/execute/torture/issue-845.rs: New. - * rust/execute/torture/issue-851.rs: New. - * rust/execute/torture/issue-858.rs: New. - * rust/execute/torture/issue-976.rs: New. - * rust/execute/torture/issue-995.rs: New. - * rust/execute/torture/macros1.rs: New. - * rust/execute/torture/macros10.rs: New. - * rust/execute/torture/macros11.rs: New. - * rust/execute/torture/macros12.rs: New. - * rust/execute/torture/macros13.rs: New. - * rust/execute/torture/macros14.rs: New. - * rust/execute/torture/macros16.rs: New. - * rust/execute/torture/macros17.rs: New. - * rust/execute/torture/macros18.rs: New. - * rust/execute/torture/macros19.rs: New. - * rust/execute/torture/macros2.rs: New. - * rust/execute/torture/macros20.rs: New. - * rust/execute/torture/macros21.rs: New. - * rust/execute/torture/macros22.rs: New. - * rust/execute/torture/macros23.rs: New. - * rust/execute/torture/macros24.rs: New. - * rust/execute/torture/macros25.rs: New. - * rust/execute/torture/macros26.rs: New. - * rust/execute/torture/macros27.rs: New. - * rust/execute/torture/macros28.rs: New. - * rust/execute/torture/macros29.rs: New. - * rust/execute/torture/macros3.rs: New. - * rust/execute/torture/macros30.rs: New. - * rust/execute/torture/macros31.rs: New. - * rust/execute/torture/macros4.rs: New. - * rust/execute/torture/macros5.rs: New. - * rust/execute/torture/macros6.rs: New. - * rust/execute/torture/macros7.rs: New. - * rust/execute/torture/macros8.rs: New. - * rust/execute/torture/macros9.rs: New. - * rust/execute/torture/match1.rs: New. - * rust/execute/torture/match2.rs: New. - * rust/execute/torture/match3.rs: New. - * rust/execute/torture/match_bool1.rs: New. - * rust/execute/torture/match_byte1.rs: New. - * rust/execute/torture/match_char1.rs: New. - * rust/execute/torture/match_int1.rs: New. - * rust/execute/torture/match_loop1.rs: New. - * rust/execute/torture/match_range1.rs: New. - * rust/execute/torture/match_range2.rs: New. - * rust/execute/torture/match_tuple1.rs: New. - * rust/execute/torture/method1.rs: New. - * rust/execute/torture/method2.rs: New. - * rust/execute/torture/method3.rs: New. - * rust/execute/torture/method4.rs: New. - * rust/execute/torture/mod1.rs: New. - * rust/execute/torture/modules/mod.rs: New. - * rust/execute/torture/operator_overload_1.rs: New. - * rust/execute/torture/operator_overload_10.rs: New. - * rust/execute/torture/operator_overload_11.rs: New. - * rust/execute/torture/operator_overload_12.rs: New. - * rust/execute/torture/operator_overload_2.rs: New. - * rust/execute/torture/operator_overload_3.rs: New. - * rust/execute/torture/operator_overload_4.rs: New. - * rust/execute/torture/operator_overload_5.rs: New. - * rust/execute/torture/operator_overload_6.rs: New. - * rust/execute/torture/operator_overload_7.rs: New. - * rust/execute/torture/operator_overload_8.rs: New. - * rust/execute/torture/operator_overload_9.rs: New. - * rust/execute/torture/slice-magic.rs: New. - * rust/execute/torture/slice-magic2.rs: New. - * rust/execute/torture/slice1.rs: New. - * rust/execute/torture/str-layout1.rs: New. - * rust/execute/torture/str-zero.rs: New. - * rust/execute/torture/trait1.rs: New. - * rust/execute/torture/trait10.rs: New. - * rust/execute/torture/trait11.rs: New. - * rust/execute/torture/trait12.rs: New. - * rust/execute/torture/trait13.rs: New. - * rust/execute/torture/trait2.rs: New. - * rust/execute/torture/trait3.rs: New. - * rust/execute/torture/trait4.rs: New. - * rust/execute/torture/trait5.rs: New. - * rust/execute/torture/trait6.rs: New. - * rust/execute/torture/trait7.rs: New. - * rust/execute/torture/trait8.rs: New. - * rust/execute/torture/trait9.rs: New. - * rust/execute/torture/transmute1.rs: New. - * rust/execute/torture/wrapping_op1.rs: New. - * rust/execute/torture/wrapping_op2.rs: New. - * rust/execute/xfail/macro1.rs: New. - -2022-12-13 Philip Herron <philip.herron@embecosm.com> - Arthur Cohen <arthur.cohen@embecosm.com> - Thomas Schwinge <thomas@codesourcery.com> - Mark Wielaard <mark@klomp.org> - Marc Poulhiès <dkm@kataplop.net> - - * rust/compile/abi-options1.rs: New. - * rust/compile/array3.rs: New. - * rust/compile/array_empty_list.rs: New. - * rust/compile/arrays1.rs: New. - * rust/compile/arrays2.rs: New. - * rust/compile/attr-mismatch-crate-name.rs: New. - * rust/compile/attr_cold.rs: New. - * rust/compile/attr_deprecated.rs: New. - * rust/compile/attr_deprecated_2.rs: New. - * rust/compile/bad-crate-name.rs: New. - * rust/compile/bad=file-name.rs: New. - * rust/compile/bad_as_bool_char.rs: New. - * rust/compile/bad_file_name.txt.rs: New. - * rust/compile/bad_inner_doc.rs: New. - * rust/compile/bad_pub_enumitems.rs: New. - * rust/compile/bad_stmt_enums.rs: New. - * rust/compile/bad_toplevel_enums.rs: New. - * rust/compile/bad_tuple_index.rs: New. - * rust/compile/bad_type1.rs: New. - * rust/compile/bad_type2.rs: New. - * rust/compile/break1.rs: New. - * rust/compile/break2.rs: New. - * rust/compile/builtin_macro_compile_error.rs: New. - * rust/compile/builtin_macro_concat.rs: New. - * rust/compile/builtin_macro_env.rs: New. - * rust/compile/builtin_macro_include_bytes.rs: New. - * rust/compile/builtin_macro_include_str.rs: New. - * rust/compile/builtin_macro_not_found.rs: New. - * rust/compile/bytecharstring.rs: New. - * rust/compile/canonical_paths1.rs: New. - * rust/compile/cast1.rs: New. - * rust/compile/cfg1.rs: New. - * rust/compile/cfg2.rs: New. - * rust/compile/cfg3.rs: New. - * rust/compile/cfg4.rs: New. - * rust/compile/cfg5.rs: New. - * rust/compile/compile.exp: New. - * rust/compile/complex-path1.rs: New. - * rust/compile/const-issue1440.rs: New. - * rust/compile/const1.rs: New. - * rust/compile/const2.rs: New. - * rust/compile/const3.rs: New. - * rust/compile/const_generics_1.rs: New. - * rust/compile/const_generics_2.rs: New. - * rust/compile/const_generics_3.rs: New. - * rust/compile/const_generics_4.rs: New. - * rust/compile/const_generics_5.rs: New. - * rust/compile/const_generics_6.rs: New. - * rust/compile/continue1.rs: New. - * rust/compile/deadcode_err1.rs: New. - * rust/compile/deadcode_err2.rs: New. - * rust/compile/debug-diagnostics-default.rs: New. - * rust/compile/debug-diagnostics-off.rs: New. - * rust/compile/debug-diagnostics-on.rs: New. - * rust/compile/doc_isolated_cr_block_comment.rs: New. - * rust/compile/doc_isolated_cr_inner_block_comment.rs: New. - * rust/compile/doc_isolated_cr_inner_line_comment.rs: New. - * rust/compile/doc_isolated_cr_line_comment.rs: New. - * rust/compile/dup_fields.rs: New. - * rust/compile/empty_comment_before_match.rs: New. - * rust/compile/expected_type_args2.rs: New. - * rust/compile/expected_type_args3.rs: New. - * rust/compile/func1.rs: New. - * rust/compile/func2.rs: New. - * rust/compile/func3.rs: New. - * rust/compile/func4.rs: New. - * rust/compile/func5.rs: New. - * rust/compile/generic-default1.rs: New. - * rust/compile/generics1.rs: New. - * rust/compile/generics10.rs: New. - * rust/compile/generics11.rs: New. - * rust/compile/generics12.rs: New. - * rust/compile/generics13.rs: New. - * rust/compile/generics2.rs: New. - * rust/compile/generics3.rs: New. - * rust/compile/generics4.rs: New. - * rust/compile/generics5.rs: New. - * rust/compile/generics6.rs: New. - * rust/compile/generics7.rs: New. - * rust/compile/generics8.rs: New. - * rust/compile/generics9.rs: New. - * rust/compile/implicit_returns_err1.rs: New. - * rust/compile/implicit_returns_err2.rs: New. - * rust/compile/implicit_returns_err3.rs: New. - * rust/compile/implicit_returns_err4.rs: New. - * rust/compile/infer-crate-name.rs: New. - * rust/compile/inline_1.rs: New. - * rust/compile/inline_2.rs: New. - * rust/compile/issue-1005.rs: New. - * rust/compile/issue-1019.rs: New. - * rust/compile/issue-1023.rs: New. - * rust/compile/issue-1031.rs: New. - * rust/compile/issue-1034.rs: New. - * rust/compile/issue-1089.rs: New. - * rust/compile/issue-1128.rs: New. - * rust/compile/issue-1129-1.rs: New. - * rust/compile/issue-1129-2.rs: New. - * rust/compile/issue-1130.rs: New. - * rust/compile/issue-1131.rs: New. - * rust/compile/issue-1152.rs: New. - * rust/compile/issue-1165.rs: New. - * rust/compile/issue-1173.rs: New. - * rust/compile/issue-1226.rs: New. - * rust/compile/issue-1234.rs: New. - * rust/compile/issue-1235.rs: New. - * rust/compile/issue-1237.rs: New. - * rust/compile/issue-1251.rs: New. - * rust/compile/issue-1271.rs: New. - * rust/compile/issue-1289.rs: New. - * rust/compile/issue-1323-1.rs: New. - * rust/compile/issue-1323-2.rs: New. - * rust/compile/issue-1383.rs: New. - * rust/compile/issue-1393.rs: New. - * rust/compile/issue-1447.rs: New. - * rust/compile/issue-407-2.rs: New. - * rust/compile/issue-407.rs: New. - * rust/compile/issue-557.rs: New. - * rust/compile/issue-635-1.rs: New. - * rust/compile/issue-635-2.rs: New. - * rust/compile/lookup_err1.rs: New. - * rust/compile/macro-issue1053-2.rs: New. - * rust/compile/macro-issue1053.rs: New. - * rust/compile/macro-issue1224.rs: New. - * rust/compile/macro-issue1233.rs: New. - * rust/compile/macro-issue1395-2.rs: New. - * rust/compile/macro-issue1395.rs: New. - * rust/compile/macro-issue1400-2.rs: New. - * rust/compile/macro-issue1400.rs: New. - * rust/compile/macro1.rs: New. - * rust/compile/macro10.rs: New. - * rust/compile/macro11.rs: New. - * rust/compile/macro12.rs: New. - * rust/compile/macro13.rs: New. - * rust/compile/macro14.rs: New. - * rust/compile/macro15.rs: New. - * rust/compile/macro16.rs: New. - * rust/compile/macro17.rs: New. - * rust/compile/macro18.rs: New. - * rust/compile/macro19.rs: New. - * rust/compile/macro2.rs: New. - * rust/compile/macro20.rs: New. - * rust/compile/macro21.rs: New. - * rust/compile/macro22.rs: New. - * rust/compile/macro23.rs: New. - * rust/compile/macro25.rs: New. - * rust/compile/macro26.rs: New. - * rust/compile/macro27.rs: New. - * rust/compile/macro28.rs: New. - * rust/compile/macro29.rs: New. - * rust/compile/macro3.rs: New. - * rust/compile/macro30.rs: New. - * rust/compile/macro31.rs: New. - * rust/compile/macro32.rs: New. - * rust/compile/macro33.rs: New. - * rust/compile/macro34.rs: New. - * rust/compile/macro35.rs: New. - * rust/compile/macro36.rs: New. - * rust/compile/macro37.rs: New. - * rust/compile/macro38.rs: New. - * rust/compile/macro39.rs: New. - * rust/compile/macro4.rs: New. - * rust/compile/macro40.rs: New. - * rust/compile/macro41.rs: New. - * rust/compile/macro42.rs: New. - * rust/compile/macro5.rs: New. - * rust/compile/macro6.rs: New. - * rust/compile/macro7.rs: New. - * rust/compile/macro8.rs: New. - * rust/compile/macro9.rs: New. - * rust/compile/macro_return.rs: New. - * rust/compile/match1.rs: New. - * rust/compile/match2.rs: New. - * rust/compile/match3.rs: New. - * rust/compile/match4.rs: New. - * rust/compile/match5.rs: New. - * rust/compile/match6.rs: New. - * rust/compile/match7.rs: New. - * rust/compile/method1.rs: New. - * rust/compile/method2.rs: New. - * rust/compile/mismatch-crate-name.rs: New. - * rust/compile/missing_middle/both_path.rs: New. - * rust/compile/missing_middle/explicit.not.rs: New. - * rust/compile/missing_middle/inner_path.rs: New. - * rust/compile/missing_middle/other.rs: New. - * rust/compile/missing_middle/outer_path.rs: New. - * rust/compile/missing_middle/sub/mod.rs: New. - * rust/compile/missing_return1.rs: New. - * rust/compile/mod_missing_middle.rs: New. - * rust/compile/never_type_err1.rs: New. - * rust/compile/privacy1.rs: New. - * rust/compile/privacy2.rs: New. - * rust/compile/privacy3.rs: New. - * rust/compile/privacy4.rs: New. - * rust/compile/privacy5.rs: New. - * rust/compile/privacy6.rs: New. - * rust/compile/pub_restricted_1.rs: New. - * rust/compile/pub_restricted_2.rs: New. - * rust/compile/pub_restricted_3.rs: New. - * rust/compile/raw_identifiers_bad_keywords.rs: New. - * rust/compile/raw_identifiers_underscore.rs: New. - * rust/compile/redef_error1.rs: New. - * rust/compile/redef_error2.rs: New. - * rust/compile/redef_error3.rs: New. - * rust/compile/redef_error4.rs: New. - * rust/compile/redef_error5.rs: New. - * rust/compile/redef_error6.rs: New. - * rust/compile/reference1.rs: New. - * rust/compile/self-path1.rs: New. - * rust/compile/self-path2.rs: New. - * rust/compile/shadow1.rs: New. - * rust/compile/specify-crate-name.rs: New. - * rust/compile/static_var1.rs: New. - * rust/compile/stmt_with_block_err1.rs: New. - * rust/compile/struct_align1.rs: New. - * rust/compile/struct_align2.rs: New. - * rust/compile/struct_init1.rs: New. - * rust/compile/struct_pack1.rs: New. - * rust/compile/struct_pack2.rs: New. - * rust/compile/syntax-only.rs: New. - * rust/compile/test_mod.rs: New. - * rust/compile/torture/all_doc_comment_line_blocks.rs: New. - * rust/compile/torture/all_doc_comment_line_blocks_crlf.rs: New. - * rust/compile/torture/arithmetic_expressions1.rs: New. - * rust/compile/torture/array_const_fold_1.rs: New. - * rust/compile/torture/array_const_fold_2.rs: New. - * rust/compile/torture/array_function.rs: New. - * rust/compile/torture/array_type_infer.rs: New. - * rust/compile/torture/array_zero_length.rs: New. - * rust/compile/torture/arrays1.rs: New. - * rust/compile/torture/arrays2.rs: New. - * rust/compile/torture/arrays3.rs: New. - * rust/compile/torture/arrays4.rs: New. - * rust/compile/torture/arrays5.rs: New. - * rust/compile/torture/arrays6.rs: New. - * rust/compile/torture/arrays_index1.rs: New. - * rust/compile/torture/arrays_index2.rs: New. - * rust/compile/torture/arrays_index3.rs: New. - * rust/compile/torture/as_bool_char.rs: New. - * rust/compile/torture/associated_types1.rs: New. - * rust/compile/torture/autoderef1.rs: New. - * rust/compile/torture/block_expr1.rs: New. - * rust/compile/torture/block_expr2.rs: New. - * rust/compile/torture/block_expr3.rs: New. - * rust/compile/torture/block_expr4.rs: New. - * rust/compile/torture/block_expr5.rs: New. - * rust/compile/torture/block_expr_parser_bug.rs: New. - * rust/compile/torture/bom.rs: New. - * rust/compile/torture/bom_comment.rs: New. - * rust/compile/torture/bom_shebang.rs: New. - * rust/compile/torture/bom_whitespace.rs: New. - * rust/compile/torture/bools_eq.rs: New. - * rust/compile/torture/borrow1.rs: New. - * rust/compile/torture/borrow_function.rs: New. - * rust/compile/torture/break_function.rs: New. - * rust/compile/torture/byte_char_str.rs: New. - * rust/compile/torture/byte_str.rs: New. - * rust/compile/torture/cast1.rs: New. - * rust/compile/torture/cast2.rs: New. - * rust/compile/torture/cast3.rs: New. - * rust/compile/torture/cfg_attr.rs: New. - * rust/compile/torture/char1.rs: New. - * rust/compile/torture/check-doc-attr-string.rs: New. - * rust/compile/torture/coercion1.rs: New. - * rust/compile/torture/coercion2.rs: New. - * rust/compile/torture/comparison_expr1.rs: New. - * rust/compile/torture/compile.exp: New. - * rust/compile/torture/compound_assignment_expr1.rs: New. - * rust/compile/torture/conditional.rs: New. - * rust/compile/torture/constant1.rs: New. - * rust/compile/torture/constant2.rs: New. - * rust/compile/torture/constant3.rs: New. - * rust/compile/torture/deadcode1.rs: New. - * rust/compile/torture/deadcode2.rs: New. - * rust/compile/torture/deref1.rs: New. - * rust/compile/torture/deref_function.rs: New. - * rust/compile/torture/doc_comment.rs: New. - * rust/compile/torture/enum1.rs: New. - * rust/compile/torture/extern_mod1.rs: New. - * rust/compile/torture/extern_mod2.rs: New. - * rust/compile/torture/float1.rs: New. - * rust/compile/torture/float_types.rs: New. - * rust/compile/torture/forward_decl_1.rs: New. - * rust/compile/torture/forward_decl_2.rs: New. - * rust/compile/torture/forward_decl_3-unsafe.rs: New. - * rust/compile/torture/forward_decl_3.rs: New. - * rust/compile/torture/forward_decl_4.rs: New. - * rust/compile/torture/forward_decl_5.rs: New. - * rust/compile/torture/func1.rs: New. - * rust/compile/torture/func2.rs: New. - * rust/compile/torture/function_reference1.rs: New. - * rust/compile/torture/function_reference2.rs: New. - * rust/compile/torture/function_reference3.rs: New. - * rust/compile/torture/function_reference4.rs: New. - * rust/compile/torture/generics1.rs: New. - * rust/compile/torture/generics10.rs: New. - * rust/compile/torture/generics11.rs: New. - * rust/compile/torture/generics12.rs: New. - * rust/compile/torture/generics13.rs: New. - * rust/compile/torture/generics14.rs: New. - * rust/compile/torture/generics15.rs: New. - * rust/compile/torture/generics16.rs: New. - * rust/compile/torture/generics17.rs: New. - * rust/compile/torture/generics18.rs: New. - * rust/compile/torture/generics19.rs: New. - * rust/compile/torture/generics2.rs: New. - * rust/compile/torture/generics20.rs: New. - * rust/compile/torture/generics21.rs: New. - * rust/compile/torture/generics22.rs: New. - * rust/compile/torture/generics23.rs: New. - * rust/compile/torture/generics24.rs: New. - * rust/compile/torture/generics25.rs: New. - * rust/compile/torture/generics26.rs: New. - * rust/compile/torture/generics27.rs: New. - * rust/compile/torture/generics28.rs: New. - * rust/compile/torture/generics29.rs: New. - * rust/compile/torture/generics3.rs: New. - * rust/compile/torture/generics30.rs: New. - * rust/compile/torture/generics31.rs: New. - * rust/compile/torture/generics32.rs: New. - * rust/compile/torture/generics4.rs: New. - * rust/compile/torture/generics5.rs: New. - * rust/compile/torture/generics6.rs: New. - * rust/compile/torture/generics7.rs: New. - * rust/compile/torture/generics8.rs: New. - * rust/compile/torture/generics9.rs: New. - * rust/compile/torture/grouped_expr_function.rs: New. - * rust/compile/torture/identifier-missing-impl-1.rs: New. - * rust/compile/torture/if.rs: New. - * rust/compile/torture/if_elif.rs: New. - * rust/compile/torture/if_elif_else_expr1.rs: New. - * rust/compile/torture/if_else.rs: New. - * rust/compile/torture/ifunaryexpr.rs: New. - * rust/compile/torture/impl_block1.rs: New. - * rust/compile/torture/impl_block2.rs: New. - * rust/compile/torture/impl_block3.rs: New. - * rust/compile/torture/impl_block_unused.rs: New. - * rust/compile/torture/implicit_returns1.rs: New. - * rust/compile/torture/infer_type1.rs: New. - * rust/compile/torture/inner_attributes.rs: New. - * rust/compile/torture/integer_inference_var1.rs: New. - * rust/compile/torture/integer_inference_var2.rs: New. - * rust/compile/torture/integer_inference_var3.rs: New. - * rust/compile/torture/integer_inference_var4.rs: New. - * rust/compile/torture/integer_inference_var5.rs: New. - * rust/compile/torture/integer_types.rs: New. - * rust/compile/torture/intrinsics-1.rs: New. - * rust/compile/torture/intrinsics-2.rs: New. - * rust/compile/torture/isolated_cr_block_comment.rs: New. - * rust/compile/torture/isolated_cr_line_comment.rs: New. - * rust/compile/torture/issue-1024.rs: New. - * rust/compile/torture/issue-1075.rs: New. - * rust/compile/torture/issue-1432.rs: New. - * rust/compile/torture/issue-1434.rs: New. - * rust/compile/torture/issue-368.rs: New. - * rust/compile/torture/issue-808.rs: New. - * rust/compile/torture/issue-862.rs: New. - * rust/compile/torture/issue-893-2.rs: New. - * rust/compile/torture/issue-893.rs: New. - * rust/compile/torture/lazybooleanexpr_function.rs: New. - * rust/compile/torture/lifetime1.rs: New. - * rust/compile/torture/literals1.rs: New. - * rust/compile/torture/loop1.rs: New. - * rust/compile/torture/loop2.rs: New. - * rust/compile/torture/loop3.rs: New. - * rust/compile/torture/loop4.rs: New. - * rust/compile/torture/loop5.rs: New. - * rust/compile/torture/loop6.rs: New. - * rust/compile/torture/loop7.rs: New. - * rust/compile/torture/macro-issue1403.rs: New. - * rust/compile/torture/macro-issue1426.rs: New. - * rust/compile/torture/macro_as_expr.rs: New. - * rust/compile/torture/match1.rs: New. - * rust/compile/torture/methods1.rs: New. - * rust/compile/torture/methods2.rs: New. - * rust/compile/torture/methods3.rs: New. - * rust/compile/torture/mod-nameresolve.rs: New. - * rust/compile/torture/mod1.rs: New. - * rust/compile/torture/mod2.rs: New. - * rust/compile/torture/mod3.rs: New. - * rust/compile/torture/modules/mod.rs: New. - * rust/compile/torture/modules/valid_path.rs: New. - * rust/compile/torture/must_use1.rs: New. - * rust/compile/torture/must_use2.rs: New. - * rust/compile/torture/name_resolve1.rs: New. - * rust/compile/torture/negation_function.rs: New. - * rust/compile/torture/nested_fn1.rs: New. - * rust/compile/torture/nested_fn2.rs: New. - * rust/compile/torture/nested_struct1.rs: New. - * rust/compile/torture/never_type1.rs: New. - * rust/compile/torture/not_shebang.rs: New. - * rust/compile/torture/not_shebang_block_comment.rs: New. - * rust/compile/torture/not_shebang_comment.rs: New. - * rust/compile/torture/not_shebang_multiline_comment.rs: New. - * rust/compile/torture/not_shebang_spaces.rs: New. - * rust/compile/torture/parameter_usage1.rs: New. - * rust/compile/torture/parens1.rs: New. - * rust/compile/torture/pointer1.rs: New. - * rust/compile/torture/primconsts.rs: New. - * rust/compile/torture/prims_struct_eq.rs: New. - * rust/compile/torture/range-lang-item1.rs: New. - * rust/compile/torture/raw_identifiers.rs: New. - * rust/compile/torture/raw_identifiers_keywords.rs: New. - * rust/compile/torture/recursive_fn1.rs: New. - * rust/compile/torture/return_function.rs: New. - * rust/compile/torture/scoping1.rs: New. - * rust/compile/torture/self_type1.rs: New. - * rust/compile/torture/shadow1.rs: New. - * rust/compile/torture/shadow2.rs: New. - * rust/compile/torture/shebang.rs: New. - * rust/compile/torture/shebang_plus_attr.rs: New. - * rust/compile/torture/shebang_plus_attr2.rs: New. - * rust/compile/torture/static_function.rs: New. - * rust/compile/torture/static_var1.rs: New. - * rust/compile/torture/stmt_with_block1.rs: New. - * rust/compile/torture/str1.rs: New. - * rust/compile/torture/struct_access1.rs: New. - * rust/compile/torture/struct_base_init_1.rs: New. - * rust/compile/torture/struct_decl.rs: New. - * rust/compile/torture/struct_init.rs: New. - * rust/compile/torture/struct_init_10.rs: New. - * rust/compile/torture/struct_init_11.rs: New. - * rust/compile/torture/struct_init_2.rs: New. - * rust/compile/torture/struct_init_3.rs: New. - * rust/compile/torture/struct_init_4.rs: New. - * rust/compile/torture/struct_init_5.rs: New. - * rust/compile/torture/struct_init_6.rs: New. - * rust/compile/torture/struct_init_7.rs: New. - * rust/compile/torture/struct_init_8.rs: New. - * rust/compile/torture/struct_init_9.rs: New. - * rust/compile/torture/top_attr.rs: New. - * rust/compile/torture/traits1.rs: New. - * rust/compile/torture/traits10.rs: New. - * rust/compile/torture/traits11.rs: New. - * rust/compile/torture/traits12.rs: New. - * rust/compile/torture/traits13.rs: New. - * rust/compile/torture/traits14.rs: New. - * rust/compile/torture/traits15.rs: New. - * rust/compile/torture/traits16.rs: New. - * rust/compile/torture/traits17.rs: New. - * rust/compile/torture/traits18.rs: New. - * rust/compile/torture/traits19.rs: New. - * rust/compile/torture/traits2.rs: New. - * rust/compile/torture/traits3.rs: New. - * rust/compile/torture/traits4.rs: New. - * rust/compile/torture/traits5.rs: New. - * rust/compile/torture/traits6.rs: New. - * rust/compile/torture/traits7.rs: New. - * rust/compile/torture/traits8.rs: New. - * rust/compile/torture/traits9.rs: New. - * rust/compile/torture/transmute-size-check-1.rs: New. - * rust/compile/torture/transmute1.rs: New. - * rust/compile/torture/tuple1.rs: New. - * rust/compile/torture/tuple2.rs: New. - * rust/compile/torture/tuple3.rs: New. - * rust/compile/torture/tuple_enum_variants.rs: New. - * rust/compile/torture/tuple_field_access.rs: New. - * rust/compile/torture/tuple_function.rs: New. - * rust/compile/torture/tuple_index.rs: New. - * rust/compile/torture/tuple_struct1.rs: New. - * rust/compile/torture/tuple_struct2.rs: New. - * rust/compile/torture/tuple_struct_unit.rs: New. - * rust/compile/torture/tuple_struct_unused.rs: New. - * rust/compile/torture/type-alias1.rs: New. - * rust/compile/torture/type-alias2.rs: New. - * rust/compile/torture/type_infer1.rs: New. - * rust/compile/torture/type_infer2.rs: New. - * rust/compile/torture/type_infer3.rs: New. - * rust/compile/torture/type_infer4.rs: New. - * rust/compile/torture/type_infer5.rs: New. - * rust/compile/torture/type_infer6.rs: New. - * rust/compile/torture/unary_operators.rs: New. - * rust/compile/torture/undended-string-1.rs: New. - * rust/compile/torture/undended-string-2.rs: New. - * rust/compile/torture/underscore_id.rs: New. - * rust/compile/torture/union.rs: New. - * rust/compile/torture/union_union.rs: New. - * rust/compile/torture/unit_type1.rs: New. - * rust/compile/torture/unit_type2.rs: New. - * rust/compile/torture/unit_type3.rs: New. - * rust/compile/torture/unit_type4.rs: New. - * rust/compile/torture/unit_type5.rs: New. - * rust/compile/torture/unsafe1.rs: New. - * rust/compile/torture/unsafe2.rs: New. - * rust/compile/torture/unsafe3.rs: New. - * rust/compile/torture/unsafe4.rs: New. - * rust/compile/torture/unused.rs: New. - * rust/compile/torture/unused1.rs: New. - * rust/compile/torture/unused_struct.rs: New. - * rust/compile/torture/unused_struct_field.rs: New. - * rust/compile/torture/usize1.rs: New. - * rust/compile/torture/very-broken-attr-string.rs: New. - * rust/compile/torture/while_function.rs: New. - * rust/compile/traits1.rs: New. - * rust/compile/traits10.rs: New. - * rust/compile/traits11.rs: New. - * rust/compile/traits12.rs: New. - * rust/compile/traits2.rs: New. - * rust/compile/traits3.rs: New. - * rust/compile/traits4.rs: New. - * rust/compile/traits5.rs: New. - * rust/compile/traits6.rs: New. - * rust/compile/traits7.rs: New. - * rust/compile/traits8.rs: New. - * rust/compile/traits9.rs: New. - * rust/compile/tuple1.rs: New. - * rust/compile/tuple_struct1.rs: New. - * rust/compile/tuple_struct2.rs: New. - * rust/compile/tuple_struct3.rs: New. - * rust/compile/type-alias1.rs: New. - * rust/compile/type-bindings1.rs: New. - * rust/compile/unary_negation.rs: New. - * rust/compile/unary_not.rs: New. - * rust/compile/unconstrained_type_param.rs: New. - * rust/compile/unicode_escape.rs: New. - * rust/compile/unsafe1.rs: New. - * rust/compile/unsafe10.rs: New. - * rust/compile/unsafe2.rs: New. - * rust/compile/unsafe3.rs: New. - * rust/compile/unsafe4.rs: New. - * rust/compile/unsafe5.rs: New. - * rust/compile/unsafe6.rs: New. - * rust/compile/unsafe7.rs: New. - * rust/compile/unsafe8.rs: New. - * rust/compile/unsafe9.rs: New. - * rust/compile/unterminated_c_comment.rs: New. - * rust/compile/use_1.rs: New. - * rust/compile/usize1.rs: New. - * rust/compile/xfail/lifetime_param.rs: New. - * rust/compile/xfail/struct_field_vis.rs: New. - * rust/compile/xfail/xfail.exp: New. - * rust/compile/rawbytestring.rs: New file. - -2022-12-13 Philip Herron <philip.herron@embecosm.com> - - * rust/link/generic_function_0.rs: New. - * rust/link/generic_function_1.rs: New. - * rust/link/link.exp: New. - * rust/link/simple_function_0.rs: New. - * rust/link/simple_function_1.rs: New. - * rust/link/trait_import_0.rs: New. - * rust/link/trait_import_1.rs: New. - -2022-12-13 Philip Herron <philip.herron@embecosm.com> - Tom Tromey <tom@tromey.com> - Mark Wielaard <mark@klomp.org> - Marc Poulhiès <dkm@kataplop.net> - - * rust/debug/chartype.rs: New. - * rust/debug/custom_link_section.rs: New. - * rust/debug/debug.exp: New. - * rust/debug/i8u8.rs: New. - * rust/debug/lang.rs: New. - * rust/debug/no_mangle.rs: New. - * rust/debug/oldlang.rs: New. - * rust/debug/tuple.rs: New. - * rust/debug/win64-abi.rs: New. - -2022-12-13 Philip Herron <philip.herron@embecosm.com> - Marc Poulhiès <dkm@kataplop.net> - Thomas Schwinge <thomas@codesourcery.com> - - * lib/rust-dg.exp: New. - * lib/rust.exp: New. - -2022-12-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/108076 - * gcc.dg/torture/pr108076.c: New testcase. - -2022-12-13 Haochen Gui <guihaoc@gcc.gnu.org> - - * gcc.target/powerpc/cbranchcc4-1.c: New. - * gcc.target/powerpc/cbranchcc4-2.c: New. - -2022-12-12 Jason Merrill <jason@redhat.com> - - Revert: - 2022-12-12 Jason Merrill <jason@redhat.com> - - PR c++/105838 - * g++.dg/tree-ssa/initlist-opt2.C: New test. - -2022-12-12 Harald Anlauf <anlauf@gmx.de> - - PR fortran/102180 - * gfortran.dg/pr102180.f90: New test. - -2022-12-12 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/108055 - * gdc.dg/torture/imports/pr108055conv.d: New. - * gdc.dg/torture/imports/pr108055spec.d: New. - * gdc.dg/torture/imports/pr108055write.d: New. - * gdc.dg/torture/pr108055.d: New test. - -2022-12-12 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * gcc.target/aarch64/movk_3.c: New test. - -2022-12-12 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/aarch64/if-compare_1.c: New test. - * gcc.target/aarch64/if-compare_2.c: New test. - -2022-12-12 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/aarch64/tbz_1.c: New test. - -2022-12-12 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/aarch64/sve/slp_1.c: Update testcase. - -2022-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * gcc.target/aarch64/acle/bti_def.c: New test. - * gcc.target/aarch64/acle/pauth_def.c: New test. - -2022-12-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/89317 - * gcc.dg/tree-ssa/pr89317.c: Amend. - -2022-12-11 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/107995 - * gfortran.dg/pr107995.f90: New test. - -2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/108050 - * gdc.dg/imports/pr108050/mod1.d: New. - * gdc.dg/imports/pr108050/mod2.d: New. - * gdc.dg/imports/pr108050/package.d: New. - * gdc.dg/pr108050.d: New test. - -2022-12-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/89317 - * gcc.dg/tree-ssa/pr89317.c: New testcase. - -2022-12-11 Richard Biener <rguenther@suse.de> - - * gcc.dg/tree-ssa/forwprop-3.c: Adjust. - * g++.dg/tree-ssa/pr31146-2.C: Likewise. - -2022-12-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106904 - * gcc.dg/Wstringop-overflow-pr106904.c: New testcase. - -2022-12-10 Harald Anlauf <anlauf@gmx.de> - - PR fortran/106911 - * gfortran.dg/pr106911.f90: New test. - -2022-12-10 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107997 - * gcc.c-torture/compile/pr107997.c: New test. - -2022-12-09 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/107872 - * gfortran.dg/pr107872.f90: New test. - -2022-12-09 Martin Liska <mliska@suse.cz> - - * gcc.target/i386/builtin_target.c: Add more checks. - -2022-12-09 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/108003 - * g++.dg/analyzer/pr108003.C: New test. - -2022-12-09 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/memcpy-1.c (test_8a, test_8b): New tests. - * gcc.dg/analyzer/memmove-1.c: New test, based on memcpy-1.c - * gcc.dg/analyzer/out-of-bounds-1.c (test7): Update expected - result for uninit srcBuf. - * gcc.dg/analyzer/out-of-bounds-5.c (test8, test9): Add - dg-warnings for memcpy from uninit src vla. - * gcc.dg/analyzer/pr104308.c (test_memmove_within_uninit): - Expect creation point note to be missing on riscv*-*-*. - -2022-12-08 Harald Anlauf <anlauf@gmx.de> - - PR fortran/108025 - * gfortran.dg/contiguous_12.f90: New test. - -2022-12-08 Eugene Rozenfeld <erozen@microsoft.com> - - * gcc.dg/tree-prof/pr108000.c: Regression test - -2022-12-08 David Faust <david.faust@oracle.com> - - * gcc.target/bpf/bswap-1.c: New test. - -2022-12-08 Jason Merrill <jason@redhat.com> - - PR c++/105838 - * g++.dg/tree-ssa/initlist-opt2.C: New test. - -2022-12-08 Jason Merrill <jason@redhat.com> - - PR c++/105838 - * g++.dg/tree-ssa/initlist-opt1.C: New test. - -2022-12-08 Jason Merrill <jason@redhat.com> - - PR c++/105838 - * g++.dg/tree-ssa/allocator-opt1.C: New test. - -2022-12-08 Sebastian Pop <spop@amazon.com> - - PR target/98776 - * gcc.target/aarch64/pr98776.c: New. - * gcc.target/aarch64/pr92424-2.c: Adjust pattern. - * gcc.target/aarch64/pr92424-3.c: Adjust pattern. - -2022-12-08 Siddhesh Poyarekar <siddhesh@gotplt.org> - - * gcc.dg/builtin-dynamic-object-size-0.c (test_strdup, - test_strndup, test_strdup_min, test_strndup_min): Free RES - before returning from function. - -2022-12-08 Jakub Jelinek <jakub@redhat.com> - - PR debug/106719 - * gcc.dg/pr106719.c: New test. - -2022-12-08 Jakub Jelinek <jakub@redhat.com> - - PR target/107627 - * gcc.target/i386/pr107627-3.c: New test. - * gcc.target/i386/pr107627-4.c: New test. - -2022-12-08 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/107985 - * g++.dg/pr107985.C: New. - -2022-12-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107699 - * gcc.dg/tree-ssa/pr107699.c: New testcase. - -2022-12-08 Alexandre Oliva <oliva@adacore.com> - - PR tree-optimization/102706 - * gcc.dg/Warray-bounds-48.c: Disable -Wstringop-overflow. - * gcc.dg/Wzero-length-array-bounds-2.c: Likewise. - -2022-12-08 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/torture/fp-uint64-convert-double-1.c: Expect fail on - arm-*-eabi*. - * gcc.dg/torture/fp-uint64-convert-double-2.c: Likewise. - -2022-12-08 Alexandre Oliva <oliva@adacore.com> - - * c-c++-common/auto-init-1.c: Add -fno-short-enums. - * c-c++-common/auto-init-2.c: Likewise. - * gcc.dg/debug/btf/btf-enum-1.c: Likewise. - -2022-12-08 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vabavq_p_s16.c: Extern functions - as "C". - * 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/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/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/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/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/vfmasq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmasq_m_n_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/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/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/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/vmlaldavaxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_s32.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/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/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/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/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/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/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/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/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/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/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/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. - -2022-12-08 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107967 - * gcc.dg/pr107967-1.c: New test. - * gcc.dg/pr107967-2.c: New test. - * gcc.dg/pr107967-3.c: New test. - -2022-12-07 Harald Anlauf <anlauf@gmx.de> - - PR fortran/108010 - * gfortran.dg/pr108010.f90: New test. - -2022-12-07 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c2x-constexpr-1.c: Do not use auto, constexpr and a type - together. - * gcc.dg/c2x-constexpr-3.c: Add tests of auto, constexpr and type - used together. - -2022-12-07 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c90-auto-1.c: New test. - -2022-12-07 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/cpp/c11-vararg-1.c, gcc.dg/cpp/c2x-va-opt-1.c: New tests. - -2022-12-07 Richard Biener <rguenther@suse.de> - - PR ipa/105676 - * gcc.dg/pr105676.c: New testcase. - -2022-12-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - PR target/107920 - * gcc.target/aarch64/sve/acle/general/pr107920.c: New test. - * g++.target/aarch64/sve/pr107920.C: Likewise. - -2022-12-07 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr107970.c: New test. - -2022-12-07 Antoni Boucher <bouanto@zoho.com> - Guillaume Gomez <guillaume1.gomez@gmail.com> - - PR jit/107770 - * jit.dg/harness.h: Add new macro to to perform vector - comparisons - * jit.dg/test-expressions.c: Extend comparison tests to add float - types and vectors - -2022-12-06 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107882 - * gcc.dg/analyzer/memcpy-pr107882.c: New test. - -2022-12-06 Qing Zhao <qing.zhao@oracle.com> - - * gcc.dg/Warray-bounds-11.c: Update warnings for -Warray-bounds=2. - * gcc.dg/Warray-bounds-flex-arrays-1.c: New test. - * gcc.dg/Warray-bounds-flex-arrays-2.c: New test. - * gcc.dg/Warray-bounds-flex-arrays-3.c: New test. - * gcc.dg/Warray-bounds-flex-arrays-4.c: New test. - * gcc.dg/Warray-bounds-flex-arrays-5.c: New test. - * gcc.dg/Warray-bounds-flex-arrays-6.c: New test. - -2022-12-06 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106325 - * gcc.dg/analyzer/attr-nonnull-pr106325.c: New test. - * gcc.dg/analyzer/attribute-nonnull.c (test_6): New. - (test_7): New. - -2022-12-06 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/analyzer_kernel_plugin.c: Include - "analyzer/call-details.h". - * gcc.dg/plugin/analyzer_known_fns_plugin.c: Likewise. - -2022-12-06 Marcel Vollweiler <marcel@codesourcery.com> - - * c-c++-common/gomp/target-teams-1.c: Adapt expected values for - num_teams from "1" to "-2" in cases without num_teams clause. - * g++.dg/gomp/target-teams-1.C: Likewise. - * gfortran.dg/gomp/defaultmap-4.f90: Likewise. - * gfortran.dg/gomp/defaultmap-5.f90: Likewise. - * gfortran.dg/gomp/defaultmap-6.f90: Likewise. - -2022-12-06 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.target/arm/mve/pr107987.c: New test. - -2022-12-06 Jakub Jelinek <jakub@redhat.com> - - PR target/107969 - * gcc.target/i386/pr107969.c: New test. - -2022-12-06 Jakub Jelinek <jakub@redhat.com> - - PR testsuite/107046 - * gcc.c-torture/execute/ieee/ieee.exp: For rx-*-* append - -mnofpu. - -2022-12-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107975 - * gcc.dg/pr107975.c: New test. - -2022-12-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104165 - * g++.dg/warn/Warray-bounds-pr104165-1.C: New testcase. - -2022-12-06 Iain Sandoe <iain@sandoe.co.uk> - - * gcc.target/x86_64/abi/bf16/abi-bf16.exp: Use separate asm for Darwin. - * gcc.target/x86_64/abi/bf16/m256bf16/abi-bf16-ymm.exp: Likewise. - * gcc.target/x86_64/abi/bf16/m512bf16/abi-bf16-zmm.exp: Likewise. - * gcc.target/x86_64/abi/bf16/args.h: Make xmm_regs, x87_regs extern. - * gcc.target/x86_64/abi/bf16/m256bf16/args.h: Likewise. - * gcc.target/x86_64/abi/bf16/m512bf16/args.h: Likewise. - * gcc.target/x86_64/abi/bf16/asm-support-darwin.S: New file. - * gcc.target/x86_64/abi/bf16/m256bf16/asm-support-darwin.S: New file. - * gcc.target/x86_64/abi/bf16/m512bf16/asm-support-darwin.S: New file. - -2022-12-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - * gcc.target/aarch64/interleave-init-1.c: New test. - -2022-12-05 Richard Biener <rguenther@suse.de> - - PR middle-end/40635 - * gcc.dg/uninit-pr40635.c: New testcase. - -2022-12-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106868 - * gcc.dg/Wdangling-pointer-pr106868.c: New testcase. - -2022-12-05 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/106805 - * c-c++-common/pr57371-4.c: Revert 2021-09-19 changes. - * c-c++-common/pr57371-5.c: New test. - * gcc.c-torture/execute/ieee/fp-cmp-6.x: Add -fno-trapping-math. - * gcc.c-torture/execute/ieee/fp-cmp-9.c: New test. - * gcc.c-torture/execute/ieee/fp-cmp-9.x: New file. - -2022-12-05 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107879 - * gcc.c-torture/execute/pr107879.c: New file. - -2022-12-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107833 - PR tree-optimization/107839 - * gcc.dg/torture/pr107833.c: New testcase. - * gcc.dg/uninit-pr107839.c: Likewise. - -2022-12-04 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107922 - * gfortran.dg/unpack_field_1.f90: New test. - -2022-12-04 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107899 - * gfortran.dg/pr107899.f90: New test. - -2022-12-04 Patrick Palka <ppalka@redhat.com> - - PR c++/107417 - * g++.dg/cpp2a/concepts-requires33.C: New test. - -2022-12-04 Iain Sandoe <iain@sandoe.co.uk> - Adrian Perl <adrian.perl@web.de> - - PR c++/100611 - PR c++/101367 - PR c++/101976 - PR c++/99576 - * g++.dg/coroutines/pr100611.C: New test. - * g++.dg/coroutines/pr101367.C: New test. - * g++.dg/coroutines/pr101976.C: New test. - * g++.dg/coroutines/pr99576_1.C: New test. - * g++.dg/coroutines/pr99576_2.C: New test. - -2022-12-03 Patrick Palka <ppalka@redhat.com> - - PR c++/103081 - * g++.dg/cpp2a/using-enum-10.C: New test. - * g++.dg/cpp2a/using-enum-10a.C: New test. - -2022-12-03 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/tree-ssa/ssa-sink-18.c: xfail sink2 on riscv64. - -2022-12-03 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/uninit-pred-9_b.c: Add riscv*-*-* to the xfail list - for the bogus warning. - -2022-12-02 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107874 - * gfortran.dg/merge_1.f90: Avoid recursive I/O. - -2022-12-02 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107851 - * gcc.dg/analyzer/allocation-size-4.c: Update expected wording. - * gcc.dg/analyzer/allocation-size-multiline-1.c: New test. - * gcc.dg/analyzer/allocation-size-multiline-2.c: New test. - * gcc.dg/analyzer/out-of-bounds-multiline-1.c: Update expected - wording. - * gcc.dg/analyzer/out-of-bounds-multiline-2.c: New test. - * gcc.dg/analyzer/out-of-bounds-read-char-arr.c: Update expected - wording. - * gcc.dg/analyzer/out-of-bounds-read-int-arr.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-write-char-arr.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-write-int-arr.c: Likewise. - -2022-12-02 Marek Polacek <polacek@redhat.com> - - * g++.dg/cpp0x/constexpr-ex1.C: Adjust dg-error. - * g++.dg/cpp23/constexpr-nonlit10.C: Adjust dg-warning. - * g++.dg/cpp23/constexpr-nonlit11.C: Likewise. - * g++.dg/cpp2a/spaceship-eq3.C: Add dg-error. - -2022-12-02 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> - Jason Merrill <jason@redhat.com> - - * g++.dg/diagnostic/return-type-loc1.C: New test. - -2022-12-02 Vladimir N. Makarov <vmakarov@redhat.com> - - * gcc.target/mips/pr106462.c: New test. - -2022-12-02 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/cbranchbf4.c: New test. - -2022-12-02 Jakub Jelinek <jakub@redhat.com> - - PR target/106577 - * gcc.target/i386/pr106577.c: New test. - -2022-12-02 Jakub Jelinek <jakub@redhat.com> - - PR c++/84469 - * g++.dg/gomp/for-21.C (f3, f6, f9): Adjust expected diagnostics. - * g++.dg/gomp/for-22.C: New test. - -2022-12-02 Jakub Jelinek <jakub@redhat.com> - - PR c++/84469 - * g++.dg/cpp1z/decomp56.C: New test. - * g++.dg/gomp/pr84469.C: New test. - -2022-12-02 Michael Collison <collison@rivosinc.com> - - * gcc.dg/tree-ssa/branchless-cond.c: New test. - -2022-12-02 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107948 - * gcc.dg/analyzer/feasibility-pr107948.c: New test. - -2022-12-02 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/string-ops-concat-pair.c: New test. - * gcc.dg/analyzer/string-ops-dup.c: New test. - -2022-12-02 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr107934.c: New test. - -2022-12-02 Patrick Palka <ppalka@redhat.com> - - PR c++/107539 - * g++.dg/template/canon-type-19.C: New test. - -2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/base/dup-1.c: New test. - * gcc.target/riscv/rvv/base/dup-2.c: New test. - -2022-12-01 Christophe Lyon <christophe.lyon@arm.com> - - * gcc.target/arm/simd/mve-compare-1.c: Update. - * gcc.target/arm/simd/mve-compare-scalar-1.c: Update. - * gcc.target/arm/simd/mve-vabs.c: Update. - * gcc.target/arm/simd/mve-vadd-1.c: Update. - * gcc.target/arm/simd/mve-vadd-scalar-1.c: Update. - * gcc.target/arm/simd/mve-vcmp.c: Update. - * gcc.target/arm/simd/pr101325.c: Update. - -2022-12-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107937 - * gcc.dg/pr107937.c: New testcase. - -2022-12-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107935 - * gcc.dg/torture/pr107935.c: New testcase. - -2022-12-01 Jakub Jelinek <jakub@redhat.com> - - PR target/107627 - * gcc.target/i386/pr107627-1.c: New test. - * gcc.target/i386/pr107627-2.c: New test. - -2022-12-01 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr107863.c: New test. - -2022-12-01 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106626 - * gcc.dg/analyzer/out-of-bounds-multiline-1.c: New test. - -2022-12-01 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106626 - * gcc.dg/analyzer/call-summaries-2.c: Update expected results. - * gcc.dg/analyzer/out-of-bounds-1.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-2.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-3.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-4.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-5.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-container_of.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-read-char-arr.c: Likewise. Rename - functions from "int_arr_" to "char_arr_". - * gcc.dg/analyzer/out-of-bounds-read-int-arr.c: Update expected - results. - * gcc.dg/analyzer/out-of-bounds-read-struct-arr.c: New test. - * gcc.dg/analyzer/out-of-bounds-write-char-arr.c: Update expected - results. Rename functions from "int_arr_" to "char_arr_". - * gcc.dg/analyzer/out-of-bounds-write-int-arr.c: Update expected - results. - * gcc.dg/analyzer/out-of-bounds-write-struct-arr.c: New test. - * gcc.dg/analyzer/pr101962.c: Update expected results. - * gcc.dg/analyzer/realloc-5.c: Update expected results. - * gcc.dg/analyzer/zlib-3.c: Update expected results. - -2022-12-01 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106626 - * gcc.dg/analyzer/call-summaries-2.c: Add dg-message for expected - note about valid indexes. - * gcc.dg/analyzer/out-of-bounds-1.c: Likewise, fixing up existing - dg-message directives. - * gcc.dg/analyzer/out-of-bounds-write-char-arr.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-write-int-arr.c: Likewise. - -2022-12-01 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106626 - * gcc.dg/analyzer/out-of-bounds-read-char-arr.c: Update for - changes to expected wording. - * gcc.dg/analyzer/out-of-bounds-read-int-arr.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-write-char-arr.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-write-int-arr.c: Likewise. - -2022-12-01 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107928 - * gcc.dg/analyzer/fd-bind-pr107928.c: New test. - * gcc.dg/analyzer/fd-connect-pr107928.c: New test. - * gcc.dg/analyzer/fd-stream-socket-active-open.c - (test_active_open_from_connect_constant): New, adapted from - test_active_open_from_connect. - * gcc.dg/analyzer/fd-stream-socket-passive-open.c - (test_passive_open_from_bind_constant): New, adapted from - test_passive_open_from_bind. - (test_passive_open_from_listen_constant): New, adapted from - test_passive_open_from_listen. - -2022-12-01 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/100866 - * gcc.target/powerpc/pr100866-1.c: New. - -2022-11-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * gcc.target/aarch64/mops_5.c: New test. - * gcc.target/aarch64/mops_6.c: Likewise. - * gcc.target/aarch64/mops_7.c: Likewise. - -2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/107592 - * gdc.dg/pr107592.d: New test. - -2022-11-30 Iskander Shakirzyanov <iskander@ispras.ru> - Franz Sirl <Franz.Sirl-kernel@lauterbach.com> - - PR driver/107787 - * gcc.dg/Warray-bounds-34.c: Correct the regular expression - for -Warray-bounds=. - * gcc.dg/Warray-bounds-43.c: Likewise. - * gcc.dg/pr107787.c: New test. - -2022-11-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107919 - * g++.dg/warn/Wuninitialized-pr107919-1.C: New testcase. - -2022-11-30 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107835 - * gcc.c-torture/compile/pr107835.c: New test. - -2022-11-30 Alexandre Oliva <oliva@adacore.com> - - PR target/107304 - * gcc.target/i386/pr107304.c: dg-require ifunc support. - -2022-11-30 Lulu Cheng <chenglulu@loongson.cn> - - * lib/target-supports.exp: - * gcc.target/loongarch/stack-check-alloca-1.c: New test. - * gcc.target/loongarch/stack-check-alloca-2.c: New test. - * gcc.target/loongarch/stack-check-alloca-3.c: New test. - * gcc.target/loongarch/stack-check-alloca-4.c: New test. - * gcc.target/loongarch/stack-check-alloca-5.c: New test. - * gcc.target/loongarch/stack-check-alloca-6.c: New test. - * gcc.target/loongarch/stack-check-alloca.h: New test. - * gcc.target/loongarch/stack-check-cfa-1.c: New test. - * gcc.target/loongarch/stack-check-cfa-2.c: New test. - * gcc.target/loongarch/stack-check-prologue-1.c: New test. - * gcc.target/loongarch/stack-check-prologue-2.c: New test. - * gcc.target/loongarch/stack-check-prologue-3.c: New test. - * gcc.target/loongarch/stack-check-prologue-4.c: New test. - * gcc.target/loongarch/stack-check-prologue-5.c: New test. - * gcc.target/loongarch/stack-check-prologue-6.c: New test. - * gcc.target/loongarch/stack-check-prologue-7.c: New test. - * gcc.target/loongarch/stack-check-prologue.h: New test. - -2022-11-30 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/103546 - * gcc.dg/analyzer/ferror-1.c: New test. - * gcc.dg/analyzer/fileno-1.c: New test. - * gcc.dg/analyzer/flex-with-call-summaries.c: New test. - * gcc.dg/analyzer/flex-without-call-summaries.c: New test. - * gcc.dg/analyzer/getc-1.c: New test. - * gcc.dg/analyzer/isatty-1.c: New test. - -2022-11-30 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105784 - * gcc.dg/analyzer/torture/fold-ptr-arith-pr105784.c: New test. - -2022-11-30 Patrick Palka <ppalka@redhat.com> - - PR c++/107542 - * g++.dg/cpp2a/spaceship-sfinae2.C: New test. - -2022-11-29 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/107874 - * gfortran.dg/merge_init_expr_2.f90: Adjust code to the corrected - simplification. - * gfortran.dg/merge_1.f90: New test. - -2022-11-29 Patrick Palka <ppalka@redhat.com> - - PR c++/107864 - * g++.dg/concepts/explicit-spec1a.C: New test. - -2022-11-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107852 - * gcc.dg/tree-ssa/ssa-fre-101.c: New testcase. - -2022-11-29 Eric Botcazou <ebotcazou@adacore.com> - - * gcc.dg/ipa/iinline-attr.c: XFAIL on SPARC. - * gcc.dg/signbit-2.c: Replace vect_int selector by vect_shift. - -2022-11-29 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/107810 - * gnat.dg/unchecked_convert9.adb: Adjust pattern. - -2022-11-28 Jason Merrill <jason@redhat.com> - - PR c++/101733 - * g++.dg/cpp2a/concepts-requires32.C: New test. - -2022-11-28 Sinan <sinan.lin@linux.alibaba.com> - - * gcc.target/riscv/rv32-load-64bit-constant.c: New test. - -2022-11-28 Maciej W. Rozycki <macro@embecosm.com> - - * gcc.target/riscv/sge.c: New test. - * gcc.target/riscv/sgeu.c: New test. - * gcc.target/riscv/sle.c: New test. - * gcc.target/riscv/sleu.c: New test. - -2022-11-28 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107819 - * gfortran.dg/elemental_dependency_7.f90: New test. - -2022-11-28 Frolov Daniil <frolov.da@phystech.edu> - - * gcc.dg/Wformat-overflow1.c: New test. - -2022-11-28 Fei Gao <gaofei@eswincomputing.com> - - * gcc.target/riscv/pr93304.c: Adapt testcase for the change, constrain - match to assembly instructions only. - * gcc.target/riscv/rvv/base/spill-11.c: Adapt testcase for the change. - * gcc.target/riscv/stack_frame.c: New test. - -2022-11-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107493 - * gcc.dg/torture/pr107493.c: New testcase. - -2022-11-28 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/copyprivate-1.f90: New test. - * gfortran.dg/gomp/copyprivate-2.f90: New test. - * gfortran.dg/gomp/nowait-2.f90: Move dg-error tests ... - * gfortran.dg/gomp/nowait-4.f90: ... to this new file. - * gfortran.dg/gomp/nowait-5.f90: New test. - * gfortran.dg/gomp/nowait-6.f90: New test. - * gfortran.dg/gomp/nowait-7.f90: New test. - * gfortran.dg/gomp/nowait-8.f90: New test. - -2022-11-28 Yuri Gribov <y.gribov@samsung.com> - - PR sanitizer/106558 - * c-c++-common/asan/pr106558.c: New test. - -2022-11-28 Jakub Jelinek <jakub@redhat.com> - - PR target/106875 - * g++.target/i386/pr106875.C: New test. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vsetq_lane_f16.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s16.c: Improve tests. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_p_s32.c: Improve test. - * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_p_u32.c: Likewise. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s16.c: - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s32.c: - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s8.c: - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u16.c: - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u32.c: - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u8.c: - * gcc.target/arm/mve/intrinsics/vqsubq_m_s16.c: - * gcc.target/arm/mve/intrinsics/vqsubq_m_s32.c: - * gcc.target/arm/mve/intrinsics/vqsubq_m_s8.c: - * gcc.target/arm/mve/intrinsics/vqsubq_m_u16.c: - * gcc.target/arm/mve/intrinsics/vqsubq_m_u32.c: - * gcc.target/arm/mve/intrinsics/vqsubq_m_u8.c: - * gcc.target/arm/mve/intrinsics/vqsubq_n_s16.c: - * gcc.target/arm/mve/intrinsics/vqsubq_n_s32.c: - * gcc.target/arm/mve/intrinsics/vqsubq_n_s8.c: - * gcc.target/arm/mve/intrinsics/vqsubq_n_u16.c: - * gcc.target/arm/mve/intrinsics/vqsubq_n_u32.c: - * gcc.target/arm/mve/intrinsics/vqsubq_n_u8.c: - * gcc.target/arm/mve/intrinsics/vqsubq_s16.c: - * gcc.target/arm/mve/intrinsics/vqsubq_s32.c: - * gcc.target/arm/mve/intrinsics/vqsubq_s8.c: - * gcc.target/arm/mve/intrinsics/vqsubq_u16.c: - * gcc.target/arm/mve/intrinsics/vqsubq_u32.c: - * gcc.target/arm/mve/intrinsics/vqsubq_u8.c: - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s16.c: - * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s32.c: - * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s8.c: - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_s16.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vqdmulhq_m_n_s16.c: Improve tests. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_s16.c: Improve test. - * 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/vqdmlashq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s8.c: Likewise. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vqaddq_m_n_s16.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vmlasq_m_n_s16.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_s16.c: Improve tests. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_s32.c: Likewise. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vmladavaq_p_s16.c: Improve tests. - * 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/vmladavaxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaxq_s8.c: Likewise. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/viwdupq_m_n_u16.c: Improve tests. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vhsubq_m_n_s16.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vhaddq_m_n_s16.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f16.c: Improve test. - * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f32.c: Likewise. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vsubq_f16.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vmulq_f16.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vaddlvaq_p_s32.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vabsq_f16.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vabdq_f16.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vabavq_p_s16.c: Improve 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/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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vmaxaq_m_s16.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vminaq_m_s16.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u16.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vdupq_m_n_f16.c: Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vidupq_m_n_u16.c: Improve tests. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vdwdupq_m_n_u16.c : Improve test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vddupq_m_n_u16.c: Improve 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/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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_f32.c: - Update test. - * 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. - -2022-11-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/mve/intrinsics/vcreateq_f16.c: Improve test. - * 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. - -2022-11-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107876 - * g++.dg/tree-ssa/pr107876.C: New testcase. - -2022-11-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107867 - * g++.dg/pr107867.C: New testcase. - -2022-11-28 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/imm-load.c: New test. - * gcc.target/loongarch/imm-load1.c: New test. - -2022-11-28 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/avx512bf16-cvtsbh2ss-1.c: Scan pslld. - * gcc.target/i386/extendbfsf.c: New test. - -2022-11-26 Andrew Pinski <apinski@marvell.com> - - PR tree-optimization/103356 - * gcc.dg/pr103356-1.c: New test. - -2022-11-25 Sandra Loosemore <sandra@codesourcery.com> - - * g++.dg/gomp/target-simd-clone-1.C: New. - * g++.dg/gomp/target-simd-clone-2.C: New. - * gcc.dg/gomp/target-simd-clone-1.c: New. - * gcc.dg/gomp/target-simd-clone-2.c: New. - * gcc.dg/gomp/target-simd-clone-3.c: New. - * gcc.dg/gomp/target-simd-clone-4.c: New. - * gcc.dg/gomp/target-simd-clone-5.c: New. - * gcc.dg/gomp/target-simd-clone-6.c: New. - * gcc.dg/gomp/target-simd-clone-7.c: New. - * gcc.dg/gomp/target-simd-clone-8.c: New. - * lib/scanoffloadipa.exp: New. - -2022-11-25 Tamar Christina <tamar.christina@arm.com> - - PR target/107830 - * gcc.target/aarch64/sve2/pr107830-1.c: New test. - * gcc.target/aarch64/sve2/pr107830-2.c: New test. - -2022-11-25 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/opt100.adb: New test. - * gnat.dg/opt100_pkg.adb, gnat.dg/opt100_pkg.ads: New helper. - -2022-11-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107865 - * gfortran.dg/graphite/pr107865.f90: New testcase. - -2022-11-25 Kewen.Lin <linkw@gcc.gnu.org> - - PR target/99889 - * g++.dg/pr93195a.C: Remove the skip on powerpc*-*-* 64-bit. - * gcc.target/aarch64/pr92424-2.c: Adjust LPFE1 with LPFE0. - * gcc.target/aarch64/pr92424-3.c: Likewise. - * 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. - -2022-11-24 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/107317 - * gcc.dg/asan/pr107317.c: New test. - -2022-11-24 Florian Weimer <fweimer@redhat.com> - - PR c/107805 - * gcc.dg/pr107805-1.c: New test. - * gcc.dg/pr107805-2.c: Likewise. - -2022-11-24 Jakub Jelinek <jakub@redhat.com> - - PR c/107127 - * gcc.dg/pr107127.c (foo): Add missing closing }. - -2022-11-24 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106473 - * gcc.dg/analyzer/aliasing-pr106473.c: New test. - * gcc.dg/analyzer/allocation-size-2.c: Add - -fanalyzer-fine-grained". - * gcc.dg/analyzer/allocation-size-3.c: Likewise. - * gcc.dg/analyzer/explode-1.c: Mark leak with XFAIL. - * gcc.dg/analyzer/explode-3.c: New test. - * gcc.dg/analyzer/malloc-reuse.c: New test. - -2022-11-24 Hongyu Wang <hongyu.wang@intel.com> - - PR target/107692 - * gcc.dg/guality/loop-1.c: Remove additional option for ia32. - * gcc.target/i386/pr86270.c: Add -fno-unroll-loops. - * gcc.target/i386/pr93002.c: Likewise. - -2022-11-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.dg/analyzer/call-summaries-2.c (uses_alloca): Use - __builtin_alloca instead of alloca. - -2022-11-23 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/107577 - * gfortran.dg/pr107577.f90: New test. - -2022-11-23 Andrew Pinski <apinski@marvell.com> - Jakub Jelinek <jakub@redhat.com> - - PR c/107127 - * gcc.dg/pr107127.c: New test. - -2022-11-22 Siddhesh Poyarekar <siddhesh@gotplt.org> - - * gcc.dg/builtin-dynamic-object-size-0.c (test_strdup, - test_strndup, test_strdup_min, test_strndup_min): New tests. - (main): Call them. - * gcc.dg/builtin-dynamic-object-size-1.c: Silence overread - warnings. - * gcc.dg/builtin-dynamic-object-size-2.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-3.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-4.c: Likewise. - * gcc.dg/builtin-object-size-1.c: Silence overread warnings. - Declare free, strdup and strndup. - (test11): New test. - (main): Call it. - * gcc.dg/builtin-object-size-2.c: Silence overread warnings. - Declare free, strdup and strndup. - (test9): New test. - (main): Call it. - * gcc.dg/builtin-object-size-3.c: Silence overread warnings. - Declare free, strdup and strndup. - (test11): New test. - (main): Call it. - * gcc.dg/builtin-object-size-4.c: Silence overread warnings. - Declare free, strdup and strndup. - (test9): New test. - (main): Call it. - -2022-11-22 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107788 - * g++.dg/analyzer/named-functions.C: New test. - -2022-11-22 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107783 - * gcc.dg/analyzer/fd-accept.c (test_accept_on_constant): New. - * gcc.dg/analyzer/fd-bind.c (test_bind_on_constant): New. - * gcc.dg/analyzer/fd-connect.c (test_connect_on_constant): New. - * gcc.dg/analyzer/fd-listen.c (test_listen_on_connected_socket): - Fix typo. - (test_listen_on_constant): New. - -2022-11-22 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107807 - * gcc.dg/analyzer/errno-___errno.c: New test. - * gcc.dg/analyzer/errno-__error.c: New test. - * gcc.dg/analyzer/errno-global-var.c: New test. - -2022-11-22 Maciej W. Rozycki <macro@embecosm.com> - - * lib/target-supports.exp - (check_effective_target_mpaired_single): Add `args' argument and - pass it to `check_no_compiler_messages' replacing - `-mpaired-single'. - (add_options_for_mips_loongson_mmi): Add `args' argument and - pass it to `check_no_compiler_messages'. - (check_effective_target_mips_msa): Add `args' argument and pass - it to `check_no_compiler_messages' replacing `-mmsa'. - (check_effective_target_mpaired_single_runtime) - (add_options_for_mpaired_single): Pass `-mpaired-single' to - `check_effective_target_mpaired_single'. - (check_effective_target_mips_loongson_mmi_runtime) - (add_options_for_mips_loongson_mmi): Pass `-mloongson-mmi' to - `check_effective_target_mips_loongson_mmi'. - (check_effective_target_mips_msa_runtime) - (add_options_for_mips_msa): Pass `-mmsa' to - `check_effective_target_mips_msa'. - (et-is-effective-target): Verify that EFFECTIVE_TARGETS exists - and if not, just check if the current compilation environment - supports the target feature requested. - (check_vect_support_and_set_flags): Pass `-mpaired-single', - `-mloongson-mmi', and `-mmsa' to the respective target feature - checks. - -2022-11-22 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/sso18.adb: New test. - -2022-11-22 Martin Jambor <mjambor@suse.cz> - - PR ipa/107661 - * g++.dg/ipa/pr107661.C: New test. - -2022-11-22 Christophe Lyon <christophe.lyon@arm.com> - - PR target/107604 - * gcc.target/aarch64/aapcs64/test_dfp_17.c: Fix for big-endian. - -2022-11-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107803 - * g++.dg/pr107803.C: New testcase. - -2022-11-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107766 - * g++.dg/vect/pr107766.cc: New testcase. - -2022-11-22 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pieces-memset-3.c: Remove xfail. - * gcc.target/i386/pieces-memset-37.c: Remove xfail. - * gcc.target/i386/pieces-memset-39.c: Remove xfail. - -2022-11-22 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107788 - * g++.dg/analyzer/fd-bind-pr107783.C: New test. - -2022-11-22 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107783 - * gcc.dg/analyzer/fd-bind-pr107783.c: New test. - -2022-11-22 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107777 - * gcc.dg/analyzer/call-summaries-errno.c: New test. - * gcc.dg/analyzer/errno-pr107777.c: New test. - -2022-11-22 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/CWE-131-examples.c: New test. - * gcc.dg/analyzer/file-CWE-1341-example.c: New test. - * gcc.dg/analyzer/malloc-CWE-401-example.c: New test. - * gcc.dg/analyzer/malloc-CWE-415-examples.c: New test. - * gcc.dg/analyzer/malloc-CWE-416-examples.c: New test. - * gcc.dg/analyzer/malloc-CWE-590-examples.c: New test. - -2022-11-21 Lewis Hyatt <lhyatt@gmail.com> - - * c-c++-common/gomp/pragma-omp-unknown.c: New test. - -2022-11-21 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/analyzer/fd-accept.c: Require sockets. - * gcc.dg/analyzer/fd-bind.c: Ditto. - * gcc.dg/analyzer/fd-connect.c: Ditto. - * gcc.dg/analyzer/fd-datagram-socket.c: Ditto. - * gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c: - Ditto. - * gcc.dg/analyzer/fd-glibc-byte-stream-socket.c: Ditto. - * gcc.dg/analyzer/fd-glibc-datagram-client.c: Ditto. - * gcc.dg/analyzer/fd-glibc-datagram-socket.c: Ditto. - * gcc.dg/analyzer/fd-listen.c: Ditto. - * gcc.dg/analyzer/fd-manpage-getaddrinfo-client.c: Ditto. - * gcc.dg/analyzer/fd-mappage-getaddrinfo-server.c: Ditto. - * gcc.dg/analyzer/fd-socket-meaning.c: Ditto. - * gcc.dg/analyzer/fd-socket-misuse.c: Ditto. - * gcc.dg/analyzer/fd-stream-socket-active-open.c: Ditto. - * gcc.dg/analyzer/fd-stream-socket-passive-open.c: Ditto. - * gcc.dg/analyzer/fd-stream-socket.c: Ditto. - * gcc.dg/analyzer/fd-symbolic-socket.c: Ditto. - * lib/target-supports.exp (check_effective_target_sockets): New - check. - -2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> - - * gcc.dg/pr77975.c: Make tests more robust. - -2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> - - * gcc.dg/tree-ssa/popcount-max.c: New test. - -2022-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * g++.dg/modules/pr99023_b.X: Match Windows paths too. - -2022-11-21 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/pr107786-2.c: New test. - * gcc.target/riscv/pr107786.c: New test. - -2022-11-21 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/machine_attr2.ads, gnat.dg/machine_attr2.adb: New test. - -2022-11-21 Andrew Pinski <apinski@marvell.com> - - * gcc.dg/redecl-23.c: New test. - * gcc.dg/redecl-24.c: New test. - * gcc.dg/redecl-25.c: New test. - -2022-11-21 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/avxneconvert-1.c: New test. - -2022-11-20 Jakub Jelinek <jakub@redhat.com> - - PR target/107183 - * gcc.dg/ubsan/pr107183.c: New test. - -2022-11-20 Jeff Law <jeffreyalaw@gmail.com> - - * gcc.dg/pr96542.c: Avoid falsely matching DECL_UIDs with - the number 254 in them. - -2022-11-19 Jakub Jelinek <jakub@redhat.com> - - PR target/107628 - * gcc.target/i386/pr107628.c: New test. - -2022-11-19 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp23/constexpr-nonlit17.C: New test. - * g++.dg/cpp23/constexpr-nonlit18.C: New test. - * g++.dg/cpp23/feat-cxx2b.C: Adjust expected __cpp_constexpr - value. - * g++.dg/ext/stmtexpr19.C: Don't expect an error. - * g++.dg/ext/stmtexpr25.C: New test. - -2022-11-19 Jeff Chapman II <jchapman@lock3software.com> - Andrew Sutton <asutton@lock3software.com> - Andrew Marmaduke <amarmaduke@lock3software.com> - Michael Lopez <mlopez@lock3software.com> - Jason Merrill <jason@redhat.com> - - * g++.dg/modules/modules.exp: Pass dg-options to link command. - * lib/g++.exp: Add -L for libstdc++exp.a. - * g++.dg/contracts/backtrace_handler/assert_fail.cpp: New test. - * g++.dg/contracts/backtrace_handler/handle_contract_violation.cpp: New test. - * g++.dg/contracts/contracts-access1.C: New test. - * g++.dg/contracts/contracts-assume1.C: New test. - * g++.dg/contracts/contracts-assume2.C: New test. - * g++.dg/contracts/contracts-assume3.C: New test. - * g++.dg/contracts/contracts-assume4.C: New test. - * g++.dg/contracts/contracts-assume5.C: New test. - * g++.dg/contracts/contracts-assume6.C: New test. - * g++.dg/contracts/contracts-comdat1.C: New test. - * g++.dg/contracts/contracts-config1.C: New test. - * g++.dg/contracts/contracts-constexpr1.C: New test. - * g++.dg/contracts/contracts-constexpr2.C: New test. - * g++.dg/contracts/contracts-constexpr3.C: New test. - * g++.dg/contracts/contracts-conversion1.C: New test. - * g++.dg/contracts/contracts-ctor-dtor1.C: New test. - * g++.dg/contracts/contracts-ctor-dtor2.C: New test. - * g++.dg/contracts/contracts-cv1.C: New test. - * g++.dg/contracts/contracts-deduced1.C: New test. - * g++.dg/contracts/contracts-deduced2.C: New test. - * g++.dg/contracts/contracts-friend1.C: New test. - * g++.dg/contracts/contracts-ft1.C: New test. - * g++.dg/contracts/contracts-ignore1.C: New test. - * g++.dg/contracts/contracts-ignore2.C: New test. - * g++.dg/contracts/contracts-large-return.C: New test. - * g++.dg/contracts/contracts-multiline1.C: New test. - * g++.dg/contracts/contracts-multiple-inheritance1.C: New test. - * g++.dg/contracts/contracts-multiple-inheritance2.C: New test. - * g++.dg/contracts/contracts-nested-class1.C: New test. - * g++.dg/contracts/contracts-nested-class2.C: New test. - * g++.dg/contracts/contracts-nocopy1.C: New test. - * g++.dg/contracts/contracts-override.C: New test. - * g++.dg/contracts/contracts-post1.C: New test. - * g++.dg/contracts/contracts-post2.C: New test. - * g++.dg/contracts/contracts-post3.C: New test. - * g++.dg/contracts/contracts-post4.C: New test. - * g++.dg/contracts/contracts-post5.C: New test. - * g++.dg/contracts/contracts-post6.C: New test. - * g++.dg/contracts/contracts-pre1.C: New test. - * g++.dg/contracts/contracts-pre10.C: New test. - * g++.dg/contracts/contracts-pre2.C: New test. - * g++.dg/contracts/contracts-pre2a1.C: New test. - * g++.dg/contracts/contracts-pre2a2.C: New test. - * g++.dg/contracts/contracts-pre3.C: New test. - * g++.dg/contracts/contracts-pre4.C: New test. - * g++.dg/contracts/contracts-pre5.C: New test. - * g++.dg/contracts/contracts-pre6.C: New test. - * g++.dg/contracts/contracts-pre7.C: New test. - * g++.dg/contracts/contracts-pre9.C: New test. - * g++.dg/contracts/contracts-redecl1.C: New test. - * g++.dg/contracts/contracts-redecl2.C: New test. - * g++.dg/contracts/contracts-redecl3.C: New test. - * g++.dg/contracts/contracts-redecl4.C: New test. - * g++.dg/contracts/contracts-redecl5.C: New test. - * g++.dg/contracts/contracts-redecl6.C: New test. - * g++.dg/contracts/contracts-redecl7.C: New test. - * g++.dg/contracts/contracts-redecl8.C: New test. - * g++.dg/contracts/contracts-tmpl-attr1.C: New test. - * g++.dg/contracts/contracts-tmpl-spec1.C: New test. - * g++.dg/contracts/contracts-tmpl-spec2.C: New test. - * g++.dg/contracts/contracts-tmpl-spec3.C: New test. - * g++.dg/contracts/contracts1.C: New test. - * g++.dg/contracts/contracts10.C: New test. - * g++.dg/contracts/contracts11.C: New test. - * g++.dg/contracts/contracts12.C: New test. - * g++.dg/contracts/contracts13.C: New test. - * g++.dg/contracts/contracts14.C: New test. - * g++.dg/contracts/contracts15.C: New test. - * g++.dg/contracts/contracts16.C: New test. - * g++.dg/contracts/contracts17.C: New test. - * g++.dg/contracts/contracts18.C: New test. - * g++.dg/contracts/contracts19.C: New test. - * g++.dg/contracts/contracts2.C: New test. - * g++.dg/contracts/contracts20.C: New test. - * g++.dg/contracts/contracts22.C: New test. - * g++.dg/contracts/contracts24.C: New test. - * g++.dg/contracts/contracts25.C: New test. - * g++.dg/contracts/contracts3.C: New test. - * g++.dg/contracts/contracts35.C: New test. - * g++.dg/contracts/contracts4.C: New test. - * g++.dg/contracts/contracts5.C: New test. - * g++.dg/contracts/contracts6.C: New test. - * g++.dg/contracts/contracts7.C: New test. - * g++.dg/contracts/contracts8.C: New test. - * g++.dg/contracts/contracts9.C: New test. - * g++.dg/modules/contracts-1_a.C: New test. - * g++.dg/modules/contracts-1_b.C: New test. - * g++.dg/modules/contracts-2_a.C: New test. - * g++.dg/modules/contracts-2_b.C: New test. - * g++.dg/modules/contracts-2_c.C: New test. - * g++.dg/modules/contracts-3_a.C: New test. - * g++.dg/modules/contracts-3_b.C: New test. - * g++.dg/modules/contracts-4_a.C: New test. - * g++.dg/modules/contracts-4_b.C: New test. - * g++.dg/modules/contracts-4_c.C: New test. - * g++.dg/modules/contracts-4_d.C: New test. - * g++.dg/modules/contracts-tpl-friend-1_a.C: New test. - * g++.dg/modules/contracts-tpl-friend-1_b.C: New test. - * g++.dg/contracts/backtrace_handler/Makefile: New test. - * g++.dg/contracts/backtrace_handler/README: New test. - * g++.dg/contracts/backtrace_handler/example_out.txt: New test. - * g++.dg/contracts/backtrace_handler/example_pretty.txt: New test. - * g++.dg/contracts/backtrace_handler/prettytrace.sh: New test. - * g++.dg/contracts/except_preload_handler/Makefile: New test. - * g++.dg/contracts/except_preload_handler/README: New test. - * g++.dg/contracts/except_preload_handler/assert_fail.cpp: New test. - * g++.dg/contracts/except_preload_handler/handle_contract_violation.cpp: New test. - * g++.dg/contracts/noexcept_preload_handler/Makefile: New test. - * g++.dg/contracts/noexcept_preload_handler/README: New test. - * g++.dg/contracts/noexcept_preload_handler/assert_fail.cpp: New test. - * g++.dg/contracts/noexcept_preload_handler/handle_contract_violation.cpp: New test. - * g++.dg/contracts/preload_handler/Makefile: New test. - * g++.dg/contracts/preload_handler/README: New test. - * g++.dg/contracts/preload_handler/assert_fail.cpp: New test. - * g++.dg/contracts/preload_handler/handle_contract_violation.cpp: New test. - * g++.dg/contracts/preload_nocontinue_handler/Makefile: New test. - * g++.dg/contracts/preload_nocontinue_handler/README: New test. - * g++.dg/contracts/preload_nocontinue_handler/assert_fail.cpp: New test. - * g++.dg/contracts/preload_nocontinue_handler/handle_contract_violation.cpp: New test. - * g++.dg/contracts/preload_nocontinue_handler/nocontinue.cpp: New test. - -2022-11-19 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107582 - * gcc.dg/analyzer/feasibility-4.c: New test. - * gcc.dg/analyzer/feasibility-pr107582-1.c: New test. - * gcc.dg/analyzer/feasibility-pr107582-2.c: New test. - -2022-11-18 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/analyzer-debugging-fns-1.c: New test. - * gcc.dg/analyzer/attr-const-3.c: Increase the - "analyzer-max-svalue-depth" from 0 to 4 to ensure that - "__analyzer_eval" is recognized. - -2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/zbb-min-max-02.c: New test. - -2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/zbs-if_then_else-01.c: New test. - -2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/zbs-bclri.c: Rename - * gcc.target/riscv/zbs-bclri-01.c: Renamed from above. - * gcc.target/riscv/zbs-bclri-02.c: New test. - * gcc.target/riscv/zbs-binvi.c: New test. - * gcc.target/riscv/zbs-bseti.c: New test. - -2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/zba-shNadd-04.c: New test. - -2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/zba-shNadd-05.c: New test. - -2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/branch-1.c: New test. - -2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/zbs-bseti-02.c: New test. - -2022-11-18 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107576 - * gfortran.dg/null_actual_3.f90: New test. - -2022-11-18 Andrew Pinski <apinski@marvell.com> - - * gcc.dg/redecl-22.c: New test. - -2022-11-18 Andrew Pinski <apinski@marvell.com> - - PR c/106764 - PR c/106765 - PR c/107307 - * gcc.dg/redecl-19.c: New test. - * gcc.dg/redecl-20.c: New test. - * gcc.dg/redecl-21.c: New test. - -2022-11-18 Yixuan Chen <chenyixuan@iscas.ac.cn> - - * gcc.dg/pr25521.c: Fix testcase for architectures that use .srodata. - -2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * gcc.target/aarch64/ldapr-sext.c: Adjust expected output. - -2022-11-18 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * lib/target-supports.exp (check_is_prog_name_available): - New. - * lib/target-supports-dg.exp - (dg-require-prog-name-available): New. - * g++.dg/modules/modules.exp: Verify avilability of module - mapper. - -2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * gcc.target/aarch64/ldapr-ext.c: Rename to... - * gcc.target/aarch64/ldapr-zext.c: ... This. Fix expected assembly. - * gcc.target/aarch64/ldapr-sext.c: New test. - -2022-11-18 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp2a/decomp5.C: New test. - * g++.dg/cpp2a/decomp6.C: New test. - * g++.dg/cpp2a/decomp7.C: New test. - * g++.dg/cpp2a/concepts-placeholder7.C: Adjust expected diagnostics. - * g++.dg/cpp2a/concepts-placeholder8.C: Likewise. - * g++.dg/cpp2a/concepts-placeholder9.C: New test. - * g++.dg/cpp2a/concepts-placeholder10.C: New test. - -2022-11-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107647 - * gcc.target/i386/pr107647.c: New testcase. - -2022-11-18 Jinyang He <hejinyang@loongson.cn> - - PR target/107713 - * gcc.target/loongarch/pr107713-1.c: New test. - * gcc.target/loongarch/pr107713-2.c: New test. - -2022-11-18 Marek Polacek <polacek@redhat.com> - - PR c++/104066 - * g++.dg/cpp2a/constinit18.C: New test. - -2022-11-17 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107732 - * gcc.dg/tree-ssa/pr107732.c: New test. - -2022-11-17 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107711 - * gcc.dg/analyzer/named-constants-Wunused-macros.c: New test. - -2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/zbs-bclri.c: New test. - -2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/zbs-bexti.c: New test. - -2022-11-17 mtsamis <manolis.tsamis@vrull.eu> - - * gcc.target/riscv/shrink-wrap-1.c: New test. - -2022-11-17 Lili Cui <lili.cui@intel.com> - - * gcc.target/i386/pieces-memset-50.c: New test. - -2022-11-17 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/107717 - * gcc.target/aarch64/sve2/pr107717.c: New test. - -2022-11-17 Jia-Wei Chen <jiawei@iscas.ac.cn> - - * gcc.target/riscv/rvv/base/spill-sp-adjust.c: New test. - -2022-11-16 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/named-constants-via-command-line.c: New test. - * gcc.dg/analyzer/named-constants-via-macros-3.c: New test. - * gcc.dg/analyzer/named-constants-via-macros-4.c: New test. - * gcc.dg/analyzer/named-constants-via-macros-empty.c: New test. - * gcc.dg/analyzer/named-constants-via-macros-gc.c: New test. - * gcc.dg/analyzer/named-constants-via-macros-traditional.c: New test. - * gcc.dg/analyzer/named-constants-via-macros-undef.c: New test. - -2022-11-16 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107711 - * gcc.dg/analyzer/fdump-analyzer-1.c: New test. - -2022-11-16 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/107707 - * gfortran.dg/pr107707.f90: New test. - -2022-11-16 Marek Polacek <polacek@redhat.com> - - PR c++/106649 - * g++.dg/cpp0x/constexpr-ctor2.C: Expect an error in c++20_down only. - * g++.dg/cpp0x/constexpr-default-ctor.C: Likewise. - * g++.dg/cpp0x/constexpr-diag3.C: Likewise. - * g++.dg/cpp0x/constexpr-ex1.C: Likewise. - * g++.dg/cpp0x/constexpr-friend.C: Likewise. - * g++.dg/cpp0x/constexpr-generated1.C: Likewise. - * g++.dg/cpp0x/constexpr-ice5.C: Likewise. - * g++.dg/cpp0x/constexpr-ice6.C: Likewise. - * g++.dg/cpp0x/constexpr-memfn1.C: Likewise. - * g++.dg/cpp0x/constexpr-neg2.C: Likewise. - * g++.dg/cpp0x/constexpr-non-const-arg.C: Likewise. - * g++.dg/cpp0x/constexpr-reinterpret1.C: Likewise. - * g++.dg/cpp0x/pr65327.C: Likewise. - * g++.dg/cpp1y/constexpr-105050.C: Likewise. - * g++.dg/cpp1y/constexpr-89285-2.C: Likewise. - * g++.dg/cpp1y/constexpr-89285.C: Likewise. - * g++.dg/cpp1y/constexpr-89785-2.C: Likewise. - * g++.dg/cpp1y/constexpr-neg1.C: Likewise. - * g++.dg/cpp1y/constexpr-nsdmi7b.C: Likewise. - * g++.dg/cpp1y/constexpr-throw.C: Likewise. - * g++.dg/cpp23/constexpr-nonlit3.C: Remove dg-error. - * g++.dg/cpp23/constexpr-nonlit6.C: Call the test functions. - * g++.dg/cpp23/feat-cxx2b.C: Adjust the expected value of - __cpp_constexpr. - * g++.dg/cpp2a/consteval3.C: Remove dg-error. - * g++.dg/cpp2a/constexpr-new7.C: Expect an error in c++20_down only. - * g++.dg/cpp2a/constexpr-try5.C: Remove dg-error. - * g++.dg/cpp2a/spaceship-constexpr1.C: Expect an error in c++20_down - only. - * g++.dg/cpp2a/spaceship-eq3.C: Likewise. - * g++.dg/diagnostic/constexpr1.C: Remove dg-error. - * g++.dg/gomp/pr79664.C: Use -Winvalid-constexpr -pedantic-errors. - * g++.dg/ubsan/vptr-4.C: Likewise. - * g++.dg/cpp23/constexpr-nonlit10.C: New test. - * g++.dg/cpp23/constexpr-nonlit11.C: New test. - * g++.dg/cpp23/constexpr-nonlit12.C: New test. - * g++.dg/cpp23/constexpr-nonlit13.C: New test. - * g++.dg/cpp23/constexpr-nonlit14.C: New test. - * g++.dg/cpp23/constexpr-nonlit15.C: New test. - * g++.dg/cpp23/constexpr-nonlit16.C: New test. - * g++.dg/cpp23/constexpr-nonlit8.C: New test. - * g++.dg/cpp23/constexpr-nonlit9.C: New test. - -2022-11-16 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107681 - * gfortran.dg/pr107681.f90: New test. - -2022-11-16 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107680 - * gfortran.dg/pr107680.f90: New test. - -2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/zbs-bext.c: Add testcases. - * gcc.target/riscv/zbs-bexti.c: Add testcases. - -2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/zbs-bext.c: Add testcases. - * gcc.target/riscv/zbs-bexti.c: Add testcases. - -2022-11-16 Hans-Peter Nilsson <hp@axis.com> - - * lib/gcc-dg.exp (gcc-transform-out-of-tree): New proc. - * g++.dg/gcov/gcov.exp, gcc.misc-tests/gcov.exp: Call - gcc-transform-out-of-tree instead of transform. - -2022-11-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107686 - * gcc.dg/pr107686.c: New testcase. - -2022-11-16 Richard Biener <rguenther@suse.de> - - PR middle-end/107679 - * gfortran.dg/pr107679.f90: New testcase. - -2022-11-16 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp2a/is-layout-compatible3.C: Expect enums with different - alignas to be layout compatible, while classes with different - alignas on members layout incompatible. - * g++.dg/DRs/dr2583.C: New test. - -2022-11-16 Jakub Jelinek <jakub@redhat.com> - - PR c++/107624 - * g++.dg/cpp23/static-operator-call4.C: New test. - * g++.dg/cpp23/subscript10.C: New test. - * g++.dg/cpp23/subscript11.C: New test. - -2022-11-16 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/analyzer_kernel_plugin.c - (copy_across_boundary_fn::matches_call_types_p): New. - * gcc.dg/plugin/analyzer_known_fns_plugin.c - (known_function_returns_42::matches_call_types_p): New. - (known_function_attempt_to_copy::matches_call_types_p): New. - -2022-11-16 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp2a/volatile1.C (fn2, fn3, racoon): Adjust expected - diagnostics. - * g++.dg/cpp2a/volatile3.C (fn2, fn3, racoon): Likewise. - * g++.dg/cpp2a/volatile5.C (f): Likewise. - * g++.dg/ext/vector25.C (foo): Don't expect a warning. - * g++.dg/cpp1y/new1.C (test_unused): Likewise. - -2022-11-16 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp2a/concepts-dr2428.C: New test. - -2022-11-16 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107668 - * gcc.dg/ubsan/pr107668.c: New test. - -2022-11-16 Kewen Lin <linkw@linux.ibm.com> - - PR rtl-optimization/90259 - * g++.target/powerpc/pr90259.C: New. - -2022-11-15 Marek Polacek <polacek@redhat.com> - - PR c++/107492 - * g++.dg/warn/Wignored-qualifiers3.C: New test. - -2022-11-15 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/builtin_pause.c: New test. - -2022-11-15 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106140 - * gcc.dg/analyzer/fd-accept.c: New test. - * gcc.dg/analyzer/fd-bind.c: New test. - * gcc.dg/analyzer/fd-connect.c: New test. - * gcc.dg/analyzer/fd-datagram-socket.c: New test. - * gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c: New test. - * gcc.dg/analyzer/fd-glibc-byte-stream-socket.c: New test. - * gcc.dg/analyzer/fd-glibc-datagram-client.c: New test. - * gcc.dg/analyzer/fd-glibc-datagram-socket.c: New test. - * gcc.dg/analyzer/fd-glibc-make_named_socket.h: New test. - * gcc.dg/analyzer/fd-listen.c: New test. - * gcc.dg/analyzer/fd-manpage-getaddrinfo-client.c: New test. - * gcc.dg/analyzer/fd-mappage-getaddrinfo-server.c: New test. - * gcc.dg/analyzer/fd-socket-meaning.c: New test. - * gcc.dg/analyzer/fd-socket-misuse.c: New test. - * gcc.dg/analyzer/fd-stream-socket-active-open.c: New test. - * gcc.dg/analyzer/fd-stream-socket-passive-open.c: New test. - * gcc.dg/analyzer/fd-stream-socket.c: New test. - * gcc.dg/analyzer/fd-symbolic-socket.c: New test. - * gcc.dg/analyzer/pr104369-1.c: Add -Wno-analyzer-too-complex and - -Wno-analyzer-fd-leak to options. - * gcc.dg/analyzer/pr104369-2.c: Add -Wno-analyzer-fd-leak to - options. - -2022-11-15 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/analyzer-decls.h - (__analyzer_dump_named_constant): New decl. - * gcc.dg/analyzer/fd-4.c (void): Likewise. - (O_ACCMODE): Define. - * gcc.dg/analyzer/fd-access-mode-enum.c: New test, based on . - * gcc.dg/analyzer/fd-5.c: ...this. Rename to... - * gcc.dg/analyzer/fd-access-mode-macros.c: ...this. - (O_ACCMODE): Define. - * gcc.dg/analyzer/fd-access-mode-target-headers.c: New test, also - based on fd-5.c. - (test_sm_fd_constants): New. - * gcc.dg/analyzer/fd-dup-1.c (O_ACCMODE): Define. - * gcc.dg/analyzer/named-constants-via-enum.c: New test. - * gcc.dg/analyzer/named-constants-via-enum-and-macro.c: New test. - * gcc.dg/analyzer/named-constants-via-macros-2.c: New test. - * gcc.dg/analyzer/named-constants-via-macros.c: New test. - -2022-11-15 Lewis Hyatt <lhyatt@gmail.com> - - * c-c++-common/cpp/macro-trace-1.c: New test. - -2022-11-15 Martin Liska <mliska@suse.cz> - - * c-c++-common/asan/global-overflow-1.c: Update - expected format. - * c-c++-common/asan/heap-overflow-1.c: Likewise. - * c-c++-common/asan/strlen-overflow-1.c: Likewise. - * c-c++-common/asan/strncpy-overflow-1.c: Likewise. - * c-c++-common/hwasan/heap-overflow.c: Likewise. - * g++.dg/asan/asan_mem_test.cc: Likewise. - * g++.dg/asan/asan_oob_test.cc: Likewise. - * g++.dg/asan/asan_str_test.cc: Likewise. - * g++.dg/asan/asan_test.cc: Likewise. - * g++.dg/asan/large-func-test-1.C: Likewise. - -2022-11-15 Patrick Palka <ppalka@redhat.com> - - * g++.dg/template/crash55.C: Don't expect additional - C++98-specific diagnostics. - * g++.dg/template/ref3.C: Remove C++98-specific xfail. - -2022-11-15 Martin Liska <mliska@suse.cz> - - Revert: - 2022-11-09 Martin Liska <mliska@suse.cz> - - PR c++/107599 - * c-c++-common/diagnostic-format-json-2.c: Fix expected URL. - * c-c++-common/diagnostic-format-json-3.c: Likewise. - * c-c++-common/diagnostic-format-json-4.c: Likewise. - * gfortran.dg/diagnostic-format-json-2.F90: Likewise. - * gfortran.dg/diagnostic-format-json-3.F90: Likewise. - -2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.target/aarch64/ldapr-ext.c: New test. - -2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com> - Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * gcc.target/aarch64/ldapr.c: New test. - -2022-11-15 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/DRs/dr2392.C: Add testcase for DR 2392. - -2022-11-15 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp23/subscript9.C: New test. - * g++.dg/cpp23/feat-cxx2b.C: Expect a newer - __cpp_multidimensional_subscript value. - * g++.old-deja/g++.bugs/900210_10.C: Don't expect an error - for C++23 or later. - -2022-11-15 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/DRs/dr2604.C: New test. - -2022-11-15 Hongyu Wang <hongyu.wang@intel.com> - - PR target/98167 - * gcc.target/i386/pr98167.c: New test. - -2022-11-15 Marek Polacek <polacek@redhat.com> - - * g++.dg/cpp23/elision4.C: Remove dg-warning. - * g++.dg/warn/Wdangling-reference1.C: Turn dg-warning into dg-bogus. - * g++.dg/warn/Wdangling-reference7.C: New test. - -2022-11-14 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp2a/concepts-friend11.C: New test. - -2022-11-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * gcc.target/aarch64/cssc_1.c: New test. - * gcc.target/aarch64/cssc_2.c: New test. - * gcc.target/aarch64/cssc_3.c: New test. - * gcc.target/aarch64/cssc_4.c: New test. - * gcc.target/aarch64/cssc_5.c: New test. - -2022-11-14 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/aarch64/sve2/div-by-bitmask_1.c: New test. - -2022-11-14 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/aarch64/div-by-bitmask.c: New test. - -2022-11-14 Tamar Christina <tamar.christina@arm.com> - - * gcc.dg/vect/vect-div-bitmask-1.c: New test. - * gcc.dg/vect/vect-div-bitmask-2.c: New test. - * gcc.dg/vect/vect-div-bitmask-3.c: New test. - * gcc.dg/vect/vect-div-bitmask.h: New file. - -2022-11-14 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/aarch64/simd/addsub_1.c: New test. - * gcc.target/aarch64/sve/addsub_1.c: New test. - -2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com> - - * gcc.target/arm/multilib.exp: Add tests for Cortex-X1C. - -2022-11-14 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/amxbf16-dpbf16ps-2.c: Remove -amx-tile. - * gcc.target/i386/amxfp16-dpfp16ps-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. - -2022-11-14 Richard Biener <rguenther@suse.de> - - * gcc.dg/pr107554.c: Restrict to lp64. - -2022-11-14 Hongyu Wang <hongyu.wang@intel.com> - - * gcc.dg/guality/loop-1.c: Add additional option - -mno-unroll-only-small-loops. - * gcc.target/i386/pr86270.c: Add -mno-unroll-only-small-loops. - * gcc.target/i386/pr93002.c: Likewise. - -2022-11-13 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106235 - * gcc.dg/analyzer/taint-assert-BUG_ON.c: New test. - * gcc.dg/analyzer/taint-assert-macro-expansion.c: New test. - * gcc.dg/analyzer/taint-assert.c: New test. - * gcc.dg/analyzer/taint-assert-system-header.c: New test. - * gcc.dg/analyzer/test-assert.h: New header. - * gcc.dg/plugin/analyzer_gil_plugin.c - (gil_diagnostic::fixup_location): Add bool param. - -2022-11-13 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/94104 - * gfortran.dg/parens_2.f90: Adjust to improved error message. - * gfortran.dg/PR94104a.f90: New test. - * gfortran.dg/PR94104b.f90: New test. - -2022-11-13 John David Anglin <danglin@gcc.gnu.org> - - * g++.dg/guality/guality.exp: Skip on hppa*-*-hpux*. - * gcc.dg/guality/guality.exp: Likewise. - * gfortran.dg/guality/guality.exp: Likewise. - -2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/zbb-srai-andn.c: New test. - -2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/zba-shNadd-07.c: New test. - -2022-11-13 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c11-float-8.c, gcc.dg/c11-limits-1.c, - gcc.dg/c11-stdarg-4.c, gcc.dg/c11-stdatomic-3.c, - gcc.dg/c11-stddef-1.c, gcc.dg/c11-stdint-1.c, - gcc.dg/c2x-float-13.c, gcc.dg/c2x-limits-1.c, - gcc.dg/c2x-stdarg-5.c, gcc.dg/c2x-stdatomic-1.c, - gcc.dg/c2x-stddef-1.c, gcc.dg/c2x-stdint-1.c: New tests. - -2022-11-12 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107444 - * gfortran.dg/optional_absent_7.f90: Adjust regex. - * gfortran.dg/optional_absent_8.f90: New test. - -2022-11-12 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c11-keywords-1.c: Also test constexpr. - * gcc.dg/c2x-constexpr-1.c, gcc.dg/c2x-constexpr-2a.c, - gcc.dg/c2x-constexpr-2b.c, gcc.dg/c2x-constexpr-3.c, - gcc.dg/c2x-constexpr-4.c, gcc.dg/c2x-constexpr-5.c, - gcc.dg/c2x-constexpr-6.c, gcc.dg/c2x-constexpr-7.c, - gcc.dg/c2x-constexpr-8.c, gcc.dg/c2x-constexpr-9.c, - gcc.dg/dfp/c2x-constexpr-dfp-1.c, - gcc.dg/dfp/c2x-constexpr-dfp-2.c, gcc.dg/gnu2x-constexpr-1.c, - gcc.target/i386/excess-precision-11.c, - gcc.target/i386/excess-precision-12.c: New tests. - -2022-11-12 Aldy Hernandez <aldyh@redhat.com> - Jakub Jelinek <jakub@redhat.com> - - * gcc.c-torture/execute/ieee/inf-4.c: New test. - -2022-11-12 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/flogb.c: New test. - -2022-11-12 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/fscaleb.c: New test. - -2022-11-12 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/ftint.c: New test. - * gcc.target/loongarch/ftint-no-inexact.c: New test. - -2022-11-12 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/frint.c: New test. - -2022-11-11 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106147 - * g++.dg/analyzer/infinite-recursion-1.C: New test. - * g++.dg/analyzer/infinite-recursion-2.C: New test, copied from - g++.dg/warn/Winfinite-recursion-2.C. - * g++.dg/analyzer/infinite-recursion-3.C: New test, adapted from - g++.dg/warn/Winfinite-recursion-3.C. - * gcc.dg/analyzer/infinite-recursion-2.c: New test. - * gcc.dg/analyzer/infinite-recursion-3.c: New test. - * gcc.dg/analyzer/infinite-recursion-4-limited-buggy.c: New test. - * gcc.dg/analyzer/infinite-recursion-4-limited.c: New test. - * gcc.dg/analyzer/infinite-recursion-4-unlimited-buggy.c: New test. - * gcc.dg/analyzer/infinite-recursion-4-unlimited.c: New test. - * gcc.dg/analyzer/infinite-recursion-5.c: New test, adapted from - gcc.dg/Winfinite-recursion.c. - * gcc.dg/analyzer/infinite-recursion-alloca.c: New test. - * gcc.dg/analyzer/infinite-recursion-inlining.c: New test. - * gcc.dg/analyzer/infinite-recursion-multiline-1.c: New test. - * gcc.dg/analyzer/infinite-recursion-multiline-2.c: New test. - * gcc.dg/analyzer/infinite-recursion-variadic.c: New test. - * gcc.dg/analyzer/infinite-recursion.c: Add dg-warning directives - where infinite recursions occur. - * gcc.dg/analyzer/malloc-ipa-12.c: Likewise. - * gcc.dg/analyzer/pr105365.c: Likewise. - * gcc.dg/analyzer/pr105366.c: Likewise. - * gcc.dg/analyzer/pr97029.c: Likewise. - -2022-11-11 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/107523 - * gcc.dg/pr107523.c: New. - -2022-11-11 Richard Biener <rguenther@suse.de> - Nikita Voronov <nik_1357@mail.ru> - - PR tree-optimization/107554 - * gcc.dg/pr107554.c: New testcase. - -2022-11-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107618 - * gcc.dg/pr107618.c: New testcase. - -2022-11-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/84646 - * g++.dg/tree-ssa/pr106922.C: Continue to scan earlier DCE dump. - * gcc.dg/tree-ssa/20030808-1.c: Likewise. - -2022-11-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - Monk Chiang <monk.chiang@sifive.com> - - * gcc.target/riscv/rvv/base/macro.h: New test. - * gcc.target/riscv/rvv/base/spill-1.c: New test. - * gcc.target/riscv/rvv/base/spill-10.c: New test. - * gcc.target/riscv/rvv/base/spill-11.c: New test. - * gcc.target/riscv/rvv/base/spill-12.c: New test. - * gcc.target/riscv/rvv/base/spill-2.c: New test. - * gcc.target/riscv/rvv/base/spill-3.c: New test. - * gcc.target/riscv/rvv/base/spill-4.c: New test. - * gcc.target/riscv/rvv/base/spill-5.c: New test. - * gcc.target/riscv/rvv/base/spill-6.c: New test. - * gcc.target/riscv/rvv/base/spill-7.c: New test. - * gcc.target/riscv/rvv/base/spill-8.c: New test. - * gcc.target/riscv/rvv/base/spill-9.c: New test. - -2022-11-11 Jonathan Wakely <jwakely@redhat.com> - - PR c/85487 - * c-c++-common/pragma-region.c: New test. - -2022-11-11 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/prefetchi-5.c: New test. - -2022-11-10 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/deref-before-check-1.c: New test. - * gcc.dg/analyzer/deref-before-check-2.c: New test. - * gcc.dg/analyzer/deref-before-check-pr77425.c: New test. - * gcc.dg/analyzer/malloc-1.c (test_51): New test. - -2022-11-10 Marek Polacek <polacek@redhat.com> - - * g++.dg/warn/Wdangling-reference6.C: New test. - -2022-11-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/84646 - * gcc.dg/tree-ssa/ssa-ccp-42.c: New testcase. - -2022-11-10 Richard Biener <rguenther@suse.de> - - * gcc.dg/loop-unswitch-18.c: New testcase. - * gcc.dg/tree-ssa/loopclosedphi.c: Disable unswitching, - adjust expected counts. - * gcc.dg/torture/pr71462.c: Add -w to ignore undefined - behavior diagnostics after now unswitching outer loops. - -2022-11-10 Jakub Jelinek <jakub@redhat.com> - - PR target/107585 - PR target/107546 - * gcc.dg/pr107585.c: New test. - -2022-11-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107559 - * gfortran.dg/pr107559.f90: New test. - -2022-11-09 Martin Liska <mliska@suse.cz> - - PR c++/107599 - * c-c++-common/diagnostic-format-json-2.c: Fix expected URL. - * c-c++-common/diagnostic-format-json-3.c: Likewise. - * c-c++-common/diagnostic-format-json-4.c: Likewise. - * gfortran.dg/diagnostic-format-json-2.F90: Likewise. - * gfortran.dg/diagnostic-format-json-3.F90: Likewise. - -2022-11-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107441 - * gfortran.dg/coarray/pr107441-caf.f90: New test. - * gfortran.dg/optional_absent_6.f90: New test. - * gfortran.dg/optional_absent_7.f90: New test. - -2022-11-09 Eric Botcazou <ebotcazou@adacore.com> - - * gcc.dg/guality/param-6.c: New test. - -2022-11-09 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp0x/attr-carries_dependency1.C: New test. - -2022-11-09 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107541 - * gcc.dg/tree-ssa/pr107541.c (c): Use long long type rather than long. - (main): Punt if sizeof short isn't 2, or int 4, or long long 8. - -2022-11-09 Marek Polacek <polacek@redhat.com> - - PR c++/107363 - * g++.dg/cpp0x/Wredundant-move13.C: New test. - -2022-11-09 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr107540.c: New test. - -2022-11-08 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/101962 - * gcc.dg/analyzer/data-model-23.c (test_3): New test. - -2022-11-08 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/24021 - * gcc.dg/tree-ssa/vrp-float-plus.c: New test. - -2022-11-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107389 - * gcc.dg/pr107389.c: New testcase. - -2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com> - - * gcc.target/gcn/math-builtins-1.c: New test. - -2022-11-08 Surya Kumari Jangala <jskumari@linux.ibm.com> - - PR testsuite/107171 - * gcc.target/powerpc/pr105586.c: Guard against unsupported - __int128. - -2022-11-08 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107547 - * gcc.dg/pr107547.c: New test. - -2022-11-08 Jakub Jelinek <jakub@redhat.com> - - PR target/107546 - * gcc.target/i386/pr107546.c: New test. - -2022-11-08 konglin1 <lingling.kong@intel.com> - - Revert: - 2022-11-08 konglin1 <lingling.kong@intel.com> - - * gcc.target/i386/raoint-atomic-fetch.c: New test. - -2022-11-08 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/errno-1.c: New test. - -2022-11-08 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/strchr-1.c (test_literal): Detect writing to a - string literal. Verify that we emit the "when '__builtin_strchr' - returns non-NULL" message. - -2022-11-08 Jason Merrill <jason@redhat.com> - Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp2a/spaceship-eq15.C: New test. - * g++.dg/cpp0x/defaulted3.C: Add const. - * g++.dg/cpp2a/bit-cast7.C: Add const. - * g++.dg/cpp2a/spaceship-rewrite1.C: Expect error. - * g++.dg/cpp2a/spaceship-rewrite5.C: Expect error. - * g++.old-deja/g++.jason/byval2.C: Expect error. - * g++.old-deja/g++.other/overload13.C: Add const. - -2022-11-08 Andrew MacLeod <amacleod@redhat.com> - - * gcc.dg/pr104530.c: New. - -2022-11-07 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/55157 - * gcc.dg/tree-ssa/pr55157.c: New test. - -2022-11-07 H.J. Lu <hjl.tools@gmail.com> - - PR middle-end/102566 - * g++.target/i386/pr102566-7.C - -2022-11-07 Nathan Sidwell <nathan@acm.org> - - * g++.dg/abi/lambda-tpl1.h: Add more cases. - * g++.dg/abi/lambda-tpl1-17.C: Add checks. - * g++.dg/abi/lambda-tpl1-18.C: Likewise. - * g++.dg/abi/lambda-tpl1-18vs17.C: Likewise. - -2022-11-07 Alexander Monakov <amonakov@ispras.ru> - - PR tree-optimization/107505 - * gcc.dg/pr107505.c: New test. - -2022-11-07 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107541 - * gcc.dg/tree-ssa/pr107541.c: New test. - -2022-11-07 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/107508 - * gfortran.dg/widechar_11.f90: New test. - -2022-11-07 konglin1 <lingling.kong@intel.com> - - * gcc.target/i386/sse-22.c: Fix typo in pragma GCC target. - -2022-11-07 Kewen Lin <linkw@linux.ibm.com> - - PR tree-optimization/107412 - * gcc.target/powerpc/pr107412.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-8.c: Adjust scan times for - folded LEN_LOAD. - -2022-11-07 Hu, Lin1 <lin1.hu@intel.com> - - * g++.target/i386/mv16.C: Add grandridge. - * gcc.target/i386/funcspec-56.inc: Handle new march. - -2022-11-07 konglin1 <lingling.kong@intel.com> - - * gcc.target/i386/raoint-atomic-fetch.c: New test. - -2022-11-07 konglin1 <lingling.kong@intel.com> - - * g++.dg/other/i386-2.C: Add -mraoint. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/sse-12.c: Add -mraoint. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add raoint target. - * gcc.target/i386/sse-23.c: Ditto. - * lib/target-supports.exp: Add check_effective_target_raoint. - * gcc.target/i386/rao-helper.h: New test. - * gcc.target/i386/raoint-1.c: Ditto. - * gcc.target/i386/raoint-aadd-2.c: Ditto. - * gcc.target/i386/raoint-aand-2.c: Ditto. - * gcc.target/i386/raoint-aor-2.c: Ditto. - * gcc.target/i386/raoint-axor-2.c: Ditto. - * gcc.target/i386/x86gprintrin-1.c: Ditto. - * gcc.target/i386/x86gprintrin-2.c: Ditto. - * gcc.target/i386/x86gprintrin-3.c: Ditto. - * gcc.target/i386/x86gprintrin-4.c: Ditto. - * gcc.target/i386/x86gprintrin-5.c: Ditto. - -2022-11-07 Haochen Jiang <haochen.jiang@intel.com> - - * g++.target/i386/mv16.C: Add graniterapids. - * gcc.target/i386/funcspec-56.inc: Handle new march. - -2022-11-07 Haochen Jiang <haochen.jiang@intel.com> - Hongtao Liu <hongtao.liu@intel.com> - - * g++.dg/other/i386-2.C: Add -mprefetchi. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/avx-1.c: Ditto. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/sse-13.c: Add -mprefetchi. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/x86gprintrin-1.c: Ditto. - * gcc.target/i386/x86gprintrin-2.c: Ditto. - * gcc.target/i386/x86gprintrin-3.c: Ditto. - * gcc.target/i386/x86gprintrin-4.c: Ditto. - * gcc.target/i386/x86gprintrin-5.c: Ditto. - * gcc.target/i386/prefetchi-1.c: New test. - * gcc.target/i386/prefetchi-2.c: Ditto. - * gcc.target/i386/prefetchi-3.c: Ditto. - * gcc.target/i386/prefetchi-4.c: Ditto. - -2022-11-06 Patrick Palka <ppalka@redhat.com> - - * g++.dg/special/initpri3.C: New test. - -2022-11-06 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/fcopysign.c: New test. - -2022-11-05 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/attr_register2.d: Adjust test. - -2022-11-05 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/Wbuiltin_declaration_mismatch2.d: Remove comparision tests. - * gdc.dg/simd2a.d: Update comparison tests. - * gdc.dg/simd2b.d: Likewise. - * gdc.dg/simd2c.d: Likewise. - * gdc.dg/simd2d.d: Likewise. - * gdc.dg/simd2e.d: Likewise. - * gdc.dg/simd2f.d: Likewise. - * gdc.dg/simd2g.d: Likewise. - * gdc.dg/simd2h.d: Likewise. - * gdc.dg/simd2i.d: Likewise. - * gdc.dg/simd2j.d: Likewise. - -2022-11-05 Lewis Hyatt <lhyatt@gmail.com> - - PR preprocessor/55971 - * c-c++-common/raw-string-directive-1.c: New test. - * c-c++-common/raw-string-directive-2.c: New test. - -2022-11-04 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp23/charset1.C: New testcase from C++23 P2314R4. - -2022-11-04 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/cpp/named-universal-char-escape-1.c: Add tests for some - characters newly added in Unicode 15.0.0. - -2022-11-04 Wilco Dijkstra <wdijkstr@arm.com> - - * gcc.target/aarch64/mgeneral-regs_3.c: Fix testcase. - -2022-11-04 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107342 - * gcc.dg/tree-ssa/vrp122.c: New test. - * gcc.dg/tree-ssa/vrp123.c: New test. - -2022-11-04 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/opt99.adb: New test. - * gnat.dg/opt99_pkg1.ads, gnat.dg/opt99_pkg1.adb: New helper. - * gnat.dg/opt99_pkg2.ads: Likewise. - -2022-11-04 Javier Miranda <miranda@adacore.com> - - * gnat.dg/abstract1.ads: Cleanup whitespaces. - * gnat.dg/abstract1.adb: Likewise and add -gnatws to silence new - warning. - -2022-11-04 Hongyu Wang <hongyu.wang@intel.com> - Haochen Jiang <haochen.jiang@intel.com> - - * g++.dg/other/i386-2.C: Add -mamx-fp16. - * 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. - * lib/target-supports.exp: (check_effective_target_amx_fp16): - New proc. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/amx-check.h: Add AMX_FP16. - * gcc.target/i386/amx-helper.h: New file to support amx-fp16. - * gcc.target/i386/amxfp16-asmatt-1.c: New test. - * gcc.target/i386/amxfp16-asmintel-1.c: Ditto. - * gcc.target/i386/amxfp16-dpfp16ps-2.c: Ditto. - -2022-11-04 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/cmse/bitfield-1.c: Use overridable location. - * gcc.target/arm/cmse/bitfield-2.c: Likewise. - * gcc.target/arm/cmse/bitfield-3.c: Likewise. - * gcc.target/arm/cmse/cmse-20.c: Likewise. - * gcc.target/arm/cmse/struct-1.c: Likewise. - * gcc.target/arm/cmse/cmse.exp (cmse_sgstubs): New. - -2022-11-04 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * g++.dg/modules/bad-mapper-3.C: Update dg-error pattern. - -2022-11-04 Haochen Jiang <haochen.jiang@intel.com> - - * g++.target/i386/mv16.C: Add sierra forest. - * gcc.target/i386/funcspec-56.inc: Handle new march. - -2022-11-04 Haochen Jiang <haochen.jiang@intel.com> - - * g++.dg/other/i386-2.C: Add -mcmpccxadd. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/avx-1.c: Ditto. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/sse-13.c: Add -mcmpccxadd. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/x86gprintrin-1.c: Ditto. - * gcc.target/i386/x86gprintrin-2.c: Ditto. - * gcc.target/i386/x86gprintrin-3.c: Ditto. - * gcc.target/i386/x86gprintrin-4.c: Ditto. - * gcc.target/i386/x86gprintrin-5.c: Ditto. - * lib/target-supports.exp (check_effective_target_cmpccxadd): - New. - * gcc.target/i386/cmpccxadd-1.c: New test. - * gcc.target/i386/cmpccxadd-2.c: Ditto. - -2022-11-03 Marek Polacek <polacek@redhat.com> - - PR c++/107488 - * g++.dg/warn/Wdangling-reference5.C: New test. - -2022-11-03 Patrick Palka <ppalka@redhat.com> - - PR c++/107179 - * g++.dg/cpp2a/concepts-requires31.C: New test. - -2022-11-03 Andrew MacLeod <amacleod@redhat.com> - - * g++.dg/pr99966.C: New. - * gcc.dg/pr93917.c: New. - * gcc.dg/pr102650.c: New. - -2022-11-03 Jason Merrill <jason@redhat.com> - - * g++.dg/concepts/auto1.C: - * g++.dg/concepts/auto3.C: - * g++.dg/concepts/auto4.C: - * g++.dg/concepts/class-deduction1.C: - * g++.dg/concepts/class5.C: - * g++.dg/concepts/class6.C: - * g++.dg/concepts/debug1.C: - * g++.dg/concepts/decl-diagnose.C: - * g++.dg/concepts/deduction-constraint1.C: - * g++.dg/concepts/diagnostic1.C: - * g++.dg/concepts/dr1430.C: - * g++.dg/concepts/equiv.C: - * g++.dg/concepts/equiv2.C: - * g++.dg/concepts/expression.C: - * g++.dg/concepts/expression2.C: - * g++.dg/concepts/expression3.C: - * g++.dg/concepts/fn-concept1.C: - * g++.dg/concepts/fn-concept2.C: - * g++.dg/concepts/fn-concept3.C: - * g++.dg/concepts/fn1.C: - * g++.dg/concepts/fn10.C: - * g++.dg/concepts/fn2.C: - * g++.dg/concepts/fn3.C: - * g++.dg/concepts/fn4.C: - * g++.dg/concepts/fn5.C: - * g++.dg/concepts/fn6.C: - * g++.dg/concepts/fn8.C: - * g++.dg/concepts/fn9.C: - * g++.dg/concepts/generic-fn-err.C: - * g++.dg/concepts/generic-fn.C: - * g++.dg/concepts/inherit-ctor1.C: - * g++.dg/concepts/inherit-ctor3.C: - * g++.dg/concepts/intro1.C: - * g++.dg/concepts/intro2.C: - * g++.dg/concepts/intro3.C: - * g++.dg/concepts/intro4.C: - * g++.dg/concepts/intro5.C: - * g++.dg/concepts/intro6.C: - * g++.dg/concepts/intro7.C: - * g++.dg/concepts/locations1.C: - * g++.dg/concepts/partial-concept-id1.C: - * g++.dg/concepts/partial-concept-id2.C: - * g++.dg/concepts/partial-spec5.C: - * g++.dg/concepts/placeholder2.C: - * g++.dg/concepts/placeholder3.C: - * g++.dg/concepts/placeholder4.C: - * g++.dg/concepts/placeholder5.C: - * g++.dg/concepts/placeholder6.C: - * g++.dg/concepts/pr65634.C: - * g++.dg/concepts/pr65636.C: - * g++.dg/concepts/pr65681.C: - * g++.dg/concepts/pr65848.C: - * g++.dg/concepts/pr67249.C: - * g++.dg/concepts/pr67595.C: - * g++.dg/concepts/pr68434.C: - * g++.dg/concepts/pr71127.C: - * g++.dg/concepts/pr71128.C: - * g++.dg/concepts/pr71131.C: - * g++.dg/concepts/pr71385.C: - * g++.dg/concepts/pr85065.C: - * g++.dg/concepts/template-parm11.C: - * g++.dg/concepts/template-parm12.C: - * g++.dg/concepts/template-parm2.C: - * g++.dg/concepts/template-parm3.C: - * g++.dg/concepts/template-parm4.C: - * g++.dg/concepts/template-template-parm1.C: - * g++.dg/concepts/var-concept1.C: - * g++.dg/concepts/var-concept2.C: - * g++.dg/concepts/var-concept3.C: - * g++.dg/concepts/var-concept4.C: - * g++.dg/concepts/var-concept5.C: - * g++.dg/concepts/var-concept6.C: - * g++.dg/concepts/var-concept7.C: - * g++.dg/concepts/var-templ2.C: - * g++.dg/concepts/var-templ3.C: - * g++.dg/concepts/variadic1.C: - * g++.dg/concepts/variadic2.C: - * g++.dg/concepts/variadic3.C: - * g++.dg/concepts/variadic4.C: - * g++.dg/cpp2a/concepts-pr65575.C: - * g++.dg/cpp2a/concepts-pr66091.C: - * g++.dg/cpp2a/concepts-pr84980.C: - * g++.dg/cpp2a/concepts-pr85265.C: Pass -fconcepts-ts. - * g++.dg/cpp2a/concepts-pr84979-2.C: - * g++.dg/cpp2a/concepts-pr84979-3.C: Same diagnostics - in C++20 and below. - -2022-11-03 Patrick Palka <ppalka@redhat.com> - - PR c++/93413 - * g++.dg/cpp2a/constexpr-virtual21.C: New test. - -2022-11-03 Kwok Cheung Yeung <kcy@codesourcery.com> - - * gcc.target/gcn/unsafe-math-1.c: New. - -2022-11-03 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/analyzer_gil_plugin.c: Use std::unique_ptr for - state machines from plugins. - -2022-11-03 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/analyzer_kernel_plugin.c: Use std::unique_ptr for - known functions. - * gcc.dg/plugin/analyzer_known_fns_plugin.c: Likewise. - -2022-11-03 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/analyzer_kernel_plugin.c: Include "make-unique.h". - Use std::unique_ptr in bifurcation code. - * gcc.dg/plugin/analyzer_known_fns_plugin.c: Likewise. - -2022-11-03 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/analyzer_gil_plugin.c: Add define of - INCLUDE_MEMORY. Include "make-unique.h". - (gil_state_machine::check_for_pyobject_in_call): Use make_unique - when creating pending_diagnostic. - (gil_state_machine::on_stmt): Likewise. - (gil_state_machine::check_for_pyobject_usage_without_gil): Likewise. - * gcc.dg/plugin/analyzer_kernel_plugin.c: : Add define of - INCLUDE_MEMORY. - * gcc.dg/plugin/analyzer_known_fns_plugin.c: Likewise. - -2022-11-03 Andrew MacLeod <amacleod@redhat.com> - - * gcc.dg/tree-ssa/vrp-update.c: New. - -2022-11-03 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107486 - * gcc.dg/analyzer/pipe-pr107486.c: New test. - * gcc.dg/analyzer/pipe-void-return.c: New test. - -2022-11-03 Uroš Bizjak <ubizjak@gmail.com> - - PR target/107404 - * g++.target/i386/pr107404.C: New test. - -2022-11-03 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/106806 - * gcc.dg/tree-ssa/gen-vect-34.c: Adjust with vect_masked_load - effective target. - -2022-11-03 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c2x-auto-1.c, gcc.dg/c2x-auto-2.c, gcc.dg/c2x-auto-3.c, - gcc.dg/c2x-auto-4.c, gcc.dg/gnu2x-auto-1.c: New tests. - -2022-11-02 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/zawrs.c: New test. - -2022-11-02 Xionghu Luo <xionghuluo@tencent.com> - - PR target/100866 - * gcc.target/powerpc/pr100866-2.c: New. - -2022-11-01 Nathan Sidwell <nathan@acm.org> - - * g++.dg/abi/lambda-sig1-18.C: New. - * g++.dg/abi/lambda-sig1-18vs17.C: New. - * g++.dg/cpp1y/lambda-mangle-1-18.C: New. - -2022-11-01 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107490 - * gcc.dg/tree-ssa/pr107490.c: New test. - -2022-11-01 Andrew MacLeod <amacleod@redhat.com> - - * gcc.dg/pr68217.c: Test [-INF, -INF][0, 0] instead of [-INF, 0]. - * gcc.dg/tree-ssa/vrp-unreachable.c: New. Test unreachable removal. - -2022-11-01 Nathan Sidwell <nathan@acm.org> - - * g++.dg/abi/lambda-sig1-17.C: New. - * g++.dg/abi/lambda-sig1.h: New. - * g++.dg/cpp1y/lambda-mangle-1.C: Extracted to ... - * g++.dg/cpp1y/lambda-mangle-1.h: ... here. - * g++.dg/cpp1y/lambda-mangle-1-11.C: New - * g++.dg/cpp1y/lambda-mangle-1-17.C - -2022-11-01 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr107057.c: New test. - -2022-11-01 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr55583.c: New test. - -2022-11-01 Cui,Lili <lili.cui@intel.com> - - * gcc.dg/ipa/inlinehint-6.c: New test. - -2022-10-31 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp23/ext-floating12.C: New test. - -2022-10-31 Guillermo E. Martinez <guillermo.e.martinez@oracle.com> - - * gcc.dg/debug/btf/btf-enum-1.c: Update testcase, with correct - info.kflags encoding. - * gcc.dg/debug/btf/btf-enum64-1.c: New testcase. - -2022-10-31 Jakub Jelinek <jakub@redhat.com> - - * gcc.dg/torture/floatn-builtin.h: Add tests for newly added builtins. - -2022-10-31 konglin1 <lingling.kong@intel.com> - - * gcc.target/i386/avx-check.h: Add avxneconvert check. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/sse-12.c: Add -mavxneconvert. - * 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:add check_effective_target_avxneconvert. - * gcc.target/i386/avx-ne-convert-1.c: New test. - * gcc.target/i386/avx-ne-convert-vbcstnebf162ps-2.c: Ditto. - * gcc.target/i386/avx-ne-convert-vbcstnesh2ps-2.c: Ditto. - * gcc.target/i386/avx-ne-convert-vcvtneebf162ps-2.c: Ditto. - * gcc.target/i386/avx-ne-convert-vcvtneeph2ps-2.c: Ditto. - * gcc.target/i386/avx-ne-convert-vcvtneobf162ps-2.c: Ditto. - * gcc.target/i386/avx-ne-convert-vcvtneoph2ps-2.c: Ditto. - * gcc.target/i386/avx-ne-convert-vcvtneps2bf16-2.c: Ditto. - * gcc.target/i386/avx512bf16vl-vcvtneps2bf16-1.c: Rename.. - * gcc.target/i386/avx512bf16vl-vcvtneps2bf16-1a.c: To this. - * gcc.target/i386/avx512bf16vl-vcvtneps2bf16-1b.c: New test. - -2022-10-31 konglin1 <lingling.kong@intel.com> - - * gcc.target/i386/avx512bf16-cvtsbh2ss-1.c: Add fpmath option. - * gcc.target/i386/avx512bf16-vdpbf16ps-2.c: Fixed - scan-assembler. - * gcc.target/i386/avx512bf16vl-cvtness2sbh-1.c: Add x/y suffix - for vcvtneps2bf16. - * gcc.target/i386/avx512bf16vl-vcvtneps2bf16-1.c: Ditto. - -2022-10-31 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr107261.c: New test. - -2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/simd19630.d: Move tests with errors to ... - * gdc.dg/simd19630b.d: ... here. New test. - * gdc.dg/simd19630c.d: New test. - * gdc.dg/simd_ctfe.d: Removed. - * gdc.dg/simd18867.d: New test. - * gdc.dg/simd19788.d: New test. - * gdc.dg/simd21469.d: New test. - * gdc.dg/simd21672.d: New test. - * gdc.dg/simd23077.d: New test. - * gdc.dg/simd23084.d: New test. - * gdc.dg/simd23085.d: New test. - * gdc.dg/torture/simd19632.d: New test. - * gdc.dg/torture/simd20041.d: New test. - * gdc.dg/torture/simd21673.d: New test. - * gdc.dg/torture/simd21676.d: New test. - * gdc.dg/torture/simd22438.d: New test. - * gdc.dg/torture/simd23009.d: New test. - * gdc.dg/torture/simd23077.d: New test. - * gdc.dg/torture/simd8.d: New test. - * gdc.dg/torture/simd9.d: New test. - * gdc.dg/torture/simd_prefetch.d: New test. - -2022-10-28 Marek Polacek <polacek@redhat.com> - - * g++.dg/warn/Wdangling-reference4.C: New test. - -2022-10-28 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c11-stdarg-1.c, gcc.dg/c11-stdarg-2.c, - gcc.dg/c11-stdarg-3.c, gcc.dg/c2x-stdarg-1.c, - gcc.dg/c2x-stdarg-2.c, gcc.dg/c2x-stdarg-3.c, - gcc.dg/c2x-stdarg-4.c, gcc.dg/gnu2x-stdarg-1.c, - gcc.dg/torture/c2x-stdarg-split-1a.c, - gcc.dg/torture/c2x-stdarg-split-1b.c: New tests. - * gcc.dg/Wold-style-definition-2.c, gcc.dg/format/sentinel-1.c: - Update expected diagnostics. - * gcc.dg/c2x-nullptr-1.c (test5): Cast unused parameter to (void). - * gcc.dg/diagnostic-token-ranges.c: Use -pedantic. Expect warning - in place of error. - -2022-10-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107407 - * gcc.dg/torture/pr107407.c: New testcase. - -2022-10-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107447 - * gcc.dg/torture/pr107447.c: New testcase. - -2022-10-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107435 - * gcc.dg/torture/pr107435.c: New testcase. - -2022-10-28 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/directive-1.c: New test. - * c-c++-common/gomp/clauses-6.c: New test. - * c-c++-common/gomp/declare-variant-2.c (f75a): Declare. - (f75): Use f75a as variant instead of f1 and don't expect error. - * g++.dg/gomp/clause-4.C (foo): Don't expect error on comma - before first clause. - * gcc.dg/gomp/clause-2.c (foo): Likewise. - -2022-10-28 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/pr100756.c: Adjust for larger vectors. - -2022-10-28 Thomas Schwinge <thomas@codesourcery.com> - - * gcc.dg/vect/bb-slp-cond-1.c: Fix target selector syntax. - -2022-10-28 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/107240 - * gcc.dg/vect/vect-bitfield-read-1.c: Add effective target checking - vect_shift. - * gcc.dg/vect/vect-bitfield-read-3.c: Likewise. - * gcc.dg/vect/vect-bitfield-read-5.c: Likewise. - * gcc.dg/vect/vect-bitfield-read-6.c: Likewise. - * gcc.dg/vect/vect-bitfield-read-7.c: Likewise. - * gcc.dg/vect/vect-bitfield-read-2.c: Add effective target checking - vect_shift and replace vect_int with vect_long_long. - * gcc.dg/vect/vect-bitfield-read-4.c: Likewise. - -2022-10-28 Joseph Myers <joseph@codesourcery.com> - - PR c/61469 - * gcc.dg/c11-enum-4.c, gcc.dg/c11-enum-5.c, gcc.dg/c11-enum-6.c, - gcc.dg/c2x-enum-6.c, gcc.dg/c2x-enum-7.c, gcc.dg/c2x-enum-8.c, - gcc.dg/gnu2x-enum-1.c: New tests. - -2022-10-27 H.J. Lu <hjl.tools@gmail.com> - - PR target/107172 - * gcc.target/i386/pr107172.c: New test. - -2022-10-27 Nathan Sidwell <nathan@acm.org> - - * g++.dg/abi/lambda-ctx1-18.C: Adjust. - * g++.dg/abi/lambda-ctx1-18vs17.C: Adjust. - * g++.dg/abi/lambda-tpl1-17.C: New. - * g++.dg/abi/lambda-tpl1-18.C: New. - * g++.dg/abi/lambda-tpl1-18vs17.C: New. - * g++.dg/abi/lambda-tpl1.h: New. - -2022-10-27 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107394 - * gcc.dg/tree-ssa/pr107394.c: New test. - -2022-10-27 Jakub Jelinek <jakub@redhat.com> - - PR c++/107382 - PR c++/107383 - * g++.dg/diagnostic/bad-binary-ops2.C: New test. - -2022-10-27 Jiawei <jiawei@iscas.ac.cn> - - * gcc.target/riscv/_Float16-zhinx-1.c: New test. - * gcc.target/riscv/_Float16-zhinx-2.c: New test. - * gcc.target/riscv/_Float16-zhinx-3.c: New test. - * gcc.target/riscv/_Float16-zhinxmin-1.c: New test. - * gcc.target/riscv/_Float16-zhinxmin-2.c: New test. - * gcc.target/riscv/_Float16-zhinxmin-3.c: New test. - -2022-10-26 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/fd-3.c (test_5): Expect "opened here" message - even when flags are symbolic. - (test_read_from_symbolic_fd): New. - (test_write_to_symbolic_fd): New. - -2022-10-26 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103413 - * gfortran.dg/illegal_boz_arg_4.f90: New test. - -2022-10-26 David Faust <david.faust@oracle.com> - - * gcc.target/bpf/core-builtin-fieldinfo-errors-1.c: New test. - * gcc.target/bpf/core-builtin-fieldinfo-errors-2.c: New test. - * gcc.target/bpf/core-builtin-fieldinfo-existence-1.c: New test. - * gcc.target/bpf/core-builtin-fieldinfo-lshift-1-be.c: New test. - * gcc.target/bpf/core-builtin-fieldinfo-lshift-1-le.c: New test. - * gcc.target/bpf/core-builtin-fieldinfo-lshift-2.c: New test. - * gcc.target/bpf/core-builtin-fieldinfo-offset-1.c: New test. - * gcc.target/bpf/core-builtin-fieldinfo-rshift-1.c: New test. - * gcc.target/bpf/core-builtin-fieldinfo-rshift-2.c: New test. - * gcc.target/bpf/core-builtin-fieldinfo-sign-1.c: New test. - * gcc.target/bpf/core-builtin-fieldinfo-sign-2.c: New test. - * gcc.target/bpf/core-builtin-fieldinfo-size-1.c: New test. - -2022-10-26 Marek Polacek <polacek@redhat.com> - - PR c++/106393 - * g++.dg/cpp23/elision4.C: Use -Wdangling-reference, add dg-warning. - * g++.dg/cpp23/elision7.C: Likewise. - * g++.dg/warn/Wdangling-pointer-2.C: Use -Wno-dangling-reference. - * g++.dg/warn/Wdangling-reference1.C: New test. - * g++.dg/warn/Wdangling-reference2.C: New test. - * g++.dg/warn/Wdangling-reference3.C: New test. - -2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/base/mov-1.c: New. - * gcc.target/riscv/rvv/base/mov-10.c: New. - * gcc.target/riscv/rvv/base/mov-11.c: New. - * gcc.target/riscv/rvv/base/mov-12.c: New. - * gcc.target/riscv/rvv/base/mov-13.c: New. - * gcc.target/riscv/rvv/base/mov-2.c: New. - * gcc.target/riscv/rvv/base/mov-3.c: New. - * gcc.target/riscv/rvv/base/mov-4.c: New. - * gcc.target/riscv/rvv/base/mov-5.c: New. - * gcc.target/riscv/rvv/base/mov-6.c: New. - * gcc.target/riscv/rvv/base/mov-7.c: New. - * gcc.target/riscv/rvv/base/mov-8.c: New. - * gcc.target/riscv/rvv/base/mov-9.c: New. - -2022-10-26 Monk Chiang <monk.chiang@sifive.com> - - * gcc.target/riscv/predef-24.c:New. - * gcc.target/riscv/predef-25.c:New. - -2022-10-26 Jiufu Guo <guojiufu@linux.ibm.com> - - PR target/106460 - * gcc.target/powerpc/pr106460.c: New test. - -2022-10-26 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/arch-18.c: New. - * gcc.target/riscv/arch-5.c: Remove test for prefixed - with `h`. - * gcc.target/riscv/predef-23.c: New. - -2022-10-26 Eugene Rozenfeld <erozen@microsoft.com> - - * lib/profopt.exp: Don't force DWARF4 for AutoFDO tests - -2022-10-25 Patrick Palka <ppalka@redhat.com> - - PR c++/106848 - PR c++/102600 - * g++.dg/modules/enum-9_a.H: New test. - * g++.dg/modules/enum-9_b.C: New test. - * g++.dg/modules/enum-10_a.H: New test. - * g++.dg/modules/enum-10_b.C: New test. - * g++.dg/modules/enum-11_a.H: New test. - * g++.dg/modules/enum-11_b.C: New test. - -2022-10-25 H.J. Lu <hjl.tools@gmail.com> - - PR target/107304 - * gcc.target/i386/pr107304.c: New test. - -2022-10-25 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp23/attr-assume9.C: New test. - * g++.dg/cpp23/attr-assume10.C: New test. - -2022-10-25 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp23/attr-assume2.C: Expect constant values. - -2022-10-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107176 - PR tree-optimization/66375 - PR tree-optimization/42512 - * gcc.dg/torture/pr107176.c: New testcase. - -2022-10-25 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/specs/coverage1.ads: New test. - * gnat.dg/specs/variant_part.ads: Minor tweak. - * gnat.dg/specs/weak1.ads: Add dg directive. - -2022-10-25 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107368 - * gcc.dg/attr-assume-5.c: New test. - -2022-10-25 YunQiang Su <yunqiang.su@cipunited.com> - - * gcc.target/mips/compact-branches-1.c: add isa_rev>=6. - * gcc.target/mips/mips.exp: don't add -mipsXXr6 option for - -mcompact-branches=always. It is usable for pre-R6 now. - * gcc.target/mips/compact-branches-8.c: New test. - * gcc.target/mips/compact-branches-9.c: New test. - -2022-10-25 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107369 - * gcc.dg/attr-assume-4.c: New test. - * g++.dg/cpp23/attr-assume8.C: New test. - -2022-10-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/100756 - * gcc.dg/vect/pr100756.c: New testcase. - -2022-10-25 Kewen Lin <linkw@linux.ibm.com> - - * lib/target-supports.exp (check_effective_target_vect_long_long): Add - support for powerpc*-*-*. - -2022-10-24 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107349 - * gcc.dg/analyzer/stdarg-1-ms_abi.c (pr107349): New. - * gcc.dg/analyzer/stdarg-1-sysv_abi.c (pr107349): New. - * gcc.dg/analyzer/stdarg-1.c (pr107349): New. - -2022-10-24 Martin Liska <mliska@suse.cz> - - PR analyzer/107366 - * gcc.dg/analyzer/sarif-pr107366.c: New test. - -2022-10-24 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107345 - * gcc.dg/analyzer/pr107345.c: New test. - -2022-10-24 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106300 - * gcc.dg/analyzer/pipe-1.c: New test. - * gcc.dg/analyzer/pipe-glibc.c: New test. - * gcc.dg/analyzer/pipe-manpages.c: New test. - * gcc.dg/analyzer/pipe2-1.c: New test. - -2022-10-24 Marek Polacek <polacek@redhat.com> - - PR c++/107276 - * g++.dg/cpp2a/decomp4.C: New test. - -2022-10-24 Jakub Jelinek <jakub@redhat.com> - - PR c++/107358 - * c-c++-common/pr107358.c: New test. - * g++.dg/cpp1y/pr68180.C: Remove -fexcess-precision=fast from - dg-options. - -2022-10-24 Wilco Dijkstra <wdijkstr@arm.com> - - PR target/106583 - * gcc.target/aarch64/pr106583.c: Add new test. - -2022-10-24 Jakub Jelinek <jakub@redhat.com> - - PR c++/105774 - * g++.dg/cpp1y/constexpr-105774.C: New test. - -2022-10-24 Arsen Arsenović <arsen@aarsen.me> - - * gcc.dg/noreturn-4.c: Removed. - * g++.dg/freestanding-main.C: New test. - * g++.dg/freestanding-nonint-main.C: New test. - * gcc.dg/freestanding-main.c: New test. - * gcc.dg/freestanding-nonint-main.c: New test. - -2022-10-24 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107355 - * gcc.dg/tree-ssa/pr107355.c: New test. - -2022-10-24 Tobias Burnus <tobias@codesourcery.com> - - PR middle-end/107236 - * gfortran.dg/gomp/target-device-ancestor-6.f90: New test. - -2022-10-21 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/100097 - PR fortran/100098 - * gfortran.dg/PR100097.f90: New test. - * gfortran.dg/PR100098.f90: New test. - -2022-10-21 Jakub Jelinek <jakub@redhat.com> - - PR target/107322 - * gcc.target/i386/pr107322.c: New test. - -2022-10-21 Jakub Jelinek <jakub@redhat.com> - - PR c++/107295 - * g++.dg/ext/vector42.C: New test. - -2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com> - - * gcc.target/i386/funcspec-56.inc: Handle new march. - * g++.target/i386/mv29.C: Likewise. - -2022-10-21 Thomas Schwinge <thomas@codesourcery.com> - - PR tree-optimization/107195 - * gcc.dg/tree-ssa/pr107195-3.c: New. - -2022-10-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107323 - * gcc.dg/tree-ssa/pr107323.c: New testcase. - -2022-10-21 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/54346 - * gcc.dg/pr54346.c: Add -Wno-psabi to dg-options. - -2022-10-21 Jakub Jelinek <jakub@redhat.com> - - PR c++/106863 - * g++.dg/cpp0x/dr2351-2.C: New test. - -2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/base/vsetvl-1.c: New test. - -2022-10-21 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/vnniint8-auto-vectorize-1.c: New test. - * gcc.target/i386/vnniint8-auto-vectorize-2.c: Ditto. - -2022-10-21 Kong Lingling <lingling.kong@intel.com> - Hongyu Wang <hongyu.wang@intel.com> - Haochen Jiang <haochen.jiang@intel.com> - - * g++.dg/other/i386-2.C: Add -mavxvnniint8. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/avx-check.h: Add avxvnniint8 check. - * gcc.target/i386/sse-12.c: Add -mavxvnniint8. - * 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. - * lib/target-supports.exp - (check_effective_target_avxvnniint8): New. - * gcc.target/i386/avxvnniint8-1.c: Ditto. - * gcc.target/i386/avxvnniint8-vpdpbssd-2.c: Ditto. - * gcc.target/i386/avxvnniint8-vpdpbssds-2.c: Ditto. - * gcc.target/i386/avxvnniint8-vpdpbsud-2.c: Ditto. - * gcc.target/i386/avxvnniint8-vpdpbsuds-2.c: Ditto. - * gcc.target/i386/avxvnniint8-vpdpbuud-2.c: Ditto. - * gcc.target/i386/avxvnniint8-vpdpbuuds-2.c: Ditto. - -2022-10-21 Hongyu Wang <hongyu.wang@intel.com> - - * gcc.target/i386/avx-check.h: Add avxifma check. - * gcc.target/i386/avx512ifma-vpmaddhuq-1.c: Remane.. - * gcc.target/i386/avx512ifma-vpmaddhuq-1a.c: To this. - * gcc.target/i386/avx512ifma-vpmaddluq-1.c: Ditto. - * gcc.target/i386/avx512ifma-vpmaddluq-1a.c: Ditto. - * gcc.target/i386/avx512ifma-vpmaddhuq-1b.c: New Test. - * gcc.target/i386/avx512ifma-vpmaddluq-1b.c: Ditto. - * gcc.target/i386/avx-ifma-1.c: Ditto. - * gcc.target/i386/avx-ifma-2.c: Ditto. - * gcc.target/i386/avx-ifma-3.c: Ditto. - * gcc.target/i386/avx-ifma-4.c: Ditto. - * gcc.target/i386/avx-ifma-5.c: Ditto. - * gcc.target/i386/avx-ifma-6.c: Ditto. - * gcc.target/i386/avx-ifma-vpmaddhuq-2.c: Ditto. - * gcc.target/i386/avx-ifma-vpmaddluq-2.c: Ditto. - * gcc.target/i386/sse-12.c: Add -mavxifma. - * 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. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * lib/target-supports.exp - (check_effective_target_avxifma): New. - -2022-10-20 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/105633 - * gfortran.dg/pr105633.f90: New test. - -2022-10-20 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * lib/target-supports.exp - (check_effective_target_fenv_exceptions_double): New. - (check_effective_target_fenv_exceptions_long_double): New. - * gcc.dg/c2x-float-7.c: Split into 3 tests... - * gcc.dg/c2x-float-7a.c: Float part of c2x-float-7.c. - * gcc.dg/c2x-float-7b.c: Double part of c2x-float-7.c. - * gcc.dg/c2x-float-7c.c: Long double part of c2x-float-7.c. - * gcc.dg/pr95115.c: Switch to fenv_exceptions_double. - * gcc.dg/torture/float32x-nan-floath.c: Likewise. - * gcc.dg/torture/float32x-nan.c: Likewise. - * gcc.dg/torture/float64-nan-floath.c: Likewise. - * gcc.dg/torture/float64-nan.c: Likewise. - * gcc.dg/torture/inf-compare-1.c: Likewise. - * gcc.dg/torture/inf-compare-2.c: Likewise. - * gcc.dg/torture/inf-compare-3.c: Likewise. - * gcc.dg/torture/inf-compare-4.c: Likewise. - * gcc.dg/torture/inf-compare-5.c: Likewise. - * gcc.dg/torture/inf-compare-6.c: Likewise. - * gcc.dg/torture/inf-compare-7.c: Likewise. - * gcc.dg/torture/inf-compare-8.c: Likewise. - * gcc.dg/torture/pr52451.c: Likewise. - * gcc.dg/torture/pr82692.c: Likewise. - * gcc.dg/torture/inf-compare-1-float.c: New test. - * gcc.dg/torture/inf-compare-2-float.c: New test. - * gcc.dg/torture/inf-compare-3-float.c: New test. - * gcc.dg/torture/inf-compare-4-float.c: New test. - * gcc.dg/torture/inf-compare-5-float.c: New test. - * gcc.dg/torture/inf-compare-6-float.c: New test. - * gcc.dg/torture/inf-compare-7-float.c: New test. - * gcc.dg/torture/inf-compare-8-float.c: New test. - -2022-10-20 Patrick Palka <ppalka@redhat.com> - - * g++.dg/cpp2a/concepts-friend10.C: New test. - -2022-10-20 Artem Klimov <jakmobius@gmail.com> - Alexander Monakov <amonakov@gcc.gnu.org> - - PR middle-end/99619 - * gcc.dg/tls/vis-attr-gd.c: New test. - * gcc.dg/tls/vis-attr-hidden-gd.c: New test. - * gcc.dg/tls/vis-attr-hidden.c: New test. - * gcc.dg/tls/vis-flag-hidden-gd.c: New test. - * gcc.dg/tls/vis-flag-hidden.c: New test. - * gcc.dg/tls/vis-pragma-hidden-gd.c: New test. - * gcc.dg/tls/vis-pragma-hidden.c: New test. - -2022-10-20 Patrick Palka <ppalka@redhat.com> - - PR c++/102963 - * g++.dg/modules/concept-7_a.C: New test. - * g++.dg/modules/concept-7_b.C: New test. - -2022-10-20 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.dg/vect/pr107326.c: New test. - * gcc.dg/vect/vect-bitfield-read-7.c: New test. - -2022-10-20 Jakub Jelinek <jakub@redhat.com> - - * gcc.target/i386/pr107271.c: Add -Wno-psabi to dg-options. - * gcc.dg/debug/btf/btf-function-3.c: Likewise. - -2022-10-20 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/acle/general/brka_1.c: Expect a separate - PTEST instruction. - * gcc.target/aarch64/sve/acle/general/brkb_1.c: Likewise. - -2022-10-20 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/acle/general/brkn_1.c: Expect separate - PTEST instructions. - * gcc.target/aarch64/sve/acle/general/brkn_2.c: New test. - -2022-10-20 Richard Biener <rguenther@suse.de> - - PR c/107305 - PR c/107306 - * gcc.dg/gimplefe-error-15.c: New testcase. - -2022-10-20 Andrew MacLeod <amacleod@redhat.com> - - * g++.dg/cpp23/attr-assume-opt.C: New. - -2022-10-19 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/format/format.h (int_least8_t, int_least16_t) - (int_least32_t, int_least64_t, uint_least8_t, uint_least16_t) - (uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t) - (int_fast32_t, int_fast64_t, uint_fast8_t, uint_fast16_t) - (uint_fast32_t, uint_fast64_t): New typedefs. - * gcc.dg/format/c11-printf-1.c, gcc.dg/format/c11-scanf-1.c, - gcc.dg/format/c2x-printf-1.c, gcc.dg/format/c2x-scanf-1.c, - gcc.dg/format/ext-9.c: Add tests using wN and wfN length - modifiers. - -2022-10-19 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105765 - * gcc.dg/analyzer/stdarg-1-ms_abi.c: New test, based on stdarg-1.c. - * gcc.dg/analyzer/stdarg-1-sysv_abi.c: Likewise. - -2022-10-19 Marek Polacek <polacek@redhat.com> - - PR c++/85043 - * g++.dg/warn/Wuseless-cast.C: Remove dg-warning. - * g++.dg/warn/Wuseless-cast3.C: New test. - -2022-10-19 Jakub Jelinek <jakub@redhat.com> - - * lib/g++-dg.exp (g++-dg-runtest): When using defaulted - std_list, if test has { dg-do * { target c++23 } } directive, - use { 23 } with which the test will run instead of { 98 14 17 20 } - which would make it UNSUPPORTED in all cases. - -2022-10-19 Jakub Jelinek <jakub@redhat.com> - - PR c/107311 - * gcc.dg/c2x-enum-1.c (enum e5): Expect e5a type inside of - enum to be int rather than long if long isn't wider than int. - -2022-10-19 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107312 - * gcc.target/i386/pr107312.c: New test. - -2022-10-19 Lewis Hyatt <lhyatt@gmail.com> - - * g++.dg/pch/pch-string-nulls.C: New test. - * g++.dg/pch/pch-string-nulls.Hs: New test. - -2022-10-19 Martin Jambor <mjambor@suse.cz> - - PR tree-optimization/107206 - * g++.dg/tree-ssa/pr107206.C: New test. - -2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.target/s390/pr106355.h: Common code for new tests. - * gcc.target/s390/pr106355-1.c: New test. - * gcc.target/s390/pr106355-2.c: New test. - * gcc.target/s390/pr106355-3.c: New test. - -2022-10-19 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/107262 - * gcc.dg/pr107262.c: New test. - -2022-10-19 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106990 - * c-c++-common/ubsan/pr106990.c: New test. - -2022-10-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106781 - * gcc.dg/pr106781.c: New testcase. - -2022-10-19 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr107271.c: New test. - -2022-10-18 Joseph Myers <joseph@codesourcery.com> - - PR c/107164 - * gcc.dg/c99-tag-4.c, gcc.dg/c99-tag-5.c, gcc.dg/c99-tag-6.c: New - tests. - -2022-10-18 Marek Polacek <polacek@redhat.com> - - PR testsuite/107213 - * c-c++-common/pointer-to-fn1.c: Only run on i?86/x86_64. - -2022-10-18 Patrick Palka <ppalka@redhat.com> - - PR c++/105045 - * g++.dg/modules/pr105045_a.C: New test. - * g++.dg/modules/pr105045_b.C: New test. - -2022-10-18 Joseph Myers <joseph@codesourcery.com> - - PR c/36113 - * gcc.dg/c11-enum-1.c, gcc.dg/c11-enum-2.c, gcc.dg/c11-enum-3.c, - gcc.dg/c2x-enum-1.c, gcc.dg/c2x-enum-2.c, gcc.dg/c2x-enum-3.c, - gcc.dg/c2x-enum-4.c, gcc.dg/c2x-enum-5.c: New tests. - * gcc.dg/pr30260.c: Explicitly use -std=gnu11. Update expected - diagnostics. - * gcc.dg/torture/pr25183.c: Update expected diagnostics. - -2022-10-18 Martin Jambor <mjambor@suse.cz> - - * gcc.dg/ipa/ipcp-agg-11.c: Adjust dumps. - * gcc.dg/ipa/ipcp-agg-8.c: Likewise. - -2022-10-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107302 - * gcc.dg/vect/pr107302.c: New testcase. - -2022-10-18 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.dg/vect/pr107275.c: New test. - -2022-10-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/106654 - * g++.dg/cpp23/attr-assume5.C: New test. - * g++.dg/cpp23/attr-assume6.C: New test. - * g++.dg/cpp23/attr-assume7.C: New test. - -2022-10-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107301 - * gcc.dg/torture/pr107301.c: New testcase. - -2022-10-18 Liwei Xu <liwei.xu@intel.com> - - PR testsuite/107220 - * gcc.dg/tree-ssa/forwprop-19.c: Move scanning pass from - forwprop1 to dse1, This fixs the test case fail. - -2022-10-18 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/107273 - * gcc.dg/tree-ssa/pr107273-1.c: New. - * gcc.dg/tree-ssa/pr107273-2.c: New. - -2022-10-17 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/104330 - * gfortran.dg/pr104330.f90: New test. - -2022-10-17 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107293 - * gcc.dg/tree-ssa/pr107293.c: New test. - -2022-10-17 Harald Anlauf <anlauf@gmx.de> - Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/93483 - PR fortran/107216 - PR fortran/107219 - * gfortran.dg/array_constructor_56.f90: New test. - * gfortran.dg/array_constructor_57.f90: New test. - -2022-10-17 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107272 - * gfortran.dg/pr107272.f90: New test. - -2022-10-17 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/107266 - * gfortran.dg/char4_decl.f90: New test. - * gfortran.dg/char4_decl-2.f90: New test. - -2022-10-17 Patrick Palka <ppalka@redhat.com> - - PR c++/101449 - * g++.dg/modules/cexpr-3_a.C: New test. - * g++.dg/modules/cexpr-3_b.C: New test. - -2022-10-17 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/105820 - * g++.dg/tree-ssa/pr105820.c: New test. - -2022-10-17 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/tree-ssa/vrp-float-3a.c: New. - * gcc.dg/tree-ssa/vrp-float-4a.c: New. - * gcc.dg/tree-ssa/vrp-float-5a.c: New. - -2022-10-17 Richard Biener <rguenther@suse.de> - Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - PR tree-optimization/99409 - PR tree-optimization/99394 - * gcc.dg/vect/vect-recurr-1.c: New testcase. - * gcc.dg/vect/vect-recurr-2.c: Likewise. - * gcc.dg/vect/vect-recurr-3.c: Likewise. - * gcc.dg/vect/vect-recurr-4.c: Likewise. - * gcc.dg/vect/vect-recurr-5.c: Likewise. - * gcc.dg/vect/vect-recurr-6.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s252.c: Un-XFAIL. - * gcc.dg/vect/tsvc/vect-tsvc-s254.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s291.c: Likewise. - -2022-10-14 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/cpp/c2x-ucnid-1-utf8.c, gcc.dg/cpp/c2x-ucnid-1.c: New - tests. - -2022-10-14 Harald Anlauf <anlauf@gmx.de> - - PR fortran/100971 - * gfortran.dg/der_io_5.f90: New test. - -2022-10-14 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/c-interop/deferred-character-2.f90: Use 'dg-do run'. - -2022-10-14 Patrick Palka <ppalka@redhat.com> - - PR c++/106304 - * g++.dg/modules/pr106304_a.C: New test. - * g++.dg/modules/pr106304_b.C: New test. - -2022-10-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107254 - * gfortran.dg/vect/pr107254.f90: New testcase. - -2022-10-14 Jørgen Kvalsvik <jorgen.kvalsvik@woven-planet.global> - - * gcc.misc-tests/gcov-4.c: New testcase. - -2022-10-14 Jørgen Kvalsvik <jorgen.kvalsvik@woven-planet.global> - - * g++.dg/gcov/gcov-1.C: Add line count check. - * gcc.misc-tests/gcov-4.c: Likewise. - -2022-10-14 Jakub Jelinek <jakub@redhat.com> - - * lib/target-supports.exp (check_effective_target_bfloat16, - check_effective_target_bfloat16_runtime, add_options_for_bfloat16): - New. - * gcc.dg/torture/bfloat16-basic.c: New test. - * gcc.dg/torture/bfloat16-builtin.c: New test. - * gcc.dg/torture/bfloat16-builtin-issignaling-1.c: New test. - * gcc.dg/torture/bfloat16-complex.c: New test. - * gcc.dg/torture/builtin-issignaling-1.c: Allow to be includable - from bfloat16-builtin-issignaling-1.c. - * gcc.dg/torture/floatn-basic.h: Allow to be includable from - bfloat16-basic.c. - * gcc.target/i386/vect-bfloat16-typecheck_2.c: Adjust expected - diagnostics. - * gcc.target/i386/sse2-bfloat16-scalar-typecheck.c: Likewise. - * gcc.target/i386/vect-bfloat16-typecheck_1.c: Likewise. - * g++.target/i386/bfloat_cpp_typecheck.C: Likewise. - -2022-10-14 Jakub Jelinek <jakub@redhat.com> - - PR c/82071 - PR c/87390 - PR c++/107097 - * gcc.target/i386/excess-precision-8.c: For C++ wrap abort and - exit declarations into extern "C" block. - * gcc.target/i386/excess-precision-10.c: Likewise. - * g++.target/i386/excess-precision-7.C: Remove. - * g++.target/i386/excess-precision-8.C: New test. - * g++.target/i386/excess-precision-9.C: Remove. - * g++.target/i386/excess-precision-10.C: New test. - * g++.target/i386/excess-precision-12.C: New test. - -2022-10-14 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/323 - PR c++/107097 - * gcc.target/i386/excess-precision-1.c: For C++ wrap abort and - exit declarations into extern "C" block. - * gcc.target/i386/excess-precision-2.c: Likewise. - * gcc.target/i386/excess-precision-3.c: Likewise. Remove - check_float_nonproto and check_double_nonproto tests for C++. - * gcc.target/i386/excess-precision-7.c: For C++ wrap abort and - exit declarations into extern "C" block. - * gcc.target/i386/excess-precision-9.c: Likewise. - * g++.target/i386/excess-precision-1.C: New test. - * g++.target/i386/excess-precision-2.C: New test. - * g++.target/i386/excess-precision-3.C: New test. - * g++.target/i386/excess-precision-4.C: New test. - * g++.target/i386/excess-precision-5.C: New test. - * g++.target/i386/excess-precision-6.C: New test. - * g++.target/i386/excess-precision-7.C: New test. - * g++.target/i386/excess-precision-9.C: New test. - * g++.target/i386/excess-precision-11.C: New test. - * c-c++-common/dfp/convert-bfp-10.c: Add -fexcess-precision=fast - as dg-additional-options. - * c-c++-common/dfp/compare-eq-const.c: Likewise. - * g++.dg/cpp1z/constexpr-96862.C: Likewise. - * g++.dg/cpp1z/decomp12.C (main): Use 2.25 instead of 2.3 to - avoid excess precision differences. - * g++.dg/other/thunk1.C: Add -fexcess-precision=fast - as dg-additional-options. - * g++.dg/vect/pr64410.cc: Likewise. - * g++.dg/cpp1y/pr68180.C: Likewise. - * g++.dg/vect/pr89653.cc: Likewise. - * g++.dg/cpp0x/variadic-tuple.C: Likewise. - * g++.dg/cpp0x/nsdmi-union1.C: Use 4.25 instead of 4.2 to - avoid excess precision differences. - * g++.old-deja/g++.brendan/copy9.C: Add -fexcess-precision=fast - as dg-additional-options. - * g++.old-deja/g++.brendan/overload7.C: Likewise. - -2022-10-14 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c11-complit-1.c, gcc.dg/c11-complit-2.c, - gcc.dg/c11-complit-3.c, gcc.dg/c2x-complit-2.c, - gcc.dg/c2x-complit-3.c, gcc.dg/c2x-complit-4.c, - gcc.dg/c2x-complit-5.c, gcc.dg/c2x-complit-6.c, - gcc.dg/c2x-complit-7.c, gcc.dg/c90-complit-2.c, - gcc.dg/gnu2x-complit-1.c, gcc.dg/gnu2x-complit-2.c: New tests. - -2022-10-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc.dg/Wstringop-overflow-89.c: New test. - -2022-10-13 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107210 - * gfortran.dg/analyzer/pr107210.f90: New test. - -2022-10-13 Andrew MacLeod <amacleod@redhat.com> - - * gcc.dg/pr102540.c: New. - * gcc.dg/pr102872.c: New. - -2022-10-13 Marek Polacek <polacek@redhat.com> - - PR c++/106925 - * g++.dg/cpp0x/initlist-defarg3.C: New test. - -2022-10-13 Wilco Dijkstra <wdijkstr@arm.com> - - PR target/105773 - * gcc.target/aarch64/ands_2.c: Test for ANDS. - * gcc.target/aarch64/bics_2.c: Test for BICS. - * gcc.target/aarch64/tst_2.c: Test for TST. - * gcc.target/aarch64/tst_imm_split_1.c: Fix test. - -2022-10-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107160 - * gcc.dg/vect/pr107160.c: New testcase. - -2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.dg/vect/pr107229-1.c: New test. - * gcc.dg/vect/pr107229-2.c: New test. - * gcc.dg/vect/pr107229-3.c: New test. - -2022-10-13 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c2x-float-10.c: Do not expect value 2 for *_IS_IEC_60559. - -2022-10-12 Lewis Hyatt <lhyatt@gmail.com> - - PR preprocessor/60014 - PR preprocessor/60723 - * gcc.dg/cpp/pr60014-1.c: New test. - * gcc.dg/cpp/pr60014-1.h: New test. - * gcc.dg/cpp/pr60014-2.c: New test. - * gcc.dg/cpp/pr60014-2.h: New test. - * gcc.dg/cpp/pr60014-3.c: New test. - * gcc.dg/cpp/pr60014-3.h: New test. - -2022-10-12 Marek Polacek <polacek@redhat.com> - - * g++.dg/cpp0x/Wredundant-move10.C: Adjust dg-warning. - * g++.dg/cpp0x/Wredundant-move7.C: Likewise. - * g++.dg/cpp0x/move-return2.C: Remove dg-error. - * g++.dg/cpp0x/move-return4.C: Likewise. - * g++.dg/cpp0x/ref-qual20.C: Adjust expected return value. - * g++.dg/cpp0x/move-return5.C: New test. - -2022-10-12 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107217 - * gfortran.dg/pr107217.f90: New test. - -2022-10-12 Jason Merrill <jason@redhat.com> - - DR 2631 - * g++.dg/cpp2a/consteval-defarg3.C: New test. - -2022-10-11 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107215 - * gfortran.dg/pr107215.f90: New test. - -2022-10-11 Patrick Palka <ppalka@redhat.com> - - PR c++/100134 - * g++.dg/modules/tpl-friend-8_a.H: New test. - * g++.dg/modules/tpl-friend-8_b.C: New test. - -2022-10-11 Patrick Palka <ppalka@redhat.com> - - PR c++/99377 - * g++.dg/modules/pr99377-2_a.C: New test. - * g++.dg/modules/pr99377-2_b.C: New test. - -2022-10-11 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/tree-ssa/vrp-float-abs-1.c: New test. - -2022-10-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107212 - * gcc.dg/vect/pr107212-1.c: New testcase. - * gcc.dg/vect/pr107212-2.c: Likewise. - -2022-10-11 Andrew Stubbs <ams@codesourcery.com> - - * gcc.dg/pr104464.c: Xfail on amdgcn. - * gcc.dg/signbit-2.c: Likewise. - * gcc.dg/signbit-5.c: Likewise. - * gcc.dg/vect/bb-slp-68.c: Likewise. - * gcc.dg/vect/bb-slp-cond-1.c: Change expectations on amdgcn. - * gcc.dg/vect/bb-slp-subgroups-3.c: Likewise. - * gcc.dg/vect/no-vfa-vect-depend-2.c: Change expectations for multiple - vector sizes. - * gcc.dg/vect/pr33953.c: Likewise. - * gcc.dg/vect/pr65947-12.c: Likewise. - * gcc.dg/vect/pr65947-13.c: Likewise. - * gcc.dg/vect/pr80631-2.c: Likewise. - * gcc.dg/vect/slp-reduc-4.c: Likewise. - * gcc.dg/vect/trapv-vect-reduc-4.c: Likewise. - * lib/target-supports.exp (available_vector_sizes): Add more sizes - for amdgcn. - -2022-10-11 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.dg/vect/vect-bitfield-read-1.c: New test. - * gcc.dg/vect/vect-bitfield-read-2.c: New test. - * gcc.dg/vect/vect-bitfield-read-3.c: New test. - * gcc.dg/vect/vect-bitfield-read-4.c: New test. - * gcc.dg/vect/vect-bitfield-read-5.c: New test. - * gcc.dg/vect/vect-bitfield-read-6.c: New test. - * gcc.dg/vect/vect-bitfield-write-1.c: New test. - * gcc.dg/vect/vect-bitfield-write-2.c: New test. - * gcc.dg/vect/vect-bitfield-write-3.c: New test. - * gcc.dg/vect/vect-bitfield-write-4.c: New test. - * gcc.dg/vect/vect-bitfield-write-5.c: New test. - -2022-10-11 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr107093.c: New test. - -2022-10-11 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107195 - * gcc.dg/tree-ssa/pr107195-1.c: New test. - * gcc.dg/tree-ssa/pr107195-2.c: New test. - -2022-10-11 Liwei Xu <liwei.xu@intel.com> - liuhongt <hongtao.liu@intel.com> - - * gcc.dg/pr54346.c: New test. - -2022-10-10 Nathan Sidwell <nathan@acm.org> - - * g++.dg/abi/lambda-ctx1-17.C: New. - * g++.dg/abi/lambda-ctx1-18.C: New. - * g++.dg/abi/lambda-ctx1-18vs17.C: New. - * g++.dg/abi/lambda-ctx1.h: New. - * g++.dg/abi/lambda-vis.C: Adjust expected mangles. - * g++.dg/abi/macro0.C: Adjust. - -2022-10-10 Marek Polacek <polacek@redhat.com> - - PR c++/106937 - * c-c++-common/pointer-to-fn1.c: New test. - -2022-10-10 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/rvv/base/riscv_vector.h: New. - -2022-10-10 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/rvv/base/user-1.c: Add dg-options and drop - dg-skip-if. - -2022-10-10 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/rvv/base/pragma-1.c: Add newline to the end of file. - * gcc.target/riscv/rvv/base/pragma-2.c: Ditto. - * gcc.target/riscv/rvv/base/pragma-3.c: Ditto. - * gcc.target/riscv/rvv/base/user-1.c: Ditto. - * gcc.target/riscv/rvv/base/user-2.c: Ditto. - * gcc.target/riscv/rvv/base/user-3.c: Ditto. - * gcc.target/riscv/rvv/base/user-4.c: Ditto. - * gcc.target/riscv/rvv/base/user-5.c: Ditto. - * gcc.target/riscv/rvv/base/user-6.c: Ditto. - * gcc.target/riscv/rvv/base/vread_csr.c: Ditto. - * gcc.target/riscv/rvv/base/vwrite_csr.c: Ditto. - -2022-10-10 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107153 - * gcc.dg/autopar/pr107153.c: Require fgraphite effective target. - -2022-10-10 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/tree-ssa/vrp-float-signbit-3.c: New test. - -2022-10-10 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr107185.c: New test. - -2022-10-10 Claudiu Zissulescu <claziss@gmail.com> - - * gcc.target/arc/tmac-2.c: Update test. - -2022-10-10 Claudiu Zissulescu <claziss@gmail.com> - - * gcc.target/arc/enter-dw2-1.c: New file. - -2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu> - - PR target/106562 - * gcc.target/pru/pr106562-1.c: New test. - * gcc.target/pru/pr106562-2.c: New test. - * gcc.target/pru/pr106562-3.c: New test. - * gcc.target/pru/pr106562-4.c: New test. - -2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.target/pru/ashiftdi-1.c: New test. - * gcc.target/pru/lshiftrtdi-1.c: New test. - -2022-10-08 Harald Anlauf <anlauf@gmx.de> - Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/107000 - * gfortran.dg/pr107000.f90: New test. - -2022-10-07 Marek Polacek <polacek@redhat.com> - - PR c++/107085 - * g++.dg/ext/reference_constructs_from_temporary1.C: Adjust expected - result. - * g++.dg/ext/reference_converts_from_temporary1.C: Likewise. - * g++.dg/cpp0x/elision4.C: New test. - -2022-10-07 Qing Zhao <qing.zhao@oracle.com> - - PR tree-optimization/101836 - * gcc.dg/pr101836.c: New test. - * gcc.dg/pr101836_1.c: New test. - * gcc.dg/pr101836_2.c: New test. - * gcc.dg/pr101836_3.c: New test. - * gcc.dg/pr101836_4.c: New test. - * gcc.dg/pr101836_5.c: New test. - * gcc.dg/strict-flex-array-2.c: New test. - * gcc.dg/strict-flex-array-3.c: New test. - -2022-10-07 Qing Zhao <qing.zhao@oracle.com> - - * g++.dg/strict-flex-array-1.C: New test. - * gcc.dg/strict-flex-array-1.c: New test. - -2022-10-07 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105783 - * gcc.dg/analyzer/pr105783.c: New test. - -2022-10-07 Patrick Palka <ppalka@redhat.com> - - * g++.dg/modules/bfield-3.H: New test. - -2022-10-07 Martin Liska <mliska@suse.cz> - - * gcc.dg/live-patching-2.c: Update scanned pattern. - * gcc.dg/live-patching-5.c: New test. - -2022-10-07 Patrick Palka <ppalka@redhat.com> - - PR c++/104433 - * g++.dg/modules/static-2_a.H: New test. - * g++.dg/modules/static-2_b.C: New test. - -2022-10-07 Jason Merrill <jason@redhat.com> - - * g++.dg/init/elide9.C: New test. - -2022-10-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107153 - * gcc.dg/autopar/pr107153.c: New testcase. - -2022-10-07 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp1z/fallthrough2.C: New test. - * g++.dg/cpp2a/attr-likely7.C: New test. - -2022-10-06 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107170 - * gcc.dg/tree-ssa/pr107170.c: New test. - -2022-10-06 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107158 - * gcc.dg/analyzer/call-summaries-pr107158-2.c: New test. - -2022-10-06 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/assume-3.f90: New test. - * gfortran.dg/gomp/assume-4.f90: New test. - -2022-10-06 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c11-typeof-1.c, gcc.dg/c2x-typeof-1.c, - gcc.dg/c2x-typeof-2.c, gcc.dg/c2x-typeof-3.c, - gcc.dg/gnu11-typeof-1.c, gcc.dg/gnu11-typeof-2.c, - gcc.dg/gnu2x-typeof-1.c: New tests. - -2022-10-06 Patrick Palka <ppalka@redhat.com> - - * g++.dg/modules/indirect-3_b.C: Expect that the entity - foo::TPL<0>::frob is tagged as a specialization instead - of as a declaration. - * g++.dg/modules/tpl-spec-8_a.H: New test. - * g++.dg/modules/tpl-spec-8_b.C: New test. - -2022-10-06 Eric Botcazou <ebotcazou@adacore.com> - - * gcc.c-torture/execute/20221006-1.c: New test. - -2022-10-06 Richard Biener <rguenther@suse.de> - - PR middle-end/107115 - * gcc.dg/torture/pr107115.c: New testcase. - -2022-10-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * gcc.target/aarch64/ldar_2.c: New test. - -2022-10-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * gcc.target/aarch64/ldar_1.c: New test. - -2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/aarch64/cpunative/info_18: New test. - * gcc.target/aarch64/cpunative/native_cpu_18.c: New test. - -2022-10-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/107107 - * gcc.dg/pr107107.c: New testcase. - -2022-10-06 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/assume-4.c: New test. - -2022-10-06 Jakub Jelinek <jakub@redhat.com> - - PR c++/106654 - * gcc.dg/attr-assume-1.c: New test. - * gcc.dg/attr-assume-2.c: New test. - * gcc.dg/attr-assume-3.c: New test. - * g++.dg/cpp2a/feat-cxx2a.C: Add colon to C++20 features - comment, add C++20 attributes comment and move C++20 - new features after the attributes before them. - * g++.dg/cpp23/feat-cxx2b.C: Likewise. Test - __has_cpp_attribute(assume). - * g++.dg/cpp23/attr-assume1.C: New test. - * g++.dg/cpp23/attr-assume2.C: New test. - * g++.dg/cpp23/attr-assume3.C: New test. - * g++.dg/cpp23/attr-assume4.C: New test. - -2022-10-05 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107158 - * gcc.dg/analyzer/call-summaries-pr107158.c: New test. - -2022-10-05 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107060 - * gcc.dg/analyzer/analyzer-decls.h (__analyzer_get_unknown_ptr): - New decl. - * gcc.dg/analyzer/call-summaries-2.c - (test_summarized_writes_param_to_ptr_unknown): New test. - -2022-10-05 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/assume-1.f90: New test. - * gfortran.dg/gomp/assume-2.f90: New test. - * gfortran.dg/gomp/assumes-1.f90: New test. - * gfortran.dg/gomp/assumes-2.f90: New test. - -2022-10-05 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/base/pragma-1.c: New test. - * gcc.target/riscv/rvv/base/pragma-2.c: New test. - * gcc.target/riscv/rvv/base/pragma-3.c: New test. - * gcc.target/riscv/rvv/base/user-1.c: New test. - * gcc.target/riscv/rvv/base/user-2.c: New test. - * gcc.target/riscv/rvv/base/user-3.c: New test. - * gcc.target/riscv/rvv/base/user-4.c: New test. - * gcc.target/riscv/rvv/base/user-5.c: New test. - * gcc.target/riscv/rvv/base/user-6.c: New test. - * gcc.target/riscv/rvv/base/vread_csr.c: New test. - * gcc.target/riscv/rvv/base/vwrite_csr.c: New test. - -2022-10-05 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107052 - * gcc.dg/tree-ssa/pr107052.c: New file. - -2022-10-05 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/lto26.adb: New test. - * gnat.dg/lto26_pkg1.ads, gnat.dg/lto26_pkg1.adb: New helper. - * gnat.dg/lto26_pkg2.ads, gnat.dg/lto26_pkg2.adb: Likewise. - -2022-10-05 Martin Liska <mliska@suse.cz> - - PR tree-optimization/106679 - * gcc.dg/tree-prof/cmpsf-1.c: Mark as a known limitation. - -2022-10-05 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * gcc.target/arm/stack-protector-1.c: Use 'bl' instead of 'b' - instruction. - * gcc.target/arm/stack-protector-3.c: Likewise. - -2022-10-05 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * g++.dg/modules/bad-mapper-1.C: Also accept CreateProcess. - -2022-10-05 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * gcc.misc-tests/outputs.exp: Use "@nul" for Windows, - "@/dev/null" for other environments. - -2022-10-05 Vineet Gupta <vineetg@rivosinc.com> - - * gcc.target/riscv/predef-1.c: Remove __riscv_cmodel_pic check. - * gcc.target/riscv/predef-2.c: Ditto. - * gcc.target/riscv/predef-3.c: Ditto. - * gcc.target/riscv/predef-4.c: Ditto. - * gcc.target/riscv/predef-5.c: Ditto. - * gcc.target/riscv/predef-6.c: Ditto. - * gcc.target/riscv/predef-7.c: Ditto. - * gcc.target/riscv/predef-8.c: Ditto. - -2022-10-05 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/107072 - * gcc.dg/analyzer/call-summaries-2.c: New test. - * gcc.dg/analyzer/call-summaries-3.c: New test. - * gcc.dg/analyzer/call-summaries-asm-x86.c: New test. - * gcc.dg/analyzer/call-summaries-malloc.c: New test. - * gcc.dg/analyzer/call-summaries-pr107072.c: New test. - -2022-10-04 Jason Merrill <jason@redhat.com> - - PR c++/107154 - * g++.dg/debug/dwarf2/lineno-array1.C: New test. - -2022-10-04 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/pragma_cpp_predefs_1.c: Add RCPC tests. - -2022-10-04 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/openmp-simd-7.f90: New test. - -2022-10-04 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/declare-target-4.c: Move tests that are now - rejected into declare-target-7.c. - * c-c++-common/gomp/declare-target-6.c: Adjust expected diagnostics. - * c-c++-common/gomp/declare-target-7.c: New test. - * c-c++-common/gomp/begin-declare-target-1.c: New test. - * c-c++-common/gomp/begin-declare-target-2.c: New test. - * c-c++-common/gomp/begin-declare-target-3.c: New test. - * c-c++-common/gomp/begin-declare-target-4.c: New test. - * g++.dg/gomp/attrs-9.C: Add begin declare target tests. - * g++.dg/gomp/attrs-18.C: New test. - -2022-10-04 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107130 - * gcc.dg/tree-ssa/pr107130.c: New test. - -2022-10-04 Lewis Hyatt <lhyatt@gmail.com> - - PR c/91669 - * c-c++-common/pr91669.c: New test. - -2022-10-03 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * gcc.target/arm/cmse/cmse-15.c: Align with -Os improvements. - -2022-10-03 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/ext/stmtexpr24.C: New test. - -2022-10-03 Andrew MacLeod <amacleod@redhat.com> - - * gcc.dg/pr107109.c: New. - -2022-10-03 Christophe Lyon <christophe.lyon@arm.com> - - * gcc.target/arm/mve/intrinsics/vrev64q_m_s16-clobber.c: New test. - -2022-10-03 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c11-float-7.c, gcc.dg/c2x-float-12.c: New tests. - -2022-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - PR fortran/107062 - * gfortran.dg/ieee/fma_1.f90: Fix test. - * gfortran.dg/ieee/modes_1.f90: Fix test. - -2022-10-01 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/100029 - PR fortran/100040 - * gfortran.dg/PR100029.f90: New test. - * gfortran.dg/PR100040.f90: New test. - -2022-09-30 Jeff Law <jeffreyalaw@gmail.com> - - * gcc.dg/infinite-loop.c: New test. - -2022-09-30 Jakub Jelinek <jakub@redhat.com> - - PR c++/107080 - * g++.target/arm/pr107080.C: New test. - -2022-09-30 Lewis Hyatt <lhyatt@gmail.com> - - PR preprocessor/69543 - * c-c++-common/pr69543-3.c: Remove xfail. - * c-c++-common/pr69543-4.c: Likewise. - * gcc.dg/cpp/pragma-diagnostic-2.c: Adjust test for new behavior. - * c-c++-common/pragma-diag-16.c: New test. - -2022-09-30 Jakub Jelinek <jakub@redhat.com> - - PR c++/107080 - * g++.target/aarch64/pr107080.C: New test. - -2022-09-30 Jakub Jelinek <jakub@redhat.com> - - PR c++/107080 - * g++.dg/cpp23/ext-floating11.C: New test. - -2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * lib/target-supports.exp (check_effective_target_vma_equals_lma): New. - * c-c++-common/torture/attr-noinit-1.c: Requre VMA == LMA to run. - * c-c++-common/torture/attr-noinit-2.c: Likewise. - * c-c++-common/torture/attr-noinit-3.c: Likewise. - * c-c++-common/torture/attr-persistent-1.c: Likewise. - * c-c++-common/torture/attr-persistent-3.c: Likewise. - -2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * lib/gcc-defs.exp: Do not prefix linker script with "-Wl,". - -2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * g++.dg/modules/ben-1.map: Replace the colon with dash. - * g++.dg/modules/ben-1_a.C: Likewise - -2022-09-30 Kewen Lin <linkw@linux.ibm.com> - - PR target/99888 - PR target/105649 - * gcc.target/powerpc/pr99888-1.c: New test. - * gcc.target/powerpc/pr99888-2.c: New test. - * gcc.target/powerpc/pr99888-3.c: New test. - * gcc.target/powerpc/pr99888-4.c: New test. - * gcc.target/powerpc/pr99888-5.c: New test. - * gcc.target/powerpc/pr99888-6.c: New test. - * c-c++-common/patchable_function_entry-default.c: Adjust for - powerpc_elfv2 to avoid compilation error. - -2022-09-30 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/106516 - * gcc.dg/pr104992.c: Adjust with vect_int_mod. - * lib/target-supports.exp (check_effective_target_vect_int_mod): New - effective target. - -2022-09-30 Christophe Lyon <christophe.lyon@arm.com> - - * gcc.target/arm/mve/mve_load_memory_modes.c: Update expected - registers. - * gcc.target/arm/mve/mve_store_memory_modes.c: Likewise. - -2022-09-30 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/105318 - * gfortran.dg/gomp/is_device_ptr-1.f90: Remove dg-error. - * gfortran.dg/gomp/is_device_ptr-2.f90: Likewise. - * gfortran.dg/gomp/is_device_ptr-3.f90: Update tree-scan-dump. - -2022-09-29 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c2x-attr-noreturn-1.c, gcc.dg/c2x-attr-noreturn-2.c, - gcc.dg/c2x-attr-noreturn-3.c: New tests. - * gcc.dg/c2x-has-c-attribute-2.c: Also test __has_c_attribute for - noreturn attribute. - -2022-09-29 Andrew MacLeod <amacleod@redhat.com> - - * gcc.dg/tree-ssa/pr79095.c: Test evrp pass rather than vrp1. - -2022-09-29 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/102892 - * gcc.dg/pr102892-1.c: Remove undefined behaviour. - -2022-09-29 Patrick Palka <ppalka@redhat.com> - - PR c++/102576 - * g++.dg/modules/pr102576_a.H: New test. - * g++.dg/modules/pr102576_b.C: New test. - -2022-09-29 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp2a/cond-triv3.C: New test. - -2022-09-29 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp1y/constexpr-local4.C: Expect error sooner. - * g++.dg/cpp2a/consteval24.C: Likewise. - * g++.dg/cpp2a/consteval7.C: Likewise. - * g++.dg/cpp2a/inline-asm3.C: Likewise. - -2022-09-29 Jason Merrill <jason@redhat.com> - - PR c++/93046 - * g++.dg/ext/cond4.C: Add runtime test. - -2022-09-29 Jason Merrill <jason@redhat.com> - - * g++.dg/tree-ssa/cond-temp1.C: New test. - -2022-09-29 Julian Brown <julian@codesourcery.com> - - PR middle-end/107028 - * c-c++-common/goacc/struct-component-kind-1.c: New test. - * g++.dg/goacc/pr107028-1.C: New test. - * g++.dg/goacc/pr107028-2.C: New test. - * gfortran.dg/goacc/mapping-tests-5.f90: New test. - -2022-09-29 Patrick Palka <ppalka@redhat.com> - - * g++.dg/ext/has-builtin-1.C: Test existence of __remove_cv, - __remove_reference and __remove_cvref. - * g++.dg/ext/remove_cv.C: New test. - * g++.dg/ext/remove_reference.C: New test. - * g++.dg/ext/remove_cvref.C: New test. - -2022-09-29 Patrick Palka <ppalka@redhat.com> - - * g++.dg/cpp0x/alias-decl-59.C: Adjust expected error message. - * g++.dg/ext/underlying_type7.C: Likewise. - * g++.dg/ext/underlying_type13.C: New test. - * g++.dg/ext/underlying_type14.C: New test. - -2022-09-29 Nathan Sidwell <nathan@acm.org> - - PR c++/100616 - * g++.dg/modules/100616_a.H: New. - * g++.dg/modules/100616_b.C: New. - * g++.dg/modules/100616_c.C: New. - * g++.dg/modules/100616_d.C: New. - -2022-09-29 Jose E. Marchesi <jose.marchesi@oracle.com> - - PR middle-end/25521 - * lib/target-supports.exp (check_effective_target_elf): Define. - * gcc.dg/pr25521.c: New test. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/cpunative/info_8: Add all dependencies of sve. - * gcc.target/aarch64/cpunative/info_9: Likewise svesm4. - * gcc.target/aarch64/cpunative/info_15: Likewise. - * gcc.target/aarch64/cpunative/info_16: Likewise sve2. - * gcc.target/aarch64/cpunative/info_17: Likewise. - * gcc.target/aarch64/cpunative/native_cpu_2.c: Expect just +nofp - rather than +nofp+nosimd. - * gcc.target/aarch64/cpunative/native_cpu_10.c: Likewise. - * gcc.target/aarch64/target_attr_15.c: Likewise. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/cpunative/native_cpu_0.c: Expect +crypto - to come after +crc. - * gcc.target/aarch64/cpunative/native_cpu_13.c: Likewise. - * gcc.target/aarch64/cpunative/native_cpu_16.c: Likewise. - * gcc.target/aarch64/cpunative/native_cpu_17.c: Likewise. - * gcc.target/aarch64/cpunative/native_cpu_6.c: Likewise. - * gcc.target/aarch64/cpunative/native_cpu_7.c: Likewise. - * gcc.target/aarch64/options_set_2.c: Likewise. - * gcc.target/aarch64/options_set_3.c: Likewise. - * gcc.target/aarch64/options_set_4.c: Likewise. - -2022-09-29 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/options_set_6.c: Expect +crypto+nosha2 to - disable crypto but keep aes. - * gcc.target/aarch64/pragma_cpp_predefs_4.c: New test. - -2022-09-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105646 - * g++.dg/uninit-pr105646.C: New testcase. - -2022-09-29 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr107055.c: New test. - -2022-09-28 Eugene Rozenfeld <erozen@microsoft.com> - - * c-c++-common/ubsan/pr85213.c: Pass -gno-statement-frontiers. - -2022-09-28 H.J. Lu <hjl.tools@gmail.com> - - PR target/107061 - * gcc.target/i386/keylocker-encodekey128.c: Don't check - XMM4-XMM6. - * gcc.target/i386/keylocker-encodekey256.c: Likewise. - -2022-09-28 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/base/abi-1.c: New test. - * gcc.target/riscv/rvv/base/abi-2.c: New test. - * gcc.target/riscv/rvv/base/abi-3.c: New test. - * gcc.target/riscv/rvv/base/abi-4.c: New test. - * gcc.target/riscv/rvv/base/abi-5.c: New test. - * gcc.target/riscv/rvv/base/abi-6.c: New test. - * gcc.target/riscv/rvv/base/abi-7.c: New test. - * gcc.target/riscv/rvv/rvv.exp: New test. - -2022-09-28 Andrea Corallo <andrea.corallo@arm.com> - - * gcc.target/arm/attr-crypto.c: Update test. - -2022-09-28 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * gcc.target/aarch64/advsimd-intrinsics/vld1x2.c: Rephrase - to unimplemented. - * gcc.target/aarch64/advsimd-intrinsics/vld1x3.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld1x4.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst1x2.c: Replace - dg-xfail-if with dg-skip-if. - * gcc.target/aarch64/advsimd-intrinsics/vst1x3.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst1x4.c: Likewise. - -2022-09-28 H.J. Lu <hjl.tools@gmail.com> - - PR middle-end/58245 - * g++.dg/fstack-protector-strong.C: Adjusted. - * g++.dg/pr58245-1.C: New test. - -2022-09-28 Eugene Rozenfeld <erozen@microsoft.com> - - * gcc.dg/tree-prof/cold_partition_label.c: Don't check for hot/cold splitting with AutoFDO. - * gcc.dg/tree-prof/section-attr-1.c: Don't check for hot/cold splitting with AutoFDO. - * gcc.dg/tree-prof/section-attr-2.c: Don't check for hot/cold splitting with AutoFDO. - * gcc.dg/tree-prof/section-attr-3.c: Don't check for hot/cold splitting with AutoFDO. - -2022-09-27 Marek Polacek <polacek@redhat.com> - - PR c++/101165 - PR c++/106882 - * g++.dg/conversion/pr41426.C: Add dg-error for C++23. - * g++.dg/cpp0x/elision_weak.C: Likewise. - * g++.dg/cpp0x/move-return3.C: Only link in c++20_down. - * g++.dg/cpp1y/decltype-auto2.C: Add dg-error for C++23. - * g++.dg/cpp1y/lambda-generic-89419.C: Likewise. - * g++.dg/cpp23/feat-cxx2b.C: Test __cpp_implicit_move. - * g++.dg/gomp/pr56217.C: Only compile in c++20_down. - * g++.dg/warn/Wno-return-local-addr.C: Add dg-error for C++23. - * g++.dg/warn/Wreturn-local-addr.C: Adjust dg-error. - * g++.old-deja/g++.brendan/crash55.C: Add dg-error for C++23. - * g++.old-deja/g++.jason/temporary2.C: Likewise. - * g++.old-deja/g++.mike/p2846b.C: Adjust. - * g++.dg/cpp1y/decltype-auto6.C: New test. - * g++.dg/cpp23/decltype1.C: New test. - * g++.dg/cpp23/decltype2.C: New test. - * g++.dg/cpp23/elision1.C: New test. - * g++.dg/cpp23/elision2.C: New test. - * g++.dg/cpp23/elision3.C: New test. - * g++.dg/cpp23/elision4.C: New test. - * g++.dg/cpp23/elision5.C: New test. - * g++.dg/cpp23/elision6.C: New test. - * g++.dg/cpp23/elision7.C: New test. - -2022-09-27 Harald Anlauf <anlauf@gmx.de> - - PR fortran/107054 - * gfortran.dg/pr107054.f90: New test. - -2022-09-27 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/tree-ssa/popcount6b.c: New test. - -2022-09-27 Marek Polacek <polacek@redhat.com> - - * g++.dg/cpp2a/concepts-traits3.C: Adjust expected diagnostics. - -2022-09-27 Jonathan Wakely <jwakely@redhat.com> - - PR c++/107049 - * g++.dg/ext/is_convertible4.C: New test. - * g++.dg/ext/is_nothrow_convertible4.C: New test. - -2022-09-27 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/tree-ssa/popcount6.c: New test. - -2022-09-27 Jakub Jelinek <jakub@redhat.com> - - PR c++/106651 - * g++.dg/template/error30.C: Adjust expected diagnostics. - * g++.dg/cpp1z/constexpr-lambda13.C: Likewise. - * g++.dg/cpp23/feat-cxx2b.C: Test __cpp_static_call_operator. - * g++.dg/cpp23/static-operator-call1.C: New test. - * g++.dg/cpp23/static-operator-call2.C: New test. - * g++.old-deja/g++.jason/operator.C: Adjust expected diagnostics. - * g++.dg/cpp23/static-operator-call3.C: New file. - -2022-09-27 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/107029 - * g++.dg/torture/pr107029.C: New test. - -2022-09-27 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/assume-1.c: New test. - * c-c++-common/gomp/assume-2.c: New test. - * c-c++-common/gomp/assume-3.c: New test. - * c-c++-common/gomp/assumes-1.c: New test. - * c-c++-common/gomp/assumes-2.c: New test. - * c-c++-common/gomp/assumes-3.c: New test. - * c-c++-common/gomp/assumes-4.c: New test. - * c-c++-common/gomp/begin-assumes-1.c: New test. - * c-c++-common/gomp/begin-assumes-2.c: New test. - * c-c++-common/gomp/begin-assumes-3.c: New test. - * c-c++-common/gomp/begin-assumes-4.c: New test. - * c-c++-common/gomp/declare-target-6.c: New test. - * g++.dg/gomp/attrs-1.C (bar): Add n1 and n2 arguments, add - tests for assume directive. - * g++.dg/gomp/attrs-2.C (bar): Likewise. - * g++.dg/gomp/attrs-9.C: Add n1 and n2 variables, add tests for - begin assumes directive. - * g++.dg/gomp/attrs-15.C: New test. - * g++.dg/gomp/attrs-16.C: New test. - * g++.dg/gomp/attrs-17.C: New test. - -2022-09-27 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/diagnostic/conflicting-specifiers-1.C: Adjust expected - diagnostics. - * g++.dg/parse/typedef8.C: Likewise. - * g++.dg/parse/crash39.C: Likewise. - * g++.dg/other/mult-stor1.C: Likewise. - * g++.dg/cpp2a/constinit3.C: Likewise. - -2022-09-27 Jakub Jelinek <jakub@redhat.com> - - PR c++/106652 - PR c++/85518 - * g++.dg/cpp23/ext-floating1.C: New test. - * g++.dg/cpp23/ext-floating2.C: New test. - * g++.dg/cpp23/ext-floating3.C: New test. - * g++.dg/cpp23/ext-floating4.C: New test. - * g++.dg/cpp23/ext-floating5.C: New test. - * g++.dg/cpp23/ext-floating6.C: New test. - * g++.dg/cpp23/ext-floating7.C: New test. - * g++.dg/cpp23/ext-floating8.C: New test. - * g++.dg/cpp23/ext-floating9.C: New test. - * g++.dg/cpp23/ext-floating10.C: New test. - * g++.dg/cpp23/ext-floating.h: New file. - * g++.target/i386/float16-1.C: Adjust expected diagnostics. - -2022-09-26 Marek Polacek <polacek@redhat.com> - - PR c++/106656 - * g++.dg/cpp23/feat-cxx2b.C: Adjust. - * g++.dg/cpp2a/feat-cxx2a.C: Likewise. - * g++.dg/ext/char8_t-feature-test-macro-2.C: Likewise. - * g++.dg/ext/char8_t-init-2.C: Likewise. - * g++.dg/cpp2a/char8_t3.C: New test. - * g++.dg/cpp2a/char8_t4.C: New test. - -2022-09-26 Marek Polacek <polacek@redhat.com> - - PR c++/106784 - * g++.dg/ext/is_convertible3.C: New test. - * g++.dg/ext/is_nothrow_convertible3.C: New test. - -2022-09-26 Patrick Palka <ppalka@redhat.com> - - PR c++/107033 - * g++.dg/modules/partial-2.cc, g++.dg/modules/partial-2.h: New - files, factored out from ... - * g++.dg/modules/partial-2_a.C, g++.dg/modules/partial-2_b.C: ... - these. - * g++.dg/modules/partial-2_c.H: New test. - * g++.dg/modules/partial-2_d.C: New test. - -2022-09-26 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/107009 - * gcc.dg/tree-ssa/pr107009.c: New test. - -2022-09-26 Jeff Law <jeffreyalaw@gmail.com> - - * gcc.target/riscv/ret-1.c: New test. - -2022-09-26 Tobias Burnus <tobias@codesourcery.com> - - PR middle-end/106982 - * c-c++-common/goacc/reduction-7.c: New test. - * c-c++-common/goacc/reduction-8.c: New test. - -2022-09-26 Kewen Lin <linkw@linux.ibm.com> - - PR target/96072 - * gcc.target/powerpc/pr96072.c: New test. - -2022-09-26 Hu, Lin1 <lin1.hu@intel.com> - - PR target/94962 - * gcc.target/i386/avx256-unaligned-store-3.c: Add -mno-avx512f - -2022-09-26 Kewen Lin <linkw@linux.ibm.com> - - PR target/100645 - * gcc.target/powerpc/pr100645.c: New test. - -2022-09-26 Hongtao Liu <hongtao.liu@intel.com> - Liwei Xu <liwei.xu@intel.com> - - * gcc.target/i386/pr53346-1.c: New test. - * gcc.target/i386/pr53346-2.c: New test. - * gcc.target/i386/pr53346-3.c: New test. - * gcc.target/i386/pr53346-4.c: New test. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/41453 - * gfortran.dg/intent_optimize_10.f90: New test. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/41453 - PR fortran/99169 - * gfortran.dg/intent_optimize_9.f90: New test. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/41453 - PR fortran/87401 - * gfortran.dg/intent_optimize_8.f90: New test. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/41453 - PR fortran/87395 - * gfortran.dg/intent_optimize_7.f90: New test. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/41453 - PR fortran/87395 - * gfortran.dg/intent_optimize_6.f90: New test. - -2022-09-25 Harald Anlauf <anlauf@gmx.de> - Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/105012 - * gfortran.dg/intent_optimize_5.f90: New test. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/106817 - * gfortran.dg/intent_optimize_4.f90: New test. - -2022-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/105012 - * gfortran.dg/intent_out_15.f90: New test. - -2022-09-24 Jakub Jelinek <jakub@redhat.com> - - PR c/107001 - * c-c++-common/gomp/pr107001.c: New test. - -2022-09-24 Jakub Jelinek <jakub@redhat.com> - - PR c/106981 - * c-c++-common/gomp/pr106981.c: New test. - -2022-09-23 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c2x-complit-1.c, gcc.dg/c2x-concat-1.c, - gcc.dg/cpp/c2x-ucn-1.c: New tests. - -2022-09-23 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * gcc.target/aarch64/advsimd-intrinsics/vld1x2.c: Replace - dg-xfail-if with dg-skip-if. - * gcc.target/aarch64/advsimd-intrinsics/vld1x3.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld1x4.c: Likewise. - -2022-09-23 Marek Polacek <polacek@redhat.com> - - PR c++/106784 - * g++.dg/ext/has-builtin-1.C: Enhance to test __is_convertible and - __is_nothrow_convertible. - * g++.dg/ext/is_convertible1.C: New test. - * g++.dg/ext/is_convertible2.C: New test. - * g++.dg/ext/is_nothrow_convertible1.C: New test. - * g++.dg/ext/is_nothrow_convertible2.C: New test. - -2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai> - - * selftests/riscv/empty-func.rtl: New test. - -2022-09-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106922 - * g++.dg/torture/pr106922.C: New testcase. - -2022-09-23 Tamar Christina <tamar.christina@arm.com> - - * lib/scanasm.exp (check_function_body): Add debug output to verbose log - on failure. - -2022-09-23 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106922 - * g++.dg/tree-ssa/pr106922.C: Scan in cddce3 dump rather than - dce3. Remove -fdump-tree-pre-details from dg-options. - -2022-09-23 Hu, Lin1 <lin1.hu@intel.com> - - PR target/94962 - * gcc.target/i386/avx256-unaligned-load-1.c: Modify test. - * gcc.target/i386/avx256-unaligned-store-1.c: Ditto. - * gcc.target/i386/avx256-unaligned-store-2.c: Ditto. - * gcc.target/i386/avx256-unaligned-store-3.c: Ditto. - * gcc.target/i386/pr94962-1.c: New test. - * gcc.target/i386/pr94962-2.c: Ditto. - * gcc.target/i386/pr94962-3.c: Ditto. - * gcc.target/i386/pr94962-4.c: Ditto. - -2022-09-23 Marek Polacek <polacek@redhat.com> - - PR c++/106983 - * g++.dg/other/error36.C: New test. - -2022-09-22 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/100103 - * gfortran.dg/PR100103.f90: New test. - -2022-09-22 Harald Anlauf <anlauf@gmx.de> - - PR fortran/82868 - * gfortran.dg/associate_26a.f90: New test. - -2022-09-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/102801 - * g++.dg/warn/Wuninitialized-33.C: New testcase. - -2022-09-22 Patrick Palka <ppalka@redhat.com> - - PR c++/106826 - * g++.dg/modules/partial-2_a.C: New test. - * g++.dg/modules/partial-2_b.C: New test. - -2022-09-22 David Malcolm <dmalcolm@redhat.com> - - PR c/106830 - * gcc.dg/Wxor-used-as-pow-pr106830.c: New test. - -2022-09-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106922 - * gcc.dg/tree-ssa/ssa-fre-100.c: New testcase. - * g++.dg/tree-ssa/pr106922.C: Adjust. - -2022-09-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/99407 - * gcc.dg/vect/tsvc/vect-tsvc-s243.c: Remove XFAIL. - -2022-09-22 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr106994.c: New test. - -2022-09-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106984 - * gcc.dg/tsan/pr106984.c: New testcase. - -2022-09-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gfortran.dg/ieee/rounding_3.f90: New test. - -2022-09-21 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/106967 - * gcc.dg/tree-ssa/pr106967.c: New test. - -2022-09-21 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr106963.c: New test. - -2022-09-20 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/104143 - * gfortran.dg/c-interop/c407b-2.f90: Remove dg-error. - * gfortran.dg/assumed_type_16.f90: New test. - * gfortran.dg/assumed_type_17.f90: New test. - -2022-09-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/106986 - * gfortran.dg/pr106986.f90: New test. - -2022-09-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/106985 - * gfortran.dg/pr106985.f90: New test. - -2022-09-20 Patrick Palka <ppalka@redhat.com> - - * g++.dg/modules/xtreme-header-2.h: Include <execution>. - * g++.dg/modules/xtreme-header-6.h: Include implemented - C++20 library headers. - * g++.dg/modules/xtreme-header.h: Likewise. Remove - NO_ASSOCIATED_LAMBDA workaround. Include implemented C++23 - library headers. - -2022-09-20 Patrick Palka <ppalka@redhat.com> - - * g++.dg/modules/auto-3.h: New test. - * g++.dg/modules/auto-3_a.H: New test. - * g++.dg/modules/auto-3_b.C: New test. - -2022-09-20 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/100132 - * gfortran.dg/PR100132.f90: New test. - -2022-09-20 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/vect/pr106914.c: New test. - * g++.dg/vect/pr106794.cc: Likewise. - -2022-09-20 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/vect/vect-gather-5.c: New test. - -2022-09-20 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/106970 - * gcc.dg/tree-ssa/pr106970.c: New test. - -2022-09-20 Patrick Palka <ppalka@redhat.com> - - PR c++/106761 - * g++.dg/modules/pr106761.h: New test. - * g++.dg/modules/pr106761_a.H: New test. - * g++.dg/modules/pr106761_b.C: New test. - -2022-09-20 Martin Liska <mliska@suse.cz> - - * g++.dg/warn/Wclass-memaccess.C: Replace "the the" with "the". - * g++.dg/warn/Wconversion-real-integer2.C: Likewise. - * gcc.target/powerpc/p9-extract-1.c: Likewise. - * gcc.target/s390/s390.exp: Likewise. - * gcc.target/s390/zvector/vec-cmp-2.c: Likewise. - * gdc.dg/torture/simd_store.d: Likewise. - * gfortran.dg/actual_array_offset_1.f90: Likewise. - * gfortran.dg/pdt_15.f03: Likewise. - * gfortran.dg/pointer_array_8.f90: Likewise. - -2022-09-20 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr106910-1.c: New test. - -2022-09-20 konglin1 <lingling.kong@intel.com> - - * gcc.target/i386/pr105735-1.c: New test. - * gcc.target/i386/pr105735-2.c: New test. - -2022-09-20 konglin1 <lingling.kong@intel.com> - - PR target/106887 - * gcc.target/i386/vect-bfloat16-2c.c: New test. - -2022-09-19 Marek Polacek <polacek@redhat.com> - - PR c/106947 - * c-c++-common/Waddress-7.c: New test. - -2022-09-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gfortran.dg/ieee/modes_1.f90: New test. - -2022-09-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gfortran.dg/ieee/rounding_2.f90: New test. - -2022-09-18 Julian Brown <julian@codesourcery.com> - - * g++.dg/gomp/target-lambda-1.C: Adjust expected scan output. - -2022-09-18 Palmer Dabbelt <palmer@rivosinc.com> - - * gcc.dg/tree-ssa/gen-vect-34.c: Skip RISC-V targets. - -2022-09-17 Patrick Palka <ppalka@redhat.com> - - * g++.dg/modules/typename-friend_a.C: New test. - * g++.dg/modules/typename-friend_b.C: New test. - -2022-09-17 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106958 - * gcc.c-torture/compile/pr106958.c: New test. - -2022-09-16 Eugene Rozenfeld <erozen@microsoft.com> - - * gcc.dg/tree-prof/indir-call-prof-2.c: Fix dg-final-use-autofdo. - -2022-09-16 Patrick Palka <ppalka@redhat.com> - - PR c++/92505 - * g++.dg/cpp0x/constexpr-mutable3.C: New test. - * g++.dg/cpp1y/constexpr-mutable1.C: New test. - -2022-09-16 Jason Merrill <jason@redhat.com> - - PR c++/106858 - * g++.dg/gomp/map-3.C: New test. - -2022-09-15 Harald Anlauf <anlauf@gmx.de> - - PR fortran/106857 - * gfortran.dg/pr106857.f90: New test. - -2022-09-15 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/104314 - * gfortran.dg/pr104314.f90: New test. - -2022-09-15 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c2x-float-2.c: Require inff effective-target. - * gcc.dg/c2x-float-11.c: New test. - -2022-09-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106922 - * g++.dg/tree-ssa/pr106922.C: New testcase. - -2022-09-15 Julian Brown <julian@codesourcery.com> - - * c-c++-common/gomp/target-50.c: Modify scan pattern. - -2022-09-15 Julian Brown <julian@codesourcery.com> - - * c-c++-common/goacc/mdc-2.c: Update expected errors. - * g++.dg/goacc/mdc.C: Likewise. - -2022-09-15 Jiufu Guo <guojiufu@linux.ibm.com> - - PR target/106550 - * gcc.target/powerpc/pr106550.c: New test. - * gcc.target/powerpc/pr106550_1.c: New test. - -2022-09-14 Julian Brown <julian@codesourcery.com> - - * g++.dg/goacc/member-array-acc.C: New test. - * g++.dg/gomp/member-array-omp.C: New test. - * g++.dg/gomp/target-3.C: Update expected output. - * g++.dg/gomp/target-lambda-1.C: Likewise. - * g++.dg/gomp/target-this-2.C: Likewise. - * c-c++-common/goacc/deep-copy-arrayofstruct.c: Move test from here. - * c-c++-common/gomp/target-50.c: New test. - -2022-09-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106938 - * gcc.dg/pr106938.c: New testcase. - -2022-09-14 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/106936 - * g++.dg/tree-ssa/pr106936.C: New test. - -2022-09-14 Julian Brown <julian@codesourcery.com> - - * g++.dg/gomp/target-lambda-1.C: Adjust expected output. - * g++.dg/gomp/target-this-3.C: Likewise. - * g++.dg/gomp/target-this-4.C: Likewise. - -2022-09-14 Robin Dapp <rdapp@linux.ibm.com> - - * gcc.target/s390/ifcvt-one-insn-bool.c: Add -mzarch. - * gcc.target/s390/ifcvt-one-insn-char.c: Dito. - * gcc.target/s390/ifcvt-two-insns-bool.c: Dito. - * gcc.target/s390/ifcvt-two-insns-int.c: Dito. - * gcc.target/s390/ifcvt-two-insns-long.c: Add -mzarch and change - long into long long. - -2022-09-14 Robin Dapp <rdapp@linux.ibm.com> - - * gcc.target/s390/vector/vperm-rev-z14.c: Add -save-temps. - * gcc.target/s390/vector/vperm-rev-z15.c: Likewise. - -2022-09-14 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106878 - * gcc.c-torture/compile/pr106878.c: New test. - -2022-09-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106934 - * gfortran.dg/pr106934.f90: New testcase. - -2022-09-14 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr106905.c: New test. - * gcc.target/ia64/pr106905.c: New test. - -2022-09-14 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - PR target/95720 - * lib/g++.exp: Moved gluefile block to after flags have been - prefixed for the target_compile call. - * lib/gcc.exp: Likewise. - * lib/wrapper.exp: Reset adjusted state flag. - -2022-09-13 Roger Sayle <roger@nextmovesoftware.com> - - PR target/106877 - * g++.dg/ext/pr106877.C: New test case. - -2022-09-13 Patrick Palka <ppalka@redhat.com> - - * g++.dg/cpp1z/noexcept-type26.C: New test. - * g++.dg/cpp2a/explicit19.C: New test. - * g++.dg/ext/integer-pack6.C: New test. - -2022-09-13 Kewen Lin <linkw@linux.ibm.com> - - PR target/104482 - * gcc.target/powerpc/pr104482.c: New test. - -2022-09-13 Kewen.Lin <linkw@gcc.gnu.org> - - PR target/105485 - * g++.target/powerpc/pr105485.C: New test. - -2022-09-13 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/ldp_stp_20.c: New test. - * gcc.target/aarch64/ldp_stp_21.c: Likewise. - * gcc.target/aarch64/ldp_stp_22.c: Likewise. - * gcc.target/aarch64/ldp_stp_23.c: Likewise. - * gcc.target/aarch64/ldp_stp_24.c: Likewise. - * gcc.target/aarch64/movv16qi_1.c (gpr_to_gpr): New function. - * gcc.target/aarch64/movv8qi_1.c (gpr_to_gpr): Likewise. - * gcc.target/aarch64/movv16qi_2.c: New test. - * gcc.target/aarch64/movv16qi_3.c: Likewise. - * gcc.target/aarch64/movv2di_1.c: Likewise. - * gcc.target/aarch64/movv2x16qi_1.c: Likewise. - * gcc.target/aarch64/movv2x8qi_1.c: Likewise. - * gcc.target/aarch64/movv3x16qi_1.c: Likewise. - * gcc.target/aarch64/movv3x8qi_1.c: Likewise. - * gcc.target/aarch64/movv4x16qi_1.c: Likewise. - * gcc.target/aarch64/movv4x8qi_1.c: Likewise. - * gcc.target/aarch64/movv8qi_2.c: Likewise. - * gcc.target/aarch64/movv8qi_3.c: Likewise. - * gcc.target/aarch64/vect_unary_2.c: Likewise. - -2022-09-13 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/acle/ls64_asm_2.c: New test. - -2022-09-12 Patrick Palka <ppalka@redhat.com> - - PR c++/101906 - * g++.dg/template/evaluated1.C: New test. - * g++.dg/template/evaluated1a.C: New test. - * g++.dg/template/evaluated1b.C: New test. - * g++.dg/template/evaluated1c.C: New test. - -2022-09-12 Jason Merrill <jason@redhat.com> - - PR c++/106893 - PR c++/90451 - * g++.dg/cpp1y/auto-fn65.C: New test. - -2022-09-12 Jason Merrill <jason@redhat.com> - - PR c++/93259 - * g++.dg/cpp0x/initlist-array17.C: New test. - -2022-09-12 Jason Merrill <jason@redhat.com> - - PR c++/106567 - * g++.dg/cpp0x/lambda/lambda-array4.C: New test. - -2022-09-12 Jonathan Wakely <jwakely@redhat.com> - - PR c++/86491 - * g++.dg/warn/anonymous-namespace-3.C: Use separate dg-warning - directives for C++98 and everything else. - * g++.dg/warn/Wsubobject-linkage-5.C: New test. - -2022-09-12 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/atomic/c2x-stdatomic-var-init-1.c: New test. - -2022-09-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * g++.dg/gcov/gcov.exp: Respect triplet when looking for gcov. - * gcc.misc-tests/gcov.exp: Likewise. - -2022-09-12 Joffrey Huguet <huguet@adacore.com> - - * gnat.dg/aspect2.adb: Removed. - * gnat.dg/aspect2.ads: Removed. - * gnat.dg/config_pragma1.adb: Removed. - * gnat.dg/config_pragma1_pkg.ads: Removed. - * gnat.dg/equal8.adb: Removed. - * gnat.dg/equal8.ads: Removed. - * gnat.dg/equal8_pkg.ads: Removed. - * gnat.dg/formal_containers.adb: Removed. - * gnat.dg/iter1.adb: Removed. - * gnat.dg/iter1.ads: Removed. - -2022-09-11 Tim Lange <mail@tim-lange.me> - - PR analyzer/106845 - * gcc.dg/analyzer/out-of-bounds-zero.c: New test. - * gcc.dg/analyzer/pr106845.c: New test. - -2022-09-10 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * gcc.target/xtensa/constsynth_3insns.c (test_4): - Add new test function. - -2022-09-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - PR fortran/95644 - * gfortran.dg/ieee/fma_1.f90: New test. - * gfortran.dg/ieee/signbit_1.f90: New test. - -2022-09-09 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/analyzer_kernel_plugin.c: New test. - * gcc.dg/plugin/copy_from_user-1.c: New test. - * gcc.dg/plugin/infoleak-1.c: New test. - * gcc.dg/plugin/infoleak-2.c: New test. - * gcc.dg/plugin/infoleak-3.c: New test. - * gcc.dg/plugin/infoleak-CVE-2011-1078-1.c: New test. - * gcc.dg/plugin/infoleak-CVE-2011-1078-2.c: New test. - * gcc.dg/plugin/infoleak-CVE-2014-1446-1.c: New test. - * gcc.dg/plugin/infoleak-CVE-2017-18549-1.c: New test. - * gcc.dg/plugin/infoleak-CVE-2017-18550-1.c: New test. - * gcc.dg/plugin/infoleak-antipatterns-1.c: New test. - * gcc.dg/plugin/infoleak-fixit-1.c: New test. - * gcc.dg/plugin/infoleak-net-ethtool-ioctl.c: New test. - * gcc.dg/plugin/infoleak-vfio_iommu_type1.c: New test. - * gcc.dg/plugin/plugin.exp (plugin_test_list): Add - analyzer_kernel_plugin.c and the new test cases. - * gcc.dg/plugin/taint-CVE-2011-0521-1-fixed.c: New test. - * gcc.dg/plugin/taint-CVE-2011-0521-1.c: New test. - * gcc.dg/plugin/taint-CVE-2011-0521-2-fixed.c: New test. - * gcc.dg/plugin/taint-CVE-2011-0521-2.c: New test. - * gcc.dg/plugin/taint-CVE-2011-0521-3-fixed.c: New test. - * gcc.dg/plugin/taint-CVE-2011-0521-3.c: New test. - * gcc.dg/plugin/taint-CVE-2011-0521-4.c: New test. - * gcc.dg/plugin/taint-CVE-2011-0521-5-fixed.c: New test. - * gcc.dg/plugin/taint-CVE-2011-0521-5.c: New test. - * gcc.dg/plugin/taint-CVE-2011-0521-6.c: New test. - * gcc.dg/plugin/taint-CVE-2011-0521.h: New test. - * gcc.dg/plugin/taint-antipatterns-1.c: New test. - * gcc.dg/plugin/test-uaccess.h: New header for tests. - -2022-09-09 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/analyzer_known_fns_plugin.c: New test plugin. - * gcc.dg/plugin/known-fns-1.c: New test. - * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the new plugin - and test. - -2022-09-09 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/98247 - * gcc.dg/analyzer/flexible-array-member-1.c: New test. - -2022-09-09 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c11-unreachable-1.c, gcc.dg/c2x-unreachable-1.c: New - tests. - -2022-09-09 Kewen Lin <linkw@linux.ibm.com> - - PR middle-end/106833 - * gcc.target/powerpc/pr106833.c: New test. - -2022-09-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106892 - * gcc.dg/torture/pr106892.c: New testcase. - -2022-09-08 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/106670 - * c-c++-common/gomp/ompx-1.c: New test. - * c-c++-common/gomp/ompx-2.c: New test. - * g++.dg/gomp/ompx-attrs-1.C: New test. - * gfortran.dg/gomp/ompx-1.f90: New test. - * gfortran.dg/gomp/omx-1.f: New test. - * gfortran.dg/gomp/omx-2.f: New test. - -2022-09-08 Jonathan Wakely <jwakely@redhat.com> - - PR c++/106838 - * g++.dg/ext/array4.C: Fix invalid use of __is_constructible. - * g++.dg/ext/unary_trait_incomplete.C: Fix tests for traits with - different requirements. - -2022-09-08 Tim Lange <mail@tim-lange.me> - - PR analyzer/106625 - * gcc.dg/analyzer/data-model-1.c: Change expected result. - * gcc.dg/analyzer/out-of-bounds-5.c: New test. - * gcc.dg/analyzer/out-of-bounds-realloc-grow.c: New test. - * gcc.dg/analyzer/symbolic-gt-1.c: New test. - -2022-09-08 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/106886 - * gcc.dg/vect/bb-slp-layout-21.c: New test. - -2022-09-08 Patrick Palka <ppalka@redhat.com> - - PR c++/99209 - * g++.dg/cpp2a/lambda-uneval17.C: New test. - -2022-09-08 Patrick Palka <ppalka@redhat.com> - - PR c++/99130 - * g++.dg/cpp0x/constexpr-decltype5.C: New test. - -2022-09-08 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/doacross-7.c: New test. - -2022-09-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106881 - * gcc.dg/uninit-pr106881.c: New testcase. - -2022-09-08 Richard Biener <rguenther@suse.de> - - PR testsuite/106872 - * gcc.dg/uninit-pred-12.c: Adjust. - -2022-09-07 Jason Merrill <jason@redhat.com> - - PR c++/106793 - * g++.dg/cpp23/auto-array2.C: Adjust. - * g++.dg/cpp1z/class-deduction113.C: New test. - -2022-09-07 Surya Kumari Jangala <jskumari@linux.ibm.com> - - PR rtl-optimization/105586 - * gcc.target/powerpc/pr105586.c: New test. - -2022-09-07 Arsen Arsenović <arsen@aarsen.me> - - PR c++/106188 - PR c++/106713 - * g++.dg/coroutines/pr106188.C: New test. - -2022-09-07 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c11-keywords-1.c, gcc.dg/c2x-align-1.c, - gcc.dg/c2x-align-6.c, gcc.dg/c2x-bool-2.c, - gcc.dg/c2x-static-assert-3.c, gcc.dg/c2x-static-assert-4.c, - gcc.dg/c2x-thread-local-1.c: New tests. - * gcc.dg/c2x-bool-1.c: Update expectations. - -2022-09-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106866 - * gcc.dg/uninit-pr106866.c: New testcase. - -2022-09-07 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/106867 - * gcc.dg/tree-ssa/pr106867.c: New test. - -2022-09-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106860 - * g++.dg/opt/pr106860.C: New testcase. - -2022-09-07 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/movqi_1.c: New test. - * gcc.target/aarch64/movhi_1.c: Likewise. - * gcc.target/aarch64/movsi_1.c: Likewise. - * gcc.target/aarch64/movdi_2.c: Likewise. - * gcc.target/aarch64/movti_2.c: Likewise. - * gcc.target/aarch64/movhf_1.c: Likewise. - * gcc.target/aarch64/movsf_1.c: Likewise. - * gcc.target/aarch64/movdf_1.c: Likewise. - * gcc.target/aarch64/movtf_2.c: Likewise. - * gcc.target/aarch64/movv8qi_1.c: Likewise. - * gcc.target/aarch64/movv16qi_1.c: Likewise. - -2022-09-07 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/nofp_2.c: New test. - -2022-09-07 Lulu Cheng <chenglulu@loongson.cn> - - PR target/106828 - * g++.target/loongarch/pr106828.C: New test. - -2022-09-07 Jakub Jelinek <jakub@redhat.com> - - PR c++/106829 - * g++.dg/gomp/pr106829.C: New test. - -2022-09-07 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/cpp/delimited-escape-seq-4.c: New test. - * c-c++-common/cpp/delimited-escape-seq-5.c: New test. - * c-c++-common/cpp/delimited-escape-seq-6.c: New test. - * c-c++-common/cpp/delimited-escape-seq-7.c: New test. - * c-c++-common/cpp/named-universal-char-escape-5.c: New test. - * c-c++-common/cpp/named-universal-char-escape-6.c: New test. - * c-c++-common/cpp/named-universal-char-escape-7.c: New test. - * g++.dg/cpp23/named-universal-char-escape1.C: New test. - * g++.dg/cpp23/named-universal-char-escape2.C: New test. - -2022-09-07 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/106345 - * lib/target-supports.exp (check_effective_target_powerpc_sqrt): Add - a function definition to avoid pedwarn about empty translation unit. - (check_effective_target_has_arch_pwr5): Likewise. - (check_effective_target_has_arch_pwr6): Likewise. - (check_effective_target_has_arch_pwr7): Likewise. - (check_effective_target_has_arch_pwr8): Likewise. - (check_effective_target_has_arch_pwr9): Likewise. - (check_effective_target_has_arch_pwr10): Likewise. - (check_effective_target_has_arch_ppc64): Likewise. - (check_effective_target_ppc_float128): Likewise. - (check_effective_target_ppc_float128_insns): Likewise. - (check_effective_target_powerpc_vsx): Likewise. - -2022-09-07 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr103144-mul-1.c: New test. - * gcc.target/i386/pr103144-mul-2.c: New test. - * gcc.target/i386/pr103144-neg-1.c: New test. - * gcc.target/i386/pr103144-neg-2.c: New test. - * gcc.target/i386/pr103144-shift-1.c: New test. - * gcc.target/i386/pr103144-shift-2.c: New test. - -2022-09-06 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp23/subscript8.C: New test. - -2022-09-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106754 - * gcc.dg/uninit-pred-12.c: New testcase. - * gcc.dg/uninit-pr106155-1.c: Likewise. - -2022-09-06 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/tree-ssa/vrp-float-inf-1.c: New test. - -2022-09-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106844 - * gcc.dg/pr106844.c: New testcase. - -2022-09-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106841 - * g++.dg/vect/pr106841.cc: New testcase. - -2022-09-06 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/doacross-6.c (corge): Don't expect an error here. - Add a few further tests. - -2022-09-06 Jakub Jelinek <jakub@redhat.com> - - PR c/106836 - * c-c++-common/gomp/pr106836.c: New test. - -2022-09-06 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/sink-3.c: Don't expect a superfluous error during - error recovery. - * c-c++-common/gomp/doacross-6.c (foo): Add further tests. - -2022-09-06 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/avx512f-vcvtps2ph-sae.c: New test. - -2022-09-05 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/cpp/c11-trigraphs-1.c, gcc.dg/cpp/c2x-trigraphs-1.c, - gcc.dg/cpp/c2x-trigraphs-2.c: New tests. - -2022-09-05 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/tree-ssa/vrp-float-signbit-2.c: New test. - -2022-09-05 Alexander Monakov <amonakov@ispras.ru> - - PR target/106453 - * gcc.target/i386/pr106453.c: New test. - -2022-09-05 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/all-memory-1.f90: Update dg-error. - * gfortran.dg/gomp/depend-iterator-2.f90: Likewise. - * gfortran.dg/gomp/depobj-2.f90: Likewise. - * gfortran.dg/gomp/doacross-5.f90: New test. - * gfortran.dg/gomp/doacross-6.f90: New test. - -2022-09-05 Aldy Hernandez <aldyh@redhat.com> - - PR middle-end/106824 - * g++.dg/pr106824.C: New test. - -2022-09-05 Tim Lange <mail@tim-lange.me> - - * gcc.dg/analyzer/out-of-bounds-4.c: New test. - * gcc.dg/analyzer/strcpy-3.c: New test. - -2022-09-05 Tim Lange <mail@tim-lange.me> - - * gcc.dg/analyzer/fold-string-to-char.c: New test. - -2022-09-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> - - * gcc.target/aarch64/spellcheck_10.c: New test. - -2022-09-05 LiaoShihua <shihua@iscas.ac.cn> - - * gcc.target/riscv/zmmul-1.c: New test. - * gcc.target/riscv/zmmul-2.c: New test. - -2022-09-05 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/direct-extern-1.c: New test. - * gcc.target/loongarch/direct-extern-2.c: New test. - -2022-09-05 konglin1 <lingling.kong@intel.com> - - * gcc.target/i386/pr106742.c: New test. - -2022-09-04 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/100136 - * gfortran.dg/PR100136.f90: New test. - -2022-09-03 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/100245 - * gfortran.dg/PR100245.f90: New test. - -2022-09-03 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/tree-ssa/pr106819.c: New test. - -2022-09-03 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/doacross-2.c: Adjust expected diagnostics. - * c-c++-common/gomp/doacross-5.c: New test. - * c-c++-common/gomp/doacross-6.c: New test. - * c-c++-common/gomp/nesting-2.c: Adjust expected diagnostics. - * c-c++-common/gomp/ordered-3.c: Likewise. - * c-c++-common/gomp/sink-3.c: Likewise. - * gfortran.dg/gomp/nesting-2.f90: Likewise. - -2022-09-02 David Malcolm <dmalcolm@redhat.com> - - PR c/90885 - * c-c++-common/Wxor-used-as-pow-1.c: New test. - * c-c++-common/Wxor-used-as-pow-fixits.c: New test. - * g++.dg/parse/expr3.C: Convert 2 to 0x2 to suppress - -Wxor-used-as-pow. - * g++.dg/warn/Wparentheses-10.C: Likewise. - * g++.dg/warn/Wparentheses-18.C: Likewise. - * g++.dg/warn/Wparentheses-19.C: Likewise. - * g++.dg/warn/Wparentheses-9.C: Likewise. - * g++.dg/warn/Wxor-used-as-pow-named-op.C: New test. - * gcc.dg/Wparentheses-6.c: Convert 2 to 0x2 to suppress - -Wxor-used-as-pow. - * gcc.dg/Wparentheses-7.c: Likewise. - * gcc.dg/precedence-1.c: Likewise. - -2022-09-02 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/99349 - * gfortran.dg/pr99349.f90: New test. - -2022-09-02 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/vect/bb-slp-layout-20.c: New test. - -2022-09-02 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/vect/bb-slp-layout-19.c: New test. - -2022-09-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106809 - * gcc.dg/torture/pr106809.c: New testcase. - -2022-09-02 Martin Liska <mliska@suse.cz> - - * lib/gcc-dg.exp: Remove -gstabs option support, DBX-related - macros and DBX debugging info support. - * lib/gfortran-dg.exp: Likewise. - * lib/target-supports.exp: Likewise. - * g++.dg/cpp0x/alias-decl-debug-0.C: Removed. - * g++.dg/other/PR23205.C: Removed. - * g++.dg/other/pr23205-2.C: Removed. - * gcc.dg/20040813-1.c: Removed. - * gcc.dg/darwin-20040809-2.c: Removed. - * gcc.dg/debug/pr35154.c: Removed. - * gcc.dg/pr69471-2.c: Removed. - * gcc.target/powerpc/stabs-attrib-vect-darwin.c: Removed. - * gcc.target/s390/20041216-1.c: Removed. - * gfortran.dg/debug/pr35154-stabs.f: Removed. - * objc.dg/stabs-1.m: Removed. - -2022-09-02 Simon Rainer <gcc.gnu@vvalter.com> - - PR ipa/106627 - * g++.target/i386/pr106627.C: New test. - -2022-09-01 H.J. Lu <hjl.tools@gmail.com> - - PR target/106707 - * gcc.target/i386/pr106707.c (foo): Replace long with long long. - -2022-09-01 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c11-unproto-3.c, gcc.dg/c2x-unproto-3.c, - gcc.dg/c2x-unproto-4.c: New tests. - * gcc.dg/c2x-old-style-definition-6.c, gcc.dg/c2x-unproto-1.c, - gcc.dg/c2x-unproto-2.c: Update for removal of unprototyped - functions. - -2022-09-01 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/vect/bb-slp-pr54400.c: Extend to aarch64. - * gcc.dg/vect/bb-slp-layout-18.c: New test. - -2022-09-01 Uroš Bizjak <ubizjak@gmail.com> - - PR target/106707 - * gcc.target/i386/pr106707.c: New test. - -2022-09-01 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/tree-ssa/vrp-float-signbit-1.c: New test. - -2022-09-01 Jakub Jelinek <jakub@redhat.com> - - PR c++/106655 - * c-c++-common/cpp/Winvalid-utf8-1.c: New test. - * c-c++-common/cpp/Winvalid-utf8-2.c: New test. - * c-c++-common/cpp/Winvalid-utf8-3.c: New test. - * g++.dg/cpp23/Winvalid-utf8-1.C: New test. - * g++.dg/cpp23/Winvalid-utf8-2.C: New test. - * g++.dg/cpp23/Winvalid-utf8-3.C: New test. - * g++.dg/cpp23/Winvalid-utf8-4.C: New test. - * g++.dg/cpp23/Winvalid-utf8-5.C: New test. - * g++.dg/cpp23/Winvalid-utf8-6.C: New test. - * g++.dg/cpp23/Winvalid-utf8-7.C: New test. - * g++.dg/cpp23/Winvalid-utf8-8.C: New test. - * g++.dg/cpp23/Winvalid-utf8-9.C: New test. - * g++.dg/cpp23/Winvalid-utf8-10.C: New test. - * g++.dg/cpp23/Winvalid-utf8-11.C: New test. - * g++.dg/cpp23/Winvalid-utf8-12.C: New test. - -2022-09-01 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/106785 - * gcc.dg/tree-ssa/vrp-float-nan-1.c: New test. - -2022-09-01 konglin1 <lingling.kong@intel.com> - - * gcc.dg/tree-ssa/gen-vect-34.c: New test. - * gcc.dg/vect/vect-ifcvt-18.c: New test. - -2022-09-01 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/106682 - * gcc.target/powerpc/pr86731-fwrapv-longlong.c: Fix typo. - -2022-09-01 Peter Bergner <bergner@linux.ibm.com> - - PR target/101322 - * g++.target/powerpc/pr101322.C: New test. - -2022-08-31 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c2x-attr-deprecated-2.c, gcc.dg/c2x-attr-fallthrough-2.c, - gcc.dg/c2x-attr-maybe_unused-1.c, gcc.dg/c2x-attr-nodiscard-2.c: - Add tests of attributes on labels. - * gcc.dg/c2x-has-c-attribute-2.c: Update expected results for - maybe_unused and fallthrough. - -2022-08-31 Martin Liska <mliska@suse.cz> - - * g++.dg/cpp0x/lambda/lambda-conv.C: Remove useless test. - * gcc.c-torture/execute/ieee/hugeval.x: Likewise. - * gcc.dg/torture/pr47917.c: Likewise. - * lib/target-supports.exp: Likewise. - -2022-08-31 Jonathan Wakely <jwakely@redhat.com> - - PR testsuite/106795 - * g++.dg/tree-ssa/empty-loop.C: Use -Wno-unused-result. - -2022-08-31 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_1.c: Update - tests for empty initializers. - * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_2.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Likewise. - -2022-08-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/90994 - * g++.dg/torture/pr90994.C: New testcase. - -2022-08-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/65244 - * gcc.dg/uninit-pr65244-2.c: New testcase. - -2022-08-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/65244 - * gcc.dg/uninit-pr65244-1.c: New testcase. - -2022-08-30 Andrew Stubbs <ams@codesourcery.com> - - * gcc.dg/vect/vect-simd-clone-1.c: Add dg-warning. - * gcc.dg/vect/vect-simd-clone-2.c: Add dg-warning. - * gcc.dg/vect/vect-simd-clone-3.c: Add dg-warning. - * gcc.dg/vect/vect-simd-clone-4.c: Add dg-warning. - * gcc.dg/vect/vect-simd-clone-5.c: Add dg-warning. - * gcc.dg/vect/vect-simd-clone-8.c: Add dg-warning. - -2022-08-30 Richard Sandiford <richard.sandiford@arm.com> - - * lib/target-supports.exp (check_effective_target_vect_var_shift): - Return true for aarch64. - * gcc.dg/vect/bb-slp-layout-1.c: New test. - * gcc.dg/vect/bb-slp-layout-2.c: New test. - * gcc.dg/vect/bb-slp-layout-3.c: New test. - * gcc.dg/vect/bb-slp-layout-4.c: New test. - * gcc.dg/vect/bb-slp-layout-5.c: New test. - * gcc.dg/vect/bb-slp-layout-6.c: New test. - * gcc.dg/vect/bb-slp-layout-7.c: New test. - * gcc.dg/vect/bb-slp-layout-8.c: New test. - * gcc.dg/vect/bb-slp-layout-9.c: New test. - * gcc.dg/vect/bb-slp-layout-10.c: New test. - * gcc.dg/vect/bb-slp-layout-11.c: New test. - * gcc.dg/vect/bb-slp-layout-13.c: New test. - * gcc.dg/vect/bb-slp-layout-14.c: New test. - * gcc.dg/vect/bb-slp-layout-15.c: New test. - * gcc.dg/vect/bb-slp-layout-16.c: New test. - * gcc.dg/vect/bb-slp-layout-17.c: New test. - * gcc.dg/vect/slp-11b.c: XFAIL SLP test for load-lanes targets. - * gcc.dg/vect/bb-slp-layout-12.c: New file. - -2022-08-30 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/slp_15.c: New test. - * g++.target/aarch64/sve/pr96974.C: Remove scan test. - -2022-08-30 Marek Polacek <polacek@redhat.com> - - PR c++/106759 - * g++.dg/ext/has-builtin-1.C: New test. - -2022-08-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/67196 - * gcc.dg/uninit-pred-7_a.c: Un-XFAIL. - -2022-08-30 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/tree-ssa/recip-3.c: Avoid premature optimization so test - has a chance to succeed. - -2022-08-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/63660 - * gcc.dg/uninit-pr63660.c: New testcase. - -2022-08-30 Richard Biener <rguenther@suse.de> - - * g++.dg/uninit-pred-5.C: New testcase. - -2022-08-30 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/106744 - * gcc.dg/tree-ssa/minmax-10.c: Make runtime test. - * gcc.dg/tree-ssa/minmax-11.c: Likewise. - * gcc.dg/tree-ssa/minmax-12.c: Likewise. - * gcc.dg/tree-ssa/minmax-13.c: Likewise. - * gcc.dg/tree-ssa/minmax-14.c: Likewise. - * gcc.dg/tree-ssa/minmax-15.c: Likewise. - * gcc.dg/tree-ssa/minmax-16.c: Likewise. - * gcc.dg/tree-ssa/minmax-3.c: Likewise. - * gcc.dg/tree-ssa/minmax-4.c: Likewise. - * gcc.dg/tree-ssa/minmax-5.c: Likewise. - * gcc.dg/tree-ssa/minmax-6.c: Likewise. - * gcc.dg/tree-ssa/minmax-7.c: Likewise. - * gcc.dg/tree-ssa/minmax-8.c: Likewise. - * gcc.dg/tree-ssa/minmax-9.c: Likewise. - -2022-08-29 Marek Polacek <polacek@redhat.com> - - PR c++/106712 - * g++.dg/cpp0x/gen-attrs-77.C: New test. - -2022-08-29 David Faust <david.faust@oracle.com> - - PR target/106745 - * gcc.target/bpf/core-pr106745.c: New test. - -2022-08-29 H.J. Lu <hjl.tools@gmail.com> - - PR target/106748 - * gcc.target/i386/pr106748.c: New test. - -2022-08-29 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/func-call-medium-1.c: Refine test - depending on __tls_get_addr with { target tls_native }. - * gcc.target/loongarch/func-call-medium-2.c: Likewise. - * gcc.target/loongarch/func-call-medium-3.c: Likewise. - * gcc.target/loongarch/func-call-medium-4.c: Likewise. - * gcc.target/loongarch/func-call-medium-5.c: Likewise. - * gcc.target/loongarch/func-call-medium-6.c: Likewise. - * gcc.target/loongarch/func-call-medium-7.c: Likewise. - * gcc.target/loongarch/func-call-medium-8.c: Likewise. - * gcc.target/loongarch/tls-gd-noplt.c: Likewise. - -2022-08-29 Robin Dapp <rdapp@linux.ibm.com> - - * gcc.target/s390/vector/vec-sum-across-no-lower-subreg-1.c: New test. - -2022-08-29 Robin Dapp <rdapp@linux.ibm.com> - - * gcc.target/s390/vector/vperm-rev-z14.c: New test. - * gcc.target/s390/vector/vperm-rev-z15.c: New test. - * gcc.target/s390/zvector/vec-reve-store-byte.c: Adjust test - expectation. - -2022-08-29 Robin Dapp <rdapp@linux.ibm.com> - - * gcc.target/s390/zvector/vec-reve-int-long.c: New test. - -2022-08-29 Robin Dapp <rdapp@linux.ibm.com> - - * gcc.target/s390/vector/vec-copysign.c: Do not unroll. - * gcc.target/s390/zvector/autovec-double-quiet-uneq.c: Dito. - * gcc.target/s390/zvector/autovec-double-signaling-ltgt.c: Dito. - * gcc.target/s390/zvector/autovec-float-quiet-uneq.c: Dito. - * gcc.target/s390/zvector/autovec-float-signaling-ltgt.c: Dito. - -2022-08-28 Peter Bergner <bergner@linux.ibm.com> - - PR target/106017 - * gcc.target/powerpc/pr106017.c: New test. - -2022-08-27 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106737 - * gcc.dg/autopar/pr106737.c: Require fgraphite effective target. - -2022-08-26 Marek Polacek <polacek@redhat.com> - - PR c++/81159 - * g++.dg/warn/Wself-move1.C: New test. - -2022-08-26 Jakub Jelinek <jakub@redhat.com> - - PR c++/106647 - * g++.dg/cpp23/wchar-multi1.C: New test. - * g++.dg/cpp23/wchar-multi2.C: New test. - -2022-08-26 Richard Biener <rguenther@suse.de> - - * gcc.dg/uninit-pred-11.c: New testcase. - -2022-08-26 Tobias Burnus <tobias@codesourcery.com> - - * c-c++-common/gomp/reverse-offload-1.c: Remove dg-sorry. - * c-c++-common/gomp/target-device-ancestor-4.c: Likewise. - * gfortran.dg/gomp/target-device-ancestor-4.f90: Likewise. - * gfortran.dg/gomp/target-device-ancestor-5.f90: Likewise. - * c-c++-common/goacc/classify-kernels-parloops.c: Add 'noclone' to - scan-tree-dump-times. - * c-c++-common/goacc/classify-kernels-unparallelized-parloops.c: - Likewise. - * c-c++-common/goacc/classify-kernels-unparallelized.c: Likewise. - * c-c++-common/goacc/classify-kernels.c: Likewise. - * c-c++-common/goacc/classify-parallel.c: Likewise. - * c-c++-common/goacc/classify-serial.c: Likewise. - * c-c++-common/goacc/kernels-counter-vars-function-scope.c: Likewise. - * c-c++-common/goacc/kernels-loop-2.c: Likewise. - * c-c++-common/goacc/kernels-loop-3.c: Likewise. - * c-c++-common/goacc/kernels-loop-data-2.c: Likewise. - * c-c++-common/goacc/kernels-loop-data-enter-exit-2.c: Likewise. - * c-c++-common/goacc/kernels-loop-data-enter-exit.c: Likewise. - * c-c++-common/goacc/kernels-loop-data-update.c: Likewise. - * c-c++-common/goacc/kernels-loop-data.c: Likewise. - * c-c++-common/goacc/kernels-loop-g.c: Likewise. - * c-c++-common/goacc/kernels-loop-mod-not-zero.c: Likewise. - * c-c++-common/goacc/kernels-loop-n.c: Likewise. - * c-c++-common/goacc/kernels-loop-nest.c: Likewise. - * c-c++-common/goacc/kernels-loop.c: Likewise. - * c-c++-common/goacc/kernels-one-counter-var.c: Likewise. - * c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c: Likewise. - * gfortran.dg/goacc/classify-kernels-parloops.f95: Likewise. - * gfortran.dg/goacc/classify-kernels-unparallelized-parloops.f95: - Likewise. - * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise. - * gfortran.dg/goacc/classify-kernels.f95: Likewise. - * gfortran.dg/goacc/classify-parallel.f95: Likewise. - * gfortran.dg/goacc/classify-serial.f95: Likewise. - * gfortran.dg/goacc/kernels-loop-2.f95: Likewise. - * gfortran.dg/goacc/kernels-loop-data-2.f95: Likewise. - * gfortran.dg/goacc/kernels-loop-data-enter-exit-2.f95: Likewise. - * gfortran.dg/goacc/kernels-loop-data-enter-exit.f95: Likewise. - * gfortran.dg/goacc/kernels-loop-data-update.f95: Likewise. - * gfortran.dg/goacc/kernels-loop-data.f95: Likewise. - * gfortran.dg/goacc/kernels-loop-n.f95: Likewise. - * gfortran.dg/goacc/kernels-loop.f95: Likewise. - * gfortran.dg/goacc/kernels-parallel-loop-data-enter-exit.f95: Likewise. - -2022-08-26 Jakub Jelinek <jakub@redhat.com> - - * gcc.dg/torture/builtin-issignaling-1.c: New test. - * gcc.dg/torture/builtin-issignaling-2.c: New test. - * gcc.dg/torture/float16-builtin-issignaling-1.c: New test. - * gcc.dg/torture/float32-builtin-issignaling-1.c: New test. - * gcc.dg/torture/float32x-builtin-issignaling-1.c: New test. - * gcc.dg/torture/float64-builtin-issignaling-1.c: New test. - * gcc.dg/torture/float64x-builtin-issignaling-1.c: New test. - * gcc.dg/torture/float128-builtin-issignaling-1.c: New test. - * gcc.dg/torture/float128x-builtin-issignaling-1.c: New test. - * gcc.target/i386/builtin-issignaling-1.c: New test. - -2022-08-26 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106099 - * gcc.dg/pr106099.c: New test. - -2022-08-26 Jakub Jelinek <jakub@redhat.com> - - PR c++/106648 - * c-c++-common/cpp/named-universal-char-escape-1.c: New test. - * c-c++-common/cpp/named-universal-char-escape-2.c: New test. - * c-c++-common/cpp/named-universal-char-escape-3.c: New test. - * c-c++-common/cpp/named-universal-char-escape-4.c: New test. - * c-c++-common/Wbidi-chars-25.c: New test. - * gcc.dg/cpp/named-universal-char-escape-1.c: New test. - * gcc.dg/cpp/named-universal-char-escape-2.c: New test. - * g++.dg/cpp/named-universal-char-escape-1.C: New test. - * g++.dg/cpp/named-universal-char-escape-2.C: New test. - * g++.dg/cpp23/feat-cxx2b.C: Test __cpp_named_character_escapes. - -2022-08-26 Martin Liska <mliska@suse.cz> - - * lib/target-supports.exp: Remove cr16 related stuff. - -2022-08-26 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr106704.c: New test. - -2022-08-25 Marek Polacek <polacek@redhat.com> - - * gcc.dg/c11-nullptr-1.c: New test. - * gcc.dg/c17-nullptr-1.c: New test. - * gcc.dg/c17-nullptr-2.c: New test. - * gcc.dg/c2x-nullptr-1.c: New test. - * gcc.dg/c2x-nullptr-2.c: New test. - * gcc.dg/c2x-nullptr-3.c: New test. - * gcc.dg/c2x-nullptr-4.c: New test. - * gcc.dg/c2x-nullptr-5.c: New test. - -2022-08-25 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c11-empty-init-1.c, gcc.dg/c11-empty-init-2.c, - gcc.dg/c11-empty-init-3.c, gcc.dg/c2x-empty-init-1.c, - gcc.dg/c2x-empty-init-2.c, gcc.dg/c2x-empty-init-3.c, - gcc.dg/gnu2x-empty-init-1.c, gcc.dg/gnu2x-empty-init-2.c: New - tests. - * gcc.dg/torture/dfp-default-init-1.c: Also test empty - initializers. - * gcc.dg/init-bad-1.c, gcc.dg/noncompile/pr71583.c, - gcc.dg/pr61096-1.c, gcc.dg/vla-init-2.c, gcc.dg/vla-init-3.c, - gcc.target/i386/sse2-bfloat16-scalar-typecheck.c: Update expected - diagnostics. - * gcc.dg/ubsan/c-shift-1.c: Use nonempty initializers for VLA - initializations expected to be diagnosed. - -2022-08-25 Jason Merrill <jason@redhat.com> - - * g++.dg/init/elide8.C: New test. - -2022-08-25 Jason Merrill <jason@redhat.com> - - * g++.dg/debug/dwarf2/utf-1.C: New test. - -2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com> - - PR target/106101 - * gcc.c-torture/compile/pr106101.c: New test. - -2022-08-25 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/attr-model-test.c: New test. - * gcc.target/loongarch/attr-model-1.c: New test. - * gcc.target/loongarch/attr-model-2.c: New test. - * gcc.target/loongarch/attr-model-diag.c: New test. - -2022-08-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106737 - * gcc.dg/autopar/pr106737.c: New testcase. - -2022-08-25 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/strictly-structured-block-4.f90: New test. - -2022-08-25 Chenghua Xu <xuchenghua@loongson.cn> - - * gcc.target/loongarch/pr106459.c: New test. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - * lib/target-supports.exp (check_effective_target_bswap): - Return true if riscv and ZBB ISA extension is enabled. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - PR target/106601 - * gcc.target/riscv/zbb_32_bswap-2.c: New test. - * gcc.target/riscv/zbb_bswap-2.c: New test. - -2022-08-24 Andrew Pinski <apinski@marvell.com> - - PR target/106600 - * gcc.target/riscv/zbb_32_bswap-1.c: New test. - * gcc.target/riscv/zbb_bswap-1.c: New test. - -2022-08-24 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103694 - * gfortran.dg/pr103694.f90: New test. - -2022-08-24 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/torture/dfp-default-init-1.c, - gcc.dg/torture/dfp-default-init-2.c, - gcc.dg/torture/dfp-default-init-3.c: New tests. - -2022-08-24 Jose E. Marchesi <jose.marchesi@oracle.com> - - PR target/106733 - * gcc.target/bpf/constant-calls.c: Rename to ... - * gcc.target/bpf/constant-calls-1.c: and modify to not expect - failure anymore. - * gcc.target/bpf/constant-calls-2.c: New test. - -2022-08-24 Jakub Jelinek <jakub@redhat.com> - - PR target/106721 - * gcc.target/i386/avx512vl-pr106721.c: New test. - -2022-08-24 Jakub Jelinek <jakub@redhat.com> - - PR c++/106646 - * g++.dg/cpp/warning-1.C: New test. - * g++.dg/cpp/warning-2.C: New test. - * g++.dg/cpp/warning-3.C: New test. - -2022-08-24 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/func-call-medium-1.c: New test. - * gcc.target/loongarch/func-call-medium-2.c: New test. - * gcc.target/loongarch/func-call-medium-3.c: New test. - * gcc.target/loongarch/func-call-medium-4.c: New test. - * gcc.target/loongarch/func-call-medium-5.c: New test. - * gcc.target/loongarch/func-call-medium-6.c: New test. - * gcc.target/loongarch/func-call-medium-7.c: New test. - * gcc.target/loongarch/func-call-medium-8.c: New test. - * gcc.target/loongarch/tls-gd-noplt.c: Add compile parameter '-mexplicit-relocs'. - -2022-08-23 Marek Polacek <polacek@redhat.com> - - * g++.dg/cpp0x/Wpessimizing-move10.C: New test. - * g++.dg/cpp0x/Wredundant-move12.C: New test. - -2022-08-23 H.J. Lu <hjl.tools@gmail.com> - - * gcc.target/x86_64/abi/bf16/asm-support.S: Replace vmovdqu with - movdqu. - -2022-08-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106722 - * g++.dg/uninit-pr106722-1.C: New testcase. - -2022-08-23 Marek Polacek <polacek@redhat.com> - - * g++.dg/torture/phi-1.C: New test. - -2022-08-23 Richard Biener <rguenther@suse.de> - - * gcc.dg/uninit-pred-10.c: New testcase. - -2022-08-23 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/depend-6.f90: Fix array index use for - depobj var + update scan-tree-dump-times. - -2022-08-23 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/depend-4.f90: Fix array index use for - depobj var + update scan-tree-dump-times. - -2022-08-23 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/x86_64/abi/bf16/bf16-helper.h: - Add _m128bf16/m256bf16/_m512bf16. - * gcc.target/x86_64/abi/bf16/m512bf16/bf16-zmm-check.h: - Include bf16-helper.h. - -2022-08-23 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106687 - * g++.dg/pr106687.C: New. - -2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.target/pru/bitop-di.c: New test. - -2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.target/pru/mov-m1.c: New test. - -2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> - - PR target/106564 - * gcc.target/pru/pr106564-1.c: New test. - * gcc.target/pru/pr106564-2.c: New test. - * gcc.target/pru/pr106564-3.c: New test. - * gcc.target/pru/pr106564-4.c: New test. - -2022-08-22 Harald Anlauf <anlauf@gmx.de> - - PR fortran/106557 - * gfortran.dg/pr106557.f90: New test. - -2022-08-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105937 - * g++.dg/uninit-pr105937.C: New testcase. - -2022-08-20 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/func-call-1.c: Add option '-mcmodel=normal'. - * gcc.target/loongarch/func-call-2.c: Likewise. - * gcc.target/loongarch/func-call-3.c: Likewise. - * gcc.target/loongarch/func-call-4.c: Likewise. - * gcc.target/loongarch/func-call-5.c: Likewise. - * gcc.target/loongarch/func-call-6.c: Likewise. - * gcc.target/loongarch/func-call-7.c: Likewise. - * gcc.target/loongarch/func-call-8.c: Likewise. - * gcc.target/loongarch/relocs-symbol-noaddend.c: Likewise. - * gcc.target/loongarch/func-call-extreme-1.c: New test. - * gcc.target/loongarch/func-call-extreme-2.c: New test. - -2022-08-20 Jakub Jelinek <jakub@redhat.com> - - PR c++/106645 - * c-c++-common/cpp/delimited-escape-seq-1.c: New test. - * c-c++-common/cpp/delimited-escape-seq-2.c: New test. - * c-c++-common/cpp/delimited-escape-seq-3.c: New test. - * c-c++-common/Wbidi-chars-24.c: New test. - * gcc.dg/cpp/delimited-escape-seq-1.c: New test. - * gcc.dg/cpp/delimited-escape-seq-2.c: New test. - * g++.dg/cpp/delimited-escape-seq-1.C: New test. - * g++.dg/cpp/delimited-escape-seq-2.C: New test. - -2022-08-19 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/x86_64/abi/bf16/abi-bf16.exp: New test. - * gcc.target/x86_64/abi/bf16/args.h: Ditto. - * gcc.target/x86_64/abi/bf16/asm-support.S: Ditto. - * gcc.target/x86_64/abi/bf16/bf16-check.h: Ditto. - * gcc.target/x86_64/abi/bf16/bf16-helper.h: Ditto. - * gcc.target/x86_64/abi/bf16/defines.h: Ditto. - * gcc.target/x86_64/abi/bf16/m256bf16/abi-bf16-ymm.exp: Ditto. - * gcc.target/x86_64/abi/bf16/m256bf16/args.h: Ditto. - * gcc.target/x86_64/abi/bf16/m256bf16/asm-support.S: Ditto. - * gcc.target/x86_64/abi/bf16/m256bf16/bf16-ymm-check.h: Ditto. - * gcc.target/x86_64/abi/bf16/m256bf16/test_m256_returning.c: Ditto. - * gcc.target/x86_64/abi/bf16/m256bf16/test_passing_m256.c: Ditto. - * gcc.target/x86_64/abi/bf16/m256bf16/test_passing_structs.c: Ditto. - * gcc.target/x86_64/abi/bf16/m256bf16/test_passing_unions.c: Ditto. - * gcc.target/x86_64/abi/bf16/m256bf16/test_varargs-m256.c: Ditto. - * gcc.target/x86_64/abi/bf16/m512bf16/abi-bf16-zmm.exp: Ditto. - * gcc.target/x86_64/abi/bf16/m512bf16/args.h: Ditto. - * gcc.target/x86_64/abi/bf16/m512bf16/asm-support.S: Ditto. - * gcc.target/x86_64/abi/bf16/m512bf16/bf16-zmm-check.h: Ditto. - * gcc.target/x86_64/abi/bf16/m512bf16/test_m512_returning.c: Ditto. - * gcc.target/x86_64/abi/bf16/m512bf16/test_passing_m512.c: Ditto. - * gcc.target/x86_64/abi/bf16/m512bf16/test_passing_structs.c: Ditto. - * gcc.target/x86_64/abi/bf16/m512bf16/test_passing_unions.c: Ditto. - * gcc.target/x86_64/abi/bf16/m512bf16/test_varargs-m512.c: Ditto. - * gcc.target/x86_64/abi/bf16/macros.h: Ditto. - * gcc.target/x86_64/abi/bf16/test_3_element_struct_and_unions.c: Ditto. - * gcc.target/x86_64/abi/bf16/test_basic_alignment.c: Ditto. - * gcc.target/x86_64/abi/bf16/test_basic_array_size_and_align.c: Ditto. - * gcc.target/x86_64/abi/bf16/test_basic_returning.c: Ditto. - * gcc.target/x86_64/abi/bf16/test_basic_sizes.c: Ditto. - * gcc.target/x86_64/abi/bf16/test_basic_struct_size_and_align.c: Ditto. - * gcc.target/x86_64/abi/bf16/test_basic_union_size_and_align.c: Ditto. - * gcc.target/x86_64/abi/bf16/test_m128_returning.c: Ditto. - * gcc.target/x86_64/abi/bf16/test_passing_floats.c: Ditto. - * gcc.target/x86_64/abi/bf16/test_passing_m128.c: Ditto. - * gcc.target/x86_64/abi/bf16/test_passing_structs.c: Ditto. - * gcc.target/x86_64/abi/bf16/test_passing_unions.c: Ditto. - * gcc.target/x86_64/abi/bf16/test_struct_returning.c: Ditto. - * gcc.target/x86_64/abi/bf16/test_varargs-m128.c: Ditto. - -2022-08-18 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/cpp/c11-warning-1.c, gcc.dg/cpp/c11-warning-2.c, - gcc.dg/cpp/c11-warning-3.c, gcc.dg/cpp/c11-warning-4.c, - gcc.dg/cpp/c2x-warning-1.c, gcc.dg/cpp/c2x-warning-2.c, - gcc.dg/cpp/gnu11-warning-1.c, gcc.dg/cpp/gnu11-warning-2.c, - gcc.dg/cpp/gnu11-warning-3.c, gcc.dg/cpp/gnu11-warning-4.c, - gcc.dg/cpp/gnu2x-warning-1.c, gcc.dg/cpp/gnu2x-warning-2.c: New - tests. - -2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * gcc.target/xtensa/sibcalls.c: Add a new test function to ensure - that registers for arguments (occupy from A2 to A7) and for indirect - sibcall (should be assigned to A8) neither conflict nor spill out. - -2022-08-18 Harald Anlauf <anlauf@gmx.de> - - Revert: - 2022-08-18 Harald Anlauf <anlauf@gmx.de> - - PR fortran/77652 - * gfortran.dg/associated_target_9a.f90: New test. - * gfortran.dg/associated_target_9b.f90: New test. - -2022-08-18 Tim Lange <mail@tim-lange.me> - - PR analyzer/106181 - * gcc.dg/analyzer/allocation-size-1.c: New test. - * gcc.dg/analyzer/imprecise-floating-point-1.c: New test. - * gcc.dg/analyzer/pr106181.c: New test. - -2022-08-18 Richard Biener <rguenther@suse.de> - - PR middle-end/106617 - * gcc.dg/pr106617.c: New testcase. - -2022-08-18 konglin1 <lingling.kong@intel.com> - - * g++.target/i386/vect-bfloat16-1.C: New test. - * gcc.target/i386/vect-bfloat16-1.c: New test. - * gcc.target/i386/vect-bfloat16-2a.c: New test. - * gcc.target/i386/vect-bfloat16-2b.c: New test. - * gcc.target/i386/vect-bfloat16-typecheck_1.c: New test. - * gcc.target/i386/vect-bfloat16-typecheck_2.c: New test. - -2022-08-18 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/103109 - * gcc.target/powerpc/pr103109.h: New. - * gcc.target/powerpc/pr103109-1.c: New. - * gcc.target/powerpc/pr103109-2.c: New. - -2022-08-18 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/tls-gd-noplt.c: New test. - -2022-08-17 Maciej W. Rozycki <macro@embecosm.com> - - * gcc.target/riscv/fmax-snan.c: Add `dg-require-effective-target - hard_float'. - * gcc.target/riscv/fmaxf-snan.c: Likewise. - * gcc.target/riscv/fmin-snan.c: Likewise. - * gcc.target/riscv/fminf-snan.c: Likewise. - -2022-08-17 Marek Polacek <polacek@redhat.com> - - PR c++/67906 - * g++.dg/cpp0x/Wredundant-move11.C: New test. - -2022-08-17 Marek Polacek <polacek@redhat.com> - - PR c++/90428 - * g++.dg/cpp0x/Wredundant-move1.C: Adjust dg-warning. - * g++.dg/cpp0x/Wredundant-move9.C: Likewise. - * g++.dg/cpp0x/Wredundant-move10.C: New test. - -2022-08-17 Marek Polacek <polacek@redhat.com> - - PR c++/89780 - * g++.dg/cpp0x/Wpessimizing-move3.C: Remove dg-warning. - * g++.dg/cpp0x/Wredundant-move2.C: Likewise. - * g++.dg/cpp0x/Wpessimizing-move9.C: New file. - -2022-08-17 Marek Polacek <polacek@redhat.com> - - PR c++/106276 - * g++.dg/cpp0x/Wpessimizing-move7.C: Add dg-warning. - * g++.dg/cpp0x/Wpessimizing-move8.C: New test. - -2022-08-17 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/106566 - * gfortran.dg/gomp/declare-simd-4.f90: New test. - * gfortran.dg/gomp/declare-simd-5.f90: New test. - * gfortran.dg/gomp/declare-simd-6.f90: New test. - -2022-08-17 Tobias Burnus <tobias@codesourcery.com> - Chung-Lin Tang <cltang@codesourcery.com> - - PR c++/104493 - * g++.dg/gomp/unmappable-1.C: Remove dg-error; remove dg-note no - longer shown as TYPE_MAIN_DECL is NULL. - * c-c++-common/gomp/map-incomplete-type.c: New test. - -2022-08-17 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/fmax-fmin.c: New test. - -2022-08-16 Jason Merrill <jason@redhat.com> - - * g++.dg/warn/Wstringop-overflow-4.C: Only xfail for C++98. - * g++.target/i386/bfloat_cpp_typecheck.C: Remove xfail. - -2022-08-16 Tom Honermann <tom@honermann.net> - - PR c++/106423 - * g++.dg/cpp0x/keywords2.C: New test. - * g++.dg/cpp2a/keywords2.C: New test. - -2022-08-16 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/_Float16-zfh-1.c: New. - * gcc.target/riscv/_Float16-zfh-2.c: Ditto. - * gcc.target/riscv/_Float16-zfh-3.c: Ditto. - * gcc.target/riscv/_Float16-zfhmin-1.c: Ditto. - * gcc.target/riscv/_Float16-zfhmin-2.c: Ditto. - * gcc.target/riscv/_Float16-zfhmin-3.c: Ditto. - * gcc.target/riscv/arch-16.c: Ditto. - * gcc.target/riscv/arch-17.c: Ditto. - * gcc.target/riscv/predef-21.c: Ditto. - * gcc.target/riscv/predef-22.c: Ditto. - -2022-08-16 Kito Cheng <kito.cheng@sifive.com> - - * g++.target/riscv/_Float16.C: New. - * gcc.target/riscv/_Float16-soft-1.c: Ditto. - * gcc.target/riscv/_Float16-soft-2.c: Ditto. - * gcc.target/riscv/_Float16-soft-3.c: Ditto. - * gcc.target/riscv/_Float16-soft-4.c: Ditto. - * gcc.target/riscv/_Float16.c: Ditto. - -2022-08-16 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp2a/volatile1.C: Adjust for de-deprecation of volatile - compound |=, &= and ^= operations. - * g++.dg/cpp2a/volatile3.C: Likewise. - * g++.dg/cpp2a/volatile5.C: Likewise. - -2022-08-16 Richard Biener <rguenther@suse.de> - - PR middle-end/106630 - * gcc.dg/torture/pr106630.c: New testcase. - -2022-08-16 Kewen.Lin <linkw@gcc.gnu.org> - - PR target/103353 - * gcc.target/powerpc/pr103353.c: New test. - -2022-08-16 Kewen Lin <linkw@linux.ibm.com> - - PR tree-optimization/106322 - * gcc.target/i386/pr106322.c: New test. - * gcc.target/powerpc/pr106322.c: New test. - -2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/106623 - * gdc.dg/torture/pr106623.d: New test. - -2022-08-15 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106626 - * gcc.dg/analyzer/out-of-bounds-read-char-arr.c: New test. - * gcc.dg/analyzer/out-of-bounds-read-int-arr.c: New test. - * gcc.dg/analyzer/out-of-bounds-write-char-arr.c: New test. - * gcc.dg/analyzer/out-of-bounds-write-int-arr.c: New test. - -2022-08-15 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106621 - * gcc.dg/pr106621.c - -2022-08-15 Immad Mir <mirimmad@outlook.com> - - PR analyzer/106551 - * gcc.dg/analyzer/fd-dup-1.c: New testcase. - -2022-08-15 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/sse4_1-stv-9.c: New test case. - -2022-08-15 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/64992 - * gcc.dg/pr64992.c: New test case. - -2022-08-15 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/71343 - * gcc.dg/pr71343-1.c: New test case. - -2022-08-15 Nathan Sidwell <nathan@acm.org> - - * g++.dg/modules/loc-prune-4.C: Adjust regexp - -2022-08-15 Marek Polacek <polacek@redhat.com> - - PR c++/106276 - * g++.dg/cpp0x/Wpessimizing-move7.C: New test. - -2022-08-15 Alexandre Oliva <oliva@adacore.com> - - * g++.dg/abi/anon1.C: Disable pie on ia32. - * g++.dg/abi/anon4.C: Likewise. - * g++.dg/cpp0x/initlist-const1.C: Likewise. - * g++.dg/no-stack-protector-attr-3.C: Likewise. - * g++.dg/stackprotectexplicit2.C: Likewise. - * g++.dg/pr71694.C: Likewise. - * gcc.dg/pr102892-1.c: Likewise. - * gcc.dg/sibcall-11.c: Likewise. - * gcc.dg/torture/builtin-self.c: Likewise. - * gcc.target/i386/avx2-dest-false-dep-for-glc.c: Likewise. - * gcc.target/i386/avx512bf16-cvtsbh2ss-1.c: Likewise. - * gcc.target/i386/avx512f-broadcast-pr87767-1.c: Likewise. - * 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/avx512fp16-broadcast-1.c: Likewise. - * gcc.target/i386/avx512fp16-pr101846.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/pr100865-2.c: Likewise. - * gcc.target/i386/pr100865-3.c: Likewise. - * gcc.target/i386/pr100865-4a.c: Likewise. - * gcc.target/i386/pr100865-4b.c: Likewise. - * gcc.target/i386/pr100865-5a.c: Likewise. - * gcc.target/i386/pr100865-5b.c: Likewise. - * gcc.target/i386/pr100865-6a.c: Likewise. - * gcc.target/i386/pr100865-6b.c: Likewise. - * gcc.target/i386/pr100865-6c.c: Likewise. - * gcc.target/i386/pr100865-7b.c: Likewise. - * gcc.target/i386/pr101796-1.c: Likewise. - * gcc.target/i386/pr101846-2.c: Likewise. - * gcc.target/i386/pr101989-broadcast-1.c: Likewise. - * gcc.target/i386/pr102021.c: Likewise. - * gcc.target/i386/pr90773-17.c: Likewise. - * gcc.target/i386/pr54855-3.c: Likewise. - * gcc.target/i386/pr54855-7.c: Likewise. - * gcc.target/i386/pr15184-1.c: Likewise. - * gcc.target/i386/pr15184-2.c: Likewise. - * gcc.target/i386/pr27971.c: Likewise. - * gcc.target/i386/pr70263-2.c: Likewise. - * gcc.target/i386/pr78035.c: Likewise. - * gcc.target/i386/pr81736-5.c: Likewise. - * gcc.target/i386/pr81736-7.c: Likewise. - * gcc.target/i386/pr85620-6.c: Likewise. - * gcc.target/i386/pr85667-6.c: Likewise. - * gcc.target/i386/pr93492-5.c: Likewise. - * gcc.target/i386/pr96539.c: Likewise. - PR target/81708 (%gs:my_guard) - * gcc.target/i386/stack-prot-sym.c: Likewise. - * g++.dg/init/static-cdtor1.C: Add alternate patterns for PIC. - * gcc.target/i386/avx512fp16-vcvtsh2si-1a.c: Extend patterns - for PIC/PIE register allocation. - * gcc.target/i386/pr100704-3.c: Likewise. - * gcc.target/i386/avx512fp16-vcvtsh2usi-1a.c: Likewise. - * gcc.target/i386/avx512fp16-vcvttsh2si-1a.c: Likewise. - * gcc.target/i386/avx512fp16-vcvttsh2usi-1a.c: Likewise. - * gcc.target/i386/avx512fp16-vmovsh-1a.c: Likewise. - * gcc.target/i386/interrupt-11.c: Likewise, allowing for - preservation of the PIC register. - * gcc.target/i386/interrupt-12.c: Likewise. - * gcc.target/i386/interrupt-13.c: Likewise. - * gcc.target/i386/interrupt-15.c: Likewise. - * gcc.target/i386/interrupt-16.c: Likewise. - * gcc.target/i386/interrupt-17.c: Likewise. - * gcc.target/i386/interrupt-8.c: Likewise. - * gcc.target/i386/cet-sjlj-6a.c: Combine patterns from - previous change. - * gcc.target/i386/cet-sjlj-6b.c: Likewise. - * gcc.target/i386/pad-10.c: Accept insns in get_pc_thunk. - * gcc.target/i386/pr70321.c: Likewise. - * gcc.target/i386/pr81563.c: Likewise. - * gcc.target/i386/pr84278.c: Likewise. - * gcc.target/i386/pr90773-2.c: Likewise, plus extra loads from - the GOT. - * gcc.target/i386/pr90773-3.c: Likewise. - * gcc.target/i386/pr94913-2.c: Accept additional PIC insns. - * gcc.target/i386/stack-check-17.c: Likewise. - * gcc.target/i386/stack-check-12.c: Do not require dummy stack - probing obviated with PIC. - * gcc.target/i386/pr95126-m32-1.c: Expect missed optimization - with PIC. - * gcc.target/i386/pr95126-m32-2.c: Likewise. - * gcc.target/i386/pr95852-2.c: Accept different optimization - with PIC. - * gcc.target/i386/pr95852-4.c: Likewise. - -2022-08-15 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/106590 - * gcc.dg/torture/pr106590.c: New test. - -2022-08-15 konglin1 <lingling.kong@intel.com> - - * g++.target/i386/bfloat_cpp_typecheck.C: New test. - * gcc.target/i386/bfloat16-1.c: Ditto. - * gcc.target/i386/sse2-bfloat16-1.c: Ditto. - * gcc.target/i386/sse2-bfloat16-2.c: Ditto. - * gcc.target/i386/sse2-bfloat16-scalar-typecheck.c: Ditto. - -2022-08-13 Tim Lange <mail@tim-lange.me> - - * gcc.dg/analyzer/torture/pr93451.c: - Disable Wanalyzer-out-of-bounds. - -2022-08-12 Jan Hubicka <hubicka@ucw.cz> - - PR middle-end/106057 - * g++.dg/tree-ssa/pr101839.C: New test. - -2022-08-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106506 - * g++.dg/opt/pr94589-2.C: New test. - -2022-08-12 Tamar Christina <tamar.christina@arm.com> - - PR target/106524 - * gcc.target/aarch64/sve/pr106524.c: New test. - -2022-08-12 Tim Lange <mail@tim-lange.me> - - PR analyzer/106000 - * g++.dg/analyzer/pr100244.C: Disable out-of-bounds warning. - * gcc.dg/analyzer/allocation-size-3.c: - Disable out-of-bounds warning. - * gcc.dg/analyzer/memcpy-2.c: Disable out-of-bounds warning. - * gcc.dg/analyzer/pr101962.c: Add dg-warning. - * gcc.dg/analyzer/pr96764.c: Disable out-of-bounds warning. - * gcc.dg/analyzer/pr97029.c: - Add dummy buffer to prevent an out-of-bounds warning. - * gcc.dg/analyzer/realloc-5.c: Add dg-warning. - * gcc.dg/analyzer/test-setjmp.h: - Add dummy buffer to prevent an out-of-bounds warning. - * gcc.dg/analyzer/zlib-3.c: Add dg-bogus. - * g++.dg/analyzer/out-of-bounds-placement-new.C: New test. - * gcc.dg/analyzer/out-of-bounds-1.c: New test. - * gcc.dg/analyzer/out-of-bounds-2.c: New test. - * gcc.dg/analyzer/out-of-bounds-3.c: New test. - * gcc.dg/analyzer/out-of-bounds-container_of.c: New test. - * gcc.dg/analyzer/out-of-bounds-coreutils.c: New test. - * gcc.dg/analyzer/out-of-bounds-curl.c: New test. - -2022-08-12 Tim Lange <mail@tim-lange.me> - - PR analyzer/106539 - * gcc.dg/analyzer/pr106539.c: New test. - * gcc.dg/analyzer/realloc-5.c: New test. - -2022-08-11 David Edelsohn <dje.gcc@gmail.com> - - * gcc.dg/analyzer/fd-4.c: Define _MODE_T on AIX. - -2022-08-11 David Edelsohn <dje.gcc@gmail.com> - - * g++.dg/cpp0x/initlist-const1.C: XFAIL on AIX. - -2022-08-11 Immad Mir <mirimmad@outlook.com> - - * gcc.dg/analyzer/fd-dup-1.c: New testcases. - * gcc.dg/analyzer/fd-uninit-1.c: Remove bogus - warning. - -2022-08-11 Marek Polacek <polacek@redhat.com> - - PR middle-end/102633 - * c-c++-common/Winit-self1.c: New test. - * c-c++-common/Winit-self2.c: New test. - -2022-08-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106514 - * gcc.dg/tree-ssa/ssa-thread-19.c: Un-XFAIL. - * gcc.dg/tree-ssa/ssa-thread-20.c: New testcase. - -2022-08-11 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106243 - * gcc.dg/pr106243.c: Add -Wno-psabi to dg-options. - * gcc.dg/pr106243-1.c: Likewise. - -2022-08-11 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104992 - * gcc.dg/pr104992.c: Add -Wno-psabi to dg-options. - * g++.dg/pr104992-1.C: Likewise. Add space between " and } in - dg-options. - -2022-08-11 Richard Biener <rguenther@suse.de> - - * gcc.dg/tree-ssa/ssa-thread-18.c: New testcase. - * gcc.dg/tree-ssa/ssa-thread-19.c: Likewise, but XFAILed. - -2022-08-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106513 - * gcc.dg/torture/pr106513.c: New testcase. - -2022-08-10 Roger Sayle <roger@nextmovesoftware.com> - - PR other/106575 - * gcc.dg/fold-eqandshift-4.c: Use "signed char" explicitly. - -2022-08-09 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106573 - * gcc.dg/analyzer/error-uninit.c: New test. - * gcc.dg/analyzer/fd-uninit-1.c: New test. - * gcc.dg/analyzer/file-uninit-1.c: New test. - -2022-08-09 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/sse4_1-stv-8.c: New test case. - -2022-08-09 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR middle-end/21137 - PR tree-optimization/98954 - * gcc.dg/fold-eqandshift-4.c: New test case. - -2022-08-09 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/106563 - * gdc.dg/torture/torture.exp (srcdir): New proc. - * gdc.dg/torture/imports/pr106563math.d: New test. - * gdc.dg/torture/imports/pr106563regex.d: New test. - * gdc.dg/torture/imports/pr106563uni.d: New test. - * gdc.dg/torture/pr106563.d: New test. - -2022-08-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106514 - * gcc.dg/tree-ssa/ssa-thread-16.c: New testcase. - * gcc.dg/tree-ssa/ssa-thread-17.c: Likewise. - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust. - -2022-08-09 Tobias Burnus <tobias@codesourcery.com> - - PR middle-end/106492 - * g++.dg/gomp/pr106492.C: New test. - -2022-08-08 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106556 - * gfortran.dg/pr106556.f90: New. - -2022-08-08 Tom Honermann <tom@honermann.net> - - PR preprocessor/106426 - * g++.dg/ext/char8_t-char-literal-1.C: Check signedness of u8 literals. - * g++.dg/ext/char8_t-char-literal-2.C: Check signedness of u8 literals. - -2022-08-08 Tom Honermann <tom@honermann.net> - - * gcc.dg/atomic/c2x-stdatomic-lockfree-char8_t.c: New test. - * gcc.dg/atomic/gnu2x-stdatomic-lockfree-char8_t.c: New test. - * gcc.dg/c11-utf8str-type.c: New test. - * gcc.dg/c17-utf8str-type.c: New test. - * gcc.dg/c2x-utf8str-type.c: New test. - * gcc.dg/c2x-utf8str.c: New test. - * gcc.dg/gnu2x-utf8str-type.c: New test. - * gcc.dg/gnu2x-utf8str.c: New test. - -2022-08-08 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/106555 - * gdc.dg/imports/pr106555.d: New test. - * gdc.dg/pr106555.d: New test. - -2022-08-08 Andrew Pinski <apinski@marvell.com> - - * gcc.dg/pr87052.c: Update d var to expect nothing. - -2022-08-08 Andrew Pinski <apinski@marvell.com> - - * gcc.dg/tree-ssa/pr93776.c: Moved to... - * gcc.c-torture/compile/pr93776.c: ...here. - -2022-08-07 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/cmpti2.c: Add -mno-stv to dg-options. - -2022-08-07 Jakub Jelinek <jakub@redhat.com> - - PR c++/88174 - * g++.dg/cpp1y/constexpr-complex1.C: New test. - -2022-08-07 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/cmpti1.c: New test case. - * gcc.target/i386/cmpti2.c: Likewise. - * gcc.target/i386/cmpti3.c: Likewise. - -2022-08-05 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105947 - * gcc.dg/analyzer/function-ptr-5.c: New test. - -2022-08-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106533 - * gcc.dg/tree-ssa/ldist-39.c: New testcase. - -2022-08-05 Haochen Gui <guihaoc@gcc.gnu.org> - - * lib/target-supports.exp (check_p9modulo_hw_available): Correct return - value. - -2022-08-04 Tamar Christina <tamar.christina@arm.com> - - * gcc.dg/subnot.c: New test. - -2022-08-04 Tamar Christina <tamar.christina@arm.com> - - PR middle-end/106519 - * gcc.dg/pr106519.c: New test. - -2022-08-04 Sam Feifer <sfeifer@redhat.com> - - PR tree-optimization/106243 - * gcc.dg/pr106243-1.c: New test. - * gcc.dg/pr106243.c: New test. - -2022-08-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106521 - * gcc.dg/torture/pr106521.c: New testcase. - -2022-08-03 Jose E. Marchesi <jose.marchesi@oracle.com> - - PR testsuite/106515 - * gcc.dg/debug/btf/btf-int-1.c: Fix regexps in - scan-assembler-times. - -2022-08-03 Tamar Christina <tamar.christina@arm.com> - - * gcc.dg/tree-ssa/split-path-1.c: Disable phi-opts so we don't optimize - code away. - * gcc.dg/tree-ssa/minmax-10.c: New test. - * gcc.dg/tree-ssa/minmax-11.c: New test. - * gcc.dg/tree-ssa/minmax-12.c: New test. - * gcc.dg/tree-ssa/minmax-13.c: New test. - * gcc.dg/tree-ssa/minmax-14.c: New test. - * gcc.dg/tree-ssa/minmax-15.c: New test. - * gcc.dg/tree-ssa/minmax-16.c: New test. - * gcc.dg/tree-ssa/minmax-3.c: New test. - * gcc.dg/tree-ssa/minmax-4.c: New test. - * gcc.dg/tree-ssa/minmax-5.c: New test. - * gcc.dg/tree-ssa/minmax-6.c: New test. - * gcc.dg/tree-ssa/minmax-7.c: New test. - * gcc.dg/tree-ssa/minmax-8.c: New test. - * gcc.dg/tree-ssa/minmax-9.c: New test. - -2022-08-03 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - PR target/47949 - * gcc.target/i386/pr47949.c: New test case. - -2022-08-03 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/sse4_1-stv-7.c: New test case. - -2022-08-02 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106510 - * gcc.dg/pr106510.c: New. - -2022-08-02 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/tree-ssa/vrp-float-1.c: Adjust test so it passes. - -2022-08-02 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106474 - * g++.dg/pr106474.C: New. - -2022-08-02 Jose E. Marchesi <jose.marchesi@oracle.com> - - * gcc.dg/debug/btf/btf-int-1.c: Do not check for char bits in - bti_encoding and check for bool bits. - -2022-08-02 Immad Mir <mirimmad@outlook.com> - - PR analyzer/106298 - * gcc.dg/analyzer/fd-1.c: Add tests for 'creat'. - * gcc.dg/analyzer/fd-2.c: Likewise. - * gcc.dg/analyzer/fd-4.c: Likewise. - * gcc.dg/analyzer/fd-dup-1.c: New tests. - -2022-08-02 Aldy Hernandez <aldyh@redhat.com> - - * g++.dg/opt/pr94589-2.C: XFAIL. - * gcc.dg/tree-ssa/vrp-float-1.c: New test. - * gcc.dg/tree-ssa/vrp-float-11.c: New test. - * gcc.dg/tree-ssa/vrp-float-3.c: New test. - * gcc.dg/tree-ssa/vrp-float-4.c: New test. - * gcc.dg/tree-ssa/vrp-float-6.c: New test. - * gcc.dg/tree-ssa/vrp-float-7.c: New test. - * gcc.dg/tree-ssa/vrp-float-8.c: New test. - -2022-08-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106497 - * gcc.dg/torture/pr106497.c: New testcase. - -2022-08-01 David Malcolm <dmalcolm@redhat.com> - - * gcc.target/i386/addr-space-typeck-1.c: New test. - * gcc.target/i386/addr-space-typeck-2.c: New test. - -2022-08-01 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - PR target/106481 - * gcc.target/i386/pr106481.c: New test case. - -2022-08-01 H.J. Lu <hjl.tools@gmail.com> - - PR target/83782 - * gcc.target/i386/pr83782-1.c: Require non-ia32. - * gcc.target/i386/pr83782-2.c: Likewise. - * gcc.target/i386/pr83782-3.c: New test. - -2022-08-01 Jose E. Marchesi <jose.marchesi@oracle.com> - - PR debug/106263 - * gcc.dg/debug/btf/btf-function-4.c: New test. - * gcc.dg/debug/btf/btf-function-5.c: Likewise. - -2022-08-01 Sam Feifer <sfeifer@redhat.com> - - PR tree-optimization/104992 - * g++.dg/pr104992-1.C: New test. - * gcc.dg/pr104992.c: New test. - -2022-07-31 Roger Sayle <roger@nextmovesoftware.com> - H.J. Lu <hjl.tools@gmail.com> - - PR target/106450 - * gcc.target/i386/pr106450.c: New test case. - -2022-07-31 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/92805 - * gfortran.dg/literal_constants.f: New test. - * gfortran.dg/literal_constants.f90: New test. - -2022-07-31 Harald Anlauf <anlauf@gmx.de> - - PR fortran/77652 - * gfortran.dg/associated_target_9a.f90: New test. - * gfortran.dg/associated_target_9b.f90: New test. - -2022-07-31 Lewis Hyatt <lhyatt@gmail.com> - - PR c++/66290 - * c-c++-common/pragma-diag-15.c: Remove xfail for C++. - -2022-07-31 Jason Merrill <jason@redhat.com> - - PR c++/106369 - * g++.dg/cpp1z/constexpr-lambda27.C: New test. - -2022-07-29 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/declare-simd-3.f90: New test. - -2022-07-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106422 - * gcc.dg/torture/pr106422.c: New testcase. - -2022-07-29 Jakub Jelinek <jakub@redhat.com> - - PR c++/106448 - * c-c++-common/gomp/atomic-32.c: New test. - -2022-07-28 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105893 - * gcc.dg/analyzer/putenv-1.c: New test. - -2022-07-28 Maciej W. Rozycki <macro@embecosm.com> - - * gcc.target/riscv/fle-ieee.c: New test. - * gcc.target/riscv/fle-snan.c: New test. - * gcc.target/riscv/fle.c: New test. - * gcc.target/riscv/flef-ieee.c: New test. - * gcc.target/riscv/flef-snan.c: New test. - * gcc.target/riscv/flef.c: New test. - * gcc.target/riscv/flt-ieee.c: New test. - * gcc.target/riscv/flt-snan.c: New test. - * gcc.target/riscv/flt.c: New test. - * gcc.target/riscv/fltf-ieee.c: New test. - * gcc.target/riscv/fltf-snan.c: New test. - * gcc.target/riscv/fltf.c: New test. - -2022-07-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106099 - * gcc.dg/ubsan/pr106099.c: New test. - -2022-07-27 Lewis Hyatt <lhyatt@gmail.com> - - * c-c++-common/pragma-diag-14.c: New test. - * c-c++-common/pragma-diag-15.c: New test. - -2022-07-27 Immad Mir <mirimmad@outlook.com> - - PR analyzer/106286 - * gcc.dg/analyzer/fd-meaning.c: New test. - -2022-07-27 Jakub Jelinek <jakub@redhat.com> - - PR debug/106261 - * g++.dg/debug/pr106261.C: New test. - -2022-07-27 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/94920 - * g++.dg/pr94920.C: Add -Wno-psabi to dg-options. - * g++.dg/pr94920-1.C: Add dg-additional-options -Wno-psabi. - -2022-07-27 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106397 - * gcc.dg/pr106397.c: For ia32, add dg-additional-options - -march=i686 -msse. - -2022-07-26 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106319 - * gcc.dg/analyzer/stdarg-types-3.c: New test. - * gcc.dg/analyzer/stdarg-types-4.c: New test. - -2022-07-26 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103504 - * gfortran.dg/pr103504.f90: New test. - -2022-07-26 Peter Bergner <bergner@linux.ibm.com> - - PR c/106016 - * gcc.target/powerpc/pr106016.c: New test. - -2022-07-26 Marek Polacek <polacek@redhat.com> - - PR c++/106311 - * g++.dg/template/redecl5.C: New test. - -2022-07-26 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/106444 - * gcc.dg/tree-ssa/evrp4.c: Adjust. - -2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com> - - * gcc.target/aarch64/advsimd-intrinsics/combine.c: - New test. - -2022-07-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106189 - * gcc.dg/pr106189.c: New testcase. - -2022-07-26 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/func-call-1.c: Add build option '-mno-explicit-relocs'. - * gcc.target/loongarch/func-call-2.c: Add build option '-mno-explicit-relocs'. - * gcc.target/loongarch/func-call-3.c: Add build option '-mno-explicit-relocs'. - * gcc.target/loongarch/func-call-4.c: Add build option '-mno-explicit-relocs'. - * gcc.target/loongarch/func-call-5.c: New test. - * gcc.target/loongarch/func-call-6.c: New test. - * gcc.target/loongarch/func-call-7.c: New test. - * gcc.target/loongarch/func-call-8.c: New test. - * gcc.target/loongarch/relocs-symbol-noaddend.c: New test. - -2022-07-26 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/func-call-1.c: New test. - * gcc.target/loongarch/func-call-2.c: New test. - * gcc.target/loongarch/func-call-3.c: New test. - * gcc.target/loongarch/func-call-4.c: New test. - -2022-07-26 Kewen Lin <linkw@linux.ibm.com> - - PR target/106091 - * gcc.target/powerpc/pr106091.c: New test. - -2022-07-26 Jason Merrill <jason@redhat.com> - - PR c++/106230 - * g++.dg/cpp0x/range-for38.C: New test. - -2022-07-25 Martin Liska <mliska@suse.cz> - - * gcc.dg/analyzer/fd-2.c: Convert Windows endlines to Unix - style. - * gcc.dg/analyzer/fd-3.c: Likewise. - * gcc.dg/analyzer/fd-4.c: Likewise. - * gcc.dg/analyzer/fd-5.c: Likewise. - * c-c++-common/attr-fd.c: Likewise. - -2022-07-25 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - PR target/91681 - * g++.target/i386/pr91681.C: New test case (from the PR). - * gcc.target/i386/pr91681-1.c: New int128 test case. - * gcc.target/i386/pr91681-2.c: Likewise. - * gcc.target/i386/pr91681-3.c: Likewise, but for ia32. - -2022-07-25 Jason Merrill <jason@redhat.com> - - PR c++/87729 - * g++.dg/warn/Woverloaded-virt4.C: New test. - -2022-07-25 Richard Biener <rguenther@suse.de> - - PR middle-end/106414 - * gcc.dg/torture/pr106414-1.c: New testcase. - * gcc.dg/torture/pr106414-2.c: Likewise. - -2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.target/aarch64/acle/data-intrinsics.c: New test. - -2022-07-25 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp0x/nsdmi-union7.C: Fix PR number. - -2022-07-24 Roger Sayle <roger@nextmovesoftware.com> - H.J. Lu <hjl.tools@gmail.com> - - PR target/106303 - PR target/106347 - * gcc.target/i386/pr106303.c: New test case. - * gcc.target/i386/pr106347.c: New test case. - -2022-07-23 Immad Mir <mirimmad@outlook.com> - - * gcc.dg/analyzer/fd-5.c: New test. - * gcc.dg/analyzer/fd-4.c: Remove quotes around 'read-only' and - 'write-only'. - * c-c++-common/attr-fd.c: New test. - -2022-07-22 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106413 - * gcc.dg/analyzer/torture/stdarg-4.c: New test. - -2022-07-22 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106401 - * gcc.dg/analyzer/memcpy-2.c: New test. - -2022-07-22 Patrick Palka <ppalka@redhat.com> - - PR c++/106366 - * g++.dg/cpp1z/class-deduction112.C: New test. - -2022-07-22 Tim Lange <mail@tim-lange.me> - - PR analyzer/106394 - * gcc.dg/analyzer/pr106394.c: New test. - -2022-07-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106397 - * gcc.dg/pr106397.c: New testcase. - -2022-07-22 liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/106010 - * gcc.dg/pr23911.c: Scan IMAGPART/REALPART_EXPR = ** instead - of __complex__ since COMPLEX_CST is lower to scalars. - -2022-07-22 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr106038-1.c: New test. - -2022-07-21 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106383 - * gcc.dg/analyzer/stdarg-3.c: New test. - -2022-07-21 Sam Feifer <sfeifer@redhat.com> - - PR tree-optimization/94920 - * g++.dg/pr94920-1.C: New test. - * g++.dg/pr94920.C: New test. - * gcc.dg/pr94920-2.c: New test. - -2022-07-21 Jason Merrill <jason@redhat.com> - - PR c++/106361 - * g++.dg/cpp2a/spaceship-eq14.C: New test. - -2022-07-21 Jason Merrill <jason@redhat.com> - - DR 2084 - PR c++/94823 - * g++.dg/cpp0x/nsdmi-union7.C: New test. - -2022-07-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106379 - * gcc.dg/pr106379-1.c: New testcase. - -2022-07-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106365 - * gcc.target/i386/vec-maskstore-vn.c: New testcase. - -2022-07-21 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106374 - * gcc.dg/analyzer/untracked-2.c: New test. - -2022-07-20 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106373 - * gcc.dg/analyzer/torture/taint-read-index-3.c: New test. - -2022-07-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/101330 - * gfortran.dg/gomp/affinity-clause-7.f90: New test. - -2022-07-20 liuhongt <hongtao.liu@intel.com> - - * gcc.dg/pow-sqrt-synth-1.c: Adjust testcase. - -2022-07-20 Richard Biener <richard.guenther@gmail.com> - Hongtao Liu <hongtao.liu@intel.com> - - * gcc.target/i386/pr106010-1a.c: New test. - * gcc.target/i386/pr106010-1b.c: New test. - * gcc.target/i386/pr106010-1c.c: New test. - * gcc.target/i386/pr106010-2a.c: New test. - * gcc.target/i386/pr106010-2b.c: New test. - * gcc.target/i386/pr106010-2c.c: New test. - * gcc.target/i386/pr106010-3a.c: New test. - * gcc.target/i386/pr106010-3b.c: New test. - * gcc.target/i386/pr106010-3c.c: New test. - * gcc.target/i386/pr106010-4a.c: New test. - * gcc.target/i386/pr106010-4b.c: New test. - * gcc.target/i386/pr106010-4c.c: New test. - * gcc.target/i386/pr106010-5a.c: New test. - * gcc.target/i386/pr106010-5b.c: New test. - * gcc.target/i386/pr106010-5c.c: New test. - * gcc.target/i386/pr106010-6a.c: New test. - * gcc.target/i386/pr106010-6b.c: New test. - * gcc.target/i386/pr106010-6c.c: New test. - * gcc.target/i386/pr106010-7a.c: New test. - * gcc.target/i386/pr106010-7b.c: New test. - * gcc.target/i386/pr106010-7c.c: New test. - * gcc.target/i386/pr106010-8a.c: New test. - * gcc.target/i386/pr106010-8b.c: New test. - * gcc.target/i386/pr106010-8c.c: New test. - * gcc.target/i386/pr106010-9a.c: New test. - * gcc.target/i386/pr106010-9b.c: New test. - * gcc.target/i386/pr106010-9c.c: New test. - * gcc.target/i386/pr106010-9d.c: New test. - -2022-07-19 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103590 - * gfortran.dg/associate_54.f90: Adjust. - * gfortran.dg/associate_59.f90: New test. - -2022-07-19 Patrick Palka <ppalka@redhat.com> - - PR c++/94894 - PR c++/105766 - PR c++/106201 - * g++.dg/conversion/ref8.C: New test. - * g++.dg/conversion/ref9.C: New test. - -2022-07-19 Alexander Monakov <amonakov@ispras.ru> - - * gcc.dg/setjmp-7.c: New test. - -2022-07-19 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106321 - * gcc.dg/analyzer/torture/taint-read-index-2.c: Add test coverage - for switch statements. - -2022-07-19 Richard Biener <rguenther@suse.de> - - PR middle-end/106331 - * gfortran.dg/pr106331.f90: New testcase. - -2022-07-19 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR c/106264 - * gcc.dg/pr106264.c: New test case. - -2022-07-18 Richard Biener <rguenther@suse.de> - - * gcc.dg/tree-ssa/ldist-24.c: XFAIL. - * gcc.dg/tree-ssa/ldist-36.c: Adjust expected outcome. - -2022-07-18 Richard Sandiford <richard.sandiford@arm.com> - - PR target/106253 - * gcc.target/arm/vect_unary_1.c: New test. - * gcc.target/arm/vect_binary_1.c: Likewise. - -2022-07-18 Claudiu Zissulescu <claziss@gmail.com> - - * gcc.target/arc/interrupt-13.c: New file. - -2022-07-18 Roger Sayle <roger@nextmovesoftware.com> - - PR target/106231 - * gcc.target/i386/pr106231-1.c: New test case. - * gcc.target/i386/pr106231-2.c: New test case. - -2022-07-15 H.J. Lu <hjl.tools@gmail.com> - - PR target/85620 - * gcc.target/i386/pr85620-2.c: Updated. - * gcc.target/i386/pr85620-5.c: New test. - * gcc.target/i386/pr85620-6.c: Likewise. - * gcc.target/i386/pr85620-7.c: Likewise. - -2022-07-15 Roger Sayle <roger@nextmovesoftware.com> - - PR target/106273 - * gcc.target/i386/pr106273.c: New test case. - -2022-07-15 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/104313 - * gfortran.dg/pr104313.f: New test. - -2022-07-15 Marek Polacek <polacek@redhat.com> - - PR c++/104477 - * g++.dg/ext/reference_constructs_from_temporary1.C: New test. - * g++.dg/ext/reference_converts_from_temporary1.C: New test. - -2022-07-15 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106284 - * gcc.dg/analyzer/torture/taint-read-index-2.c: New test. - -2022-07-15 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.dg/pr106278.c: New test case. - -2022-07-15 konglin1 <lingling.kong@intel.com> - - PR target/106113 - * gcc.target/i386/avx-vcomisd-pr106113-2.c: New test. - * gcc.target/i386/avx-vcomiss-pr106113-2.c: Ditto. - * gcc.target/i386/avx-vucomisd-pr106113-2.c: Ditto. - * gcc.target/i386/avx-vucomiss-pr106113-2.c: Ditto. - * gcc.target/i386/sse-comiss-pr106113-1.c: Ditto. - * gcc.target/i386/sse-comiss-pr106113-2.c: Ditto. - * gcc.target/i386/sse-ucomiss-pr106113-1.c: Ditto. - * gcc.target/i386/sse-ucomiss-pr106113-2.c: Ditto. - * gcc.target/i386/sse2-comisd-pr106113-1.c: Ditto. - * gcc.target/i386/sse2-comisd-pr106113-2.c: Ditto. - * gcc.target/i386/sse2-ucomisd-pr106113-1.c: Ditto. - * gcc.target/i386/sse2-ucomisd-pr106113-2.c: Ditto. - -2022-07-14 H.J. Lu <hjl.tools@gmail.com> - - PR tree-optimization/103798 - * c-c++-common/pr103798-1.c: New test. - * c-c++-common/pr103798-2.c: Likewise. - * c-c++-common/pr103798-3.c: Likewise. - * c-c++-common/pr103798-4.c: Likewise. - * c-c++-common/pr103798-5.c: Likewise. - * c-c++-common/pr103798-6.c: Likewise. - * c-c++-common/pr103798-7.c: Likewise. - * c-c++-common/pr103798-8.c: Likewise. - * c-c++-common/pr103798-9.c: Likewise. - * c-c++-common/pr103798-10.c: Likewise. - -2022-07-14 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/106209 - * gfortran.dg/pr106209.f90: New test. - -2022-07-14 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/opt98.ads, gnat.dg/opt98.adb: New test. - -2022-07-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * gcc.target/xtensa/constsynth_double.c: - Modify in order to catch the issue. - -2022-07-13 Patrick Palka <ppalka@redhat.com> - - PR c++/105912 - * g++.dg/cpp2a/consteval31.C: New test. - -2022-07-13 Patrick Palka <ppalka@redhat.com> - - PR c++/105842 - * g++.dg/cpp2a/concepts-memtmpl6.C: New test. - -2022-07-13 Aldy Hernandez <aldyh@redhat.com> - - * g++.dg/ipa/pure-const-3.C: Adjust. - * gcc.dg/pr102983.c: Adjust. - -2022-07-13 Andrew Carlotti <andrew.carlotti@arm.com> - - * gcc.target/aarch64/advsimd-intrinsics/ignored_return_1.c: New test. - -2022-07-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106249 - * gcc.dg/pr106249.c: New testcase. - -2022-07-12 Harald Anlauf <anlauf@gmx.de> - - PR fortran/106049 - * gfortran.dg/pack_simplify_1.f90: New test. - -2022-07-12 Richard Sandiford <richard.sandiford@arm.com> - - PR target/106253 - * gcc.target/aarch64/vect_unary_1.c: Add tests for iroundf, - llround, iceilf, llceil, ifloorf, llfloor, irintf and llrint. - * gfortran.dg/vect/pr106253.f: New test. - -2022-07-12 Piotr Trojanek <trojanek@adacore.com> - - * gnat.dg/specs/discr5.ads: Expect new warnings. - * gnat.dg/specs/empty_variants.ads: Likewise. - * gnat.dg/specs/pack13.ads: Likewise. - -2022-07-12 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/vect_unary_1.c: New test. - -2022-07-12 Alexandre Oliva <oliva@adacore.com> - - * gcc.target/i386/cet-sjlj-6a.c: Cope with --enable-default-pie. - * gcc.target/i386/cet-sjlj-6b.c: Likewise. - * gcc.target/i386/fentryname3.c: Likewise. - * gcc.target/i386/mvc7.c: Likewise. - * gcc.target/i386/pr24414.c: Likewise. - * gcc.target/i386/pr93492-3.c: Likewise. - * gcc.target/i386/pr93492-5.c: Likewise. - * gcc.target/i386/pr98482-1.c: Likewise. - -2022-07-11 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/sse4_1-stv-2.c: New test case, pand. - * gcc.target/i386/sse4_1-stv-3.c: New test case, por. - * gcc.target/i386/sse4_1-stv-4.c: New test case, pxor. - * gcc.target/i386/sse4_1-stv-5.c: New test case, pandn. - * gcc.target/i386/sse4_1-stv-6.c: New test case, ptest. - -2022-07-11 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/106250 - * gcc.dg/vect/pr106250.c: New file. - -2022-07-11 Thomas Schwinge <thomas@codesourcery.com> - - * c-c++-common/gomp/pragma-3.c: Enhance '_Pragma' diagnostics - verification. - * c-c++-common/gomp/pragma-5.c: Likewise. - -2022-07-11 Richard Biener <rguenthert@suse.de> - - PR target/105459 - * gcc.dg/lto/pr105459_0.c: New testcase. - -2022-07-10 Lewis Hyatt <lhyatt@gmail.com> - - PR preprocessor/97498 - * c-c++-common/pr97498.c: New test. - * c-c++-common/gomp/pragma-3.c: Adapt for improved warning locations. - * c-c++-common/gomp/pragma-5.c: Likewise. - * gcc.dg/pragma-message.c: Likewise. - -2022-07-10 Dimitar Dimitrov <dimitar@dinux.eu> - - PR tree-optimization/106063 - * gcc.dg/pr106063.c: Require effective target int128. - -2022-07-10 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/div-4.c: New test. - -2022-07-10 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/div-1.c: New test. - * gcc.target/loongarch/div-2.c: New test. - * gcc.target/loongarch/div-3.c: New test. - -2022-07-10 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/mulw_d_w.c: New test. - * gcc.c-torture/execute/mul-sext.c: New test. - -2022-07-09 Vit Kabele <vit.kabele@sysgo.com> - - * c-c++-common/Wpadded.c: New test. - -2022-07-09 Sam Feifer <sfeifer@redhat.com> - - PR tree-optimization/98304 - * gcc.c-torture/execute/pr98304-2.c: New test. - * gcc.dg/pr98304-1.c: New test. - -2022-07-09 Andrew Pinski <apinski@marvell.com> - - PR tree-optimization/106087 - * gcc.c-torture/compile/inline-asm-1.c: New test. - -2022-07-08 Martin Jambor <mjambor@suse.cz> - - PR testsuite/106216 - * gcc.dg/tree-ssa/alias-access-path-13.c (union foo): Replace a long - int field with a struct that is larger than an int also on 32bit - platforms. - -2022-07-08 Lewis Hyatt <lhyatt@gmail.com> - - PR preprocessor/91733 - * c-c++-common/pr91733.c: New test. - -2022-07-08 Martin Liska <mliska@suse.cz> - - PR sanitizer/106132 - * c-c++-common/hwasan/arguments-3.c: Cover new ICE. - -2022-07-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106226 - * gfortran.dg/pr106226.f: New testcase. - -2022-07-08 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/106063 - * gcc.dg/pr106063.c: New test. - -2022-07-08 Tamar Christina <tamar.christina@arm.com> - - * g++.target/aarch64/complex-init.C: New test. - -2022-07-08 Haochen Jiang <haochen.jiang@intel.com> - - PR target/106180 - * g++.target/i386/pr106180-1.C: New test. - -2022-07-08 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/prolog-opt.c: New test. - -2022-07-07 Patrick Palka <ppalka@redhat.com> - - PR c++/105956 - * g++.dg/cpp0x/variadic183.C: New test. - -2022-07-07 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106225 - * gcc.dg/analyzer/taint-divisor-1.c: Add test coverage for various - correct and incorrect checks against zero. - -2022-07-07 Jason Merrill <jason@redhat.com> - - PR c++/87729 - * g++.dg/warn/Woverloaded-virt3.C: New test. - -2022-07-07 Richard Biener <rguenther@suse.de> - - PR target/106219 - * g++.dg/pr106219.C: New testcase. - -2022-07-07 Jonathan Wakely <jwakely@redhat.com> - - * gcc.target/powerpc/ppc-fortran/pr80108-1.f90: Change - -mfloat128-type to -mfloat128. - -2022-07-06 Lewis Hyatt <lhyatt@gmail.com> - - PR preprocessor/53920 - PR c++/53431 - * c-c++-common/pragma-diag-11.c: New test. - * c-c++-common/pragma-diag-12.c: New test. - * c-c++-common/pragma-diag-13.c: New test. - -2022-07-06 Immad Mir <mirimmad@outlook.com> - - * gcc.dg/analyzer/fd-4.c: Add a new testcase to demonstrate - passsing of a closed file descriptor to a function that does - not emit any warning. - -2022-07-06 Immad Mir <mirimmad@outlook.com> - - * gcc.dg/analyzer/fd-4.c (test_3): change the message note to conform to the - changes in analyzer/sm-fd.cc - (test_4): Likewise. - -2022-07-06 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106204 - * gcc.dg/analyzer/torture/uninit-pr106204.c: New test. - * gcc.dg/analyzer/uninit-pr106204.c: New test. - -2022-07-06 Jason Merrill <jason@redhat.com> - - PR c++/106179 - PR c++/106024 - * g++.dg/template/operator16.C: New test. - -2022-07-05 Marek Polacek <polacek@redhat.com> - - PR c++/105626 - * g++.dg/warn/Wformat-char8_t-1.C: New test. - -2022-07-05 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/testnot-3.c: New test case. - -2022-07-05 Roger Sayle <roger@nextmovesoftware.com> - Hongtao Liu <hongtao.liu@intel.com> - - * gcc.target/i386/ssse3-palignr-2.c: New test case. - -2022-07-05 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - PR rtl-optimization/96692 - * gcc.target/i386/bmi-andn-4.c: New test case. - -2022-07-05 Nathan Sidwell <nathan@acm.org> - - * g++.dg/modules/loc-prune-1.C: Adjust. - * g++.dg/modules/loc-prune-4.C: New. - * g++.dg/modules/pr98718_a.C: Adjust. - * g++.dg/modules/pr98718_b.C: Adjust. - * g++.dg/modules/pr99072.H: Adjust. - -2022-07-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106198 - * gcc.dg/pr106198.c: New testcase. - -2022-07-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106196 - * gcc.dg/torture/pr106196.c: New testcase. - -2022-07-05 Alexandre Oliva <oliva@adacore.com> - - * lib/target-supports.exp (check_effective_target_two_plus_gigs): - Fix array element type. Reported by Hans-Peter Nilsson. - -2022-07-05 Piotr Trojanek <trojanek@adacore.com> - - * gnat.dg/renaming1.adb: Update WITH clause. - * gnat.dg/renaming1.ads: Likewise. - * gnat.dg/warn29.adb: Likewise. - -2022-07-05 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/vect/vect-reduc-dot-9.c: Reduce target requirements - from i8mm to dotprod. - * gcc.dg/vect/vect-reduc-dot-10.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-11.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-12.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-13.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-14.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-15.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-16.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-17.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-18.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-19.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-20.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-21.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-22.c: Likewise. - -2022-07-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106182 - * gcc.dg/torture/pr106182.c: New testcase. - -2022-07-05 Hans-Peter Nilsson <hp@axis.com> - - * gcc.dg/analyzer/allocation-size-1.c, - gcc.dg/analyzer/allocation-size-2.c, - gcc.dg/analyzer/allocation-size-3.c, - gcc.dg/analyzer/allocation-size-4.c, - gcc.dg/analyzer/allocation-size-5.c: Handle int32_t being "long int". - -2022-07-04 Tobias Burnus <tobias@codesourcery.com> - Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/linear-4.c: New test. - * gfortran.dg/gomp/linear-2.f90: New test. - * gfortran.dg/gomp/linear-3.f90: New test. - * gfortran.dg/gomp/linear-4.f90: New test. - * gfortran.dg/gomp/linear-5.f90: New test. - * gfortran.dg/gomp/linear-6.f90: New test. - * gfortran.dg/gomp/linear-7.f90: New test. - * gfortran.dg/gomp/linear-8.f90: New test. - -2022-07-04 Martin Jambor <mjambor@suse.cz> - - PR tree-optimization/105860 - * gcc.dg/tree-ssa/alias-access-path-13.c: New test. - * gcc.dg/tree-ssa/pr105860.c: Likewise. - -2022-07-04 Tobias Burnus <tobias@codesourcery.com> - Chung-Lin Tang <cltang@codesourcery.com> - Thomas Schwinge <thomas@codesourcery.com> - - * c-c++-common/gomp/requires-4.c: Update dg-*. - * c-c++-common/gomp/reverse-offload-1.c: Likewise. - * c-c++-common/gomp/target-device-ancestor-2.c: Likewise. - * c-c++-common/gomp/target-device-ancestor-3.c: Likewise. - * c-c++-common/gomp/target-device-ancestor-4.c: Likewise. - * c-c++-common/gomp/target-device-ancestor-5.c: Likewise. - * gfortran.dg/gomp/target-device-ancestor-3.f90: Likewise. - * gfortran.dg/gomp/target-device-ancestor-4.f90: Likewise. - * gfortran.dg/gomp/target-device-ancestor-5.f90: Likewise. - * gfortran.dg/gomp/target-device-ancestor-2.f90: Likewise. Move - post-FE checks to ... - * gfortran.dg/gomp/target-device-ancestor-2a.f90: ... this new file. - * gfortran.dg/gomp/requires-8.f90: Update as we don't regard - 'declare target' for the 'requires' usage requirement. - -2022-07-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106055 - * gcc.dg/graphite/pr106055.c: New testcase. - -2022-07-04 Haochen Jiang <haochen.jiang@intel.com> - - PR target/43618 - * gcc.target/i386/pr43618-1.c: New test. - -2022-07-03 H.J. Lu <hjl.tools@gmail.com> - - PR target/106022 - * gcc.target/i386/pr106022-1.c: New test. - * gcc.target/i386/pr106022-2.c: Likewise. - * gcc.target/i386/pr106022-3.c: Likewise. - * gcc.target/i386/pr106022-4.c: Likewise. - -2022-07-03 Xi Ruoyao <xry111@xry111.site> - Lulu Cheng <chenglulu@loongson.cn> - - * gcc.c-torture/execute/20101011-1.c (dg-additional-options): - add -mcheck-zero-division for LoongArch targets. - -2022-07-03 Tim Lange <mail@tim-lange.me> - - * gcc.dg/analyzer/allocation-size-1.c: Use fixed-length types. - * gcc.dg/analyzer/allocation-size-2.c: Likewise. - * gcc.dg/analyzer/allocation-size-3.c: Likewise. - * gcc.dg/analyzer/allocation-size-4.c: Likewise. - * gcc.dg/analyzer/allocation-size-5.c: Likewise. - -2022-07-03 Ian Lance Taylor <iant@golang.org> - - * g++.dg/torture/except-1.C: New test. - -2022-07-02 Tim Lange <mail@tim-lange.me> - - PR analyzer/105900 - * gcc.dg/analyzer/pr96639.c: Changed buffer size to omit warning. - * gcc.dg/analyzer/allocation-size-1.c: New test. - * gcc.dg/analyzer/allocation-size-2.c: New test. - * gcc.dg/analyzer/allocation-size-3.c: New test. - * gcc.dg/analyzer/allocation-size-4.c: New test. - * gcc.dg/analyzer/allocation-size-5.c: New test. - -2022-07-02 Immad Mir <mirimmad17@gmail.com> - - PR analyzer/106003 - * gcc.dg/analyzer/fd-1.c: New test. - * gcc.dg/analyzer/fd-2.c: New test. - * gcc.dg/analyzer/fd-3.c: New test. - * gcc.dg/analyzer/fd-4.c: New test. - -2022-07-01 Marek Polacek <polacek@redhat.com> - - PR c++/105550 - * g++.dg/cpp1y/nsdmi-aggr16.C: Remove FIXME. - * g++.dg/cpp1y/nsdmi-aggr17.C: Remove FIXME. - * g++.dg/cpp0x/constexpr-elision1.C: New test. - * g++.dg/cpp1y/constexpr-elision1.C: New test. - -2022-07-01 Tobias Burnus <tobias@codesourcery.com> - - * c-c++-common/gomp/target-data-2.c: New test. - * c-c++-common/gomp/target-data-3.c: New test. - * gfortran.dg/gomp/target-data-1.f90: New test. - * gfortran.dg/gomp/target-data-2.f90: New test. - -2022-07-01 Marek Polacek <polacek@redhat.com> - - PR c++/106111 - * g++.dg/cpp0x/keywords1.C: New test. - * g++.dg/cpp2a/keywords1.C: New test. - -2022-07-01 Jason Merrill <jason@redhat.com> - - PR c++/106024 - * g++.dg/cpp2a/lambda-generic10.C: New test. - -2022-07-01 Kito Cheng <kito.cheng@sifive.com> - - Revert: - 2022-06-30 Kito Cheng <kito.cheng@sifive.com> - - PR testsuite/102690 - * g++.dg/warn/Warray-bounds-16.C: XFAIL only on lp64 for the - warning. - -2022-07-01 Roger Sayle <roger@nextmovesoftware.com> - - PR target/106122 - * gcc.target/i386/pr106122.c: New test case. - -2022-07-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106131 - * g++.dg/torture/pr106131.C: New testcase. - -2022-07-01 Martin Liska <mliska@suse.cz> - - PR tree-optimization/106126 - * gcc.dg/tree-ssa/pr106126.c: New test. - -2022-06-30 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/103137 - PR fortran/103138 - PR fortran/103693 - PR fortran/105243 - * gfortran.dg/class_58.f90: Fix test. - * gfortran.dg/class_73.f90: New test. - -2022-06-30 Jonathan Wakely <jwakely@redhat.com> - - * g++.dg/spellcheck-stdlib.C: Check <ctime> types and functions. - -2022-06-30 Nathan Sidwell <nathan@acm.org> - - * g++.dg/modules/inext-1.H: Check include-next happened. - -2022-06-30 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - * gcc.target/i386/xchg-3.c: New test case. - -2022-06-30 Kito Cheng <kito.cheng@sifive.com> - - PR testsuite/102690 - * g++.dg/warn/Warray-bounds-16.C: XFAIL only on lp64 for the - warning. - -2022-06-30 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/106114 - * gcc.dg/pr106114.c: New. - -2022-06-30 Antoni Boucher <bouanto@zoho.com> - - PR target/106095 - * gcc.target/i386/pr106095.c: Add test using those AVX builtins. - -2022-06-29 Antoni Boucher <bouanto@zoho.com> - - PR jit/105812 - * jit.dg/test-asm.cc: Add include missing to make the test pass. - * jit.dg/test-pr105812-bool-operations.c: New test. - -2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/106139 - * gdc.dg/pr106139a.d: New test. - * gdc.dg/pr106139b.d: New test. - * gdc.dg/pr106139c.d: New test. - * gdc.dg/pr106139d.d: New test. - -2022-06-29 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/106121 - * gfortran.dg/extends_type_of_4.f90: New test. - -2022-06-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/106112 - * gcc.dg/torture/pr106112.c: New testcase. - -2022-06-29 Jan Beulich <jbeulich@suse.com> - - * gcc.target/i386/avx512fp16-reduce-op-2.c: Force SSE2 for i?86. - * gcc.target/i386/pr99464.c: Likewise. - -2022-06-29 Jan Beulich <jbeulich@suse.com> - - * c-c++-common/torture/builtin-shufflevector-2.c: Prune ix86 MMX - ABI warning. - -2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/Wbuiltin_declaration_mismatch.d: Rename to... - * gdc.dg/Wbuiltin_declaration_mismatch1.d: ...this. - * gdc.dg/Wbuiltin_declaration_mismatch2.d: New test. - * gdc.dg/torture/simd_blendvector.d: New test. - * gdc.dg/torture/simd_cond.d: New test. - * gdc.dg/torture/simd_convertvector.d: New test. - * gdc.dg/torture/simd_load.d: New test. - * gdc.dg/torture/simd_logical.d: New test. - * gdc.dg/torture/simd_shuffle.d: New test. - * gdc.dg/torture/simd_shufflevector.d: New test. - * gdc.dg/torture/simd_store.d: New test. - -2022-06-28 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/attr_simd1.d: New test. - * gdc.dg/attr_simd2.d: New test. - -2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu> - - * c-c++-common/Wcast-align.c: Silence warnings for targets with - no_alignment_constraints. - * gcc.dg/c11-align-4.c: Skip for no_alignment_constraints. - * gcc.dg/strlenopt-10.c: Replace checks for avr with checks for - any target with no_alignment_constraints. - * gcc.dg/strlenopt-11.c: Ditto. - * gcc.dg/strlenopt-13.c: Ditto. - * lib/target-supports.exp - (check_effective_target_no_alignment_constraints): New. - -2022-06-28 Aldy Hernandez <aldyh@redhat.com> - - * g++.dg/pr100774.C: Remove --param=evrp-mode. - * gcc.dg/pr100781.c: Same. - -2022-06-28 Xi Ruoyao <xry111@xry111.site> - - PR target/106096 - * g++.target/loongarch/loongarch.exp: New test support file. - * g++.target/loongarch/pr106096.C: New test. - -2022-06-28 Richard Biener <rguenther@suse.de> - - PR middle-end/106053 - * gcc.target/i386/pr106053.c: New testcase. - -2022-06-27 Marek Polacek <polacek@redhat.com> - - PR c++/89197 - * g++.dg/cpp0x/initlist130.C: New test. - -2022-06-27 Andrew Stubbs <ams@codesourcery.com> - - * lib/target-supports.exp (check_effective_target_global_constructor): - Remove amdgcn. - -2022-06-27 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/106070 - * gcc.dg/torture/pr106070.c: Use unsigned long long instead of - unsigned long and -1ULL instead of 0xffffffffffffffff, deobcuscate - and improve formatting. - -2022-06-27 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/atomic/c11-atomic-exec-4.c: Call sched_yield. - * gcc.dg/atomic/c11-atomic-exec-5.c: Likewise. - * gcc.dg/atomic/pr80640-2.c: Likewise. - * gcc.dg/atomic/pr80640.c: Likewise. - * gcc.dg/atomic/pr81316.c: Likewise. - * gcc.dg/di-sync-multithread.c: Likewise. - -2022-06-27 Roger Sayle <roger@nextmovesoftware.com> - - PR rtl-optimization/7061 - * gcc.target/i386/pr7061-2.c: Update to look for shufps. - -2022-06-27 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/94026 - * gcc.dg/pr94026.c: New test case. - -2022-06-26 Harald Anlauf <anlauf@gmx.de> - - PR fortran/105691 - * gfortran.dg/index_6.f90: New test. - -2022-06-26 Harald Anlauf <anlauf@gmx.de> - - PR fortran/105954 - * gfortran.dg/pr105954.f90: New test. - -2022-06-26 Vineet Gupta <vineetg@rivosinc.com> - - * gcc.dg/torture/fp-double-convert-float-1.c: Add - dg-require-effective-target hard_float. - * gcc.dg/torture/fp-int-convert-timode-3.c: Ditto. - * gcc.dg/torture/fp-int-convert-timode-4.c: Ditto. - * gcc.dg/torture/fp-uint64-convert-double-1.c: Ditto. - * gcc.dg/torture/fp-uint64-convert-double-2.c: Ditto. - -2022-06-26 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/debug/btf/btf-bitfields-1.c: Adjust the checked offsets - for targets which pack structures by default. - -2022-06-26 Aldy Hernandez <aldyh@redhat.com> - - * g++.dg/warn/Wstringop-overflow-4.C: XFAIL a test. - -2022-06-25 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/sancov/cmp0.c: Adjust for conversion to ranger. - * gcc.dg/tree-ssa/ssa-dom-branch-1.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same. - * gcc.dg/vect/bb-slp-pr81635-2.c: Same. - * gcc.dg/vect/bb-slp-pr81635-4.c: Same. - * g++.dg/warn/Wstringop-overflow-4.C: Likewise. - * gcc.target/mips/data-sym-multi-pool.c: Likewise. - * gcc.target/mips/mips.exp: Likewise. - -2022-06-25 Jeff Law <jeffreyalaw@gmail.com> - - * gcc.dg/lower-subreg-1.c: Remove tilegx and tilepro entries. - * gcc.misc-tests/linkage.exp: Remove tilegx and - tilepro entries. - -2022-06-25 Iain Sandoe <iain@sandoe.co.uk> - - * gcc.dg/darwin-comm-1.c: Check for the correct error message for - Darwin <= 10. - -2022-06-24 Jason Merrill <jason@redhat.com> - - PR c++/87729 - PR c++/20423 - * g++.dg/warn/Woverloaded-virt1.C: New test. - * g++.dg/warn/Woverloaded-virt2.C: New test. - -2022-06-24 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/debug/btf/btf-bitfields-1.c: Skip if int is less than - 32-bits. - -2022-06-24 Harald Anlauf <anlauf@gmx.de> - - PR fortran/105813 - * gfortran.dg/unpack_vector_1.f90: New test. - -2022-06-24 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/builtin-object-size-20.c: Remove cases which - work on default_packed targets. - * gcc.dg/builtin-object-size-22.c: New test with the cases - removed above. - -2022-06-24 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/sso/memcpy-1.c (__big_endian__, __little_endian__): - Rename macros to avoid conflicts with predefined ones. - -2022-06-24 Dimitar Dimitrov <dimitar@dinux.eu> - - PR tree-optimization/101868 - * gcc.dg/lto/pr101868_0.c (zero): New volatile variable. - (main): Use it instead of argc. - -2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/attr_section1.d: Update dg-error. - * gdc.dg/attr_visibility1.d: Likewise. - -2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/105413 - * gdc.dg/attr_register1.d: New test. - * gdc.dg/attr_register2.d: New test. - * gdc.dg/attr_register3.d: New test. - -2022-06-24 Richard Biener <rguenther@suse.de> - - PR middle-end/106070 - * gcc.dg/torture/pr106070.c: New testcase. - -2022-06-24 Alexandre Oliva <oliva@adacore.com> - - * g++.dg/abi/pure-virtual1.C: Use -nostdlib++. - -2022-06-24 Alexandre Oliva <oliva@adacore.com> - - * lib/target-supports.exp - (check_effective_target_two_plus_gigs): New. - * gcc.target/aarch64/symbol-range.c: Link only on - two_plus_gigs targets, compile otherwise. - -2022-06-23 Jason Merrill <jason@redhat.com> - - PR c++/105925 - * g++.dg/ext/desig4.C: Remove extra errors. - * g++.dg/cpp2a/desig26.C: New test. - -2022-06-23 Patrick Palka <ppalka@redhat.com> - - PR c++/105931 - * g++.dg/cpp0x/decltype82a.C: New test. - -2022-06-23 Patrick Palka <ppalka@redhat.com> - - PR c++/105982 - * g++.dg/cpp1z/class-deduction111.C: New test. - -2022-06-23 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/diagnostic-test-metadata.c: Expect " [STR34-C]" to - be emitted at the "gets" call. - * gcc.dg/plugin/diagnostic_plugin_test_metadata.c - (pass_test_metadata::execute): Associate the "gets" diagnostic - with a rule named "STR34-C". - -2022-06-23 Jason Merrill <jason@redhat.com> - - PR c++/94554 - * g++.dg/cpp1z/constexpr-if38.C: New test. - -2022-06-23 Jason Merrill <jason@redhat.com> - - PR c++/105885 - * g++.dg/cpp1z/constexpr-if37.C: New test. - -2022-06-23 Martin Liska <mliska@suse.cz> - - PR c++/106062 - * gfortran.dg/ubsan/pr106062.f90: New test. - -2022-06-23 Nathan Sidwell <nathan@acm.org> - - * g++.dg/modules/loc-prune-1.C: New. - * g++.dg/modules/loc-prune-2.C: New. - * g++.dg/modules/loc-prune-3.C: New. - * g++.dg/modules/pr98718_a.C: Adjust. - * g++.dg/modules/pr98718_b.C: Adjust. - -2022-06-23 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/tree-ssa/slsr-39.c: Force vectorization off. - -2022-06-23 Jason Merrill <jason@redhat.com> - - PR c++/105964 - * g++.dg/cpp1z/nontype-auto21.C: New test. - -2022-06-22 Jason Merrill <jason@redhat.com> - - PR c++/105908 - * g++.dg/cpp0x/trailing16.C: New test. - -2022-06-22 Jason Merrill <jason@redhat.com> - - PR c++/104642 - * g++.dg/ubsan/return-8a.C: New test. - * g++.dg/ubsan/return-8b.C: New test. - * g++.dg/ubsan/return-8d.C: New test. - * g++.dg/ubsan/return-8e.C: New test. - -2022-06-22 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/106019 - * gcc.dg/vect/bb-slp-pr106019.c: New test. - -2022-06-22 Alexandre Oliva <oliva@adacore.com> - - * gcc.misc-tests/outputs.exp: Clean up left-overs first. - -2022-06-22 Alexandre Oliva <oliva@adacore.com> - - * gcc.misc-tests/outputs.exp (outest): Introduce quiet mode, - create and return lists of passes and fails. Use it to catch - skip_atsave cases where -L flags are implicitly added by - driver self specs. - -2022-06-22 Alexandre Oliva <oliva@adacore.com> - - * g++.dg/lto/pr90990_0.C: Require lto_incremental target. - -2022-06-22 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/amx-check.h (request_perm_xtile_data): - New function to check if AMX is usable and enable AMX. - (main): Run test if AMX is usable. - -2022-06-21 Roger Sayle <roger@nextmovesoftware.com> - Marek Polacek <polacek@redhat.com> - Segher Boessenkool <segher@kernel.crashing.org> - Kewen Lin <linkw@linux.ibm.com> - - PR target/105991 - * gcc.target/powerpc/pr105991.c: New test case. - -2022-06-21 Arjun Shankar <arjun@redhat.com> - - * gcc.dg/pr94899.c: New test. - -2022-06-21 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/106032 - * gcc.c-torture/execute/pr106032.c: New test. - -2022-06-21 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/106030 - * gcc.c-torture/compile/pr106030.c: New test. - -2022-06-21 Xionghu Luo <xionghuluo@tencent.com> - - PR target/105740 - * gcc.dg/tree-ssa/if-to-switch-11.c: New test. - -2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR tree-optimization/105736 - * gcc.dg/builtin-dynamic-object-size-0.c (TV4): New struct. - (val3): New variable. - (test_pr105736): New test. - (main): Call it. - -2022-06-20 Iain Sandoe <iain@sandoe.co.uk> - - * lib/asan-dg.exp: Do not apply color to asan output when - under test. - -2022-06-20 H.J. Lu <hjl.tools@gmail.com> - - PR target/105960 - * gcc.target/i386/pr105960.c: New test. - -2022-06-20 Iain Sandoe <iain@sandoe.co.uk> - - * g++.dg/modules/pr105169_a.C: Skip the test on Darwin. - * g++.dg/modules/pr105169_b.C: Likewise. - -2022-06-20 Iain Sandoe <iain@sandoe.co.uk> - - * g++.dg/init/array61.C: Allow for two CTOR bodies on Darwin, where - aliases are not currently supported. - -2022-06-20 Richard Earnshaw <rearnsha@arm.com> - - * gcc.target/arm/simd/mve-vcmp-f32-2.c: Adjust expected output. - * gcc.target/arm/simd/pr100757.c: Likewise. - * gcc.target/arm/simd/pr100757-2.c: Likewise. - * gcc.target/arm/simd/pr100757-3.c: Likewise. - * gcc.target/arm/simd/pr100757-4.c: Likewise. - -2022-06-20 Iain Sandoe <iain@sandoe.co.uk> - - * g++.dg/modules/init-2_b.C: Add a missing USER_LABEL_PREFIX - to a regex. - -2022-06-20 Iain Sandoe <iain@sandoe.co.uk> - - * c-c++-common/attr-cdtor-1.c: Requite init_priority support. - -2022-06-20 Richard Biener <rguenther@suse.de> - - PR middle-end/106027 - * gcc.dg/pr106027.c: New testcase. - -2022-06-20 yulong <shiyulong@iscas.ac.cn> - - * gcc.target/riscv/cmo-zicbom-1.c: modified the input parameters. - * gcc.target/riscv/cmo-zicbom-2.c: modified the input parameters. - * gcc.target/riscv/cmo-zicboz-1.c: modified the input parameters. - * gcc.target/riscv/cmo-zicboz-2.c: modified the input parameters. - -2022-06-18 Harald Anlauf <anlauf@gmx.de> - - PR fortran/105986 - * gfortran.dg/check_bits_3.f90: New test. - -2022-06-18 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/ubsan/nonnull-4.c: Use -fsanitize-trap=all - instead of -fsanitize-undefined-trap-on-error. - * c-c++-common/ubsan/div-by-zero-4.c: Use - -fsanitize-trap=signed-integer-overflow instead of - -fsanitize-undefined-trap-on-error. - * c-c++-common/ubsan/overflow-add-4.c: Use -fsanitize-trap=undefined - instead of -fsanitize-undefined-trap-on-error. - * c-c++-common/ubsan/pr56956.c: Likewise. - * c-c++-common/ubsan/pr68142.c: Likewise. - * c-c++-common/ubsan/pr80932.c: Use - -fno-sanitize-trap=all -fsanitize-trap=shift,undefined - instead of -fsanitize-undefined-trap-on-error. - * c-c++-common/ubsan/align-8.c: Use -fsanitize-trap=alignment - instead of -fsanitize-undefined-trap-on-error. - -2022-06-18 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/105998 - * c-c++-common/pr105998.c: New test. - -2022-06-18 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/105835 - * gcc.dg/pr105835.c: New test case. - -2022-06-17 Jakub Jelinek <jakub@redhat.com> - - PR c++/106001 - * g++.dg/ext/builtin-shufflevector-4.C: New test. - -2022-06-17 Uroš Bizjak <ubizjak@gmail.com> - - PR target/105209 - * gcc.target/alpha/pr105209.c: New test. - -2022-06-17 Uroš Bizjak <ubizjak@gmail.com> - - PR target/105970 - * gcc.target/i386/pr105970.c: New test. - -2022-06-17 Uroš Bizjak <ubizjak@gmail.com> - - PR target/105993 - * gcc.target/i386/pr105993.c: New test. - -2022-06-17 Richard Earnshaw <rearnsha@arm.com> - - * gcc.target/arm/acle/cde-mve-full-assembly.c: Adjust expected - output. - -2022-06-16 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/stdarg-1.c - (__analyzer_called_by_test_type_mismatch_1): Verify that - -Wanalyzer-va-arg-type-mismatch is associated with CWE-686. - -2022-06-16 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/stdarg-1.c - (__analyzer_called_by_test_not_enough_args): Verify that - -Wanalyzer-va-list-exhausted is associated with CWE-685. - -2022-06-16 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/file-1.c (test_1): Verify that double-fclose is - associated with CWE-1341. - -2022-06-16 Nathan Sidwell <nathan@acm.org> - - * g++.dg/modules/init-2_b.C: Add init check. - * g++.dg/modules/init-2_c.C: Add init check. - -2022-06-16 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105983 - * gcc.dg/tree-ssa/pr105983.c: New test. - -2022-06-16 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105984 - * gcc.c-torture/execute/pr105984.c: New test. - -2022-06-16 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/105951 - * gcc.target/i386/pr105951-1.c: New test. - * gcc.target/i386/pr105951-2.c: New test. - -2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/103316 - * gcc.target/powerpc/pr103316.c: New. - * gcc.target/powerpc/fold-vec-cmp-int128.c: New. - -2022-06-16 Jia-wei Chen <jiawei@iscas.ac.cn> - - * gcc.target/riscv/pr105666.c: New options. - -2022-06-16 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr53533-1.c: New test. - * gcc.target/i386/pr53533-2.c: New test. - * gcc.target/i386/pr53533-3.c: New test. - * gcc.target/i386/pr53533-4.c: New test. - * gcc.target/i386/pr53533-5.c: New test. - * gcc.dg/vect/slp-11a.c: Adjust testcase. - -2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * gcc.target/xtensa/sibcalls.c: New. - -2022-06-15 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105962 - * gcc.dg/analyzer/inlining-1-multiline.c: New test. - * gcc.dg/analyzer/inlining-1-no-undo.c: New test. - * gcc.dg/analyzer/inlining-1.c: New test. - * gcc.dg/analyzer/inlining-2-multiline.c: New test. - * gcc.dg/analyzer/inlining-2.c: New test. - * gcc.dg/analyzer/inlining-3-multiline.c: New test. - * gcc.dg/analyzer/inlining-3.c: New test. - * gcc.dg/analyzer/inlining-4-multiline.c: New test. - * gcc.dg/analyzer/inlining-4.c: New test. - * gcc.dg/analyzer/inlining-5-multiline.c: New test. - * gcc.dg/analyzer/inlining-5.c: New test. - * gcc.dg/analyzer/inlining-6-multiline.c: New test. - * gcc.dg/analyzer/inlining-6.c: New test. - * gcc.dg/analyzer/inlining-7-multiline.c: New test. - * gcc.dg/analyzer/inlining-7.c: New test. - -2022-06-15 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/uninit-1.c: Add test coverage of attempts - to jump through an uninitialized function pointer, and of attempts - to pass an uninitialized value to a function call. - -2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/asan/attr_no_sanitize1.d: New test. - * gdc.dg/ubsan/attr_no_sanitize2.d: New test. - -2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/attr_visibility1.d: New test. - * gdc.dg/attr_visibility2.d: New test. - * gdc.dg/attr_visibility3.d: New test. - -2022-06-15 David Edelsohn <dje.gcc@gmail.com> - - * g++.dg/cpp1z/aligned-new9.C: Skip on AIX. - -2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/Wpadded.d: New test. - -2022-06-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105971 - * gcc.dg/torture/pr106971.c: New testcase. - -2022-06-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105969 - * gcc.dg/pr105969.c: New testcase. - -2022-06-15 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/cost_model_14.c: New test. - -2022-06-15 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - * gcc.dg/fold-convlshift-4.c: New test case. - * gcc.dg/optimize-bswaphi-1.c: Update found bswap count. - * gcc.dg/tree-ssa/pr61839_3.c: Shift is now optimized before VRP. - * gcc.dg/vect/vect-over-widen-1-big-array.c: Remove obsolete tests. - * gcc.dg/vect/vect-over-widen-1.c: Likewise. - * gcc.dg/vect/vect-over-widen-3-big-array.c: Likewise. - * gcc.dg/vect/vect-over-widen-3.c: Likewise. - * gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise. - * gcc.dg/vect/vect-over-widen-4.c: Likewise. - -2022-06-15 liuhongt <hongtao.liu@intel.com> - - * g++.target/i386/pr105953.C: New test. - -2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com> - - PR rtl-optimization/105041 - * gcc.target/powerpc/pr105041.c: New test. - -2022-06-14 Nathan Sidwell <nathan@acm.org> - - * g++.dg/modules/init-2_a.C: Adjust. - * g++.dg/modules/init-2_c.C: Adjust. - * g++.dg/modules/init-2_d.C: New. - -2022-06-14 Jan Hubicka <hubicka@ucw.cz> - - * gcc.dg/ipa/pr105739.c: New test. - -2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/riscv/zba-shadd.c: New test. - -2022-06-14 Richard Biener <rguenther@suse.de> - - PR middle-end/105965 - * gcc.target/i386/pr105965.c: New testcase. - -2022-06-14 Eric Botcazou <ebotcazou@adacore.com> - - * g++.dg/warn/Wuse-after-free5.C: New test. - -2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * gcc.target/xtensa/BALL-BNALL.c: New. - -2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * gcc.target/xtensa/funnel_shifter.c: New. - -2022-06-13 Jason Merrill <jason@redhat.com> - - * g++.dg/ubsan/return-8.C: New test. - -2022-06-13 Uroš Bizjak <ubizjak@gmail.com> - - PR target/105927 - * gcc.target/i386/pr105927.c: New test. - -2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/Wbuiltin_declaration_mismatch.d: New test. - * gdc.dg/builtins.d: New test. - -2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/rtti1.d: New test. - -2022-06-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc.dg/instrument-4.c: New test. - -2022-06-13 Eric Botcazou <ebotcazou@adacore.com> - - * c-c++-common/nonnull-1.c: Remove XFAIL for C++. - -2022-06-13 Jakub Jelinek <jakub@redhat.com> - - PR target/105911 - * gcc.dg/pr105911.c: New test. - -2022-06-13 Cui,Lili <lili.cui@intel.com> - - * gcc.dg/vect/costmodel/x86_64/costmodel-pr104582-2.c: Add - -mtune=generic to dg-options. - * gcc.target/i386/pr84101.c: Likewise. - -2022-06-12 Max Filippov <jcmvbkbc@gmail.com> - - * g++.target/xtensa/pr95571.C (__xtensa_libgcc_window_spill): - New definition. - -2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - PR target/96463 - * gcc.target/aarch64/sve/acle/general/pr96463-1.c: New test. - * gcc.target/aarch64/sve/acle/general/pr96463-2.c: Likewise. - -2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * gcc.target/xtensa/constsynth_2insns.c: New. - * gcc.target/xtensa/constsynth_3insns.c: Ditto. - * gcc.target/xtensa/constsynth_double.c: Ditto. - -2022-06-10 Nathan Sidwell <nathan@acm.org> - - * g++.dg/modules/init-3_a.C: New. - * g++.dg/modules/init-3_b.C: New. - * g++.dg/modules/init-3_c.C: New. - -2022-06-10 Roger Sayle <roger@nextmovesoftware.com> - - PR rtl-optimization/7061 - * gcc.target/i386/pr7061-1.c: New test case. - * gcc.target/i386/pr7061-2.c: New test case. - -2022-06-10 Antoni Boucher <bouanto@zoho.com> - - PR jit/105829 - * jit.dg/test-types.c: Add tests for gcc_jit_type_get_size. - -2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * gcc.target/xtensa/check_zero_byte.c: New. - -2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * gcc.target/xtensa/one_cmpl_abs.c: New. - -2022-06-09 Jakub Jelinek <jakub@redhat.com> - - PR c++/105871 - * g++.dg/pr105871.C: New test. - -2022-06-09 Nathan Sidwell <nathan@acm.org> - - * g++.dg/modules/init-2_a.C: Check no idempotency. - * g++.dg/modules/init-2_b.C: Check idempotency. - -2022-06-09 Tobias Burnus <tobias@codesourcery.com> - - * c-c++-common/gomp/reverse-offload-1.c: New. - -2022-06-09 Cui,Lili <lili.cui@intel.com> - - PR target/105493 - * gcc.target/i386/pr91446.c: Adjust to expect vectorization - * gcc.target/i386/pr99881.c: XFAIL. - * gcc.target/i386/pr105493.c: New. - * g++.target/i386/pr105638.C: Use other sequence checks - instead of vpxor, because code generation changed. - -2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org> - - * gcc.target/powerpc/pr93453-1.c: New. - -2022-06-08 Jason Merrill <jason@redhat.com> - - PR c++/105852 - PR c++/105761 - * g++.dg/modules/tpl-friend-2_a.C: Adjust expected dump. - * g++.dg/template/friend74.C: New test. - -2022-06-08 Roger Sayle <roger@nextmovesoftware.com> - - PR middle-end/105874 - * g++.dg/opt/pr105874.C: New test case. - -2022-06-08 Nathan Sidwell <nathan@acm.org> - - * g++.dg/init/static-cdtor1.C: New. - -2022-06-08 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/xop-pcmov3.c: Add -mno-avx512vl to dg-options. - -2022-06-08 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/target-device-ancestor-5.f90: New test. - -2022-06-08 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr105513-1.c: New test. - * gcc.target/i386/extract-insert-combining.c: Add new - scan-assembler-not for spill. - -2022-06-08 liuhongt <hongtao.liu@intel.com> - - PR target/105854 - * gcc.target/i386/pr105854.c: Add target int128 and dfp. - -2022-06-07 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr105854.c: New test. - -2022-06-07 Roger Sayle <roger@nextmovesoftware.com> - - PR middle-end/105853 - PR target/105856 - * gcc.dg/pr105853.c: New test case. - * gcc.dg/pr105856.c: New test case. - -2022-06-07 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/linear-2.c: New test. - * c-c++-common/gomp/linear-3.c: New test. - * g++.dg/gomp/linear-3.C: New test. - * g++.dg/gomp/linear-4.C: New test. - * g++.dg/gomp/linear-5.C: New test. - -2022-06-07 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/96442 - * g++.dg/parse/pr96442.C: New test case. - -2022-06-07 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/xop-pcmov3.c: New test case. - -2022-06-06 Patrick Palka <ppalka@redhat.com> - - PR c++/53164 - PR c++/105848 - * g++.dg/template/fn-ptr3.C: New test. - -2022-06-04 Marek Polacek <polacek@redhat.com> - - PR c++/102399 - PR c++/69585 - * g++.dg/ext/attrib65.C: New test. - * g++.dg/ext/attrib66.C: New test. - * g++.dg/ext/attrib67.C: New test. - -2022-06-04 Roger Sayle <roger@nextmovesoftware.com> - - PR middle-end/95126 - * gcc.target/i386/pr95126-m32-1.c: New test case. - * gcc.target/i386/pr95126-m32-2.c: New test case. - * gcc.target/i386/pr95126-m32-3.c: New test case. - * gcc.target/i386/pr95126-m32-4.c: New test case. - * gcc.target/i386/pr95126-m64-1.c: New test case. - * gcc.target/i386/pr95126-m64-2.c: New test case. - * gcc.target/i386/pr95126-m64-3.c: New test case. - * gcc.target/i386/pr95126-m64-4.c: New test case. - -2022-06-04 Jakub Jelinek <jakub@redhat.com> - - PR target/105825 - * gcc.dg/pr105825.c: New test. - -2022-06-03 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp0x/auto56.C: New test. - -2022-06-03 Patrick Palka <ppalka@redhat.com> - - PR c++/105756 - * g++.dg/cpp0x/decltype82.C: New test. - -2022-06-03 Jason Merrill <jason@redhat.com> - - PR c++/105761 - * g++.dg/cpp1y/auto-fn64.C: New test. - -2022-06-03 Patrick Palka <ppalka@redhat.com> - - PR c++/105637 - * g++.dg/cpp0x/lambda/lambda-this22.C: New test. - * g++.dg/template/non-dependent23.C: New test. - -2022-06-03 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/scope-6.f90: Fix dg-final scan-tree-dump. - -2022-06-03 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/scope-5.f90: New test. - * gfortran.dg/gomp/scope-6.f90: New test. - -2022-06-03 Patrick Palka <ppalka@redhat.com> - - PR c++/100374 - * g++.dg/cpp2a/concepts-spec2.C: New test. - * g++.dg/cpp2a/concepts-template-parm11.C: New test. - -2022-06-03 Patrick Palka <ppalka@redhat.com> - - PR c++/105797 - * g++.dg/cpp2a/concepts-decltype4.C: New test. - * g++.dg/cpp2a/concepts-memfun3.C: New test. - -2022-06-03 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/30314 - PR middle-end/105777 - * gcc.dg/tree-ssa/pr30314.c: Add noipa attribute to all functions. - * gcc.dg/tree-ssa/pr105777.c: New test. - * gcc.c-torture/execute/pr30314.c: New test. - * gcc.c-torture/execute/pr105777.c: New test. - -2022-06-03 Alexandre Oliva <oliva@adacore.com> - - PR tree-optimization/105665 - PR tree-optimization/100810 - * gcc.dg/torture/pr105665.c: New. - -2022-06-02 Marek Polacek <polacek@redhat.com> - - PR c++/105803 - * g++.dg/template/new13.C: New test. - -2022-06-02 David Malcolm <dmalcolm@redhat.com> - - * c-c++-common/diagnostic-format-sarif-file-1.c: New test. - * c-c++-common/diagnostic-format-sarif-file-2.c: New test. - * c-c++-common/diagnostic-format-sarif-file-3.c: New test. - * c-c++-common/diagnostic-format-sarif-file-4.c: New test. - * gcc.dg/analyzer/file-meaning-1.c: New test. - * gcc.dg/analyzer/malloc-meaning-1.c: New test. - * gcc.dg/analyzer/malloc-sarif-1.c: New test. - * gcc.dg/plugin/analyzer_gil_plugin.c - (gil_diagnostic::get_meaning_for_state_change): New vfunc impl. - * gcc.dg/plugin/diagnostic-test-paths-5.c: New test. - * gcc.dg/plugin/plugin.exp (plugin_test_list): Add - diagnostic-test-paths-5.c to tests for - diagnostic_plugin_test_paths.c. - * lib/gcc-dg.exp: Load scansarif.exp. - * lib/scansarif.exp: New test. - -2022-06-02 David Malcolm <dmalcolm@redhat.com> - - * c-c++-common/diagnostic-format-json-file-1.c: New test. - * c-c++-common/diagnostic-format-json-stderr-1.c: New test. - -2022-06-02 Jason Merrill <jason@redhat.com> - - PR c++/105795 - * g++.dg/cpp1z/constexpr-aggr-base1.C: New test. - -2022-06-02 Roger Sayle <roger@nextmovesoftware.com> - - PR target/105791 - * gcc.target/i386/pr105791.c: New test case. - -2022-06-02 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/30314 - * gcc.dg/tree-ssa/pr30314.c: Add tests with swapped arguments. - -2022-06-02 Jakub Jelinek <jakub@redhat.com> - - PR target/105778 - * gcc.target/i386/pr105778.c: New test. - -2022-06-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/101668 - * gcc.target/i386/pr101668.c: New testcase. - * gcc.dg/vect/bb-slp-pr101668.c: Likewise. - -2022-06-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105802 - * g++.dg/opt/pr105802.C: New testcase. - -2022-06-01 H.J. Lu <hjl.tools@gmail.com> - - PR rtl-optimization/105638 - * g++.target/i386/pr105638.C: New test. - -2022-06-01 Jason Merrill <jason@redhat.com> - - PR c++/105734 - * g++.dg/cpp0x/auto57.C: New test. - -2022-06-01 Jason Merrill <jason@redhat.com> - - PR c++/105779 - * g++.dg/cpp1y/auto-fn63.C: New test. - -2022-06-01 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/30314 - * gcc.dg/tree-ssa/pr30314.c: New test. - -2022-06-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105786 - * gcc.dg/torture/pr105786.c: New testcase. - -2022-06-01 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105770 - * gcc.dg/pr105770.c: New test. - -2022-06-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105763 - * gcc.dg/pr105763.c: New testcase. - -2022-05-31 Patrick Palka <ppalka@redhat.com> - - PR c++/105758 - * g++.dg/template/non-dependent24.C: New test. - -2022-05-31 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/scope-5.c: New test. - * c-c++-common/gomp/scope-6.c: New test. - * g++.dg/gomp/attrs-1.C (bar): Add firstprivate and allocate clauses - to scope construct. - * g++.dg/gomp/attrs-2.C (bar): Likewise. - -2022-05-30 Harald Anlauf <anlauf@gmx.de> - - PR fortran/91300 - * gfortran.dg/allocate_alloc_opt_15.f90: New test. - -2022-05-30 Roger Sayle <roger@nextmovesoftware.com> - - PR rtl-optimization/101617 - * gcc.target/i386/pr101617.c: New test case. - -2022-05-30 Roger Sayle <roger@nextmovesoftware.com> - - PR target/70321 - * gcc.target/i386/pr70321.c: New test case. - * gcc.target/i386/sse4_1-stv-1.c: New test case. - -2022-05-30 Uroš Bizjak <ubizjak@gmail.com> - - * gcc.target/i386/pr105624.c: New test. - -2022-05-30 Vineet Gupta <vineetg@rivosinc.com> - - * gcc.target/riscv/fmax.c: Add dg-require-effective-target hard_float. - * gcc.target/riscv/fmaxf.c: Ditto. - * gcc.target/riscv/fmin.c: Ditto. - * gcc.target/riscv/fminf.c: Ditto. - * gcc.target/riscv/smax-ieee.c: Ditto. - * gcc.target/riscv/smax.c: Ditto. - * gcc.target/riscv/smaxf-ieee.c: Ditto. - * gcc.target/riscv/smaxf.c: Ditto. - * gcc.target/riscv/smin-ieee.c: Ditto. - * gcc.target/riscv/smin.c: Ditto. - * gcc.target/riscv/sminf-ieee.c: Ditto. - * gcc.target/riscv/sminf.c: Ditto. - * gcc.target/riscv/pr105666.c: Ditto. - -2022-05-29 Jakub Jelinek <jakub@redhat.com> - - PR preprocessor/105732 - * c-c++-common/cpp/va-opt-10.c: New test. - -2022-05-28 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/declare-target-2.f90: Add 'enter' clause test. - * gfortran.dg/gomp/declare-target-4.f90: Likewise. - -2022-05-28 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/declare-target-2.c: Add further tests for mixing of - link and to/enter clauses on separate directives. - -2022-05-28 Jason Merrill <jason@redhat.com> - - PR c++/105652 - * g++.dg/cpp2a/concepts-lambda20.C: New test. - -2022-05-27 Marek Polacek <polacek@redhat.com> - - PR c++/105725 - * g++.dg/warn/Wmismatched-tags-10.C: New test. - -2022-05-27 Marek Polacek <polacek@redhat.com> - - PR c/90658 - * c-c++-common/attr-cdtor-1.c: New test. - -2022-05-27 Tobias Burnus <tobias@codesourcery.com> - Chung-Lin Tang <cltang@codesourcery.com> - - * gfortran.dg/gomp/requires-4.f90: Update dg-error. - * gfortran.dg/gomp/requires-8.f90: Update dg-error. - -2022-05-27 Martin Jambor <mjambor@suse.cz> - - PR ipa/105639 - * gcc.dg/ipa/pr105639.c: New test. - -2022-05-27 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/clauses-3.c: Add tests with enter clause instead - of to or modify some existing to clauses to enter. - * c-c++-common/gomp/declare-target-1.c: Likewise. - * c-c++-common/gomp/declare-target-2.c: Likewise. - * c-c++-common/gomp/declare-target-3.c: Likewise. - * g++.dg/gomp/attrs-9.C: Likewise. - * g++.dg/gomp/declare-target-1.C: Likewise. - -2022-05-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105726 - * g++.dg/warn/Warray-bounds-27.C: New testcase. - -2022-05-27 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/105729 - * g++.dg/ubsan/pr105729.C: New test. - -2022-05-27 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.dg/pr98865.c: New test case. - -2022-05-27 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/pr91400-1.c: Update for improved code generation. - * gcc.target/i386/pr91400-2.c: Likewise. - * gcc.target/i386/testnot-1.c: New test case. - * gcc.target/i386/testnot-2.c: Likewise. - -2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * gcc.target/xtensa/bswap.c: Remove test. - * gcc.target/xtensa/bswap-O1.c: New. - * gcc.target/xtensa/bswap-O2.c: Ditto. - * gcc.target/xtensa/bswap-Os.c: Ditto. - -2022-05-26 Marek Polacek <polacek@redhat.com> - - PR c++/105569 - * g++.dg/warn/Waddress-9.C: New test. - -2022-05-26 Patrick Palka <ppalka@redhat.com> - - PR c++/96363 - * g++.dg/cpp2a/concepts-partial-spec12.C: New test. - * g++.dg/cpp2a/concepts-partial-spec12a.C: New test. - * g++.dg/cpp2a/concepts-partial-spec13.C: New test. - -2022-05-25 Marek Polacek <polacek@redhat.com> - - PR c++/96637 - * g++.dg/parse/error64.C: New test. - -2022-05-25 Jason Merrill <jason@redhat.com> - - PR c++/105655 - * g++.dg/cpp2a/class-deduction-alias13.C: New test. - -2022-05-25 Jason Merrill <jason@redhat.com> - - PR c++/105623 - * g++.dg/cpp1y/auto-fn62.C: New test. - -2022-05-25 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp1y/constexpr-local4.C: New test. - -2022-05-25 Marek Polacek <polacek@redhat.com> - - PR c++/100252 - * g++.dg/cpp1y/nsdmi-aggr14.C: New test. - * g++.dg/cpp1y/nsdmi-aggr15.C: New test. - * g++.dg/cpp1y/nsdmi-aggr16.C: New test. - * g++.dg/cpp1y/nsdmi-aggr17.C: New test. - * g++.dg/cpp1y/nsdmi-aggr18.C: New test. - * g++.dg/cpp1y/nsdmi-aggr19.C: New test. - -2022-05-25 Jakub Jelinek <jakub@redhat.com> - - PR c/91134 - * gcc.dg/pr91134.c: New test. - -2022-05-25 Richard Biener <rguenther@suse.de> - - * gcc.dg/loop-unswitch-10.c: Fix misspelled defaut: - * gcc.dg/loop-unswitch-11.c: Likewise. - * gcc.dg/loop-unswitch-14.c: Likewise. - -2022-05-25 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/105714 - * gcc.dg/asan/pr105714.c: New test. - -2022-05-25 Martin Liska <mliska@suse.cz> - Richard Biener <rguenther@suse.de> - - * gcc.dg/loop-unswitch-7.c: New test. - * gcc.dg/loop-unswitch-8.c: New test. - * gcc.dg/loop-unswitch-9.c: New test. - * gcc.dg/loop-unswitch-10.c: New test. - * gcc.dg/loop-unswitch-11.c: New test. - * gcc.dg/loop-unswitch-12.c: New test. - * gcc.dg/loop-unswitch-13.c: New test. - * gcc.dg/loop-unswitch-14.c: New test. - * gcc.dg/loop-unswitch-15.c: New test. - * gcc.dg/loop-unswitch-16.c: New test. - * gcc.dg/loop-unswitch-17.c: New test. - * gcc.dg/torture/20220518-1.c: New test. - * gcc.dg/torture/20220518-2.c: New test. - * gcc.dg/torture/20220525-1.c: New test. - * gcc.dg/alias-10.c: Adjust. - * gcc.dg/tree-ssa/loop-6.c: Likewise. - * gcc.dg/loop-unswitch-1.c: Likewise. - -2022-05-25 Szabolcs Nagy <szabolcs.nagy@arm.com> - - PR target/104689 - * gcc.target/aarch64/pr104689.c: New test. - -2022-05-24 Martin Sebor <msebor@redhat.com> - Richard Biener <rguenther@suse.de> - - PR middle-end/105604 - * gcc.dg/Wrestrict-24.c: New test. - * gcc.dg/Wrestrict-25.c: New test. - * gcc.dg/Wrestrict-26.c: New test. - -2022-05-24 Joel Brobecker <brobecker@adacore.com> - - * gcc.misc-tests/outputs.exp: Make the -gsplit-dwarf test - a compile-and-link test rather than a compile-only test. - -2022-05-24 Jason Merrill <jason@redhat.com> - - PR c++/105622 - * g++.dg/cpp2a/no_unique_address14.C: New test. - -2022-05-24 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/neg-zext-1.c: New test case for -m32. - * gcc.target/i386/neg-zext-2.c: New test case for -m64. - -2022-05-24 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/105668 - * gcc.target/i386/pr105668.c: New test case. - -2022-05-24 Patrick Palka <ppalka@redhat.com> - - * g++.dg/cpp0x/constexpr-52830a.C: New test. - -2022-05-24 ShiYulong <shiyulong@iscas.ac.cn> - - * gcc.target/riscv/cmo-zicbom-1.c: New test. - * gcc.target/riscv/cmo-zicbom-2.c: New test. - * gcc.target/riscv/cmo-zicbop-1.c: New test. - * gcc.target/riscv/cmo-zicbop-2.c: New test. - * gcc.target/riscv/cmo-zicboz-1.c: New test. - * gcc.target/riscv/cmo-zicboz-2.c: New test. - -2022-05-24 Richard Biener <rguenther@suse.de> - - PR middle-end/105711 - * gcc.target/i386/pr105711.c: New testcase. - -2022-05-24 Tobias Burnus <tobias@codesourcery.com> - - PR c/105378 - * gfortran.dg/gomp/taskwait-depend-nowait-1.f90: New. - -2022-05-24 Vineet Gupta <vineetg@rivosinc.com> - - * gcc.target/riscv/pr105666.c: New test. - -2022-05-24 Jakub Jelinek <jakub@redhat.com> - - PR c/105378 - * c-c++-common/gomp/taskwait-depend-nowait-1.c: New test. - -2022-05-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/100221 - * gcc.dg/tree-ssa/ssa-dse-44.c: New testcase. - * gcc.dg/tree-ssa/ssa-dse-45.c: Likewise. - -2022-05-24 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/105706 - * gcc.target/powerpc/pr78604.c: Adjust. - -2022-05-24 Kewen Lin <linkw@linux.ibm.com> - - PR target/105627 - * gcc.target/powerpc/pr105627.c: New test. - -2022-05-23 H.J. Lu <hjl.tools@gmail.com> - - PR target/104441 - * gcc.target/i386/pr104441-1a.c (load8bit_4x4_avx2): Initialize - src23. - -2022-05-23 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/analyzer_gil_plugin.c: Replace uses of "FINAL" and - "OVERRIDE" with "final" and "override". - -2022-05-23 Mayshao <mayshao-oc@zhaoxin.com> - - * gcc.target/i386/funcspec-56.inc: Test -arch=lujiauzi and -tune=lujiazui. - * g++.target/i386/mv32.C: Ditto. - -2022-05-23 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/mallign.c: Skip check if sizeof(word)==1. - -2022-05-23 Richard Biener <rguenther@suse.de> - - * gcc.dg/gimplefe-27.c: Adjust. - * gcc.dg/gimplefe-45.c: Likewise. - * gcc.dg/pr101145-2.c: Likewise. - * gcc.dg/pr98211.c: Likewise. - * gcc.dg/torture/pr89595.c: Likewise. - * gcc.dg/tree-ssa/divide-7.c: Likewise. - * gcc.dg/tree-ssa/ssa-lim-12.c: Likewise. - -2022-05-23 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/spill_to_mask-1.c: New test. - -2022-05-21 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/tree-ssa/gen-vect-11.c: For PRU target, skip the - vectorizing checks in tree dumps. - * gcc.dg/tree-ssa/gen-vect-11a.c: Ditto. - * gcc.dg/tree-ssa/gen-vect-2.c: Ditto. - * gcc.dg/tree-ssa/gen-vect-25.c: Ditto. - * gcc.dg/tree-ssa/gen-vect-26.c: Ditto. - * gcc.dg/tree-ssa/gen-vect-28.c: Ditto. - * gcc.dg/tree-ssa/gen-vect-32.c: Ditto. - -2022-05-21 Dimitar Dimitrov <dimitar@dinux.eu> - - PR ipa/91088 - * gcc.dg/ipa/pr91088.c: Adjust member offset checks to - accommodate targets which pack structures by default. - -2022-05-21 Dimitar Dimitrov <dimitar@dinux.eu> - - PR middle-end/53535 - * gcc.dg/pr46647.c: Skip for pru target. - -2022-05-21 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/ifcvt-4.c: Skip for PRU. - -2022-05-21 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/Warray-bounds-48-novec.c: Add expected warnings - if target packs the structs by default. - -2022-05-20 Marc Poulhiès <poulhies@adacore.com> - - * g++.dg/ext/visibility/visibility-local-extern1.C: Add missing - dg-require-effective-target fpic. - -2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * gcc.target/aarch64/ror_2.c: New test. - * gcc.target/aarch64/ror_3.c: New test. - -2022-05-20 Christophe Lyon <christophe.lyon@arm.com> - - * gcc.dg/torture/convert-dfp-2.c: New test. - * gcc.dg/torture/convert-dfp.c: New test. - -2022-05-20 Christophe Lyon <christophe.lyon@arm.com> - - * g++.dg/eh/dfp-1.C: New test. - * g++.dg/eh/dfp-2.C: New test. - * g++.dg/eh/dfp-saves-aarch64.C: New test. - -2022-05-20 Christophe Lyon <christophe.lyon@arm.com> - - * lib/target-supports.exp (check_effective_target_dfp_bid): New. - * gcc.dg/dfp/bid-non-canonical-d128-1.c: Use dfp_bid - effective-target. - * gcc.dg/dfp/bid-non-canonical-d128-2.c: Likewise. - * gcc.dg/dfp/bid-non-canonical-d128-3.c: Likewise. - * gcc.dg/dfp/bid-non-canonical-d128-4.c: Likewise. - * gcc.dg/dfp/bid-non-canonical-d32-1.c: Likewise. - * gcc.dg/dfp/bid-non-canonical-d32-2.c: Likewise. - * gcc.dg/dfp/bid-non-canonical-d64-1.c: Likewise. - * gcc.dg/dfp/bid-non-canonical-d64-2.c: Likewise. - -2022-05-20 Christophe Lyon <christophe.lyon@arm.com> - - * gcc.target/aarch64/aapcs64/aapcs64.exp: Support new dfp*.c tests. - * gcc.target/aarch64/aapcs64/func-ret-1.c: Add DFP tests. - * gcc.target/aarch64/aapcs64/func-ret-3.c: Add DFP tests. - * gcc.target/aarch64/aapcs64/type-def.h: Add DFP types. - * gcc.target/aarch64/aapcs64/dfp-1.c: New test. - * gcc.target/aarch64/aapcs64/ice_dfp_5.c: New test. - * gcc.target/aarch64/aapcs64/test_align_dfp-1.c: New test. - * gcc.target/aarch64/aapcs64/test_align_dfp-4.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_1.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_10.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_11.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_12.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_13.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_14.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_15.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_16.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_17.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_18.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_19.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_2.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_20.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_21.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_22.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_23.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_24.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_25.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_26.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_27.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_3.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_5.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_6.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_7.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_8.c: New test. - * gcc.target/aarch64/aapcs64/test_dfp_9.c: New test. - * gcc.target/aarch64/aapcs64/test_quad_double_dfp.c: New test. - * gcc.target/aarch64/aapcs64/va_arg_dfp-1.c: New test. - * gcc.target/aarch64/aapcs64/va_arg_dfp-10.c: New test. - * gcc.target/aarch64/aapcs64/va_arg_dfp-11.c: New test. - * gcc.target/aarch64/aapcs64/va_arg_dfp-12.c: New test. - * gcc.target/aarch64/aapcs64/va_arg_dfp-13.c: New test. - * gcc.target/aarch64/aapcs64/va_arg_dfp-14.c: New test. - * gcc.target/aarch64/aapcs64/va_arg_dfp-16.c: New test. - * gcc.target/aarch64/aapcs64/va_arg_dfp-2.c: New test. - * gcc.target/aarch64/aapcs64/va_arg_dfp-3.c: New test. - * gcc.target/aarch64/aapcs64/va_arg_dfp-4.c: New test. - * gcc.target/aarch64/aapcs64/va_arg_dfp-5.c: New test. - * gcc.target/aarch64/aapcs64/va_arg_dfp-6.c: New test. - * gcc.target/aarch64/aapcs64/va_arg_dfp-8.c: New test. - * gcc.target/aarch64/aapcs64/va_arg_dfp-9.c: New test. - -2022-05-20 Christophe Lyon <christophe.lyon@arm.com> - - * c-c++-common/dfp/pr39986.c: Accept .word directive. - -2022-05-19 Jonathan Wakely <jwakely@redhat.com> - - * g++.dg/cpp0x/variadic-tuple.C: Qualify function to avoid ADL - finding std::make_tuple. - -2022-05-19 Roger Sayle <roger@nextmovesoftware.com> - - PR middle-end/98865 - * gcc.target/i386/pr98865.c: New test case. - -2022-05-19 Giuliano Belinassi <gbelinassi@suse.de> - - PR target/105647 - * g++.dg/modules/pr105169_a.C: Change -fpatchable-function-entry to 2. - * g++.dg/modules/pr105169_b.C: Likewise. - -2022-05-19 Jakub Jelinek <jakub@redhat.com> - - PR debug/105630 - * gcc.dg/pr105630.c: New test. - -2022-05-19 Jakub Jelinek <jakub@redhat.com> - - PR c/105635 - * gcc.dg/pr105635.c: New test. - -2022-05-18 Marek Polacek <polacek@redhat.com> - - PR c/105131 - * gcc.dg/Wenum-int-mismatch-1.c: New test. - * gcc.dg/Wenum-int-mismatch-2.c: New test. - * gcc.dg/Wenum-int-mismatch-3.c: New test. - * gcc.dg/Wenum-int-mismatch-4.c: New test. - * gcc.dg/Wenum-int-mismatch-5.c: New test. - -2022-05-18 Paul A. Clarke <pc@us.ibm.com> - - PR target/105620 - * g++.target/powerpc/pr69667.C: Move to ... - * g++.dg/pr69667.C: here. Also, revert recent dg directives changes. - -2022-05-18 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/bmi-andn-3.c: New test case. - -2022-05-18 Marek Polacek <polacek@redhat.com> - - PR c++/105497 - * c-c++-common/Wswitch-1.c: New test. - * g++.dg/warn/Wswitch-4.C: New test. - -2022-05-18 Marek Polacek <polacek@redhat.com> - - PR c++/105634 - * g++.dg/Wclass-memaccess-2.C: Moved to... - * g++.dg/warn/Wclass-memaccess-2.C: ...here. - * g++.dg/Wclass-memaccess-3.C: Moved to... - * g++.dg/warn/Wclass-memaccess-3.C: ...here. - * g++.dg/Wclass-memaccess-4.C: Moved to... - * g++.dg/warn/Wclass-memaccess-4.C: ...here. - * g++.dg/Wclass-memaccess-5.C: Moved to... - * g++.dg/warn/Wclass-memaccess-5.C: ...here. - * g++.dg/Wclass-memaccess-6.C: Moved to... - * g++.dg/warn/Wclass-memaccess-6.C: ...here. - * g++.dg/Wclass-memaccess.C: Moved to... - * g++.dg/warn/Wclass-memaccess.C: ...here. - * g++.dg/warn/Wclass-memaccess-7.C: New test. - -2022-05-18 Kewen Lin <linkw@linux.ibm.com> - - * gcc.target/powerpc/pr83660.C: Moved to... - * g++.target/powerpc/pr83660.C: ...here. - -2022-05-18 Frederik Harwath <frederik@codesourcery.com> - - * gcc.dg/graphite/scop-22a.c: New test. - -2022-05-18 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/all-memory-1.f90: Add inoutset test. - * gfortran.dg/gomp/all-memory-2.f90: Likewise. - * gfortran.dg/gomp/depobj-1.f90: Likewise. - * gfortran.dg/gomp/depobj-2.f90: Likewise. - -2022-05-18 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr103462-1.c: New test. - * gcc.target/i386/pr103462-2.c: New test. - * gcc.target/i386/pr103462-3.c: New test. - * gcc.target/i386/pr103462-4.c: New test. - * gcc.target/i386/pr103462-5.c: New test. - * gcc.target/i386/pr103462-6.c: New test. - -2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/95737 - * gcc.target/powerpc/pr95737.c: New. - -2022-05-18 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr104375.c: New test. - -2022-05-18 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr104610.c: New test. - -2022-05-17 Jason Merrill <jason@redhat.com> - - PR c++/102307 - * g++.dg/cpp1z/constexpr-array2.C: New test. - -2022-05-17 Tobias Burnus <tobias@codesourcery.com> - - * c-c++-common/gomp/target-device-ancestor-5.c: New test. - -2022-05-17 Giuliano Belinassi <gbelinassi@suse.de> - - PR c++/105169 - * g++.dg/modules/pr105169.h: New file. - * g++.dg/modules/pr105169_a.C: New test. - * g++.dg/modules/pr105169_b.C: New file. - -2022-05-17 Andrew MacLeod <amacleod@redhat.com> - - * gcc.dg/pr105458.c: New. - -2022-05-17 Uroš Bizjak <ubizjak@gmail.com> - - PR target/105624 - * gcc.target/i386/pr105624.c: New test. - -2022-05-17 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/all-memory-1.c (boo): Add test with - inoutset depend-kind. - * c-c++-common/gomp/all-memory-2.c (boo): Likewise. - * c-c++-common/gomp/depobj-1.c (f1): Likewise. - (f2): Adjusted expected diagnostics. - * g++.dg/gomp/depobj-1.C (f4): Adjust expected diagnostics. - -2022-05-17 Jakub Jelinek <jakub@redhat.com> - - PR target/105613 - * gcc.c-torture/execute/pr105613.c: New test. - -2022-05-17 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/all-memory-1.f90: New test. - * gfortran.dg/gomp/all-memory-2.f90: New test. - * gfortran.dg/gomp/all-memory-3.f90: New test. - -2022-05-17 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105618 - * gcc.dg/tree-ssa/ssa-sink-19.c: New testcase. - -2022-05-17 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr105033.c: New test. - -2022-05-17 liuhongt <hongtao.liu@intel.com> - - * gcc.dg/pr105591.c: New test. - -2022-05-16 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105103 - * gcc.dg/analyzer/stdarg-1.c: New test. - * gcc.dg/analyzer/stdarg-2.c: New test. - * gcc.dg/analyzer/stdarg-fmtstring-1.c: New test. - * gcc.dg/analyzer/stdarg-lto-1-a.c: New test. - * gcc.dg/analyzer/stdarg-lto-1-b.c: New test. - * gcc.dg/analyzer/stdarg-lto-1.h: New test. - * gcc.dg/analyzer/stdarg-sentinel-1.c: New test. - * gcc.dg/analyzer/stdarg-types-1.c: New test. - * gcc.dg/analyzer/stdarg-types-2.c: New test. - -2022-05-16 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/105577 - * g++.dg/torture/pr105577.C: New testcase. - -2022-05-16 Richard Biener <rguenther@suse.de> - - * gcc.dg/torture/pr105598.c: New testcase. - -2022-05-16 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr105587.c: New test. - -2022-05-15 Jason Merrill <jason@redhat.com> - - PR c++/100502 - PR c++/58993 - * g++.dg/template/access37.C: Now OK. - * g++.dg/template/friend69.C: Now OK. - * g++.dg/lookup/friend23.C: New test. - -2022-05-15 Jason Merrill <jason@redhat.com> - - PR c++/105589 - PR c++/105191 - PR c++/92385 - * g++.dg/cpp0x/initlist-array16.C: New test. - -2022-05-13 Marek Polacek <polacek@redhat.com> - - PR c++/81952 - * g++.dg/overload/conv-op4.C: New test. - -2022-05-13 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - * gcc.target/i386/sse2-v1ti-veq.c: New test case. - * gcc.target/i386/sse2-v1ti-vne.c: New test case. - -2022-05-13 Paul A. Clarke <pc@us.ibm.com> - - * g++.target/powerpc/pr65240-1.C: Adjust DejaGnu directives. - * g++.target/powerpc/pr65240-2.C: Likewise. - * g++.target/powerpc/pr65240-3.C: Likewise. - * g++.target/powerpc/pr65240-4.C: Likewise. - * g++.target/powerpc/pr65242.C: Likewise. - * g++.target/powerpc/pr67211.C: Likewise. - * g++.target/powerpc/pr69667.C: Likewise. - * g++.target/powerpc/pr71294.C: Likewise. - -2022-05-13 Paul A. Clarke <pc@us.ibm.com> - - * g++.dg/pr65240.h: Move to g++.target/powerpc. - * g++.dg/pr93974.C: Likewise. - * g++.dg/pr65240-1.C: Move to g++.target/powerpc, adjust dg directives. - * g++.dg/pr65240-2.C: Likewise. - * g++.dg/pr65240-3.C: Likewise. - * g++.dg/pr65240-4.C: Likewise. - * g++.dg/pr65242.C: Likewise. - * g++.dg/pr67211.C: Likewise. - * g++.dg/pr69667.C: Likewise. - * g++.dg/pr71294.C: Likewise. - * g++.dg/pr84264.C: Likewise. - * g++.dg/pr84279.C: Likewise. - * g++.dg/pr85657.C: Likewise. - * g++.target/powerpc/pr65240-1.C: New file. - * g++.target/powerpc/pr65240-2.C: New file. - * g++.target/powerpc/pr65240-3.C: New file. - * g++.target/powerpc/pr65240-4.C: New file. - * g++.target/powerpc/pr65240.h: New file. - * g++.target/powerpc/pr65242.C: New file. - * g++.target/powerpc/pr67211.C: New file. - * g++.target/powerpc/pr69667.C: New file. - * g++.target/powerpc/pr71294.C: New file. - * g++.target/powerpc/pr84264.C: New file. - * g++.target/powerpc/pr84279.C: New file. - * g++.target/powerpc/pr85657.C: New file. - * g++.target/powerpc/pr93974.C: New file. - -2022-05-13 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/83907 - * gcc.dg/tree-ssa/pr83907-1.c: New test case. - * gcc.dg/tree-ssa/pr83907-2.c: New test case. - -2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu> - Manolis Tsamis <manolis.tsamis@vrull.eu> - - * gcc.dg/pr90838.c: Add additional flags (dg-additional-options) - when compiling for riscv64 and subsume gcc.target/aarch64/pr90838.c - and gcc.target/i386/pr95863-2.c. - * gcc.target/aarch64/pr90838.c: Removed. - * gcc.target/i386/pr95863-2.c: Removed. - * lib/target-supports.exp: Recognize RV32 or RV64 via XLEN - -2022-05-13 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/105597 - * gcc.dg/pr105597.c: New. - -2022-05-13 Sebastian Pop <spop@amazon.com> - - PR target/105162 - * gcc.target/aarch64/sync-comp-swap-ool.c: New. - * gcc.target/aarch64/sync-op-acquire-ool.c: New. - * gcc.target/aarch64/sync-op-full-ool.c: New. - * gcc.target/aarch64/target_attr_20.c: Update check. - * gcc.target/aarch64/target_attr_21.c: Same. - -2022-05-13 Palmer Dabbelt <palmer@rivosinc.com> - - * gcc.dg/debug/btf/btf-datasec-1.c: Don't use small data on RISC-V. - -2022-05-13 Jia-Wei Chen <jiawei@iscas.ac.cn> - - * g++.dg/opt/const7.C: Don't use small data on RISC-V. - -2022-05-13 Andrew MacLeod <amacleod@redhat.com> - - * g++.dg/pr104547.C: New. - -2022-05-13 Nathan Sidwell <nathan@acm.org> - - * g++.dg/modules/mod-sym-4.C: New. - -2022-05-13 Alexandre Oliva <oliva@adacore.com> - - * gnat.dg/hardbool.ads: New. - * gnat.dg/hardbool.adb: New. - -2022-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/sso17.adb: New test. - -2022-05-13 Christophe Lyon <christophe.lyon@arm.com> - - * gcc.target/aarch64/sve/acle/general/attributes_7.c: Make - diagnostic unique. - -2022-05-13 Richard Biener <rguenther@suse.de> - - * gcc.dg/plugin/diagnostic_group_plugin.c: Reorder or remove - gimple-fold.h include. - * gcc.dg/plugin/diagnostic_plugin_show_trees.c: - Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_inlining.c: - Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_metadata.c: - Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_paths.c: - Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: - Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_string_literals.c: Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c: - Likewise. - * gcc.dg/plugin/finish_unit_plugin.c: Likewise. - * gcc.dg/plugin/ggcplug.c: Likewise. - * gcc.dg/plugin/must_tail_call_plugin.c: Likewise. - * gcc.dg/plugin/one_time_plugin.c: Likewise. - * gcc.dg/plugin/selfassign.c: Likewise. - * gcc.dg/plugin/start_unit_plugin.c: Likewise. - * g++.dg/plugin/selfassign.c: Likewise. - -2022-05-13 Alexandre Oliva <oliva@adacore.com> - - PR rtl-optimization/105455 - * gcc.dg/pr105455.c: New. - -2022-05-13 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr102583.c: New test. - * gcc.target/i386/pr92645-2.c: Adjust testcase. - * gcc.target/i386/pr92645-3.c: Ditto. - -2022-05-12 David Edelsohn <dje.gcc@gmail.com> - - * g++.target/powerpc/pr101168.C: Require VSX. - -2022-05-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105562 - * g++.dg/warn/uninit-pr105562.C: New testcase. - -2022-05-12 Nathan Sidwell <nathan@acm.org> - - * g++.dg/modules/lang-3_a.C: New. - * g++.dg/modules/lang-3_b.C: New. - * g++.dg/modules/lang-3_c.C: New. - -2022-05-12 Haochen Jiang <haochen.jiang@intel.com> - - PR target/104371 - * gcc.target/i386/pr104371-1.c: New test. - * gcc.target/i386/pr104371-2.c: Ditto. - -2022-05-12 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/all-memory-1.c: New test. - * c-c++-common/gomp/all-memory-2.c: New test. - * c-c++-common/gomp/all-memory-3.c: New test. - * g++.dg/gomp/all-memory-1.C: New test. - * g++.dg/gomp/all-memory-2.C: New test. - -2022-05-12 jiawei <jiawei@iscas.ac.cn> - - * c-c++-common/Wconversion-1.c: Update type. - -2022-05-11 Jason Merrill <jason@redhat.com> - - PR c++/105541 - * g++.dg/cpp2a/lambda-requires1.C: New test. - -2022-05-11 Jason Merrill <jason@redhat.com> - - PR bootstrap/105567 - * g++.dg/template/ctor10.C: New test. - -2022-05-11 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/105230 - * gfortran.dg/pr105230.f90: New test. - -2022-05-11 Richard Biener <rguenther@suse.de> - - * gcc.dg/tree-ssa/pr61839_1.c: Adjust. - * gcc.dg/tree-ssa/vrp24.c: Likewise. - -2022-05-11 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr104915-vmovd.c: New test. - * gcc.target/i386/pr104915-vmovw.c: New test. - -2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/105414 - * gcc.dg/pr105414.c: New. - -2022-05-10 Harald Anlauf <anlauf@gmx.de> - - PR fortran/105526 - * gfortran.dg/coarray_50.f90: New test. - -2022-05-10 H.J. Lu <hjl.tools@gmail.com> - - PR target/105472 - * gcc.target/i386/iamcu/asm-support.S: Add .note.GNU-stack section - only for Linux. - * gcc.target/x86_64/abi/asm-support.S: Likewise. - * gcc.target/x86_64/abi/avx/asm-support.S: Likewise. - * gcc.target/x86_64/abi/avx512f/asm-support.S: Likewise. - * gcc.target/x86_64/abi/avx512fp16/asm-support.S: Likewise. - * gcc.target/x86_64/abi/avx512fp16/m256h/asm-support.S: Likewise. - * gcc.target/x86_64/abi/avx512fp16/m512h/asm-support.S: Likewise. - * gcc.target/x86_64/abi/ms-sysv/do-test.S: Likewise. - -2022-05-10 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105528 - * gcc.dg/pr105528.c: New test. - -2022-05-10 Maciej W. Rozycki <macro@embecosm.com> - - * gcc.target/riscv/fmax-snan.c: New test. - * gcc.target/riscv/fmax.c: New test. - * gcc.target/riscv/fmaxf-snan.c: New test. - * gcc.target/riscv/fmaxf.c: New test. - * gcc.target/riscv/fmin-snan.c: New test. - * gcc.target/riscv/fmin.c: New test. - * gcc.target/riscv/fminf-snan.c: New test. - * gcc.target/riscv/fminf.c: New test. - * gcc.target/riscv/smax-ieee.c: New test. - * gcc.target/riscv/smax.c: New test. - * gcc.target/riscv/smaxf-ieee.c: New test. - * gcc.target/riscv/smaxf.c: New test. - * gcc.target/riscv/smin-ieee.c: New test. - * gcc.target/riscv/smin.c: New test. - * gcc.target/riscv/sminf-ieee.c: New test. - * gcc.target/riscv/sminf.c: New test. - -2022-05-10 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100400 - * c-c++-common/goacc/kernels-decompose-pr100400-1-2.c: Specify - '-Wfatal-errors'. - -2022-05-10 Richard Biener <rguenther@suse.de> - - PR middle-end/105537 - * gcc.dg/torture/pr105537.c: New testcase. - -2022-05-10 Uroš Bizjak <ubizjak@gmail.com> - Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/and-1.c: New test case. - -2022-05-10 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.dg/tree-ssa/pr65855-2.c: New test case. - -2022-05-10 Claire Dross <dross@adacore.com> - - * gnat.dg/loopvar.adb: Update expected error message. - -2022-05-10 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/equal7.adb: Add expected error messages (code is now - illegal). - -2022-05-10 Eric Botcazou <ebotcazou@adacore.com> - - * gcc.target/sparc/20220510-1.c: New test. - -2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR middle-end/70090 - * gcc.dg/ubsan/object-size-dyn.c: New test. - -2022-05-10 Jason Merrill <jason@redhat.com> - - PR c++/105529 - * g++.dg/cpp2a/constexpr-dtor13.C: New test. - * g++.dg/cpp2a/constexpr-dtor14.C: New test. - -2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com> - - PR preprocessor/101168 - * g++.target/powerpc/pr101168.C: New test. - -2022-05-09 Marek Polacek <polacek@redhat.com> - - PR c++/103539 - * g++.dg/cpp23/label1.C: New test. - * g++.dg/cpp23/label2.C: New test. - -2022-05-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/105501 - * gfortran.dg/pr105501.f90: New test. - -2022-05-09 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/analyzer/torture/pr51628-30.c: Test can spill excess - errors for default_packed targets. - -2022-05-09 Jakub Jelinek <jakub@redhat.com> - - PR c++/105256 - * g++.dg/cpp0x/pr105256.C: Remove superfluous semicolon. - -2022-05-09 Qing Zhao <qing.zhao@oracle.com> - - * gcc.target/i386/zero-scratch-regs-1.c: Add -fno-stack-protector - -fno-PIC. - * gcc.target/i386/zero-scratch-regs-10.c: Adjust mov to xor. - * gcc.target/i386/zero-scratch-regs-13.c: Add -msse. - * gcc.target/i386/zero-scratch-regs-14.c: Adjust mov to xor. - * gcc.target/i386/zero-scratch-regs-15.c: Add -fno-stack-protector - -fno-PIC. - * gcc.target/i386/zero-scratch-regs-16.c: Likewise. - * gcc.target/i386/zero-scratch-regs-17.c: Likewise. - * gcc.target/i386/zero-scratch-regs-18.c: Add -fno-stack-protector - -fno-PIC, adjust mov to xor. - * gcc.target/i386/zero-scratch-regs-19.c: Add -fno-stack-protector - -fno-PIC. - * gcc.target/i386/zero-scratch-regs-2.c: Adjust mov to xor. - * gcc.target/i386/zero-scratch-regs-20.c: Add -msse. - * gcc.target/i386/zero-scratch-regs-21.c: Add -fno-stack-protector - -fno-PIC, Adjust mov to xor. - * gcc.target/i386/zero-scratch-regs-22.c: Adjust mov to xor. - * gcc.target/i386/zero-scratch-regs-23.c: Likewise. - * gcc.target/i386/zero-scratch-regs-26.c: Likewise. - * gcc.target/i386/zero-scratch-regs-27.c: Likewise. - * gcc.target/i386/zero-scratch-regs-28.c: Likewise. - * gcc.target/i386/zero-scratch-regs-3.c: Add -fno-stack-protector. - * gcc.target/i386/zero-scratch-regs-31.c: Adjust mov to xor. - * gcc.target/i386/zero-scratch-regs-4.c: Add -fno-stack-protector - -fno-PIC. - * gcc.target/i386/zero-scratch-regs-5.c: Adjust mov to xor. - * gcc.target/i386/zero-scratch-regs-6.c: Add -fno-stack-protector. - * gcc.target/i386/zero-scratch-regs-7.c: Likewise. - * gcc.target/i386/zero-scratch-regs-8.c: Adjust mov to xor. - * gcc.target/i386/zero-scratch-regs-9.c: Add -fno-stack-protector. - -2022-05-09 Patrick Palka <ppalka@redhat.com> - - PR c++/105491 - * g++.dg/cpp0x/constexpr-union7.C: New test. - * g++.dg/cpp0x/constexpr-union7a.C: New test. - * g++.dg/cpp2a/constinit17.C: New test. - -2022-05-09 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr105354-1.c: New test. - * gcc.target/i386/pr105354-2.c: New test. - -2022-05-09 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr105072.c: New test. - -2022-05-07 Marek Polacek <polacek@redhat.com> - - PR c++/101833 - PR c++/47634 - * g++.dg/ext/attr-format-arg1.C: New test. - * g++.dg/ext/attr-format1.C: New test. - * g++.dg/ext/attr-format2.C: New test. - * g++.dg/ext/attr-format3.C: New test. - -2022-05-06 Jason Merrill <jason@redhat.com> - - * g++.dg/diagnostic/function-color1.C: New test. - -2022-05-06 Michael Meissner <meissner@linux.ibm.com> - - PR target/102059 - * gcc.target/powerpc/pr102059-4.c: New test. - -2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com> - - * c-c++-common/gomp/allocate-2.c: Add tests. - * c-c++-common/gomp/allocate-8.c: New test. - * gfortran.dg/gomp/allocate-3.f90: Add tests. - * gcc.dg/gomp/pr104517.c: Update. - -2022-05-05 Marek Polacek <polacek@redhat.com> - - PR c++/64679 - * g++.dg/parse/ambig11.C: New test. - * g++.dg/parse/ambig12.C: New test. - * g++.dg/parse/ambig13.C: New test. - * g++.dg/parse/ambig14.C: New test. - -2022-05-05 Uroš Bizjak <ubizjak@gmail.com> - - * gcc.target/i386/pr103611-2.c (dg-do): Compile for target ia32. - (dg-options): Remove -m32. - * gcc.target/i386/pr105032.c (dg-do): Compile for taget ia32. - (dg-additional-options): Remove. - * gcc.target/i386/pr104732.c (dg-options): Remove -m32. - * gcc.target/i386/pr99753.c (dg-options): Ditto. - -2022-05-05 Sandra Loosemore <sandra@codesourcery.com> - - * c-c++-common/gomp/loop-6.c (f3): New function to test TASKLOOP - diagnostics. - * gfortran.dg/gomp/collapse1.f90: Update expected messages. - * gfortran.dg/gomp/pr85313.f90: Remove dg-error on non-rectangular - loops that are now accepted. - * gfortran.dg/gomp/non-rectangular-loop.f90: New file. - * gfortran.dg/gomp/canonical-loop-1.f90: New file. - * gfortran.dg/gomp/canonical-loop-2.f90: New file. - -2022-05-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104162 - * gcc.dg/tree-ssa/ssa-fre-99.c: New testcase. - * gcc.dg/asan/pr99673.c: Adjust. - -2022-05-05 Roger Sayle <roger@nextmovesoftware.com> - - PR testsuite/105486 - * gcc.dg/pr102950.c: Use explicit "signed char" in test case. - -2022-05-05 Richard Biener <rguenther@suse.de> - - PR testsuite/105486 - * gcc.dg/vect/bb-slp-pr104240.c: Align all data. - -2022-05-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105484 - * gcc.dg/torture/pr105484.c: New testcase. - -2022-05-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104595 - * gcc.dg/vect/pr104595.c: New testcase. - -2022-05-04 Patrick Palka <ppalka@redhat.com> - - PR c++/105476 - * g++.dg/cpp2a/class-deduction-aggr13.C: New test. - * g++.dg/cpp2a/class-deduction-aggr13a.C: New test. - -2022-05-04 Marek Polacek <polacek@redhat.com> - - * c-c++-common/Wconversion-1.c: New test. - -2022-05-04 Marek Polacek <polacek@redhat.com> - - PR c++/64679 - * g++.dg/parse/functor1.C: New test. - -2022-05-04 Marek Polacek <polacek@redhat.com> - - PR c++/105436 - * g++.dg/parse/template31.C: New test. - -2022-05-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104658 - * gcc.target/i386/pr104658.c: New testcase. - -2022-05-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103116 - * gcc.dg/vect/pr103116-1.c: New testcase. - * gcc.dg/vect/pr103116-2.c: Likewise. - -2022-05-04 Martin Liska <mliska@suse.cz> - - * c-c++-common/asan/alloca_loop_unpoisoning.c: Do not combine - fake and real stack. - -2022-05-04 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp23/lambda-attr1.C: New test. - * g++.dg/cpp23/lambda-attr2.C: New test. - -2022-05-04 Martin Liska <mliska@suse.cz> - - * c-c++-common/hwasan/alloca-outside-caught.c: Update dg-output. - * c-c++-common/hwasan/heap-overflow.c: Likewise. - * c-c++-common/hwasan/hwasan-thread-access-parent.c: Likewise. - * c-c++-common/hwasan/large-aligned-1.c: Likewise. - * c-c++-common/hwasan/stack-tagging-basic-1.c: Likewise. - -2022-05-03 Patrick Palka <ppalka@redhat.com> - - PR c++/105351 - * g++.dg/template/sfinae33.C: New test. - -2022-05-03 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.c-torture/compile/attr-complex-method-2.c: Accept both __divdc3 - and __gnu_divdc3 as valid libgcc function names. - * gcc.dg/complex-6.c: Ditto for __mulsc3. - * gcc.dg/complex-7.c: Ditto for __muldc3. - -2022-05-03 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/memchr.c: Skip for default_packed targets. - * gcc.dg/memcmp-3.c: Ditto. - -2022-05-03 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/Wattributes-8.c: Add annotations for default_packed - targets. - -2022-05-03 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/lower-subreg-1.c: Skip for PRU. - -2022-05-03 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/Wno-frame-address.c: Skip for PRU target. - -2022-05-03 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/102950 - * gcc.dg/pr102950.c: New test case. - * gcc.dg/tree-ssa/evrp10.c: New test case. - -2022-05-03 Uroš Bizjak <ubizjak@gmail.com> - - PR target/105079 - * gcc.target/i386/pr105079.c: New test. - * gcc.target/i386/pr95483-1.c (dg-options): Use -msse4.1. - -2022-05-03 Richard Biener <rguenther@suse.de> - - PR middle-end/105461 - * gcc.dg/pr105461.c: New testcase. - -2022-05-03 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Update - the expected message for the case in which unaligned accesses - are not allowed. - -2022-05-02 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp2a/lambda-pack-init7.C: Check column number. - -2022-05-02 Jason Merrill <jason@redhat.com> - - * g++.dg/lookup/name-clash13.C: New test. - * g++.dg/lookup/name-clash14.C: New test. - * g++.dg/lookup/name-clash15.C: New test. - * g++.dg/lookup/name-clash16.C: New test. - -2022-05-02 H.J. Lu <hjl.tools@gmail.com> - - PR testsuite/105433 - * gcc.target/i386/iamcu/asm-support.S: Add .note.GNU-stack. - * gcc.target/x86_64/abi/asm-support.S: Likewise. - * gcc.target/x86_64/abi/avx/asm-support.S: Likewise. - * gcc.target/x86_64/abi/avx512f/asm-support.S: Likewise. - * gcc.target/x86_64/abi/avx512fp16/asm-support.S: Likewise. - * gcc.target/x86_64/abi/avx512fp16/m256h/asm-support.S: Likewise. - * gcc.target/x86_64/abi/avx512fp16/m512h/asm-support.S: Likewise. - * gcc.target/x86_64/abi/ms-sysv/do-test.S: Likewise. - -2022-05-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104240 - * gcc.dg/vect/bb-slp-pr104240.c: New testcase. - -2022-05-02 Jakub Jelinek <jakub@redhat.com> - - PR debug/105415 - * gcc.dg/pr105415.c: New test. - -2022-05-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105437 - * g++.dg/vect/pr105437.cc: New testcase. - -2022-04-30 Jason Merrill <jason@redhat.com> - - PR c/100545 - * c-c++-common/attr-mode-1.c: New test. - * c-c++-common/attr-mode-2.c: New test. - -2022-04-29 Jason Merrill <jason@redhat.com> - - PR c++/104470 - * g++.dg/cpp2a/explicit11.C: Second example also ill-formed. - * g++.dg/cpp2a/class-deduction-alias12.C: New test. - -2022-04-29 Marek Polacek <polacek@redhat.com> - - PR c++/67048 - * g++.dg/cpp0x/enum42.C: New test. - -2022-04-29 Jason Merrill <jason@redhat.com> - - PR c++/80351 - * g++.dg/cpp0x/constexpr-77482.C: Adjust message. - * g++.dg/cpp1y/auto-fn27.C: Likewise. - * g++.dg/cpp1y/lambda-generic-variadic22.C: Likewise. - * g++.dg/cpp1z/decomp54.C: Likewise. - * g++.dg/cpp0x/initlist-const1.C: New test. - * g++.dg/warn/Wunused-var-37.C: New test. - * g++.dg/warn/Wunused-var-38.C: New test. - * g++.dg/warn/Wunused-var-39.C: New test. - -2022-04-29 Martin Jambor <mjambor@suse.cz> - - PR ipa/100413 - * g++.dg/ipa/pr100413.C: New test. - -2022-04-29 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR tree-optimization/105219 - * gcc.dg/vect/pr105219.c: Add aarch64 target option. - -2022-04-29 Marek Polacek <polacek@redhat.com> - - PR c++/83596 - * g++.dg/cpp1z/nontype5.C: New test. - -2022-04-29 Marek Polacek <polacek@redhat.com> - - PR c++/78244 - * g++.dg/cpp0x/Wnarrowing20.C: New test. - -2022-04-29 Marek Polacek <polacek@redhat.com> - - PR c++/71424 - * g++.dg/cpp0x/initlist-array15.C: New test. - -2022-04-29 Jason Merrill <jason@redhat.com> - - PR c++/102987 - * g++.dg/diagnostic/using1.C: Check pretty-printing. - -2022-04-29 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp0x/alias-decl-1.C: Expect qualified name. - -2022-04-29 Jakub Jelinek <jakub@redhat.com> - - PR c++/104319 - * g++.dg/parse/template28.C: Adjust expected diagnostics. - * g++.dg/parse/template30.C: New test. - -2022-04-29 Uroš Bizjak <ubizjak@gmail.com> - - PR target/51954 - * gcc.target/i386/pr51954.c: New test. - -2022-04-29 Richard Biener <rguenther@suse.de> - - PR middle-end/105376 - * gcc.dg/pr105376.c: New testcase. - -2022-04-29 Jason Merrill <jason@redhat.com> - - * g++.dg/ext/unary_trait_incomplete.C: Adjust. - -2022-04-29 Jason Merrill <jason@redhat.com> - - PR c++/102651 - PR c++/49387 - * g++.dg/rtti/typeid-complete1.C: New test. - -2022-04-29 Zhao Wei Liew <zhaoweiliew@gmail.com> - - PR c++/25689 - * g++.dg/warn/Wparentheses-31.C: New test. - -2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * gcc.dg/gcov-info-to-gcda.c: Test __gcov_filename_to_gcfn(). - -2022-04-28 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105285 - * gcc.dg/analyzer/symbolic-12.c: New test. - -2022-04-28 Patrick Palka <ppalka@redhat.com> - - PR c++/105425 - * g++.dg/template/partial-specialization13.C: New test. - -2022-04-28 Jeff Law <jeffreyalaw@gmail.com> - - * gcc.dg/lto/pr94157_0.c: Revert last change. - * lib/prune.exp (prune_gcc_output): Prune new linker warning. - -2022-04-28 Jakub Jelinek <jakub@redhat.com> - - PR lto/105399 - * g++.dg/lto/pr105399_0.C: New test. - -2022-04-28 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/104051 - * g++.dg/coroutines/pr104051.C: New test. - -2022-04-28 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/105301 - * g++.dg/coroutines/pr105301.C: New test. - -2022-04-28 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/105287 - * g++.dg/coroutines/pr105287.C: New test. - -2022-04-28 Nathan Sidwell <nathan@acm.org> - Iain Sandoe <iain@sandoe.co.uk> - - PR c++/103868 - * g++.dg/coroutines/pr103868.C: New test. - -2022-04-28 Iain Sandoe <iain@sandoe.co.uk> - - * gcc.target/i386/memcpy-strategy-10.c: Account for - __USER_LABEL_PREFIX__. - * gcc.target/i386/memcpy-strategy-5.c: Likewise. - * gcc.target/i386/memset-strategy-5.c: Likewise. - * gcc.target/i386/memset-strategy-7.c: Likewise. - -2022-04-28 Iain Sandoe <iain@sandoe.co.uk> - - * g++.target/i386/mv31.C: Add target supports guard for ifuncs. - -2022-04-28 Marek Polacek <polacek@redhat.com> - - PR c++/90107 - * g++.dg/parse/qualified6.C: New test. - -2022-04-28 Jakub Jelinek <jakub@redhat.com> - - PR target/105331 - * gcc.dg/pr105331.c: New test. - -2022-04-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105219 - * gcc.dg/vect/pr105219.c: New testcase. - -2022-04-28 Kewen Lin <linkw@linux.ibm.com> - - PR target/105334 - * gcc.target/powerpc/pr105334.c: New test. - -2022-04-28 Jia-Wei Chen <jiawei@iscas.ac.cn> - - PR target/104676 - * gcc.dg/torture/pr104676.c: Add "{target pthread}" check. - -2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang> - - * gcc.target/loongarch/zero-size-field-pass.c: New test. - * gcc.target/loongarch/zero-size-field-ret.c: New test. - -2022-04-27 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/pr70673.f90: Removed second invalid - line. - -2022-04-27 Marek Polacek <polacek@redhat.com> - - PR c++/105398 - * g++.dg/cpp1y/lambda-generic-enum2.C: New test. - -2022-04-27 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104492 - * g++.dg/warn/pr104492.C: New test. - -2022-04-27 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/70673 - PR fortran/78054 - * gfortran.dg/pr70673.f90: Remove invalid statement. - * gfortran.dg/pr70673_2.f90: New test to check that - ICE does not re-appear. - -2022-04-27 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/103662 - PR fortran/105379 - * gfortran.dg/class_dummy_8.f90: New test. - * gfortran.dg/class_dummy_9.f90: New test. - -2022-04-27 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/102043 - PR fortran/105381 - * gfortran.dg/character_array_dummy_1.f90: New test. - -2022-04-27 Christophe Lyon <christophe.lyon@arm.com> - - PR tree-optimization/105374 - * gcc.target/arm/simd/pr105374.C: New. - -2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com> - - PR target/102024 - * g++.target/s390/pr102024-1.C: New test. - * g++.target/s390/pr102024-2.C: New test. - * g++.target/s390/pr102024-3.C: New test. - * g++.target/s390/pr102024-4.C: New test. - * g++.target/s390/pr102024-5.C: New test. - * g++.target/s390/pr102024-6.C: New test. - -2022-04-27 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/105396 - * gcc.dg/asan/pr105396.c: New test. - -2022-04-27 Kewen Lin <linkw@linux.ibm.com> - - PR target/105271 - * gcc.target/powerpc/pr105271.c: New test. - -2022-04-26 Jason Merrill <jason@redhat.com> - - PR c++/102629 - * g++.dg/cpp2a/lambda-pack-init7.C: New test. - -2022-04-26 Patrick Palka <ppalka@redhat.com> - - PR c++/105386 - * g++.dg/cpp0x/decltype81.C: New test. - -2022-04-26 Segher Boessenkoool <segher@kernel.crashing.org> - - PR target/105349 - * lib/target-supports.exp (check_effective_target_has_arch_pwr5): Use - the specified dg-options. - (check_effective_target_has_arch_pwr6): Ditto. - (check_effective_target_has_arch_pwr7): Ditto. - (check_effective_target_has_arch_pwr8): Ditto. - (check_effective_target_has_arch_pwr9): Ditto. - (check_effective_target_has_arch_pwr10): Ditto. - (check_effective_target_has_arch_ppc64): Ditto. - -2022-04-26 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/105314 - * gcc.target/riscv/pr105314.c: New test. - -2022-04-26 Jakub Jelinek <jakub@redhat.com> - - PR c++/65211 - * g++.target/i386/vec-tmpl1.C: Add -Wno-psabi as - dg-additional-options. - -2022-04-26 Jakub Jelinek <jakub@redhat.com> - - PR target/105367 - * gcc.target/i386/pr105367.c: New test. - -2022-04-26 Jakub Jelinek <jakub@redhat.com> - - PR fortran/103662 - * lib/target-supports.exp (check_effective_target___OPTIMIZE__): Add - a var definition to avoid pedwarn about empty translation unit. - * gfortran.dg/unlimited_polymorphic_3.f03: Remove -ftree-dse from - dg-additional-options, guard scan-tree-dump-not directives on - __OPTIMIZE__ target. - -2022-04-26 Jason Merrill <jason@redhat.com> - - PR c++/104624 - * g++.dg/cpp1y/lambda-generic-variadic22.C: New test. - -2022-04-26 Patrick Palka <ppalka@redhat.com> - - PR c++/105304 - * g++.dg/cpp2a/concepts-requires30.C: New test. - -2022-04-26 Patrick Palka <ppalka@redhat.com> - - PR c++/105289 - PR c++/86193 - * g++.dg/template/partial-specialization11.C: New test. - * g++.dg/template/partial-specialization12.C: New test. - -2022-04-25 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105365 - PR analyzer/105366 - * gcc.dg/analyzer/pr105365.c: New test. - * gcc.dg/analyzer/pr105366.c: New test. - -2022-04-25 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104308 - * gcc.dg/analyzer/pr104308.c: Add test coverage. - -2022-04-25 Jakub Jelinek <jakub@redhat.com> - Thomas Schwinge <thomas@codesourcery.com> - - PR fortran/104717 - * gfortran.dg/goacc/pr104717.f90: New test. - * gfortran.dg/goacc/privatization-1-compute-loop.f90: Adjust. - -2022-04-25 Marek Polacek <polacek@redhat.com> - - PR c++/105353 - * g++.dg/ext/builtin-shufflevector-3.C: New test. - -2022-04-25 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/105276 - * g++.dg/pr105276.C: New. - -2022-04-25 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/103662 - * gfortran.dg/unlimited_polymorphic_3.f03: Force execution of - the DSE optimization pass. - -2022-04-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/100810 - * gcc.dg/torture/pr100810.c: New testcase. - * gcc.dg/torture/pr105337.c: Likewise. - -2022-04-25 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/105231 - * gcc.dg/torture/pr105231.c: New testcase. - -2022-04-25 Hongyu Wang <hongyu.wang@intel.com> - - PR target/105339 - * gcc.target/i386/sse-14.c: Add tests for new macro. - -2022-04-24 Jeff Law <jeffreyalaw@gmail.com> - - * gcc.dg/lto/pr94157_0.c: Also request executable stack from - the linker. - -2022-04-24 Mikael Morin <mikael@gcc.gnu.org> - Jakub Jelinek <jakub@redhat.com> - - PR fortran/103662 - * gfortran.dg/unlimited_polymorphic_3.f03 (foo): Separate - bind(c) and sequence checks to... - (foo_bc, foo_sq): ... two different procedures. - (main, foo*): Change type declarations so that type name, - component name, and either bind(c) or sequence attribute match - between the main type declarations and the procedure type - declarations. - (toplevel): Add optimization dump checks. - -2022-04-23 Jakub Jelinek <jakub@redhat.com> - - PR target/105338 - * gcc.target/i386/pr105338.c: New test. - -2022-04-22 Mikael Morin <mikael@gcc.gnu.org> - Richard Biener <rguenther@suse.de> - - PR fortran/102043 - * gfortran.dg/array_reference_3.f90: New. - * gfortran.dg/negative_stride_1.f90: New. - * gfortran.dg/vector_subscript_8.f90: New. - * gfortran.dg/vector_subscript_9.f90: New. - * gfortran.dg/c_loc_test_22.f90: Update dump patterns. - * gfortran.dg/finalize_10.f90: Same. - -2022-04-22 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/102043 - * gfortran.dg/dependency_49.f90: Update variable occurence - count. - -2022-04-22 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/105333 - * gcc.dg/pr105333.c: New test. - -2022-04-21 Segher Boessenkool <segher@kernel.crashing.org> - - PR target/103197 - PR target/102146 - * gcc.target/powerpc/bswap-brw.c: Add xfail on scan-assembler for -m32. - -2022-04-21 Segher Boessenkool <segher@kernel.crashing.org> - - * lib/target-supports.exp (check_effective_target_has_arch_ppc64): New. - -2022-04-21 Marek Polacek <polacek@redhat.com> - - PR c++/105321 - * g++.dg/cpp0x/constexpr-105321.C: New test. - -2022-04-21 Fritz Reese <foreese@gcc.gnu.org> - - PR fortran/105310 - * gfortran.dg/dec_union_12.f90: New test. - -2022-04-21 Jakub Jelinek <jakub@redhat.com> - - PR debug/105203 - * gfortran.dg/g77/pr105203.f: New test. - -2022-04-20 Ed Catmur <ed@catmur.uk> - - PR c++/104996 - * g++.dg/cpp0x/initlist129.C: New test. - -2022-04-20 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105312 - * gcc.target/arm/pr105312.c: New testcase. - -2022-04-20 Jan Hubicka <hubicka@ucw.cz> - - * gcc.c-torture/compile/103818.c: New test. - -2022-04-20 Jakub Jelinek <jakub@redhat.com> - - PR ipa/105306 - * g++.dg/opt/pr105306.C: New test. - -2022-04-19 Jakub Jelinek <jakub@redhat.com> - - PR target/105257 - * gcc.dg/pr105257.c: New test. - -2022-04-19 Jakub Jelinek <jakub@redhat.com> - - PR c++/105256 - * g++.dg/cpp0x/pr105256.C: New test. - -2022-04-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104010 - PR tree-optimization/103941 - * gcc.target/i386/pr103941-1.c: New testcase. - * gcc.target/i386/pr103941-2.c: Likewise. - -2022-04-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104880 - * g++.dg/opt/pr104880.cc: Rename to ... - * g++.dg/opt/pr104880.C: ... this. - -2022-04-18 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/105266 - * gcc.dg/pr105250.c: Skip for powerpc*-*-* and s390*-*-*. - -2022-04-15 Paul A. Clarke <pc@us.ibm.com> - - * g++.dg/debug/dwarf2/const2.C: Move to g++.target/powerpc. - * g++.dg/other/darwin-minversion-1.C: Likewise. - * g++.dg/eh/ppc64-sighandle-cr.C: Likewise. - * g++.dg/eh/simd-5.C: Likewise. - * g++.dg/eh/simd-4.C: Move to g++.target/powerpc, adjust dg directives. - * g++.dg/eh/uncaught3.C: Likewise. - * g++.dg/other/spu2vmx-1.C: Likewise. - * g++.target/powerpc/const2.C: New file. - * g++.target/powerpc/darwin-minversion-1.C: New file. - * g++.target/powerpc/ppc64-sighandle-cr.C: New file. - * g++.target/powerpc/simd-4.C: New file. - * g++.target/powerpc/simd-5.C: New file. - * g++.target/powerpc/spu2vmx-1.C: New file. - * g++.target/powerpc/uncaught3.C: New file. - -2022-04-15 Marek Polacek <polacek@redhat.com> - - PR c++/105268 - * g++.dg/concepts/variadic6.C: New test. - -2022-04-15 Hongyu Wang <hongyu.wang@intel.com> - - * gcc.target/i386/crc32-6.c: Adjust dg-error message. - * gcc.target/i386/crc32-7.c: New test. - -2022-04-15 Jason Merrill <jason@redhat.com> - - PR c++/102804 - * g++.dg/ext/unsigned-typedef1.C: New test. - -2022-04-15 Jason Merrill <jason@redhat.com> - - PR c++/102987 - * g++.dg/diagnostic/using1.C: New test. - -2022-04-14 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105264 - * gcc.dg/analyzer/torture/symbolic-10.c: New test. - -2022-04-14 Jason Merrill <jason@redhat.com> - - PR c++/104646 - * g++.dg/cpp0x/constexpr-fno-elide-ctors1.C: New test. - -2022-04-14 Jason Merrill <jason@redhat.com> - - PR c++/82980 - * g++.dg/cpp0x/lambda/lambda-current-inst1.C: New test. - -2022-04-14 Indu Bhagat <indu.bhagat@oracle.com> - - PR debug/105089 - * gcc.dg/debug/ctf/ctf-array-2.c: Refactor testcase. Move some - checks ... - * gcc.dg/debug/ctf/ctf-array-5.c: ... to here. - * gcc.dg/debug/ctf/ctf-variables-3.c: ... and here. Add - additional checks for one CTF variable and one CTF object info - record. - -2022-04-14 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105252 - * gcc.dg/analyzer/pr105252.c: New test. - -2022-04-14 Jakub Jelinek <jakub@redhat.com> - - PR target/105247 - * gcc.c-torture/compile/pr105247.c: New test. - -2022-04-14 Robin Dapp <rdapp@linux.ibm.com> - - * gcc.target/s390/pr80725.c: Add -Wno-int-to-pointer-cast. - -2022-04-14 Jason Merrill <jason@redhat.com> - - PR c++/65211 - * g++.target/i386/vec-tmpl1.C: New test. - -2022-04-14 Jason Merrill <jason@redhat.com> - - PR c++/97219 - * g++.dg/cpp1y/lambda-generic-local-fn1.C: New test. - -2022-04-14 Jason Merrill <jason@redhat.com> - - PR c++/101698 - * g++.dg/template/conv19.C: New test. - -2022-04-14 Jason Merrill <jason@redhat.com> - - PR c++/101442 - * g++.dg/cpp0x/initlist-nrv1.C: New test. - -2022-04-14 Jason Merrill <jason@redhat.com> - - PR c++/105265 - PR c++/100838 - * g++.dg/cpp0x/initlist-new6.C: New test. - -2022-04-13 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/105254 - * g++.dg/vect/pr105254.cc: New test. - -2022-04-13 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/105242 - * gfortran.dg/gomp/loop-exit.f90: New test. - -2022-04-13 Jason Merrill <jason@redhat.com> - - PR c++/105245 - PR c++/100111 - * g++.dg/cpp1y/constexpr-empty2.C: Add -fno-elide-constructors. - -2022-04-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105263 - * gcc.dg/pr105263.c: New testcase. - -2022-04-13 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/105253 - * gcc.target/i386/pr105253.c: New test. - -2022-04-13 Jakub Jelinek <jakub@redhat.com> - - PR c++/105233 - * g++.dg/cpp2a/is-constant-evaluated13.C: New test. - -2022-04-13 Martin Jambor <mjambor@suse.cz> - - PR testsuite/105183 - * gcc.dg/ipa/remref-7.c: Add --param max-inline-insns-auto=100 to options. - -2022-04-13 Marek Polacek <polacek@redhat.com> - - PR c++/97296 - * g++.dg/cpp0x/ref-bind4.C: Add dg-error. - * g++.dg/cpp0x/ref-bind8.C: New test. - -2022-04-13 Richard Biener <rguenther@suse.de> - - PR middle-end/105259 - * gcc.target/i386/auto-init-4.c: Adjust. - -2022-04-13 Jakub Jelinek <jakub@redhat.com> - - PR target/105234 - * gcc.c-torture/compile/pr105234.c: New test. - -2022-04-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105250 - * gcc.dg/pr105250.c: New testcase. - -2022-04-13 Alexandre Oliva <oliva@adacore.com> - - * gcc.target/powerpc/pr60203.c: Skip on no 128-bit long double. - -2022-04-13 Alexandre Oliva <oliva@adacore.com> - - PR target/102146 - * gcc.target/powerpc/pr56605.c: Accept SImode compare operand. - -2022-04-13 Xi Ruoyao <xry111@mengyan1223.wang> - - * gcc.target/mips/pr102024-4.c (dg-options): Add - -ffat-lto-objects. - -2022-04-12 Antoni Boucher <bouanto@zoho.com> - - PR jit/104293 - * jit.dg/all-non-failing-tests.h: Mention - test-setting-alignment. - * jit.dg/test-setting-alignment.c: New test. - -2022-04-12 Antoni Boucher <bouanto@zoho.com> - - PR jit/104072 - * jit.dg/all-non-failing-tests.h: Add new - test-register-variable. - * jit.dg/harness.h: Add -fdiagnostics-color=never to context's - command-line options. - * jit.dg/test-error-register-variable-bad-name.c: New test. - * jit.dg/test-error-register-variable-size-mismatch.c: New test. - * jit.dg/test-register-variable.c: New test. - -2022-04-12 Antoni Boucher <bouanto@zoho.com> - - PR jit/104071 - * jit.dg/all-non-failing-tests.h: Add new test-bitcast. - * jit.dg/test-bitcast.c: New test. - * jit.dg/test-error-bad-bitcast.c: New test. - * jit.dg/test-error-bad-bitcast2.c: New test. - -2022-04-12 Antoni Boucher <bouanto@zoho.com> - - PR target/95325 - * jit.dg/test-types.c: Add tests for sized integer types. - -2022-04-12 Jason Merrill <jason@redhat.com> - - PR c++/104669 - * g++.target/i386/mv31.C: New test. - -2022-04-12 Jason Merrill <jason@redhat.com> - - PR c++/102071 - * g++.dg/cpp1z/aligned-new9.C: Add single-object test. - -2022-04-12 Patrick Palka <ppalka@redhat.com> - - PR c++/103105 - * g++.dg/cpp2a/concepts-requires29.C: New test. - * g++.dg/cpp2a/concepts-requires29a.C: New test. - -2022-04-12 Richard Earnshaw <rearnsha@arm.com> - - PR target/101755 - * gcc.target/arm/reg_equal_test.c: Convert to gimple test. Restrict - to architectures with MOVW/MOVT. - -2022-04-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105235 - * g++.dg/opt/pr105235-1.C: New testcase. - -2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com> - - PR target/104144 - * gcc.target/arm/multilib.exp: Updated tests. - -2022-04-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105226 - * gcc.dg/pr105226.c: New testcase. - -2022-04-12 Jakub Jelinek <jakub@redhat.com> - - PR target/105214 - * gcc.dg/asan/pr105214.c: New test. - -2022-04-12 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/105211 - * gcc.dg/pr105211.c: New test. - -2022-04-12 Jason Merrill <jason@redhat.com> - - PR c++/104142 - * g++.dg/opt/const7.C: New test. - -2022-04-12 Jason Merrill <jason@redhat.com> - - PR c++/105223 - PR c++/92918 - * g++.dg/template/using31.C: New test. - -2022-04-11 Peter Bergner <bergner@linux.ibm.com> - - PR target/104894 - * gcc.target/powerpc/pr104894.c: New test. - * gcc.target/powerpc/pr104894-2.c: New test. - -2022-04-11 Jason Merrill <jason@redhat.com> - - PR c++/98249 - * g++.dg/lookup/new3.C: New test. - -2022-04-11 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105218 - * gcc.dg/pr105218.c: New test. - -2022-04-11 Alexandre Oliva <oliva@adacore.com> - - PR target/104253 - * gcc.target/powerpc/pr104253.c: Add missing dg- before - require-effective-target. Prune warning about -mfloat128 - possibly not being fully supported. - -2022-04-11 Tamar Christina <tamar.christina@arm.com> - - PR target/105197 - * gcc.target/aarch64/sve/pr105197-1.c: New test. - * gcc.target/aarch64/sve/pr105197-2.c: New test. - -2022-04-11 Jason Merrill <jason@redhat.com> - - PR c++/100370 - * g++.dg/warn/Wplacement-new-size-11.C: New test. - -2022-04-11 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104639 - * gcc.dg/tree-ssa/pr104639-1.c: New test. - * gcc.dg/tree-ssa/pr104639-2.c: New test. - -2022-04-11 Jakub Jelinek <jakub@redhat.com> - - PR c++/105186 - * c-c++-common/pr105186.c: New test. - -2022-04-11 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/103196 - * gcc.target/powerpc/p9-vec-length-epil-7.c: Add option - -fdisable-tree-cunroll. - * gcc.target/powerpc/p9-vec-length-full-7.c: Likewise. - -2022-04-10 Harald Anlauf <anlauf@gmx.de> - - PR fortran/105184 - * gfortran.dg/coarray_44.f90: Adjust expected output. - * gfortran.dg/coarray_allocate_11.f90: Likewise. - * gfortran.dg/coarray_allocate_12.f90: New test. - -2022-04-09 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/103892 - * gcc.dg/analyzer/pr103892.c: New test. - * gcc.dg/analyzer/pr96841.c: Drop redundant - -Wno-analyzer-too-complex. - -2022-04-09 Jan Hubicka <hubicka@ucw.cz> - - PR ipa/103376 - * gcc.c-torture/compile/pr103376.c: New test. - -2022-04-09 Jan Hubicka <hubicka@ucw.cz> - - * gcc.dg/ipa/pr105160.c: New test. - -2022-04-09 Xi Ruoyao <xry111@mengyan1223.wang> - - * gcc.dg/stack-usage-1.c: Adjust for LoongArch LP64. - -2022-04-09 Xi Ruoyao <xry111@mengyan1223.wang> - - * gcc.dg/builtin-apply2.c (dg-skip-if): Add loongarch*-*-*. - -2022-04-09 Jason Merrill <jason@redhat.com> - - PR c++/105191 - PR c++/92385 - * g++.dg/cpp0x/constexpr-array28.C: New test. - -2022-04-09 Jason Merrill <jason@redhat.com> - - PR c++/91618 - PR c++/96604 - * g++.dg/cpp0x/friend7.C: Remove xfail. - * g++.dg/template/friend72.C: New test. - * g++.dg/template/friend72a.C: New test. - * g++.dg/template/friend73.C: New test. - -2022-04-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105198 - * gcc.dg/torture/pr105198.c: New testcase. - -2022-04-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/105187 - * c-c++-common/torture/20050113-1.c: Add dg-additional-options - -Wno-psabi. - -2022-04-08 Jakub Jelinek <jakub@redhat.com> - - PR c/105149 - * gcc.dg/pr105149.c: New test. - -2022-04-08 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105189 - * g++.dg/torture/pr105189.C: New test. - -2022-04-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105175 - * gcc.dg/pr105175.c: New testcase. - -2022-04-07 Michael Meissner <meissner@linux.ibm.com> - - PR target/104253 - * lib/target-supports.exp (check_ppc_float128_sw_available): Do - not run float128 tests on VxWorks. - (check_ppc_float128_hw_available): Likewise. - (check_effective_target_ppc_ieee128_ok): Likewise. - -2022-04-07 Tamar Christina <tamar.christina@arm.com> - - PR testsuite/105196 - * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: Remove slp1 check. - -2022-04-07 Richard Biener <rguenther@suse.de> - Jan Hubicka <hubicka@ucw.cz> - - PR ipa/104303 - * gnat.dg/concat5.adb: New. - * gnat.dg/concat5_pkg1.adb: Likewise. - * gnat.dg/concat5_pkg1.ads: Likewise. - * gnat.dg/concat5_pkg2.adb: Likewise. - * gnat.dg/concat5_pkg2.ads: Likewise. - -2022-04-07 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/102208 - * gcc.dg/analyzer/symbolic-9.c: New test. - * gcc.dg/analyzer/torture/leak-pr102308-1.c: New test. - * gcc.dg/analyzer/torture/leak-pr102308-2.c: New test. - -2022-04-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105185 - * gcc.dg/torture/pr105185.c: New testcase. - -2022-04-07 Tamar Christina <tamar.christina@arm.com> - - PR target/104049 - * gcc.target/aarch64/vadd_reduc-1.c: New test. - * gcc.target/aarch64/vadd_reduc-2.c: New test. - -2022-04-07 Tamar Christina <tamar.christina@arm.com> - - PR testsuite/105095 - * gcc.dg/vect/complex/fast-math-complex-add-double.c: Update for codegen. - * gcc.dg/vect/complex/fast-math-complex-add-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mla-half-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mls-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mls-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mls-half-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mul-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mul-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mul-half-float.c: Likewise. - * gcc.dg/vect/vect.exp: Add extra letter to filter. - -2022-04-07 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/aarch64/pr103350-1.c: Skip on BE. - * gcc.target/aarch64/pr103350-2.c: Likewise. - -2022-04-07 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/102586 - * g++.dg/torture/builtin-clear-padding-5.C: New test. - * g++.dg/cpp2a/builtin-clear-padding1.C (bar): Uncomment one - call that is now accepted. - -2022-04-07 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105150 - * gcc.dg/pr105150.c: New test. - -2022-04-07 Richard Biener <rguenther@suse.de> - - PR middle-end/105165 - * gcc.dg/pr105165.c: New testcase. - -2022-04-07 Andreas Krebbel <krebbel@linux.ibm.com> - - PR target/105147 - * gcc.dg/pr105140.c: Skip for s390*-*-*. - -2022-04-07 Jason Merrill <jason@redhat.com> - - PR c++/101051 - * g++.dg/cpp0x/trailing15.C: New test. - -2022-04-07 Jason Merrill <jason@redhat.com> - - PR c++/101717 - * g++.dg/cpp1y/lambda-generic-this4.C: New test. - -2022-04-07 Jason Merrill <jason@redhat.com> - - PR c++/105187 - * gcc.c-torture/compile/20050113-1.c: Moved to... - * c-c++-common/torture/20050113-1.c: ...here. - -2022-04-06 Jakub Jelinek <jakub@redhat.com> - - PR c++/104668 - * g++.dg/cpp0x/pr104668.C: New test. - -2022-04-06 Patrick Palka <ppalka@redhat.com> - - PR c++/105143 - * g++.dg/cpp2a/nodiscard1.C: New test. - * g++.dg/warn/Wctad-maybe-unsupported4.C: New test. - -2022-04-06 Segher Boessenkool <segher@kernel.crashing.org> - - PR target/105147 - * gcc.dg/pr105140.c: Skip for powerpc*-*-*. - -2022-04-06 Jason Merrill <jason@redhat.com> - - PR c++/104702 - * g++.dg/warn/Wunused-19.C: New test. - -2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang> - - * g++.target/mips/cxx17_empty_base.C: New test. - -2022-04-06 Jason Merrill <jason@redhat.com> - - PR c++/100608 - * g++.dg/warn/Wshadow-compatible-local-3.C: New test. - -2022-04-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105173 - * gcc.dg/pr105173.c: New testcase. - -2022-04-06 Richard Biener <rguenther@suse.de> - - PR ipa/105166 - * gcc.dg/torture/pr105166.c: New testcase. - -2022-04-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105163 - * gcc.dg/torture/pr105163.c: New testcase. - -2022-04-06 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/103761 - * gcc.dg/vect/pr103761.c: New test. - * gcc.target/aarch64/sve/pr103761.c: Likewise. - -2022-04-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105148 - * gcc.dg/torture/pr105148.c: New testcase. - -2022-04-06 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/sse2-v1ti-andnot.c: New test case. - -2022-04-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105142 - * g++.dg/torture/pr105142.C: New testcase. - -2022-04-06 Richard Biener <rguenther@suse.de> - - PR testsuite/105122 - * gcc.dg/memcpy-6.c: Adjust. - * gcc.dg/strlenopt-73.c: Likewise. - * gcc.dg/strlenopt-80.c: Likewise. - -2022-04-05 Sandra Loosemore <sandra@codesourcery.com> - - * gfortran.dg/gomp/masked-taskloop.f90: New. - -2022-04-05 Uroš Bizjak <ubizjak@gmail.com> - - PR target/105139 - * gcc.target/i386/pr105139.c: New test. - -2022-04-05 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104210 - * gfortran.dg/pr104210.f90: New test. - -2022-04-05 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/105138 - * gfortran.dg/recursive_reference_3.f90: New test. - -2022-04-05 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/mops_4.c: New test. - -2022-04-05 Richard Sandiford <richard.sandiford@arm.com> - - PR target/103147 - * gcc.target/aarch64/pr103147-1.c: New test. - * gcc.target/aarch64/pr103147-2.c: Likewise. - * gcc.target/aarch64/pr103147-3.c: Likewise. - * gcc.target/aarch64/pr103147-4.c: Likewise. - * gcc.target/aarch64/pr103147-5.c: Likewise. - * gcc.target/aarch64/pr103147-6.c: Likewise. - * gcc.target/aarch64/pr103147-7.c: Likewise. - * gcc.target/aarch64/pr103147-8.c: Likewise. - * gcc.target/aarch64/pr103147-9.c: Likewise. - * gcc.target/aarch64/pr103147-10.c: Likewise. - * g++.target/aarch64/pr103147-1.C: Likewise. - * g++.target/aarch64/pr103147-2.C: Likewise. - * g++.target/aarch64/pr103147-3.C: Likewise. - * g++.target/aarch64/pr103147-4.C: Likewise. - * g++.target/aarch64/pr103147-5.C: Likewise. - * g++.target/aarch64/pr103147-6.C: Likewise. - * g++.target/aarch64/pr103147-7.C: Likewise. - * g++.target/aarch64/pr103147-8.C: Likewise. - * g++.target/aarch64/pr103147-9.C: Likewise. - * g++.target/aarch64/pr103147-10.C: Likewise. - -2022-04-05 Jason Merrill <jason@redhat.com> - - PR c++/103852 - DR 1286 - * g++.dg/cpp1z/class-deduction-alias1.C: Expect warning. - -2022-04-05 Jason Merrill <jason@redhat.com> - - PR c++/101677 - * g++.dg/cpp2a/concepts-pr67178.C: Adjust error. - * g++.dg/cpp2a/concepts-requires28.C: New test. - -2022-04-05 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp0x/noexcept34.C: Allow more wording variation. - -2022-04-05 Richard Biener <rguenther@suse.de> - - PR c/105151 - * gcc.dg/gimplefe-error-14.c: New testcase. - -2022-04-05 Robin Dapp <rdapp@linux.ibm.com> - - * gcc.target/s390/zvector/vec-double-compile.c: Expect vl - instead of vc*. - * gcc.target/s390/zvector/vec-float-compile.c: Dito. - * gcc.target/s390/zvector/vec-signed-compile.c: Dito. - * gcc.target/s390/zvector/vec-unsigned-compile.c: Dito. - -2022-04-05 Robin Dapp <rdapp@linux.ibm.com> - - * gcc.target/s390/ifcvt-two-insns-bool.c: Change nle to h. - * gcc.target/s390/ifcvt-two-insns-int.c: Dito. - * gcc.target/s390/ifcvt-two-insns-long.c: Dito. - -2022-04-05 Robin Dapp <rdapp@linux.ibm.com> - - * gcc.dg/Wuse-after-free-2.c: - Add -fno-tree-loop-distribute-patterns in order to avoid - rawmemchr. - -2022-04-05 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr101908-1.c: New test. - * gcc.target/i386/pr101908-2.c: New test. - * gcc.target/i386/pr101908-3.c: New test. - -2022-04-04 Jason Merrill <jason@redhat.com> - - PR c++/101894 - * g++.dg/lookup/friend22.C: New test. - -2022-04-04 Jason Merrill <jason@redhat.com> - - PR c++/103852 - DR 1286 - * g++.dg/cpp0x/alias-decl-dr1286a.C: Default args now matter. - * g++.dg/cpp1z/class-deduction-alias1.C: New test. - -2022-04-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105132 - * gcc.dg/torture/pr105132.c: New testcase. - -2022-04-04 Richard Biener <rguenther@suse.de> - - PR middle-end/105140 - * gcc.dg/pr105140.c: New testcase. - -2022-04-04 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/104740 - * gdc.dg/simd_ctfe.d: Compile with target avx_runtime or - vect_sizes_16B_8B. - -2022-04-03 Jakub Jelinek <jakub@redhat.com> - - PR target/105123 - * gcc.target/i386/pr105123.c: New test. - -2022-04-03 Benno Evers <benno.evers@tenzir.com> - Iain Sandoe <iain@sandoe.co.uk> - - PR c++/103328 - * g++.dg/coroutines/pr103328.C: New test. - -2022-04-02 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/nrvo1.d: New test. - -2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang> - - * gcc.target/mips/pr102024-4.c: New test. - -2022-04-02 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/fixed-point/composite-type.c: Add -Wno-array-parameter. - -2022-04-01 Jason Merrill <jason@redhat.com> - - Revert: - 2022-03-31 Jason Merrill <jason@redhat.com> - - PR c++/96645 - * g++.dg/cpp0x/nsdmi10.C: Now OK. - * g++.dg/ext/is_constructible3.C: Likewise. - * g++.dg/ext/is_constructible7.C: Likewise. - -2022-04-01 Jason Merrill <jason@redhat.com> - - Revert: - 2022-03-24 Jason Merrill <jason@redhat.com> - - PR c++/96645 - * g++.dg/ext/is_constructible3.C: Expect error. - * g++.dg/ext/is_constructible7.C: New test. - -2022-04-01 Patrick Palka <ppalka@redhat.com> - - PR c++/105110 - * g++.dg/cpp2a/nontype-class52.C: New test. - -2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang> - - PR target/102024 - * gcc.target/mips/pr102024-1.c: New test. - * gcc.target/mips/pr102024-2.c: New test. - * gcc.target/mips/pr102024-3.c: New test. - -2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang> - - PR target/102024 - * g++.target/mips/mips.exp: New test supporting file. - * g++.target/mips/pr102024.C: New test. - -2022-04-01 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104645 - * gcc.dg/tree-ssa/pr104645.c: New test. - -2022-04-01 Jakub Jelinek <jakub@redhat.com> - - PR target/102024 - * gcc.dg/compat/pr102024_test.h: Add further tests with zero sized - structures and arrays. - * g++.dg/compat/pr102024_test.h: Add further tests with zero sized - arrays. - -2022-04-01 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/nvptx.exp - (check_effective_target_runtime_ptx_isa_version_6_3): Rename and - generalize to ... - (check_effective_target_runtime_ptx_isa_version_at_least): .. this. - (check_effective_target_default_ptx_isa_version_at_least) - (check_effective_target_runtime_ptx_alias, add_options_for_ptx_alias): - New proc. - * gcc.target/nvptx/alias-1.c: Use "target runtime_ptx_alias" and - "dg-add-options ptx_alias". - * gcc.target/nvptx/alias-2.c: Same. - * gcc.target/nvptx/alias-3.c: Same. - * gcc.target/nvptx/alias-4.c: Same. - -2022-04-01 Alexandre Oliva <oliva@adacore.com> - - * lib/target-supports.exp - (check_effective_target_arm_soft_ok_link): New. - * gcc.target/arm/size-optimization-ieee-1.c: Use it. - * gcc.target/arm/size-optimization-ieee-2.c: Likewise. - * gcc.target/arm/size-optimization-ieee-3.c: Likewise. - -2022-03-31 Martin Jambor <mjambor@suse.cz> - - * gcc.dg/ipa/pr103083-1.c: New test. - * gcc.dg/ipa/pr103083-2.c: Likewise. - -2022-03-31 Martin Jambor <mjambor@suse.cz> - - PR ipa/102513 - * gcc.dg/ipa/pr102513.c: New test. - -2022-03-31 Martin Jambor <mjambor@suse.cz> - - PR ipa/103171 - * gcc.dg/ipa/remref-6.c: Adjust dump scan string. - * gcc.dg/ipa/remref-7.c: New test. - * gcc.dg/lto/pr103171_0.c: New test. - * gcc.dg/lto/pr103171_1.c: Likewise. - -2022-03-31 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/march.c: Add missing space in dg-options line. - -2022-03-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105109 - * gcc.dg/uninit-pr105109.c: New testcase. - -2022-03-31 Jason Merrill <jason@redhat.com> - - PR c++/96645 - * g++.dg/cpp0x/nsdmi10.C: Now OK. - * g++.dg/ext/is_constructible3.C: Likewise. - * g++.dg/ext/is_constructible7.C: Likewise. - -2022-03-30 Harald Anlauf <anlauf@gmx.de> - - PR fortran/100892 - * gfortran.dg/associated_target_8.f90: New test. - -2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com> - - PR middle-end/105032 - * gcc.target/i386/pr105032.c: New. - -2022-03-30 Jakub Jelinek <jakub@redhat.com> - - Revert: - 2022-03-30 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/80334 - PR target/102772 - * g++.dg/torture/pr80334.C: Change from dg-do run to dg-do compile. - -2022-03-30 Marek Polacek <polacek@redhat.com> - - PR c++/101030 - * g++.dg/ext/cond5.C: New test. - -2022-03-30 Patrick Palka <ppalka@redhat.com> - - PR c++/100474 - * g++.dg/cpp2a/concepts-traits3.C: New test. - -2022-03-30 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/80334 - PR target/102772 - * g++.dg/torture/pr80334.C: Change from dg-do run to dg-do compile. - -2022-03-30 Marek Polacek <polacek@redhat.com> - - PR c++/93280 - PR c++/104583 - * g++.dg/cpp0x/nsdmi-list7.C: New test. - * g++.dg/cpp0x/nsdmi-list8.C: New test. - -2022-03-30 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/105093 - * g++.dg/ubsan/pr105093.C: New test. - -2022-03-30 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105094 - * gcc.dg/pr105094.c: New test. - -2022-03-30 Jakub Jelinek <jakub@redhat.com> - - PR c++/105092 - * g++.dg/gomp/pr105092.C: New test. - -2022-03-30 Jakub Jelinek <jakub@redhat.com> - - PR c++/105061 - * g++.dg/concepts/pr105061.C: New test. - -2022-03-30 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/analyzer/strndup-1.c: Add *-*-vxworks* to no-strndup - in libc. - -2022-03-30 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/weak/typeof-2.c: Add arm*-*-* to targets that may - place the call target in a constant pool. - -2022-03-29 David Malcolm <dmalcolm@redhat.com> - - PR testsuite/105085 - * gcc.dg/analyzer/untracked-1.c: Add further test coverage. - -2022-03-29 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/104571 - * gfortran.dg/pr104571.f90: New test. - -2022-03-29 Jonathan Wakely <jwakely@redhat.com> - - * lib/g++-dg.exp: Update comments. - * lib/g++.exp (gpp_std_list): Check for an existing value before - setting it to an empty list. - -2022-03-29 Jonathan Wakely <jwakely@redhat.com> - - * g++.dg/cpp0x/noexcept06.C: Disable for C++23. - -2022-03-29 Harald Anlauf <anlauf@gmx.de> - - PR fortran/50549 - * gfortran.dg/char_pointer_assign_7.f90: New test. - -2022-03-29 Marek Polacek <polacek@redhat.com> - Jakub Jelinek <jakub@redhat.com> - - PR middle-end/103597 - * c-c++-common/Wimplicit-fallthrough-39.c: New test. - -2022-03-29 Patrick Palka <ppalka@redhat.com> - - PR c++/71637 - * c-c++-common/Wmisleading-indentation-6.c: New test. - -2022-03-29 Richard Earnshaw <rearnsha@arm.com> - - * gcc.target/aarch64/aapcs64/test_28.c: New test. - -2022-03-29 Richard Earnshaw <rearnsha@arm.com> - - PR target/102024 - * gcc.target/arm/aapcs/vfp26.c: New test. - -2022-03-29 Tom de Vries <tdevries@suse.de> - - PR target/104857 - * gcc.target/nvptx/ptx31.c: New test. - * gcc.target/nvptx/ptx60.c: New test. - * gcc.target/nvptx/ptx63.c: New test. - * gcc.target/nvptx/ptx70.c: New test. - -2022-03-29 Tom de Vries <tdevries@suse.de> - - PR target/104714 - * gcc.target/nvptx/march-map.c: New test. - -2022-03-29 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/main.c: New test. - * gcc.target/nvptx/march.c: New test. - -2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> - Lulu Cheng <chenglulu@loongson.cn> - - * g++.dg/cpp0x/constexpr-rom.C: Add build options for LoongArch. - * g++.old-deja/g++.abi/ptrmem.C: Add LoongArch support. - * g++.old-deja/g++.pt/ptrmem6.C: xfail for LoongArch. - * gcc.dg/20020312-2.c: Add LoongArch support. - * c-c++-common/zero-scratch-regs-10.c: Like wise - * c-c++-common/zero-scratch-regs-11.c: Like wise - * c-c++-common/zero-scratch-regs-8.c: Like wise - * c-c++-common/zero-scratch-regs-9.c: Like wise - * gcc.dg/loop-8.c: Skip on LoongArch. - * gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise. - * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise. - * go.test/go-test.exp: Define the LoongArch target. - * lib/target-supports.exp: Like wise. - * gcc.target/loongarch/loongarch.exp: New file. - * gcc.target/loongarch/tst-asm-const.c: Like wise. - * gcc.target/loongarch/larch-builtin.c: Like wise. - -2022-03-29 Marc Poulhiès <poulhies@adacore.com> - - * gcc.target/i386/pr103275.c: Add missing - dg-require-effective-target for checking fpic. - -2022-03-29 Marc Poulhiès <poulhies@adacore.com> - - * gcc.target/i386/pr97521.c: Add -Wno-psabi to dg-options. - * gcc.dg/analyzer/pr96713.c: Likewise. - -2022-03-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105080 - * gcc.dg/pr105080.c: New testcase. - -2022-03-29 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/pr105087-1.c: New test. - * gcc.dg/analyzer/pr105087-2.c: New test. - * gcc.dg/analyzer/vasprintf-1.c: New test. - -2022-03-29 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105074 - * gcc.dg/analyzer/pr105074.c: New test. - * gcc.dg/analyzer/untracked-1.c (extern_fn_char_ptr): New decl. - (test_13): New. - -2022-03-28 Patrick Palka <ppalka@redhat.com> - - PR c++/105067 - * g++.dg/cpp2a/concepts-err4.C: New test. - -2022-03-28 Patrick Palka <ppalka@redhat.com> - - PR c++/105064 - * g++.dg/cpp2a/concepts-friend9.C: New test. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/105003 - PR c++/104008 - PR c++/102869 - * g++.dg/cpp0x/variadic-alias6.C: New test. - * g++.dg/cpp0x/variadic-alias7.C: New test. - -2022-03-28 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104308 - * gcc.dg/analyzer/pr104308.c: New test. - * gcc.dg/uninit-40.c (foo): Update expression in expected message. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/102071 - * g++.dg/cpp1z/aligned-new9.C: New test. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/103291 - * g++.dg/ext/visibility/visibility-local-extern1.C: New test. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/102123 - * g++.dg/cpp1z/class-deduction110.C: New test. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/103968 - * g++.dg/cpp0x/alias-decl-mem1.C: New test. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/103943 - * g++.dg/cpp1z/class-deduction109.C: New test. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/102045 - * g++.dg/cpp1z/aggr-base12.C: New test. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/104847 - * g++.dg/abi/mangle-union1.C: New test. - -2022-03-28 Jason Merrill <jason@redhat.com> - - PR c++/99445 - PR c++/103769 - * g++.dg/cpp0x/variadic-alias5.C: New test. - -2022-03-28 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr105066.c: New test. - -2022-03-28 Richard Biener <rguenther@suse.de> - - * gcc.dg/torture/pr100786.c: Add dg-require alias. - -2022-03-27 H.J. Lu <hjl.tools@gmail.com> - - PR target/105068 - * gcc.target/i386/pr105068.c: New test. - -2022-03-26 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/103775 - * gcc.dg/pr103775.c: New test. - -2022-03-26 Patrick Palka <ppalka@redhat.com> - - PR c++/105050 - * g++.dg/cpp1y/constexpr-105050.C: New test. - -2022-03-26 Patrick Palka <ppalka@redhat.com> - - PR c++/103455 - * g++.dg/overload/builtin6.C: New test. - -2022-03-26 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105057 - * gcc.dg/analyzer/fread-2.c: New test, as a regression test for - ICE in store::set_value on untracked base region. - * gcc.dg/analyzer/memset-2.c: Likewise, for ICE in - store::fill_region. - * gcc.dg/analyzer/strcpy-2.c: Likewise, for ICE in - store::mark_region_as_unknown. - -2022-03-26 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/builtin-convertvector-3.c: New test. - * g++.dg/cpp2a/bit-cast15.C: New test. - -2022-03-25 Peter Bergner <bergner@linux.ibm.com> - - * g++.dg/pr65240-1.C: Use -mdejagnu-cpu=. Remove dg-skip-if. - * g++.dg/pr65240-2.C: Likewise. - * g++.dg/pr65240-3.C: Likewise. - * g++.dg/pr65240-4.C: Likewise. - * g++.dg/pr65242.C: Likewise. - * g++.dg/pr67211.C: Likewise. - * g++.dg/pr69667.C: Likewise. - * g++.dg/pr71294.C: Likewise. - * g++.dg/pr84279.C: Likewise. - * g++.dg/torture/ppc-ldst-array.C: Likewise. - * gfortran.dg/nint_p7.f90: Likewise. - * gfortran.dg/pr102860.f90: Likewise. - * gcc.target/powerpc/fusion.c: Use -mdejagnu-cpu= and -mdejagnu-tune=. - * gcc.target/powerpc/fusion2.c: Likewise. - * gcc.target/powerpc/int_128bit-runnable.c: Use -mdejagnu-cpu=. - * gcc.target/powerpc/test_mffsl.c: Likewise. - * gfortran.dg/pr47614.f: Likewise. - * gfortran.dg/pr58968.f: Likewise. - -2022-03-25 H.J. Lu <hjl.tools@gmail.com> - - PR testsuite/105055 - * gcc.target/i386/pr95483-1.c: Replace -msse with -msse2. - -2022-03-25 Christophe Lyon <christohe.lyon@arm.com> - - PR target/104882 - * gcc.target/arm/simd/mve-vclz.c: Update expected results. - * gcc.target/arm/simd/mve-vshl.c: Likewise. - * gcc.target/arm/simd/mve-vec-pack.c: Delete. - * gcc.target/arm/simd/mve-vec-unpack.c: Delete. - * gcc.target/arm/simd/pr104882.c: New test. - -2022-03-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/105053 - * g++.dg/vect/pr105053.cc: New testcase. - -2022-03-25 Marek Polacek <polacek@redhat.com> - - PR c++/104944 - * g++.dg/cpp0x/alignas20.C: New test. - -2022-03-25 Richard Biener <rguenther@suse.de> - - PR middle-end/105049 - * gcc.dg/pr105049.c: New testcase. - -2022-03-25 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104954 - * gcc.dg/analyzer/asm-x86-dyndbg-1.c: New test. - * gcc.dg/analyzer/asm-x86-dyndbg-2.c: New test. - * gcc.dg/analyzer/many-unused-locals.c: New test. - * gcc.dg/analyzer/untracked-1.c: New test. - * gcc.dg/analyzer/unused-local-1.c: New test. - -2022-03-24 Marek Polacek <polacek@redhat.com> - - PR c++/104284 - * g++.dg/cpp1y/constexpr-104284-1.C: New test. - * g++.dg/cpp1y/constexpr-104284-2.C: New test. - * g++.dg/cpp1y/constexpr-104284-3.C: New test. - * g++.dg/cpp1y/constexpr-104284-4.C: New test. - -2022-03-24 Jason Merrill <jason@redhat.com> - - PR c++/96645 - * g++.dg/ext/is_constructible3.C: Expect error. - * g++.dg/ext/is_constructible7.C: New test. - -2022-03-24 Marek Polacek <polacek@redhat.com> - - PR c++/102990 - * g++.dg/cpp0x/nsdmi-template22.C: New test. - * g++.dg/cpp0x/nsdmi-template23.C: New test. - -2022-03-24 Patrick Palka <ppalka@redhat.com> - - PR c++/104620 - * g++.dg/cpp23/consteval-if2.C: XFAIL two dg-error tests where - the argument to the non-constant non-dependent consteval call is - wrapped by NON_DEPENDENT_EXPR. - * g++.dg/cpp2a/consteval30.C: New test. - -2022-03-24 Alexandre Oliva <oliva@adacore.com> - - PR debug/104564 - * c-c++-common/torture/harden-comp.c: Adjust. - * c-c++-common/torture/harden-cond.c: Adjust. - -2022-03-24 Alexandre Oliva <oliva@adacore.com> - - PR middle-end/104975 - * gcc.dg/pr104975.c: New. - -2022-03-24 Jakub Jelinek <jakub@redhat.com> - - PR target/102024 - * gcc.dg/compat/pr102024_main.c: New test. - * gcc.dg/compat/pr102024_test.h: New test. - * gcc.dg/compat/pr102024_x.c: New test. - * gcc.dg/compat/pr102024_y.c: New test. - * g++.dg/compat/pr102024_main.C: New test. - * g++.dg/compat/pr102024_test.h: New test. - * g++.dg/compat/pr102024_x.C: New test. - * g++.dg/compat/pr102024_y.C: New test. - -2022-03-24 Jakub Jelinek <jakub@redhat.com> - - PR c++/105035 - * g++.dg/warn/Wduplicated-cond2.C: New test. - -2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR tree-optimization/104970 - * gcc.dg/builtin-dynamic-object-size-0.c (test_parmsz_simple2, - test_parmsz_simple3, test_parmsz_extern, test_parmsz_internal, - test_parmsz_internal2, test_parmsz_internal3): New tests. - (main): Use them. - -2022-03-24 Jakub Jelinek <jakub@redhat.com> - - PR c++/104994 - * g++.dg/diagnostic/constexpr1.C: Change expected diagnostic wording - from declared to defined. - * g++.dg/cpp23/constexpr-nonlit1.C: Likewise. - (garply): Change dg-error into dg-bogus. - * g++.dg/cpp23/constexpr-nonlit2.C: Change expected diagnostic wording - from declaration to definition. - * g++.dg/cpp23/constexpr-nonlit6.C: Change expected diagnostic wording - from declared to defined. - * g++.dg/cpp23/constexpr-nonlit7.C: New test. - * g++.dg/cpp2a/constexpr-try5.C: Change expected diagnostic wording - from declared to defined. - * g++.dg/cpp2a/consteval3.C: Likewise. - -2022-03-23 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104979 - * gcc.dg/analyzer/boxed-malloc-1-29.c: Deleted test, moving the - now fixed test_29 to... - * gcc.dg/analyzer/boxed-malloc-1.c: ...here. - * gcc.dg/analyzer/stale-frame-1.c: Add test coverage. - -2022-03-23 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/103560 - * gfortran.dg/include_14.f90: Update dg-warning. - * gfortran.dg/include_17.f90: Likewise. - * gfortran.dg/include_18.f90: Likewise. - * gfortran.dg/include_6.f90: Update dg-*. - -2022-03-23 Jason Merrill <jason@redhat.com> - - PR c++/105006 - * g++.dg/template/using30.C: New test. - -2022-03-23 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105017 - * gcc.dg/analyzer/taint-alloc-1.c: Add expected messages relating - to heap vs stack. - -2022-03-23 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104997 - * gcc.dg/analyzer/write-to-string-literal-4-disabled.c: New test, - adapted from write-to-string-literal-4.c. - -2022-03-23 Jakub Jelinek <jakub@redhat.com> - - PR target/102986 - * gcc.target/i386/sse2-v1ti-shift-3.c (rotr_v1ti, rotl_v1ti, rotr_ti, - rotl_ti): Use -i&127 instead of 128-i to avoid UB on i == 0. - -2022-03-23 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr104976.c: New test. - * gcc.target/i386/avx512fp16-vfcmaddcph-1a.c: Scan either - vblendps or masked vmovaps. - * gcc.target/i386/avx512fp16-vfmaddcph-1a.c: Ditto - * gcc.target/i386/avx512fp16vl-vfcmaddcph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfmaddcph-1a.c: Ditto. - -2022-03-22 Marek Polacek <polacek@redhat.com> - - PR c/82283 - PR c/84685 - * gcc.dg/Wmissing-field-initializers-1.c: New test. - * gcc.dg/Wmissing-field-initializers-2.c: New test. - * gcc.dg/Wmissing-field-initializers-3.c: New test. - * gcc.dg/Wmissing-field-initializers-4.c: New test. - * gcc.dg/Wmissing-field-initializers-5.c: New test. - -2022-03-22 Jakub Jelinek <jakub@redhat.com> - - PR c++/102489 - * g++.dg/coroutines/pr102489.C: New test. - -2022-03-22 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/float16-1.c: Add additional-options -mexperimental. - * gcc.target/nvptx/float16-2.c: Same. - * gcc.target/nvptx/float16-3.c: Same. - * gcc.target/nvptx/float16-4.c: Same. - * gcc.target/nvptx/float16-5.c: Same. - * gcc.target/nvptx/float16-6.c: Same. - -2022-03-22 Tom de Vries <tdevries@suse.de> - - PR target/104957 - * gcc.target/nvptx/alias-1.c: New test. - * gcc.target/nvptx/alias-2.c: New test. - * gcc.target/nvptx/alias-3.c: New test. - * gcc.target/nvptx/alias-4.c: New test. - * gcc.target/nvptx/nvptx.exp - (check_effective_target_runtime_ptx_isa_version_6_3): New proc. - -2022-03-22 Martin Liska <mliska@suse.cz> - - PR target/104898 - * gcc.target/i386/pr99753.c: Update test. - * gcc.target/i386/spellcheck-options-1.c: Likewise. - * gcc.target/i386/spellcheck-options-2.c: Likewise. - * gcc.target/i386/spellcheck-options-4.c: Likewise. - -2022-03-22 Martin Liska <mliska@suse.cz> - - PR target/104898 - * gcc.target/aarch64/branch-protection-attr.c: - Use 'qs' and remove usage '(%qs)'. - * gcc.target/aarch64/spellcheck_1.c: Likewise. - * gcc.target/aarch64/spellcheck_2.c: Likewise. - * gcc.target/aarch64/spellcheck_3.c: Likewise. - -2022-03-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/102645 - * gcc.c-torture/compile/pr102645.c: New test. - -2022-03-22 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/104989 - * g++.dg/other/pr104989.C: New test. - -2022-03-22 Hongyu Wang <hongyu.wang@intel.com> - - PR target/104978 - * gcc.target/i386/avx512fp16-vfcmaddcsh-1a.c: Adjust asm scan. - * gcc.target/i386/avx512fp16-vfmaddcsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfcmaddcsh-1c.c: Removed. - * gcc.target/i386/avx512fp16-vfmaddcsh-1c.c: Ditto. - * gcc.target/i386/pr104978.c: New test. - -2022-03-21 H.J. Lu <hjl.tools@gmail.com> - - PR target/105000 - * gcc.target/i386/pr105000-1.c: New test. - * gcc.target/i386/pr105000-2.c: Likewise. - * gcc.target/i386/pr105000-3.c: Likewise. - * gcc.target/i386/pr105000-4.c: Likewise. - -2022-03-21 Jason Merrill <jason@redhat.com> - - PR c++/58646 - * g++.dg/ext/vla24.C: New test. - -2022-03-21 H.J. Lu <hjl.tools@gmail.com> - - PR target/86722 - PR tree-optimization/90356 - * gcc.target/i386/pr86722.c: Add -mno-avx. - * gcc.target/i386/pr90356.c: Likewise. - -2022-03-21 Jason Merrill <jason@redhat.com> - - PR c++/103337 - PR c++/102740 - PR c++/103299 - PR c++/102538 - * g++.dg/ext/flexary3.C: Remove one error. - * g++.dg/parse/pr43765.C: Likewise. - * g++.dg/cpp2a/desig22.C: New test. - * g++.dg/cpp2a/desig23.C: New test. - * g++.dg/cpp2a/desig24.C: New test. - * g++.dg/cpp2a/desig25.C: New test. - -2022-03-21 Jason Merrill <jason@redhat.com> - - PR c++/101767 - * g++.dg/ext/anon-struct10.C: New test. - -2022-03-21 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/105004 - * gdc.dg/pr105004.d: New test. - -2022-03-21 Richard Sandiford <richard.sandiford@arm.com> - - PR middle-end/104869 - * g++.dg/pr104869.C: New test. - -2022-03-21 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/arch-13.c: New. - * gcc.target/riscv/arch-14.c: Ditto. - * gcc.target/riscv/arch-15.c: Ditto. - * gcc.target/riscv/predef-18.c: Ditto. - * gcc.target/riscv/predef-19.c: Ditto. - * gcc.target/riscv/predef-20.c: Ditto. - -2022-03-21 Hongyu Wang <hongyu.wang@intel.com> - - PR target/104977 - * gcc.target/i386/pr104977.c: New test. - -2022-03-20 Jeff Law <jeffreyalaw@gmail.com> - - * gcc.target/s390/arch13/sel-1.c: Adjust expected output. - -2022-03-19 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/104228 - PR fortran/104570 - * gfortran.dg/associate_58.f90: New test. - -2022-03-19 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104971 - * gcc.target/i386/pr104971.c: New test. - -2022-03-19 Jakub Jelinek <jakub@redhat.com> - - PR c++/101515 - * g++.dg/warn/pr101515.C: New test. - -2022-03-18 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104943 - PR analyzer/104954 - PR analyzer/103533 - * gcc.dg/analyzer/torture/boxed-ptr-1.c: Update expected number - of exploded nodes to reflect improvements in state purging. - -2022-03-18 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104943 - * gcc.dg/analyzer/boxed-malloc-1-29.c: New test. - * gcc.dg/analyzer/boxed-malloc-1.c: New test. - * gcc.dg/analyzer/taint-alloc-5.c: New test. - * gcc.dg/analyzer/torture/boxed-int-1.c: New test. - * gcc.dg/analyzer/torture/boxed-ptr-1.c: New test. - -2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/104961 - * gcc.target/i386/pr104961.c: New. - -2022-03-18 Jason Merrill <jason@redhat.com> - - PR c++/92918 - PR c++/104476 - * g++.dg/cpp0x/pr85070.C: Remove expected error. - * g++.dg/lookup/using66a.C: New test. - * g++.dg/lookup/using67.C: New test. - -2022-03-18 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/99578 - PR middle-end/100680 - PR tree-optimization/100834 - * gcc.dg/tree-ssa/pr99578-1.c: New test. - * gcc.dg/pr99578-1.c: New test. - * gcc.dg/pr99578-2.c: New test. - * gcc.dg/pr99578-3.c: New test. - * gcc.dg/pr100680.c: New test. - * gcc.dg/pr100834.c: New test. - -2022-03-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/104568 - * g++.dg/cpp2a/constexpr-new22.C: New test. - -2022-03-18 Jonathan Wakely <jwakely@redhat.com> - - * g++.dg/torture/pr104601.C: Include <vector>. - -2022-03-18 Marek Polacek <polacek@redhat.com> - - PR c++/104008 - * g++.dg/cpp0x/variadic-alias3.C: New test. - * g++.dg/cpp0x/variadic-alias4.C: New test. - -2022-03-18 Iain Sandoe <iain@sandoe.co.uk> - - * g++.dg/modules/bad-mapper-1.C: Make dg- expressions that match the - diagnostics output by earlier Darwin too. - -2022-03-18 Tom de Vries <tdevries@suse.de> - - * c-c++-common/gomp/pr104968.c: New test. - -2022-03-18 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/103039 - * gfortran.dg/gomp/associate1.f90: Update dg-error. - * gfortran.dg/gomp/associate2.f90: New test. - -2022-03-18 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr104974.c: New test. - -2022-03-18 Cui,Lili <lili.cui@intel.com> - - PR target/104963 - * gcc.target/i386/pr104963.c: New test case. - -2022-03-17 Roger Sayle <roger@nextmovesoftware.com> - - PR target/86722 - PR tree-optimization/90356 - * gcc.target/i386/pr86722.c: New test case. - * gcc.target/i386/pr90356.c: New test case. - -2022-03-17 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104960 - * gcc.dg/gimplefe-37.c: Adjust to allow either the true - or false edge to have a forwarder. - -2022-03-17 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/103984 - * g++.dg/opt/pr103984.C: New test. - -2022-03-17 Thomas Schwinge <thomas@codesourcery.com> - - * c-c++-common/goacc-gomp/nesting-1.c: Enhance. - * c-c++-common/goacc/kernels-loop-g.c: Likewise. - * c-c++-common/goacc/nesting-1.c: Likewise. - * gcc.dg/goacc/nested-function-1.c: Likewise. - * gfortran.dg/goacc/common-block-3.f90: Likewise. - * gfortran.dg/goacc/nested-function-1.f90: Likewise. - -2022-03-17 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/90115 - * c-c++-common/goacc-gomp/nesting-1.c: Enhance. - * gfortran.dg/goacc/common-block-3.f90: Likewise. - -2022-03-16 Christophe Lyon <christophe.lyon@arm.com> - Roger Sayle <roger@nextmovesoftware.com> - - PR c/98198 - * gcc.dg/pr98198.c: New test case. - -2022-03-16 Roger Sayle <roger@nextmovesoftware.com> - - PR target/94680 - * gcc.target/i386/sse2-pr94680-2.c: New stricter V2DF test case. - -2022-03-16 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/many-disabled-diagnostics.c: New test. - * gcc.dg/plugin/analyzer_gil_plugin.c - (gil_diagnostic::get_controlling_option): New. - (double_save_thread::emit): Use it. - (fncall_without_gil::emit): Likewise. - (pyobject_usage_without_gil::emit): Likewise. - -2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR tree-optimization/104941 - * gcc.dg/builtin-dynamic-object-size-0.c (S1, S2): New structs. - (test_alloc_nested_structs, g): New functions. - (main): Call test_alloc_nested_structs. - -2022-03-16 H.J. Lu <hjl.tools@gmail.com> - - PR target/104890 - * gcc.target/i386/pr104890.c: New test. - -2022-03-16 LiaoShihua <shihua@iscas.ac.cn> - - * gcc.target/riscv/predef-17.c: New test. - -2022-03-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/102008 - * gcc.target/aarch64/pr102008.c: New testcase. - -2022-03-16 Patrick Palka <ppalka@redhat.com> - - PR c++/96780 - * g++.dg/opt/pr96780.C: New test. - -2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR tree-optimization/104942 - * gcc.dg/builtin-dynamic-object-size-0.c (alloc_func_long, - test_builtin_malloc_long): New functions. - (main): Use it. - -2022-03-16 Jakub Jelinek <jakub@redhat.com> - - PR target/104910 - * gcc.dg/pr104910.c: New test. - -2022-03-16 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/sse4_1-blendvpd-1.c: New test. - -2022-03-15 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/95000 - * gcc.dg/analyzer/pr95000-1.c: New test. - -2022-03-15 Peter Bergner <bergner@linux.ibm.com> - - PR target/104923 - * gcc.target/powerpc/pr104923.c: New test. - -2022-03-15 Patrick Palka <ppalka@redhat.com> - - PR c++/103177 - * g++.dg/lookup/ambig6.C: New test. - -2022-03-15 Roger Sayle <roger@nextmovesoftware.com> - Marc Glisse <marc.glisse@inria.fr> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/101895 - * gcc.target/i386/pr101895.c: New test case. - -2022-03-15 Jakub Jelinek <jakub@redhat.com> - - PR c++/104623 - * g++.dg/gomp/pr104623.C: New test. - -2022-03-15 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/104814 - * gcc.c-torture/execute/pr104814.c: New test. - -2022-03-15 Martin Sebor <msebor@redhat.com> - - PR middle-end/104436 - * c-c++-common/Wdangling-pointer-8.c: New test. - * g++.dg/warn/Wdangling-pointer-5.C: New test. - -2022-03-14 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - * gcc.target/i386/pr98335.c: Skip this test if tuning for i486 - or pentium, and not optimizing for size. - -2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang> - - * c-c++-common/asan/global-overflow-1.c: Skip for MIPS with some - optimization levels because inaccurate debug info is causing - dg-output mismatch on line numbers. - * g++.dg/asan/large-func-test-1.C: Likewise. - -2022-03-14 Jakub Jelinek <jakub@redhat.com> - - PR debug/104778 - * gcc.target/powerpc/pr104778.c: New test. - -2022-03-14 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/102586 - * g++.dg/cpp2a/builtin-clear-padding1.C: New test. - -2022-03-14 Jakub Jelinek <jakub@redhat.com> - - PR target/99754 - * gcc.target/i386/pr99754-1.c: New test. - * gcc.target/i386/pr99754-2.c: New test. - -2022-03-14 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr104666.c: New test. - -2022-03-12 Patrick Palka <ppalka@redhat.com> - - PR c++/104641 - * g++.dg/cpp1z/class-deduction107.C: New test. - -2022-03-12 Patrick Palka <ppalka@redhat.com> - - PR c++/104622 - * g++.dg/template/conv18.C: New test. - -2022-03-12 Patrick Palka <ppalka@redhat.com> - - PR c++/104527 - * g++.dg/cpp2a/concepts-return-req4.C: New test. - -2022-03-12 Patrick Palka <ppalka@redhat.com> - Jason Merrill <jason@redhat.com> - - PR c++/98644 - * g++.dg/cpp2a/concepts-pr98644.C: New test. - * g++.dg/parse/array-size2.C: Remove expected diagnostic about a - narrowing conversion. - -2022-03-12 Patrick Palka <ppalka@redhat.com> - - * g++.dg/concepts/diagnostic3.C: Adjusted expected location of - "evaluated to false" diagnostics. - -2022-03-12 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100280 - PR middle-end/104892 - * c-c++-common/goacc/kernels-decompose-2.c: Adjust. - * c-c++-common/goacc/kernels-decompose-pr100400-1-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr100400-1-2.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr100400-1-3.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr100400-1-4.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104061-1-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104061-1-2.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104061-1-3.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104061-1-4.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104132-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104133-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104774-1.c: Likewise. - * gfortran.dg/goacc/classify-kernels.f95: Likewise. - * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise. - -2022-03-12 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100280 - PR middle-end/104086 - * c-c++-common/goacc/kernels-decompose-pr104086-1.c: Adjust, - extend. - -2022-03-12 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/104086 - * c-c++-common/goacc/kernels-decompose-pr104086-1.c: New file. - -2022-03-12 Roger Sayle <roger@nextmovesoftware.com> - - PR middle-end/98420 - * gcc.dg/pr98420.c: New test case. - -2022-03-11 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/98335 - * g++.target/i386/pr98335.C: New test case. - * gcc.target/i386/pr98335.c: New test case. - -2022-03-11 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/98335 - * g++.dg/pr98335.C: New test case. - * gcc.dg/pr86010.c: New test case. - * gcc.dg/pr86010-2.c: New test case. - -2022-03-11 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/84964 - * g++.dg/other/pr84964.C: Tweak test to check for the ICE, not for - the (target-dependent) sorry. - -2022-03-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104880 - * g++.dg/opt/pr104880.cc: New testcase. - -2022-03-11 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/goacc/array-with-dt-1.f90: Update/add comments; - remove dg-warning for 'is used uninitialized'. - * gfortran.dg/goacc/pr93464.f90: Likewise. - * gfortran.dg/goacc/array-with-dt-1a.f90: New; copied from - gfortran.dg/goacc/array-with-dt-1.f90 but run with -O0. Update - dg-warning for 'may be used uninitialized'. - * gfortran.dg/goacc/pr93464-2.f90: Likewise; copied from - gfortran.dg/goacc/pr93464.f90. - -2022-03-10 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/84964 - * g++.dg/other/pr84964.C: New test case. - -2022-03-10 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104863 - * gcc.dg/analyzer/torture/pr104863.c: New test. - -2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com> - - PR target/103074 - * gcc.target/i386/pr103074.c: New. - -2022-03-10 Marek Polacek <polacek@redhat.com> - - PR c++/104608 - * g++.dg/parse/template-keyword3.C: New test. - * g++.dg/parse/template-keyword4.C: New test. - -2022-03-10 Marek Polacek <polacek@redhat.com> - - PR c++/104752 - * g++.dg/cpp23/auto-fncast12.C: New test. - -2022-03-10 Marek Polacek <polacek@redhat.com> - - PR c++/104846 - * g++.dg/init/delete5.C: New test. - -2022-03-10 Jakub Jelinek <jakub@redhat.com> - - PR c++/103460 - * g++.dg/cpp23/subscript7.C: New test. - -2022-03-10 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104793 - * gcc.dg/analyzer/write-to-const-2.c: Add dg-message directives - for expected notes. - * gcc.dg/analyzer/write-to-function-1.c: Likewise. - * gcc.dg/analyzer/write-to-string-literal-2.c: Likewise. - * gcc.dg/analyzer/write-to-string-literal-3.c: Likewise. - * gcc.dg/analyzer/write-to-string-literal-4.c: Likewise. - * gcc.dg/analyzer/write-to-string-literal-5.c: New test. - -2022-03-10 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104793 - * gcc.dg/analyzer/write-to-const-2.c: New test. - * gcc.dg/analyzer/write-to-function-1.c: New test. - * gcc.dg/analyzer/write-to-string-literal-2.c: New test. - * gcc.dg/analyzer/write-to-string-literal-3.c: New test. - * gcc.dg/analyzer/write-to-string-literal-4.c: New test. - -2022-03-10 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/taint-size-access-attr-1.c: Add - -fanalyzer-show-duplicate-count to options; verify that a - duplicate was not created for the tainted size. - -2022-03-10 Martin Jambor <mjambor@suse.cz> - - PR ipa/104813 - * gcc.dg/ipa/pr104813.c: New test. - -2022-03-10 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/uniform-simt-4.c: New test. - -2022-03-10 Tom de Vries <tdevries@suse.de> - - PR target/104815 - * gcc.target/nvptx/atomic-bit-bucket-dest.c: New test. - -2022-03-10 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/atomic_fetch-1.c: Update. - * gcc.target/nvptx/atomic_fetch-2.c: Update. - -2022-03-10 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/90115 - PR middle-end/102330 - PR middle-end/104774 - * c-c++-common/goacc/kernels-decompose-pr104061-1-3.c: Adjust. - * c-c++-common/goacc/kernels-decompose-pr104061-1-4.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104132-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104133-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104774-1.c: Likewise. - * c-c++-common/goacc/privatization-1-compute-loop.c: Likewise. - * c-c++-common/goacc/privatization-1-compute.c: Likewise. - * c-c++-common/goacc/privatization-1-routine_gang-loop.c: - Likewise. - * c-c++-common/goacc/privatization-1-routine_gang.c: Likewise. - * gfortran.dg/goacc-gomp/pr102330-1.f90: Likewise, and subsume... - * gfortran.dg/goacc-gomp/pr102330-2.f90: ... this file, and... - * gfortran.dg/goacc-gomp/pr102330-3.f90: ... this file. - * gfortran.dg/goacc/privatization-1-compute-loop.f90: Adjust. - * gfortran.dg/goacc/privatization-1-compute.f90: Likewise. - * gfortran.dg/goacc/privatization-1-routine_gang-loop.f90: - Likewise. - * gfortran.dg/goacc/privatization-1-routine_gang.f90: Likewise. - -2022-03-10 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/104774 - * c-c++-common/goacc/kernels-decompose-pr104774-1.c: New file. - -2022-03-10 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/102330 - * gfortran.dg/goacc-gomp/pr102330-1.f90: New file. - * gfortran.dg/goacc-gomp/pr102330-2.f90: Likewise. - * gfortran.dg/goacc-gomp/pr102330-3.f90: Likewise. - -2022-03-10 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/90115 - * c-c++-common/goacc/nesting-1.c: Enhance. - * gcc.dg/goacc/nested-function-1.c: Likewise. - * gcc.dg/goacc/nested-function-2.c: Likewise. - * gfortran.dg/goacc/nested-function-1.f90: Likewise. - -2022-03-10 Jakub Jelinek <jakub@redhat.com> - - PR target/99708 - * gcc.dg/pr99708.c: New test. - * gcc.target/powerpc/pr99708-2.c: New test. - * gcc.target/powerpc/convert-fp-128.c (mode_kf): Define only if - __FLOAT128_TYPE__ is defined. - -2022-03-10 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/95999 - * g++.dg/parse/pr95999.C: New test case. - -2022-03-10 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/39751 - * g++.dg/parse/pr39751.C: New test case. - -2022-03-09 Joseph Myers <joseph@codesourcery.com> - - * gcc.dg/c11-unproto-1.c, gcc.dg/c11-unproto-2.c: Update comments. - * gcc.dg/c2x-unproto-1.c, gcc.dg/c2x-unproto-2.c: Expect same - results as in C11 mode. Update comments. - -2022-03-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104849 - * gfortran.dg/pr104849.f90: New test. - -2022-03-09 Patrick Palka <ppalka@redhat.com> - - PR c++/104823 - * g++.dg/cpp0x/Wnarrowing19.C: New test. - * g++.dg/cpp0x/constexpr-attribute4.C: New file. - -2022-03-09 Patrick Palka <ppalka@redhat.com> - - PR c++/102137 - PR c++/87820 - * g++.dg/cpp0x/explicit15.C: New test. - * g++.dg/cpp1z/class-deduction108.C: New test. - -2022-03-09 Patrick Palka <ppalka@redhat.com> - - PR c++/65396 - * g++.dg/cpp0x/vt-34314.C: Adjust expected location of - "redeclared here" note. - * g++.dg/template/pr92440.C: Likewise. - * g++.old-deja/g++.pt/redecl1.C: Adjust expected location of - "redefinition of default argument" error. - * g++.dg/template/defarg23.C: New test. - * g++.dg/template/defarg23a.C: New test. - -2022-03-09 Richard Biener <rguenther@suse.de> - - PR testsuite/104759 - * gcc.dg/vect/vect-multitypes-12.c: Adjust. - -2022-03-09 Richard Biener <rguenther@suse.de> - - PR middle-end/104786 - * gcc.dg/pr104786.c: New testcase. - -2022-03-09 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/sizeof_6.f90: New test. - -2022-03-09 Jakub Jelinek <jakub@redhat.com> - - PR c/104711 - * c-c++-common/Wshift-negative-value-1.c: Remove - dg-additional-options, instead in target selectors of each diagnostic - check for exact C++ versions where it should be diagnosed. - * c-c++-common/Wshift-negative-value-2.c: Likewise. - * c-c++-common/Wshift-negative-value-3.c: Likewise. - * c-c++-common/Wshift-negative-value-4.c: Likewise. - * c-c++-common/Wshift-negative-value-7.c: New test. - * c-c++-common/Wshift-negative-value-8.c: New test. - * c-c++-common/Wshift-negative-value-9.c: New test. - * c-c++-common/Wshift-negative-value-10.c: New test. - * c-c++-common/Wshift-overflow-1.c: Remove - dg-additional-options, instead in target selectors of each diagnostic - check for exact C++ versions where it should be diagnosed. - * c-c++-common/Wshift-overflow-2.c: Likewise. - * c-c++-common/Wshift-overflow-5.c: Likewise. - * c-c++-common/Wshift-overflow-6.c: Likewise. - * c-c++-common/Wshift-overflow-7.c: Likewise. - * c-c++-common/Wshift-overflow-8.c: New test. - * c-c++-common/Wshift-overflow-9.c: New test. - * c-c++-common/Wshift-overflow-10.c: New test. - * c-c++-common/Wshift-overflow-11.c: New test. - * c-c++-common/Wshift-overflow-12.c: New test. - -2022-03-09 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/104839 - * gcc.c-torture/execute/pr104839.c: New test. - -2022-03-08 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/96440 - * g++.dg/cpp0x/pr96440.C: New test case. - -2022-03-08 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/104126 - * gfortran.dg/null_actual_2.f90: New test. - -2022-03-08 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/96437 - * g++.dg/cpp2a/pr96437.C: New test case. - -2022-03-08 Roger Sayle <roger@nextmovesoftware.com> - - PR c++/96329 - * g++.dg/template/pr96329.C: New test case. - -2022-03-08 Marek Polacek <polacek@redhat.com> - - PR c++/104108 - * g++.dg/cpp0x/alias-decl-74.C: New test. - -2022-03-08 Marek Polacek <polacek@redhat.com> - - * g++.dg/ext/attr-unavailable-9.C: Add dg-error. - -2022-03-08 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104811 - * gfortran.dg/minmaxloc_16.f90: New test. - -2022-03-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/104806 - * g++.dg/spellcheck-pr104806.C: New test. - -2022-03-08 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/99771 - * gcc.dg/analyzer/leak-4.c: New test. - -2022-03-08 Marek Polacek <polacek@redhat.com> - - PR rtl-optimization/104777 - * gcc.dg/torture/tls/pr104777.c: New test. - -2022-03-08 H.J. Lu <hjl.tools@gmail.com> - - PR target/104781 - * gcc.target/i386/eh_return-1.c: Add -mincoming-stack-boundary=4. - * gcc.target/i386/eh_return-2.c: Likewise. - -2022-03-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/84201 - * gcc.dg/vect/pr84201.c: New testcase. - -2022-03-08 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/104755 - * gcc.dg/vect/vect-bic-bitmask-10.c: Disable sparc. - * gcc.dg/vect/vect-bic-bitmask-11.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-12.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-2.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-23.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-3.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-4.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-5.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-6.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-8.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-9.c: Likewise. - -2022-03-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104825 - * gcc.dg/torture/pr104825.c: New testcase. - -2022-03-08 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr100865-8a.c: Adjust testcase. - * gcc.target/i386/pr100865-8c.c: Ditto. - * gcc.target/i386/pr100865-9c.c: Ditto. - -2022-03-07 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/99585 - PR fortran/104430 - * gfortran.dg/class_result_10.f90: New test. - -2022-03-07 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/101983 - * gcc.dg/analyzer/pr101983-main.c: New test. - * gcc.dg/analyzer/pr101983-not-main.c: New test. - -2022-03-07 Martin Liska <mliska@suse.cz> - - PR middle-end/104381 - * gcc.dg/pr104381.c: New test. - -2022-03-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104782 - * gcc.dg/vect/pr104782.c: New testcase. - -2022-03-07 Jakub Jelinek <jakub@redhat.com> - - PR target/104775 - * gcc.target/s390/pr104775.c: New test. - -2022-03-07 Jakub Jelinek <jakub@redhat.com> - - PR target/104779 - * gcc.target/i386/pr104779.c: New test. - -2022-03-06 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.dg/lower-subreg-1.c: Update test case. iordi3 is no longer - lowered by the RTL subreg1 pass on ia32 [even with -mno-stv]. - -2022-03-05 Roger Sayle <roger@nextmovesoftware.com> - Uroš Bizjak <ubizjak@gmail.com> - - PR testsuite/104732 - * gcc.target/i386/pr104732.c: New test case. - -2022-03-05 Michael Meissner <meissner@linux.ibm.com> - - PR target/104698 - * gcc.target/powerpc/pr104698-1.c: New test. - * gcc.target/powerpc/pr104698-2.c: New test. - -2022-03-04 Nathan Sidwell <nathan@acm.org> - - * g++.dg/modules/std-subst-2.C: New. - * g++.dg/modules/std-subst-3.C: New. - * g++.dg/modules/std-subst-4_a.C: New. - * g++.dg/modules/std-subst-4_b.C: New. - * g++.dg/modules/std-subst-4_c.C: New. - -2022-03-04 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/103521 - * gcc.dg/analyzer/pr93032-mztools.c: Move to... - * gcc.dg/analyzer/pr93032-mztools-signed-char.c: ...this, adding - -fsigned-char to args, and... - * gcc.dg/analyzer/pr93032-mztools-unsigned-char.c: ...copy to here, - adding -funsigned-char to args. - -2022-03-04 Patrick Palka <ppalka@redhat.com> - - PR c++/103443 - * g++.dg/cpp2a/consteval29.C: New test. - -2022-03-04 Nathan Sidwell <nathan@acm.org> - - * g++.dg/modules/fn-inline-1_b.C: Adjust. - * g++.dg/modules/fn-inline-1_c.C: Adjust. - * g++.dg/modules/imp-inline-1_a.C: Adjust. - * g++.dg/modules/imp-inline-1_b.C: Adjust. - * g++.dg/modules/init-2_a.C: Adjust. - * g++.dg/modules/init-2_b.C: Adjust. - * g++.dg/modules/init-2_c.C: Adjust. - * g++.dg/modules/member-def-2_d.C: Adjust. - * g++.dg/modules/mod-sym-1.C: Adjust. - * g++.dg/modules/mod-sym-2.C: Adjust. - * g++.dg/modules/mod-sym-3.C: Adjust. - * g++.dg/modules/sym-subst-1.C: Adjust. - * g++.dg/modules/sym-subst-2_b.C: Adjust. - * g++.dg/modules/sym-subst-3_a.C: Adjust. - * g++.dg/modules/sym-subst-3_b.C: Adjust. - * g++.dg/modules/sym-subst-4.C: Adjust. - * g++.dg/modules/sym-subst-5.C: Adjust. - * g++.dg/modules/sym-subst-6.C: Adjust. - * g++.dg/modules/tpl-spec-1_a.C: Adjust. - * g++.dg/modules/tpl-spec-2_b.C: Adjust. - * g++.dg/modules/tpl-spec-2_d.C: Adjust. - * g++.dg/modules/tpl-spec-3_a.C: Adjust. - * g++.dg/modules/virt-1_a.C: Adjust. - * g++.dg/modules/virt-2_a.C: Adjust. - * g++.dg/modules/virt-2_b.C: Adjust. - * g++.dg/modules/virt-2_c.C: Adjust. - * g++.dg/modules/vtt-1_a.C: Adjust. - * g++.dg/modules/vtt-1_b.C: Adjust. - -2022-03-04 Peter Bergner <bergner@linux.ibm.com> - - PR target/87496 - PR target/104208 - * gcc.target/powerpc/pr104208-1.c: New test. - * gcc.target/powerpc/pr104208-2.c: Likewise. - * gcc.target/powerpc/pr87496-2.c: Swap long double options to trigger - the expected error. - * gcc.target/powerpc/pr87496-3.c: Likewise. - -2022-03-04 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104529 - * g++.dg/tree-ssa/pr104529.C: New test. - -2022-03-04 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100280 - PR middle-end/104132 - PR middle-end/104133 - * c-c++-common/goacc/kernels-decompose-pr104061-1-3.c: Adjust. - * c-c++-common/goacc/kernels-decompose-pr104061-1-4.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104132-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104133-1.c: Likewise. - -2022-03-04 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100280 - * c-c++-common/goacc/classify-kernels-unparallelized.c: Adjust. - * c-c++-common/goacc/classify-kernels.c: Likewise. - * c-c++-common/goacc/kernels-decompose-2.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr100280-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104061-1-2.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104061-1-3.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104061-1-4.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104132-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104133-1.c: Likewise. - -2022-03-04 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100280 - * c-c++-common/goacc/classify-kernels-unparallelized.c: Add - '--param=openacc-privatization=noisy'. - * c-c++-common/goacc/classify-kernels.c: Likewise. - * c-c++-common/goacc/kernels-decompose-2.c: Adjust. - * c-c++-common/goacc/kernels-decompose-pr100280-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104061-1-2.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104061-1-3.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104061-1-4.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104132-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-pr104133-1.c: Likewise. - -2022-03-04 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100400 - PR middle-end/103836 - PR middle-end/104061 - * c-c++-common/goacc/kernels-decompose-pr100400-1-1.c: New. - * c-c++-common/goacc/kernels-decompose-pr100400-1-2.c: New. - * c-c++-common/goacc/kernels-decompose-pr100400-1-3.c: New. - * c-c++-common/goacc/kernels-decompose-pr100400-1-4.c: New. - * c-c++-common/goacc/kernels-decompose-pr103836-1-1.c: New. - * c-c++-common/goacc/kernels-decompose-pr103836-1-2.c: New. - * c-c++-common/goacc/kernels-decompose-pr103836-1-3.c: New. - * c-c++-common/goacc/kernels-decompose-pr103836-1-4.c: New. - * c-c++-common/goacc/kernels-decompose-pr104061-1-1.c: New. - * c-c++-common/goacc/kernels-decompose-pr104061-1-2.c: New. - * c-c++-common/goacc/kernels-decompose-pr104061-1-3.c: New. - * c-c++-common/goacc/kernels-decompose-pr104061-1-4.c: New. - -2022-03-04 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/104133 - * c-c++-common/goacc/kernels-decompose-pr104133-1.c: New file. - -2022-03-04 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/104132 - * c-c++-common/goacc/kernels-decompose-pr104132-1.c: New file. - -2022-03-04 Thomas Schwinge <thomas@codesourcery.com> - - * c-c++-common/goacc/classify-kernels-parloops.c: Update. - * c-c++-common/goacc/classify-kernels-unparallelized-parloops.c: - Likewise. - * c-c++-common/goacc/classify-kernels-unparallelized.c: Likewise. - * c-c++-common/goacc/classify-kernels.c: Likewise. - * c-c++-common/goacc/classify-parallel.c: Likewise. - * c-c++-common/goacc/classify-routine-nohost.c: Likewise. - * c-c++-common/goacc/classify-routine.c: Likewise. - * c-c++-common/goacc/classify-serial.c: Likewise. - * gfortran.dg/goacc/classify-kernels-parloops.f95: Likewise. - * gfortran.dg/goacc/classify-kernels-unparallelized-parloops.f95: - Likewise. - * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise. - * gfortran.dg/goacc/classify-kernels.f95: Likewise. - * gfortran.dg/goacc/classify-parallel.f95: Likewise. - * gfortran.dg/goacc/classify-routine-nohost.f95: Likewise. - * gfortran.dg/goacc/classify-routine.f95: Likewise. - * gfortran.dg/goacc/classify-serial.f95: Likewise. - -2022-03-04 H.J. Lu <hjl.tools@gmail.com> - - PR target/104704 - * gcc.target/i386/incoming-11.c: Xfail. - * gcc.target/i386/pieces-memset-3.c: Likewise. - * gcc.target/i386/pieces-memset-37.c: Likewise. - * gcc.target/i386/pieces-memset-39.c: Likewise. - * gcc.target/i386/pieces-memset-46.c: Likewise. - * gcc.target/i386/pieces-memset-47.c: Likewise. - * gcc.target/i386/pieces-memset-48.c: Likewise. - * gcc.target/i386/pr90773-5.c: Likewise. - * gcc.target/i386/pr90773-14.c: Likewise. - * gcc.target/i386/pr90773-17.c: Likewise. - * gcc.target/i386/pr100865-8a.c: Likewise. - * gcc.target/i386/pr100865-8c.c: Likewise. - * gcc.target/i386/pr100865-9c.c: Likewise. - * gcc.target/i386/pieces-memset-21.c: Always expect vzeroupper. - * gcc.target/i386/pr82941-1.c: Likewise. - * gcc.target/i386/pr82942-1.c: Likewise. - * gcc.target/i386/pr82990-1.c: Likewise. - * gcc.target/i386/pr82990-3.c: Likewise. - * gcc.target/i386/pr82990-5.c: Likewise. - * gcc.target/i386/pr100865-11b.c: Expect vmovdqa instead of - vmovdqa64. - * gcc.target/i386/pr100865-12b.c: Likewise. - * gcc.target/i386/pr100865-8b.c: Likewise. - * gcc.target/i386/pr100865-9b.c: Likewise. - * gcc.target/i386/pr104704-1.c: New test. - * gcc.target/i386/pr104704-2.c: Likewise. - * gcc.target/i386/pr104704-3.c: Likewise. - * gcc.target/i386/pr104704-4.c: Likewise. - * gcc.target/i386/pr104704-5.c: Likewise. - * gcc.target/i386/pr104704-6.c: Likewise. - -2022-03-03 Martin Sebor <msebor@redhat.com> - - PR middle-end/104761 - * g++.dg/warn/Wdangling-pointer-4.C: New test. - * gcc.dg/Wdangling-pointer-4.c: New test. - -2022-03-03 Kwok Cheung Yeung <kcy@codesourcery.com> - - PR fortran/104131 - * gfortran.dg/gomp/pr104131.f90: New. - * gfortran.dg/gomp/task-detach-1.f90: Update expected error message. - -2022-03-03 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/sm53.c: Add -mptx=_. - * gcc.target/nvptx/sm70.c: Same. - * gcc.target/nvptx/sm75.c: Same. - * gcc.target/nvptx/sm80.c: Same. - -2022-03-03 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104757 - * gfortran.dg/gomp/pr104757.f90: New test. - * gcc.dg/gomp/pr104757.c: New test. - -2022-03-03 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104558 - * gcc.dg/pr104558.c: New test. - -2022-03-02 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104573 - * gfortran.dg/assumed_type_14.f90: New test. - -2022-03-02 David Edelsohn <dje.gcc@gmail.com> - - * c-c++-common/pr104505.c: Add -Wno-psabi. - -2022-03-02 Qing Zhao <qing.zhao@oracle.com> - - PR middle-end/102276 - * gcc.dg/auto-init-pr102276-1.c: New test. - * gcc.dg/auto-init-pr102276-2.c: New test. - * gcc.dg/auto-init-pr102276-3.c: New test. - * gcc.dg/auto-init-pr102276-4.c: New test. - -2022-03-02 Tamar Christina <tamar.christina@arm.com> - - PR testsuite/104730 - * gcc.dg/vect/complex/pr102819-1.c: Add vect_float. - * gcc.dg/vect/complex/pr102819-2.c: Likewise. - * gcc.dg/vect/complex/pr102819-3.c: Likewise. - * gcc.dg/vect/complex/pr102819-4.c: Likewise. - * gcc.dg/vect/complex/pr102819-5.c: Likewise. - * gcc.dg/vect/complex/pr102819-6.c: Likewise. - * gcc.dg/vect/complex/pr102819-7.c: Likewise. - * gcc.dg/vect/complex/pr102819-8.c: Likewise. - * gcc.dg/vect/complex/pr102819-9.c: Likewise. - -2022-03-02 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/104637 - * gcc.target/i386/pr104637.c: Don't run on ia32. Add -Wno-div-by-zero - to dg-options. - (foo): Remove extraneous initializer. - -2022-03-02 Jakub Jelinek <jakub@redhat.com> - - PR debug/100541 - * g++.dg/opt/pr100541-1.C: New test. - * g++.dg/opt/pr100541-2.C: New test. - -2022-03-02 Hongyu Wang <hongyu.wang@intel.com> - - PR target/104726 - * gcc.target/i386/pr104551.c: Use avx2-check.h. - -2022-03-02 Hongyu Wang <hongyu.wang@intel.com> - - PR target/104724 - * gcc.target/i386/avx512fp16-vcvtsi2sh-1b.c: Use long long - instead of __int64_t. - * gcc.target/i386/avx512fp16-vcvtsi2sh64-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtusi2sh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtusi2sh64-1b.c: Ditto. - -2022-03-01 Martin Sebor <msebor@redhat.com> - - PR tree-optimization/104715 - * gcc.dg/Wdangling-pointer-3.c: New test. - -2022-03-01 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104715 - * c-c++-common/Wdangling-pointer-7.c: New test. - -2022-03-01 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/104736 - * gdc.test/runnable/dhry.d: Removed. - -2022-03-01 H.J. Lu <hjl.tools@gmail.com> - - PR testsuite/104725 - * g++.target/i386/pr35513-1.C: Limit to Linux. - * g++.target/i386/pr35513-2.C: Likewise. - -2022-03-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104716 - * gfortran.dg/pr104716.f: New testcase. - -2022-03-01 Richard Biener <rguenther@suse.de> - - PR testsuite/104727 - * gcc.target/i386/pr84101.c: Remove XFAIL. - -2022-03-01 Richard Biener <rguenther@suse.de> - - PR testsuite/104728 - * gcc.dg/vect/pr81196-2.c: Require vect_perm. - -2022-03-01 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/pr80270.c: Don't compile new test case on ia32. - -2022-03-01 Martin Liska <mliska@suse.cz> - - PR ipa/104533 - * g++.target/i386/pr104533.C: New test. - -2022-03-01 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/sm30.c: New test. - * gcc.target/nvptx/sm35.c: New test. - * gcc.target/nvptx/sm53.c: New test. - * gcc.target/nvptx/sm70.c: New test. - * gcc.target/nvptx/sm75.c: New test. - * gcc.target/nvptx/sm80.c: New test. - -2022-03-01 Hongyu Wang <hongyu.wang@intel.com> - - PR target/104664 - * gcc.target/i386/pr104664.c: New test. - -2022-02-28 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/91384 - * gcc.target/i386/pr91384.c: New test case. - -2022-02-28 Roger Sayle <roger@nextmovesoftware.com> - Eric Botcazou <ebotcazou@adacore.com> - - * gcc.target/i386/pr80270.c: New test case. - -2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/104637 - * gcc.target/i386/pr104637.c: New. - -2022-02-28 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/torture/simd7413a.d: Update. - * gdc.dg/ubsan/pr88957.d: Update. - * gdc.dg/simd18489.d: New test. - * gdc.dg/torture/simd21727.d: New test. - -2022-02-28 Marek Polacek <polacek@redhat.com> - - PR c++/104682 - * g++.dg/ext/attr-unavailable-10.C: New test. - * g++.dg/ext/attr-unavailable-11.C: New test. - * g++.dg/warn/deprecated-17.C: New test. - * g++.dg/warn/deprecated-18.C: New test. - -2022-02-28 Marek Polacek <polacek@redhat.com> - - PR c++/104667 - * g++.dg/ext/attrib64.C: New test. - -2022-02-28 Qing Zhao <qing.zhao@oracle.com> - - PR middle-end/104550 - * gcc.dg/auto-init-pr104550-1.c: New test. - * gcc.dg/auto-init-pr104550-2.c: New test. - * gcc.dg/auto-init-pr104550-3.c: New test. - -2022-02-28 Martin Liska <mliska@suse.cz> - - PR ipa/104648 - * g++.dg/pr104648.C: New test. - -2022-02-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104700 - * gcc.dg/pr104700-2.c: New testcase. - * gcc.dg/torture/pr104700-1.c: Likewise. - -2022-02-28 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/atomic-store-1.c: Add -mptx=_. - * gcc.target/nvptx/atomic-store-2.c: Same. - * gcc.target/nvptx/float16-1.c: Same. - * gcc.target/nvptx/float16-2.c: Same. - * gcc.target/nvptx/float16-3.c: Same. - * gcc.target/nvptx/float16-4.c: Same. - * gcc.target/nvptx/float16-5.c: Same. - * gcc.target/nvptx/float16-6.c: Same. - * gcc.target/nvptx/tanh-1.c: Same. - * gcc.target/nvptx/uniform-simt-1.c: Same. - * gcc.target/nvptx/uniform-simt-3.c: Same. - -2022-02-28 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/atomic-store-3.c: Add -misa=sm_30. - -2022-02-28 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/uniform-simt-2.c: Add -misa=sm_30. - -2022-02-28 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/rotate.c: Add -misa=sm_35. - -2022-02-28 Hongyu Wang <hongyu.wang@intel.com> - - * gcc.target/i386/avx512f-vpternlogd-1.c: Use new enum. - * gcc.target/i386/avx512f-vpternlogq-1.c: Likewise. - * gcc.target/i386/avx512vl-vpternlogd-1.c: Likewise. - * gcc.target/i386/avx512vl-vpternlogq-1.c: Likewise. - * gcc.target/i386/testimm-10.c: Remove imm check for vpternlog - insns since the imm has been truncated in intrinsic. - -2022-02-27 Jason Merrill <jason@redhat.com> - - PR c++/104618 - * g++.dg/overload/paren1.C: New test. - -2022-02-25 Jakub Jelinek <jakub@redhat.com> - Marc Glisse <marc.glisse@inria.fr> - - PR tree-optimization/104675 - * gcc.dg/pr104675-3.c : New test. - -2022-02-25 Jakub Jelinek <jakub@redhat.com> - - PR target/104681 - * g++.dg/opt/pr104681.C: New test. - -2022-02-25 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/pr104540.C: Move to ... - * g++.target/i386/pr104540.C: ... here. - -2022-02-25 Martin Liska <mliska@suse.cz> - - PR testsuite/104687 - * gcc.dg/lto/20090717_0.c: Fix asan error. - -2022-02-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103037 - * gcc.dg/torture/pr103037.c: New testcase. - -2022-02-25 Jakub Jelinek <jakub@redhat.com> - - PR target/104674 - * gcc.target/i386/pr104674.c: New test. - -2022-02-25 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104679 - * g++.dg/torture/pr104679.C: New test. - -2022-02-25 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104675 - * gcc.dg/pr104675-1.c: New test. - * gcc.dg/pr104675-2.c: New test. - -2022-02-25 Alexandre Oliva <oliva@adacore.com> - - PR tree-optimization/103845 - PR tree-optimization/104263 - * gcc.dg/pr103845.c: New. - -2022-02-25 Alexandre Oliva <oliva@adacore.com> - - PR middle-end/104540 - * g++.dg/pr104540.C: New. - -2022-02-25 Alexandre Oliva <oliva@adacore.com> - - PR tree-optimization/103856 - * g++.dg/pr103856.C: New. - -2022-02-24 Pat Haugen <pthaugen@linux.ibm.com> - - PR testsuite/100407 - * gcc.c-torture/compile/attr-retain-1.c: Add -G0 for 32-bit PowerPC. - * gcc.c-torture/compile/attr-retain-2.c: Likewise. - -2022-02-24 Harald Anlauf <anlauf@gmx.de> - - PR fortran/84519 - * gfortran.dg/stop_1.f90: New test. - * gfortran.dg/stop_2.f: New test. - * gfortran.dg/stop_3.f90: New test. - * gfortran.dg/stop_4.f90: New test. - -2022-02-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104676 - * gcc.dg/torture/pr104676.c: New testcase. - -2022-02-24 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104601 - * g++.dg/torture/pr104601.C: New test. - -2022-02-24 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/rotate-run.c: New test. - * gcc.target/nvptx/rotate.c: New test. - -2022-02-24 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/avx512vl-logicsuffix-1.c: New test. - -2022-02-23 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104434 - * gcc.dg/analyzer/attr-const-1.c: New test. - * gcc.dg/analyzer/attr-const-2.c: New test. - * gcc.dg/analyzer/attr-const-3.c: New test. - * gcc.dg/analyzer/pr104434-const.c: New test. - * gcc.dg/analyzer/pr104434-nonconst.c: New test. - * gcc.dg/analyzer/pr104434.h: New test. - -2022-02-23 Marek Polacek <polacek@redhat.com> - - PR c++/79493 - * g++.dg/diagnostic/undeclared1.C: New test. - -2022-02-23 Marek Polacek <polacek@redhat.com> - - PR c++/70077 - * g++.dg/cpp0x/noexcept76.C: New test. - -2022-02-23 Richard Biener <rguenther@suse.de> - Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104644 - * gcc.dg/pr104644.c: New test. - -2022-02-23 Richard Biener <rguenther@suse.de> - - * gcc.dg/gimplefe-49.c: New testcase. - * gcc.dg/gimplefe-error-13.c: Likewise. - -2022-02-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/101636 - * gcc.target/i386/pr101636.c: New testcase. - * c-c++-common/torture/pr101636.c: Likewise. - -2022-02-23 Jakub Jelinek <jakub@redhat.com> - - PR c/104633 - * gcc.dg/Winfinite-recursion-3.c: New test. - * gcc.dg/Winfinite-recursion-4.c: New test. - * gcc.dg/Winfinite-recursion-5.c: New test. - -2022-02-22 Paul A. Clarke <pc@us.ibm.com> - - * g++.dg/ext/altivec-1.C: Move to g++.target/powerpc, adjust dg - directives. - * g++.dg/ext/altivec-2.C: Likewise. - * g++.dg/ext/altivec-3.C: Likewise. - * g++.dg/ext/altivec-4.C: Likewise. - * g++.dg/ext/altivec-5.C: Likewise. - * g++.dg/ext/altivec-6.C: Likewise. - * g++.dg/ext/altivec-7.C: Likewise. - * g++.dg/ext/altivec-8.C: Likewise. - * g++.dg/ext/altivec-9.C: Likewise. - * g++.dg/ext/altivec-10.C: Likewise. - * g++.dg/ext/altivec-11.C: Likewise. - * g++.dg/ext/altivec-12.C: Likewise. - * g++.dg/ext/altivec-13.C: Likewise. - * g++.dg/ext/altivec-14.C: Likewise. - * g++.dg/ext/altivec-15.C: Likewise. - * g++.dg/ext/altivec-16.C: Likewise. - * g++.dg/ext/altivec-17.C: Likewise. - * g++.dg/ext/altivec-18.C: Likewise. - * g++.dg/ext/altivec-cell-1.C: Likewise. - * g++.dg/ext/altivec-cell-2.C: Likewise. - * g++.dg/ext/altivec-cell-3.C: Likewise. - * g++.dg/ext/altivec-cell-4.C: Likewise. - * g++.dg/ext/altivec-cell-5.C: Likewise. - * g++.dg/ext/altivec-types-1.C: Likewise. - * g++.dg/ext/altivec-types-2.C: Likewise. - * g++.dg/ext/altivec-types-3.C: Likewise. - * g++.dg/ext/altivec-types-4.C: Likewise. - * g++.dg/ext/undef-bool-1.C: Likewise. - * g++.target/powerpc/altivec-1.C: New file. - * g++.target/powerpc/altivec-10.C: New file. - * g++.target/powerpc/altivec-11.C: New file. - * g++.target/powerpc/altivec-12.C: New file. - * g++.target/powerpc/altivec-13.C: New file. - * g++.target/powerpc/altivec-14.C: New file. - * g++.target/powerpc/altivec-15.C: New file. - * g++.target/powerpc/altivec-16.C: New file. - * g++.target/powerpc/altivec-17.C: New file. - * g++.target/powerpc/altivec-18.C: New file. - * g++.target/powerpc/altivec-2.C: New file. - * g++.target/powerpc/altivec-3.C: New file. - * g++.target/powerpc/altivec-4.C: New file. - * g++.target/powerpc/altivec-5.C: New file. - * g++.target/powerpc/altivec-6.C: New file. - * g++.target/powerpc/altivec-7.C: New file. - * g++.target/powerpc/altivec-8.C: New file. - * g++.target/powerpc/altivec-9.C: New file. - * g++.target/powerpc/altivec-cell-1.C: New file. - * g++.target/powerpc/altivec-cell-2.C: New file. - * g++.target/powerpc/altivec-cell-3.C: New file. - * g++.target/powerpc/altivec-cell-4.C: New file. - * g++.target/powerpc/altivec-cell-5.C: New file. - * g++.target/powerpc/altivec-types-1.C: New file. - * g++.target/powerpc/altivec-types-2.C: New file. - * g++.target/powerpc/altivec-types-3.C: New file. - * g++.target/powerpc/altivec-types-4.C: New file. - * g++.target/powerpc/undef-bool-1.C: New file. - -2022-02-22 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104619 - * gfortran.dg/derived_constructor_comps_7.f90: New test. - -2022-02-22 Christophe Lyon <christophe.lyon@arm.com> - - PR target/100757 - PR target/100757 - * gcc.target/arm/simd/pr100757-2.c: New. - * gcc.target/arm/simd/pr100757-3.c: New. - * gcc.target/arm/simd/pr100757-4.c: New. - * gcc.target/arm/simd/pr100757.c: New. - * gcc.dg/signbit-2.c: Skip when targeting ARM/MVE. - * lib/target-supports.exp (check_effective_target_arm_mve): New. - -2022-02-22 Christophe Lyon <christophe.lyon@arm.com> - - PR target/100757 - PR target/101325 - * gcc.dg/rtl/arm/mve-vxbi.c: New test. - * gcc.target/arm/simd/pr101325.c: New. - * gcc.target/arm/simd/pr101325-2.c: New. - * lib/target-supports.exp (check_effective_target_arm_mve_hw): Use - add_options_for_arm_v8_1m_mve_fp. - -2022-02-22 Christophe Lyon <christophe.lyon@arm.com> - - * gcc.target/arm/simd/mve-vcmp-f32-2.c: New. - * gcc.target/arm/simd/neon-compare-1.c: New. - * gcc.target/arm/simd/neon-compare-2.c: New. - * gcc.target/arm/simd/neon-compare-3.c: New. - * gcc.target/arm/simd/neon-compare-scalar-1.c: New. - * gcc.target/arm/simd/neon-vcmp-f16.c: New. - * gcc.target/arm/simd/neon-vcmp-f32-2.c: New. - * gcc.target/arm/simd/neon-vcmp-f32-3.c: New. - * gcc.target/arm/simd/neon-vcmp-f32.c: New. - * gcc.target/arm/simd/neon-vcmp.c: New. - -2022-02-22 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/atomic-store-2.c: Use -misa=sm_70. - * gcc.target/nvptx/uniform-simt-3.c: Same. - -2022-02-22 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - * gcc.dg/fold-reduc-1.c: New test case. - -2022-02-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104604 - * gcc.c-torture/execute/pr104604.c: New test. - -2022-02-22 Jakub Jelinek <jakub@redhat.com> - - PR target/104612 - * gcc.dg/pr104612.c: New test. - -2022-02-22 Tom de Vries <tdevries@suse.de> - - * gcc.dg/sibcall-10.c: Xfail execution test for nvptx. - * gcc.dg/sibcall-3.c: Same. - * gcc.dg/sibcall-4.c: Same. - -2022-02-22 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/float16-1.c: Drop -mptx setting. - * gcc.target/nvptx/float16-2.c: Same. - * gcc.target/nvptx/float16-3.c: Same. - * gcc.target/nvptx/float16-4.c: Same. - * gcc.target/nvptx/float16-5.c: Same. - * gcc.target/nvptx/float16-6.c: Same. - * gcc.target/nvptx/tanh-1.c: Same. - -2022-02-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104582 - PR target/99881 - * gcc.dg/vect/costmodel/x86_64/costmodel-pr104582-1.c: New. - * gcc.dg/vect/costmodel/x86_64/costmodel-pr104582-2.c: Likewise. - * gcc.dg/vect/costmodel/x86_64/costmodel-pr104582-3.c: Likewise. - * gcc.dg/vect/costmodel/x86_64/costmodel-pr104582-4.c: Likewise. - * gcc.target/i386/pr99881.c: Un-XFAIL. - * gcc.target/i386/pr91446.c: Adjust to not expect vectorization. - -2022-02-22 Hongyu Wang <hongyu.wang@intel.com> - - PR target/103069 - * gcc.target/i386/pr103069-2.c: Adjust result check. - * gcc.target/i386/pr103069-3.c: New test. - * gcc.target/i386/pr103069-4.c: Likewise. - -2022-02-21 Dan Li <ashimida@linux.alibaba.com> - - * gcc.target/aarch64/shadow_call_stack_1.c: New test. - * gcc.target/aarch64/shadow_call_stack_2.c: New test. - * gcc.target/aarch64/shadow_call_stack_3.c: New test. - * gcc.target/aarch64/shadow_call_stack_4.c: New test. - * gcc.target/aarch64/shadow_call_stack_5.c: New test. - * gcc.target/aarch64/shadow_call_stack_6.c: New test. - * gcc.target/aarch64/shadow_call_stack_7.c: New test. - * gcc.target/aarch64/shadow_call_stack_8.c: New test. - -2022-02-21 Patrick Palka <ppalka@redhat.com> - - PR c++/85493 - * g++.dg/cpp0x/decltype80.C: New test. - -2022-02-21 Andrew Pinski <apinski@marvell.com> - - PR c/104506 - * gcc.dg/pr104506-1.c: New test. - * gcc.dg/pr104506-2.c: New test. - * gcc.dg/pr104506-3.c: New test. - -2022-02-20 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/special1.d: New file. - -2022-02-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/77693 - * gfortran.dg/data_pointer_2.f90: New test. - -2022-02-19 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/atomic-store-1.c: Update. - -2022-02-19 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/uniform-simt-3.c: New test. - -2022-02-19 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/uniform-simt-1.c: Add scan-assembler test. - * gcc.target/nvptx/uniform-simt-2.c: New test. - -2022-02-19 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/102656 - * g++.dg/asan/pr102656.C: New test. - -2022-02-18 H.J. Lu <hjl.tools@gmail.com> - - PR target/104581 - * gcc.target/i386/pieces-memset-21.c: Expect vzeroupper for ia32. - -2022-02-18 Richard Biener <rguenther@suse.de> - - PR target/104581 - * gcc.target/i386/pr101456-1.c: XFAIL. - -2022-02-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/96881 - * g++.dg/torture/pr96881-1.C: New testcase. - * g++.dg/torture/pr96881-2.C: Likewise. - -2022-02-18 Patrick Palka <ppalka@redhat.com> - - PR c++/94944 - * g++.dg/cpp0x/noexcept34.C: Adjusted expected diagnostics. - * g++.dg/cpp0x/noexcept75.C: New test. - -2022-02-17 Jason Merrill <jason@redhat.com> - - PR c++/104539 - * g++.dg/ipa/inline-4.C: New test. - -2022-02-17 Jason Merrill <jason@redhat.com> - - * g++.dg/warn/deprecated-16.C: New test. - -2022-02-17 Jason Merrill <jason@redhat.com> - - PR c++/90451 - * g++.dg/warn/deprecated-14.C: New test. - * g++.dg/warn/deprecated-15.C: New test. - -2022-02-17 Eric Botcazou <ebotcazou@adacore.com> - - PR target/79754 - * gcc.target/i386/pr79754.c: Add target dfp. - -2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/104447 - * gcc.target/i386/pr104447.c: New. - -2022-02-17 Patrick Palka <ppalka@redhat.com> - - PR c++/104565 - * g++.dg/template/non-dependent22.C: New test. - -2022-02-17 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr104551.c: New test. - -2022-02-17 Jakub Jelinek <jakub@redhat.com> - - PR debug/104557 - * gcc.dg/dfp/pr104557.c: New test. - -2022-02-17 Jakub Jelinek <jakub@redhat.com> - - PR c/104532 - * gcc.dg/gomp/pr104532.c: New test. - -2022-02-17 Michael Meissner <meissner@the-meissners.org> - - PR target/99708 - * gcc.target/powerpc/pr99708.c: New test. - -2022-02-17 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104576 - * gcc.dg/analyzer/torture/uninit-pr63311.c: New test. - * gcc.dg/analyzer/uninit-pr104576.c: New test. - * gfortran.dg/analyzer/uninit-pr63311.f90: New test. - -2022-02-16 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104560 - * g++.dg/analyzer/placement-new.C: Update expected wording. - * g++.dg/analyzer/pr100244.C: Likewise. - * gcc.dg/analyzer/attr-malloc-1.c (test_7): Likewise. - * gcc.dg/analyzer/malloc-1.c (test_24): Likewise. - (test_25): Likewise. - (test_26): Likewise. - (test_50a, test_50b, test_50c): New. - * gcc.dg/analyzer/malloc-callbacks.c (test_5): Update expected - wording. - * gcc.dg/analyzer/malloc-paths-8.c: Likewise. - * gcc.dg/analyzer/pr104560-1.c: New test. - * gcc.dg/analyzer/pr104560-2.c: New test. - * gcc.dg/analyzer/realloc-1.c (test_7): Updated expected wording. - * gcc.dg/analyzer/vla-1.c (test_2): New. Prune output from - -Wfree-nonheap-object. - -2022-02-16 Patrick Palka <ppalka@redhat.com> - - PR c++/104507 - * g++.dg/template/non-dependent21.C: New test. - -2022-02-16 Jakub Jelinek <jakub@redhat.com> - - PR target/104448 - * gcc.target/i386/pr104448.c: New test. - -2022-02-16 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/104544 - * gcc.dg/pr104544.c: New test. - -2022-02-16 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/atomic-inst-cas.c: Add - -Wno-invalid-memory-model. - -2022-02-16 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/bic-bitmask-1.c: Remove XFAIL. - -2022-02-16 Richard Sandiford <richard.sandiford@arm.com> - - PR target/100056 - * gcc.target/aarch64/pr100056.c: XFAIL the original UBFIZ test - and instead expect two UBFIZs + two ADD UXTBs. - -2022-02-16 Jakub Jelinek <jakub@redhat.com> - - PR c/104531 - * c-c++-common/gomp/atomic-31.c: New test. - -2022-02-16 Jakub Jelinek <jakub@redhat.com> - - PR c/104510 - * gcc.dg/dfp/pr104510.c: New test. - -2022-02-15 Peter Bergner <bergner@linux.ibm.com> - - * gcc.target/powerpc/htm-1.c: Retry intermittent failing tbegins. - -2022-02-15 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/104526 - * gcc.dg/pr104526.c: New. - -2022-02-15 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104524 - * gcc.dg/analyzer/pr104524.c: New test. - -2022-02-15 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/102692 - * gcc.dg/analyzer/pr102692-2.c: New test. - * gcc.dg/analyzer/pr102692.c: Remove xfail. Remove -O2 from - options and move to... - * gcc.dg/analyzer/torture/pr102692.c: ...here. - -2022-02-15 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/depend-4.f90: Add VALUE test, update scan test. - * gfortran.dg/gomp/depend-5.f90: Fix scan tree for -m32. - * gfortran.dg/gomp/depend-6.f90: New test. - -2022-02-15 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/max_plus_1.c: New test. - * gcc.target/aarch64/max_plus_2.c: Likewise. - * gcc.target/aarch64/max_plus_3.c: Likewise. - * gcc.target/aarch64/max_plus_4.c: Likewise. - * gcc.target/aarch64/max_plus_5.c: Likewise. - * gcc.target/aarch64/max_plus_6.c: Likewise. - * gcc.target/aarch64/max_plus_7.c: Likewise. - * gcc.target/aarch64/min_plus_1.c: Likewise. - * gcc.target/aarch64/min_plus_2.c: Likewise. - * gcc.target/aarch64/min_plus_3.c: Likewise. - * gcc.target/aarch64/min_plus_4.c: Likewise. - * gcc.target/aarch64/min_plus_5.c: Likewise. - * gcc.target/aarch64/min_plus_6.c: Likewise. - * gcc.target/aarch64/min_plus_7.c: Likewise. - -2022-02-15 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/store_v2vec_lanes.c: Add -fno-tree-vectorize. - -2022-02-15 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/shl-combine-2.c: New test. - * gcc.target/aarch64/shl-combine-3.c: Likewise. - * gcc.target/aarch64/shl-combine-4.c: Likewise. - * gcc.target/aarch64/shl-combine-5.c: Likewise. - * gcc.target/aarch64/xtn-combine-1.c: Likewise. - * gcc.target/aarch64/xtn-combine-2.c: Likewise. - * gcc.target/aarch64/xtn-combine-3.c: Likewise. - * gcc.target/aarch64/xtn-combine-4.c: Likewise. - * gcc.target/aarch64/xtn-combine-5.c: Likewise. - * gcc.target/aarch64/xtn-combine-6.c: Likewise. - -2022-02-15 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/ldp_stp_5.c: Require -mstrict-align. - * gcc.target/aarch64/ldp_stp_14.h, - * gcc.target/aarch64/ldp_stp_14.c: New test. - * gcc.target/aarch64/ldp_stp_15.c: Likewise. - * gcc.target/aarch64/ldp_stp_16.c: Likewise. - * gcc.target/aarch64/ldp_stp_17.c: Likewise. - * gcc.target/aarch64/ldp_stp_18.c: Likewise. - * gcc.target/aarch64/ldp_stp_19.c: Likewise. - -2022-02-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104543 - * gcc.dg/torture/pr104543.c: New testcase. - -2022-02-15 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.dg/gomp/depend-4.f90: New test. - * gfortran.dg/gomp/depend-5.f90: New test. - -2022-02-15 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104522 - * gcc.dg/pr104522.c: New test. - -2022-02-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104519 - * gcc.dg/torture/pr104519.c: New testcase. - -2022-02-15 Jakub Jelinek <jakub@redhat.com> - - PR debug/104517 - * gcc.dg/gomp/pr104517.c: New test. - -2022-02-15 Jason Merrill <jason@redhat.com> - - PR c++/104107 - PR c++/95036 - * g++.dg/cpp0x/alias-decl-ttp2.C: New test. - * g++.dg/cpp1z/ttp2.C: New test. - -2022-02-14 Michael Meissner <meissner@the-meissners.org> - - PR target/104253 - * gcc.target/powerpc/pr104253.c: New test. - -2022-02-14 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104211 - * gfortran.dg/pr104211.f90: New test. - -2022-02-14 Jakub Jelinek <jakub@redhat.com> - - PR c++/104513 - * g++.dg/cpp1y/constexpr-104513.C: New test. - * g++.dg/cpp2a/constexpr-dtor12.C: New test. - -2022-02-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104528 - * gfortran.dg/pr104528.f: New testcase. - -2022-02-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104511 - * gcc.dg/pr104511.c: New testcase. - -2022-02-14 Richard Biener <rguenther@suse.de> - - PR c/104505 - * c-c++-common/pr104505.c: New testcase. - -2022-02-14 Richard Biener <rguenther@suse.de> - - PR middle-end/104497 - * c-c++-common/torture/pr104497.c: New testcase. - -2022-02-13 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/104228 - * gfortran.dg/asan/associate_58.f90: New test. - * gfortran.dg/asan/associate_59.f90: New test. - -2022-02-13 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr103771-2.c: New test. - * gcc.target/i386/pr103771-3.c: New test. - -2022-02-12 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/104449 - * gcc.dg/asan/pr104449.c: New test. - * g++.dg/asan/pr104449.C: New test. - -2022-02-12 H.J. Lu <hjl.tools@gmail.com> - - PR testsuite/104481 - * g++.target/i386/pr35513-1.C: Require property_1_needed target. - * g++.target/i386/pr35513-2.C: Likewise. - * gcc.target/i386/pr35513-8.c: Change to compile. - * lib/target-supports.exp (check_compile): Support assembly code. - (check_effective_target_property_1_needed): New proc. - -2022-02-12 Jakub Jelinek <jakub@redhat.com> - - PR target/104502 - * gcc.target/i386/pr104502.c: New test. - -2022-02-12 Uroš Bizjak <ubizjak@gmail.com> - - PR target/79754 - * gcc.target/i386/pr79754.c: New test. - -2022-02-11 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104499 - * gcc.c-torture/compile/pr104499.c: New test. - -2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/104400 - * gcc.target/v850/pr104400.c: New. - * gcc.target/v850/v850.exp: New. - -2022-02-11 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104274 - * gcc.dg/analyzer/torture/empty-struct-1.c: New test. - -2022-02-11 Richard Biener <rguenther@suse.de> - - * gcc.dg/gimplefe-48.c: New testcase. - -2022-02-11 Jakub Jelinek <jakub@redhat.com> - - PR c++/104472 - * g++.dg/cpp0x/constexpr-104472.C: New test. - -2022-02-11 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104446 - * gcc.target/i386/pr104446.c: New test. - -2022-02-11 Richard Biener <rguenther@suse.de> - - PR middle-end/104496 - * gcc.target/i386/pr104496.c: New testcase. - -2022-02-11 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/104459 - * gcc.dg/pr104459.c: New test. - -2022-02-11 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr104479.c: New test. - * gcc.target/i386/cond_op_shift_w-1.c: Adjust testcase. - -2022-02-11 Tom de Vries <tdevries@suse.de> - - * gcc.c-torture/compile/pr100576.c: Require effective target - non_strict_prototype. - * gcc.c-torture/compile/pr97576.c: Same. - -2022-02-11 Tom de Vries <tdevries@suse.de> - - * c-c++-common/Walloca-larger-than.c: Require effective target alloca. - * c-c++-common/Warray-bounds-9.c: Same. - * c-c++-common/Wdangling-pointer-2.c: Same. - * c-c++-common/Wdangling-pointer-4.c: Same. - * c-c++-common/Wdangling-pointer-5.c: Same. - * c-c++-common/Wdangling-pointer.c: Same. - * c-c++-common/auto-init-11.c: Same. - * c-c++-common/auto-init-12.c: Same. - * c-c++-common/auto-init-15.c: Same. - * c-c++-common/auto-init-16.c: Same. - * c-c++-common/torture/builtin-clear-padding-4.c: Same. - * gcc.c-torture/compile/pr99787-1.c: Same. - * gcc.dg/Walloca-larger-than-4.c: Same. - * gcc.dg/Wdangling-pointer.c: Same. - * gcc.dg/Wfree-nonheap-object-2.c: Same. - * gcc.dg/Wfree-nonheap-object.c: Same. - * gcc.dg/Wstringop-overflow-56.c: Same. - * gcc.dg/Wstringop-overflow-57.c: Same. - * gcc.dg/Wstringop-overflow-67.c: Same. - * gcc.dg/Wstringop-overflow-71.c: Same. - * gcc.dg/Wvla-larger-than-5.c: Same. - * gcc.dg/analyzer/taint-alloc-1.c: Same. - * gcc.dg/analyzer/torture/ubsan-1.c: Same. - * gcc.dg/graphite/pr99085.c: Same. - * gcc.dg/pr100225.c: Same. - * gcc.dg/pr98721-1.c: Same. - * gcc.dg/pr99122-2.c: Same. - * gcc.dg/sso-14.c: Same. - * gcc.dg/tree-ssa/builtin-sprintf-warn-25.c: Same. - * gcc.dg/uninit-38.c: Same. - * gcc.dg/uninit-39.c: Same. - * gcc.dg/uninit-41.c: Same. - * gcc.dg/uninit-pr100250.c: Same. - * gcc.dg/uninit-pr101300.c: Same. - * gcc.dg/uninit-pr101494.c: Same. - * gcc.dg/uninit-pr98578.c: Same. - * gcc.dg/uninit-pr98583.c: Same. - * gcc.dg/vla-stexp-1.c: Same. - * gcc.dg/vla-stexp-2.c: Same. - * gcc.dg/vla-stexp-4.c: Same. - * gcc.dg/vla-stexp-5.c: Same. - -2022-02-10 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104373 - * g++.dg/warn/Wuninitialized-32.C (operator new[]): Use __SIZE_TYPE__ - as type of the first argument instead of unsigned long. - -2022-02-10 Tobias Burnus <tobias@codesourcery.com> - - PR c++/102204 - * g++.dg/gomp/unmappable-1.C: Remove previously expected dg-message. - -2022-02-10 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/98797 - * gcc.dg/analyzer/casts-1.c: Mark xfails as fixed; add further - test coverage for casts of string literals. - -2022-02-10 Qing Zhao <qing.zhao@oracle.com> - - PR middle-end/100775 - * gcc.target/arm/pr100775.c: New test. - -2022-02-10 Uroš Bizjak <ubizjak@gmail.com> - - PR target/104469 - * gcc.target/i386/pr104469.c: New test. - -2022-02-10 H.J. Lu <hjl.tools@gmail.com> - - PR target/104458 - * gcc.target/i386/pr104458.c: Replace long with long long. - -2022-02-10 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/102052 - * gcc.dg/analyzer/fields.c (size_t): Use __SIZE_TYPE__ rather than - hardcoding long unsigned int. - * gcc.dg/analyzer/gzio-3.c (size_t): Likewise. - * gcc.dg/analyzer/gzio-3a.c (size_t): Likewise. - * gcc.dg/analyzer/pr98969.c (test_1): Use __UINTPTR_TYPE__ rather - than long int. - (test_2): Likewise. - * gcc.dg/analyzer/pr99716-2.c (test_mountpoint): Use "rand" rather - than "random". - * gcc.dg/analyzer/pr99774-1.c (size_t): Use __SIZE_TYPE__ rather - than hardcoding long unsigned int. - * gcc.dg/analyzer/strndup-1.c: Add MinGW to targets that don't - implement strndup. - * gcc.dg/analyzer/zlib-5.c (size_t): Use __SIZE_TYPE__ rather - than hardcoding long unsigned int. - -2022-02-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104373 - * g++.dg/warn/Wuninitialized-32.C: New testcase. - * gcc.dg/uninit-pr20644-O0.c: Remove XFAIL. - -2022-02-10 Richard Biener <rguenther@suse.de> - - PR middle-end/104467 - * gcc.dg/torture/pr104467.c: New testcase. - -2022-02-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104466 - * gfortran.dg/pr104466.f90: New testcase. - -2022-02-10 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/atomic-store-2.c: New test. - -2022-02-10 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/atomic-store-1.c: New test. - * gcc.target/nvptx/atomic-store-3.c: New test. - * gcc.target/nvptx/stack-atomics-run.c: Update. - -2022-02-10 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/104329 - * gfortran.dg/gomp/atomic-28.f90: New test. - -2022-02-10 Roger Sayle <roger@nextmovesoftware.com> - - PR target/104345 - * gcc.target/nvptx/neg-selp.c: New test case. - -2022-02-10 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/nvptx/bool-1.c: Update. - * gcc.target/nvptx/bool-2.c: New test case for and.pred. - * gcc.target/nvptx/bool-3.c: New test case for or.pred. - * gcc.target/nvptx/bool-4.c: New test case for xor.pred. - -2022-02-10 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/nvptx/mul-hi64.c: New test case. - * gcc.target/nvptx/umul-hi64.c: New test case. - * gcc.target/nvptx/mul-wide64.c: New test case. - * gcc.target/nvptx/umul-wide64.c: New test case. - * gcc.target/nvptx/isinf.c: New test case. - -2022-02-10 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/nvptx/bool-1.c: New test case. - -2022-02-10 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/nvptx/float16-3.c: New test case for neghf2. - * gcc.target/nvptx/float16-4.c: New test case for abshf2. - * gcc.target/nvptx/float16-5.c: New test case for fmahf4. - * gcc.target/nvptx/float16-6.c: New test case. - -2022-02-10 Marcel Vollweiler <marcel@codesourcery.com> - - * c-c++-common/gomp/clauses-1.c: Added has_device_addr to test cases. - * g++.dg/gomp/attrs-1.C: Added has_device_addr to test cases. - * g++.dg/gomp/attrs-2.C: Added has_device_addr to test cases. - * c-c++-common/gomp/target-has-device-addr-1.c: New test. - * c-c++-common/gomp/target-has-device-addr-2.c: New test. - * c-c++-common/gomp/target-is-device-ptr-1.c: New test. - * c-c++-common/gomp/target-is-device-ptr-2.c: New test. - * gfortran.dg/gomp/is_device_ptr-3.f90: New test. - * gfortran.dg/gomp/target-has-device-addr-1.f90: New test. - * gfortran.dg/gomp/target-has-device-addr-2.f90: New test. - -2022-02-10 Eugene Rozenfeld <erozen@microsoft.com> - - * g++.dg/tree-prof/indir-call-recursive-inlining.C : New test. - -2022-02-10 Andrew Pinski <apinski@marvell.com> - - PR target/104474 - * gcc.target/aarch64/sve/pr104474-1.c: New test. - * gcc.target/aarch64/sve/pr104474-2.c: New test. - * gcc.target/aarch64/sve/pr104474-3.c: New test. - -2022-02-09 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/uninit-1.c: Add test coverage for shifts, - comparisons, +, -, *, /, and __builtin_strlen. - * gcc.dg/analyzer/uninit-CWE-457-examples.c: New test. - -2022-02-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/66193 - * gfortran.dg/array_constructor_55.f90: New test. - -2022-02-09 David Edelsohn <dje.gcc@gmail.com> - - * gcc.dg/Wstringop-overflow-69.c: Add -Wno-psabi. - * gcc.dg/loop-unswitch-6.c: Omit -fcompare-debug on AIX. - -2022-02-09 H.J. Lu <hjl.tools@gmail.com> - - PR target/104441 - * gcc.target/i386/pr104441-1a.c: Compile with -march=x86-64. - * gcc.target/i386/pr104441-1b.c: Likewise. - -2022-02-09 Jakub Jelinek <jakub@redhat.com> - - PR c/104427 - * gcc.dg/pr104427.c: New test. - -2022-02-09 Uroš Bizjak <ubizjak@gmail.com> - - PR target/104462 - * gcc.target/i386/pr104462.c: New test. - -2022-02-09 Uroš Bizjak <ubizjak@gmail.com> - - PR target/104458 - * gcc.target/i386/pr104458.c: New test. - -2022-02-09 Ian Lance Taylor <iant@golang.org> - - * gcc.misc-tests/godump-1.c: Adjust for alignment field rename. - -2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com> - - * gcc.target/powerpc/vec-replace-word-runnable.c: Handle expected - prototypes for each call to vec_replace_unaligned. - -2022-02-09 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/vec-init-13.c: New test. - * gcc.target/aarch64/vec-init-14.c: Likewise. - * gcc.target/aarch64/vec-init-15.c: Likewise. - * gcc.target/aarch64/vec-init-16.c: Likewise. - * gcc.target/aarch64/vec-init-17.c: Likewise. - -2022-02-09 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/vec-init-12.c: New test. - -2022-02-09 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/vec-init-9.c: New test. - * gcc.target/aarch64/vec-init-10.c: Likewise. - * gcc.target/aarch64/vec-init-11.c: Likewise. - -2022-02-09 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/vec-init-8.c: New test. - -2022-02-09 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/vec-init-6.c: New file. - * gcc.target/aarch64/vec-init-7.c: New file. - -2022-02-09 Patrick Palka <ppalka@redhat.com> - - PR c++/104432 - * g++.dg/template/non-dependent19.C: New test. - * g++.dg/template/non-dependent19a.C: New test. - * g++.dg/template/non-dependent20.C: New test. - -2022-02-09 Jason Merrill <jason@redhat.com> - - PR c++/103752 - * g++.dg/modules/explicit-bool-1_b.C: New test. - * g++.dg/modules/explicit-bool-1_a.H: New test. - -2022-02-09 Richard Biener <rguenther@suse.de> - - PR middle-end/104464 - * gcc.dg/pr104464.c: New testcase. - -2022-02-09 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp23/feat-cxx2b.C: Adjust. - * g++.dg/cpp2a/feat-cxx2a.C: Adjust. - -2022-02-09 Roger Sayle <roger@nextmovesoftware.com> - - PR tree-optimization/104420 - * gcc.dg/pr104420-1.c: New test case. - * gcc.dg/pr104420-2.c: New test case. - * gcc.dg/pr104420-3.c: New test case. - * gcc.dg/pr104420-4.c: New test case. - * gcc.dg/pr96392.c: Remove incorrect test. - -2022-02-09 Jakub Jelinek <jakub@redhat.com> - - PR debug/104407 - * g++.dg/debug/dwarf2/pr104407.C: New test. - -2022-02-09 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/104288 - * gcc.dg/pr104288.c: New. - -2022-02-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104445 - PR tree-optimization/102832 - * gcc.dg/vect/pr104445.c: New testcase. - * gcc.dg/vect/pr102832.c: New file. - -2022-02-09 H.J. Lu <hjl.tools@gmail.com> - - PR target/35513 - PR target/100593 - * g++.target/i386/pr35513-1.C: New file. - * g++.target/i386/pr35513-2.C: Likewise. - * gcc.target/i386/pr35513-1a.c: Likewise. - * gcc.target/i386/pr35513-1b.c: Likewise. - * gcc.target/i386/pr35513-2a.c: Likewise. - * gcc.target/i386/pr35513-2b.c: Likewise. - * gcc.target/i386/pr35513-3a.c: Likewise. - * gcc.target/i386/pr35513-3b.c: Likewise. - * gcc.target/i386/pr35513-4a.c: Likewise. - * gcc.target/i386/pr35513-4b.c: Likewise. - * gcc.target/i386/pr35513-5a.c: Likewise. - * gcc.target/i386/pr35513-5b.c: Likewise. - * gcc.target/i386/pr35513-6a.c: Likewise. - * gcc.target/i386/pr35513-6b.c: Likewise. - * gcc.target/i386/pr35513-7a.c: Likewise. - * gcc.target/i386/pr35513-7b.c: Likewise. - * gcc.target/i386/pr35513-8.c: Likewise. - * gcc.target/i386/pr35513-9a.c: Likewise. - * gcc.target/i386/pr35513-9b.c: Likewise. - * gcc.target/i386/pr35513-10a.c: Likewise. - * gcc.target/i386/pr35513-10b.c: Likewise. - * gcc.target/i386/pr35513-11a.c: Likewise. - * gcc.target/i386/pr35513-11b.c: Likewise. - * gcc.target/i386/pr35513-12a.c: Likewise. - * gcc.target/i386/pr35513-12b.c: Likewise. - -2022-02-09 H.J. Lu <hjl.tools@gmail.com> - - PR target/104441 - * gcc.target/i386/pr104441-1a.c: New test. - * gcc.target/i386/pr104441-1b.c: Likewise. - -2022-02-09 liuhongt <hongtao.liu@intel.com> - - PR target/104451 - * gcc.target/i386/pr104451.c: New test. - -2022-02-09 Richard Biener <rguenther@suse.de> - - PR middle-end/104450 - * g++.dg/torture/pr104450.C: New testcase. - -2022-02-09 Richard Biener <rguenther@suse.de> - - PR target/104453 - * gcc.target/i386/pr104453.c: New testcase. - -2022-02-09 Joel Teichroeb <joel@teichroeb.net> - - PR analyzer/101081 - * gcc.dg/analyzer/analyzer-verbosity-2a.c: Replace #include of - stdio.h with declarations needed by the test. - * gcc.dg/analyzer/analyzer-verbosity-3a.c: Likewise. - * gcc.dg/analyzer/edges-1.c: Likewise. - * gcc.dg/analyzer/file-1.c: Likewise. - * gcc.dg/analyzer/file-2.c: Likewise. - * gcc.dg/analyzer/file-paths-1.c: Likewise. - * gcc.dg/analyzer/file-pr58237.c: Likewise. - * gcc.dg/analyzer/pr99716-1.c: Likewise. - -2022-02-09 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104452 - * gcc.dg/analyzer/pr104452.c: New test. - -2022-02-09 Jason Merrill <jason@redhat.com> - - PR c++/96876 - * g++.dg/cpp1z/aggr-base11.C: New test. - * g++.dg/eh/aggregate2.C: New test. - -2022-02-08 Robin Dapp <rdapp@linux.ibm.com> - - PR rtl-optimization/104198 - PR rtl-optimization/104153 - * gcc.dg/pr104198.c: New test. - -2022-02-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/104379 - * g++.dg/warn/Wshadow-18.C: New test. - -2022-02-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/104403 - * g++.dg/cpp0x/lambda/lambda-104403.C: New test. - -2022-02-08 Jakub Jelinek <jakub@redhat.com> - - PR target/102140 - * gcc.dg/pr102140.c: New test. - -2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com> - - * gcc.target/powerpc/vec-msumc.c: New test. - -2022-02-08 Patrick Palka <ppalka@redhat.com> - - PR c++/104425 - * g++.dg/template/partial-specialization10.C: New test. - -2022-02-08 Robin Dapp <rdapp@linux.ibm.com> - - * gcc.target/s390/ifcvt-two-insns-int.c: Fix array size. - * gcc.target/s390/ifcvt-two-insns-long.c: Dito. - -2022-02-08 Patrick Palka <ppalka@redhat.com> - - PR c++/80951 - * g++.dg/cpp1z/noexcept-type25.C: New test. - -2022-02-08 Patrick Palka <ppalka@redhat.com> - - PR c++/104410 - * g++.dg/cpp2a/concepts-pr104410.C: New test. - -2022-02-08 Patrick Palka <ppalka@redhat.com> - - PR c++/103706 - * g++.dg/cpp2a/concepts-lambda19.C: New test. - -2022-02-08 Patrick Palka <ppalka@redhat.com> - - PR c++/103706 - * g++.dg/cpp2a/concepts-lambda18.C: New test. - -2022-02-08 Maciej W. Rozycki <macro@embecosm.com> - - * gcc.target/riscv/riscv.exp: Use `gcc-dg-runtest' rather than - `dg-runtest'. Add `-Og -g' and `-Oz' variants via - ADDITIONAL_TORTURE_OPTIONS. - * gcc.target/riscv/arch-1.c: Adjust test options accordingly. - * gcc.target/riscv/arch-10.c: Likewise. - * gcc.target/riscv/arch-11.c: Likewise. - * gcc.target/riscv/arch-12.c: Likewise. - * gcc.target/riscv/arch-2.c: Likewise. - * gcc.target/riscv/arch-3.c: Likewise. - * gcc.target/riscv/arch-4.c: Likewise. - * gcc.target/riscv/arch-5.c: Likewise. - * gcc.target/riscv/arch-6.c: Likewise. - * gcc.target/riscv/arch-7.c: Likewise. - * gcc.target/riscv/arch-8.c: Likewise. - * gcc.target/riscv/arch-9.c: Likewise. - * gcc.target/riscv/attribute-1.c: Likewise. - * gcc.target/riscv/attribute-10.c: Likewise. - * gcc.target/riscv/attribute-11.c: Likewise. - * gcc.target/riscv/attribute-12.c: Likewise. - * gcc.target/riscv/attribute-13.c: Likewise. - * gcc.target/riscv/attribute-14.c: Likewise. - * gcc.target/riscv/attribute-15.c: Likewise. - * gcc.target/riscv/attribute-16.c: Likewise. - * gcc.target/riscv/attribute-17.c: Likewise. - * gcc.target/riscv/attribute-2.c: Likewise. - * gcc.target/riscv/attribute-3.c: Likewise. - * gcc.target/riscv/attribute-4.c: Likewise. - * gcc.target/riscv/attribute-5.c: Likewise. - * gcc.target/riscv/attribute-7.c: Likewise. - * gcc.target/riscv/attribute-8.c: Likewise. - * gcc.target/riscv/attribute-9.c: Likewise. - * gcc.target/riscv/interrupt-1.c: Likewise. - * gcc.target/riscv/interrupt-2.c: Likewise. - * gcc.target/riscv/interrupt-3.c: Likewise. - * gcc.target/riscv/interrupt-4.c: Likewise. - * gcc.target/riscv/interrupt-conflict-mode.c: Likewise. - * gcc.target/riscv/interrupt-debug.c: Likewise. - * gcc.target/riscv/interrupt-mmode.c: Likewise. - * gcc.target/riscv/interrupt-smode.c: Likewise. - * gcc.target/riscv/interrupt-umode.c: Likewise. - * gcc.target/riscv/li.c: Likewise. - * gcc.target/riscv/load-immediate.c: Likewise. - * gcc.target/riscv/losum-overflow.c: Likewise. - * gcc.target/riscv/mcpu-6.c: Likewise. - * gcc.target/riscv/mcpu-7.c: Likewise. - * gcc.target/riscv/pr102957.c: Likewise. - * gcc.target/riscv/pr103302.c: Likewise. - * gcc.target/riscv/pr104140.c: Likewise. - * gcc.target/riscv/pr84660.c: Likewise. - * gcc.target/riscv/pr93202.c: Likewise. - * gcc.target/riscv/pr93304.c: Likewise. - * gcc.target/riscv/pr95252.c: Likewise. - * gcc.target/riscv/pr95683.c: Likewise. - * gcc.target/riscv/pr98777.c: Likewise. - * gcc.target/riscv/pr99702.c: Likewise. - * gcc.target/riscv/predef-1.c: Likewise. - * gcc.target/riscv/predef-10.c: Likewise. - * gcc.target/riscv/predef-11.c: Likewise. - * gcc.target/riscv/predef-12.c: Likewise. - * gcc.target/riscv/predef-13.c: Likewise. - * gcc.target/riscv/predef-14.c: Likewise. - * gcc.target/riscv/predef-15.c: Likewise. - * gcc.target/riscv/predef-16.c: Likewise. - * gcc.target/riscv/predef-2.c: Likewise. - * gcc.target/riscv/predef-3.c: Likewise. - * gcc.target/riscv/predef-4.c: Likewise. - * gcc.target/riscv/predef-5.c: Likewise. - * gcc.target/riscv/predef-6.c: Likewise. - * gcc.target/riscv/predef-7.c: Likewise. - * gcc.target/riscv/predef-8.c: Likewise. - * gcc.target/riscv/promote-type-for-libcall.c: Likewise. - * gcc.target/riscv/save-restore-1.c: Likewise. - * gcc.target/riscv/save-restore-2.c: Likewise. - * gcc.target/riscv/save-restore-3.c: Likewise. - * gcc.target/riscv/save-restore-4.c: Likewise. - * gcc.target/riscv/save-restore-6.c: Likewise. - * gcc.target/riscv/save-restore-7.c: Likewise. - * gcc.target/riscv/save-restore-8.c: Likewise. - * gcc.target/riscv/save-restore-9.c: Likewise. - * gcc.target/riscv/shift-and-1.c: Likewise. - * gcc.target/riscv/shift-and-2.c: Likewise. - * gcc.target/riscv/shift-shift-1.c: Likewise. - * gcc.target/riscv/shift-shift-2.c: Likewise. - * gcc.target/riscv/shift-shift-3.c: Likewise. - * gcc.target/riscv/shift-shift-4.c: Likewise. - * gcc.target/riscv/shift-shift-5.c: Likewise. - * gcc.target/riscv/shorten-memrefs-1.c: Likewise. - * gcc.target/riscv/shorten-memrefs-2.c: Likewise. - * gcc.target/riscv/shorten-memrefs-3.c: Likewise. - * gcc.target/riscv/shorten-memrefs-4.c: Likewise. - * gcc.target/riscv/shorten-memrefs-5.c: Likewise. - * gcc.target/riscv/shorten-memrefs-6.c: Likewise. - * gcc.target/riscv/shorten-memrefs-7.c: Likewise. - * gcc.target/riscv/shorten-memrefs-8.c: Likewise. - * gcc.target/riscv/switch-qi.c: Likewise. - * gcc.target/riscv/switch-si.c: Likewise. - * gcc.target/riscv/weak-1.c: Likewise. - * gcc.target/riscv/zba-adduw.c: Likewise. - * gcc.target/riscv/zba-shNadd-01.c: Likewise. - * gcc.target/riscv/zba-shNadd-02.c: Likewise. - * gcc.target/riscv/zba-shNadd-03.c: Likewise. - * gcc.target/riscv/zba-slliuw.c: Likewise. - * gcc.target/riscv/zba-zextw.c: Likewise. - * gcc.target/riscv/zbb-andn-orn-xnor-01.c: Likewise. - * gcc.target/riscv/zbb-andn-orn-xnor-02.c: Likewise. - * gcc.target/riscv/zbb-li-rotr.c: Likewise. - * gcc.target/riscv/zbb-min-max.c: Likewise. - * gcc.target/riscv/zbb-rol-ror-01.c: Likewise. - * gcc.target/riscv/zbb-rol-ror-02.c: Likewise. - * gcc.target/riscv/zbb-rol-ror-03.c: Likewise. - * gcc.target/riscv/zbbw.c: Likewise. - * gcc.target/riscv/zbs-bclr.c: Likewise. - * gcc.target/riscv/zbs-bext.c: Likewise. - * gcc.target/riscv/zbs-binv.c: Likewise. - * gcc.target/riscv/zbs-bset.c: Likewise. - * gcc.target/riscv/zero-extend-1.c: Likewise. - * gcc.target/riscv/zero-extend-2.c: Likewise. - * gcc.target/riscv/zero-extend-3.c: Likewise. - * gcc.target/riscv/zero-extend-4.c: Likewise. - * gcc.target/riscv/zero-extend-5.c: Likewise. - -2022-02-08 Tom de Vries <tdevries@suse.de> - - * gcc.dg/tree-ssa/builtin-sprintf.c: Require c99_runtime for - dg-do run. - -2022-02-08 Tom de Vries <tdevries@suse.de> - - PR target/104364 - * gcc.target/nvptx/softstack-2.c: New test. - * gcc.target/nvptx/uniform-simt-1.c: New test. - -2022-02-08 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr104059.c: New test. - -2022-02-07 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104417 - * gcc.dg/analyzer/pr104417.c: New test. - -2022-02-07 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/103872 - * gcc.dg/analyzer/memcpy-1.c: Add alternate versions of test cases - in which the calls to memcpy are hidden from the optimizer. Add - further test cases. - * gcc.dg/analyzer/taint-size-1.c: Add test coverage for memcpy - with tainted size. - -2022-02-07 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/asm-x86-1.c: Use dg-do "compile" rather than - "assemble". - * gcc.dg/analyzer/asm-x86-lp64-1.c: Likewise. - * gcc.dg/analyzer/asm-x86-lp64-2.c: Likewise. - * gcc.dg/analyzer/torture/asm-x86-linux-array_index_mask_nospec.c: - Likewise. - * gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-1.c: - Likewise, and restrict to x86_64-pc-linux-gnu. - * gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-2.c: Likewise. - * gcc.dg/analyzer/torture/asm-x86-linux-cpuid.c: Use dg-do - "compile" rather than "assemble". - * gcc.dg/analyzer/torture/asm-x86-linux-rdmsr-paravirt.c: - Likewise, and restrict to x86_64-pc-linux-gnu. - * gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c: Use dg-do - "compile" rather than "assemble". - * gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c: - Likewise. - * gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-reduced.c: - Likewise. - -2022-02-07 Jakub Jelinek <jakub@redhat.com> - - PR target/104380 - * gcc.c-torture/execute/builtins/lib/chk.c (__sprintf_chkieee128, - __vsprintf_chkieee128, __snprintf_chkieee128, - __vsnprintf_chkieee128): New aliases to non-ieee128 suffixed functions - for powerpc -mabi=ieeelongdouble. - -2022-02-07 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/arm/simd/vdot-2-1.c: Add new tests. - * gcc.target/arm/simd/vdot-2-2.c: Likewise and fix output. - -2022-02-07 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/arm/simd/vdot-compile.c: Add new cases. - * gcc.target/arm/simd/vdot-exec.c: Likewise. - -2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com> - - PR target/104327 - * gcc.c-torture/compile/pr104327.c: New test. - -2022-02-07 Richard Biener <rguenther@suse.de> - - PR middle-end/104402 - * gcc.dg/torture/pr104402.c: New testcase. - -2022-02-07 Kewen Lin <linkw@linux.ibm.com> - - PR target/103627 - * gcc.target/powerpc/pr103627-3.c: New test. - -2022-02-07 Kewen Lin <linkw@linux.ibm.com> - - PR target/103627 - * gcc.target/powerpc/pr103627-1.c: New test. - * gcc.target/powerpc/pr103627-2.c: New test. - -2022-02-06 Patrick Palka <ppalka@redhat.com> - - PR c++/96242 - * g++.dg/cpp2a/spaceship-synth15.C: New test. - -2022-02-06 Jakub Jelinek <jakub@redhat.com> - - PR c++/89074 - PR c++/104033 - * g++.dg/cpp1y/constexpr-89074-3.C: New test. - -2022-02-05 Jeff Law <jeffreyalaw@gmail.com> - - * gcc.target/s390/20150826-1.c: Update expected output. - * gcc.target/s390/zvector/imm-range-error-1.c: Likewise. - -2022-02-05 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104389 - * gcc.dg/pr104389.c: New test. - -2022-02-05 Jason Merrill <jason@redhat.com> - - PR c++/104300 - PR c++/92385 - * g++.dg/cpp0x/initlist-array14.C: New test. - -2022-02-04 Jakub Jelinek <jakub@redhat.com> - - PR target/104380 - * gcc.dg/pr104380.c: New test. - -2022-02-04 Eric Botcazou <ebotcazou@adacore.com> - - PR tree-optimization/104356 - * gnat.dg/opt97.adb: New test. - -2022-02-04 David Edelsohn <dje.gcc@gmail.com> - - * gcc.target/powerpc/builtins-1.c: Limit -mbig. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-0.c: Limit -mbig. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-1.c: Limit -mbig. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: Remove target selector. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-3.c: Only powerpc*-linux. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-4.c: Only powerpc*-linux*. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-0.c: Limit -mbig. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-1.c: Limit -mbig. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Remove target selector. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-3.c: Only powerpc*-linux*. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-4.c: Only powerpc*-linux*. - -2022-02-04 Richard Biener <rguenther@suse.de> - Bin Cheng <bin.cheng@linux.alibaba.com> - - PR tree-optimization/100499 - * gcc.dg/torture/pr100499-1.c: New testcase. - * gcc.dg/torture/pr100499-2.c: Likewise. - * gcc.dg/torture/pr100499-3.c: Likewise. - -2022-02-04 Roger Sayle <roger@nextmovesoftware.com> - - PR rtl-optimization/101885 - * gcc.dg/pr101885.c: New test case. - -2022-02-04 Richard Sandiford <richard.sandiford@arm.com> - - PR middle-end/104092 - * gcc.target/aarch64/sve/acle/general/pr104092.c: New test. - -2022-02-04 Richard Biener <rguenther@suse.de> - - PR middle-end/90348 - PR middle-end/104092 - * gcc.dg/pr87052.c: Adjust. - -2022-02-03 Patrick Palka <ppalka@redhat.com> - - PR c++/104079 - * g++.dg/cpp0x/noexcept74.C: New test. - * g++.dg/cpp0x/noexcept74a.C: New test. - -2022-02-03 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104369 - * gcc.dg/analyzer/pr104369-1.c: New test. - * gcc.dg/analyzer/pr104369-2.c: New test. - * gcc.dg/analyzer/realloc-3.c: New test. - * gcc.dg/analyzer/realloc-4.c: New test. - * gcc.dg/analyzer/taint-realloc.c: New test. - -2022-02-03 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/calloc-1.c: New test. - -2022-02-03 Uroš Bizjak <ubizjak@gmail.com> - - PR target/104362 - * gcc.target/i386/pr104362.c: New test. - -2022-02-03 Martin Sebor <msebor@redhat.com> - - PR tree-optimization/104119 - * gcc.dg/tree-ssa/builtin-snprintf-13.c: New test. - * gcc.dg/tree-ssa/builtin-sprintf-warn-29.c: New test. - -2022-02-03 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104311 - * gfortran.dg/transfer_simplify_15.f90: New test. - -2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> - - PR target/103686 - * gcc.target/powerpc/builtins-1-be-folded.c: Remove -mfold-gimple - option. - * gcc.target/powerpc/builtins-1-le-folded.c: Likewise. - * gcc.target/powerpc/builtins-1.c: Rewrite to use small functions and - restrict to -O2 -mbig for predictability. Adjust instruction counts. - * gcc.target/powerpc/builtins-5.c: Remove -mno-fold-gimple option. - * gcc.target/powerpc/p8-vec-xl-xst.c: Likewise. - * gcc.target/powerpc/pr83926.c: Likewise. - * gcc.target/powerpc/pr86731-nogimplefold-longlong.c: Delete. - * gcc.target/powerpc/pr86731-nogimplefold.c: Delete. - * gcc.target/powerpc/swaps-p8-17.c: Remove -mno-fold-gimple option. - -2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> - - PR target/95082 - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-0.c: Restrict to -mbig. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-3.c: New. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-4.c: New. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-0.c: Restrict to -mbig. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-3.c: New. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-4.c: New. - -2022-02-03 Richard Biener <rguenther@suse.de> - - PR debug/104337 - * gcc.dg/debug/pr104337.c: New testcase. - -2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> - - * gcc.target/powerpc/bfp/scalar-test-data-class-10.c: Adjust error - messages. - * gcc.target/powerpc/bfp/scalar-test-data-class-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-3.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-4.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-5.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-9.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-4.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-5.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-6.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-7.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-12.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-14.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-17.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-19.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-2.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-22.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-24.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-27.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-29.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-32.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-34.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-37.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-39.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-4.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-42.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-44.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-47.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-49.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-52.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-54.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-57.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-59.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-62.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-64.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-67.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-69.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-7.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-72.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-74.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-77.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-79.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-9.c: Likewise. - * gcc.target/powerpc/pr80315-1.c: Likewise. - * gcc.target/powerpc/pr80315-2.c: Likewise. - * gcc.target/powerpc/pr80315-3.c: Likewise. - * gcc.target/powerpc/pr80315-4.c: Likewise. - * gcc.target/powerpc/pr82015.c: Likewise. - * gcc.target/powerpc/pr91903.c: Likewise. - * gcc.target/powerpc/test_fpscr_rn_builtin_error.c: Likewise. - * gcc.target/powerpc/vec-ternarylogic-10.c: Likewise. - -2022-02-03 Eric Botcazou <ebotcazou@adacore.com> - - PR tree-optimization/104356 - * gnat.dg/div_zero.adb: Add dg-skip-if directive for PowerPC. - -2022-02-03 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/struct_vect_25.c: Remove XFAILs. - -2022-02-03 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/mask_struct_load_1.c: Use intptr_t - iterators instead of int iterators. - * gcc.target/aarch64/sve/mask_struct_load_2.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_load_3.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_load_4.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_load_5.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_load_6.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_load_7.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_load_8.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_store_1.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_store_2.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_store_3.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_store_4.c: Likewise. - -2022-02-03 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/single_5.c: Remove some XFAILs. - -2022-02-03 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/vect/tsvc/vect-tsvc-s1115.c: Don't XFAIL for SVE. - * gcc.dg/vect/tsvc/vect-tsvc-s114.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s1161.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s1232.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s124.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s1279.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s161.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s253.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s257.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s271.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s2711.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s2712.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s272.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s273.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s274.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s276.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s278.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s279.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s3111.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s4113.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s441.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s443.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s491.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-vas.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-vif.c: Likewise. - -2022-02-03 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/guality/ipa-sra-1.c: Update aarch64*-*-* xfails. - * gcc.dg/guality/pr54519-1.c: Likewise. - * gcc.dg/guality/pr54519-3.c: Likewise. - -2022-02-03 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104334 - * g++.dg/opt/pr104334.C: New test. - -2022-02-03 Jakub Jelinek <jakub@redhat.com> - - PR fortran/104328 - * gfortran.dg/gomp/atomic-27.f90: New test. - -2022-02-03 Jason Merrill <jason@redhat.com> - - PR c++/104302 - * g++.dg/template/array35.C: New test. - * g++.dg/template/array36.C: New test. - -2022-02-02 Segher Boessenkool <segher@kernel.crashing.org> - - * lib/target-supports.exp (check_effective_target_powerpc_altivec_ok): - Return 0 if the target is not Power. Restructure and add some comments. - -2022-02-02 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/torture/ubsan-1.c: Add missing return stmts. - * gcc.dg/analyzer/uninit-trivial-auto-var-init-pattern.c: Move - to... - * gcc.dg/analyzer/torture/uninit-trivial-auto-var-init-pattern.c: - ...here. - * gcc.dg/analyzer/uninit-trivial-auto-var-init-uninitialized.c: - Move to... - * gcc.dg/analyzer/torture/uninit-trivial-auto-var-init-uninitialized.c: - ...here. - * gcc.dg/analyzer/uninit-trivial-auto-var-init-zero.c: Move to... - * gcc.dg/analyzer/torture/uninit-trivial-auto-var-init-zero.c: ...here. - -2022-02-02 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/torture/uninit-bit-field-ref.c: New test. - -2022-02-02 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104270 - * gcc.dg/analyzer/uninit-trivial-auto-var-init-pattern.c: New - test. - * gcc.dg/analyzer/uninit-trivial-auto-var-init-uninitialized.c: - New test. - * gcc.dg/analyzer/uninit-trivial-auto-var-init-zero.c: New test. - -2022-02-02 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/102819 - PR tree-optimization/103169 - * g++.dg/vect/pr99149.cc: xfail for now. - * gcc.dg/vect/complex/pr102819-1.c: New test. - * gcc.dg/vect/complex/pr102819-2.c: New test. - * gcc.dg/vect/complex/pr102819-3.c: New test. - * gcc.dg/vect/complex/pr102819-4.c: New test. - * gcc.dg/vect/complex/pr102819-5.c: New test. - * gcc.dg/vect/complex/pr102819-6.c: New test. - * gcc.dg/vect/complex/pr102819-7.c: New test. - * gcc.dg/vect/complex/pr102819-8.c: New test. - * gcc.dg/vect/complex/pr102819-9.c: New test. - * gcc.dg/vect/complex/pr103169.c: New test. - -2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com> - - * gcc.target/s390/nobp-section-type-conflict.c: New test. - -2022-02-01 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104331 - * gfortran.dg/eoshift_9.f90: New test. - -2022-02-01 Jakub Jelinek <jakub@redhat.com> - - PR preprocessor/104147 - * c-c++-common/cpp/pr104147.c: New test. - -2022-02-01 Jason Merrill <jason@redhat.com> - - PR c++/103186 - * g++.dg/cpp0x/lambda/lambda-defarg10.C: New test. - -2022-02-01 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/stack-atomics-run.c: New test. - -2022-02-01 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/104307 - * gcc.target/i386/pr104307.c: New test. - -2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com> - - PR rtl-optimization/101260 - * gcc.target/s390/pr101260.c: New testcase. - -2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang> - - * gcc.dg/pr95115.c: New test. - -2022-02-01 Tom de Vries <tdevries@suse.de> - - * gcc.dg/tree-ssa/ldist-strlen-4.c: New test. - -2022-01-31 Marek Polacek <polacek@redhat.com> - - PR c++/102414 - PR c++/101874 - * g++.dg/cpp23/auto-array3.C: New test. - * g++.dg/cpp23/auto-array4.C: New test. - -2022-01-31 Marek Polacek <polacek@redhat.com> - - PR c++/102434 - * g++.dg/cpp0x/initlist128.C: New test. - -2022-01-31 Patrick Palka <ppalka@redhat.com> - - PR c++/104294 - * g++.dg/cpp1z/class-deduction106.C: New test. - -2022-01-31 Patrick Palka <ppalka@redhat.com> - - PR c++/104291 - * g++.dg/template/partial20.C: New test. - -2022-01-31 Martin Sebor <msebor@redhat.com> - - PR middle-end/104232 - * g++.dg/warn/Wuse-after-free4.C: New test. - * gcc.dg/Wuse-after-free-2.c: New test. - * gcc.dg/Wuse-after-free-3.c: New test. - -2022-01-31 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/103514 - * gcc.dg/tree-ssa/pr103514.c: Add - --param logical-op-non-short-circuit=1 to dg-options. - -2022-01-31 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/div_zero.adb: New test. - -2022-01-29 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/95424 - * gcc.dg/tree-ssa/divide-7.c: Fix up regexps in scan-tree-dump{,-not}. - -2022-01-29 Jakub Jelinek <jakub@redhat.com> - Andrew Pinski <apinski@marvell.com> - - PR tree-optimization/104279 - PR tree-optimization/104280 - PR tree-optimization/104281 - * gcc.dg/torture/pr104279.c: New test. - * gcc.dg/torture/pr104280.c: New test. - * gcc.dg/torture/pr104281.c: New test. - -2022-01-28 Navid Rahimi <navidrahimi@microsoft.com> - - * gcc.dg/tree-ssa/pr103514.c: Testcase for this optimization. - -2022-01-28 Patrick Palka <ppalka@redhat.com> - Jason Merrill <jason@redhat.com> - - PR c++/92752 - * g++.dg/warn/Wignored-qualifiers2.C: New test. - -2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com> - - PR tree-optimization/95424 - * gcc.dg/tree-ssa/divide-6.c: New file. - * gcc.dg/tree-ssa/divide-7.c: New file. - -2022-01-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104263 - * gcc.dg/pr104263.c: New test. - -2022-01-28 Allan McRae <allan@archlinux.org> - - PR testsuite/70230 - * gcc.dg/asan/use-after-scope-4.c (dg-options): Add - -fno-stack-protector. - * gcc.dg/stack-usage-1.c: Likewise - * gcc.dg/superblock.c: Likewise - * gcc.target/i386/avx-vzeroupper-17.c: Likewise - * gcc.target/i386/cleanup-1.c: Likewise - * gcc.target/i386/cleanup-2.c: Likewise - * gcc.target/i386/interrupt-redzone-1.c: Likewise - * gcc.target/i386/interrupt-redzone-2.c: Likewise - * gcc.target/i386/pr79793-1.c: Likewise - * gcc.target/i386/pr79793-2.c: Likewise - * gcc.target/i386/shrink_wrap_1.c: Likewise - * gcc.target/i386/stack-check-11.c: Likewise - * gcc.target/i386/stack-check-18.c: Likewise - * gcc.target/i386/stack-check-19.c: Likewise - * gcc.target/i386/stackalign/pr88483-1.c: Likewise - * gcc.target/i386/stackalign/pr88483-2.c: Likewise - * gcc.target/i386/sw-1.c: Likewise - -2022-01-28 Patrick Palka <ppalka@redhat.com> - - PR c++/103341 - * g++.dg/cpp2a/concepts-class4.C: New test. - * g++.dg/cpp2a/concepts-var-templ2.C: New test. - -2022-01-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104263 - * gcc.dg/tree-ssa/inline-13.c: New testcase. - -2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/103790 - * gfortran.dg/coarray_collectives_18.f90: New test. - -2022-01-28 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/generic_comp.adb: New test. - -2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> - - Revert: - 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/103790 - * gfortran.dg/coarray_collectives_18.f90: New test. - -2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/103790 - * gfortran.dg/coarray_collectives_18.f90: New test. - -2022-01-28 Jason Merrill <jason@redhat.com> - - PR c++/100198 - PR c++/100030 - PR c++/100282 - * g++.dg/cpp0x/lambda/lambda-variadic13.C: Accept the sorry - as well as the correct error. - * g++.dg/cpp0x/lambda/lambda-variadic14.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-variadic14a.C: New test. - * g++.dg/cpp0x/lambda/lambda-variadic15.C: New test. - * g++.dg/cpp0x/lambda/lambda-variadic16.C: New test. - -2022-01-27 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/data-model-1.c: Add dg-message directives for - expected region creation events. - * gcc.dg/analyzer/malloc-1.c: Likewise. - * gcc.dg/analyzer/memset-CVE-2017-18549-1.c: Likewise. - * gcc.dg/analyzer/pr101547.c: Likewise. - * gcc.dg/analyzer/pr101875.c: Likewise. - * gcc.dg/analyzer/pr101962.c: Likewise. - * gcc.dg/analyzer/pr104224.c: Likewise. - * gcc.dg/analyzer/pr94047.c: Likewise. - * gcc.dg/analyzer/symbolic-1.c: Likewise. - * gcc.dg/analyzer/uninit-1.c: Likewise. - * gcc.dg/analyzer/uninit-4.c: Likewise. - * gcc.dg/analyzer/uninit-alloca.c: New test. - * gcc.dg/analyzer/uninit-pr94713.c: Add dg-message directive for - expected region creation event. - * gcc.dg/analyzer/uninit-pr94714.c: Likewise. - * gcc.dg/analyzer/zlib-3.c: Likewise. - -2022-01-27 Jason Merrill <jason@redhat.com> - - PR c++/104245 - PR c++/51344 - * g++.dg/lto/alignas1_0.C: New test. - -2022-01-27 Uroš Bizjak <ubizjak@gmail.com> - - * gfortran.dg/ieee/signaling_1.f90 (dg-do): - Run only on non-ia32 targets. - * gfortran.dg/ieee/signaling_2.f90 (dg-do): Ditto. - * gfortran.dg/ieee/signaling_3.f90 (dg-do): Ditto. - -2022-01-27 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104128 - * gfortran.dg/transfer_simplify_14.f90: New test. - -2022-01-27 Patrick Palka <ppalka@redhat.com> - - PR c++/82632 - * g++.dg/cpp1z/class-deduction104.C: New test. - * g++.dg/cpp1z/class-deduction105.C: New test. - -2022-01-27 Harald Anlauf <anlauf@gmx.de> - - PR fortran/84784 - * gfortran.dg/pr84784.f90: New test. - -2022-01-27 Patrick Palka <ppalka@redhat.com> - - PR c++/99895 - * g++.dg/cpp2a/consteval-memfn1.C: New test. - * g++.dg/cpp2a/consteval-memfn2.C: New test. - * g++.dg/cpp2a/consteval28.C: New test. - -2022-01-27 Patrick Palka <ppalka@redhat.com> - - PR c++/92944 - PR c++/103678 - * g++.dg/cpp2a/concepts-partial-spec10.C: New test. - * g++.dg/cpp2a/concepts-partial-spec11.C: New test. - -2022-01-27 Marek Polacek <polacek@redhat.com> - - PR c++/101988 - * g++.dg/cpp1z/class-deduction-new1.C: New test. - * g++.dg/cpp23/auto-array2.C: New test. - -2022-01-27 Kewen Lin <linkw@linux.ibm.com> - - PR target/103702 - * gcc.target/powerpc/pr103702.c: New test. - -2022-01-27 Chung-Lin Tang <cltang@codesourcery.com> - - PR middle-end/103642 - * c-c++-common/gomp/pr103642.c: New test. - -2022-01-27 Andrew Pinski <apinski@marvell.com> - - PR target/104201 - * gcc.target/aarch64/branch-protection-attr.c: Fix quoting for - the expected error message on line 5 of leaf. - -2022-01-27 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/104196 - * gcc.c-torture/execute/pr104196.c: New test. - -2022-01-26 Jakub Jelinek <jakub@redhat.com> - - PR target/104239 - * gcc.target/powerpc/pr104239-3.c: New test. - -2022-01-26 Jakub Jelinek <jakub@redhat.com> - - PR target/104239 - * gcc.target/powerpc/pr104239-1.c: New test. - * gcc.target/powerpc/pr104239-2.c: New test. - -2022-01-26 Jakub Jelinek <jakub@redhat.com> - - PR c++/104226 - * g++.dg/cpp0x/constexpr-104226.C: New test. - -2022-01-26 Marek Polacek <polacek@redhat.com> - - PR target/104213 - * g++.dg/warn/Wuse-after-free2.C: New test. - * g++.dg/warn/Wuse-after-free3.C: New test. - -2022-01-26 Jason Merrill <jason@redhat.com> - - PR c++/104235 - * g++.dg/parse/template-keyword2.C: New test. - -2022-01-26 Martin Liska <mliska@suse.cz> - - * gcc.dg/tree-ssa/modref-7.c: Update scanned patterns. - * gcc.dg/tree-ssa/modref-8.c: Likewise. - -2022-01-26 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104224 - * gcc.dg/analyzer/pr104224.c: New test. - -2022-01-26 Jakub Jelinek <jakub@redhat.com> - - PR target/104188 - * gcc.target/i386/pr104188.c: Add dg-require-effective-target - sse2_runtime. Add -msse2 to dg-options. - -2022-01-26 Jason Merrill <jason@redhat.com> - - PR c++/103057 - * g++.dg/cpp0x/alias-decl-void1.C: New test. - -2022-01-25 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104227 - * gfortran.dg/transfer_check_6.f90: New test. - -2022-01-25 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104212 - * gfortran.dg/argument_checking_26.f90: New test. - -2022-01-25 Patrick Palka <ppalka@redhat.com> - - PR c++/101532 - PR c++/104225 - * g++.dg/cpp0x/nsdmi-template21.C: New test. - * g++.dg/cpp0x/nsdmi-template21a.C: New test. - -2022-01-25 Jason Merrill <jason@redhat.com> - - PR c++/59950 - * g++.dg/init/assign2.C: New test. - -2022-01-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104214 - * gcc.dg/vect/pr81196-2.c: New variant testcase only - requiring vect_int. - -2022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com> - - * gfortran.dg/ieee/signaling_3.f90: Skip test on 32-bit x86/x86_64. - -2022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com> - - * gfortran.dg/ieee/signaling_1.f90: Fix test. - -2022-01-24 Marek Polacek <polacek@redhat.com> - - PR preprocessor/104030 - * c-c++-common/Wbidi-chars-10.c: Turn on UCN checking. - * c-c++-common/Wbidi-chars-11.c: Likewise. - * c-c++-common/Wbidi-chars-14.c: Likewise. - * c-c++-common/Wbidi-chars-16.c: Likewise. - * c-c++-common/Wbidi-chars-17.c: Likewise. - * c-c++-common/Wbidi-chars-4.c: Likewise. - * c-c++-common/Wbidi-chars-5.c: Likewise. - * c-c++-common/Wbidi-chars-6.c: Likewise. - * c-c++-common/Wbidi-chars-7.c: Likewise. - * c-c++-common/Wbidi-chars-8.c: Likewise. - * c-c++-common/Wbidi-chars-9.c: Likewise. - * c-c++-common/Wbidi-chars-ranges.c: Likewise. - * c-c++-common/Wbidi-chars-18.c: New test. - * c-c++-common/Wbidi-chars-19.c: New test. - * c-c++-common/Wbidi-chars-20.c: New test. - * c-c++-common/Wbidi-chars-21.c: New test. - * c-c++-common/Wbidi-chars-22.c: New test. - * c-c++-common/Wbidi-chars-23.c: New test. - -2022-01-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gfortran.dg/ieee/signaling_1.f90: Do not require issignaling. - * gfortran.dg/ieee/signaling_2.f90: Add comment. - * gfortran.dg/ieee/signaling_3.f90: New test. - -2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com> - - PR target/94193 - * gcc.target/powerpc/builtin-feclearexcept-feraiseexcept-1.c: New test. - * gcc.target/powerpc/builtin-feclearexcept-feraiseexcept-2.c: New test. - * gcc.target/powerpc/builtin-fegetround.c: New test. - -2022-01-24 Patrick Palka <ppalka@redhat.com> - - PR c++/104173 - * g++.dg/cpp0x/ref-qual21.C: New test. - -2022-01-24 Richard Biener <rguenther@suse.de> - Jiufu Guo <guojiufu@linux.ibm.com> - - PR tree-optimization/100740 - PR tree-optimization/101508 - PR tree-optimization/101972 - PR tree-optimization/102131 - * gcc.dg/torture/pr100740.c: New testcase. - * gcc.dg/torture/pr101508.c: Likewise. - * gcc.dg/torture/pr101972.c: Likewise. - * gcc.dg/torture/pr102131-1.c: Likewise. - * gcc.dg/torture/pr102131-2.c: Likewise. - * gcc.dg/torture/pr102131-3.c: Likewise. - * gcc.dg/torture/pr102131-4.c: Likewise. - -2022-01-24 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/104158 - * gcc.dg/sancov/pr104158-7.c: Adjust for repeating of arguments - being allowed. - -2022-01-24 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/104158 - * gcc.dg/spellcheck-options-24.c: New test. - * gcc.dg/sancov/pr104158-1.c: New test. - * gcc.dg/sancov/pr104158-2.c: New test. - * gcc.dg/sancov/pr104158-3.c: New test. - * gcc.dg/sancov/pr104158-4.c: New test. - * gcc.dg/sancov/pr104158-5.c: New test. - * gcc.dg/sancov/pr104158-6.c: New test. - * gcc.dg/sancov/pr104158-7.c: New test. - -2022-01-24 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/attribute-19.c: Add -misa-spec=2.2 - -2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com> - - PR tree-optimization/102087 - * gcc.dg/pr102087_1.c: New test. - -2022-01-24 LiaoShihua <shihua@iscas.ac.cn> - - * gcc.target/riscv/arch-9.c: Update the check info. - * gcc.target/riscv/arch-10.c: Ditto. - * gcc.target/riscv/arch-12.c: Ditto. - -2022-01-24 David Edelsohn <dje.gcc@gmail.com> - - * gcc.dg/analyzer/torture/pr104159.c: Ignore psabi warning. - -2022-01-24 H.J. Lu <hjl.tools@gmail.com> - - PR target/104188 - * gcc.target/i386/pr104188.c: New test. - -2022-01-23 Will Wray <wjwray@gmail.com> - - PR c++/55227 - * g++.dg/cpp2a/desig21.C: New test. - -2022-01-23 Andrew Pinski <apinski@marvell.com> - - PR target/64821 - * gcc.target/aarch64/vsqrt-1.c: New test. - * gcc.target/aarch64/vsqrt-2.c: New test. - -2022-01-23 Jason Merrill <jason@redhat.com> - - PR c++/104182 - * g++.dg/cpp0x/initlist127.C: New test. - -2022-01-23 Jason Merrill <jason@redhat.com> - - PR c++/101072 - * g++.dg/cpp0x/constexpr-empty14a.C: New test. - -2022-01-22 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104150 - * gcc.dg/analyzer/pr104089.c: Add "dg-add-options float16" - and "dg-require-effective-target float16" directives. - -2022-01-22 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104159 - * gcc.dg/analyzer/torture/pr104159.c: New test. - -2022-01-22 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104127 - * gfortran.dg/transfer_simplify_11.f90: Fix logic. - * gfortran.dg/transfer_simplify_13.f90: New test. - -2022-01-22 Michael Meissner <meissner@the-meissners.org> - - PR testsuite/103763 - * gcc.target/powerpc/fold-vec-splat-floatdouble.c: Fix insn regex - on power10. - -2022-01-21 Jakub Jelinek <jakub@redhat.com> - - PR c++/104148 - * c-c++-common/Wformat-pr104148.c: New test. - -2022-01-21 Jason Merrill <jason@redhat.com> - - * g++.dg/template/explicit-args6.C: Add expected message. - -2022-01-21 Jason Merrill <jason@redhat.com> - - PR c++/104084 - PR c++/20040 - * g++.dg/init/new50.C: New test. - -2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com> - - * gcc.target/powerpc/builtins-4.c: Add two test variants. Adjust - assembler counts. - -2022-01-21 Roger Sayle <roger@nextmovesoftware.com> - - PR middle-end/104140 - * gcc.target/riscv/pr104140.c: New test case. - -2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com> - - PR target/103676 - * g++.target/arm/pr103676.C: New. - -2022-01-21 Marek Polacek <polacek@redhat.com> - - PR c++/101715 - * g++.dg/cpp0x/noexcept72.C: New test. - * g++.dg/cpp0x/noexcept73.C: New test. - -2022-01-21 Jason Merrill <jason@redhat.com> - - PR c++/104139 - PR c++/103681 - * g++.dg/abi/no_unique_address2.C: Adjust to detect this on x86-64. - -2022-01-21 Richard Biener <rguenther@suse.de> - - PR sanitizer/99673 - * gcc.dg/asan/pr99673.c: New testcase. - -2022-01-21 Ard Biesheuvel <ardb@kernel.org> - - * gcc.target/arm/stack-protector-7.c: New test. - * gcc.target/arm/stack-protector-8.c: New test. - -2022-01-21 Richard Earnshaw <rearnsha@arm.com> - - * gcc.target/aarch64/spellcheck_1.c: Adjust tests for new output. - * gcc.target/aarch64/spellcheck_2.c: Likewise. - * gcc.target/aarch64/spellcheck_3.c: Likewise. - * gcc.target/aarch64/spellcheck_7.c: Likewise. - -2022-01-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104156 - * gcc.dg/loop-unswitch-6.c: New testcase. - -2022-01-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104152 - * gcc.dg/vect/pr104152.c: New testcase. - -2022-01-21 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/pr103721-2.c: New test. - * gcc.dg/pr103721.c: New test. - -2022-01-21 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/102478 - * gcc.dg/pr102478.c: New test. - -2022-01-21 Jeff Law <jeffreyalaw@gmail.com> - - * gcc.target/mips/fix-r4000-2.c: Update expected output. - * gcc.target/mips/fix-r4000-3.c: Update expected output. Add - -fexpensive-optimizations for consistency in output. - * gcc.target/mips/fix-r4000-7.c: Update expected output. - * gcc.target/mips/fix-r4000-8.c: Update expected output. - -2022-01-20 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/94362 - * gcc.dg/analyzer/pr94362-1.c: New test. - * gcc.dg/analyzer/pr94362-2.c: New test. - -2022-01-20 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/103685 - * gcc.dg/analyzer/torture/pr103685.c: New test. - -2022-01-20 Sandra Loosemore <sandra@codesourcery.com> - - PR fortran/103695 - PR fortran/102621 - * gfortran.dg/gomp/affinity-clause-3.f90: Adjust pattern. - * gfortran.dg/gomp/pr102621.f90: New. - * gfortran.dg/gomp/pr103695.f90: New. - -2022-01-20 Jason Merrill <jason@redhat.com> - - PR c++/101405 - * g++.dg/cpp2a/desig20.C: New test. - -2022-01-20 Marek Polacek <polacek@redhat.com> - - PR c++/102338 - * g++.dg/cpp1y/noexcept2.C: New test. - -2022-01-20 Patrick Palka <ppalka@redhat.com> - - PR c++/103631 - * g++.dg/cpp2a/nontype-class51.C: New test. - -2022-01-20 Richard Biener <rguenther@suse.de> - - PR middle-end/100786 - * gcc.dg/torture/pr100786.c: New testcase. - -2022-01-20 Richard Earnshaw <rearnsha@arm.com> - - PR target/102517 - * gcc.target/aarch64/cpymem-q-reg_1.c: Allow ld1 and st1 for the - memcpy expansion. - -2022-01-20 Patrick Palka <ppalka@redhat.com> - - PR c++/91911 - PR c++/103672 - * g++.dg/cpp1z/class-deduction101.C: New test. - * g++.dg/cpp1z/class-deduction101a.C: New test. - * g++.dg/cpp1z/class-deduction101b.C: New test. - * g++.dg/cpp1z/class-deduction102.C: New test. - * g++.dg/cpp1z/class-deduction102a.C: New test. - * g++.dg/cpp1z/class-deduction102b.C: New test. - * g++.dg/cpp1z/class-deduction103.C: New test. - -2022-01-20 Patrick Palka <ppalka@redhat.com> - - * g++.dg/other/pr88187.C: Adjust expected C++17 diagnostic. - -2022-01-20 Richard Earnshaw <rearnsha@arm.com> - - * gcc.target/arm/crypto-vaese-erratum1.c: New test. - -2022-01-20 Jakub Jelinek <jakub@redhat.com> - - PR debug/103874 - * gcc.dg/debug/dwarf2/pr103874.c: New test. - -2022-01-20 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/opt/pr47639.C: Add -Wno-psabi to dg-options. - -2022-01-20 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/mask-pack-prefer128.c: New test. - * gcc.target/i386/mask-pack-prefer256.c: New test. - * gcc.target/i386/pr103771.c: New test. - -2022-01-20 Jason Merrill <jason@redhat.com> - - PR c++/102300 - * g++.dg/parse/no-typename1.C: Remove expected error. - * g++.dg/template/nested7.C: New test. - -2022-01-20 David Edelsohn <dje.gcc@gmail.com> - - * gcc.target/powerpc/sldoi_to_mov.c: Require VSX. - -2022-01-19 Robin Dapp <rdapp@linux.ibm.com> - - * gcc.dg/ifcvt-4.c: Remove s390-specific check. - * gcc.target/s390/ifcvt-two-insns-bool.c: New test. - * gcc.target/s390/ifcvt-two-insns-int.c: New test. - * gcc.target/s390/ifcvt-two-insns-long.c: New test. - -2022-01-19 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/102860 - * gfortran.dg/pr102860.f90: New test. - -2022-01-19 Jakub Jelinek <jakub@redhat.com> - - PR c/104115 - * gcc.dg/tree-ssa/evrp-trans2.c: New test. - -2022-01-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104112 - * gcc.dg/vect/pr104112-1.c: New testcase. - * gcc.dg/vect/pr104112-2.c: New testcase. - -2022-01-19 Martin Liska <mliska@suse.cz> - - * g++.dg/ext/boolcomplex-1.c: Moved to... - * g++.dg/ext/boolcomplex-1.C: ...here. - * g++.dg/opt/pr47639.c: Moved to... - * g++.dg/opt/pr47639.C: ...here. - * g++.dg/pr83979.c: Moved to... - * g++.dg/pr83979.C: ...here. - * g++.dg/tm/asm-1.c: Moved to... - * g++.dg/tm/asm-1.C: ...here. - * g++.dg/vect/pr71483.c: Moved to... - * g++.dg/vect/pr71483.cc: ...here. - -2022-01-19 Jakub Jelinek <jakub@redhat.com> - - PR c++/89074 - * gcc.dg/tree-ssa/pr89074.c: New test. - -2022-01-19 Richard Biener <rguenther@suse.de> - - PR testsuite/102833 - * gcc.dg/vect/bb-slp-17.c: Require vect64. - -2022-01-19 Rimvydas Jasinskas <rimvydas.jas@gmail.com> - - PR testsuite/104021 - * gcc.dg/vect/tsvc/tsvc.h: Do not include malloc.h on dragonfly - and use posix_memalign (). - -2022-01-19 Rimvydas Jasinskas <rimvydas.jas@gmail.com> - - PR testsuite/104022 - * g++.dg/gcov/pr16855.C: xfail the count lines for DTORs on dragonfly. - * g++.dg/gcov/pr16855-priority.C: Ditto. Adjust source layout so that - dejagnu xfail expressions work. - -2022-01-19 Martin Liska <mliska@suse.cz> - - PR testsuite/104109 - * lib/gcov.exp: Fix pytest detection unsupported message. - -2022-01-19 Kewen Lin <linkw@linux.ibm.com> - - PR tree-optimization/104015 - * gcc.dg/vect/slp-perm-9.c: Adjust. - * gcc.target/powerpc/pr104015-1.c: New test. - * gcc.target/powerpc/pr104015-2.c: New test. - -2022-01-19 Jakub Jelinek <jakub@redhat.com> - - PR target/104104 - * gcc.target/i386/pr104104.c: New test. - -2022-01-19 Martin Sebor <msebor@redhat.com> - - PR middle-end/104076 - * g++.dg/warn/Wdangling-pointer-3.C: New test. - -2022-01-19 Martin Sebor <msebor@redhat.com> - - PR middle-end/104103 - * gcc.dg/torture/pr57147-2.c: Prune out expected warning. - -2022-01-19 Martin Sebor <msebor@redhat.com> - - PR middle-end/104069 - * gcc.dg/Wuse-after-free.c: New test. - -2022-01-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/104055 - * g++.dg/cpp2a/consteval27.C: New test. - -2022-01-18 Jason Merrill <jason@redhat.com> - - * lib/g++-dg.exp: Change 2a to 20. - -2022-01-18 Jason Merrill <jason@redhat.com> - Jakub Jelinek <jakub@redhat.com> - - PR c++/104025 - * g++.dg/warn/pr104025.C: New test. - -2022-01-18 David Faust <david.faust@oracle.com> - - * gcc.target/bpf/core-section-1.c: Adjust expected record size - occurrences. - -2022-01-18 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104089 - * gcc.dg/analyzer/pr104089.c: New test. - -2022-01-18 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104062 - * gcc.dg/analyzer/pr104062.c: New test. - -2022-01-18 Patrick Palka <ppalka@redhat.com> - - PR c++/104074 - * g++.dg/cpp1z/nontype-auto20.C: New test. - -2022-01-18 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103692 - * gfortran.dg/pr102520.f90: Adjust error messages. - * gfortran.dg/pr103692.f90: New test. - -2022-01-18 Jason Merrill <jason@redhat.com> - - PR c++/104007 - * g++.dg/eh/new2.C: New test. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * gcc.target/powerpc/bfp/scalar-extract-exp-5.c: Update scanned - pattern. - * gcc.target/powerpc/bfp/scalar-extract-sig-5.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-11.c: Likewise. - -2022-01-18 Richard Biener <rguenther@suse.de> - - PR ipa/103989 - * g++.dg/opt/pr103989.C: New testcase. - -2022-01-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103987 - * gcc.dg/torture/pr103987.c: New testcase. - -2022-01-18 Richard Sandiford <richard.sandiford@arm.com> - - PR target/104005 - * gcc.target/aarch64/pr104005.c: New test. - -2022-01-18 Andrew Pinski <apinski@marvell.com> - - PR tree-optimization/101941 - * gcc.c-torture/compile/pr101941-1.c: New test. - * gcc.dg/tree-ssa/pr101941-1.c: New test. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * gcc.src/maintainers.exp: Use - check_effective_target_python3_module for checking of unicode - module. - * lib/target-supports.exp: Add - check_effective_target_python3_module. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * gcc.misc-tests/options.exp: Include renamed file. - -2022-01-18 Martin Liska <mliska@suse.cz> - - * gcc.src/maintainers.exp: Use the new - check_effective_target_recent_python3. - * lib/target-supports.exp: Check for Python3 version >= 3.6. - -2022-01-18 liuhongt <hongtao.liu@intel.com> - - PR target/103973 - * g++.target/i386/pr103973-1.C: Change scan-assembler from - "\tucomisd" to "\t\[v\]?ucomisd". - * g++.target/i386/pr103973-11.C: Ditto. - * g++.target/i386/pr103973-13.C: Ditto. - * g++.target/i386/pr103973-15.C: Ditto. - * g++.target/i386/pr103973-3.C: Ditto. - * g++.target/i386/pr103973-5.C: Ditto. - * g++.target/i386/pr103973-7.C: Ditto. - * g++.target/i386/pr103973-9.C: Ditto. - * gcc.target/i386/pr103973-1.c: Ditto. - * gcc.target/i386/pr103973-11.c: Ditto. - * gcc.target/i386/pr103973-13.c: Ditto. - * gcc.target/i386/pr103973-15.c: Ditto. - * gcc.target/i386/pr103973-3.c: Ditto. - * gcc.target/i386/pr103973-5.c: Ditto. - * gcc.target/i386/pr103973-7.c: Ditto. - * gcc.target/i386/pr103973-9.c: Ditto. - -2022-01-17 qing zhao <qing.zhao@oracle.com> - - * gcc.dg/auto-init-uninit-16.c (testfunc): Delete xfail to reflect - the fact that address taken variable can be warned. - * gcc.dg/auto-init-uninit-34.c (warn_scalar_1): Likewise. - (warn_scalar_2): Likewise. - * gcc.dg/auto-init-uninit-37.c (T1): Likewise. - (T2): Likewise. - * gcc.dg/auto-init-uninit-B.c (baz): Likewise. - -2022-01-17 Jakub Jelinek <jakub@redhat.com> - - PR c++/104031 - * g++.dg/cpp1y/pr104031.C: New test. - -2022-01-17 Jason Merrill <jason@redhat.com> - - * c-c++-common/cpp/line-2.c: Only expect includes once. - * c-c++-common/cpp/line-3.c: Likewise. - -2022-01-17 Andrew Stubbs <ams@codesourcery.com> - - * gfortran.dg/gomp/requires-8.f90: Reinstate dynamic allocators - requirement. - -2022-01-17 Hafiz Abid Qadeer <abidh@codesourcery.com> - - * gfortran.dg/gomp/allocate-2.f90: Change 0 to 0_1. - -2022-01-17 Jakub Jelinek <jakub@redhat.com> - - PR target/103973 - * gcc.target/i386/pr103973-1.c: New test. - * gcc.target/i386/pr103973-2.c: New test. - * gcc.target/i386/pr103973-3.c: New test. - * gcc.target/i386/pr103973-4.c: New test. - * gcc.target/i386/pr103973-5.c: New test. - * gcc.target/i386/pr103973-6.c: New test. - * gcc.target/i386/pr103973-7.c: New test. - * gcc.target/i386/pr103973-8.c: New test. - * gcc.target/i386/pr103973-9.c: New test. - * gcc.target/i386/pr103973-10.c: New test. - * gcc.target/i386/pr103973-11.c: New test. - * gcc.target/i386/pr103973-12.c: New test. - * gcc.target/i386/pr103973-13.c: New test. - * gcc.target/i386/pr103973-14.c: New test. - * gcc.target/i386/pr103973-15.c: New test. - * gcc.target/i386/pr103973-16.c: New test. - * gcc.target/i386/pr103973-17.c: New test. - * gcc.target/i386/pr103973-18.c: New test. - * gcc.target/i386/pr103973-19.c: New test. - * gcc.target/i386/pr103973-20.c: New test. - * g++.target/i386/pr103973-1.C: New test. - * g++.target/i386/pr103973-2.C: New test. - * g++.target/i386/pr103973-3.C: New test. - * g++.target/i386/pr103973-4.C: New test. - * g++.target/i386/pr103973-5.C: New test. - * g++.target/i386/pr103973-6.C: New test. - * g++.target/i386/pr103973-7.C: New test. - * g++.target/i386/pr103973-8.C: New test. - * g++.target/i386/pr103973-9.C: New test. - * g++.target/i386/pr103973-10.C: New test. - * g++.target/i386/pr103973-11.C: New test. - * g++.target/i386/pr103973-12.C: New test. - * g++.target/i386/pr103973-13.C: New test. - * g++.target/i386/pr103973-14.C: New test. - * g++.target/i386/pr103973-15.C: New test. - * g++.target/i386/pr103973-16.C: New test. - * g++.target/i386/pr103973-17.C: New test. - * g++.target/i386/pr103973-18.C: New test. - * g++.target/i386/pr103973-19.C: New test. - * g++.target/i386/pr103973-20.C: New test. - -2022-01-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gfortran.dg/ieee/signaling_3.f90: Remove file. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * g++.dg/uninit-pred-loop-1_b.C: Fix invalid warnings. - * g++.dg/uninit-pred-loop-1_c.C: Likewise. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * g++.dg/uninit-pred-loop-1_a.cc: Moved to... - * g++.dg/uninit-pred-loop-1_a.C: ...here. - * g++.dg/uninit-pred-loop-1_b.cc: Moved to... - * g++.dg/uninit-pred-loop-1_b.C: ...here. - * g++.dg/uninit-pred-loop-1_c.cc: Moved to... - * g++.dg/uninit-pred-loop-1_c.C: ...here. - * g++.dg/uninit-pred-loop_1.cc: Moved to... - * g++.dg/uninit-pred-loop_1.C: ...here. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * lib/gcov.exp: Use check_effective_target_pytest3. - * lib/target-supports.exp: Add check_effective_target_pytest3. - -2022-01-17 Martin Liska <mliska@suse.cz> - - * gcc.src/maintainers.exp: Start using check-MAINTAINERS.py. - * lib/target-supports.exp: Add check_effective_target_python3. - -2022-01-17 Martin Liska <mliska@suse.cz> - - PR testsuite/104035 - * g++.dg/torture/pr57993-2.C: Fix warnings. - -2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/103124 - * gcc.target/powerpc/pr103124.c: New testcase. - -2022-01-16 Francois-Xavier Coudert <fxcoudert@gmail.com> - - * gfortran.dg/ieee/signaling_1.f90: xfail on x87. - * gfortran.dg/ieee/signaling_2.f90: xfail on x87. - * gfortran.dg/ieee/signaling_3.f90: New file. - -2022-01-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - PR fortran/82207 - * gfortran.dg/ieee/ieee_10.f90: Do not create signaling NaNs. - * gfortran.dg/ieee/signaling_2.f90: New test. - * gfortran.dg/ieee/signaling_2_c.c: New file. - -2022-01-16 Jonathan Wakely <jwakely@redhat.com> - - PR testsuite/104037 - * g++.old-deja/g++.robertl/eb43.C: Ad -Wno-deprecated. - -2022-01-16 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/103789 - PR fortran/87711 - PR fortran/97896 - * gfortran.dg/index_5.f90: Enrich test with usages of INDEX with - a non-keyword KIND argument. - * gfortran.dg/len_trim.f90: Same for LEN_TRIM. - * gfortran.dg/maskl_1.f90: Same for MASKL. - * gfortran.dg/maskr_1.f90: Same for MASKR. - * gfortran.dg/scan_3.f90: Same for SCAN. - * gfortran.dg/verify_3.f90: Same for VERIFY. - -2022-01-16 wwwhhhyyy <hongyu.wang@intel.com> - - * gcc.target/i386/avx2-dest-false-dep-for-glc.c: New test. - * gcc.target/i386/avx512dq-dest-false-dep-for-glc.c: Ditto. - * gcc.target/i386/avx512f-dest-false-dep-for-glc.c: Ditto. - * gcc.target/i386/avx512fp16-dest-false-dep-for-glc.c: Ditto. - * gcc.target/i386/avx512fp16vl-dest-false-dep-for-glc.c: Ditto. - * gcc.target/i386/avx512vl-dest-false-dep-for-glc.c: Ditto. - -2022-01-15 Martin Sebor <msebor@redhat.com> - - PR c/63272 - * g++.dg/warn/Wfree-nonheap-object-6.C: Disable valid warnings. - * g++.dg/warn/ref-temp1.C: Prune expected warning. - * gcc.dg/uninit-pr50476.c: Expect a new warning. - * c-c++-common/Wdangling-pointer-2.c: New test. - * c-c++-common/Wdangling-pointer-3.c: New test. - * c-c++-common/Wdangling-pointer-4.c: New test. - * c-c++-common/Wdangling-pointer-5.c: New test. - * c-c++-common/Wdangling-pointer-6.c: New test. - * c-c++-common/Wdangling-pointer.c: New test. - * g++.dg/warn/Wdangling-pointer-2.C: New test. - * g++.dg/warn/Wdangling-pointer.C: New test. - * gcc.dg/Wdangling-pointer-2.c: New test. - * gcc.dg/Wdangling-pointer.c: New test. - -2022-01-15 Martin Sebor <msebor@redhat.com> - - PR tree-optimization/80532 - * gcc.dg/Wmismatched-dealloc-2.c: Avoid -Wuse-after-free. - * gcc.dg/Wmismatched-dealloc-3.c: Same. - * gcc.dg/analyzer/file-1.c: Prune expected warning. - * gcc.dg/analyzer/file-2.c: Same. - * gcc.dg/attr-alloc_size-6.c: Disable -Wuse-after-free. - * gcc.dg/attr-alloc_size-7.c: Same. - * c-c++-common/Wuse-after-free-2.c: New test. - * c-c++-common/Wuse-after-free-3.c: New test. - * c-c++-common/Wuse-after-free-4.c: New test. - * c-c++-common/Wuse-after-free-5.c: New test. - * c-c++-common/Wuse-after-free-6.c: New test. - * c-c++-common/Wuse-after-free-7.c: New test. - * c-c++-common/Wuse-after-free.c: New test. - * g++.dg/warn/Wmismatched-dealloc-3.C: New test. - * g++.dg/warn/Wuse-after-free.C: New test. - -2022-01-15 Harald Anlauf <anlauf@gmx.de> - - PR fortran/83079 - * gfortran.dg/transfer_char_kind4.f90: New test. - -2022-01-14 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/taint-merger.c: New test. - -2022-01-14 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/104029 - * gcc.dg/analyzer/pr104029.c: New test. - * gcc.dg/analyzer/taint-ops.c: New test. - -2022-01-14 Harald Anlauf <anlauf@gmx.de> - - PR fortran/99256 - * gfortran.dg/altreturn_11.f90: New test. - -2022-01-14 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/lto25.adb: New test. - * gnat.dg/opt96.adb: Likewise. - * gnat.dg/opt96_pkg.ads, gnat.dg/opt96_pkg.adb: New helper. - -2022-01-14 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103782 - * gfortran.dg/overload_4.f90: New test. - -2022-01-14 Martin Sebor <msebor@redhat.com> - - PR middle-end/101475 - * gcc.dg/Wstringop-overflow-15.c: Remove xfails. - * gcc.dg/Wstringop-overflow-68.c: Adjust, remove xfails. - * gcc.dg/Wstringop-overflow-88.c: New test. - -2022-01-14 Martin Sebor <msebor@redhat.com> - - * gcc.dg/tree-ssa/builtin-sprintf-warn-28.c: New test. - -2022-01-14 Martin Liska <mliska@suse.cz> - - * c-c++-common/Walloca-larger-than.c: Fix typo. - -2022-01-14 Martin Liska <mliska@suse.cz> - - * g++.dg/cpp0x/pr56868.cpp: Moved to... - * g++.dg/cpp0x/pr56868.C: ...here. - * gcc.dg/torture/pr57993-2.cpp: Moved to... - * g++.dg/torture/pr57993-2.C: ...here. - -2022-01-14 Martin Liska <mliska@suse.cz> - - * c-c++-common/Walloca-larger-than.C: Moved to... - * c-c++-common/Walloca-larger-than.c: ...here. - -2022-01-14 Chung-Lin Tang <cltang@codesourcery.com> - - PR c++/103705 - * c-c++-common/gomp/pr103705.c: New test. - -2022-01-14 Martin Liska <mliska@suse.cz> - - * g++.dg/vect/pr99149.cc: Remove executable mode. - * g++.dg/vect/pr99220.cc: Likewise. - * g++.target/i386/avx512vl-pr100738-1.C: Likewise. - * g++.target/i386/pr100738-1.C: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/bfdot-3.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vdot-3-3.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vdot-3-4.c: Likewise. - * gcc.target/i386/pr101796-1.c: Likewise. - * gcc.target/i386/pr94790-1.c: Likewise. - * gcc.target/i386/pr94790-2.c: Likewise. - * gcc.target/powerpc/mma-double-test.c: Likewise. - * gcc.target/powerpc/mma-single-test.c: Likewise. - * gdc.test/fail_compilation/constraints_aggr.d: Likewise. - * gdc.test/fail_compilation/constraints_defs.d: Likewise. - * gdc.test/fail_compilation/constraints_func1.d: Likewise. - * gdc.test/fail_compilation/constraints_func2.d: Likewise. - * gdc.test/fail_compilation/constraints_func3.d: Likewise. - * gdc.test/fail_compilation/constraints_func4.d: Likewise. - * gdc.test/fail_compilation/constraints_tmpl.d: Likewise. - * gdc.test/fail_compilation/imports/constraints.d: Likewise. - -2022-01-14 Jakub Jelinek <jakub@redhat.com> - - PR c++/103991 - * g++.dg/warn/Wreturn-type-13.C: New test. - -2022-01-14 Jakub Jelinek <jakub@redhat.com> - - PR c++/89074 - * g++.dg/cpp1y/constexpr-89074-1.C: New test. - -2022-01-14 Jakub Jelinek <jakub@redhat.com> - - PR target/98737 - * gcc.dg/tree-ssa/pr98737-1.c: New test. - * gcc.dg/tree-ssa/pr98737-2.c: New test. - -2022-01-14 Claudiu Zissulescu <claziss@synopsys.com> - - * gcc.target/arc/cancel-1.c: New file. - -2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR tree-optimization/104009 - * gcc.dg/builtin-object-size-1.c (test10): New test. - * gcc.dg/builtin-object-size-3.c (test10): Likewise. - (test9): Expect zero size for negative offsets. - * gcc.dg/builtin-object-size-4.c (test8): Likewise. - * gcc.dg/builtin-object-size-5.c (test7): Drop test for - __builtin_object_size. - -2022-01-14 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr104001.c: New test. - -2022-01-14 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/attr-tainted_args-1.c: New test. - * gcc.dg/analyzer/attr-tainted_args-misuses.c: New test. - * gcc.dg/analyzer/taint-CVE-2011-2210-1.c: New test. - * gcc.dg/analyzer/taint-CVE-2020-13143-1.c: New test. - * gcc.dg/analyzer/taint-CVE-2020-13143-2.c: New test. - * gcc.dg/analyzer/taint-CVE-2020-13143.h: New test. - * gcc.dg/analyzer/taint-alloc-3.c: New test. - * gcc.dg/analyzer/taint-alloc-4.c: New test. - * gcc.dg/analyzer/test-uaccess.h: New test. - -2022-01-13 Anthony Sharp <anthonysharp15@gmail.com> - Jason Merrill <jason@redhat.com> - - PR c++/70417 - * g++.dg/cpp0x/variadic-mem_fn2.C: Catch warning about missing - template keyword. - * g++.dg/template/dependent-name17.C: New test. - * g++.dg/template/dependent-name18.C: New test. - -2022-01-13 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103861 - * gcc.target/i386/pr103861.c (shl,ashr,lshr): New tests. - -2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com> - - * gfortran.dg/gomp/allocate-1.f90: New test. - * gfortran.dg/gomp/allocate-2.f90: New test. - * gfortran.dg/gomp/allocate-3.f90: New test. - * gfortran.dg/gomp/collapse1.f90: Update error message. - * gfortran.dg/gomp/openmp-simd-4.f90: Likewise. - * gfortran.dg/gomp/clauses-1.f90: Uncomment allocate clause. - -2022-01-13 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/83072 - PR tree-optimization/83073 - PR tree-optimization/97909 - * gcc.dg/pr83072-2.c: New. - * gcc.dg/pr83073.c: New. - -2022-01-13 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/96707 - * g++.dg/pr96707.C: New. - -2022-01-13 Harald Anlauf <anlauf@gmx.de> - - PR fortran/67804 - * gfortran.dg/pr93604.f90: Adjust to changed diagnostics. - * gfortran.dg/pr67804.f90: New test. - -2022-01-13 Uroš Bizjak <ubizjak@gmail.com> - - PR target/104003 - * g++.target/i386/pr103861-1-sse4.C: New test. - * g++.target/i386/pr103861-1-xop.C: Ditto. - -2022-01-13 Paul A. Clarke <pc@us.ibm.com> - - * gcc.target/powerpc/sse4_1-round3.h: New. - * gcc.target/powerpc/sse4_1-roundpd.c: New. - * gcc.target/powerpc/sse4_1-roundps.c: New. - * gcc.target/powerpc/sse4_1-roundsd.c: New. - * gcc.target/powerpc/sse4_1-roundss.c: New. - -2022-01-13 Richard Biener <rguenther@suse.de> - - PR c/104002 - * c-c++-common/builtin-shufflevector-3.c: Move ... - * c-c++-common/torture/builtin-shufflevector-3.c: ... here. - -2022-01-13 Thomas Schwinge <thomas@codesourcery.com> - - * c-c++-common/goacc/routine-6.c: Merge into... - * c-c++-common/goacc/routine-5.c: ... this, and document current - C/C++ difference. - -2022-01-13 Thomas Schwinge <thomas@codesourcery.com> - - * c-c++-common/goacc/builtin-goacc-parlevel-id-size.c: Document - current '-Wuninitialized' diagnostics. - * c-c++-common/goacc/mdc-1.c: Likewise. - * c-c++-common/goacc/nested-reductions-1-kernels.c: Likewise. - * c-c++-common/goacc/nested-reductions-1-parallel.c: Likewise. - * c-c++-common/goacc/nested-reductions-1-routine.c: Likewise. - * c-c++-common/goacc/nested-reductions-2-kernels.c: Likewise. - * c-c++-common/goacc/nested-reductions-2-parallel.c: Likewise. - * c-c++-common/goacc/nested-reductions-2-routine.c: Likewise. - * c-c++-common/goacc/uninit-dim-clause.c: Likewise. - * c-c++-common/goacc/uninit-firstprivate-clause.c: Likewise. - * c-c++-common/goacc/uninit-if-clause.c: Likewise. - * gfortran.dg/goacc/array-with-dt-1.f90: Likewise. - * gfortran.dg/goacc/array-with-dt-2.f90: Likewise. - * gfortran.dg/goacc/array-with-dt-3.f90: Likewise. - * gfortran.dg/goacc/array-with-dt-4.f90: Likewise. - * gfortran.dg/goacc/array-with-dt-5.f90: Likewise. - * gfortran.dg/goacc/derived-chartypes-1.f90: Likewise. - * gfortran.dg/goacc/derived-chartypes-2.f90: Likewise. - * gfortran.dg/goacc/derived-chartypes-3.f90: Likewise. - * gfortran.dg/goacc/derived-chartypes-4.f90: Likewise. - * gfortran.dg/goacc/derived-classtypes-1.f95: Likewise. - * gfortran.dg/goacc/derived-types-2.f90: Likewise. - * gfortran.dg/goacc/host_data-tree.f95: Likewise. - * gfortran.dg/goacc/kernels-tree.f95: Likewise. - * gfortran.dg/goacc/modules.f95: Likewise. - * gfortran.dg/goacc/nested-reductions-1-kernels.f90: Likewise. - * gfortran.dg/goacc/nested-reductions-1-parallel.f90: Likewise. - * gfortran.dg/goacc/nested-reductions-1-routine.f90: Likewise. - * gfortran.dg/goacc/nested-reductions-2-kernels.f90: Likewise. - * gfortran.dg/goacc/nested-reductions-2-parallel.f90: Likewise. - * gfortran.dg/goacc/nested-reductions-2-routine.f90: Likewise. - * gfortran.dg/goacc/parallel-tree.f95: Likewise. - * gfortran.dg/goacc/pr93464.f90: Likewise. - * gfortran.dg/goacc/privatization-1-compute-loop.f90: Likewise. - * gfortran.dg/goacc/privatization-1-compute.f90: Likewise. - * gfortran.dg/goacc/privatization-1-routine_gang-loop.f90: - Likewise. - * gfortran.dg/goacc/privatization-1-routine_gang.f90: Likewise. - * gfortran.dg/goacc/uninit-dim-clause.f95: Likewise. - * gfortran.dg/goacc/uninit-firstprivate-clause.f95: Likewise. - * gfortran.dg/goacc/uninit-if-clause.f95: Likewise. - * gfortran.dg/goacc/uninit-use-device-clause.f95: Likewise. - * gfortran.dg/goacc/wait.f90: Likewise. - -2022-01-13 Thomas Schwinge <thomas@codesourcery.com> - - PR middle-end/100280 - * c-c++-common/goacc/kernels-decompose-pr100280-1.c: New. - * c-c++-common/goacc/classify-kernels-parloops.c: Likewise. - * c-c++-common/goacc/classify-kernels-unparallelized-parloops.c: - Likewise. - * c-c++-common/goacc/classify-kernels-unparallelized.c: Test - '--param openacc-kernels=decompose'. - * c-c++-common/goacc/classify-kernels.c: Likewise. - * c-c++-common/goacc/kernels-decompose-2.c: Update. - * c-c++-common/goacc/kernels-decompose-ice-1.c: Remove. - * c-c++-common/goacc/kernels-decompose-ice-2.c: Likewise. - * gfortran.dg/goacc/classify-kernels-parloops.f95: New. - * gfortran.dg/goacc/classify-kernels-unparallelized-parloops.f95: - Likewise. - * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Test - '--param openacc-kernels=decompose'. - * gfortran.dg/goacc/classify-kernels.f95: Likewise. - -2022-01-13 Thomas Schwinge <thomas@codesourcery.com> - - * c-c++-common/goacc/kernels-decompose-1.c: Enhance. - * c-c++-common/goacc/kernels-decompose-2.c: Likewise. - * c-c++-common/goacc/kernels-decompose-ice-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-ice-2.c: Likewise. - * gfortran.dg/goacc/kernels-decompose-1.f95: Likewise. - * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise. - -2022-01-13 Haochen Jiang <haochen.jiang@intel.com> - - PR target/94790 - * gcc.target/i386/pr94790-1.c: New test. - * gcc.target/i386/pr94790-2.c: Ditto. - -2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com> - - * gcc.target/powerpc/sldoi_to_mov.c: New test. - -2022-01-12 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103941 - * gcc.target/i386/pr103861-3.c (dg-options): Add -fno-vect-cost-model. - -2022-01-12 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103935 - * g++.dg/vect/slp-pr98855.cc: Compile only for x86 targets. - -2022-01-12 Uroš Bizjak <ubizjak@gmail.com> - - PR target/100637 - PR target/103861 - * g++.target/i386/pr100637-1b.C (dg-options): - Use -msse2 instead of -msse4.1. - * g++.target/i386/pr100637-1w.C (dg-options): Ditto. - * g++.target/i386/pr103861-1.C (dg-options): Ditto. - * gcc.target/i386/pr100637-4b.c (dg-options): Ditto. - * gcc.target/i386/pr103861-4.c (dg-options): Ditto. - * gcc.target/i386/pr100637-1b.c: Remove scan-assembler - directives for logic instructions. - * gcc.target/i386/pr100637-1w.c: Ditto. - * gcc.target/i386/warn-vect-op-2.c: - Update dg-warning for vector logic operation. - -2022-01-12 Michael Meissner <meissner@the-meissners.org> - - PR testsuite/102935 - * gcc.target/powerpc/pr101384-1.c: Update insn regexp for power9 - and power10. - -2022-01-12 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/83541 - * g++.dg/pr83541.C: New. - -2022-01-12 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/103940 - * gcc.dg/analyzer/taint-size-access-attr-1.c: New test. - -2022-01-12 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/atomic-exchange-1.c: New test. - * gcc.target/nvptx/atomic-exchange-2.c: New test. - * gcc.target/nvptx/atomic-exchange-3.c: New test. - * gcc.target/nvptx/atomic-exchange-4.c: New test. - -2022-01-12 Tom de Vries <tdevries@suse.de> - - * gcc.target/nvptx/atomic_fetch-1.c: Rewrite. - * gcc.target/nvptx/atomic_fetch-2.c: Rewrite. - -2022-01-12 Francois-Xavier Coudert <fxcoudert@gmail.com> - - * gfortran.dg/ieee/signaling_1.f90: Fix comment. - -2022-01-12 Francois-Xavier Coudert <fxcoudert@gmail.com> - - * gfortran.dg/ieee/signaling_1.f90: Adjust flags. - -2022-01-12 Jakub Jelinek <jakub@redhat.com> - Jason Merrill <jason@redhat.com> - - PR c++/103480 - * g++.dg/warn/Wuseless-cast2.C: New test. - -2022-01-12 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/101530 - * c-c++-common/builtin-shufflevector-3.c: Add -Wno-psabi to - dg-options. - -2022-01-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/76174 - * gcc.dg/tree-ssa/pr76174.c: New testcase. - -2022-01-11 qing zhao <qing.zhao@oracle.com> - - * c-c++-common/auto-init-1.c: Adjust testcase to reflect the 3rd - argument change of function .DEFERRED_INIT. - * c-c++-common/auto-init-10.c: Likewise. - * c-c++-common/auto-init-11.c: Likewise. - * c-c++-common/auto-init-12.c: Likewise. - * c-c++-common/auto-init-13.c: Likewise. - * c-c++-common/auto-init-14.c: Likewise. - * c-c++-common/auto-init-15.c: Likewise. - * c-c++-common/auto-init-16.c: Likewise. - * c-c++-common/auto-init-2.c: Likewise. - * c-c++-common/auto-init-3.c: Likewise. - * c-c++-common/auto-init-4.c: Likewise. - * c-c++-common/auto-init-5.c: Likewise. - * c-c++-common/auto-init-6.c: Likewise. - * c-c++-common/auto-init-7.c: Likewise. - * c-c++-common/auto-init-8.c: Likewise. - * c-c++-common/auto-init-9.c: Likewise. - * c-c++-common/auto-init-esra.c: Likewise. - * c-c++-common/auto-init-padding-1.c: Likewise. - * gcc.target/aarch64/auto-init-2.c: Likewise. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - * gfortran.dg/pr47614.f: Don't use -mcpu=power4 for - powerpc64le*-*-linux*. - -2022-01-11 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103861 - * g++.target/i386/pr100637-1b.C (dg-options): - Use -msse4 instead of -msse2. - * g++.target/i386/pr100637-1w.C (dg-options): Ditto. - * g++.target/i386/pr103861-1.C: New test. - * gcc.target/i386/pr100637-4b.c (dg-options): - Use -msse4 instead of -msse2. - * gcc.target/i386/pr103861-4.c: New test. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - PR c++/101597 - * g++.dg/opt/pr101597.C: New test. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - PR c/101537 - PR c/103881 - * c-c++-common/pr101537.c: New test. - * c-c++-common/pr103881.c: New test. - -2022-01-11 Patrick Palka <ppalka@redhat.com> - - PR c++/103831 - * g++.dg/cpp2a/concepts-class3.C: New test. - * g++.dg/template/non-dependent18.C: New test. - -2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR middle-end/70090 - * gcc.dg/builtin-dynamic-object-size-0.c: Add new tests. - * gcc.dg/builtin-object-size-1.c (test1) - [__builtin_object_size]: Adjust expected output for dynamic - object sizes. - * gcc.dg/builtin-object-size-2.c (test1) - [__builtin_object_size]: Likewise. - * gcc.dg/builtin-object-size-3.c (test1) - [__builtin_object_size]: Likewise. - * gcc.dg/builtin-object-size-4.c (test1) - [__builtin_object_size]: Likewise. - -2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR middle-end/70090 - * gcc.dg/builtin-dynamic-object-size-0.c: Add new tests. - * gcc.dg/builtin-object-size-1.c (test1) - [__builtin_object_size]: Alter expected result for dynamic - object size. - * gcc.dg/builtin-object-size-2.c (test1) - [__builtin_object_size]: Likewise. - * gcc.dg/builtin-object-size-3.c (test1) - [__builtin_object_size]: Likewise. - * gcc.dg/builtin-object-size-4.c (test1) - [__builtin_object_size]: Likewise. - -2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR middle-end/70090 - * gcc.dg/builtin-dynamic-object-size-0.c (test_parmsz_simple, - test_parmsz_scaled, test_parmsz_unknown): New functions. - (main): Call them. Add new arguments argc and argv. - -2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR middle-end/70090 - * gcc.dg/builtin-dynamic-object-size-0.c: New tests. - * gcc.dg/builtin-dynamic-object-size-10.c: Add comment. - * gcc.dg/builtin-dynamic-object-size-5-main.c: New file. - * gcc.dg/builtin-dynamic-object-size-5.c: Use it and change test - to dg-do run. - * gcc.dg/builtin-object-size-5.c [!N]: Define N. - (test1, test2, test3, test4) [__builtin_object_size]: Expect - exact result for __builtin_dynamic_object_size. - * gcc.dg/builtin-object-size-1.c [__builtin_object_size]: Expect - exact size expressions for __builtin_dynamic_object_size. - * gcc.dg/builtin-object-size-2.c [__builtin_object_size]: - Likewise. - * gcc.dg/builtin-object-size-3.c [__builtin_object_size]: - Likewise. - * gcc.dg/builtin-object-size-4.c [__builtin_object_size]: - Likewise. - -2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> - Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/103961 - * gcc.dg/pr103961.c: New test case. - -2022-01-11 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/102692 - * gcc.dg/analyzer/pr102692.c: New test. - -2022-01-11 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - * gcc.target/i386/mult-highpart.c: New test case. - -2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com> - - PR target/102239 - * gcc.target/powerpc/pr102239.c: New test. - -2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com> - - PR testsuite/103820 - * gcc.dg/tree-ssa/recip-3.c: Adjust. - -2022-01-11 Haochen Jiang <haochen.jiang@intel.com> - - PR target/53652 - * gcc.target/i386/pr53652-1.c: New test. - -2022-01-10 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103861 - * gcc.target/i386/pr103861-2.c: New test. - -2022-01-10 Patrick Palka <ppalka@redhat.com> - - PR c++/103879 - * g++.dg/cpp1y/constexpr-base2.C: New test. - * g++.dg/cpp1y/constexpr-base2a.C: New test. - -2022-01-10 Patrick Palka <ppalka@redhat.com> - - PR c++/103783 - * g++.dg/cpp2a/concepts-memfun2.C: New test. - -2022-01-10 Jakub Jelinek <jakub@redhat.com> - - PR c++/103912 - * g++.dg/cpp2a/consteval26.C: New test. - -2022-01-10 Paul A. Clarke <pc@us.ibm.com> - - * gcc.target/powerpc/sse4_1-blendvps.c: Copy from gcc.target/i386, - adjust dg directives to suit. - -2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.target/aarch64/masked_epilogue.c: New test. - -2022-01-10 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/103366 - * gfortran.dg/pr103366.f90: New test. - -2022-01-10 Jakub Jelinek <jakub@redhat.com> - - PR target/102024 - * gcc.target/i386/pr102024.c: New test. - * g++.target/i386/pr102024.C: New test. - -2022-01-10 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/reg-alloc-4.c: New test. - -2022-01-10 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/reg-alloc-3.c: New test. - -2022-01-10 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/reg-alloc-2.c: New test. - -2022-01-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - PR fortran/82207 - * gfortran.dg/ieee/signaling_1.f90: New test. - * gfortran.dg/ieee/signaling_1_c.c: New file. - -2022-01-10 Richard Biener <rguenther@suse.de> - - PR middle-end/101530 - * c-c++-common/builtin-shufflevector-3.c: New testcase. - -2022-01-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/100359 - * gcc.dg/tree-ssa/pr100359.c: New testcase. - -2022-01-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103777 - * gfortran.dg/masklr_3.f90: New test. - -2022-01-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/101762 - * gfortran.dg/pr101762.f90: New test. - -2022-01-09 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/103789 - * gfortran.dg/maskl_1.f90: New test. - * gfortran.dg/maskr_1.f90: New test. - * gfortran.dg/scan_3.f90: New test. - * gfortran.dg/verify_3.f90: New test. - -2022-01-09 Sandra Loosemore <sandra@codesourcery.com> - - * g++.dg/cpp0x/constexpr-compare1.C: Add explicit - -fdelete-null-pointer-checks option. - * g++.dg/cpp0x/constexpr-compare2.C: Likewise. - * g++.dg/cpp0x/constexpr-typeid2.C: Likewise. - * g++.dg/cpp1y/constexpr-94716.C: Likewise. - * g++.dg/cpp1z/constexpr-compare1.C: Likewise. - * g++.dg/cpp1z/constexpr-if36.C: Likewise. - * gcc.dg/init-compare-1.c: Likewise. - -2022-01-08 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/sse2-v1ti-mov-1.c: New test case. - * gcc.target/i386/sse2-v1ti-zext.c: New test case. - -2022-01-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/89074 - * g++.dg/cpp1y/constexpr-89074-2.C: New test. - * g++.dg/cpp1z/constexpr-89074-1.C: New test. - -2022-01-08 Jason Merrill <jason@redhat.com> - - PR c++/103946 - * g++.dg/cpp0x/nsdmi-array1.C: New test. - -2022-01-08 Jason Merrill <jason@redhat.com> - - PR c++/100588 - * g++.dg/cpp2a/destroying-delete5.C: Expect warning. - * g++.dg/cpp2a/destroying-delete6.C: New test. - -2022-01-08 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/analyzer-decls.h (__analyzer_dump_escaped): New - decl. - * gcc.dg/analyzer/escaping-1.c: New test. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/20040 - * g++.dg/init/delete4.C: New test. - -2022-01-07 Andrew Pinski <apinski@marvell.com> - - PR target/102941 - * gcc.target/aarch64/asm-flag-7.c: New test. - * gcc.target/arm/asm-flag-7.c: New test. - -2022-01-07 Piotr Trojanek <trojanek@adacore.com> - - * gnat.dg/aggr26.adb: Update expected error message. - -2022-01-07 liuhongt <hongtao.liu@intel.com> - - * g++.target/i386/pr103750-fwprop-1.C: New test. - -2022-01-07 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/nvptx/cnot-1.c: New test case. - -2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org> - - * gcc.target/powerpc/mffscrni_p9.c: New testcase for mffscrni. - * gcc.target/powerpc/test_fpscr_rn_builtin.c: Test mffscrn and mffscrni - separately. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/103936 - PR c++/65591 - * g++.dg/init/aggr15.C: New test. - -2022-01-07 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr103774.c: New test. - * gcc.target/i386/avx512bw-vpcmpequb-1.c: Adjust scan assembler - from vpcmpub to (?:vpcmpub|vpcmpeqb). - * gcc.target/i386/avx512bw-vpcmpequw-1.c: Ditto. - * gcc.target/i386/avx512bw-vpcmpub-1.c: Ditto. - * gcc.target/i386/avx512bw-vpcmpuw-1.c: Ditto. - * gcc.target/i386/avx512f-vpcmpequd-1.c: Ditto. - * gcc.target/i386/avx512f-vpcmpequq-1.c: Ditto. - * gcc.target/i386/avx512f-vpcmpud-1.c: Ditto. - * gcc.target/i386/avx512vl-vpcmpequd-1.c: Ditto. - * gcc.target/i386/avx512vl-vpcmpequq-1.c: Ditto. - * gcc.target/i386/avx512vl-vpcmpuq-1.c: Ditto. - -2022-01-07 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr103753.c: New test. - -2022-01-07 Sandra Loosemore <sandra@codesourcery.com> - - PR fortran/103898 - * gfortran.dg/pr103898.f90: New test. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/103711 - * g++.dg/eh/delegating1.C: New test. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/61611 - * g++.dg/eh/ctor-fntry1.C: New test. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/33799 - PR c++/102191 - * g++.dg/eh/return1.C: Add temporary in try block case. - * g++.dg/cpp2a/constexpr-dtor11.C: New test. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/53868 - * g++.dg/eh/ref-temp1.C: New test. - * g++.dg/eh/ref-temp2.C: New test. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/66451 - * g++.dg/eh/array3.C: New test. - * g++.dg/eh/array1.C: Mark destructor as throw(). - * g++.dg/ipa/devirt-40.C: Likewise. - * g++.dg/warn/pr83054.C: Likewise. - * g++.dg/eh/delete1.C: Shorten array to one element. - -2022-01-07 Jason Merrill <jason@redhat.com> - - * g++.dg/tree-ssa/aggregate1.C: New test. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/66139 - PR c++/52320 - * g++.dg/cpp0x/initlist116.C: New test. - * g++.dg/cpp0x/initlist117.C: New test. - * g++.dg/cpp0x/lambda/lambda-eh.C: New test. - * g++.dg/eh/aggregate1.C: New test. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/94041 - * g++.dg/init/array12.C: - * g++.dg/init/aggr7-eh2.C: New test. - * g++.dg/init/aggr7-eh3.C: New test. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/94041 - * g++.dg/init/aggr7-eh.C: New test. - * g++.dg/cpp0x/initlist122.C: Also test aggregate variable. - -2022-01-07 Jason Merrill <jason@redhat.com> - - PR c++/92385 - * g++.dg/init/array61.C: New test. - -2022-01-07 Jason Merrill <jason@redhat.com> - - * g++.old-deja/g++.martin/new1.C: Don't expect preeval. - * g++.dg/tree-ssa/stabilize1.C: Removed. - -2022-01-06 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/103546 - * gcc.dg/analyzer/aliasing-3.c: New test. - -2022-01-06 Steve Kargl <kargl@gcc.gnu.org> - Sandra Loosemore <sandra@codesourcery.com> - - PR fortran/103287 - * gfortran.dg/c-interop/pr103287-1.f90: new. - * gfortran.dg/c-interop/pr103287-2.f90: new. - -2022-01-06 H.J. Lu <hjl.tools@gmail.com> - - PR target/103925 - * gcc.target/i386/harden-sls-6.c: New test. - -2022-01-06 Uroš Bizjak <ubizjak@gmail.com> - - * gcc.target/i386/pr102811-2.c (dg-final): - Update scan-assembler-times directives. - * gcc.target/i386/sse2-float16-2.c (dg-final): - Update scan-assembler directives. - -2022-01-06 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/predef-14.c: New. - * gcc.target/riscv/predef-15.c: Ditto. - * gcc.target/riscv/predef-16.c: Ditto. - -2022-01-06 Patrick Palka <ppalka@redhat.com> - - PR c++/69681 - * g++.dg/cpp0x/constexpr-compare2.C: New test. - -2022-01-06 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/103908 - * gcc.target/i386/pr103908.c: New test. - -2022-01-06 Marek Polacek <polacek@redhat.com> - - PR c++/103758 - * gcc.dg/sso-6.c: Update dg-warning. - -2022-01-05 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103861 - * gcc.target/i386/pr103861-3.c: New test. - * g++.dg/vect/slp-pr98855.cc (dg-final): Check that - no vectorization using SLP was performed. - -2022-01-05 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103915 - * gcc.target/i386/pr103915.c: New test. - -2022-01-05 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103905 - * gcc.target/i386/pr103905.c: New test. - -2022-01-05 Sandra Loosemore <sandra@codesourcery.com> - - PR fortran/103258 - * gfortran.dg/pr103258.f90: New. - -2022-01-05 Nathan Sidwell <nathan@acm.org> - - * g++.dg/template/attr-used.C: New. - -2022-01-05 Nathan Sidwell <nathan@acm.org> - - * g++.dg/diagnostic/recur-align.C: New. - -2022-01-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103816 - * gcc.dg/torture/pr103816.c: New testcase. - -2022-01-05 Jakub Jelinek <jakub@redhat.com> - - PR fortran/103691 - * gfortran.dg/pr103691.f90: New test. - -2022-01-05 Jakub Jelinek <jakub@redhat.com> - - PR target/103895 - * gcc.target/i386/pr103895.c: Add -msse2 to dg-options. - -2022-01-05 Kewen Lin <linkw@linux.ibm.com> - - PR ipa/102059 - * gcc.dg/lto/pr102059-1_0.c: New test. - * gcc.dg/lto/pr102059-1_1.c: New test. - * gcc.dg/lto/pr102059-1_2.c: New test. - * gcc.dg/lto/pr102059-2_0.c: New test. - * gcc.dg/lto/pr102059-2_1.c: New test. - * gcc.dg/lto/pr102059-2_2.c: New test. - * gcc.target/powerpc/pr102059-1.c: New test. - * gcc.target/powerpc/pr102059-2.c: New test. - * gcc.target/powerpc/pr102059-3.c: New test. - -2022-01-04 Martin Sebor <msebor@redhat.com> - - PR middle-end/99612 - * c-c++-common/pr83059.c: Adjust text of expected diagnostics. - * gcc.dg/atomic-invalid-2.c: Same. - * gcc.dg/atomic-invalid.c: Same. - * c-c++-common/Winvalid-memory-model.c: New test. - * g++.dg/warn/Winvalid-memory-model-2.C: New test. - * g++.dg/warn/Winvalid-memory-model.C: New test. - -2022-01-04 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103861 - * gcc.target/i386/warn-vect-op-2.c: Adjust warnings. - * gcc.target/i386/pr103900.c: New test. - -2022-01-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103800 - * gcc.dg/vect/bb-slp-pr103800.c: New testcase. - -2022-01-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103864 - PR tree-optimization/103544 - * gcc.dg/vect/pr103864.c: New testcase. - -2022-01-04 Chung-Lin Tang <cltang@codesourcery.com> - - * gfortran.dg/gomp/pr103643.f90: New test. - -2022-01-04 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr103895.c: New test. - -2022-01-04 Andrew Pinski <apinski@marvell.com> - - PR c++/90782 - * g++.dg/cpp1z/class-deduction100.C: New test. - -2022-01-03 Marek Polacek <polacek@redhat.com> - - PR c++/103758 - * g++.dg/cpp0x/constexpr-condition.C: Adjust dg-error. - -2022-01-03 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103894 - * gcc.target/i386/pr103894.c: New test. - -2022-01-03 Sandra Loosemore <sandra@codesourcery.com> - - PR fortran/103390 - * gfortran.dg/c-interop/pr103390-1.f90: New. - * gfortran.dg/c-interop/pr103390-2.f90: New. - * gfortran.dg/c-interop/pr103390-3.f90: New. - * gfortran.dg/c-interop/pr103390-4.f90: New. - * gfortran.dg/c-interop/pr103390-6.f90: New. - * gfortran.dg/c-interop/pr103390-7.f90: New. - * gfortran.dg/c-interop/pr103390-8.f90: New. - * gfortran.dg/c-interop/pr103390-9.f90: New. - * gfortran.dg/c-interop/pr103390-5.f90: New file. - -2022-01-03 Jakub Jelinek <jakub@redhat.com> - - PR target/98737 - * gcc.target/i386/pr98737-1.c: New test. - * gcc.target/i386/pr98737-2.c: New test. - * gcc.target/i386/pr98737-3.c: New test. - * gcc.target/i386/pr98737-4.c: New test. - * gcc.target/i386/pr98737-5.c: New test. - * gcc.target/i386/pr98737-6.c: New test. - * gcc.target/i386/pr98737-7.c: New test. - -2022-01-03 Richard Biener <rguenther@suse.de> - - PR middle-end/103851 - * g++.dg/gomp/pr103851.C: New testcase. - -2022-01-03 Jakub Jelinek <jakub@redhat.com> - - PR c++/94716 - * gcc.dg/init-compare-1.c: New test. - * g++.dg/cpp0x/constexpr-compare1.C: New test. - * g++.dg/cpp1y/constexpr-94716.C: New test. - * g++.dg/cpp1z/constexpr-compare1.C: New test. - -2022-01-03 Martin Liska <mliska@suse.cz> - - * gcc.target/i386/avx2-i32gatherpd256-4.c: Fix ASAN errors. - * gcc.target/i386/avx2-i32gatherq256-4.c: Likewise. - * gcc.target/i386/avx2-i64gatherpd256-4.c: Likewise. - * gcc.target/i386/avx2-i64gatherq256-4.c: Likewise. - * gcc.target/i386/avx2-vpabsb256-2.c: Likewise. - * gcc.target/i386/avx2-vpabsd256-2.c: Likewise. - * gcc.target/i386/avx2-vpabsw256-2.c: Likewise. - * gcc.target/i386/avx256-unaligned-load-7.c: Likewise. - * gcc.target/i386/avx256-unaligned-store-7.c: Likewise. - * gcc.target/i386/pr64291-1.c: Likewise. - -2022-01-03 Martin Liska <mliska@suse.cz> - - * gcc.dg/vect/vect-simd-18.c: Fix ASAN error. - * gcc.dg/vect/vect-simd-19.c: Likewise. - -2022-01-03 Jakub Jelinek <jakub@redhat.com> - - PR c++/103600 - * g++.dg/cpp0x/constexpr-typeid2.C: New test. - -2022-01-03 Richard Biener <rguenther@suse.de> - - PR tree-optimization/66502 - * gcc.dg/tree-ssa/ssa-fre-98.c: New testcase. - -2022-01-03 Richard Biener <rguenther@suse.de> - - PR tree-optimization/103615 - * gcc.dg/torture/pr103615.c: New testcase. - -2022-01-02 Uroš Bizjak <ubizjak@gmail.com> - - PR target/103861 - * gcc.dg/store_merging_18.c (dg-options): Add -fno-tree-vectorize. - * gcc.dg/store_merging_29.c (dg-options): Ditto. - * gcc.target/i386/pr103861.c: New test. - * gcc.target/i386/pr92658-avx512vl.c (dg-final): - Remove vpmovqb scan-assembler xfail. - * gcc.target/i386/pr92658-sse4.c (dg-final): - Remove pmovzxbq scan-assembler xfail. - * gcc.target/i386/pr92658-sse4-2.c (dg-final): - Remove pmovsxbq scan-assembler xfail. - * gcc.target/i386/warn-vect-op-2.c (dg-warning): Adjust warnings. - -2022-01-02 John David Anglin <danglin@gcc.gnu.org> - - * gcc.target/hppa/shadd-2.c: Adjust count to 3. - * gcc.target/hppa/shadd-3.c: Likewise. - -2022-01-02 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/guality/example.c: Skip on hppa*-*-linux*. - -2022-01-02 Jason Merrill <jason@redhat.com> - - * g++.dg/eh/array2.C: New test. - -2022-01-02 Jason Merrill <jason@redhat.com> - - * g++.dg/eh/cleanup6.C: New test. - -2022-01-01 Andrew Pinski <apinski@marvell.com> - - PR rtl-optimization/100241 - PR rtl-optimization/99787 - * gcc.c-torture/compile/pr100241-1.c: New test. - * gcc.c-torture/compile/pr99787-1.c: New test. - -2022-01-01 Jakub Jelinek <jakub@redhat.com> - - * gcc.misc-tests/godump-1.c: Adjust for renaming of last - field from _align suffix to _ suffix. - -2022-01-01 Jakub Jelinek <jakub@redhat.com> - Iain Sandoe <iain@sandoe.co.uk> - - PR objc/103639 - * objc.dg/pr103639.m: New test. - -Copyright (C) 2022 Free Software Foundation, Inc. +Copyright (C) 2023 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-2022 b/gcc/testsuite/ChangeLog-2022 new file mode 100644 index 0000000000000000000000000000000000000000..d9fafccda63f6fd96eea0c5f6dde5ee9c11a5565 --- /dev/null +++ b/gcc/testsuite/ChangeLog-2022 @@ -0,0 +1,21438 @@ +2022-12-30 Martin Uecker <uecker@tugraz.at> + + * gcc.dg/pr103770.c: New test. + * gcc.dg/pr103859.c: New test. + * gcc.dg/pr105065.c: New test. + +2022-12-30 Stam Markianos-Wright <stam.markianos-wright@arm.com> + + PR target/107714 + * gcc.target/arm/mve/intrinsics/vldst24q_reg_offset.c: New test. + +2022-12-30 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/102595 + * gfortran.dg/class_result_4.f90: Update error message check. + * gfortran.dg/pr85779_3.f90: Update error message check. + +2022-12-28 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/ashlti3-1.c: New test case. + +2022-12-28 Martin Liska <mliska@suse.cz> + + PR tree-optimization/108137 + * gcc.dg/tree-ssa/pr108137.c: New test. + +2022-12-27 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + PR target/95632 + PR target/106602 + * gcc.target/riscv/pr95632.c: New test. + * gcc.target/riscv/pr106602.c: New test. + +2022-12-27 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/rvv/vsetvl/riscv_vector.h: New. + +2022-12-27 Kewen Lin <linkw@linux.ibm.com> + Iain Sandoe <iain@sandoe.co.uk> + + PR target/106680 + * gcc.target/powerpc/pr106680-1.c: New test. + * gcc.target/powerpc/pr106680-2.c: New test. + * gcc.target/powerpc/pr106680-3.c: New test. + * gcc.target/powerpc/pr106680-4.c: New test. + +2022-12-26 David Edelsohn <dje.gcc@gmail.com> + + * gcc.dg/analyzer/fd-accept.c: Skip. + * gcc.dg/analyzer/fd-access-mode-target-headers.c: Skip. + * gcc.dg/analyzer/fd-bind.c: Skip. + * gcc.dg/analyzer/fd-connect.c: Skip. + * gcc.dg/analyzer/fd-datagram-socket.c: Skip. + * gcc.dg/analyzer/fd-glibc-datagram-client.c: Skip. + * gcc.dg/analyzer/fd-glibc-datagram-socket.c: Skip. + * gcc.dg/analyzer/fd-listen.c: Skip. + * gcc.dg/analyzer/fd-socket-misuse.c: Skip. + * gcc.dg/analyzer/fd-stream-socket-active-open.c: Skip. + * gcc.dg/analyzer/fd-stream-socket-passive-open.c: Skip. + * gcc.dg/analyzer/fd-stream-socket.c: Skip. + * gcc.dg/analyzer/fd-symbolic-socket.c: Skip. + * gcc.dg/analyzer/flex-with-call-summaries.c: Skip. + * gcc.dg/analyzer/getchar-1.c: Skip. + * gcc.dg/analyzer/isatty-1.c: Skip. + * gcc.dg/analyzer/pr94851-1.c: Skip. + * gcc.dg/analyzer/pragma-2.c: Skip. + +2022-12-25 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + * gcc.target/i386/sse-movss-4.c: New test case. + * gcc.target/i386/sse2-movsd-3.c: New test case. + +2022-12-24 Roger Sayle <roger@nextmovesoftware.com> + + PR target/107548 + * gcc.target/i386/pr107548-1.c: Match both vmovd and movd. + * gcc.target/i386/pr107548-2.c: Match both vpaddq and paddq. + +2022-12-23 Harald Anlauf <anlauf@gmx.de> + + PR fortran/108131 + * gfortran.dg/pr103505.f90: Adjust expected patterns. + * gfortran.dg/pr108131.f90: New test. + +2022-12-23 Patrick Palka <ppalka@redhat.com> + + PR c++/108116 + * g++.dg/cpp0x/nsdmi-template24.C: New test. + +2022-12-23 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/108068 + * gcc.dg/dfp/pr108068.c: New test. + +2022-12-23 Patrick Palka <ppalka@redhat.com> + + PR c++/107853 + * g++.dg/cpp2a/concepts-friend12.C: New test. + * g++.dg/cpp2a/concepts-friend13.C: New test. + +2022-12-23 Roger Sayle <roger@nextmovesoftware.com> + + PR target/107548 + * gcc.target/i386/pr107548-1.c: New test V4SI case. + * gcc.target/i386/pr107548-2.c: New test V2DI case. + +2022-12-23 H.J. Lu <hjl.tools@gmail.com> + Roger Sayle <roger@nextmovesoftware.com> + + PR target/106933 + PR target/106959 + * gcc.target/i386/pr106933-1.c: New test case. + * gcc.target/i386/pr106933-2.c: Likewise. + * gcc.target/i386/pr106959-1.c: Likewise. + * gcc.target/i386/pr106959-2.c: Likewise. + * gcc.target/i386/pr106959-3.c: Likewise. + +2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/base/vle-constraint-1.c: New test. + +2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/base/vsetvl-1.c: Add "__riscv_" prefix. + +2022-12-23 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/106731 + * gfortran.dg/pr106731.f90: New test. + +2022-12-23 Arsen Arsenović <arsen@aarsen.me> + Jonathan Wakely <jwakely@redhat.com> + + * g++.dg/contracts/contracts-access1.C: Convert to new default + violation handler. + * g++.dg/contracts/contracts-assume2.C: Ditto. + * g++.dg/contracts/contracts-config1.C: Ditto. + * g++.dg/contracts/contracts-constexpr1.C: Ditto. + * g++.dg/contracts/contracts-ctor-dtor1.C: Ditto. + * g++.dg/contracts/contracts-deduced2.C: Ditto. + * g++.dg/contracts/contracts-friend1.C: Ditto. + * g++.dg/contracts/contracts-multiline1.C: Ditto. + * g++.dg/contracts/contracts-post3.C: Ditto. + * g++.dg/contracts/contracts-pre10.C: Ditto. + * g++.dg/contracts/contracts-pre2.C: Ditto. + * g++.dg/contracts/contracts-pre2a2.C: Ditto. + * g++.dg/contracts/contracts-pre3.C: Ditto. + * g++.dg/contracts/contracts-pre4.C: Ditto. + * g++.dg/contracts/contracts-pre5.C: Ditto. + * g++.dg/contracts/contracts-pre7.C: Ditto. + * g++.dg/contracts/contracts-pre9.C: Ditto. + * g++.dg/contracts/contracts-redecl3.C: Ditto. + * g++.dg/contracts/contracts-redecl4.C: Ditto. + * g++.dg/contracts/contracts-redecl6.C: Ditto. + * g++.dg/contracts/contracts-redecl7.C: Ditto. + * g++.dg/contracts/contracts-tmpl-spec1.C: Ditto. + * g++.dg/contracts/contracts-tmpl-spec2.C: Ditto. + * g++.dg/contracts/contracts-tmpl-spec3.C: Ditto. + * g++.dg/contracts/contracts10.C: Ditto. + * g++.dg/contracts/contracts14.C: Ditto. + * g++.dg/contracts/contracts15.C: Ditto. + * g++.dg/contracts/contracts16.C: Ditto. + * g++.dg/contracts/contracts17.C: Ditto. + * g++.dg/contracts/contracts19.C: Ditto. + * g++.dg/contracts/contracts25.C: Ditto. + * g++.dg/contracts/contracts3.C: Ditto. + * g++.dg/contracts/contracts35.C: Ditto. + * g++.dg/contracts/contracts5.C: Ditto. + * g++.dg/contracts/contracts7.C: Ditto. + * g++.dg/contracts/contracts9.C: Ditto. + +2022-12-22 Jason Merrill <jason@redhat.com> + + * g++.dg/coroutines/coro.h: #include <stdio.h> instead of + declaring puts/printf. + * g++.dg/coroutines/torture/mid-suspend-destruction-0.C: + #include <stdio.h>. + * g++.dg/coroutines/pr95599.C: Use PRINT instead of puts. + * g++.dg/coroutines/torture/call-00-co-aw-arg.C: + * g++.dg/coroutines/torture/call-01-multiple-co-aw.C: + * g++.dg/coroutines/torture/call-02-temp-co-aw.C: + * g++.dg/coroutines/torture/call-03-temp-ref-co-aw.C: + * g++.dg/coroutines/torture/co-await-00-trivial.C: + * g++.dg/coroutines/torture/co-await-01-with-value.C: + * g++.dg/coroutines/torture/co-await-02-xform.C: + * g++.dg/coroutines/torture/co-await-03-rhs-op.C: + * g++.dg/coroutines/torture/co-await-04-control-flow.C: + * g++.dg/coroutines/torture/co-await-05-loop.C: + * g++.dg/coroutines/torture/co-await-06-ovl.C: + * g++.dg/coroutines/torture/co-await-07-tmpl.C: + * g++.dg/coroutines/torture/co-await-08-cascade.C: + * g++.dg/coroutines/torture/co-await-09-pair.C: + * g++.dg/coroutines/torture/co-await-11-forwarding.C: + * g++.dg/coroutines/torture/co-await-12-operator-2.C: + * g++.dg/coroutines/torture/co-await-13-return-ref.C: + * g++.dg/coroutines/torture/co-await-14-return-ref-to-auto.C: + * g++.dg/coroutines/torture/pr95003.C: Likewise. + +2022-12-22 Harald Anlauf <anlauf@gmx.de> + + PR fortran/69604 + * gfortran.dg/statement_function_4.f90: New test. + +2022-12-22 Richard Biener <rguenther@suse.de> + + PR testsuite/107809 + * gcc.dg/vect/vect-recurr-1.c: Require vect_perm. + * gcc.dg/vect/vect-recurr-2.c: Likewise. + * gcc.dg/vect/vect-recurr-3.c: Likewise. + * gcc.dg/vect/vect-recurr-4.c: Likewise. + * gcc.dg/vect/vect-recurr-5.c: Likewise. + * gcc.dg/vect/vect-recurr-6.c: Likewise. + +2022-12-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/108166 + * g++.dg/torture/pr108166.C: New test. + +2022-12-22 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/108193 + * gfortran.dg/pr108193.f90: New test. + +2022-12-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107451 + * gcc.dg/torture/pr107451.c: New testcase. + +2022-12-21 Jonathan Yong <10walls@gmail.com> + + * gcc.c-torture/compile/pr55569.c: fix excess errors. + +2022-12-21 Andrew Pinski <apinski@marvell.com> + + * gcc.c-torture/compile/vector-shift-1.c: New test. + +2022-12-21 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/read_dir-aux.c: New; provides my_mkdir, my_rmdir, + my_verify_not_exists and expect_open_to_fail. + * gfortran.dg/read_dir.f90: Call those; expect that opening a + directory fails on Windows. + +2022-12-21 Kewen Lin <linkw@linux.ibm.com> + + PR target/106736 + * gcc.target/powerpc/pr106736-1.c: New test. + * gcc.target/powerpc/pr106736-2.c: Likewise. + * gcc.target/powerpc/pr106736-3.c: Likewise. + * gcc.target/powerpc/pr106736-4.c: Likewise. + * gcc.target/powerpc/pr106736-5.c: Likewise. + +2022-12-21 Jason Merrill <jason@redhat.com> + + PR c++/84471 + PR c++/107504 + * g++.dg/tree-ssa/value-expr1.C: New test. + * g++.dg/tree-ssa/value-expr2.C: New test. + * g++.dg/analyzer/pr93212.C: Move warning. + +2022-12-20 Patrick Palka <ppalka@redhat.com> + + PR c++/101886 + * g++.dg/concepts/diagnostic12.C: Adjust expected order of + template parameters within pretty printed parameter mapping. + * g++.dg/concepts/auto6.C: New test. + +2022-12-20 Harald Anlauf <anlauf@gmx.de> + + PR fortran/95375 + * gfortran.dg/bind_c_procs_4.f90: New test. + +2022-12-20 Iain Sandoe <iain@sandoe.co.uk> + + * g++.dg/coroutines/torture/extern-c-coroutine.C: New test. + +2022-12-20 Patrick Palka <ppalka@redhat.com> + + PR c++/103346 + PR c++/104278 + PR c++/102553 + * g++.dg/cpp2a/nontype-class52a.C: New test. + * g++.dg/cpp2a/nontype-class53.C: New test. + * g++.dg/cpp2a/nontype-class54.C: New test. + * g++.dg/cpp2a/nontype-class55.C: New test. + +2022-12-20 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/108139 + * gcc.dg/pr108139.c: New. + +2022-12-20 Jiufu Guo <guojiufu@linux.ibm.com> + + PR target/103743 + * gcc.target/powerpc/pr103743.c: New test. + * gcc.target/powerpc/pr103743_1.c: New test. + +2022-12-19 Patrick Palka <ppalka@redhat.com> + + PR c++/100881 + * g++.dg/cpp2a/srcloc3.C: Adjust expected note s/evaluating/using. + * g++.dg/cpp2a/srcloc4.C: Likewise. + * g++.dg/cpp2a/srcloc5.C: Likewise. + * g++.dg/cpp2a/srcloc6.C: Likewise. + * g++.dg/cpp2a/srcloc7.C: Likewise. + * g++.dg/cpp2a/srcloc8.C: Likewise. + * g++.dg/cpp2a/srcloc9.C: Likewise. + * g++.dg/cpp2a/srcloc10.C: Likewise. + * g++.dg/cpp2a/srcloc11.C: Likewise. + * g++.dg/cpp2a/srcloc12.C: Likewise. + * g++.dg/cpp2a/srcloc13.C: Likewise. + * g++.dg/modules/pr100881_a.C: New test. + * g++.dg/modules/pr100881_b.C: New test. + +2022-12-19 Patrick Palka <ppalka@redhat.com> + + PR c++/101886 + * g++.dg/concepts/auto5.C: New test. + +2022-12-19 Jakub Jelinek <jakub@redhat.com> + + PR c/108043 + * gcc.dg/pr108043.c: New test. + * gcc.dg/c99-complit-2.c (foo): Adjust expected diagnostics for + complit with function type. + +2022-12-19 Marek Polacek <polacek@redhat.com> + + PR c/98487 + * c-c++-common/Wsuggest-attribute-1.c: New test. + +2022-12-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/108164 + * gcc.dg/pr108164.c: New testcase. + +2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-10.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-11.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-12.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-13.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-14.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-15.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-16.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-17.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-18.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-19.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-20.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-21.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-22.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-23.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-27.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-28.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-29.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-30.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-31.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-32.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-34.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-35.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-37.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-38.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-40.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-41.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-42.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-43.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-44.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-45.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-46.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-9.c: New test. + +2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-13.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-14.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-15.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-16.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-17.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-18.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-19.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-20.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-21.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-22.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-23.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-24.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-25.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-26.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-27.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-28.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-10.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-11.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-12.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-9.c: New test. + +2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-10.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-11.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-12.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-13.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-14.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-15.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-16.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-17.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-18.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-19.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-20.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-21.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-22.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-23.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-24.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-25.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-26.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-27.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-28.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-9.c: New test. + +2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-10.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-11.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-12.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-13.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-9.c: New test. + +2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/rvv.exp: Adjust to enable tests for VSETVL PASS. + * gcc.target/riscv/rvv/vsetvl/dump-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-10.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-11.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-12.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-13.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-14.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-15.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-16.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-9.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-8.c: New test. + +2022-12-19 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/rvv/base/mov-1.c: Simplify operand check. + * gcc.target/riscv/rvv/base/mov-10.c: Ditto. + * gcc.target/riscv/rvv/base/mov-11.c: Ditto. + * gcc.target/riscv/rvv/base/mov-12.c: Ditto. + * gcc.target/riscv/rvv/base/mov-2.c: Ditto. + * gcc.target/riscv/rvv/base/mov-3.c: Ditto. + * gcc.target/riscv/rvv/base/mov-4.c: Ditto. + * gcc.target/riscv/rvv/base/mov-5.c: Ditto. + * gcc.target/riscv/rvv/base/mov-6.c: Ditto. + * gcc.target/riscv/rvv/base/mov-8.c: Ditto. + * gcc.target/riscv/rvv/base/mov-9.c: Ditto. + * gcc.target/riscv/rvv/base/vread_csr.c: Ditto. + * gcc.target/riscv/rvv/base/vsetvl-1.c: Ditto. + * gcc.target/riscv/rvv/base/vwrite_csr.c: Ditto. + +2022-12-19 Jakub Jelinek <jakub@redhat.com> + + PR testsuite/108151 + * gcc.dg/pr64536.c (bar): Cast long to __INTPTR_TYPE__ + before casting to long *. + +2022-12-19 Jakub Jelinek <jakub@redhat.com> + + PR testsuite/108151 + * gcc.dg/pr64536.c (bar): Use casts to __INTPTR_TYPE__ rather than + long when casting pointer to integral type. + +2022-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + PR target/108140 + * gcc.target/aarch64/acle/pr108140.c: New test. + +2022-12-19 Jakub Jelinek <jakub@redhat.com> + + PR fortran/107397 + * gfortran.dg/pr107397.f90: Adjust expected diagnostic wording and + add space between dg-error string and closing }. + +2022-12-19 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/rvv/base/vread_csr.c: Use specific option + instead. + * gcc.target/riscv/rvv/base/vwrite_csr.c: Ditto. + +2022-12-19 Jiufu Guo <guojiufu@linux.ibm.com> + + PR target/106708 + * gcc.target/powerpc/pr106708.c: New test. + +2022-12-19 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/rvv/base/mov-1.c: Use double quotes to + include riscv_vector.h rather than angle brackets. + * gcc.target/riscv/rvv/base/mov-10.c: Ditto. + * gcc.target/riscv/rvv/base/mov-11.c: Ditto. + * gcc.target/riscv/rvv/base/mov-12.c: Ditto. + * gcc.target/riscv/rvv/base/mov-13.c: Ditto. + * gcc.target/riscv/rvv/base/mov-2.c: Ditto. + * gcc.target/riscv/rvv/base/mov-3.c: Ditto. + * gcc.target/riscv/rvv/base/mov-4.c: Ditto. + * gcc.target/riscv/rvv/base/mov-5.c: Ditto. + * gcc.target/riscv/rvv/base/mov-6.c: Ditto. + * gcc.target/riscv/rvv/base/mov-7.c: Ditto. + * gcc.target/riscv/rvv/base/mov-8.c: Ditto. + * gcc.target/riscv/rvv/base/mov-9.c: Ditto. + * gcc.target/riscv/rvv/base/vread_csr.c: Ditto. + * gcc.target/riscv/rvv/base/vsetvl-1.c: Ditto. + * gcc.target/riscv/rvv/base/vwrite_csr.c: Ditto. + +2022-12-18 Gaius Mulley <gaiusmod2@gmail.com> + + * gm2/pimcoroutines/run/pass/testtime.mod: Reduce sleep times in + the test by a factor of 25. + +2022-12-18 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/107397 + * gfortran.dg/pr107397.f90: New test. + +2022-12-17 Patrick Palka <ppalka@redhat.com> + + PR c++/107437 + PR c++/87765 + * g++.dg/cpp1y/lambda-generic-107437.C: New test. + * g++.dg/cpp1z/constexpr-lambda26.C: Remove dg-ice. + +2022-12-16 John David Anglin <danglin@gcc.gnu.org> + + * lib/target-supports.exp (check_effective_target_static): Return 0 + on hppa*-*-*. + +2022-12-16 Andrew Pinski <pinskia@gmail.com> + Iain Sandoe <iain@sandoe.co.uk> + + PR c++/107768 + * g++.dg/coroutines/pr107768.C: New test. + +2022-12-16 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106479 + * gcc.dg/analyzer/pr104308.c (test_memmove_within_uninit): Remove + xfail on region creation event. + +2022-12-16 Vladimir N. Makarov <vmakarov@redhat.com> + + Revert: + 2022-12-16 Vladimir N. Makarov <vmakarov@redhat.com> + + * gcc.target/avr/pr90706.c: New. + +2022-12-16 Qing Zhao <qing.zhao@oracle.com> + + * gcc.dg/Warray-bounds-flex-arrays-1.c: Update testing case with + -Wstrict-flex-arrays. + * gcc.dg/Warray-bounds-flex-arrays-2.c: Likewise. + * gcc.dg/Warray-bounds-flex-arrays-3.c: Likewise. + * gcc.dg/Warray-bounds-flex-arrays-4.c: Likewise. + * gcc.dg/Warray-bounds-flex-arrays-5.c: Likewise. + * gcc.dg/Warray-bounds-flex-arrays-6.c: Likewise. + * c-c++-common/Wstrict-flex-arrays.c: New test. + * gcc.dg/Wstrict-flex-arrays-2.c: New test. + * gcc.dg/Wstrict-flex-arrays-3.c: New test. + * gcc.dg/Wstrict-flex-arrays.c: New test. + +2022-12-16 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/106751 + * gcc.c-torture/compile/pr106751.c: New test. + +2022-12-16 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/cmpccxadd-1.c: Fix intrin name. + * gcc.target/i386/cmpccxadd-2.c: Ditto. + +2022-12-15 Patrick Palka <ppalka@redhat.com> + + PR c++/102104 + PR c++/108090 + * g++.dg/cpp1z/using-variadic1.C: New test. + * g++.dg/cpp1z/using-variadic1a.C: New test. + * g++.dg/cpp1z/using-variadic1b.C: New test. + * g++.dg/cpp1z/using-variadic1c.C: New test. + * g++.dg/cpp1z/using-variadic2.C: New test. + * g++.dg/cpp1z/using-variadic3.C: New test. + +2022-12-15 Arsen Arsenović <arsen@aarsen.me> + + * g++.dg/contracts/contracts-externC.C: New test. + +2022-12-15 Patrick Palka <ppalka@redhat.com> + + PR c++/107188 + * g++.dg/cpp2a/concepts-placeholder11.C: New test. + +2022-12-15 Patrick Palka <ppalka@redhat.com> + + PR c++/100295 + PR c++/107579 + * g++.dg/cpp1z/constexpr-if-lambda5.C: New test. + +2022-12-15 Patrick Palka <ppalka@redhat.com> + + PR c++/105518 + * g++.dg/cpp0x/lambda/lambda-alias1.C: New test. + +2022-12-15 Patrick Palka <ppalka@redhat.com> + + PR c++/108104 + * g++.dg/template/ptrmem33.C: New test. + +2022-12-15 Vladimir N. Makarov <vmakarov@redhat.com> + + * gcc.target/avr/pr90706.c: New. + +2022-12-15 Jakub Jelinek <jakub@redhat.com> + + PR c++/107065 + * g++.dg/cpp0x/pr107065.C: New test. + +2022-12-15 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/108075 + * g++.dg/cpp23/ext-floating13.C: New test. + +2022-12-15 Jakub Jelinek <jakub@redhat.com> + + * lib/target-supports.exp (check_compile): Further quoting + fixes for /* Assembly, /* ObjC and (* Modula-2 *) checks. + +2022-12-15 Jakub Jelinek <jakub@redhat.com> + + * lib/target-supports.exp (check_compile): Add support for + Rust and Modula-2. Use \* rather than * for /* comment for + Assembly. + +2022-12-15 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/108095 + * gcc.dg/pr108095.c: New test. + +2022-12-15 Jason Merrill <jason@redhat.com> + + PR c++/108071 + PR c++/105838 + * g++.dg/cpp0x/initlist131.C: New test. + * g++.dg/cpp0x/initlist132.C: New test. + * g++.dg/cpp0x/initlist133.C: New test. + +2022-12-14 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/108065 + * gfortran.dg/analyzer/pr108065.f90: New test. + +2022-12-14 David Faust <david.faust@oracle.com> + + PR target/106773 + * gcc.dg/debug/btf/btf-datasec-2.c: New test. + * gcc.dg/debug/btf/btf-function-6.c: New test. + +2022-12-14 David Faust <david.faust@oracle.com> + + PR target/106773 + * gcc.dg/debug/btf/btf-pr106773.c: New test. + +2022-12-14 David Faust <david.faust@oracle.com> + + PR target/106773 + * gcc.dg/debug/btf/btf-variables-4.c: New test. + * gcc.dg/debug/btf/btf-variables-5.c: New test. + +2022-12-14 Martin Jambor <mjambor@suse.cz> + + * g++.dg/ipa/ipa-sra-6.C: New test. + +2022-12-14 Martin Jambor <mjambor@suse.cz> + + * gcc.dg/ipa/ipa-sra-29.c: New test. + +2022-12-14 Gaius Mulley <gaiusmod2@gmail.com> + + * lib/gm2-dg.exp: New file. + * lib/gm2.exp: New file. + * lib/gm2-simple.exp: New file. + * lib/gm2-torture.exp: New file. + * gm2/calling-c/datatypes/unbounded/run/pass/c.c: New file. + * gm2/calling-c/datatypes/unbounded/run/pass/c.def: New file. + * gm2/calling-c/datatypes/unbounded/run/pass/calling-c-datatypes-unbounded-run-pass.exp: + New file. + * gm2/calling-c/datatypes/unbounded/run/pass/m.mod: New file. + * gm2/case/pass/case-pass.exp: New file. + * gm2/case/pass/testcase1.mod: New file. + * gm2/case/pass/testcase2.mod: New file. + * gm2/case/pass/testcase3.mod: New file. + * gm2/case/pass/testcase4.mod: New file. + * gm2/complex/fail/var1.mod: New file. + * gm2/complex/pass/arith.mod: New file. + * gm2/complex/pass/arith2.mod: New file. + * gm2/complex/pass/arith3.mod: New file. + * gm2/complex/pass/arith4.mod: New file. + * gm2/complex/pass/arith5.mod: New file. + * gm2/complex/pass/arith6.mod: New file. + * gm2/complex/pass/complex-pass.exp: New file. + * gm2/complex/pass/consts.mod: New file. + * gm2/complex/pass/consts2.mod: New file. + * gm2/complex/pass/consts3.mod: New file. + * gm2/complex/pass/tinycabs.mod: New file. + * gm2/complex/pass/var1.mod: New file. + * gm2/complex/pass/var2.mod: New file. + * gm2/complex/pass/var3.mod: New file. + * gm2/complex/pass/var4.mod: New file. + * gm2/complex/pass/var5.mod: New file. + * gm2/complex/pass/var6.mod: New file. + * gm2/complex/pass/var7.mod: New file. + * gm2/complex/pass/var8.mod: New file. + * gm2/complex/run/pass/arith3.mod: New file. + * gm2/complex/run/pass/arith4.mod: New file. + * gm2/complex/run/pass/arith5.mod: New file. + * gm2/complex/run/pass/arith6.mod: New file. + * gm2/complex/run/pass/arith7.mod: New file. + * gm2/complex/run/pass/arith8.mod: New file. + * gm2/complex/run/pass/complex-run-pass.exp: New file. + * gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp: New file. + * gm2/coroutines/pim/run/pass/testiotransfer.mod: New file. + * gm2/coroutines/pim/run/pass/testtransfer.mod: New file. + * gm2/cpp/fail/another.h: New file. + * gm2/cpp/fail/fail1.mod: New file. + * gm2/cpp/longcard2.mod: New file. + * gm2/cpp/longstrimp.mod: New file. + * gm2/cpp/pass/arrayhuge.mod: New file. + * gm2/cpp/pass/arrayhuge2.mod: New file. + * gm2/cpp/pass/cpp-pass.exp: New file. + * gm2/cpp/pass/cpp.mod: New file. + * gm2/cpp/pass/cpph.mod: New file. + * gm2/cpp/pass/subaddr.mod: New file. + * gm2/cpp/pass/testcpp.mod: New file. + * gm2/cpp/pass/testcpp2.mod: New file. + * gm2/cpp/setchar2.mod: New file. + * gm2/cpp/setchar6.mod: New file. + * gm2/cse/fail/cse-fail.exp: New file. + * gm2/cse/fail/testcse38.mod: New file. + * gm2/cse/pass/cse-pass.exp: New file. + * gm2/cse/pass/m2t.c: New file. + * gm2/cse/pass/testb.mod: New file. + * gm2/cse/pass/testbuiltin.def: New file. + * gm2/cse/pass/testbuiltin.mod: New file. + * gm2/cse/pass/testcse.def: New file. + * gm2/cse/pass/testcse.mod: New file. + * gm2/cse/pass/testcse10.mod: New file. + * gm2/cse/pass/testcse11.mod: New file. + * gm2/cse/pass/testcse12.mod: New file. + * gm2/cse/pass/testcse13.mod: New file. + * gm2/cse/pass/testcse14.mod: New file. + * gm2/cse/pass/testcse15.mod: New file. + * gm2/cse/pass/testcse16.mod: New file. + * gm2/cse/pass/testcse17.mod: New file. + * gm2/cse/pass/testcse18.mod: New file. + * gm2/cse/pass/testcse19.mod: New file. + * gm2/cse/pass/testcse2.mod: New file. + * gm2/cse/pass/testcse20.mod: New file. + * gm2/cse/pass/testcse21.mod: New file. + * gm2/cse/pass/testcse22.mod: New file. + * gm2/cse/pass/testcse23.mod: New file. + * gm2/cse/pass/testcse24.mod: New file. + * gm2/cse/pass/testcse25.mod: New file. + * gm2/cse/pass/testcse26.mod: New file. + * gm2/cse/pass/testcse27.mod: New file. + * gm2/cse/pass/testcse28.mod: New file. + * gm2/cse/pass/testcse29.mod: New file. + * gm2/cse/pass/testcse3.mod: New file. + * gm2/cse/pass/testcse31.mod: New file. + * gm2/cse/pass/testcse32.mod: New file. + * gm2/cse/pass/testcse33.mod: New file. + * gm2/cse/pass/testcse34.mod: New file. + * gm2/cse/pass/testcse35.mod: New file. + * gm2/cse/pass/testcse36.mod: New file. + * gm2/cse/pass/testcse37.mod: New file. + * gm2/cse/pass/testcse39.mod: New file. + * gm2/cse/pass/testcse4.c: New file. + * gm2/cse/pass/testcse4.mod: New file. + * gm2/cse/pass/testcse40.mod: New file. + * gm2/cse/pass/testcse41.mod: New file. + * gm2/cse/pass/testcse42.mod: New file. + * gm2/cse/pass/testcse43.mod: New file. + * gm2/cse/pass/testcse44.mod: New file. + * gm2/cse/pass/testcse45.mod: New file. + * gm2/cse/pass/testcse46.mod: New file. + * gm2/cse/pass/testcse47.mod: New file. + * gm2/cse/pass/testcse48.mod: New file. + * gm2/cse/pass/testcse49.mod: New file. + * gm2/cse/pass/testcse5.c: New file. + * gm2/cse/pass/testcse5.mod: New file. + * gm2/cse/pass/testcse50.def: New file. + * gm2/cse/pass/testcse50.mod: New file. + * gm2/cse/pass/testcse51.mod: New file. + * gm2/cse/pass/testcse52.def: New file. + * gm2/cse/pass/testcse52.mod: New file. + * gm2/cse/pass/testcse53.def: New file. + * gm2/cse/pass/testcse53.mod: New file. + * gm2/cse/pass/testcse6.c: New file. + * gm2/cse/pass/testcse6.mod: New file. + * gm2/cse/pass/testcse7.c: New file. + * gm2/cse/pass/testcse7.mod: New file. + * gm2/cse/pass/testcse8.c: New file. + * gm2/cse/pass/testcse8.mod: New file. + * gm2/cse/pass/testcse9.c: New file. + * gm2/cse/pass/testsize.mod: New file. + * gm2/dynamic/pass/add.mod: New file. + * gm2/dynamic/pass/dynamic-pass.exp: New file. + * gm2/dynamic/pass/prog21.mod: New file. + * gm2/dynamic/pass/testarray.mod: New file. + * gm2/dynamic/pass/testarray2.mod: New file. + * gm2/dynamic/pass/testarray3.mod: New file. + * gm2/dynamic/pass/testarray4.mod: New file. + * gm2/dynamic/pass/testarray6.mod: New file. + * gm2/dynamic/pass/testbec.mod: New file. + * gm2/dynamic/pass/testbec10.mod: New file. + * gm2/dynamic/pass/testbec11.mod: New file. + * gm2/dynamic/pass/testbec12.mod: New file. + * gm2/dynamic/pass/testbec13.mod: New file. + * gm2/dynamic/pass/testbec14.mod: New file. + * gm2/dynamic/pass/testbec15.mod: New file. + * gm2/dynamic/pass/testbec16.mod: New file. + * gm2/dynamic/pass/testbec17.mod: New file. + * gm2/dynamic/pass/testbec18.mod: New file. + * gm2/dynamic/pass/testbec19.mod: New file. + * gm2/dynamic/pass/testbec2.mod: New file. + * gm2/dynamic/pass/testbec20.mod: New file. + * gm2/dynamic/pass/testbec21.mod: New file. + * gm2/dynamic/pass/testbec22.mod: New file. + * gm2/dynamic/pass/testbec23.mod: New file. + * gm2/dynamic/pass/testbec24.mod: New file. + * gm2/dynamic/pass/testbec25.mod: New file. + * gm2/dynamic/pass/testbec26.mod: New file. + * gm2/dynamic/pass/testbec27.mod: New file. + * gm2/dynamic/pass/testbec28.mod: New file. + * gm2/dynamic/pass/testbec29.mod: New file. + * gm2/dynamic/pass/testbec3.mod: New file. + * gm2/dynamic/pass/testbec30.mod: New file. + * gm2/dynamic/pass/testbec31.mod: New file. + * gm2/dynamic/pass/testbec32.mod: New file. + * gm2/dynamic/pass/testbec33.mod: New file. + * gm2/dynamic/pass/testbec34.mod: New file. + * gm2/dynamic/pass/testbec35.mod: New file. + * gm2/dynamic/pass/testbec36.mod: New file. + * gm2/dynamic/pass/testbec37.mod: New file. + * gm2/dynamic/pass/testbec38.mod: New file. + * gm2/dynamic/pass/testbec39.mod: New file. + * gm2/dynamic/pass/testbec4.mod: New file. + * gm2/dynamic/pass/testbec40.mod: New file. + * gm2/dynamic/pass/testbec41.mod: New file. + * gm2/dynamic/pass/testbec42.mod: New file. + * gm2/dynamic/pass/testbec43.mod: New file. + * gm2/dynamic/pass/testbec44.mod: New file. + * gm2/dynamic/pass/testbec45.mod: New file. + * gm2/dynamic/pass/testbec5.mod: New file. + * gm2/dynamic/pass/testbec6.mod: New file. + * gm2/dynamic/pass/testbec7.mod: New file. + * gm2/dynamic/pass/testbec8.mod: New file. + * gm2/dynamic/pass/testbec9.mod: New file. + * gm2/dynamic/pass/testdavid.mod: New file. + * gm2/dynamic/pass/testdiv.mod: New file. + * gm2/dynamic/pass/testexp.mod: New file. + * gm2/dynamic/pass/testfor.mod: New file. + * gm2/dynamic/pass/testfor2.mod: New file. + * gm2/dynamic/pass/testfunc.mod: New file. + * gm2/dynamic/pass/testfunc2.mod: New file. + * gm2/dynamic/pass/testfunc3.mod: New file. + * gm2/dynamic/pass/testfunc4.mod: New file. + * gm2/dynamic/pass/testfunc5.mod: New file. + * gm2/dynamic/pass/testfunc6.mod: New file. + * gm2/dynamic/pass/testif.mod: New file. + * gm2/dynamic/pass/testit.mod: New file. + * gm2/dynamic/pass/testloop.mod: New file. + * gm2/dynamic/pass/testloop2.mod: New file. + * gm2/dynamic/pass/testloop3.mod: New file. + * gm2/dynamic/pass/testloop4.mod: New file. + * gm2/dynamic/pass/testloop5.mod: New file. + * gm2/dynamic/pass/testmin.mod: New file. + * gm2/dynamic/pass/testnum4.mod: New file. + * gm2/dynamic/pass/testord.mod: New file. + * gm2/dynamic/pass/testparam.mod: New file. + * gm2/dynamic/pass/testparam2.mod: New file. + * gm2/dynamic/pass/testproc.mod: New file. + * gm2/dynamic/pass/testproc2.c: New file. + * gm2/dynamic/pass/testproc2.def: New file. + * gm2/dynamic/pass/testproc2.mod: New file. + * gm2/dynamic/pass/testscn.mod: New file. + * gm2/dynamic/pass/testset.mod: New file. + * gm2/dynamic/pass/testset2.mod: New file. + * gm2/dynamic/pass/testset3.mod: New file. + * gm2/dynamic/pass/teststr.c: New file. + * gm2/dynamic/pass/teststr.mod: New file. + * gm2/dynamic/pass/teststr2.mod: New file. + * gm2/dynamic/pass/teststring.mod: New file. + * gm2/dynamic/pass/testunbounded.mod: New file. + * gm2/dynamic/pass/testwith.mod: New file. + * gm2/dynamic/pass/testzero.mod: New file. + * gm2/dynamic/pass/wc.mod: New file. + * gm2/embedded/pass/embedded-pass.exp: New file. + * gm2/embedded/pass/varataddress.mod: New file. + * gm2/embedded/pass/varataddress1.mod: New file. + * gm2/embedded/pass/varataddress2.mod: New file. + * gm2/embedded/pass/varataddress3.mod: New file. + * gm2/errors/fail/array1.mod: New file. + * gm2/errors/fail/badexpr.mod: New file. + * gm2/errors/fail/badfor.mod: New file. + * gm2/errors/fail/badhigh.mod: New file. + * gm2/errors/fail/badshift.mod: New file. + * gm2/errors/fail/badsubexpradr.mod: New file. + * gm2/errors/fail/binaryconst.mod: New file. + * gm2/errors/fail/binarygeneric.mod: New file. + * gm2/errors/fail/binarygenericconst.mod: New file. + * gm2/errors/fail/end.mod: New file. + * gm2/errors/fail/errors-fail.exp: New file. + * gm2/errors/fail/mismatched.mod: New file. + * gm2/errors/fail/mismatchedproc.mod: New file. + * gm2/errors/fail/nestedproc4.mod: New file. + * gm2/errors/fail/nomodule.mod: New file. + * gm2/errors/fail/proctype.mod: New file. + * gm2/errors/fail/prog110.mod: New file. + * gm2/errors/fail/prog111.mod: New file. + * gm2/errors/fail/prog113.mod: New file. + * gm2/errors/fail/prog114.mod: New file. + * gm2/errors/fail/testaddress.mod: New file. + * gm2/errors/fail/testarray.mod: New file. + * gm2/errors/fail/testbit.mod: New file. + * gm2/errors/fail/testbit2.mod: New file. + * gm2/errors/fail/testcase.mod: New file. + * gm2/errors/fail/testcomment.mod: New file. + * gm2/errors/fail/testcomment2.mod: New file. + * gm2/errors/fail/testcomment3.mod: New file. + * gm2/errors/fail/testconst.mod: New file. + * gm2/errors/fail/testdyn.mod: New file. + * gm2/errors/fail/testdyn2.mod: New file. + * gm2/errors/fail/testdyn3.mod: New file. + * gm2/errors/fail/testexp.mod: New file. + * gm2/errors/fail/testfio.mod: New file. + * gm2/errors/fail/testimport.mod: New file. + * gm2/errors/fail/testimport2.def: New file. + * gm2/errors/fail/testimport2.mod: New file. + * gm2/errors/fail/testinit.mod: New file. + * gm2/errors/fail/testmodule.mod: New file. + * gm2/errors/fail/testnil.mod: New file. + * gm2/errors/fail/testnil2.mod: New file. + * gm2/errors/fail/testparam.mod: New file. + * gm2/errors/fail/testproc.mod: New file. + * gm2/errors/fail/testproc2.mod: New file. + * gm2/errors/fail/testsize.mod: New file. + * gm2/errors/fail/teststring.mod: New file. + * gm2/errors/fail/testsub3.mod: New file. + * gm2/errors/fail/testsub4.mod: New file. + * gm2/errors/fail/testtype.mod: New file. + * gm2/errors/fail/testvar.mod: New file. + * gm2/errors/fail/testwith.mod: New file. + * gm2/errors/fail/testwrite.mod: New file. + * gm2/errors/fail/type.mod: New file. + * gm2/errors/fail/unarygeneric.mod: New file. + * gm2/errors/mustfail: New file. + * gm2/errors/options: New file. + * gm2/errors/testchar.mod: New file. + * gm2/errors/testsub2.mod: New file. + * gm2/examples/callingC/pass/examples-callingC-pass.exp: New file. + * gm2/examples/callingC/pass/hello.mod: New file. + * gm2/examples/callingC/pass/libprintf.def: New file. + * gm2/examples/callingC/run/pass/c.c: New file. + * gm2/examples/callingC/run/pass/c.def: New file. + * gm2/examples/callingC/run/pass/examples-callingC-run-pass.exp: New + file. + * gm2/examples/callingC/run/pass/hello.mod: New file. + * gm2/examples/callingC/run/pass/libprintf.def: New file. + * gm2/examples/callingC/run/pass/m.mod: New file. + * gm2/examples/cpp/pass/examples-cpp-pass.exp: New file. + * gm2/examples/cpp/pass/hello.mod: New file. + * gm2/examples/cppDef/pass/a.def: New file. + * gm2/examples/cppDef/pass/a.mod: New file. + * gm2/examples/cppDef/pass/b.mod: New file. + * gm2/examples/cppDef/pass/examples-cppDef-pass.exp: New file. + * gm2/examples/cppDef/pass/libprintf.def: New file. + * gm2/examples/hello/pass/examples-hello-pass.exp: New file. + * gm2/examples/hello/pass/hello.mod: New file. + * gm2/examples/map/pass/AdvMap.def: New file. + * gm2/examples/map/pass/AdvMap.mod: New file. + * gm2/examples/map/pass/BoxMap.def: New file. + * gm2/examples/map/pass/BoxMap.mod: New file. + * gm2/examples/map/pass/Chance.def: New file. + * gm2/examples/map/pass/Chance.mod: New file. + * gm2/examples/map/pass/Find.def: New file. + * gm2/examples/map/pass/Find.mod: New file. + * gm2/examples/map/pass/Geometry.def: New file. + * gm2/examples/map/pass/Geometry.mod: New file. + * gm2/examples/map/pass/MakeBoxes.def: New file. + * gm2/examples/map/pass/MakeBoxes.mod: New file. + * gm2/examples/map/pass/Map.mod: New file. + * gm2/examples/map/pass/RoomMap.def: New file. + * gm2/examples/map/pass/RoomMap.mod: New file. + * gm2/examples/map/pass/Semantic.mod: New file. + * gm2/examples/map/pass/StoreCoord.def: New file. + * gm2/examples/map/pass/StoreCoord.mod: New file. + * gm2/examples/map/pass/StoreCoords.def: New file. + * gm2/examples/map/pass/StoreCoords.mod: New file. + * gm2/examples/map/pass/WriteMap.def: New file. + * gm2/examples/map/pass/WriteMap.mod: New file. + * gm2/examples/map/pass/examples-map-pass.exp: New file. + * gm2/examples/map/pass/makemaps: New file. + * gm2/examples/map/pass/testch2.mod: New file. + * gm2/examples/map/pass/testchan.mod: New file. + * gm2/examples/map/pass/testcoor.mod: New file. + * gm2/examples/map/pass/testmaps: New file. + * gm2/exceptions/run/pass/cpp.cpp: New file. + * gm2/exceptions/run/pass/cpp.def: New file. + * gm2/exceptions/run/pass/exceptions-run-pass.exp: New file. + * gm2/exceptions/run/pass/libexcept.mod: New file. + * gm2/exceptions/run/pass/m2test.def: New file. + * gm2/exceptions/run/pass/m2test.mod: New file. + * gm2/exceptions/run/pass/mycpp.cpp: New file. + * gm2/exceptions/run/pass/mycpp.def: New file. + * gm2/exceptions/run/pass/mym2.mod: New file. + * gm2/exceptions/run/pass/mym2a.mod: New file. + * gm2/extensions/pass/align.mod: New file. + * gm2/extensions/pass/align2.mod: New file. + * gm2/extensions/pass/card16p.mod: New file. + * gm2/extensions/pass/card32p.mod: New file. + * gm2/extensions/pass/card64p.mod: New file. + * gm2/extensions/pass/card8p.mod: New file. + * gm2/extensions/pass/co.def: New file. + * gm2/extensions/pass/co.mod: New file. + * gm2/extensions/pass/extensions-pass.exp: New file. + * gm2/extensions/pass/frame.mod: New file. + * gm2/extensions/pass/hello.mod: New file. + * gm2/extensions/pass/int16p.mod: New file. + * gm2/extensions/pass/int32p.mod: New file. + * gm2/extensions/pass/int64p.mod: New file. + * gm2/extensions/pass/int8p.mod: New file. + * gm2/extensions/pass/intsize8.mod: New file. + * gm2/extensions/pass/jmp.mod: New file. + * gm2/extensions/pass/libc.def: New file. + * gm2/extensions/pass/optparam.mod: New file. + * gm2/extensions/pass/optparam2.mod: New file. + * gm2/extensions/pass/return.mod: New file. + * gm2/extensions/pass/set8.mod: New file. + * gm2/extensions/pass/set8a.mod: New file. + * gm2/extensions/pass/set8b.mod: New file. + * gm2/extensions/pass/testco.mod: New file. + * gm2/extensions/run/fail/extensions-run-fail.exp: New file. + * gm2/extensions/run/fail/intsize8.mod: New file. + * gm2/extensions/run/pass/align3.mod: New file. + * gm2/extensions/run/pass/align4.mod: New file. + * gm2/extensions/run/pass/align5.mod: New file. + * gm2/extensions/run/pass/align6.mod: New file. + * gm2/extensions/run/pass/align7.mod: New file. + * gm2/extensions/run/pass/callingc.mod: New file. + * gm2/extensions/run/pass/card16p.mod: New file. + * gm2/extensions/run/pass/card32p.mod: New file. + * gm2/extensions/run/pass/card64p.mod: New file. + * gm2/extensions/run/pass/card8p.mod: New file. + * gm2/extensions/run/pass/column.mod: New file. + * gm2/extensions/run/pass/cvararg.c: New file. + * gm2/extensions/run/pass/cvararg.def: New file. + * gm2/extensions/run/pass/extensions-run-pass.exp: New file. + * gm2/extensions/run/pass/int16p.mod: New file. + * gm2/extensions/run/pass/int32p.mod: New file. + * gm2/extensions/run/pass/int64p.mod: New file. + * gm2/extensions/run/pass/int8field.mod: New file. + * gm2/extensions/run/pass/int8p.mod: New file. + * gm2/extensions/run/pass/packedrecord.mod: New file. + * gm2/extensions/run/pass/packedrecord2.mod: New file. + * gm2/extensions/run/pass/real32.mod: New file. + * gm2/extensions/run/pass/real32a.mod: New file. + * gm2/extensions/run/pass/record.mod: New file. + * gm2/extensions/run/pass/testopen.mod: New file. + * gm2/extensions/run/pass/vararg.mod: New file. + * gm2/extensions/run/pass/vararg2.mod: New file. + * gm2/extensions/run/pass/vararg3.mod: New file. + * gm2/fpu/pass/five.mod: New file. + * gm2/fpu/pass/fp.def: New file. + * gm2/fpu/pass/fp.mod: New file. + * gm2/fpu/pass/fpu-pass.exp: New file. + * gm2/fpu/pass/one.mod: New file. + * gm2/fpu/pass/r1.mod: New file. + * gm2/fpu/pass/realconst.mod: New file. + * gm2/fpu/pass/testfp.mod: New file. + * gm2/fpu/pass/testfp2.mod: New file. + * gm2/fpu/pass/testfpu1.mod: New file. + * gm2/fpu/pass/testfpu2.mod: New file. + * gm2/fpu/pass/testfpu3.mod: New file. + * gm2/fpu/pass/testsin.mod: New file. + * gm2/imports/run/pass/c.def: New file. + * gm2/imports/run/pass/c.mod: New file. + * gm2/imports/run/pass/imports-run-pass.exp: New file. + * gm2/imports/run/pass/innermods.mod: New file. + * gm2/imports/run/pass/innermods2.mod: New file. + * gm2/imports/run/pass/innermods3.mod: New file. + * gm2/imports/run/pass/innermods4.mod: New file. + * gm2/imports/run/pass/innermods5.def: New file. + * gm2/imports/run/pass/innermods5.mod: New file. + * gm2/imports/run/pass/innermods6.mod: New file. + * gm2/integer/div.mod: New file. + * gm2/integer/expr.mod: New file. + * gm2/integer/mod.mod: New file. + * gm2/integer/mod2.mod: New file. + * gm2/integer/one.mod: New file. + * gm2/integer/options: New file. + * gm2/integer/zero.mod: New file. + * gm2/iso/analysis/fail/Makefile: New file. + * gm2/iso/analysis/fail/arithoverflow.mod: New file. + * gm2/iso/analysis/fail/arithoverflow2.mod: New file. + * gm2/iso/analysis/fail/arithsubcard.mod: New file. + * gm2/iso/analysis/fail/arrayrange.mod: New file. + * gm2/iso/analysis/fail/assignvalue.mod: New file. + * gm2/iso/analysis/fail/callassignment.mod: New file. + * gm2/iso/analysis/fail/callassignment2.mod: New file. + * gm2/iso/analysis/fail/callassignment3.mod: New file. + * gm2/iso/analysis/fail/callassignment4.mod: New file. + * gm2/iso/analysis/fail/caserange.mod: New file. + * gm2/iso/analysis/fail/decvalue.mod: New file. + * gm2/iso/analysis/fail/forloop.mod: New file. + * gm2/iso/analysis/fail/incvalue.mod: New file. + * gm2/iso/analysis/fail/iso-analysis-fail.exp: New file. + * gm2/iso/analysis/fail/noreturn.mod: New file. + * gm2/iso/analysis/fail/returnvalue.mod: New file. + * gm2/iso/analysis/fail/staticarray.mod: New file. + * gm2/iso/check/fail/iso-check-fail.exp: New file. + * gm2/iso/check/fail/modulusoverflow.mod: New file. + * gm2/iso/fail/badarray.mod: New file. + * gm2/iso/fail/badarray2.mod: New file. + * gm2/iso/fail/badipv4.mod: New file. + * gm2/iso/fail/bug10.mod: New file. + * gm2/iso/fail/bug8.mod: New file. + * gm2/iso/fail/bug9.mod: New file. + * gm2/iso/fail/case.mod: New file. + * gm2/iso/fail/case2.mod: New file. + * gm2/iso/fail/case3.mod: New file. + * gm2/iso/fail/const1.mod: New file. + * gm2/iso/fail/constarray.mod: New file. + * gm2/iso/fail/constarray2.mod: New file. + * gm2/iso/fail/constprocedure.mod: New file. + * gm2/iso/fail/constrecord.mod: New file. + * gm2/iso/fail/constrecord2.mod: New file. + * gm2/iso/fail/constrecord3.mod: New file. + * gm2/iso/fail/constsubrange.mod: New file. + * gm2/iso/fail/constsubrange2.mod: New file. + * gm2/iso/fail/constsubrange3.mod: New file. + * gm2/iso/fail/defa.def: New file. + * gm2/iso/fail/defa.mod: New file. + * gm2/iso/fail/defb.def: New file. + * gm2/iso/fail/defb.mod: New file. + * gm2/iso/fail/defc.def: New file. + * gm2/iso/fail/defc.mod: New file. + * gm2/iso/fail/except.mod: New file. + * gm2/iso/fail/except2.mod: New file. + * gm2/iso/fail/iso-fail.exp: New file. + * gm2/iso/fail/isoa.def: New file. + * gm2/iso/fail/isoa.mod: New file. + * gm2/iso/fail/lengthsubexpr.mod: New file. + * gm2/iso/fail/proc.mod: New file. + * gm2/iso/fail/realbitscast.mod: New file. + * gm2/iso/fail/varient.mod: New file. + * gm2/iso/fail/varient2.mod: New file. + * gm2/iso/future/builtinlj.mod: New file. + * gm2/iso/pass/ChanConsts.def: New file. + * gm2/iso/pass/ChanConsts.mod: New file. + * gm2/iso/pass/ConvTypes.def: New file. + * gm2/iso/pass/ConvTypes.mod: New file. + * gm2/iso/pass/addadr1.mod: New file. + * gm2/iso/pass/bits32c.mod: New file. + * gm2/iso/pass/callwraptime.mod: New file. + * gm2/iso/pass/caseiso.mod: New file. + * gm2/iso/pass/caseiso2.mod: New file. + * gm2/iso/pass/cast.mod: New file. + * gm2/iso/pass/cast3.mod: New file. + * gm2/iso/pass/castiso.mod: New file. + * gm2/iso/pass/const1.mod: New file. + * gm2/iso/pass/constreal.mod: New file. + * gm2/iso/pass/constructor1.mod: New file. + * gm2/iso/pass/constructor2.mod: New file. + * gm2/iso/pass/constructor3.mod: New file. + * gm2/iso/pass/constructor4.mod: New file. + * gm2/iso/pass/constructor5.mod: New file. + * gm2/iso/pass/constructor6.mod: New file. + * gm2/iso/pass/constsize4.mod: New file. + * gm2/iso/pass/delim.mod: New file. + * gm2/iso/pass/delim2.mod: New file. + * gm2/iso/pass/enummodule.mod: New file. + * gm2/iso/pass/except1.mod: New file. + * gm2/iso/pass/expproc.mod: New file. + * gm2/iso/pass/expproc2.mod: New file. + * gm2/iso/pass/iso-pass.exp: New file. + * gm2/iso/pass/isob.def: New file. + * gm2/iso/pass/isob.mod: New file. + * gm2/iso/pass/isobitset.mod: New file. + * gm2/iso/pass/isobitset2.mod: New file. + * gm2/iso/pass/longm.mod: New file. + * gm2/iso/pass/m.mod: New file. + * gm2/iso/pass/proccast.mod: New file. + * gm2/iso/pass/realbitscast.mod: New file. + * gm2/iso/pass/set12.mod: New file. + * gm2/iso/pass/stringchar.mod: New file. + * gm2/iso/pass/subassign.mod: New file. + * gm2/iso/pass/testaddindr.mod: New file. + * gm2/iso/pass/testconv.def: New file. + * gm2/iso/pass/testconv.mod: New file. + * gm2/iso/pass/testconv2.def: New file. + * gm2/iso/pass/testconv2.mod: New file. + * gm2/iso/pass/testconv3.mod: New file. + * gm2/iso/pass/testconv4.mod: New file. + * gm2/iso/pass/testconv5.mod: New file. + * gm2/iso/pass/testconv6.mod: New file. + * gm2/iso/pass/testconv7.mod: New file. + * gm2/iso/pass/testconv8.mod: New file. + * gm2/iso/pass/testconv9.mod: New file. + * gm2/iso/pass/testiso.mod: New file. + * gm2/iso/pass/testiso2.mod: New file. + * gm2/iso/pass/testisosize.mod: New file. + * gm2/iso/pass/testlength.mod: New file. + * gm2/iso/pass/testlength2.mod: New file. + * gm2/iso/pass/testlength3.mod: New file. + * gm2/iso/pass/testlength4.mod: New file. + * gm2/iso/pass/testlength5.mod: New file. + * gm2/iso/pass/unbounded.mod: New file. + * gm2/iso/pass/unbounded2.mod: New file. + * gm2/iso/run/pass/adraddress.mod: New file. + * gm2/iso/run/pass/adrunbounded3.mod: New file. + * gm2/iso/run/pass/baseimport.mod: New file. + * gm2/iso/run/pass/compsize.mod: New file. + * gm2/iso/run/pass/concurrentstore.mod: New file. + * gm2/iso/run/pass/constprocedure.mod: New file. + * gm2/iso/run/pass/constructor1.mod: New file. + * gm2/iso/run/pass/constructor2.mod: New file. + * gm2/iso/run/pass/conststrarray.mod: New file. + * gm2/iso/run/pass/contimer.mod: New file. + * gm2/iso/run/pass/except.c: New file. + * gm2/iso/run/pass/except2.mod: New file. + * gm2/iso/run/pass/except3.cpp: New file. + * gm2/iso/run/pass/except4.mod: New file. + * gm2/iso/run/pass/except5.cpp: New file. + * gm2/iso/run/pass/except5.mod: New file. + * gm2/iso/run/pass/except6.cpp: New file. + * gm2/iso/run/pass/except7.mod: New file. + * gm2/iso/run/pass/except8.mod: New file. + * gm2/iso/run/pass/fileio.def: New file. + * gm2/iso/run/pass/fileio.mod: New file. + * gm2/iso/run/pass/hello.mod: New file. + * gm2/iso/run/pass/int8field.mod: New file. + * gm2/iso/run/pass/iso-run-pass.exp: New file. + * gm2/iso/run/pass/long.mod: New file. + * gm2/iso/run/pass/long2.mod: New file. + * gm2/iso/run/pass/long3.mod: New file. + * gm2/iso/run/pass/long4.c: New file. + * gm2/iso/run/pass/long4.mod: New file. + * gm2/iso/run/pass/minmax.mod: New file. + * gm2/iso/run/pass/modulus.mod: New file. + * gm2/iso/run/pass/nestediso.mod: New file. + * gm2/iso/run/pass/nestedrecord.mod: New file. + * gm2/iso/run/pass/onebyte.mod: New file. + * gm2/iso/run/pass/onebyte2.mod: New file. + * gm2/iso/run/pass/onebyte3.mod: New file. + * gm2/iso/run/pass/packed.mod: New file. + * gm2/iso/run/pass/proc.c: New file. + * gm2/iso/run/pass/proc.mod: New file. + * gm2/iso/run/pass/proc2.mod: New file. + * gm2/iso/run/pass/returnrecord.mod: New file. + * gm2/iso/run/pass/shift.mod: New file. + * gm2/iso/run/pass/shift2.mod: New file. + * gm2/iso/run/pass/shift3.mod: New file. + * gm2/iso/run/pass/shift4.mod: New file. + * gm2/iso/run/pass/simple: New file. + * gm2/iso/run/pass/simplelarge.mod: New file. + * gm2/iso/run/pass/strcons.mod: New file. + * gm2/iso/run/pass/strcons2.mod: New file. + * gm2/iso/run/pass/t.cpp: New file. + * gm2/iso/run/pass/t1.cpp: New file. + * gm2/iso/run/pass/testLength.mod: New file. + * gm2/iso/run/pass/testarray.mod: New file. + * gm2/iso/run/pass/testgeneric.mod: New file. + * gm2/iso/run/pass/testlarge.mod: New file. + * gm2/iso/run/pass/testsystem.mod: New file. + * gm2/iso/run/pass/tinyconst.mod: New file. + * gm2/iso/run/pass/tinyconst2.mod: New file. + * gm2/iso/run/pass/tinyconst3.mod: New file. + * gm2/iso/run/pass/tinyconst4.mod: New file. + * gm2/iso/run/pass/tinyconst5.mod: New file. + * gm2/iso/run/pass/tinytimer.mod: New file. + * gm2/iso/run/pass/trivialmodulus.mod: New file. + * gm2/iso/run/pass/tsize.mod: New file. + * gm2/iso/run/pass/tsize2.mod: New file. + * gm2/iso/run/pass/tstLength.mod: New file. + * gm2/iso/run/pass/unbounded.mod: New file. + * gm2/iso/run/pass/unbounded2.mod: New file. + * gm2/iso/run/pass/unbounded3.mod: New file. + * gm2/iso/run/pass/unbounded4.mod: New file. + * gm2/iso/run/pass/unbounded5.mod: New file. + * gm2/iso/run/pass/unbounded6.mod: New file. + * gm2/iso/run/pass/unbounded7.mod: New file. + * gm2/iso/run/pass/unbounded8.mod: New file. + * gm2/isocoroutines/run/pass/coroutine.mod: New file. + * gm2/isocoroutines/run/pass/isocoroutines-run-pass.exp: New file. + * gm2/isolib/run/pass/arraycons.mod: New file. + * gm2/isolib/run/pass/arraycons2.mod: New file. + * gm2/isolib/run/pass/arraycons3.mod: New file. + * gm2/isolib/run/pass/arraycons5.mod: New file. + * gm2/isolib/run/pass/arraycons6.mod: New file. + * gm2/isolib/run/pass/arraycons7.mod: New file. + * gm2/isolib/run/pass/arrayconst8.mod: New file. + * gm2/isolib/run/pass/exceptiontest.mod: New file. + * gm2/isolib/run/pass/filepos.mod: New file. + * gm2/isolib/run/pass/hello.mod: New file. + * gm2/isolib/run/pass/insert.mod: New file. + * gm2/isolib/run/pass/intconv.mod: New file. + * gm2/isolib/run/pass/isolib-run-pass.exp: New file. + * gm2/isolib/run/pass/longstr.mod: New file. + * gm2/isolib/run/pass/openlibc.mod: New file. + * gm2/isolib/run/pass/raise.mod: New file. + * gm2/isolib/run/pass/raise2.mod: New file. + * gm2/isolib/run/pass/readreal.mod: New file. + * gm2/isolib/run/pass/real1.mod: New file. + * gm2/isolib/run/pass/real2.mod: New file. + * gm2/isolib/run/pass/real3.mod: New file. + * gm2/isolib/run/pass/realconv.mod: New file. + * gm2/isolib/run/pass/realconv2.mod: New file. + * gm2/isolib/run/pass/realstr.mod: New file. + * gm2/isolib/run/pass/sigfig.mod: New file. + * gm2/isolib/run/pass/stringreal2.mod: New file. + * gm2/isolib/run/pass/termfile.mod-disabled: New file. + * gm2/isolib/run/pass/testappend.mod: New file. + * gm2/isolib/run/pass/testinput: New file. + * gm2/isolib/run/pass/testio.mod: New file. + * gm2/isolib/run/pass/testio2.mod: New file. + * gm2/isolib/run/pass/testmem.mod: New file. + * gm2/isolib/run/pass/testmem2.mod: New file. + * gm2/isolib/run/pass/testnumber: New file. + * gm2/isolib/run/pass/tiny.mod: New file. + * gm2/isolib/run/pass/tiny2.mod: New file. + * gm2/isolib/run/pass/tiny3.mod: New file. + * gm2/isolib/run/pass/tiny4.mod: New file. + * gm2/isolib/run/pass/tiny5.mod: New file. + * gm2/libs/a.def: New file. + * gm2/libs/a.mod: New file. + * gm2/libs/b.def: New file. + * gm2/libs/b.mod: New file. + * gm2/libs/testraw.mod: New file. + * gm2/link/externalscaffold/pass/hello.mod: New file. + * gm2/link/externalscaffold/pass/link-externalscaffold-pass.exp: New + file. + * gm2/link/externalscaffold/pass/scaffold.c: New file. + * gm2/link/pim/fail/import.mod: New file. + * gm2/link/pim/fail/link-pim-fail.exp: New file. + * gm2/link/pim/pass/link-pim-pass.exp: New file. + * gm2/link/pimc/pass/README: New file. + * gm2/link/pimc/pass/link-pimc-pass.exp: New file. + * gm2/link/pimc/pass/testdtoa.mod: New file. + * gm2/link/pimc/pass/testerrno.mod: New file. + * gm2/link/pimc/pass/testgetopt.mod: New file. + * gm2/link/pimc/pass/testldtoa.mod: New file. + * gm2/link/pimc/pass/testlibc.mod: New file. + * gm2/link/pimc/pass/testlibc2.mod: New file. + * gm2/link/pimc/pass/testsckt.mod: New file. + * gm2/link/pimc/pass/testselective.mod: New file. + * gm2/link/pimc/pass/testsysexceptions.mod: New file. + * gm2/link/pimc/pass/testtermios.mod: New file. + * gm2/link/pimc/pass/testunixargs.mod: New file. + * gm2/link/pimc/pass/testwrapc.mod: New file. + * gm2/linking/libarchive/pass/c.c: New file. + * gm2/linking/libarchive/pass/c.def: New file. + * gm2/linking/libarchive/pass/d.def: New file. + * gm2/linking/libarchive/pass/e.def: New file. + * gm2/linking/libarchive/pass/linking-libarchive-pass.exp: New file. + * gm2/linking/libarchive/pass/m.mod: New file. + * gm2/linking/verbose/pass/hello.mod: New file. + * gm2/linking/verbose/pass/linking-verbose-pass.exp: New file. + * gm2/pim/fail/TestLong3.mod: New file. + * gm2/pim/fail/TestLong6.mod: New file. + * gm2/pim/fail/a.def: New file. + * gm2/pim/fail/assignbounds.mod: New file. + * gm2/pim/fail/assignsubrange.mod: New file. + * gm2/pim/fail/assignsubrange2.mod: New file. + * gm2/pim/fail/b.def: New file. + * gm2/pim/fail/bad.def: New file. + * gm2/pim/fail/badconst.mod: New file. + * gm2/pim/fail/badfunc.mod: New file. + * gm2/pim/fail/badparam.mod: New file. + * gm2/pim/fail/badparam2.mod: New file. + * gm2/pim/fail/badtype.mod: New file. + * gm2/pim/fail/badtypes.mod: New file. + * gm2/pim/fail/bits.mod: New file. + * gm2/pim/fail/bits2.mod: New file. + * gm2/pim/fail/bits3.mod: New file. + * gm2/pim/fail/bits4.mod: New file. + * gm2/pim/fail/cardword.mod: New file. + * gm2/pim/fail/constbec.mod: New file. + * gm2/pim/fail/constsize3.mod: New file. + * gm2/pim/fail/constvar.mod: New file. + * gm2/pim/fail/convert5.mod: New file. + * gm2/pim/fail/dupconst.mod: New file. + * gm2/pim/fail/dupenum.mod: New file. + * gm2/pim/fail/dupfield.mod: New file. + * gm2/pim/fail/duptype.mod: New file. + * gm2/pim/fail/dupvar.mod: New file. + * gm2/pim/fail/expression.mod: New file. + * gm2/pim/fail/expression2.mod: New file. + * gm2/pim/fail/expression3.mod: New file. + * gm2/pim/fail/func.mod: New file. + * gm2/pim/fail/good.def: New file. + * gm2/pim/fail/good.mod: New file. + * gm2/pim/fail/import.mod: New file. + * gm2/pim/fail/inserttok.def: New file. + * gm2/pim/fail/inserttok.mod: New file. + * gm2/pim/fail/integer.mod: New file. + * gm2/pim/fail/keyword.mod: New file. + * gm2/pim/fail/longtypes2.mod: New file. + * gm2/pim/fail/longtypes3.mod: New file. + * gm2/pim/fail/multisetf.mod: New file. + * gm2/pim/fail/nested3.mod: New file. + * gm2/pim/fail/opaque.mod: New file. + * gm2/pim/fail/opaque2.mod: New file. + * gm2/pim/fail/opasfail.mod: New file. + * gm2/pim/fail/opcpfail.mod: New file. + * gm2/pim/fail/pim-fail.exp: New file. + * gm2/pim/fail/procmod.mod: New file. + * gm2/pim/fail/rotate.mod: New file. + * gm2/pim/fail/rotate2.mod: New file. + * gm2/pim/fail/setbec.mod: New file. + * gm2/pim/fail/setequiv.mod: New file. + * gm2/pim/fail/setsnulf.mod: New file. + * gm2/pim/fail/settype.mod: New file. + * gm2/pim/fail/shift.mod: New file. + * gm2/pim/fail/shift2.mod: New file. + * gm2/pim/fail/subrange7.mod: New file. + * gm2/pim/fail/unary.mod: New file. + * gm2/pim/fail/undeclared.mod: New file. + * gm2/pim/fail/val.mod: New file. + * gm2/pim/fail/val2.mod: New file. + * gm2/pim/fail/wordconst.mod: New file. + * gm2/pim/no-options/run/pass/integer.mod: New file. + * gm2/pim/no-options/run/pass/pim-no-options-run-pass.exp: New file. + * gm2/pim/options/bounds/fail/IdentifierBug.mod: New file. + * gm2/pim/options/bounds/fail/pim-options-bounds-fail.exp: New file. + * gm2/pim/options/optimize/run/pass/addition.def: New file. + * gm2/pim/options/optimize/run/pass/addition.mod: New file. + * gm2/pim/options/optimize/run/pass/concat.mod: New file. + * gm2/pim/options/optimize/run/pass/pim-options-optimize-run-pass.exp: + New file. + * gm2/pim/options/optimize/run/pass/testadd.mod: New file. + * gm2/pim/pass/ABSBug.mod: New file. + * gm2/pim/pass/TestLong4.mod: New file. + * gm2/pim/pass/TestLong7.mod: New file. + * gm2/pim/pass/TestLong8.mod: New file. + * gm2/pim/pass/TestLong9.mod: New file. + * gm2/pim/pass/another.mod: New file. + * gm2/pim/pass/aochar.mod: New file. + * gm2/pim/pass/array.mod: New file. + * gm2/pim/pass/array2.mod: New file. + * gm2/pim/pass/array3.mod: New file. + * gm2/pim/pass/array4.mod: New file. + * gm2/pim/pass/array5.mod: New file. + * gm2/pim/pass/array6.mod: New file. + * gm2/pim/pass/arraybool.mod: New file. + * gm2/pim/pass/arraychar.mod: New file. + * gm2/pim/pass/arraychar2.mod: New file. + * gm2/pim/pass/arraychar3.mod: New file. + * gm2/pim/pass/arrayconst1.mod: New file. + * gm2/pim/pass/arrayconst2.mod: New file. + * gm2/pim/pass/arrayconst3.mod: New file. + * gm2/pim/pass/arraydecl.mod: New file. + * gm2/pim/pass/arraydim.mod: New file. + * gm2/pim/pass/arraydyn.mod: New file. + * gm2/pim/pass/arrayeqiv.mod: New file. + * gm2/pim/pass/arrayfio.mod: New file. + * gm2/pim/pass/arrayhuge.mod: New file. + * gm2/pim/pass/arrayhuge2.mod: New file. + * gm2/pim/pass/arrayindex.mod: New file. + * gm2/pim/pass/arrayindirect.mod: New file. + * gm2/pim/pass/arrayinproc.mod: New file. + * gm2/pim/pass/arrayint.mod: New file. + * gm2/pim/pass/arrayofbyte.mod: New file. + * gm2/pim/pass/arrayofcard.mod: New file. + * gm2/pim/pass/arrayptr.mod: New file. + * gm2/pim/pass/arrayptr2.mod: New file. + * gm2/pim/pass/arrayptr3.mod: New file. + * gm2/pim/pass/arrayptr4.mod: New file. + * gm2/pim/pass/arrayptr5.mod: New file. + * gm2/pim/pass/arrayptr6.mod: New file. + * gm2/pim/pass/arrayrecord.mod: New file. + * gm2/pim/pass/arraytiny.c: New file. + * gm2/pim/pass/arraytiny.mod: New file. + * gm2/pim/pass/arraytype.mod: New file. + * gm2/pim/pass/arraytype2.mod: New file. + * gm2/pim/pass/arraytype3.mod: New file. + * gm2/pim/pass/arraytype4.mod: New file. + * gm2/pim/pass/assignment.mod: New file. + * gm2/pim/pass/assignment2.mod: New file. + * gm2/pim/pass/assignment3.mod: New file. + * gm2/pim/pass/assignment4.mod: New file. + * gm2/pim/pass/badpointer.mod: New file. + * gm2/pim/pass/bits32.def: New file. + * gm2/pim/pass/bits32.mod: New file. + * gm2/pim/pass/bits32i.mod: New file. + * gm2/pim/pass/bitset.mod: New file. + * gm2/pim/pass/bitset2.mod: New file. + * gm2/pim/pass/bitset3.mod: New file. + * gm2/pim/pass/bitset4.mod: New file. + * gm2/pim/pass/bitset5.mod: New file. + * gm2/pim/pass/bitsetfunc.mod: New file. + * gm2/pim/pass/block.mod: New file. + * gm2/pim/pass/blockindirect.mod: New file. + * gm2/pim/pass/builtin.def: New file. + * gm2/pim/pass/builtin.mod: New file. + * gm2/pim/pass/builtin2.mod: New file. + * gm2/pim/pass/builtinconst.mod: New file. + * gm2/pim/pass/bytearray.mod: New file. + * gm2/pim/pass/card.mod: New file. + * gm2/pim/pass/card2.mod: New file. + * gm2/pim/pass/char.mod: New file. + * gm2/pim/pass/char2.mod: New file. + * gm2/pim/pass/charproc.mod: New file. + * gm2/pim/pass/charset.mod: New file. + * gm2/pim/pass/charset2.mod: New file. + * gm2/pim/pass/charset3.mod: New file. + * gm2/pim/pass/checkparm.def: New file. + * gm2/pim/pass/checkparm.mod: New file. + * gm2/pim/pass/colour.mod: New file. + * gm2/pim/pass/comment1.mod: New file. + * gm2/pim/pass/complexarray.mod: New file. + * gm2/pim/pass/complextypes.mod: New file. + * gm2/pim/pass/constcast.mod: New file. + * gm2/pim/pass/constmax.mod: New file. + * gm2/pim/pass/constset.mod: New file. + * gm2/pim/pass/constset2.mod: New file. + * gm2/pim/pass/constset3.mod: New file. + * gm2/pim/pass/constsize.mod: New file. + * gm2/pim/pass/constsize2.mod: New file. + * gm2/pim/pass/convert.mod: New file. + * gm2/pim/pass/convert2.mod: New file. + * gm2/pim/pass/convert3.mod: New file. + * gm2/pim/pass/convert4.mod: New file. + * gm2/pim/pass/danglingelse.mod: New file. + * gm2/pim/pass/debug: New file. + * gm2/pim/pass/defset.def: New file. + * gm2/pim/pass/defset.mod: New file. + * gm2/pim/pass/deftype.mod: New file. + * gm2/pim/pass/divaddr.mod: New file. + * gm2/pim/pass/enum.mod: New file. + * gm2/pim/pass/enum2.mod: New file. + * gm2/pim/pass/enum3.mod: New file. + * gm2/pim/pass/file.mod: New file. + * gm2/pim/pass/filesystem.mod: New file. + * gm2/pim/pass/foo.mod: New file. + * gm2/pim/pass/foo2.mod: New file. + * gm2/pim/pass/for1.mod: New file. + * gm2/pim/pass/function.mod: New file. + * gm2/pim/pass/function2.mod: New file. + * gm2/pim/pass/gcd.def: New file. + * gm2/pim/pass/gcd.mod: New file. + * gm2/pim/pass/getconst.mod: New file. + * gm2/pim/pass/hello.mod: New file. + * gm2/pim/pass/impa.mod: New file. + * gm2/pim/pass/impb.def: New file. + * gm2/pim/pass/impb.mod: New file. + * gm2/pim/pass/impc.def: New file. + * gm2/pim/pass/impc.mod: New file. + * gm2/pim/pass/impd.mod: New file. + * gm2/pim/pass/impe.mod: New file. + * gm2/pim/pass/impf.mod: New file. + * gm2/pim/pass/impg.mod: New file. + * gm2/pim/pass/imph.mod: New file. + * gm2/pim/pass/impi.mod: New file. + * gm2/pim/pass/impj.mod: New file. + * gm2/pim/pass/impk.mod: New file. + * gm2/pim/pass/impl.mod: New file. + * gm2/pim/pass/impm.mod: New file. + * gm2/pim/pass/impn.def: New file. + * gm2/pim/pass/impn.mod: New file. + * gm2/pim/pass/impo.mod: New file. + * gm2/pim/pass/imports.mod: New file. + * gm2/pim/pass/impp.def: New file. + * gm2/pim/pass/impp.mod: New file. + * gm2/pim/pass/impq.def: New file. + * gm2/pim/pass/impq.mod: New file. + * gm2/pim/pass/incompsets.mod: New file. + * gm2/pim/pass/index.mod: New file. + * gm2/pim/pass/index2.mod: New file. + * gm2/pim/pass/indirect.mod: New file. + * gm2/pim/pass/inner.mod: New file. + * gm2/pim/pass/inner2.mod: New file. + * gm2/pim/pass/int.mod: New file. + * gm2/pim/pass/largeset.mod: New file. + * gm2/pim/pass/largeset1.mod: New file. + * gm2/pim/pass/largeset2.mod: New file. + * gm2/pim/pass/largeset3.mod: New file. + * gm2/pim/pass/largeset4.mod: New file. + * gm2/pim/pass/largeset5.mod: New file. + * gm2/pim/pass/largeset6.mod: New file. + * gm2/pim/pass/largeset7.mod: New file. + * gm2/pim/pass/localmod.mod: New file. + * gm2/pim/pass/localproc.mod: New file. + * gm2/pim/pass/localvar.mod: New file. + * gm2/pim/pass/log: New file. + * gm2/pim/pass/longint.mod: New file. + * gm2/pim/pass/longint2.mod: New file. + * gm2/pim/pass/longmm.mod: New file. + * gm2/pim/pass/longreal.mod: New file. + * gm2/pim/pass/longtypes.mod: New file. + * gm2/pim/pass/longtypes3.mod: New file. + * gm2/pim/pass/longtypes4.mod: New file. + * gm2/pim/pass/longtypes5.mod: New file. + * gm2/pim/pass/longtypes6.mod: New file. + * gm2/pim/pass/loopexit.mod: New file. + * gm2/pim/pass/math.mod: New file. + * gm2/pim/pass/maxlongint.mod: New file. + * gm2/pim/pass/maxreal.mod: New file. + * gm2/pim/pass/maxreal2.mod: New file. + * gm2/pim/pass/minmaxconst.mod: New file. + * gm2/pim/pass/minmaxconst2.mod: New file. + * gm2/pim/pass/modaddr.mod: New file. + * gm2/pim/pass/multaddr.mod: New file. + * gm2/pim/pass/multiple.mod: New file. + * gm2/pim/pass/multiset.mod: New file. + * gm2/pim/pass/multtypes.mod: New file. + * gm2/pim/pass/mydef.def: New file. + * gm2/pim/pass/negatives.def: New file. + * gm2/pim/pass/negatives.mod: New file. + * gm2/pim/pass/nested.mod: New file. + * gm2/pim/pass/nested2.mod: New file. + * gm2/pim/pass/nested3.mod: New file. + * gm2/pim/pass/nested4.mod: New file. + * gm2/pim/pass/nested5.mod: New file. + * gm2/pim/pass/nested6.mod: New file. + * gm2/pim/pass/nested7.mod: New file. + * gm2/pim/pass/nestedfor.mod: New file. + * gm2/pim/pass/nestedif.mod: New file. + * gm2/pim/pass/nestedset.mod: New file. + * gm2/pim/pass/onezero.mod: New file. + * gm2/pim/pass/opaque.def: New file. + * gm2/pim/pass/opaque.mod: New file. + * gm2/pim/pass/opaque2.mod: New file. + * gm2/pim/pass/opaquetype.def: New file. + * gm2/pim/pass/opaquetype.mod: New file. + * gm2/pim/pass/param.mod: New file. + * gm2/pim/pass/param2.mod: New file. + * gm2/pim/pass/param3.mod: New file. + * gm2/pim/pass/parambool.mod: New file. + * gm2/pim/pass/paramreal.mod: New file. + * gm2/pim/pass/pim-pass.exp: New file. + * gm2/pim/pass/pimimp.mod: New file. + * gm2/pim/pass/pointer.mod: New file. + * gm2/pim/pass/procadr.mod: New file. + * gm2/pim/pass/procconv.mod: New file. + * gm2/pim/pass/procconv2.mod: New file. + * gm2/pim/pass/procedure1.mod: New file. + * gm2/pim/pass/procedure2.mod: New file. + * gm2/pim/pass/procindirect.mod: New file. + * gm2/pim/pass/procmod.mod: New file. + * gm2/pim/pass/procmod2.mod: New file. + * gm2/pim/pass/procmod3.mod: New file. + * gm2/pim/pass/procmod31.mod: New file. + * gm2/pim/pass/procmod4.mod: New file. + * gm2/pim/pass/procmod5.mod: New file. + * gm2/pim/pass/procmod6.def: New file. + * gm2/pim/pass/procmod6.mod: New file. + * gm2/pim/pass/procmod7.mod: New file. + * gm2/pim/pass/procmod8.mod: New file. + * gm2/pim/pass/procmod9.mod: New file. + * gm2/pim/pass/proctype.mod: New file. + * gm2/pim/pass/proctype2.def: New file. + * gm2/pim/pass/proctype3.mod: New file. + * gm2/pim/pass/proctype4.mod: New file. + * gm2/pim/pass/program.mod: New file. + * gm2/pim/pass/program2.mod: New file. + * gm2/pim/pass/ptrarray.mod: New file. + * gm2/pim/pass/ptrarray2.mod: New file. + * gm2/pim/pass/ptrarray3.mod: New file. + * gm2/pim/pass/ptrcard.mod: New file. + * gm2/pim/pass/quads.def: New file. + * gm2/pim/pass/quads.mod: New file. + * gm2/pim/pass/real.mod: New file. + * gm2/pim/pass/real2.mod: New file. + * gm2/pim/pass/real3.mod: New file. + * gm2/pim/pass/realconst.mod: New file. + * gm2/pim/pass/realneg.mod: New file. + * gm2/pim/pass/realneg2.mod: New file. + * gm2/pim/pass/realone.mod: New file. + * gm2/pim/pass/realsize.mod: New file. + * gm2/pim/pass/record1.mod: New file. + * gm2/pim/pass/record10.mod: New file. + * gm2/pim/pass/record11.mod: New file. + * gm2/pim/pass/record12.def: New file. + * gm2/pim/pass/record13.def: New file. + * gm2/pim/pass/record14.def: New file. + * gm2/pim/pass/record15.def: New file. + * gm2/pim/pass/record16.def: New file. + * gm2/pim/pass/record2.mod: New file. + * gm2/pim/pass/record3.mod: New file. + * gm2/pim/pass/record4.mod: New file. + * gm2/pim/pass/record5.mod: New file. + * gm2/pim/pass/record6.mod: New file. + * gm2/pim/pass/record7.mod: New file. + * gm2/pim/pass/record8.mod: New file. + * gm2/pim/pass/record9.mod: New file. + * gm2/pim/pass/recordarray.c: New file. + * gm2/pim/pass/recordarray.mod: New file. + * gm2/pim/pass/recordarray2.mod: New file. + * gm2/pim/pass/redef.mod: New file. + * gm2/pim/pass/set10.mod: New file. + * gm2/pim/pass/set11.def: New file. + * gm2/pim/pass/set11.mod: New file. + * gm2/pim/pass/set12.mod: New file. + * gm2/pim/pass/set4.mod: New file. + * gm2/pim/pass/set5.mod: New file. + * gm2/pim/pass/set6.mod: New file. + * gm2/pim/pass/set7.mod: New file. + * gm2/pim/pass/set8.mod: New file. + * gm2/pim/pass/set9.mod: New file. + * gm2/pim/pass/setchar.mod: New file. + * gm2/pim/pass/setchar10.mod: New file. + * gm2/pim/pass/setchar11.mod: New file. + * gm2/pim/pass/setchar3.mod: New file. + * gm2/pim/pass/setchar4.mod: New file. + * gm2/pim/pass/setchar5.mod: New file. + * gm2/pim/pass/setchar7.mod: New file. + * gm2/pim/pass/setchar8.mod: New file. + * gm2/pim/pass/setchar9.mod: New file. + * gm2/pim/pass/setconst.mod: New file. + * gm2/pim/pass/setconst2.mod: New file. + * gm2/pim/pass/setconst3.mod: New file. + * gm2/pim/pass/setenum.mod: New file. + * gm2/pim/pass/setimp.mod: New file. + * gm2/pim/pass/setimp2.mod: New file. + * gm2/pim/pass/setofchar.mod: New file. + * gm2/pim/pass/setoverflow.mod: New file. + * gm2/pim/pass/sets.mod: New file. + * gm2/pim/pass/sets2.mod: New file. + * gm2/pim/pass/sets3.mod: New file. + * gm2/pim/pass/sets4.mod: New file. + * gm2/pim/pass/sets5.mod: New file. + * gm2/pim/pass/sets6.mod: New file. + * gm2/pim/pass/setsnul.mod: New file. + * gm2/pim/pass/settest1.mod: New file. + * gm2/pim/pass/settest2.mod: New file. + * gm2/pim/pass/settest3.mod: New file. + * gm2/pim/pass/simpleproc.mod: New file. + * gm2/pim/pass/sizes.mod: New file. + * gm2/pim/pass/sizetype.mod: New file. + * gm2/pim/pass/smallset1.mod: New file. + * gm2/pim/pass/smallset2.mod: New file. + * gm2/pim/pass/smallset3.mod: New file. + * gm2/pim/pass/smallset4.mod: New file. + * gm2/pim/pass/smallset5.mod: New file. + * gm2/pim/pass/smallset6.mod: New file. + * gm2/pim/pass/smallset7.mod: New file. + * gm2/pim/pass/stabs.mod: New file. + * gm2/pim/pass/stdio.mod: New file. + * gm2/pim/pass/str1.mod: New file. + * gm2/pim/pass/str2.mod: New file. + * gm2/pim/pass/str3.mod: New file. + * gm2/pim/pass/str4.mod: New file. + * gm2/pim/pass/str5.mod: New file. + * gm2/pim/pass/stressset.mod: New file. + * gm2/pim/pass/stringassign.mod: New file. + * gm2/pim/pass/stringopaq.mod: New file. + * gm2/pim/pass/strings.mod: New file. + * gm2/pim/pass/strparam.def: New file. + * gm2/pim/pass/strparam.mod: New file. + * gm2/pim/pass/subrange.mod: New file. + * gm2/pim/pass/subrange10.mod: New file. + * gm2/pim/pass/subrange11.mod: New file. + * gm2/pim/pass/subrange12.mod: New file. + * gm2/pim/pass/subrange14.mod: New file. + * gm2/pim/pass/subrange15.mod: New file. + * gm2/pim/pass/subrange16.mod: New file. + * gm2/pim/pass/subrange17.mod: New file. + * gm2/pim/pass/subrange2.mod: New file. + * gm2/pim/pass/subrange3.mod: New file. + * gm2/pim/pass/subrange4.mod: New file. + * gm2/pim/pass/subrange5.mod: New file. + * gm2/pim/pass/subrange6.mod: New file. + * gm2/pim/pass/subrange7.mod: New file. + * gm2/pim/pass/subrange8.mod: New file. + * gm2/pim/pass/subrange9.mod: New file. + * gm2/pim/pass/test2recursive.mod: New file. + * gm2/pim/pass/testabs.mod: New file. + * gm2/pim/pass/testbuiltin.mod: New file. + * gm2/pim/pass/testbuiltin2.mod: New file. + * gm2/pim/pass/testbuiltstr.mod: New file. + * gm2/pim/pass/testcap.mod: New file. + * gm2/pim/pass/testcap2.mod: New file. + * gm2/pim/pass/testcard.mod: New file. + * gm2/pim/pass/testcard2.mod: New file. + * gm2/pim/pass/testcard3.mod: New file. + * gm2/pim/pass/testcard4.mod: New file. + * gm2/pim/pass/testcard5.mod: New file. + * gm2/pim/pass/testcase.mod: New file. + * gm2/pim/pass/testcase2.mod: New file. + * gm2/pim/pass/testcase3.mod: New file. + * gm2/pim/pass/testcase4.mod: New file. + * gm2/pim/pass/testchar.mod: New file. + * gm2/pim/pass/testfloat.mod: New file. + * gm2/pim/pass/testfloat2.mod: New file. + * gm2/pim/pass/testfloat3.mod: New file. + * gm2/pim/pass/testfloat4.mod: New file. + * gm2/pim/pass/testfor.mod: New file. + * gm2/pim/pass/testimpvar.mod: New file. + * gm2/pim/pass/testlong3.mod: New file. + * gm2/pim/pass/testmod.mod: New file. + * gm2/pim/pass/testmod2.mod: New file. + * gm2/pim/pass/testodd.mod: New file. + * gm2/pim/pass/testopaque.mod: New file. + * gm2/pim/pass/testopaque2.mod: New file. + * gm2/pim/pass/testopaque3.mod: New file. + * gm2/pim/pass/testord.mod: New file. + * gm2/pim/pass/testparam.mod: New file. + * gm2/pim/pass/testparam2.mod: New file. + * gm2/pim/pass/testparam3.mod: New file. + * gm2/pim/pass/testpimsize.mod: New file. + * gm2/pim/pass/testrecursive.def: New file. + * gm2/pim/pass/testrecursive.mod: New file. + * gm2/pim/pass/testreturnstr.mod: New file. + * gm2/pim/pass/testset.mod: New file. + * gm2/pim/pass/testshort.mod: New file. + * gm2/pim/pass/testsinf.mod: New file. + * gm2/pim/pass/testsinl.mod: New file. + * gm2/pim/pass/testsize.mod: New file. + * gm2/pim/pass/testvar.mod: New file. + * gm2/pim/pass/testvarin.mod: New file. + * gm2/pim/pass/timeio.mod: New file. + * gm2/pim/pass/timeio2.mod: New file. + * gm2/pim/pass/timeio3.mod: New file. + * gm2/pim/pass/timeio4.mod: New file. + * gm2/pim/pass/timeio5.mod: New file. + * gm2/pim/pass/timeio6.mod: New file. + * gm2/pim/pass/timeio7.mod: New file. + * gm2/pim/pass/timeio8.mod: New file. + * gm2/pim/pass/timeio9.mod: New file. + * gm2/pim/pass/tinyalloc.mod: New file. + * gm2/pim/pass/tinyarray.mod: New file. + * gm2/pim/pass/tinyarray2.mod: New file. + * gm2/pim/pass/tinyarray3.mod: New file. + * gm2/pim/pass/tinyarray4.mod: New file. + * gm2/pim/pass/tinyarray5.mod: New file. + * gm2/pim/pass/tinyarray6.mod: New file. + * gm2/pim/pass/tinyassign.def: New file. + * gm2/pim/pass/tinyassign.mod: New file. + * gm2/pim/pass/tinyassign2.mod: New file. + * gm2/pim/pass/tinyassign3.mod: New file. + * gm2/pim/pass/tinyassign4.mod: New file. + * gm2/pim/pass/tinyassign5.mod: New file. + * gm2/pim/pass/tinybitset.mod: New file. + * gm2/pim/pass/tinyelse.mod: New file. + * gm2/pim/pass/tinyenum.mod: New file. + * gm2/pim/pass/tinyfor.mod: New file. + * gm2/pim/pass/tinyfor2.mod: New file. + * gm2/pim/pass/tinyfor3.mod: New file. + * gm2/pim/pass/tinyhalt.mod: New file. + * gm2/pim/pass/tinyhello.mod: New file. + * gm2/pim/pass/tinyif.mod: New file. + * gm2/pim/pass/tinyif2.mod: New file. + * gm2/pim/pass/tinyif3.mod: New file. + * gm2/pim/pass/tinyif4.mod: New file. + * gm2/pim/pass/tinyif5.mod: New file. + * gm2/pim/pass/tinyif6.mod: New file. + * gm2/pim/pass/tinyif7.mod: New file. + * gm2/pim/pass/tinyif8.mod: New file. + * gm2/pim/pass/tinyimp.mod: New file. + * gm2/pim/pass/tinylit.mod: New file. + * gm2/pim/pass/tinylit2.mod: New file. + * gm2/pim/pass/tinymax.mod: New file. + * gm2/pim/pass/tinymod.mod: New file. + * gm2/pim/pass/tinynode.mod: New file. + * gm2/pim/pass/tinyparam.mod: New file. + * gm2/pim/pass/tinyparam2.mod: New file. + * gm2/pim/pass/tinyplus.mod: New file. + * gm2/pim/pass/tinyproc.mod: New file. + * gm2/pim/pass/tinyproc2.mod: New file. + * gm2/pim/pass/tinyproc3.mod: New file. + * gm2/pim/pass/tinyproc4.mod: New file. + * gm2/pim/pass/tinyproc5.mod: New file. + * gm2/pim/pass/tinyproc6.mod: New file. + * gm2/pim/pass/tinyptr.mod: New file. + * gm2/pim/pass/tinyreal.mod: New file. + * gm2/pim/pass/tinyrecord.mod: New file. + * gm2/pim/pass/tinyrepeat.mod: New file. + * gm2/pim/pass/tinyset6.mod: New file. + * gm2/pim/pass/tinyset7.mod: New file. + * gm2/pim/pass/tinystate.mod: New file. + * gm2/pim/pass/tinysub.def: New file. + * gm2/pim/pass/tinytest.mod: New file. + * gm2/pim/pass/tinytrue.mod: New file. + * gm2/pim/pass/tinyvar.mod: New file. + * gm2/pim/pass/tinyvar2.mod: New file. + * gm2/pim/pass/tinyvar3.mod: New file. + * gm2/pim/pass/tinyvar4.mod: New file. + * gm2/pim/pass/tinyvar5.mod: New file. + * gm2/pim/pass/tinyvarient.mod: New file. + * gm2/pim/pass/tinyvarient2.mod: New file. + * gm2/pim/pass/tinyvarient3.def: New file. + * gm2/pim/pass/tinyvarient3.mod: New file. + * gm2/pim/pass/tinyvarient4.mod: New file. + * gm2/pim/pass/tinyvarient5.mod: New file. + * gm2/pim/pass/tinyvarient6.mod: New file. + * gm2/pim/pass/tinywhile.mod: New file. + * gm2/pim/pass/tinywith.mod: New file. + * gm2/pim/pass/tinywith2.mod: New file. + * gm2/pim/pass/tinywith3.mod: New file. + * gm2/pim/pass/tinywith4.mod: New file. + * gm2/pim/pass/tinywith5.mod: New file. + * gm2/pim/pass/tinywith6.mod: New file. + * gm2/pim/pass/trunc.mod: New file. + * gm2/pim/pass/try: New file. + * gm2/pim/pass/typeequiv.mod: New file. + * gm2/pim/pass/typeequiv2.mod: New file. + * gm2/pim/pass/typeequiv3.mod: New file. + * gm2/pim/pass/typeonly.def: New file. + * gm2/pim/pass/typeonly.mod: New file. + * gm2/pim/pass/typesize.mod: New file. + * gm2/pim/pass/unbounded.mod: New file. + * gm2/pim/pass/unbounded2.mod: New file. + * gm2/pim/pass/unbounded3.mod: New file. + * gm2/pim/pass/v.def: New file. + * gm2/pim/pass/varaddress.mod: New file. + * gm2/pim/pass/varaddress2.mod: New file. + * gm2/pim/pass/varaddress3.mod: New file. + * gm2/pim/pass/varcard.mod: New file. + * gm2/pim/pass/variant9.mod: New file. + * gm2/pim/pass/varient.mod: New file. + * gm2/pim/pass/varient2.mod: New file. + * gm2/pim/pass/varient3.mod: New file. + * gm2/pim/pass/varient4.mod: New file. + * gm2/pim/pass/varient5.mod: New file. + * gm2/pim/pass/varient6.mod: New file. + * gm2/pim/pass/varient7.mod: New file. + * gm2/pim/pass/varient8.mod: New file. + * gm2/pim/pass/varin.def: New file. + * gm2/pim/pass/varin.mod: New file. + * gm2/pim/pass/varint.mod: New file. + * gm2/pim/pass/wincat.mod: New file. + * gm2/pim/pass/with.mod: New file. + * gm2/pim/pass/wordconst.mod: New file. + * gm2/pim/run/fail/case.mod: New file. + * gm2/pim/run/fail/nil.mod: New file. + * gm2/pim/run/fail/pim-run-fail.exp: New file. + * gm2/pim/run/pass/Countdown.mod: New file. + * gm2/pim/run/pass/EndFor.def: New file. + * gm2/pim/run/pass/EndFor.mod: New file. + * gm2/pim/run/pass/EnumTest.mod: New file. + * gm2/pim/run/pass/For1.mod: New file. + * gm2/pim/run/pass/For10.mod: New file. + * gm2/pim/run/pass/For11.mod: New file. + * gm2/pim/run/pass/For12.mod: New file. + * gm2/pim/run/pass/For2.mod: New file. + * gm2/pim/run/pass/For3.mod: New file. + * gm2/pim/run/pass/For4.mod: New file. + * gm2/pim/run/pass/For5.mod: New file. + * gm2/pim/run/pass/For6.mod: New file. + * gm2/pim/run/pass/For7.mod: New file. + * gm2/pim/run/pass/For8.mod: New file. + * gm2/pim/run/pass/For9.mod: New file. + * gm2/pim/run/pass/FpuIOBug.mod: New file. + * gm2/pim/run/pass/MaxReal.mod: New file. + * gm2/pim/run/pass/MaxReal2.mod: New file. + * gm2/pim/run/pass/TestLong.mod: New file. + * gm2/pim/run/pass/TestLong2.mod: New file. + * gm2/pim/run/pass/TestLong4.mod: New file. + * gm2/pim/run/pass/TestLong5.mod: New file. + * gm2/pim/run/pass/addrarray.mod: New file. + * gm2/pim/run/pass/arraychar.mod: New file. + * gm2/pim/run/pass/arraychar2.mod: New file. + * gm2/pim/run/pass/arrayrecord.mod: New file. + * gm2/pim/run/pass/bitsettest.def: New file. + * gm2/pim/run/pass/bitsettest.mod: New file. + * gm2/pim/run/pass/bytearray.mod: New file. + * gm2/pim/run/pass/constdynstr.mod: New file. + * gm2/pim/run/pass/conststr.mod: New file. + * gm2/pim/run/pass/conststr2.mod: New file. + * gm2/pim/run/pass/cycles.mod: New file. + * gm2/pim/run/pass/dec.mod: New file. + * gm2/pim/run/pass/enums.mod: New file. + * gm2/pim/run/pass/incsubrange.def: New file. + * gm2/pim/run/pass/incsubrange.mod: New file. + * gm2/pim/run/pass/index3.mod: New file. + * gm2/pim/run/pass/int16.mod: New file. + * gm2/pim/run/pass/int32.mod: New file. + * gm2/pim/run/pass/int8.mod: New file. + * gm2/pim/run/pass/line.mod: New file. + * gm2/pim/run/pass/long.mod: New file. + * gm2/pim/run/pass/longfor.mod: New file. + * gm2/pim/run/pass/longtypes10.mod: New file. + * gm2/pim/run/pass/longtypes7.mod: New file. + * gm2/pim/run/pass/longtypes8.mod: New file. + * gm2/pim/run/pass/longtypes9.mod: New file. + * gm2/pim/run/pass/math.mod: New file. + * gm2/pim/run/pass/math2.mod: New file. + * gm2/pim/run/pass/mathconst.mod: New file. + * gm2/pim/run/pass/minhello.mod: New file. + * gm2/pim/run/pass/minimal.mod: New file. + * gm2/pim/run/pass/nestedproc.mod: New file. + * gm2/pim/run/pass/nestedproc2.mod: New file. + * gm2/pim/run/pass/nestedproc3.mod: New file. + * gm2/pim/run/pass/nestedproc4.mod: New file. + * gm2/pim/run/pass/nestedproc5.mod: New file. + * gm2/pim/run/pass/nestedproc6.mod: New file. + * gm2/pim/run/pass/nestedproc7.mod: New file. + * gm2/pim/run/pass/nestedwith.mod: New file. + * gm2/pim/run/pass/nestedwith2.mod: New file. + * gm2/pim/run/pass/nestedwith3.mod: New file. + * gm2/pim/run/pass/nothing.mod: New file. + * gm2/pim/run/pass/pim-run-pass.exp: New file. + * gm2/pim/run/pass/prog31ex.mod: New file. + * gm2/pim/run/pass/rts.mod: New file. + * gm2/pim/run/pass/setcritical.mod: New file. + * gm2/pim/run/pass/setequiv.mod: New file. + * gm2/pim/run/pass/str6.mod: New file. + * gm2/pim/run/pass/stringaddr.mod: New file. + * gm2/pim/run/pass/stringaddr2.def: New file. + * gm2/pim/run/pass/stringaddr2.mod: New file. + * gm2/pim/run/pass/stripped.mod: New file. + * gm2/pim/run/pass/sys.def: New file. + * gm2/pim/run/pass/sys.mod: New file. + * gm2/pim/run/pass/t.def: New file. + * gm2/pim/run/pass/testaddr.mod: New file. + * gm2/pim/run/pass/testaddr2.mod: New file. + * gm2/pim/run/pass/testaddr3.mod: New file. + * gm2/pim/run/pass/testarray.mod: New file. + * gm2/pim/run/pass/testarray2.mod: New file. + * gm2/pim/run/pass/testarray3.mod: New file. + * gm2/pim/run/pass/testarray4.mod: New file. + * gm2/pim/run/pass/testarray5.mod: New file. + * gm2/pim/run/pass/testavail.mod: New file. + * gm2/pim/run/pass/testdiv.mod: New file. + * gm2/pim/run/pass/testfpufunc.mod: New file. + * gm2/pim/run/pass/testfpufunc2.mod: New file. + * gm2/pim/run/pass/testlarge.mod: New file. + * gm2/pim/run/pass/testlarge2.mod: New file. + * gm2/pim/run/pass/testnextproc.mod: New file. + * gm2/pim/run/pass/testparam.mod: New file. + * gm2/pim/run/pass/testreturnstr.mod: New file. + * gm2/pim/run/pass/testreturnstr2.mod: New file. + * gm2/pim/run/pass/testreturnstr3.def: New file. + * gm2/pim/run/pass/testreturnstr3.mod: New file. + * gm2/pim/run/pass/testsize.mod: New file. + * gm2/pim/run/pass/testsize2.mod: New file. + * gm2/pim/run/pass/testsize3.mod: New file. + * gm2/pim/run/pass/testsize4.mod: New file. + * gm2/pim/run/pass/testtbitsize.mod: New file. + * gm2/pim/run/pass/tinywith.mod: New file. + * gm2/pim/run/pass/unbounded.mod: New file. + * gm2/pim/run/pass/varaddress3.mod: New file. + * gm2/pim/run/pass/varparam2.mod: New file. + * gm2/pim/run/pass/varparam3.mod: New file. + * gm2/pim/run/pass/varparm.mod: New file. + * gm2/pim/run/pass/wr.mod: New file. + * gm2/pimcoroutines/pass/imports.mod: New file. + * gm2/pimcoroutines/pass/imports2.mod: New file. + * gm2/pimcoroutines/pass/pimcoroutines-pass.exp: New file. + * gm2/pimcoroutines/run/pass/pimcoroutines-run-pass.exp: New file. + * gm2/pimcoroutines/run/pass/testtime.mod: New file. + * gm2/pimlib/base/run/pass/FIO.mod: New file. + * gm2/pimlib/base/run/pass/StrLib.mod: New file. + * gm2/pimlib/base/run/pass/pimlib-base-run-pass.exp: New file. + * gm2/pimlib/base/run/pass/testconvert.mod: New file. + * gm2/pimlib/coroutines/pass/pimlib-coroutines-pass.exp: New file. + * gm2/pimlib/coroutines/pass/priority.mod: New file. + * gm2/pimlib/coroutines/pass/priority2.mod: New file. + * gm2/pimlib/coroutines/pass/priority3.def: New file. + * gm2/pimlib/coroutines/pass/priority3.mod: New file. + * gm2/pimlib/logitech/pass/LogitechLong.mod: New file. + * gm2/pimlib/logitech/pass/hello.mod: New file. + * gm2/pimlib/logitech/pass/pimlib-logitech-pass.exp: New file. + * gm2/pimlib/logitech/run/pass/bbits.mod: New file. + * gm2/pimlib/logitech/run/pass/hello.mod: New file. + * gm2/pimlib/logitech/run/pass/helloinout.mod: New file. + * gm2/pimlib/logitech/run/pass/intb.mod: New file. + * gm2/pimlib/logitech/run/pass/pimlib-logitech-run-pass.exp: New file. + * gm2/pimlib/logitech/run/pass/realconv.mod: New file. + * gm2/pimlib/logitech/run/pass/realinput.mod: New file. + * gm2/pimlib/logitech/run/pass/realinput2.mod: New file. + * gm2/pimlib/logitech/run/pass/realinput3.mod: New file. + * gm2/pimlib/logitech/run/pass/rename.mod: New file. + * gm2/pimlib/logitech/run/pass/timedate.mod: New file. + * gm2/pimlib/logitech/run/pass/writeoct.mod: New file. + * gm2/pimlib/pass/pimlib-pass.exp: New file. + * gm2/pimlib/run/pass/format.mod: New file. + * gm2/pimlib/run/pass/limittests.c: New file. + * gm2/pimlib/run/pass/limittests.mod: New file. + * gm2/pimlib/run/pass/longreal.mod: New file. + * gm2/pimlib/run/pass/pimlib-run-pass.exp: New file. + * gm2/pimlib/run/pass/test.c: New file. + * gm2/pimlib/run/pass/testreal.mod: New file. + * gm2/pimlib/run/pass/testreal2.mod: New file. + * gm2/pimlib/run/pass/testreal4.mod: New file. + * gm2/projects/README: New file. + * gm2/projects/iso/run/pass/halma/halma.mod: New file. + * gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp: + New file. + * gm2/projects/iso/run/pass/hello/hello.mod: New file. + * gm2/projects/iso/run/pass/hello/projects-iso-run-pass-hello.exp: + New file. + * gm2/projects/log/run/pass/hello/hello.mod: New file. + * gm2/projects/log/run/pass/hello/projects-log-run-pass-hello.exp: + New file. + * gm2/projects/pim/run/pass/hello/hello.mod: New file. + * gm2/projects/pim/run/pass/hello/projects-pim-run-pass-hello.exp: + New file. + * gm2/projects/pim/run/pass/random/AdvMap.def: New file. + * gm2/projects/pim/run/pass/random/AdvMap.mod: New file. + * gm2/projects/pim/run/pass/random/BoxMap.def: New file. + * gm2/projects/pim/run/pass/random/BoxMap.mod: New file. + * gm2/projects/pim/run/pass/random/Chance.def: New file. + * gm2/projects/pim/run/pass/random/Chance.mod: New file. + * gm2/projects/pim/run/pass/random/Geometry.def: New file. + * gm2/projects/pim/run/pass/random/Geometry.mod: New file. + * gm2/projects/pim/run/pass/random/MakeBoxes.def: New file. + * gm2/projects/pim/run/pass/random/MakeBoxes.mod: New file. + * gm2/projects/pim/run/pass/random/Map.mod: New file. + * gm2/projects/pim/run/pass/random/MapOptions.def: New file. + * gm2/projects/pim/run/pass/random/MapOptions.mod: New file. + * gm2/projects/pim/run/pass/random/Options.def: New file. + * gm2/projects/pim/run/pass/random/Options.mod: New file. + * gm2/projects/pim/run/pass/random/RoomMap.def: New file. + * gm2/projects/pim/run/pass/random/RoomMap.mod: New file. + * gm2/projects/pim/run/pass/random/StoreCoords.def: New file. + * gm2/projects/pim/run/pass/random/StoreCoords.mod: New file. + * gm2/projects/pim/run/pass/random/WriteMap.def: New file. + * gm2/projects/pim/run/pass/random/WriteMap.mod: New file. + * gm2/projects/pim/run/pass/random/projects-pim-run-pass-random.exp: + New file. + * gm2/quads/run/pass/becomes.mod: New file. + * gm2/quads/run/pass/param.mod: New file. + * gm2/quads/run/pass/quads-run-pass.exp: New file. + * gm2/quads/run/pass/return.mod: New file. + * gm2/recover/pass/cannot-solve/begin.mod: New file. + * gm2/recover/pass/cannot-solve/statementsemi.mod: New file. + * gm2/recover/pass/end2.mod: New file. + * gm2/recover/pass/of.mod: New file. + * gm2/recover/pass/procsemi.mod: New file. + * gm2/recover/pass/recover-pass.exp: New file. + * gm2/recover/pass/rrbra.mod: New file. + * gm2/recover/pass/rsbra.mod: New file. + * gm2/recover/pass/semi.mod: New file. + * gm2/run/fail/list.mod: New file. + * gm2/run/fail/options: New file. + * gm2/run/fail/testdec.mod: New file. + * gm2/run/fail/testfunc.mod: New file. + * gm2/run/pass/cycles.mod: New file. + * gm2/run/pass/line.mod: New file. + * gm2/run/pass/nestedproc.mod: New file. + * gm2/run/pass/nestedproc2.mod: New file. + * gm2/run/pass/nestedproc3.mod: New file. + * gm2/run/pass/nestedproc5.mod: New file. + * gm2/run/pass/nestedset.mod: New file. + * gm2/run/pass/nothing.mod: New file. + * gm2/run/pass/options: New file. + * gm2/run/pass/prog31ex.mod: New file. + * gm2/run/pass/rts.mod: New file. + * gm2/run/pass/stripped.mod: New file. + * gm2/run/pass/testavail.mod: New file. + * gm2/run/pass/testfpufunc.mod: New file. + * gm2/run/pass/testfpufunc2.mod: New file. + * gm2/run/pass/testnextproc.mod: New file. + * gm2/run/pass/testparam.mod: New file. + * gm2/run/pass/testsize.mod: New file. + * gm2/run/pass/testsize2.mod: New file. + * gm2/run/pass/testsize3.mod: New file. + * gm2/run/pass/wr.mod: New file. + * gm2/scripts/addit: New file. + * gm2/scripts/comp: New file. + * gm2/scripts/compile: New file. + * gm2/scripts/compileiso: New file. + * gm2/scripts/link: New file. + * gm2/scripts/regression: New file. + * gm2/scripts/subit: New file. + * gm2/sets/run/pass/multisetarith.mod: New file. + * gm2/sets/run/pass/multisetarith2.mod: New file. + * gm2/sets/run/pass/multisetarith3.mod: New file. + * gm2/sets/run/pass/multisetarith4.mod: New file. + * gm2/sets/run/pass/multisetrotate.mod: New file. + * gm2/sets/run/pass/multisetrotate2.mod: New file. + * gm2/sets/run/pass/multisetrotate3.mod: New file. + * gm2/sets/run/pass/multisetrotate4.mod: New file. + * gm2/sets/run/pass/multisetshift.mod: New file. + * gm2/sets/run/pass/multisetshift2.mod: New file. + * gm2/sets/run/pass/multisimple.mod: New file. + * gm2/sets/run/pass/multisimple2.mod: New file. + * gm2/sets/run/pass/multisimple3.mod: New file. + * gm2/sets/run/pass/multisimple4.mod: New file. + * gm2/sets/run/pass/multisimple5.mod: New file. + * gm2/sets/run/pass/multisimple6.mod: New file. + * gm2/sets/run/pass/multisimple7.mod: New file. + * gm2/sets/run/pass/setarith.mod: New file. + * gm2/sets/run/pass/setarith2.mod: New file. + * gm2/sets/run/pass/setarith3.mod: New file. + * gm2/sets/run/pass/setarith4.mod: New file. + * gm2/sets/run/pass/setrotate.mod: New file. + * gm2/sets/run/pass/setrotate2.mod: New file. + * gm2/sets/run/pass/setrotate3.mod: New file. + * gm2/sets/run/pass/setrotate4.mod: New file. + * gm2/sets/run/pass/sets-run-pass.exp: New file. + * gm2/sets/run/pass/setshift.mod: New file. + * gm2/sets/run/pass/setshift2.mod: New file. + * gm2/sets/run/pass/simple.mod: New file. + * gm2/sets/run/pass/simple2.mod: New file. + * gm2/sets/run/pass/simple3.mod: New file. + * gm2/sets/run/pass/simple4.mod: New file. + * gm2/sets/run/pass/simple5.mod: New file. + * gm2/sets/run/pass/simple6.mod: New file. + * gm2/sets/run/pass/simple7.mod: New file. + * gm2/switches/auto-init/fail/switches-auto-init-fail.exp: New file. + * gm2/switches/auto-init/fail/uninitptr.mod: New file. + * gm2/switches/auto-init/fail/uninitptr2.mod: New file. + * gm2/switches/check-all/pim2/fail/overflow.mod: New file. + * gm2/switches/check-all/pim2/fail/overflow2.mod: New file. + * gm2/switches/check-all/pim2/fail/overflowdiv1.mod: New file. + * gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp: + New file. + * gm2/switches/check-all/plugin/iso/fail/divceilposneg.mod: New file. + * gm2/switches/check-all/plugin/iso/fail/divceilposneg2.mod: New file. + * gm2/switches/check-all/plugin/iso/fail/divceilposnegcall.mod: New + file. + * gm2/switches/check-all/plugin/iso/fail/divceilposnegcall2.mod: New + file. + * gm2/switches/check-all/plugin/iso/fail/divfloornegpos.mod: New file. + * gm2/switches/check-all/plugin/iso/fail/divfloorpospos.mod: New file. + * gm2/switches/check-all/plugin/iso/fail/lowdiv.mod: New file. + * gm2/switches/check-all/plugin/iso/fail/switches-check-all-plugin-iso-fail.exp: + New file. + * gm2/switches/check-all/plugin/pim2/fail/divceil.mod: New file. + * gm2/switches/check-all/plugin/pim2/fail/highdiv.mod: New file. + * gm2/switches/check-all/plugin/pim2/fail/modulus.mod: New file. + * gm2/switches/check-all/plugin/pim2/fail/plugin1.mod: New file. + * gm2/switches/check-all/plugin/pim2/fail/plugin3.mod: New file. + * gm2/switches/check-all/plugin/pim2/fail/plugin4.def: New file. + * gm2/switches/check-all/plugin/pim2/fail/plugin4.mod: New file. + * gm2/switches/check-all/plugin/pim2/fail/plugin5.def: New file. + * gm2/switches/check-all/plugin/pim2/fail/plugin5.mod: New file. + * gm2/switches/check-all/plugin/pim2/fail/plugin6.def: New file. + * gm2/switches/check-all/plugin/pim2/fail/plugin6.mod: New file. + * gm2/switches/check-all/plugin/pim2/fail/plugin7.def: New file. + * gm2/switches/check-all/plugin/pim2/fail/plugin7.mod: New file. + * gm2/switches/check-all/plugin/pim2/fail/plugin8.def: New file. + * gm2/switches/check-all/plugin/pim2/fail/plugin8.mod: New file. + * gm2/switches/check-all/plugin/pim2/fail/plugin9.mod: New file. + * gm2/switches/check-all/plugin/pim2/fail/switches-check-all-plugin-pim2-fail.exp: + New file. + * gm2/switches/check-all/run/fail/cardrange.mod: New file. + * gm2/switches/check-all/run/fail/cardrange2.mod: New file. + * gm2/switches/check-all/run/fail/cardrange3.mod: New file. + * gm2/switches/check-all/run/fail/intrange.mod: New file. + * gm2/switches/check-all/run/fail/intrange2.mod: New file. + * gm2/switches/check-all/run/fail/intrange3.mod: New file. + * gm2/switches/check-all/run/fail/intrange4.mod: New file. + * gm2/switches/check-all/run/fail/intrange5.mod: New file. + * gm2/switches/check-all/run/fail/multint1.mod: New file. + * gm2/switches/check-all/run/fail/multint2.mod: New file. + * gm2/switches/check-all/run/fail/multint3.mod: New file. + * gm2/switches/check-all/run/fail/rangesupport.def: New file. + * gm2/switches/check-all/run/fail/rangesupport.mod: New file. + * gm2/switches/check-all/run/fail/realrange.mod: New file. + * gm2/switches/check-all/run/fail/subrange.mod: New file. + * gm2/switches/check-all/run/fail/switches-check-all-run-fail.exp: + New file. + * gm2/switches/check-all/run/fail/tinyrange.mod: New file. + * gm2/switches/check-all/run/pass/cardrange.mod: New file. + * gm2/switches/check-all/run/pass/forcheck.mod: New file. + * gm2/switches/check-all/run/pass/subrange.mod: New file. + * gm2/switches/check-all/run/pass/switches-check-all-run-pass.exp: + New file. + * gm2/switches/extended-opaque/fail/a.def: New file. + * gm2/switches/extended-opaque/fail/a.mod: New file. + * gm2/switches/extended-opaque/fail/switches-extended-opaque-fail.exp: + New file. + * gm2/switches/extended-opaque/pass/a.def: New file. + * gm2/switches/extended-opaque/pass/a.mod: New file. + * gm2/switches/extended-opaque/pass/b.mod: New file. + * gm2/switches/extended-opaque/pass/switches-extended-opaque-pass.exp: + New file. + * gm2/switches/iso/run/pass/modulus.mod: New file. + * gm2/switches/iso/run/pass/modulus4.mod: New file. + * gm2/switches/iso/run/pass/switches-iso-run-pass.exp: New file. + * gm2/switches/makeall/fail/switches-makeall-fail.exp: New file. + * gm2/switches/makeall/fail/test.def: New file. + * gm2/switches/makeall/fail/test.mod: New file. + * gm2/switches/makeall/pass/switches-makeall-pass.exp: New file. + * gm2/switches/makeall/pass/test.def: New file. + * gm2/switches/makeall/pass/test.mod: New file. + * gm2/switches/none/run/pass/gm2-none.exp: New file. + * gm2/switches/none/run/pass/hello.mod: New file. + * gm2/switches/optimization/run/pass/fact.mod: New file. + * gm2/switches/optimization/run/pass/switches-optimization-run-pass.exp: + New file. + * gm2/switches/pedantic-params/fail/a.def: New file. + * gm2/switches/pedantic-params/fail/a.mod: New file. + * gm2/switches/pedantic-params/fail/switches-pedantic-params-fail.exp: + New file. + * gm2/switches/pedantic-params/pass/Strings.def: New file. + * gm2/switches/pedantic-params/pass/Strings.mod: New file. + * gm2/switches/pedantic-params/pass/Strings2.def: New file. + * gm2/switches/pedantic-params/pass/Strings2.mod: New file. + * gm2/switches/pedantic-params/pass/switches-pedantic-params-pass.exp: + New file. + * gm2/switches/pedantic/fail/onlywrite.mod: New file. + * gm2/switches/pedantic/fail/readb4.mod: New file. + * gm2/switches/pic/run/pass/func.c: New file. + * gm2/switches/pic/run/pass/func.mod: New file. + * gm2/switches/pic/run/pass/func2.c: New file. + * gm2/switches/pic/run/pass/func2.mod: New file. + * gm2/switches/pic/run/pass/switches-pic-run-pass.exp: New file. + * gm2/switches/pim2/run/pass/modulus.mod: New file. + * gm2/switches/pim2/run/pass/switches-pim2-run-pass.exp: New file. + * gm2/switches/pim3/run/pass/modulus.mod: New file. + * gm2/switches/pim3/run/pass/switches-pim3-run-pass.exp: New file. + * gm2/switches/pim4/run/pass/FpuIOBug.mod: New file. + * gm2/switches/pim4/run/pass/InOutBug.mod: New file. + * gm2/switches/pim4/run/pass/NumberIOBug.mod: New file. + * gm2/switches/pim4/run/pass/modulus.mod: New file. + * gm2/switches/pim4/run/pass/modulus2.mod: New file. + * gm2/switches/pim4/run/pass/switches-pim4-run-pass.exp: New file. + * gm2/switches/whole-program/pass/run/hello.mod: New file. + * gm2/switches/whole-program/pass/run/hello2.mod: New file. + * gm2/switches/whole-program/pass/run/switches-whole-program-pass-run.exp: + New file. + * gm2/switches/whole-program/pass/run/tiny.mod: New file. + * gm2/switches/whole-program/pass/run/tiny2.mod: New file. + * gm2/types/bitset.mod: New file. + * gm2/types/bitset2.mod: New file. + * gm2/types/bitset3.mod: New file. + * gm2/types/charset.mod: New file. + * gm2/types/const.mod: New file. + * gm2/types/prog35.mod: New file. + * gm2/types/real.mod: New file. + * gm2/types/run/pass/d.c: New file. + * gm2/types/run/pass/d.def: New file. + * gm2/types/run/pass/types-run-pass.exp: New file. + * gm2/types/run/pass/varient4.mod: New file. + * gm2/types/run/pass/varient5.mod: New file. + * gm2/types/string.mod: New file. + * gm2/types/type1.mod: New file. + * gm2/types/type2.mod: New file. + * gm2/types/type3.mod: New file. + * gm2/types/type4.mod: New file. + * gm2/types/varient.mod: New file. + * gm2/types/word.mod: New file. + * gm2/ulmlib/pass/ulmlib-pass.exp: New file. + * gm2/ulmlib/std/pass/ulmlib-std-pass.exp: New file. + * gm2/ulmlib/sys/pass/ulmlib-sys-pass.exp: New file. + * gm2/warnings/todo/nestedproc6.mod: New file. + * gm2/warnings/todo/options: New file. + * gm2/warnings/todo/testfor.mod: New file. + * gm2/warnings/todo/testfor2.mod: New file. + * gm2/warnings/todo/testfor3.mod: New file. + * gm2/warnings/todo/testkeywords.mod: New file. + * gm2/warnings/todo/testloop.mod: New file. + * gm2/warnings/todo/testscope.mod: New file. + * gm2/warnings/todo/testscope2.mod: New file. + * gm2/x86-asm/asm.mod: New file. + * gm2/x86-asm/asm2.mod: New file. + +2022-12-14 Julian Brown <julian@codesourcery.com> + + PR fortran/107214 + * gfortran.dg/gomp/pr107214.f90: New test. + * gfortran.dg/gomp/pr107214-2.f90: New test. + * gfortran.dg/gomp/pr107214-3.f90: New test. + * gfortran.dg/gomp/pr107214-4.f90: New test. + * gfortran.dg/gomp/pr107214-5.f90: New test. + * gfortran.dg/gomp/pr107214-6.f90: New test. + * gfortran.dg/gomp/pr107214-7.f90: New test. + * gfortran.dg/gomp/pr107214-8.f90: New test. + +2022-12-14 Tamar Christina <tamar.christina@arm.com> + + PR target/107988 + * gcc.target/aarch64/pr107988-1.c: New test. + +2022-12-14 Antoni Boucher <bouanto@zoho.com> + Guillaume Gomez <guillaume1.gomez@gmail.com> + + PR jit/108078 + * jit.dg/test-vector-types.cc: Add tests for vector type comparison + +2022-12-13 Martin Jambor <mjambor@suse.cz> + + * gcc.dg/ipa/ipa-sra-26.c: New test. + * gcc.dg/ipa/ipa-sra-27.c: Likewise. + * gcc.dg/ipa/ipa-sra-28.c: Likewise. + +2022-12-13 Martin Jambor <mjambor@suse.cz> + + * gfortran.dg/pr48636-2.f90: Disable IPA-SRA. + * gfortran.dg/ipa-sra-1.f90: New test. + +2022-12-13 Martin Jambor <mjambor@suse.cz> + + * gcc.dg/ipa/ipa-sra-25.c: New test + +2022-12-13 Martin Jambor <mjambor@suse.cz> + + * g++.dg/ipa/ipa-sra-5.C: New test + +2022-12-13 Martin Jambor <mjambor@suse.cz> + + PR ipa/103227 + PR ipa/107640 + * gcc.dg/ipa/pr107640-2.c: New test. + +2022-12-13 Jakub Jelinek <jakub@redhat.com> + + PR target/108044 + * gcc.target/i386/pr108044-1.c: New test. + * gcc.target/i386/pr108044-2.c: New test. + * gcc.target/i386/pr108044-3.c: New test. + * gcc.target/i386/pr108044-4.c: New test. + +2022-12-13 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/107423 + * gfortran.dg/pr107423.f90: New test. + +2022-12-13 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/108064 + * gcc.c-torture/execute/pr108064.c: New test. + +2022-12-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105801 + * gcc.dg/tree-ssa/ssa-ccp-43.c: New testcase. + +2022-12-13 Arthur Cohen <arthur.cohen@embecosm.com> + + * lib/rust.exp (rust_init): Add + '-frust-incomplete-and-experimental-compiler-do-not-use'. + +2022-12-13 Philip Herron <philip.herron@embecosm.com> + Arthur Cohen <arthur.cohen@embecosm.com> + Thomas Schwinge <thomas@codesourcery.com> + Mark Wielaard <mark@klomp.org> + Marc Poulhiès <dkm@kataplop.net> + + * rust/execute/torture/block_expr1.rs: New. + * rust/execute/torture/builtin_macro_cfg.rs: New. + * rust/execute/torture/builtin_macro_concat.rs: New. + * rust/execute/torture/builtin_macro_env.rs: New. + * rust/execute/torture/builtin_macro_include_bytes.rs: New. + * rust/execute/torture/builtin_macro_include_str.rs: New. + * rust/execute/torture/builtin_macro_line.rs: New. + * rust/execute/torture/builtin_macros1.rs: New. + * rust/execute/torture/builtin_macros3.rs: New. + * rust/execute/torture/cfg1.rs: New. + * rust/execute/torture/cfg2.rs: New. + * rust/execute/torture/cfg3.rs: New. + * rust/execute/torture/cfg4.rs: New. + * rust/execute/torture/cfg5.rs: New. + * rust/execute/torture/coercion1.rs: New. + * rust/execute/torture/coercion2.rs: New. + * rust/execute/torture/const_fold1.rs: New. + * rust/execute/torture/const_fold2.rs: New. + * rust/execute/torture/copy_nonoverlapping1.rs: New. + * rust/execute/torture/empty_main.rs: New. + * rust/execute/torture/execute.exp: New. + * rust/execute/torture/exit_error.rs: New. + * rust/execute/torture/extern_mod4.rs: New. + * rust/execute/torture/func1.rs: New. + * rust/execute/torture/helloworld1.rs: New. + * rust/execute/torture/helloworld2.rs: New. + * rust/execute/torture/include.txt: New. + * rust/execute/torture/index1.rs: New. + * rust/execute/torture/issue-1120.rs: New. + * rust/execute/torture/issue-1133.rs: New. + * rust/execute/torture/issue-1198.rs: New. + * rust/execute/torture/issue-1231.rs: New. + * rust/execute/torture/issue-1232.rs: New. + * rust/execute/torture/issue-1249.rs: New. + * rust/execute/torture/issue-1436.rs: New. + * rust/execute/torture/issue-1496.rs: New. + * rust/execute/torture/issue-647.rs: New. + * rust/execute/torture/issue-845.rs: New. + * rust/execute/torture/issue-851.rs: New. + * rust/execute/torture/issue-858.rs: New. + * rust/execute/torture/issue-976.rs: New. + * rust/execute/torture/issue-995.rs: New. + * rust/execute/torture/macros1.rs: New. + * rust/execute/torture/macros10.rs: New. + * rust/execute/torture/macros11.rs: New. + * rust/execute/torture/macros12.rs: New. + * rust/execute/torture/macros13.rs: New. + * rust/execute/torture/macros14.rs: New. + * rust/execute/torture/macros16.rs: New. + * rust/execute/torture/macros17.rs: New. + * rust/execute/torture/macros18.rs: New. + * rust/execute/torture/macros19.rs: New. + * rust/execute/torture/macros2.rs: New. + * rust/execute/torture/macros20.rs: New. + * rust/execute/torture/macros21.rs: New. + * rust/execute/torture/macros22.rs: New. + * rust/execute/torture/macros23.rs: New. + * rust/execute/torture/macros24.rs: New. + * rust/execute/torture/macros25.rs: New. + * rust/execute/torture/macros26.rs: New. + * rust/execute/torture/macros27.rs: New. + * rust/execute/torture/macros28.rs: New. + * rust/execute/torture/macros29.rs: New. + * rust/execute/torture/macros3.rs: New. + * rust/execute/torture/macros30.rs: New. + * rust/execute/torture/macros31.rs: New. + * rust/execute/torture/macros4.rs: New. + * rust/execute/torture/macros5.rs: New. + * rust/execute/torture/macros6.rs: New. + * rust/execute/torture/macros7.rs: New. + * rust/execute/torture/macros8.rs: New. + * rust/execute/torture/macros9.rs: New. + * rust/execute/torture/match1.rs: New. + * rust/execute/torture/match2.rs: New. + * rust/execute/torture/match3.rs: New. + * rust/execute/torture/match_bool1.rs: New. + * rust/execute/torture/match_byte1.rs: New. + * rust/execute/torture/match_char1.rs: New. + * rust/execute/torture/match_int1.rs: New. + * rust/execute/torture/match_loop1.rs: New. + * rust/execute/torture/match_range1.rs: New. + * rust/execute/torture/match_range2.rs: New. + * rust/execute/torture/match_tuple1.rs: New. + * rust/execute/torture/method1.rs: New. + * rust/execute/torture/method2.rs: New. + * rust/execute/torture/method3.rs: New. + * rust/execute/torture/method4.rs: New. + * rust/execute/torture/mod1.rs: New. + * rust/execute/torture/modules/mod.rs: New. + * rust/execute/torture/operator_overload_1.rs: New. + * rust/execute/torture/operator_overload_10.rs: New. + * rust/execute/torture/operator_overload_11.rs: New. + * rust/execute/torture/operator_overload_12.rs: New. + * rust/execute/torture/operator_overload_2.rs: New. + * rust/execute/torture/operator_overload_3.rs: New. + * rust/execute/torture/operator_overload_4.rs: New. + * rust/execute/torture/operator_overload_5.rs: New. + * rust/execute/torture/operator_overload_6.rs: New. + * rust/execute/torture/operator_overload_7.rs: New. + * rust/execute/torture/operator_overload_8.rs: New. + * rust/execute/torture/operator_overload_9.rs: New. + * rust/execute/torture/slice-magic.rs: New. + * rust/execute/torture/slice-magic2.rs: New. + * rust/execute/torture/slice1.rs: New. + * rust/execute/torture/str-layout1.rs: New. + * rust/execute/torture/str-zero.rs: New. + * rust/execute/torture/trait1.rs: New. + * rust/execute/torture/trait10.rs: New. + * rust/execute/torture/trait11.rs: New. + * rust/execute/torture/trait12.rs: New. + * rust/execute/torture/trait13.rs: New. + * rust/execute/torture/trait2.rs: New. + * rust/execute/torture/trait3.rs: New. + * rust/execute/torture/trait4.rs: New. + * rust/execute/torture/trait5.rs: New. + * rust/execute/torture/trait6.rs: New. + * rust/execute/torture/trait7.rs: New. + * rust/execute/torture/trait8.rs: New. + * rust/execute/torture/trait9.rs: New. + * rust/execute/torture/transmute1.rs: New. + * rust/execute/torture/wrapping_op1.rs: New. + * rust/execute/torture/wrapping_op2.rs: New. + * rust/execute/xfail/macro1.rs: New. + +2022-12-13 Philip Herron <philip.herron@embecosm.com> + Arthur Cohen <arthur.cohen@embecosm.com> + Thomas Schwinge <thomas@codesourcery.com> + Mark Wielaard <mark@klomp.org> + Marc Poulhiès <dkm@kataplop.net> + + * rust/compile/abi-options1.rs: New. + * rust/compile/array3.rs: New. + * rust/compile/array_empty_list.rs: New. + * rust/compile/arrays1.rs: New. + * rust/compile/arrays2.rs: New. + * rust/compile/attr-mismatch-crate-name.rs: New. + * rust/compile/attr_cold.rs: New. + * rust/compile/attr_deprecated.rs: New. + * rust/compile/attr_deprecated_2.rs: New. + * rust/compile/bad-crate-name.rs: New. + * rust/compile/bad=file-name.rs: New. + * rust/compile/bad_as_bool_char.rs: New. + * rust/compile/bad_file_name.txt.rs: New. + * rust/compile/bad_inner_doc.rs: New. + * rust/compile/bad_pub_enumitems.rs: New. + * rust/compile/bad_stmt_enums.rs: New. + * rust/compile/bad_toplevel_enums.rs: New. + * rust/compile/bad_tuple_index.rs: New. + * rust/compile/bad_type1.rs: New. + * rust/compile/bad_type2.rs: New. + * rust/compile/break1.rs: New. + * rust/compile/break2.rs: New. + * rust/compile/builtin_macro_compile_error.rs: New. + * rust/compile/builtin_macro_concat.rs: New. + * rust/compile/builtin_macro_env.rs: New. + * rust/compile/builtin_macro_include_bytes.rs: New. + * rust/compile/builtin_macro_include_str.rs: New. + * rust/compile/builtin_macro_not_found.rs: New. + * rust/compile/bytecharstring.rs: New. + * rust/compile/canonical_paths1.rs: New. + * rust/compile/cast1.rs: New. + * rust/compile/cfg1.rs: New. + * rust/compile/cfg2.rs: New. + * rust/compile/cfg3.rs: New. + * rust/compile/cfg4.rs: New. + * rust/compile/cfg5.rs: New. + * rust/compile/compile.exp: New. + * rust/compile/complex-path1.rs: New. + * rust/compile/const-issue1440.rs: New. + * rust/compile/const1.rs: New. + * rust/compile/const2.rs: New. + * rust/compile/const3.rs: New. + * rust/compile/const_generics_1.rs: New. + * rust/compile/const_generics_2.rs: New. + * rust/compile/const_generics_3.rs: New. + * rust/compile/const_generics_4.rs: New. + * rust/compile/const_generics_5.rs: New. + * rust/compile/const_generics_6.rs: New. + * rust/compile/continue1.rs: New. + * rust/compile/deadcode_err1.rs: New. + * rust/compile/deadcode_err2.rs: New. + * rust/compile/debug-diagnostics-default.rs: New. + * rust/compile/debug-diagnostics-off.rs: New. + * rust/compile/debug-diagnostics-on.rs: New. + * rust/compile/doc_isolated_cr_block_comment.rs: New. + * rust/compile/doc_isolated_cr_inner_block_comment.rs: New. + * rust/compile/doc_isolated_cr_inner_line_comment.rs: New. + * rust/compile/doc_isolated_cr_line_comment.rs: New. + * rust/compile/dup_fields.rs: New. + * rust/compile/empty_comment_before_match.rs: New. + * rust/compile/expected_type_args2.rs: New. + * rust/compile/expected_type_args3.rs: New. + * rust/compile/func1.rs: New. + * rust/compile/func2.rs: New. + * rust/compile/func3.rs: New. + * rust/compile/func4.rs: New. + * rust/compile/func5.rs: New. + * rust/compile/generic-default1.rs: New. + * rust/compile/generics1.rs: New. + * rust/compile/generics10.rs: New. + * rust/compile/generics11.rs: New. + * rust/compile/generics12.rs: New. + * rust/compile/generics13.rs: New. + * rust/compile/generics2.rs: New. + * rust/compile/generics3.rs: New. + * rust/compile/generics4.rs: New. + * rust/compile/generics5.rs: New. + * rust/compile/generics6.rs: New. + * rust/compile/generics7.rs: New. + * rust/compile/generics8.rs: New. + * rust/compile/generics9.rs: New. + * rust/compile/implicit_returns_err1.rs: New. + * rust/compile/implicit_returns_err2.rs: New. + * rust/compile/implicit_returns_err3.rs: New. + * rust/compile/implicit_returns_err4.rs: New. + * rust/compile/infer-crate-name.rs: New. + * rust/compile/inline_1.rs: New. + * rust/compile/inline_2.rs: New. + * rust/compile/issue-1005.rs: New. + * rust/compile/issue-1019.rs: New. + * rust/compile/issue-1023.rs: New. + * rust/compile/issue-1031.rs: New. + * rust/compile/issue-1034.rs: New. + * rust/compile/issue-1089.rs: New. + * rust/compile/issue-1128.rs: New. + * rust/compile/issue-1129-1.rs: New. + * rust/compile/issue-1129-2.rs: New. + * rust/compile/issue-1130.rs: New. + * rust/compile/issue-1131.rs: New. + * rust/compile/issue-1152.rs: New. + * rust/compile/issue-1165.rs: New. + * rust/compile/issue-1173.rs: New. + * rust/compile/issue-1226.rs: New. + * rust/compile/issue-1234.rs: New. + * rust/compile/issue-1235.rs: New. + * rust/compile/issue-1237.rs: New. + * rust/compile/issue-1251.rs: New. + * rust/compile/issue-1271.rs: New. + * rust/compile/issue-1289.rs: New. + * rust/compile/issue-1323-1.rs: New. + * rust/compile/issue-1323-2.rs: New. + * rust/compile/issue-1383.rs: New. + * rust/compile/issue-1393.rs: New. + * rust/compile/issue-1447.rs: New. + * rust/compile/issue-407-2.rs: New. + * rust/compile/issue-407.rs: New. + * rust/compile/issue-557.rs: New. + * rust/compile/issue-635-1.rs: New. + * rust/compile/issue-635-2.rs: New. + * rust/compile/lookup_err1.rs: New. + * rust/compile/macro-issue1053-2.rs: New. + * rust/compile/macro-issue1053.rs: New. + * rust/compile/macro-issue1224.rs: New. + * rust/compile/macro-issue1233.rs: New. + * rust/compile/macro-issue1395-2.rs: New. + * rust/compile/macro-issue1395.rs: New. + * rust/compile/macro-issue1400-2.rs: New. + * rust/compile/macro-issue1400.rs: New. + * rust/compile/macro1.rs: New. + * rust/compile/macro10.rs: New. + * rust/compile/macro11.rs: New. + * rust/compile/macro12.rs: New. + * rust/compile/macro13.rs: New. + * rust/compile/macro14.rs: New. + * rust/compile/macro15.rs: New. + * rust/compile/macro16.rs: New. + * rust/compile/macro17.rs: New. + * rust/compile/macro18.rs: New. + * rust/compile/macro19.rs: New. + * rust/compile/macro2.rs: New. + * rust/compile/macro20.rs: New. + * rust/compile/macro21.rs: New. + * rust/compile/macro22.rs: New. + * rust/compile/macro23.rs: New. + * rust/compile/macro25.rs: New. + * rust/compile/macro26.rs: New. + * rust/compile/macro27.rs: New. + * rust/compile/macro28.rs: New. + * rust/compile/macro29.rs: New. + * rust/compile/macro3.rs: New. + * rust/compile/macro30.rs: New. + * rust/compile/macro31.rs: New. + * rust/compile/macro32.rs: New. + * rust/compile/macro33.rs: New. + * rust/compile/macro34.rs: New. + * rust/compile/macro35.rs: New. + * rust/compile/macro36.rs: New. + * rust/compile/macro37.rs: New. + * rust/compile/macro38.rs: New. + * rust/compile/macro39.rs: New. + * rust/compile/macro4.rs: New. + * rust/compile/macro40.rs: New. + * rust/compile/macro41.rs: New. + * rust/compile/macro42.rs: New. + * rust/compile/macro5.rs: New. + * rust/compile/macro6.rs: New. + * rust/compile/macro7.rs: New. + * rust/compile/macro8.rs: New. + * rust/compile/macro9.rs: New. + * rust/compile/macro_return.rs: New. + * rust/compile/match1.rs: New. + * rust/compile/match2.rs: New. + * rust/compile/match3.rs: New. + * rust/compile/match4.rs: New. + * rust/compile/match5.rs: New. + * rust/compile/match6.rs: New. + * rust/compile/match7.rs: New. + * rust/compile/method1.rs: New. + * rust/compile/method2.rs: New. + * rust/compile/mismatch-crate-name.rs: New. + * rust/compile/missing_middle/both_path.rs: New. + * rust/compile/missing_middle/explicit.not.rs: New. + * rust/compile/missing_middle/inner_path.rs: New. + * rust/compile/missing_middle/other.rs: New. + * rust/compile/missing_middle/outer_path.rs: New. + * rust/compile/missing_middle/sub/mod.rs: New. + * rust/compile/missing_return1.rs: New. + * rust/compile/mod_missing_middle.rs: New. + * rust/compile/never_type_err1.rs: New. + * rust/compile/privacy1.rs: New. + * rust/compile/privacy2.rs: New. + * rust/compile/privacy3.rs: New. + * rust/compile/privacy4.rs: New. + * rust/compile/privacy5.rs: New. + * rust/compile/privacy6.rs: New. + * rust/compile/pub_restricted_1.rs: New. + * rust/compile/pub_restricted_2.rs: New. + * rust/compile/pub_restricted_3.rs: New. + * rust/compile/raw_identifiers_bad_keywords.rs: New. + * rust/compile/raw_identifiers_underscore.rs: New. + * rust/compile/redef_error1.rs: New. + * rust/compile/redef_error2.rs: New. + * rust/compile/redef_error3.rs: New. + * rust/compile/redef_error4.rs: New. + * rust/compile/redef_error5.rs: New. + * rust/compile/redef_error6.rs: New. + * rust/compile/reference1.rs: New. + * rust/compile/self-path1.rs: New. + * rust/compile/self-path2.rs: New. + * rust/compile/shadow1.rs: New. + * rust/compile/specify-crate-name.rs: New. + * rust/compile/static_var1.rs: New. + * rust/compile/stmt_with_block_err1.rs: New. + * rust/compile/struct_align1.rs: New. + * rust/compile/struct_align2.rs: New. + * rust/compile/struct_init1.rs: New. + * rust/compile/struct_pack1.rs: New. + * rust/compile/struct_pack2.rs: New. + * rust/compile/syntax-only.rs: New. + * rust/compile/test_mod.rs: New. + * rust/compile/torture/all_doc_comment_line_blocks.rs: New. + * rust/compile/torture/all_doc_comment_line_blocks_crlf.rs: New. + * rust/compile/torture/arithmetic_expressions1.rs: New. + * rust/compile/torture/array_const_fold_1.rs: New. + * rust/compile/torture/array_const_fold_2.rs: New. + * rust/compile/torture/array_function.rs: New. + * rust/compile/torture/array_type_infer.rs: New. + * rust/compile/torture/array_zero_length.rs: New. + * rust/compile/torture/arrays1.rs: New. + * rust/compile/torture/arrays2.rs: New. + * rust/compile/torture/arrays3.rs: New. + * rust/compile/torture/arrays4.rs: New. + * rust/compile/torture/arrays5.rs: New. + * rust/compile/torture/arrays6.rs: New. + * rust/compile/torture/arrays_index1.rs: New. + * rust/compile/torture/arrays_index2.rs: New. + * rust/compile/torture/arrays_index3.rs: New. + * rust/compile/torture/as_bool_char.rs: New. + * rust/compile/torture/associated_types1.rs: New. + * rust/compile/torture/autoderef1.rs: New. + * rust/compile/torture/block_expr1.rs: New. + * rust/compile/torture/block_expr2.rs: New. + * rust/compile/torture/block_expr3.rs: New. + * rust/compile/torture/block_expr4.rs: New. + * rust/compile/torture/block_expr5.rs: New. + * rust/compile/torture/block_expr_parser_bug.rs: New. + * rust/compile/torture/bom.rs: New. + * rust/compile/torture/bom_comment.rs: New. + * rust/compile/torture/bom_shebang.rs: New. + * rust/compile/torture/bom_whitespace.rs: New. + * rust/compile/torture/bools_eq.rs: New. + * rust/compile/torture/borrow1.rs: New. + * rust/compile/torture/borrow_function.rs: New. + * rust/compile/torture/break_function.rs: New. + * rust/compile/torture/byte_char_str.rs: New. + * rust/compile/torture/byte_str.rs: New. + * rust/compile/torture/cast1.rs: New. + * rust/compile/torture/cast2.rs: New. + * rust/compile/torture/cast3.rs: New. + * rust/compile/torture/cfg_attr.rs: New. + * rust/compile/torture/char1.rs: New. + * rust/compile/torture/check-doc-attr-string.rs: New. + * rust/compile/torture/coercion1.rs: New. + * rust/compile/torture/coercion2.rs: New. + * rust/compile/torture/comparison_expr1.rs: New. + * rust/compile/torture/compile.exp: New. + * rust/compile/torture/compound_assignment_expr1.rs: New. + * rust/compile/torture/conditional.rs: New. + * rust/compile/torture/constant1.rs: New. + * rust/compile/torture/constant2.rs: New. + * rust/compile/torture/constant3.rs: New. + * rust/compile/torture/deadcode1.rs: New. + * rust/compile/torture/deadcode2.rs: New. + * rust/compile/torture/deref1.rs: New. + * rust/compile/torture/deref_function.rs: New. + * rust/compile/torture/doc_comment.rs: New. + * rust/compile/torture/enum1.rs: New. + * rust/compile/torture/extern_mod1.rs: New. + * rust/compile/torture/extern_mod2.rs: New. + * rust/compile/torture/float1.rs: New. + * rust/compile/torture/float_types.rs: New. + * rust/compile/torture/forward_decl_1.rs: New. + * rust/compile/torture/forward_decl_2.rs: New. + * rust/compile/torture/forward_decl_3-unsafe.rs: New. + * rust/compile/torture/forward_decl_3.rs: New. + * rust/compile/torture/forward_decl_4.rs: New. + * rust/compile/torture/forward_decl_5.rs: New. + * rust/compile/torture/func1.rs: New. + * rust/compile/torture/func2.rs: New. + * rust/compile/torture/function_reference1.rs: New. + * rust/compile/torture/function_reference2.rs: New. + * rust/compile/torture/function_reference3.rs: New. + * rust/compile/torture/function_reference4.rs: New. + * rust/compile/torture/generics1.rs: New. + * rust/compile/torture/generics10.rs: New. + * rust/compile/torture/generics11.rs: New. + * rust/compile/torture/generics12.rs: New. + * rust/compile/torture/generics13.rs: New. + * rust/compile/torture/generics14.rs: New. + * rust/compile/torture/generics15.rs: New. + * rust/compile/torture/generics16.rs: New. + * rust/compile/torture/generics17.rs: New. + * rust/compile/torture/generics18.rs: New. + * rust/compile/torture/generics19.rs: New. + * rust/compile/torture/generics2.rs: New. + * rust/compile/torture/generics20.rs: New. + * rust/compile/torture/generics21.rs: New. + * rust/compile/torture/generics22.rs: New. + * rust/compile/torture/generics23.rs: New. + * rust/compile/torture/generics24.rs: New. + * rust/compile/torture/generics25.rs: New. + * rust/compile/torture/generics26.rs: New. + * rust/compile/torture/generics27.rs: New. + * rust/compile/torture/generics28.rs: New. + * rust/compile/torture/generics29.rs: New. + * rust/compile/torture/generics3.rs: New. + * rust/compile/torture/generics30.rs: New. + * rust/compile/torture/generics31.rs: New. + * rust/compile/torture/generics32.rs: New. + * rust/compile/torture/generics4.rs: New. + * rust/compile/torture/generics5.rs: New. + * rust/compile/torture/generics6.rs: New. + * rust/compile/torture/generics7.rs: New. + * rust/compile/torture/generics8.rs: New. + * rust/compile/torture/generics9.rs: New. + * rust/compile/torture/grouped_expr_function.rs: New. + * rust/compile/torture/identifier-missing-impl-1.rs: New. + * rust/compile/torture/if.rs: New. + * rust/compile/torture/if_elif.rs: New. + * rust/compile/torture/if_elif_else_expr1.rs: New. + * rust/compile/torture/if_else.rs: New. + * rust/compile/torture/ifunaryexpr.rs: New. + * rust/compile/torture/impl_block1.rs: New. + * rust/compile/torture/impl_block2.rs: New. + * rust/compile/torture/impl_block3.rs: New. + * rust/compile/torture/impl_block_unused.rs: New. + * rust/compile/torture/implicit_returns1.rs: New. + * rust/compile/torture/infer_type1.rs: New. + * rust/compile/torture/inner_attributes.rs: New. + * rust/compile/torture/integer_inference_var1.rs: New. + * rust/compile/torture/integer_inference_var2.rs: New. + * rust/compile/torture/integer_inference_var3.rs: New. + * rust/compile/torture/integer_inference_var4.rs: New. + * rust/compile/torture/integer_inference_var5.rs: New. + * rust/compile/torture/integer_types.rs: New. + * rust/compile/torture/intrinsics-1.rs: New. + * rust/compile/torture/intrinsics-2.rs: New. + * rust/compile/torture/isolated_cr_block_comment.rs: New. + * rust/compile/torture/isolated_cr_line_comment.rs: New. + * rust/compile/torture/issue-1024.rs: New. + * rust/compile/torture/issue-1075.rs: New. + * rust/compile/torture/issue-1432.rs: New. + * rust/compile/torture/issue-1434.rs: New. + * rust/compile/torture/issue-368.rs: New. + * rust/compile/torture/issue-808.rs: New. + * rust/compile/torture/issue-862.rs: New. + * rust/compile/torture/issue-893-2.rs: New. + * rust/compile/torture/issue-893.rs: New. + * rust/compile/torture/lazybooleanexpr_function.rs: New. + * rust/compile/torture/lifetime1.rs: New. + * rust/compile/torture/literals1.rs: New. + * rust/compile/torture/loop1.rs: New. + * rust/compile/torture/loop2.rs: New. + * rust/compile/torture/loop3.rs: New. + * rust/compile/torture/loop4.rs: New. + * rust/compile/torture/loop5.rs: New. + * rust/compile/torture/loop6.rs: New. + * rust/compile/torture/loop7.rs: New. + * rust/compile/torture/macro-issue1403.rs: New. + * rust/compile/torture/macro-issue1426.rs: New. + * rust/compile/torture/macro_as_expr.rs: New. + * rust/compile/torture/match1.rs: New. + * rust/compile/torture/methods1.rs: New. + * rust/compile/torture/methods2.rs: New. + * rust/compile/torture/methods3.rs: New. + * rust/compile/torture/mod-nameresolve.rs: New. + * rust/compile/torture/mod1.rs: New. + * rust/compile/torture/mod2.rs: New. + * rust/compile/torture/mod3.rs: New. + * rust/compile/torture/modules/mod.rs: New. + * rust/compile/torture/modules/valid_path.rs: New. + * rust/compile/torture/must_use1.rs: New. + * rust/compile/torture/must_use2.rs: New. + * rust/compile/torture/name_resolve1.rs: New. + * rust/compile/torture/negation_function.rs: New. + * rust/compile/torture/nested_fn1.rs: New. + * rust/compile/torture/nested_fn2.rs: New. + * rust/compile/torture/nested_struct1.rs: New. + * rust/compile/torture/never_type1.rs: New. + * rust/compile/torture/not_shebang.rs: New. + * rust/compile/torture/not_shebang_block_comment.rs: New. + * rust/compile/torture/not_shebang_comment.rs: New. + * rust/compile/torture/not_shebang_multiline_comment.rs: New. + * rust/compile/torture/not_shebang_spaces.rs: New. + * rust/compile/torture/parameter_usage1.rs: New. + * rust/compile/torture/parens1.rs: New. + * rust/compile/torture/pointer1.rs: New. + * rust/compile/torture/primconsts.rs: New. + * rust/compile/torture/prims_struct_eq.rs: New. + * rust/compile/torture/range-lang-item1.rs: New. + * rust/compile/torture/raw_identifiers.rs: New. + * rust/compile/torture/raw_identifiers_keywords.rs: New. + * rust/compile/torture/recursive_fn1.rs: New. + * rust/compile/torture/return_function.rs: New. + * rust/compile/torture/scoping1.rs: New. + * rust/compile/torture/self_type1.rs: New. + * rust/compile/torture/shadow1.rs: New. + * rust/compile/torture/shadow2.rs: New. + * rust/compile/torture/shebang.rs: New. + * rust/compile/torture/shebang_plus_attr.rs: New. + * rust/compile/torture/shebang_plus_attr2.rs: New. + * rust/compile/torture/static_function.rs: New. + * rust/compile/torture/static_var1.rs: New. + * rust/compile/torture/stmt_with_block1.rs: New. + * rust/compile/torture/str1.rs: New. + * rust/compile/torture/struct_access1.rs: New. + * rust/compile/torture/struct_base_init_1.rs: New. + * rust/compile/torture/struct_decl.rs: New. + * rust/compile/torture/struct_init.rs: New. + * rust/compile/torture/struct_init_10.rs: New. + * rust/compile/torture/struct_init_11.rs: New. + * rust/compile/torture/struct_init_2.rs: New. + * rust/compile/torture/struct_init_3.rs: New. + * rust/compile/torture/struct_init_4.rs: New. + * rust/compile/torture/struct_init_5.rs: New. + * rust/compile/torture/struct_init_6.rs: New. + * rust/compile/torture/struct_init_7.rs: New. + * rust/compile/torture/struct_init_8.rs: New. + * rust/compile/torture/struct_init_9.rs: New. + * rust/compile/torture/top_attr.rs: New. + * rust/compile/torture/traits1.rs: New. + * rust/compile/torture/traits10.rs: New. + * rust/compile/torture/traits11.rs: New. + * rust/compile/torture/traits12.rs: New. + * rust/compile/torture/traits13.rs: New. + * rust/compile/torture/traits14.rs: New. + * rust/compile/torture/traits15.rs: New. + * rust/compile/torture/traits16.rs: New. + * rust/compile/torture/traits17.rs: New. + * rust/compile/torture/traits18.rs: New. + * rust/compile/torture/traits19.rs: New. + * rust/compile/torture/traits2.rs: New. + * rust/compile/torture/traits3.rs: New. + * rust/compile/torture/traits4.rs: New. + * rust/compile/torture/traits5.rs: New. + * rust/compile/torture/traits6.rs: New. + * rust/compile/torture/traits7.rs: New. + * rust/compile/torture/traits8.rs: New. + * rust/compile/torture/traits9.rs: New. + * rust/compile/torture/transmute-size-check-1.rs: New. + * rust/compile/torture/transmute1.rs: New. + * rust/compile/torture/tuple1.rs: New. + * rust/compile/torture/tuple2.rs: New. + * rust/compile/torture/tuple3.rs: New. + * rust/compile/torture/tuple_enum_variants.rs: New. + * rust/compile/torture/tuple_field_access.rs: New. + * rust/compile/torture/tuple_function.rs: New. + * rust/compile/torture/tuple_index.rs: New. + * rust/compile/torture/tuple_struct1.rs: New. + * rust/compile/torture/tuple_struct2.rs: New. + * rust/compile/torture/tuple_struct_unit.rs: New. + * rust/compile/torture/tuple_struct_unused.rs: New. + * rust/compile/torture/type-alias1.rs: New. + * rust/compile/torture/type-alias2.rs: New. + * rust/compile/torture/type_infer1.rs: New. + * rust/compile/torture/type_infer2.rs: New. + * rust/compile/torture/type_infer3.rs: New. + * rust/compile/torture/type_infer4.rs: New. + * rust/compile/torture/type_infer5.rs: New. + * rust/compile/torture/type_infer6.rs: New. + * rust/compile/torture/unary_operators.rs: New. + * rust/compile/torture/undended-string-1.rs: New. + * rust/compile/torture/undended-string-2.rs: New. + * rust/compile/torture/underscore_id.rs: New. + * rust/compile/torture/union.rs: New. + * rust/compile/torture/union_union.rs: New. + * rust/compile/torture/unit_type1.rs: New. + * rust/compile/torture/unit_type2.rs: New. + * rust/compile/torture/unit_type3.rs: New. + * rust/compile/torture/unit_type4.rs: New. + * rust/compile/torture/unit_type5.rs: New. + * rust/compile/torture/unsafe1.rs: New. + * rust/compile/torture/unsafe2.rs: New. + * rust/compile/torture/unsafe3.rs: New. + * rust/compile/torture/unsafe4.rs: New. + * rust/compile/torture/unused.rs: New. + * rust/compile/torture/unused1.rs: New. + * rust/compile/torture/unused_struct.rs: New. + * rust/compile/torture/unused_struct_field.rs: New. + * rust/compile/torture/usize1.rs: New. + * rust/compile/torture/very-broken-attr-string.rs: New. + * rust/compile/torture/while_function.rs: New. + * rust/compile/traits1.rs: New. + * rust/compile/traits10.rs: New. + * rust/compile/traits11.rs: New. + * rust/compile/traits12.rs: New. + * rust/compile/traits2.rs: New. + * rust/compile/traits3.rs: New. + * rust/compile/traits4.rs: New. + * rust/compile/traits5.rs: New. + * rust/compile/traits6.rs: New. + * rust/compile/traits7.rs: New. + * rust/compile/traits8.rs: New. + * rust/compile/traits9.rs: New. + * rust/compile/tuple1.rs: New. + * rust/compile/tuple_struct1.rs: New. + * rust/compile/tuple_struct2.rs: New. + * rust/compile/tuple_struct3.rs: New. + * rust/compile/type-alias1.rs: New. + * rust/compile/type-bindings1.rs: New. + * rust/compile/unary_negation.rs: New. + * rust/compile/unary_not.rs: New. + * rust/compile/unconstrained_type_param.rs: New. + * rust/compile/unicode_escape.rs: New. + * rust/compile/unsafe1.rs: New. + * rust/compile/unsafe10.rs: New. + * rust/compile/unsafe2.rs: New. + * rust/compile/unsafe3.rs: New. + * rust/compile/unsafe4.rs: New. + * rust/compile/unsafe5.rs: New. + * rust/compile/unsafe6.rs: New. + * rust/compile/unsafe7.rs: New. + * rust/compile/unsafe8.rs: New. + * rust/compile/unsafe9.rs: New. + * rust/compile/unterminated_c_comment.rs: New. + * rust/compile/use_1.rs: New. + * rust/compile/usize1.rs: New. + * rust/compile/xfail/lifetime_param.rs: New. + * rust/compile/xfail/struct_field_vis.rs: New. + * rust/compile/xfail/xfail.exp: New. + * rust/compile/rawbytestring.rs: New file. + +2022-12-13 Philip Herron <philip.herron@embecosm.com> + + * rust/link/generic_function_0.rs: New. + * rust/link/generic_function_1.rs: New. + * rust/link/link.exp: New. + * rust/link/simple_function_0.rs: New. + * rust/link/simple_function_1.rs: New. + * rust/link/trait_import_0.rs: New. + * rust/link/trait_import_1.rs: New. + +2022-12-13 Philip Herron <philip.herron@embecosm.com> + Tom Tromey <tom@tromey.com> + Mark Wielaard <mark@klomp.org> + Marc Poulhiès <dkm@kataplop.net> + + * rust/debug/chartype.rs: New. + * rust/debug/custom_link_section.rs: New. + * rust/debug/debug.exp: New. + * rust/debug/i8u8.rs: New. + * rust/debug/lang.rs: New. + * rust/debug/no_mangle.rs: New. + * rust/debug/oldlang.rs: New. + * rust/debug/tuple.rs: New. + * rust/debug/win64-abi.rs: New. + +2022-12-13 Philip Herron <philip.herron@embecosm.com> + Marc Poulhiès <dkm@kataplop.net> + Thomas Schwinge <thomas@codesourcery.com> + + * lib/rust-dg.exp: New. + * lib/rust.exp: New. + +2022-12-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/108076 + * gcc.dg/torture/pr108076.c: New testcase. + +2022-12-13 Haochen Gui <guihaoc@gcc.gnu.org> + + * gcc.target/powerpc/cbranchcc4-1.c: New. + * gcc.target/powerpc/cbranchcc4-2.c: New. + +2022-12-12 Jason Merrill <jason@redhat.com> + + Revert: + 2022-12-12 Jason Merrill <jason@redhat.com> + + PR c++/105838 + * g++.dg/tree-ssa/initlist-opt2.C: New test. + +2022-12-12 Harald Anlauf <anlauf@gmx.de> + + PR fortran/102180 + * gfortran.dg/pr102180.f90: New test. + +2022-12-12 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/108055 + * gdc.dg/torture/imports/pr108055conv.d: New. + * gdc.dg/torture/imports/pr108055spec.d: New. + * gdc.dg/torture/imports/pr108055write.d: New. + * gdc.dg/torture/pr108055.d: New test. + +2022-12-12 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * gcc.target/aarch64/movk_3.c: New test. + +2022-12-12 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/aarch64/if-compare_1.c: New test. + * gcc.target/aarch64/if-compare_2.c: New test. + +2022-12-12 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/aarch64/tbz_1.c: New test. + +2022-12-12 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/aarch64/sve/slp_1.c: Update testcase. + +2022-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * gcc.target/aarch64/acle/bti_def.c: New test. + * gcc.target/aarch64/acle/pauth_def.c: New test. + +2022-12-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/89317 + * gcc.dg/tree-ssa/pr89317.c: Amend. + +2022-12-11 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/107995 + * gfortran.dg/pr107995.f90: New test. + +2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/108050 + * gdc.dg/imports/pr108050/mod1.d: New. + * gdc.dg/imports/pr108050/mod2.d: New. + * gdc.dg/imports/pr108050/package.d: New. + * gdc.dg/pr108050.d: New test. + +2022-12-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/89317 + * gcc.dg/tree-ssa/pr89317.c: New testcase. + +2022-12-11 Richard Biener <rguenther@suse.de> + + * gcc.dg/tree-ssa/forwprop-3.c: Adjust. + * g++.dg/tree-ssa/pr31146-2.C: Likewise. + +2022-12-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106904 + * gcc.dg/Wstringop-overflow-pr106904.c: New testcase. + +2022-12-10 Harald Anlauf <anlauf@gmx.de> + + PR fortran/106911 + * gfortran.dg/pr106911.f90: New test. + +2022-12-10 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107997 + * gcc.c-torture/compile/pr107997.c: New test. + +2022-12-09 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/107872 + * gfortran.dg/pr107872.f90: New test. + +2022-12-09 Martin Liska <mliska@suse.cz> + + * gcc.target/i386/builtin_target.c: Add more checks. + +2022-12-09 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/108003 + * g++.dg/analyzer/pr108003.C: New test. + +2022-12-09 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/memcpy-1.c (test_8a, test_8b): New tests. + * gcc.dg/analyzer/memmove-1.c: New test, based on memcpy-1.c + * gcc.dg/analyzer/out-of-bounds-1.c (test7): Update expected + result for uninit srcBuf. + * gcc.dg/analyzer/out-of-bounds-5.c (test8, test9): Add + dg-warnings for memcpy from uninit src vla. + * gcc.dg/analyzer/pr104308.c (test_memmove_within_uninit): + Expect creation point note to be missing on riscv*-*-*. + +2022-12-08 Harald Anlauf <anlauf@gmx.de> + + PR fortran/108025 + * gfortran.dg/contiguous_12.f90: New test. + +2022-12-08 Eugene Rozenfeld <erozen@microsoft.com> + + * gcc.dg/tree-prof/pr108000.c: Regression test + +2022-12-08 David Faust <david.faust@oracle.com> + + * gcc.target/bpf/bswap-1.c: New test. + +2022-12-08 Jason Merrill <jason@redhat.com> + + PR c++/105838 + * g++.dg/tree-ssa/initlist-opt2.C: New test. + +2022-12-08 Jason Merrill <jason@redhat.com> + + PR c++/105838 + * g++.dg/tree-ssa/initlist-opt1.C: New test. + +2022-12-08 Jason Merrill <jason@redhat.com> + + PR c++/105838 + * g++.dg/tree-ssa/allocator-opt1.C: New test. + +2022-12-08 Sebastian Pop <spop@amazon.com> + + PR target/98776 + * gcc.target/aarch64/pr98776.c: New. + * gcc.target/aarch64/pr92424-2.c: Adjust pattern. + * gcc.target/aarch64/pr92424-3.c: Adjust pattern. + +2022-12-08 Siddhesh Poyarekar <siddhesh@gotplt.org> + + * gcc.dg/builtin-dynamic-object-size-0.c (test_strdup, + test_strndup, test_strdup_min, test_strndup_min): Free RES + before returning from function. + +2022-12-08 Jakub Jelinek <jakub@redhat.com> + + PR debug/106719 + * gcc.dg/pr106719.c: New test. + +2022-12-08 Jakub Jelinek <jakub@redhat.com> + + PR target/107627 + * gcc.target/i386/pr107627-3.c: New test. + * gcc.target/i386/pr107627-4.c: New test. + +2022-12-08 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/107985 + * g++.dg/pr107985.C: New. + +2022-12-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107699 + * gcc.dg/tree-ssa/pr107699.c: New testcase. + +2022-12-08 Alexandre Oliva <oliva@adacore.com> + + PR tree-optimization/102706 + * gcc.dg/Warray-bounds-48.c: Disable -Wstringop-overflow. + * gcc.dg/Wzero-length-array-bounds-2.c: Likewise. + +2022-12-08 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/torture/fp-uint64-convert-double-1.c: Expect fail on + arm-*-eabi*. + * gcc.dg/torture/fp-uint64-convert-double-2.c: Likewise. + +2022-12-08 Alexandre Oliva <oliva@adacore.com> + + * c-c++-common/auto-init-1.c: Add -fno-short-enums. + * c-c++-common/auto-init-2.c: Likewise. + * gcc.dg/debug/btf/btf-enum-1.c: Likewise. + +2022-12-08 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vabavq_p_s16.c: Extern functions + as "C". + * 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/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/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/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/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/vfmasq_m_n_f16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vfmasq_m_n_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/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/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/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/vmlaldavaxq_p_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_s32.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/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/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/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/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/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/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/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/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/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/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/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. + +2022-12-08 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107967 + * gcc.dg/pr107967-1.c: New test. + * gcc.dg/pr107967-2.c: New test. + * gcc.dg/pr107967-3.c: New test. + +2022-12-07 Harald Anlauf <anlauf@gmx.de> + + PR fortran/108010 + * gfortran.dg/pr108010.f90: New test. + +2022-12-07 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c2x-constexpr-1.c: Do not use auto, constexpr and a type + together. + * gcc.dg/c2x-constexpr-3.c: Add tests of auto, constexpr and type + used together. + +2022-12-07 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c90-auto-1.c: New test. + +2022-12-07 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/cpp/c11-vararg-1.c, gcc.dg/cpp/c2x-va-opt-1.c: New tests. + +2022-12-07 Richard Biener <rguenther@suse.de> + + PR ipa/105676 + * gcc.dg/pr105676.c: New testcase. + +2022-12-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + PR target/107920 + * gcc.target/aarch64/sve/acle/general/pr107920.c: New test. + * g++.target/aarch64/sve/pr107920.C: Likewise. + +2022-12-07 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr107970.c: New test. + +2022-12-07 Antoni Boucher <bouanto@zoho.com> + Guillaume Gomez <guillaume1.gomez@gmail.com> + + PR jit/107770 + * jit.dg/harness.h: Add new macro to to perform vector + comparisons + * jit.dg/test-expressions.c: Extend comparison tests to add float + types and vectors + +2022-12-06 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107882 + * gcc.dg/analyzer/memcpy-pr107882.c: New test. + +2022-12-06 Qing Zhao <qing.zhao@oracle.com> + + * gcc.dg/Warray-bounds-11.c: Update warnings for -Warray-bounds=2. + * gcc.dg/Warray-bounds-flex-arrays-1.c: New test. + * gcc.dg/Warray-bounds-flex-arrays-2.c: New test. + * gcc.dg/Warray-bounds-flex-arrays-3.c: New test. + * gcc.dg/Warray-bounds-flex-arrays-4.c: New test. + * gcc.dg/Warray-bounds-flex-arrays-5.c: New test. + * gcc.dg/Warray-bounds-flex-arrays-6.c: New test. + +2022-12-06 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106325 + * gcc.dg/analyzer/attr-nonnull-pr106325.c: New test. + * gcc.dg/analyzer/attribute-nonnull.c (test_6): New. + (test_7): New. + +2022-12-06 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/analyzer_kernel_plugin.c: Include + "analyzer/call-details.h". + * gcc.dg/plugin/analyzer_known_fns_plugin.c: Likewise. + +2022-12-06 Marcel Vollweiler <marcel@codesourcery.com> + + * c-c++-common/gomp/target-teams-1.c: Adapt expected values for + num_teams from "1" to "-2" in cases without num_teams clause. + * g++.dg/gomp/target-teams-1.C: Likewise. + * gfortran.dg/gomp/defaultmap-4.f90: Likewise. + * gfortran.dg/gomp/defaultmap-5.f90: Likewise. + * gfortran.dg/gomp/defaultmap-6.f90: Likewise. + +2022-12-06 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.target/arm/mve/pr107987.c: New test. + +2022-12-06 Jakub Jelinek <jakub@redhat.com> + + PR target/107969 + * gcc.target/i386/pr107969.c: New test. + +2022-12-06 Jakub Jelinek <jakub@redhat.com> + + PR testsuite/107046 + * gcc.c-torture/execute/ieee/ieee.exp: For rx-*-* append + -mnofpu. + +2022-12-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107975 + * gcc.dg/pr107975.c: New test. + +2022-12-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104165 + * g++.dg/warn/Warray-bounds-pr104165-1.C: New testcase. + +2022-12-06 Iain Sandoe <iain@sandoe.co.uk> + + * gcc.target/x86_64/abi/bf16/abi-bf16.exp: Use separate asm for Darwin. + * gcc.target/x86_64/abi/bf16/m256bf16/abi-bf16-ymm.exp: Likewise. + * gcc.target/x86_64/abi/bf16/m512bf16/abi-bf16-zmm.exp: Likewise. + * gcc.target/x86_64/abi/bf16/args.h: Make xmm_regs, x87_regs extern. + * gcc.target/x86_64/abi/bf16/m256bf16/args.h: Likewise. + * gcc.target/x86_64/abi/bf16/m512bf16/args.h: Likewise. + * gcc.target/x86_64/abi/bf16/asm-support-darwin.S: New file. + * gcc.target/x86_64/abi/bf16/m256bf16/asm-support-darwin.S: New file. + * gcc.target/x86_64/abi/bf16/m512bf16/asm-support-darwin.S: New file. + +2022-12-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + * gcc.target/aarch64/interleave-init-1.c: New test. + +2022-12-05 Richard Biener <rguenther@suse.de> + + PR middle-end/40635 + * gcc.dg/uninit-pr40635.c: New testcase. + +2022-12-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106868 + * gcc.dg/Wdangling-pointer-pr106868.c: New testcase. + +2022-12-05 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/106805 + * c-c++-common/pr57371-4.c: Revert 2021-09-19 changes. + * c-c++-common/pr57371-5.c: New test. + * gcc.c-torture/execute/ieee/fp-cmp-6.x: Add -fno-trapping-math. + * gcc.c-torture/execute/ieee/fp-cmp-9.c: New test. + * gcc.c-torture/execute/ieee/fp-cmp-9.x: New file. + +2022-12-05 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107879 + * gcc.c-torture/execute/pr107879.c: New file. + +2022-12-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107833 + PR tree-optimization/107839 + * gcc.dg/torture/pr107833.c: New testcase. + * gcc.dg/uninit-pr107839.c: Likewise. + +2022-12-04 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107922 + * gfortran.dg/unpack_field_1.f90: New test. + +2022-12-04 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107899 + * gfortran.dg/pr107899.f90: New test. + +2022-12-04 Patrick Palka <ppalka@redhat.com> + + PR c++/107417 + * g++.dg/cpp2a/concepts-requires33.C: New test. + +2022-12-04 Iain Sandoe <iain@sandoe.co.uk> + Adrian Perl <adrian.perl@web.de> + + PR c++/100611 + PR c++/101367 + PR c++/101976 + PR c++/99576 + * g++.dg/coroutines/pr100611.C: New test. + * g++.dg/coroutines/pr101367.C: New test. + * g++.dg/coroutines/pr101976.C: New test. + * g++.dg/coroutines/pr99576_1.C: New test. + * g++.dg/coroutines/pr99576_2.C: New test. + +2022-12-03 Patrick Palka <ppalka@redhat.com> + + PR c++/103081 + * g++.dg/cpp2a/using-enum-10.C: New test. + * g++.dg/cpp2a/using-enum-10a.C: New test. + +2022-12-03 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/tree-ssa/ssa-sink-18.c: xfail sink2 on riscv64. + +2022-12-03 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/uninit-pred-9_b.c: Add riscv*-*-* to the xfail list + for the bogus warning. + +2022-12-02 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107874 + * gfortran.dg/merge_1.f90: Avoid recursive I/O. + +2022-12-02 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107851 + * gcc.dg/analyzer/allocation-size-4.c: Update expected wording. + * gcc.dg/analyzer/allocation-size-multiline-1.c: New test. + * gcc.dg/analyzer/allocation-size-multiline-2.c: New test. + * gcc.dg/analyzer/out-of-bounds-multiline-1.c: Update expected + wording. + * gcc.dg/analyzer/out-of-bounds-multiline-2.c: New test. + * gcc.dg/analyzer/out-of-bounds-read-char-arr.c: Update expected + wording. + * gcc.dg/analyzer/out-of-bounds-read-int-arr.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-write-char-arr.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-write-int-arr.c: Likewise. + +2022-12-02 Marek Polacek <polacek@redhat.com> + + * g++.dg/cpp0x/constexpr-ex1.C: Adjust dg-error. + * g++.dg/cpp23/constexpr-nonlit10.C: Adjust dg-warning. + * g++.dg/cpp23/constexpr-nonlit11.C: Likewise. + * g++.dg/cpp2a/spaceship-eq3.C: Add dg-error. + +2022-12-02 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> + Jason Merrill <jason@redhat.com> + + * g++.dg/diagnostic/return-type-loc1.C: New test. + +2022-12-02 Vladimir N. Makarov <vmakarov@redhat.com> + + * gcc.target/mips/pr106462.c: New test. + +2022-12-02 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/cbranchbf4.c: New test. + +2022-12-02 Jakub Jelinek <jakub@redhat.com> + + PR target/106577 + * gcc.target/i386/pr106577.c: New test. + +2022-12-02 Jakub Jelinek <jakub@redhat.com> + + PR c++/84469 + * g++.dg/gomp/for-21.C (f3, f6, f9): Adjust expected diagnostics. + * g++.dg/gomp/for-22.C: New test. + +2022-12-02 Jakub Jelinek <jakub@redhat.com> + + PR c++/84469 + * g++.dg/cpp1z/decomp56.C: New test. + * g++.dg/gomp/pr84469.C: New test. + +2022-12-02 Michael Collison <collison@rivosinc.com> + + * gcc.dg/tree-ssa/branchless-cond.c: New test. + +2022-12-02 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107948 + * gcc.dg/analyzer/feasibility-pr107948.c: New test. + +2022-12-02 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/string-ops-concat-pair.c: New test. + * gcc.dg/analyzer/string-ops-dup.c: New test. + +2022-12-02 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr107934.c: New test. + +2022-12-02 Patrick Palka <ppalka@redhat.com> + + PR c++/107539 + * g++.dg/template/canon-type-19.C: New test. + +2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/base/dup-1.c: New test. + * gcc.target/riscv/rvv/base/dup-2.c: New test. + +2022-12-01 Christophe Lyon <christophe.lyon@arm.com> + + * gcc.target/arm/simd/mve-compare-1.c: Update. + * gcc.target/arm/simd/mve-compare-scalar-1.c: Update. + * gcc.target/arm/simd/mve-vabs.c: Update. + * gcc.target/arm/simd/mve-vadd-1.c: Update. + * gcc.target/arm/simd/mve-vadd-scalar-1.c: Update. + * gcc.target/arm/simd/mve-vcmp.c: Update. + * gcc.target/arm/simd/pr101325.c: Update. + +2022-12-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107937 + * gcc.dg/pr107937.c: New testcase. + +2022-12-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107935 + * gcc.dg/torture/pr107935.c: New testcase. + +2022-12-01 Jakub Jelinek <jakub@redhat.com> + + PR target/107627 + * gcc.target/i386/pr107627-1.c: New test. + * gcc.target/i386/pr107627-2.c: New test. + +2022-12-01 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr107863.c: New test. + +2022-12-01 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106626 + * gcc.dg/analyzer/out-of-bounds-multiline-1.c: New test. + +2022-12-01 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106626 + * gcc.dg/analyzer/call-summaries-2.c: Update expected results. + * gcc.dg/analyzer/out-of-bounds-1.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-2.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-3.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-4.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-5.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-container_of.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-read-char-arr.c: Likewise. Rename + functions from "int_arr_" to "char_arr_". + * gcc.dg/analyzer/out-of-bounds-read-int-arr.c: Update expected + results. + * gcc.dg/analyzer/out-of-bounds-read-struct-arr.c: New test. + * gcc.dg/analyzer/out-of-bounds-write-char-arr.c: Update expected + results. Rename functions from "int_arr_" to "char_arr_". + * gcc.dg/analyzer/out-of-bounds-write-int-arr.c: Update expected + results. + * gcc.dg/analyzer/out-of-bounds-write-struct-arr.c: New test. + * gcc.dg/analyzer/pr101962.c: Update expected results. + * gcc.dg/analyzer/realloc-5.c: Update expected results. + * gcc.dg/analyzer/zlib-3.c: Update expected results. + +2022-12-01 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106626 + * gcc.dg/analyzer/call-summaries-2.c: Add dg-message for expected + note about valid indexes. + * gcc.dg/analyzer/out-of-bounds-1.c: Likewise, fixing up existing + dg-message directives. + * gcc.dg/analyzer/out-of-bounds-write-char-arr.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-write-int-arr.c: Likewise. + +2022-12-01 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106626 + * gcc.dg/analyzer/out-of-bounds-read-char-arr.c: Update for + changes to expected wording. + * gcc.dg/analyzer/out-of-bounds-read-int-arr.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-write-char-arr.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-write-int-arr.c: Likewise. + +2022-12-01 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107928 + * gcc.dg/analyzer/fd-bind-pr107928.c: New test. + * gcc.dg/analyzer/fd-connect-pr107928.c: New test. + * gcc.dg/analyzer/fd-stream-socket-active-open.c + (test_active_open_from_connect_constant): New, adapted from + test_active_open_from_connect. + * gcc.dg/analyzer/fd-stream-socket-passive-open.c + (test_passive_open_from_bind_constant): New, adapted from + test_passive_open_from_bind. + (test_passive_open_from_listen_constant): New, adapted from + test_passive_open_from_listen. + +2022-12-01 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/100866 + * gcc.target/powerpc/pr100866-1.c: New. + +2022-11-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * gcc.target/aarch64/mops_5.c: New test. + * gcc.target/aarch64/mops_6.c: Likewise. + * gcc.target/aarch64/mops_7.c: Likewise. + +2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/107592 + * gdc.dg/pr107592.d: New test. + +2022-11-30 Iskander Shakirzyanov <iskander@ispras.ru> + Franz Sirl <Franz.Sirl-kernel@lauterbach.com> + + PR driver/107787 + * gcc.dg/Warray-bounds-34.c: Correct the regular expression + for -Warray-bounds=. + * gcc.dg/Warray-bounds-43.c: Likewise. + * gcc.dg/pr107787.c: New test. + +2022-11-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107919 + * g++.dg/warn/Wuninitialized-pr107919-1.C: New testcase. + +2022-11-30 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107835 + * gcc.c-torture/compile/pr107835.c: New test. + +2022-11-30 Alexandre Oliva <oliva@adacore.com> + + PR target/107304 + * gcc.target/i386/pr107304.c: dg-require ifunc support. + +2022-11-30 Lulu Cheng <chenglulu@loongson.cn> + + * lib/target-supports.exp: + * gcc.target/loongarch/stack-check-alloca-1.c: New test. + * gcc.target/loongarch/stack-check-alloca-2.c: New test. + * gcc.target/loongarch/stack-check-alloca-3.c: New test. + * gcc.target/loongarch/stack-check-alloca-4.c: New test. + * gcc.target/loongarch/stack-check-alloca-5.c: New test. + * gcc.target/loongarch/stack-check-alloca-6.c: New test. + * gcc.target/loongarch/stack-check-alloca.h: New test. + * gcc.target/loongarch/stack-check-cfa-1.c: New test. + * gcc.target/loongarch/stack-check-cfa-2.c: New test. + * gcc.target/loongarch/stack-check-prologue-1.c: New test. + * gcc.target/loongarch/stack-check-prologue-2.c: New test. + * gcc.target/loongarch/stack-check-prologue-3.c: New test. + * gcc.target/loongarch/stack-check-prologue-4.c: New test. + * gcc.target/loongarch/stack-check-prologue-5.c: New test. + * gcc.target/loongarch/stack-check-prologue-6.c: New test. + * gcc.target/loongarch/stack-check-prologue-7.c: New test. + * gcc.target/loongarch/stack-check-prologue.h: New test. + +2022-11-30 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/103546 + * gcc.dg/analyzer/ferror-1.c: New test. + * gcc.dg/analyzer/fileno-1.c: New test. + * gcc.dg/analyzer/flex-with-call-summaries.c: New test. + * gcc.dg/analyzer/flex-without-call-summaries.c: New test. + * gcc.dg/analyzer/getc-1.c: New test. + * gcc.dg/analyzer/isatty-1.c: New test. + +2022-11-30 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105784 + * gcc.dg/analyzer/torture/fold-ptr-arith-pr105784.c: New test. + +2022-11-30 Patrick Palka <ppalka@redhat.com> + + PR c++/107542 + * g++.dg/cpp2a/spaceship-sfinae2.C: New test. + +2022-11-29 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/107874 + * gfortran.dg/merge_init_expr_2.f90: Adjust code to the corrected + simplification. + * gfortran.dg/merge_1.f90: New test. + +2022-11-29 Patrick Palka <ppalka@redhat.com> + + PR c++/107864 + * g++.dg/concepts/explicit-spec1a.C: New test. + +2022-11-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107852 + * gcc.dg/tree-ssa/ssa-fre-101.c: New testcase. + +2022-11-29 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.dg/ipa/iinline-attr.c: XFAIL on SPARC. + * gcc.dg/signbit-2.c: Replace vect_int selector by vect_shift. + +2022-11-29 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/107810 + * gnat.dg/unchecked_convert9.adb: Adjust pattern. + +2022-11-28 Jason Merrill <jason@redhat.com> + + PR c++/101733 + * g++.dg/cpp2a/concepts-requires32.C: New test. + +2022-11-28 Sinan <sinan.lin@linux.alibaba.com> + + * gcc.target/riscv/rv32-load-64bit-constant.c: New test. + +2022-11-28 Maciej W. Rozycki <macro@embecosm.com> + + * gcc.target/riscv/sge.c: New test. + * gcc.target/riscv/sgeu.c: New test. + * gcc.target/riscv/sle.c: New test. + * gcc.target/riscv/sleu.c: New test. + +2022-11-28 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107819 + * gfortran.dg/elemental_dependency_7.f90: New test. + +2022-11-28 Frolov Daniil <frolov.da@phystech.edu> + + * gcc.dg/Wformat-overflow1.c: New test. + +2022-11-28 Fei Gao <gaofei@eswincomputing.com> + + * gcc.target/riscv/pr93304.c: Adapt testcase for the change, constrain + match to assembly instructions only. + * gcc.target/riscv/rvv/base/spill-11.c: Adapt testcase for the change. + * gcc.target/riscv/stack_frame.c: New test. + +2022-11-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107493 + * gcc.dg/torture/pr107493.c: New testcase. + +2022-11-28 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/copyprivate-1.f90: New test. + * gfortran.dg/gomp/copyprivate-2.f90: New test. + * gfortran.dg/gomp/nowait-2.f90: Move dg-error tests ... + * gfortran.dg/gomp/nowait-4.f90: ... to this new file. + * gfortran.dg/gomp/nowait-5.f90: New test. + * gfortran.dg/gomp/nowait-6.f90: New test. + * gfortran.dg/gomp/nowait-7.f90: New test. + * gfortran.dg/gomp/nowait-8.f90: New test. + +2022-11-28 Yuri Gribov <y.gribov@samsung.com> + + PR sanitizer/106558 + * c-c++-common/asan/pr106558.c: New test. + +2022-11-28 Jakub Jelinek <jakub@redhat.com> + + PR target/106875 + * g++.target/i386/pr106875.C: New test. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vsetq_lane_f16.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s16.c: Improve tests. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_p_s32.c: Improve test. + * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_p_u32.c: Likewise. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s16.c: + * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s32.c: + * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s8.c: + * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u16.c: + * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u32.c: + * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u8.c: + * gcc.target/arm/mve/intrinsics/vqsubq_m_s16.c: + * gcc.target/arm/mve/intrinsics/vqsubq_m_s32.c: + * gcc.target/arm/mve/intrinsics/vqsubq_m_s8.c: + * gcc.target/arm/mve/intrinsics/vqsubq_m_u16.c: + * gcc.target/arm/mve/intrinsics/vqsubq_m_u32.c: + * gcc.target/arm/mve/intrinsics/vqsubq_m_u8.c: + * gcc.target/arm/mve/intrinsics/vqsubq_n_s16.c: + * gcc.target/arm/mve/intrinsics/vqsubq_n_s32.c: + * gcc.target/arm/mve/intrinsics/vqsubq_n_s8.c: + * gcc.target/arm/mve/intrinsics/vqsubq_n_u16.c: + * gcc.target/arm/mve/intrinsics/vqsubq_n_u32.c: + * gcc.target/arm/mve/intrinsics/vqsubq_n_u8.c: + * gcc.target/arm/mve/intrinsics/vqsubq_s16.c: + * gcc.target/arm/mve/intrinsics/vqsubq_s32.c: + * gcc.target/arm/mve/intrinsics/vqsubq_s8.c: + * gcc.target/arm/mve/intrinsics/vqsubq_u16.c: + * gcc.target/arm/mve/intrinsics/vqsubq_u32.c: + * gcc.target/arm/mve/intrinsics/vqsubq_u8.c: + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s16.c: + * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s32.c: + * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s8.c: + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_s16.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vqdmulhq_m_n_s16.c: Improve tests. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_s16.c: Improve test. + * 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/vqdmlashq_m_n_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s8.c: Likewise. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vqaddq_m_n_s16.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vmlasq_m_n_s16.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_s16.c: Improve tests. + * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vmlaldavaxq_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vmlaldavaxq_s32.c: Likewise. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vmladavaq_p_s16.c: Improve tests. + * 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/vmladavaxq_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vmladavaxq_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vmladavaxq_s8.c: Likewise. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/viwdupq_m_n_u16.c: Improve tests. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vhsubq_m_n_s16.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vhaddq_m_n_s16.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f16.c: Improve test. + * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f32.c: Likewise. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vsubq_f16.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vmulq_f16.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vaddlvaq_p_s32.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vabsq_f16.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vabdq_f16.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vabavq_p_s16.c: Improve 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/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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vmaxaq_m_s16.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vminaq_m_s16.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u16.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vdupq_m_n_f16.c: Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vidupq_m_n_u16.c: Improve tests. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vdwdupq_m_n_u16.c : Improve test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vddupq_m_n_u16.c: Improve 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/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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_f32.c: + Update test. + * 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. + +2022-11-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/mve/intrinsics/vcreateq_f16.c: Improve test. + * 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. + +2022-11-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107876 + * g++.dg/tree-ssa/pr107876.C: New testcase. + +2022-11-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107867 + * g++.dg/pr107867.C: New testcase. + +2022-11-28 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/imm-load.c: New test. + * gcc.target/loongarch/imm-load1.c: New test. + +2022-11-28 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/avx512bf16-cvtsbh2ss-1.c: Scan pslld. + * gcc.target/i386/extendbfsf.c: New test. + +2022-11-26 Andrew Pinski <apinski@marvell.com> + + PR tree-optimization/103356 + * gcc.dg/pr103356-1.c: New test. + +2022-11-25 Sandra Loosemore <sandra@codesourcery.com> + + * g++.dg/gomp/target-simd-clone-1.C: New. + * g++.dg/gomp/target-simd-clone-2.C: New. + * gcc.dg/gomp/target-simd-clone-1.c: New. + * gcc.dg/gomp/target-simd-clone-2.c: New. + * gcc.dg/gomp/target-simd-clone-3.c: New. + * gcc.dg/gomp/target-simd-clone-4.c: New. + * gcc.dg/gomp/target-simd-clone-5.c: New. + * gcc.dg/gomp/target-simd-clone-6.c: New. + * gcc.dg/gomp/target-simd-clone-7.c: New. + * gcc.dg/gomp/target-simd-clone-8.c: New. + * lib/scanoffloadipa.exp: New. + +2022-11-25 Tamar Christina <tamar.christina@arm.com> + + PR target/107830 + * gcc.target/aarch64/sve2/pr107830-1.c: New test. + * gcc.target/aarch64/sve2/pr107830-2.c: New test. + +2022-11-25 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/opt100.adb: New test. + * gnat.dg/opt100_pkg.adb, gnat.dg/opt100_pkg.ads: New helper. + +2022-11-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107865 + * gfortran.dg/graphite/pr107865.f90: New testcase. + +2022-11-25 Kewen.Lin <linkw@gcc.gnu.org> + + PR target/99889 + * g++.dg/pr93195a.C: Remove the skip on powerpc*-*-* 64-bit. + * gcc.target/aarch64/pr92424-2.c: Adjust LPFE1 with LPFE0. + * gcc.target/aarch64/pr92424-3.c: Likewise. + * 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. + +2022-11-24 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/107317 + * gcc.dg/asan/pr107317.c: New test. + +2022-11-24 Florian Weimer <fweimer@redhat.com> + + PR c/107805 + * gcc.dg/pr107805-1.c: New test. + * gcc.dg/pr107805-2.c: Likewise. + +2022-11-24 Jakub Jelinek <jakub@redhat.com> + + PR c/107127 + * gcc.dg/pr107127.c (foo): Add missing closing }. + +2022-11-24 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106473 + * gcc.dg/analyzer/aliasing-pr106473.c: New test. + * gcc.dg/analyzer/allocation-size-2.c: Add + -fanalyzer-fine-grained". + * gcc.dg/analyzer/allocation-size-3.c: Likewise. + * gcc.dg/analyzer/explode-1.c: Mark leak with XFAIL. + * gcc.dg/analyzer/explode-3.c: New test. + * gcc.dg/analyzer/malloc-reuse.c: New test. + +2022-11-24 Hongyu Wang <hongyu.wang@intel.com> + + PR target/107692 + * gcc.dg/guality/loop-1.c: Remove additional option for ia32. + * gcc.target/i386/pr86270.c: Add -fno-unroll-loops. + * gcc.target/i386/pr93002.c: Likewise. + +2022-11-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.dg/analyzer/call-summaries-2.c (uses_alloca): Use + __builtin_alloca instead of alloca. + +2022-11-23 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/107577 + * gfortran.dg/pr107577.f90: New test. + +2022-11-23 Andrew Pinski <apinski@marvell.com> + Jakub Jelinek <jakub@redhat.com> + + PR c/107127 + * gcc.dg/pr107127.c: New test. + +2022-11-22 Siddhesh Poyarekar <siddhesh@gotplt.org> + + * gcc.dg/builtin-dynamic-object-size-0.c (test_strdup, + test_strndup, test_strdup_min, test_strndup_min): New tests. + (main): Call them. + * gcc.dg/builtin-dynamic-object-size-1.c: Silence overread + warnings. + * gcc.dg/builtin-dynamic-object-size-2.c: Likewise. + * gcc.dg/builtin-dynamic-object-size-3.c: Likewise. + * gcc.dg/builtin-dynamic-object-size-4.c: Likewise. + * gcc.dg/builtin-object-size-1.c: Silence overread warnings. + Declare free, strdup and strndup. + (test11): New test. + (main): Call it. + * gcc.dg/builtin-object-size-2.c: Silence overread warnings. + Declare free, strdup and strndup. + (test9): New test. + (main): Call it. + * gcc.dg/builtin-object-size-3.c: Silence overread warnings. + Declare free, strdup and strndup. + (test11): New test. + (main): Call it. + * gcc.dg/builtin-object-size-4.c: Silence overread warnings. + Declare free, strdup and strndup. + (test9): New test. + (main): Call it. + +2022-11-22 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107788 + * g++.dg/analyzer/named-functions.C: New test. + +2022-11-22 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107783 + * gcc.dg/analyzer/fd-accept.c (test_accept_on_constant): New. + * gcc.dg/analyzer/fd-bind.c (test_bind_on_constant): New. + * gcc.dg/analyzer/fd-connect.c (test_connect_on_constant): New. + * gcc.dg/analyzer/fd-listen.c (test_listen_on_connected_socket): + Fix typo. + (test_listen_on_constant): New. + +2022-11-22 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107807 + * gcc.dg/analyzer/errno-___errno.c: New test. + * gcc.dg/analyzer/errno-__error.c: New test. + * gcc.dg/analyzer/errno-global-var.c: New test. + +2022-11-22 Maciej W. Rozycki <macro@embecosm.com> + + * lib/target-supports.exp + (check_effective_target_mpaired_single): Add `args' argument and + pass it to `check_no_compiler_messages' replacing + `-mpaired-single'. + (add_options_for_mips_loongson_mmi): Add `args' argument and + pass it to `check_no_compiler_messages'. + (check_effective_target_mips_msa): Add `args' argument and pass + it to `check_no_compiler_messages' replacing `-mmsa'. + (check_effective_target_mpaired_single_runtime) + (add_options_for_mpaired_single): Pass `-mpaired-single' to + `check_effective_target_mpaired_single'. + (check_effective_target_mips_loongson_mmi_runtime) + (add_options_for_mips_loongson_mmi): Pass `-mloongson-mmi' to + `check_effective_target_mips_loongson_mmi'. + (check_effective_target_mips_msa_runtime) + (add_options_for_mips_msa): Pass `-mmsa' to + `check_effective_target_mips_msa'. + (et-is-effective-target): Verify that EFFECTIVE_TARGETS exists + and if not, just check if the current compilation environment + supports the target feature requested. + (check_vect_support_and_set_flags): Pass `-mpaired-single', + `-mloongson-mmi', and `-mmsa' to the respective target feature + checks. + +2022-11-22 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/sso18.adb: New test. + +2022-11-22 Martin Jambor <mjambor@suse.cz> + + PR ipa/107661 + * g++.dg/ipa/pr107661.C: New test. + +2022-11-22 Christophe Lyon <christophe.lyon@arm.com> + + PR target/107604 + * gcc.target/aarch64/aapcs64/test_dfp_17.c: Fix for big-endian. + +2022-11-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107803 + * g++.dg/pr107803.C: New testcase. + +2022-11-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107766 + * g++.dg/vect/pr107766.cc: New testcase. + +2022-11-22 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pieces-memset-3.c: Remove xfail. + * gcc.target/i386/pieces-memset-37.c: Remove xfail. + * gcc.target/i386/pieces-memset-39.c: Remove xfail. + +2022-11-22 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107788 + * g++.dg/analyzer/fd-bind-pr107783.C: New test. + +2022-11-22 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107783 + * gcc.dg/analyzer/fd-bind-pr107783.c: New test. + +2022-11-22 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107777 + * gcc.dg/analyzer/call-summaries-errno.c: New test. + * gcc.dg/analyzer/errno-pr107777.c: New test. + +2022-11-22 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/CWE-131-examples.c: New test. + * gcc.dg/analyzer/file-CWE-1341-example.c: New test. + * gcc.dg/analyzer/malloc-CWE-401-example.c: New test. + * gcc.dg/analyzer/malloc-CWE-415-examples.c: New test. + * gcc.dg/analyzer/malloc-CWE-416-examples.c: New test. + * gcc.dg/analyzer/malloc-CWE-590-examples.c: New test. + +2022-11-21 Lewis Hyatt <lhyatt@gmail.com> + + * c-c++-common/gomp/pragma-omp-unknown.c: New test. + +2022-11-21 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/analyzer/fd-accept.c: Require sockets. + * gcc.dg/analyzer/fd-bind.c: Ditto. + * gcc.dg/analyzer/fd-connect.c: Ditto. + * gcc.dg/analyzer/fd-datagram-socket.c: Ditto. + * gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c: + Ditto. + * gcc.dg/analyzer/fd-glibc-byte-stream-socket.c: Ditto. + * gcc.dg/analyzer/fd-glibc-datagram-client.c: Ditto. + * gcc.dg/analyzer/fd-glibc-datagram-socket.c: Ditto. + * gcc.dg/analyzer/fd-listen.c: Ditto. + * gcc.dg/analyzer/fd-manpage-getaddrinfo-client.c: Ditto. + * gcc.dg/analyzer/fd-mappage-getaddrinfo-server.c: Ditto. + * gcc.dg/analyzer/fd-socket-meaning.c: Ditto. + * gcc.dg/analyzer/fd-socket-misuse.c: Ditto. + * gcc.dg/analyzer/fd-stream-socket-active-open.c: Ditto. + * gcc.dg/analyzer/fd-stream-socket-passive-open.c: Ditto. + * gcc.dg/analyzer/fd-stream-socket.c: Ditto. + * gcc.dg/analyzer/fd-symbolic-socket.c: Ditto. + * lib/target-supports.exp (check_effective_target_sockets): New + check. + +2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> + + * gcc.dg/pr77975.c: Make tests more robust. + +2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> + + * gcc.dg/tree-ssa/popcount-max.c: New test. + +2022-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * g++.dg/modules/pr99023_b.X: Match Windows paths too. + +2022-11-21 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/pr107786-2.c: New test. + * gcc.target/riscv/pr107786.c: New test. + +2022-11-21 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/machine_attr2.ads, gnat.dg/machine_attr2.adb: New test. + +2022-11-21 Andrew Pinski <apinski@marvell.com> + + * gcc.dg/redecl-23.c: New test. + * gcc.dg/redecl-24.c: New test. + * gcc.dg/redecl-25.c: New test. + +2022-11-21 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/avxneconvert-1.c: New test. + +2022-11-20 Jakub Jelinek <jakub@redhat.com> + + PR target/107183 + * gcc.dg/ubsan/pr107183.c: New test. + +2022-11-20 Jeff Law <jeffreyalaw@gmail.com> + + * gcc.dg/pr96542.c: Avoid falsely matching DECL_UIDs with + the number 254 in them. + +2022-11-19 Jakub Jelinek <jakub@redhat.com> + + PR target/107628 + * gcc.target/i386/pr107628.c: New test. + +2022-11-19 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp23/constexpr-nonlit17.C: New test. + * g++.dg/cpp23/constexpr-nonlit18.C: New test. + * g++.dg/cpp23/feat-cxx2b.C: Adjust expected __cpp_constexpr + value. + * g++.dg/ext/stmtexpr19.C: Don't expect an error. + * g++.dg/ext/stmtexpr25.C: New test. + +2022-11-19 Jeff Chapman II <jchapman@lock3software.com> + Andrew Sutton <asutton@lock3software.com> + Andrew Marmaduke <amarmaduke@lock3software.com> + Michael Lopez <mlopez@lock3software.com> + Jason Merrill <jason@redhat.com> + + * g++.dg/modules/modules.exp: Pass dg-options to link command. + * lib/g++.exp: Add -L for libstdc++exp.a. + * g++.dg/contracts/backtrace_handler/assert_fail.cpp: New test. + * g++.dg/contracts/backtrace_handler/handle_contract_violation.cpp: New test. + * g++.dg/contracts/contracts-access1.C: New test. + * g++.dg/contracts/contracts-assume1.C: New test. + * g++.dg/contracts/contracts-assume2.C: New test. + * g++.dg/contracts/contracts-assume3.C: New test. + * g++.dg/contracts/contracts-assume4.C: New test. + * g++.dg/contracts/contracts-assume5.C: New test. + * g++.dg/contracts/contracts-assume6.C: New test. + * g++.dg/contracts/contracts-comdat1.C: New test. + * g++.dg/contracts/contracts-config1.C: New test. + * g++.dg/contracts/contracts-constexpr1.C: New test. + * g++.dg/contracts/contracts-constexpr2.C: New test. + * g++.dg/contracts/contracts-constexpr3.C: New test. + * g++.dg/contracts/contracts-conversion1.C: New test. + * g++.dg/contracts/contracts-ctor-dtor1.C: New test. + * g++.dg/contracts/contracts-ctor-dtor2.C: New test. + * g++.dg/contracts/contracts-cv1.C: New test. + * g++.dg/contracts/contracts-deduced1.C: New test. + * g++.dg/contracts/contracts-deduced2.C: New test. + * g++.dg/contracts/contracts-friend1.C: New test. + * g++.dg/contracts/contracts-ft1.C: New test. + * g++.dg/contracts/contracts-ignore1.C: New test. + * g++.dg/contracts/contracts-ignore2.C: New test. + * g++.dg/contracts/contracts-large-return.C: New test. + * g++.dg/contracts/contracts-multiline1.C: New test. + * g++.dg/contracts/contracts-multiple-inheritance1.C: New test. + * g++.dg/contracts/contracts-multiple-inheritance2.C: New test. + * g++.dg/contracts/contracts-nested-class1.C: New test. + * g++.dg/contracts/contracts-nested-class2.C: New test. + * g++.dg/contracts/contracts-nocopy1.C: New test. + * g++.dg/contracts/contracts-override.C: New test. + * g++.dg/contracts/contracts-post1.C: New test. + * g++.dg/contracts/contracts-post2.C: New test. + * g++.dg/contracts/contracts-post3.C: New test. + * g++.dg/contracts/contracts-post4.C: New test. + * g++.dg/contracts/contracts-post5.C: New test. + * g++.dg/contracts/contracts-post6.C: New test. + * g++.dg/contracts/contracts-pre1.C: New test. + * g++.dg/contracts/contracts-pre10.C: New test. + * g++.dg/contracts/contracts-pre2.C: New test. + * g++.dg/contracts/contracts-pre2a1.C: New test. + * g++.dg/contracts/contracts-pre2a2.C: New test. + * g++.dg/contracts/contracts-pre3.C: New test. + * g++.dg/contracts/contracts-pre4.C: New test. + * g++.dg/contracts/contracts-pre5.C: New test. + * g++.dg/contracts/contracts-pre6.C: New test. + * g++.dg/contracts/contracts-pre7.C: New test. + * g++.dg/contracts/contracts-pre9.C: New test. + * g++.dg/contracts/contracts-redecl1.C: New test. + * g++.dg/contracts/contracts-redecl2.C: New test. + * g++.dg/contracts/contracts-redecl3.C: New test. + * g++.dg/contracts/contracts-redecl4.C: New test. + * g++.dg/contracts/contracts-redecl5.C: New test. + * g++.dg/contracts/contracts-redecl6.C: New test. + * g++.dg/contracts/contracts-redecl7.C: New test. + * g++.dg/contracts/contracts-redecl8.C: New test. + * g++.dg/contracts/contracts-tmpl-attr1.C: New test. + * g++.dg/contracts/contracts-tmpl-spec1.C: New test. + * g++.dg/contracts/contracts-tmpl-spec2.C: New test. + * g++.dg/contracts/contracts-tmpl-spec3.C: New test. + * g++.dg/contracts/contracts1.C: New test. + * g++.dg/contracts/contracts10.C: New test. + * g++.dg/contracts/contracts11.C: New test. + * g++.dg/contracts/contracts12.C: New test. + * g++.dg/contracts/contracts13.C: New test. + * g++.dg/contracts/contracts14.C: New test. + * g++.dg/contracts/contracts15.C: New test. + * g++.dg/contracts/contracts16.C: New test. + * g++.dg/contracts/contracts17.C: New test. + * g++.dg/contracts/contracts18.C: New test. + * g++.dg/contracts/contracts19.C: New test. + * g++.dg/contracts/contracts2.C: New test. + * g++.dg/contracts/contracts20.C: New test. + * g++.dg/contracts/contracts22.C: New test. + * g++.dg/contracts/contracts24.C: New test. + * g++.dg/contracts/contracts25.C: New test. + * g++.dg/contracts/contracts3.C: New test. + * g++.dg/contracts/contracts35.C: New test. + * g++.dg/contracts/contracts4.C: New test. + * g++.dg/contracts/contracts5.C: New test. + * g++.dg/contracts/contracts6.C: New test. + * g++.dg/contracts/contracts7.C: New test. + * g++.dg/contracts/contracts8.C: New test. + * g++.dg/contracts/contracts9.C: New test. + * g++.dg/modules/contracts-1_a.C: New test. + * g++.dg/modules/contracts-1_b.C: New test. + * g++.dg/modules/contracts-2_a.C: New test. + * g++.dg/modules/contracts-2_b.C: New test. + * g++.dg/modules/contracts-2_c.C: New test. + * g++.dg/modules/contracts-3_a.C: New test. + * g++.dg/modules/contracts-3_b.C: New test. + * g++.dg/modules/contracts-4_a.C: New test. + * g++.dg/modules/contracts-4_b.C: New test. + * g++.dg/modules/contracts-4_c.C: New test. + * g++.dg/modules/contracts-4_d.C: New test. + * g++.dg/modules/contracts-tpl-friend-1_a.C: New test. + * g++.dg/modules/contracts-tpl-friend-1_b.C: New test. + * g++.dg/contracts/backtrace_handler/Makefile: New test. + * g++.dg/contracts/backtrace_handler/README: New test. + * g++.dg/contracts/backtrace_handler/example_out.txt: New test. + * g++.dg/contracts/backtrace_handler/example_pretty.txt: New test. + * g++.dg/contracts/backtrace_handler/prettytrace.sh: New test. + * g++.dg/contracts/except_preload_handler/Makefile: New test. + * g++.dg/contracts/except_preload_handler/README: New test. + * g++.dg/contracts/except_preload_handler/assert_fail.cpp: New test. + * g++.dg/contracts/except_preload_handler/handle_contract_violation.cpp: New test. + * g++.dg/contracts/noexcept_preload_handler/Makefile: New test. + * g++.dg/contracts/noexcept_preload_handler/README: New test. + * g++.dg/contracts/noexcept_preload_handler/assert_fail.cpp: New test. + * g++.dg/contracts/noexcept_preload_handler/handle_contract_violation.cpp: New test. + * g++.dg/contracts/preload_handler/Makefile: New test. + * g++.dg/contracts/preload_handler/README: New test. + * g++.dg/contracts/preload_handler/assert_fail.cpp: New test. + * g++.dg/contracts/preload_handler/handle_contract_violation.cpp: New test. + * g++.dg/contracts/preload_nocontinue_handler/Makefile: New test. + * g++.dg/contracts/preload_nocontinue_handler/README: New test. + * g++.dg/contracts/preload_nocontinue_handler/assert_fail.cpp: New test. + * g++.dg/contracts/preload_nocontinue_handler/handle_contract_violation.cpp: New test. + * g++.dg/contracts/preload_nocontinue_handler/nocontinue.cpp: New test. + +2022-11-19 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107582 + * gcc.dg/analyzer/feasibility-4.c: New test. + * gcc.dg/analyzer/feasibility-pr107582-1.c: New test. + * gcc.dg/analyzer/feasibility-pr107582-2.c: New test. + +2022-11-18 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/analyzer-debugging-fns-1.c: New test. + * gcc.dg/analyzer/attr-const-3.c: Increase the + "analyzer-max-svalue-depth" from 0 to 4 to ensure that + "__analyzer_eval" is recognized. + +2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/zbb-min-max-02.c: New test. + +2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/zbs-if_then_else-01.c: New test. + +2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/zbs-bclri.c: Rename + * gcc.target/riscv/zbs-bclri-01.c: Renamed from above. + * gcc.target/riscv/zbs-bclri-02.c: New test. + * gcc.target/riscv/zbs-binvi.c: New test. + * gcc.target/riscv/zbs-bseti.c: New test. + +2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/zba-shNadd-04.c: New test. + +2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/zba-shNadd-05.c: New test. + +2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/branch-1.c: New test. + +2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/zbs-bseti-02.c: New test. + +2022-11-18 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107576 + * gfortran.dg/null_actual_3.f90: New test. + +2022-11-18 Andrew Pinski <apinski@marvell.com> + + * gcc.dg/redecl-22.c: New test. + +2022-11-18 Andrew Pinski <apinski@marvell.com> + + PR c/106764 + PR c/106765 + PR c/107307 + * gcc.dg/redecl-19.c: New test. + * gcc.dg/redecl-20.c: New test. + * gcc.dg/redecl-21.c: New test. + +2022-11-18 Yixuan Chen <chenyixuan@iscas.ac.cn> + + * gcc.dg/pr25521.c: Fix testcase for architectures that use .srodata. + +2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * gcc.target/aarch64/ldapr-sext.c: Adjust expected output. + +2022-11-18 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * lib/target-supports.exp (check_is_prog_name_available): + New. + * lib/target-supports-dg.exp + (dg-require-prog-name-available): New. + * g++.dg/modules/modules.exp: Verify avilability of module + mapper. + +2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * gcc.target/aarch64/ldapr-ext.c: Rename to... + * gcc.target/aarch64/ldapr-zext.c: ... This. Fix expected assembly. + * gcc.target/aarch64/ldapr-sext.c: New test. + +2022-11-18 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp2a/decomp5.C: New test. + * g++.dg/cpp2a/decomp6.C: New test. + * g++.dg/cpp2a/decomp7.C: New test. + * g++.dg/cpp2a/concepts-placeholder7.C: Adjust expected diagnostics. + * g++.dg/cpp2a/concepts-placeholder8.C: Likewise. + * g++.dg/cpp2a/concepts-placeholder9.C: New test. + * g++.dg/cpp2a/concepts-placeholder10.C: New test. + +2022-11-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107647 + * gcc.target/i386/pr107647.c: New testcase. + +2022-11-18 Jinyang He <hejinyang@loongson.cn> + + PR target/107713 + * gcc.target/loongarch/pr107713-1.c: New test. + * gcc.target/loongarch/pr107713-2.c: New test. + +2022-11-18 Marek Polacek <polacek@redhat.com> + + PR c++/104066 + * g++.dg/cpp2a/constinit18.C: New test. + +2022-11-17 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107732 + * gcc.dg/tree-ssa/pr107732.c: New test. + +2022-11-17 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107711 + * gcc.dg/analyzer/named-constants-Wunused-macros.c: New test. + +2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/zbs-bclri.c: New test. + +2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/zbs-bexti.c: New test. + +2022-11-17 mtsamis <manolis.tsamis@vrull.eu> + + * gcc.target/riscv/shrink-wrap-1.c: New test. + +2022-11-17 Lili Cui <lili.cui@intel.com> + + * gcc.target/i386/pieces-memset-50.c: New test. + +2022-11-17 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/107717 + * gcc.target/aarch64/sve2/pr107717.c: New test. + +2022-11-17 Jia-Wei Chen <jiawei@iscas.ac.cn> + + * gcc.target/riscv/rvv/base/spill-sp-adjust.c: New test. + +2022-11-16 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/named-constants-via-command-line.c: New test. + * gcc.dg/analyzer/named-constants-via-macros-3.c: New test. + * gcc.dg/analyzer/named-constants-via-macros-4.c: New test. + * gcc.dg/analyzer/named-constants-via-macros-empty.c: New test. + * gcc.dg/analyzer/named-constants-via-macros-gc.c: New test. + * gcc.dg/analyzer/named-constants-via-macros-traditional.c: New test. + * gcc.dg/analyzer/named-constants-via-macros-undef.c: New test. + +2022-11-16 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107711 + * gcc.dg/analyzer/fdump-analyzer-1.c: New test. + +2022-11-16 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/107707 + * gfortran.dg/pr107707.f90: New test. + +2022-11-16 Marek Polacek <polacek@redhat.com> + + PR c++/106649 + * g++.dg/cpp0x/constexpr-ctor2.C: Expect an error in c++20_down only. + * g++.dg/cpp0x/constexpr-default-ctor.C: Likewise. + * g++.dg/cpp0x/constexpr-diag3.C: Likewise. + * g++.dg/cpp0x/constexpr-ex1.C: Likewise. + * g++.dg/cpp0x/constexpr-friend.C: Likewise. + * g++.dg/cpp0x/constexpr-generated1.C: Likewise. + * g++.dg/cpp0x/constexpr-ice5.C: Likewise. + * g++.dg/cpp0x/constexpr-ice6.C: Likewise. + * g++.dg/cpp0x/constexpr-memfn1.C: Likewise. + * g++.dg/cpp0x/constexpr-neg2.C: Likewise. + * g++.dg/cpp0x/constexpr-non-const-arg.C: Likewise. + * g++.dg/cpp0x/constexpr-reinterpret1.C: Likewise. + * g++.dg/cpp0x/pr65327.C: Likewise. + * g++.dg/cpp1y/constexpr-105050.C: Likewise. + * g++.dg/cpp1y/constexpr-89285-2.C: Likewise. + * g++.dg/cpp1y/constexpr-89285.C: Likewise. + * g++.dg/cpp1y/constexpr-89785-2.C: Likewise. + * g++.dg/cpp1y/constexpr-neg1.C: Likewise. + * g++.dg/cpp1y/constexpr-nsdmi7b.C: Likewise. + * g++.dg/cpp1y/constexpr-throw.C: Likewise. + * g++.dg/cpp23/constexpr-nonlit3.C: Remove dg-error. + * g++.dg/cpp23/constexpr-nonlit6.C: Call the test functions. + * g++.dg/cpp23/feat-cxx2b.C: Adjust the expected value of + __cpp_constexpr. + * g++.dg/cpp2a/consteval3.C: Remove dg-error. + * g++.dg/cpp2a/constexpr-new7.C: Expect an error in c++20_down only. + * g++.dg/cpp2a/constexpr-try5.C: Remove dg-error. + * g++.dg/cpp2a/spaceship-constexpr1.C: Expect an error in c++20_down + only. + * g++.dg/cpp2a/spaceship-eq3.C: Likewise. + * g++.dg/diagnostic/constexpr1.C: Remove dg-error. + * g++.dg/gomp/pr79664.C: Use -Winvalid-constexpr -pedantic-errors. + * g++.dg/ubsan/vptr-4.C: Likewise. + * g++.dg/cpp23/constexpr-nonlit10.C: New test. + * g++.dg/cpp23/constexpr-nonlit11.C: New test. + * g++.dg/cpp23/constexpr-nonlit12.C: New test. + * g++.dg/cpp23/constexpr-nonlit13.C: New test. + * g++.dg/cpp23/constexpr-nonlit14.C: New test. + * g++.dg/cpp23/constexpr-nonlit15.C: New test. + * g++.dg/cpp23/constexpr-nonlit16.C: New test. + * g++.dg/cpp23/constexpr-nonlit8.C: New test. + * g++.dg/cpp23/constexpr-nonlit9.C: New test. + +2022-11-16 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107681 + * gfortran.dg/pr107681.f90: New test. + +2022-11-16 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107680 + * gfortran.dg/pr107680.f90: New test. + +2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/zbs-bext.c: Add testcases. + * gcc.target/riscv/zbs-bexti.c: Add testcases. + +2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/zbs-bext.c: Add testcases. + * gcc.target/riscv/zbs-bexti.c: Add testcases. + +2022-11-16 Hans-Peter Nilsson <hp@axis.com> + + * lib/gcc-dg.exp (gcc-transform-out-of-tree): New proc. + * g++.dg/gcov/gcov.exp, gcc.misc-tests/gcov.exp: Call + gcc-transform-out-of-tree instead of transform. + +2022-11-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107686 + * gcc.dg/pr107686.c: New testcase. + +2022-11-16 Richard Biener <rguenther@suse.de> + + PR middle-end/107679 + * gfortran.dg/pr107679.f90: New testcase. + +2022-11-16 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp2a/is-layout-compatible3.C: Expect enums with different + alignas to be layout compatible, while classes with different + alignas on members layout incompatible. + * g++.dg/DRs/dr2583.C: New test. + +2022-11-16 Jakub Jelinek <jakub@redhat.com> + + PR c++/107624 + * g++.dg/cpp23/static-operator-call4.C: New test. + * g++.dg/cpp23/subscript10.C: New test. + * g++.dg/cpp23/subscript11.C: New test. + +2022-11-16 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/analyzer_kernel_plugin.c + (copy_across_boundary_fn::matches_call_types_p): New. + * gcc.dg/plugin/analyzer_known_fns_plugin.c + (known_function_returns_42::matches_call_types_p): New. + (known_function_attempt_to_copy::matches_call_types_p): New. + +2022-11-16 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp2a/volatile1.C (fn2, fn3, racoon): Adjust expected + diagnostics. + * g++.dg/cpp2a/volatile3.C (fn2, fn3, racoon): Likewise. + * g++.dg/cpp2a/volatile5.C (f): Likewise. + * g++.dg/ext/vector25.C (foo): Don't expect a warning. + * g++.dg/cpp1y/new1.C (test_unused): Likewise. + +2022-11-16 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp2a/concepts-dr2428.C: New test. + +2022-11-16 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107668 + * gcc.dg/ubsan/pr107668.c: New test. + +2022-11-16 Kewen Lin <linkw@linux.ibm.com> + + PR rtl-optimization/90259 + * g++.target/powerpc/pr90259.C: New. + +2022-11-15 Marek Polacek <polacek@redhat.com> + + PR c++/107492 + * g++.dg/warn/Wignored-qualifiers3.C: New test. + +2022-11-15 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/builtin_pause.c: New test. + +2022-11-15 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106140 + * gcc.dg/analyzer/fd-accept.c: New test. + * gcc.dg/analyzer/fd-bind.c: New test. + * gcc.dg/analyzer/fd-connect.c: New test. + * gcc.dg/analyzer/fd-datagram-socket.c: New test. + * gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c: New test. + * gcc.dg/analyzer/fd-glibc-byte-stream-socket.c: New test. + * gcc.dg/analyzer/fd-glibc-datagram-client.c: New test. + * gcc.dg/analyzer/fd-glibc-datagram-socket.c: New test. + * gcc.dg/analyzer/fd-glibc-make_named_socket.h: New test. + * gcc.dg/analyzer/fd-listen.c: New test. + * gcc.dg/analyzer/fd-manpage-getaddrinfo-client.c: New test. + * gcc.dg/analyzer/fd-mappage-getaddrinfo-server.c: New test. + * gcc.dg/analyzer/fd-socket-meaning.c: New test. + * gcc.dg/analyzer/fd-socket-misuse.c: New test. + * gcc.dg/analyzer/fd-stream-socket-active-open.c: New test. + * gcc.dg/analyzer/fd-stream-socket-passive-open.c: New test. + * gcc.dg/analyzer/fd-stream-socket.c: New test. + * gcc.dg/analyzer/fd-symbolic-socket.c: New test. + * gcc.dg/analyzer/pr104369-1.c: Add -Wno-analyzer-too-complex and + -Wno-analyzer-fd-leak to options. + * gcc.dg/analyzer/pr104369-2.c: Add -Wno-analyzer-fd-leak to + options. + +2022-11-15 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/analyzer-decls.h + (__analyzer_dump_named_constant): New decl. + * gcc.dg/analyzer/fd-4.c (void): Likewise. + (O_ACCMODE): Define. + * gcc.dg/analyzer/fd-access-mode-enum.c: New test, based on . + * gcc.dg/analyzer/fd-5.c: ...this. Rename to... + * gcc.dg/analyzer/fd-access-mode-macros.c: ...this. + (O_ACCMODE): Define. + * gcc.dg/analyzer/fd-access-mode-target-headers.c: New test, also + based on fd-5.c. + (test_sm_fd_constants): New. + * gcc.dg/analyzer/fd-dup-1.c (O_ACCMODE): Define. + * gcc.dg/analyzer/named-constants-via-enum.c: New test. + * gcc.dg/analyzer/named-constants-via-enum-and-macro.c: New test. + * gcc.dg/analyzer/named-constants-via-macros-2.c: New test. + * gcc.dg/analyzer/named-constants-via-macros.c: New test. + +2022-11-15 Lewis Hyatt <lhyatt@gmail.com> + + * c-c++-common/cpp/macro-trace-1.c: New test. + +2022-11-15 Martin Liska <mliska@suse.cz> + + * c-c++-common/asan/global-overflow-1.c: Update + expected format. + * c-c++-common/asan/heap-overflow-1.c: Likewise. + * c-c++-common/asan/strlen-overflow-1.c: Likewise. + * c-c++-common/asan/strncpy-overflow-1.c: Likewise. + * c-c++-common/hwasan/heap-overflow.c: Likewise. + * g++.dg/asan/asan_mem_test.cc: Likewise. + * g++.dg/asan/asan_oob_test.cc: Likewise. + * g++.dg/asan/asan_str_test.cc: Likewise. + * g++.dg/asan/asan_test.cc: Likewise. + * g++.dg/asan/large-func-test-1.C: Likewise. + +2022-11-15 Patrick Palka <ppalka@redhat.com> + + * g++.dg/template/crash55.C: Don't expect additional + C++98-specific diagnostics. + * g++.dg/template/ref3.C: Remove C++98-specific xfail. + +2022-11-15 Martin Liska <mliska@suse.cz> + + Revert: + 2022-11-09 Martin Liska <mliska@suse.cz> + + PR c++/107599 + * c-c++-common/diagnostic-format-json-2.c: Fix expected URL. + * c-c++-common/diagnostic-format-json-3.c: Likewise. + * c-c++-common/diagnostic-format-json-4.c: Likewise. + * gfortran.dg/diagnostic-format-json-2.F90: Likewise. + * gfortran.dg/diagnostic-format-json-3.F90: Likewise. + +2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.target/aarch64/ldapr-ext.c: New test. + +2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com> + Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * gcc.target/aarch64/ldapr.c: New test. + +2022-11-15 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/DRs/dr2392.C: Add testcase for DR 2392. + +2022-11-15 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp23/subscript9.C: New test. + * g++.dg/cpp23/feat-cxx2b.C: Expect a newer + __cpp_multidimensional_subscript value. + * g++.old-deja/g++.bugs/900210_10.C: Don't expect an error + for C++23 or later. + +2022-11-15 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/DRs/dr2604.C: New test. + +2022-11-15 Hongyu Wang <hongyu.wang@intel.com> + + PR target/98167 + * gcc.target/i386/pr98167.c: New test. + +2022-11-15 Marek Polacek <polacek@redhat.com> + + * g++.dg/cpp23/elision4.C: Remove dg-warning. + * g++.dg/warn/Wdangling-reference1.C: Turn dg-warning into dg-bogus. + * g++.dg/warn/Wdangling-reference7.C: New test. + +2022-11-14 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp2a/concepts-friend11.C: New test. + +2022-11-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * gcc.target/aarch64/cssc_1.c: New test. + * gcc.target/aarch64/cssc_2.c: New test. + * gcc.target/aarch64/cssc_3.c: New test. + * gcc.target/aarch64/cssc_4.c: New test. + * gcc.target/aarch64/cssc_5.c: New test. + +2022-11-14 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/aarch64/sve2/div-by-bitmask_1.c: New test. + +2022-11-14 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/aarch64/div-by-bitmask.c: New test. + +2022-11-14 Tamar Christina <tamar.christina@arm.com> + + * gcc.dg/vect/vect-div-bitmask-1.c: New test. + * gcc.dg/vect/vect-div-bitmask-2.c: New test. + * gcc.dg/vect/vect-div-bitmask-3.c: New test. + * gcc.dg/vect/vect-div-bitmask.h: New file. + +2022-11-14 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/aarch64/simd/addsub_1.c: New test. + * gcc.target/aarch64/sve/addsub_1.c: New test. + +2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com> + + * gcc.target/arm/multilib.exp: Add tests for Cortex-X1C. + +2022-11-14 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/amxbf16-dpbf16ps-2.c: Remove -amx-tile. + * gcc.target/i386/amxfp16-dpfp16ps-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. + +2022-11-14 Richard Biener <rguenther@suse.de> + + * gcc.dg/pr107554.c: Restrict to lp64. + +2022-11-14 Hongyu Wang <hongyu.wang@intel.com> + + * gcc.dg/guality/loop-1.c: Add additional option + -mno-unroll-only-small-loops. + * gcc.target/i386/pr86270.c: Add -mno-unroll-only-small-loops. + * gcc.target/i386/pr93002.c: Likewise. + +2022-11-13 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106235 + * gcc.dg/analyzer/taint-assert-BUG_ON.c: New test. + * gcc.dg/analyzer/taint-assert-macro-expansion.c: New test. + * gcc.dg/analyzer/taint-assert.c: New test. + * gcc.dg/analyzer/taint-assert-system-header.c: New test. + * gcc.dg/analyzer/test-assert.h: New header. + * gcc.dg/plugin/analyzer_gil_plugin.c + (gil_diagnostic::fixup_location): Add bool param. + +2022-11-13 José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/94104 + * gfortran.dg/parens_2.f90: Adjust to improved error message. + * gfortran.dg/PR94104a.f90: New test. + * gfortran.dg/PR94104b.f90: New test. + +2022-11-13 John David Anglin <danglin@gcc.gnu.org> + + * g++.dg/guality/guality.exp: Skip on hppa*-*-hpux*. + * gcc.dg/guality/guality.exp: Likewise. + * gfortran.dg/guality/guality.exp: Likewise. + +2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/zbb-srai-andn.c: New test. + +2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/zba-shNadd-07.c: New test. + +2022-11-13 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c11-float-8.c, gcc.dg/c11-limits-1.c, + gcc.dg/c11-stdarg-4.c, gcc.dg/c11-stdatomic-3.c, + gcc.dg/c11-stddef-1.c, gcc.dg/c11-stdint-1.c, + gcc.dg/c2x-float-13.c, gcc.dg/c2x-limits-1.c, + gcc.dg/c2x-stdarg-5.c, gcc.dg/c2x-stdatomic-1.c, + gcc.dg/c2x-stddef-1.c, gcc.dg/c2x-stdint-1.c: New tests. + +2022-11-12 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107444 + * gfortran.dg/optional_absent_7.f90: Adjust regex. + * gfortran.dg/optional_absent_8.f90: New test. + +2022-11-12 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c11-keywords-1.c: Also test constexpr. + * gcc.dg/c2x-constexpr-1.c, gcc.dg/c2x-constexpr-2a.c, + gcc.dg/c2x-constexpr-2b.c, gcc.dg/c2x-constexpr-3.c, + gcc.dg/c2x-constexpr-4.c, gcc.dg/c2x-constexpr-5.c, + gcc.dg/c2x-constexpr-6.c, gcc.dg/c2x-constexpr-7.c, + gcc.dg/c2x-constexpr-8.c, gcc.dg/c2x-constexpr-9.c, + gcc.dg/dfp/c2x-constexpr-dfp-1.c, + gcc.dg/dfp/c2x-constexpr-dfp-2.c, gcc.dg/gnu2x-constexpr-1.c, + gcc.target/i386/excess-precision-11.c, + gcc.target/i386/excess-precision-12.c: New tests. + +2022-11-12 Aldy Hernandez <aldyh@redhat.com> + Jakub Jelinek <jakub@redhat.com> + + * gcc.c-torture/execute/ieee/inf-4.c: New test. + +2022-11-12 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/flogb.c: New test. + +2022-11-12 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/fscaleb.c: New test. + +2022-11-12 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/ftint.c: New test. + * gcc.target/loongarch/ftint-no-inexact.c: New test. + +2022-11-12 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/frint.c: New test. + +2022-11-11 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106147 + * g++.dg/analyzer/infinite-recursion-1.C: New test. + * g++.dg/analyzer/infinite-recursion-2.C: New test, copied from + g++.dg/warn/Winfinite-recursion-2.C. + * g++.dg/analyzer/infinite-recursion-3.C: New test, adapted from + g++.dg/warn/Winfinite-recursion-3.C. + * gcc.dg/analyzer/infinite-recursion-2.c: New test. + * gcc.dg/analyzer/infinite-recursion-3.c: New test. + * gcc.dg/analyzer/infinite-recursion-4-limited-buggy.c: New test. + * gcc.dg/analyzer/infinite-recursion-4-limited.c: New test. + * gcc.dg/analyzer/infinite-recursion-4-unlimited-buggy.c: New test. + * gcc.dg/analyzer/infinite-recursion-4-unlimited.c: New test. + * gcc.dg/analyzer/infinite-recursion-5.c: New test, adapted from + gcc.dg/Winfinite-recursion.c. + * gcc.dg/analyzer/infinite-recursion-alloca.c: New test. + * gcc.dg/analyzer/infinite-recursion-inlining.c: New test. + * gcc.dg/analyzer/infinite-recursion-multiline-1.c: New test. + * gcc.dg/analyzer/infinite-recursion-multiline-2.c: New test. + * gcc.dg/analyzer/infinite-recursion-variadic.c: New test. + * gcc.dg/analyzer/infinite-recursion.c: Add dg-warning directives + where infinite recursions occur. + * gcc.dg/analyzer/malloc-ipa-12.c: Likewise. + * gcc.dg/analyzer/pr105365.c: Likewise. + * gcc.dg/analyzer/pr105366.c: Likewise. + * gcc.dg/analyzer/pr97029.c: Likewise. + +2022-11-11 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/107523 + * gcc.dg/pr107523.c: New. + +2022-11-11 Richard Biener <rguenther@suse.de> + Nikita Voronov <nik_1357@mail.ru> + + PR tree-optimization/107554 + * gcc.dg/pr107554.c: New testcase. + +2022-11-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107618 + * gcc.dg/pr107618.c: New testcase. + +2022-11-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/84646 + * g++.dg/tree-ssa/pr106922.C: Continue to scan earlier DCE dump. + * gcc.dg/tree-ssa/20030808-1.c: Likewise. + +2022-11-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + Monk Chiang <monk.chiang@sifive.com> + + * gcc.target/riscv/rvv/base/macro.h: New test. + * gcc.target/riscv/rvv/base/spill-1.c: New test. + * gcc.target/riscv/rvv/base/spill-10.c: New test. + * gcc.target/riscv/rvv/base/spill-11.c: New test. + * gcc.target/riscv/rvv/base/spill-12.c: New test. + * gcc.target/riscv/rvv/base/spill-2.c: New test. + * gcc.target/riscv/rvv/base/spill-3.c: New test. + * gcc.target/riscv/rvv/base/spill-4.c: New test. + * gcc.target/riscv/rvv/base/spill-5.c: New test. + * gcc.target/riscv/rvv/base/spill-6.c: New test. + * gcc.target/riscv/rvv/base/spill-7.c: New test. + * gcc.target/riscv/rvv/base/spill-8.c: New test. + * gcc.target/riscv/rvv/base/spill-9.c: New test. + +2022-11-11 Jonathan Wakely <jwakely@redhat.com> + + PR c/85487 + * c-c++-common/pragma-region.c: New test. + +2022-11-11 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/prefetchi-5.c: New test. + +2022-11-10 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/deref-before-check-1.c: New test. + * gcc.dg/analyzer/deref-before-check-2.c: New test. + * gcc.dg/analyzer/deref-before-check-pr77425.c: New test. + * gcc.dg/analyzer/malloc-1.c (test_51): New test. + +2022-11-10 Marek Polacek <polacek@redhat.com> + + * g++.dg/warn/Wdangling-reference6.C: New test. + +2022-11-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/84646 + * gcc.dg/tree-ssa/ssa-ccp-42.c: New testcase. + +2022-11-10 Richard Biener <rguenther@suse.de> + + * gcc.dg/loop-unswitch-18.c: New testcase. + * gcc.dg/tree-ssa/loopclosedphi.c: Disable unswitching, + adjust expected counts. + * gcc.dg/torture/pr71462.c: Add -w to ignore undefined + behavior diagnostics after now unswitching outer loops. + +2022-11-10 Jakub Jelinek <jakub@redhat.com> + + PR target/107585 + PR target/107546 + * gcc.dg/pr107585.c: New test. + +2022-11-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107559 + * gfortran.dg/pr107559.f90: New test. + +2022-11-09 Martin Liska <mliska@suse.cz> + + PR c++/107599 + * c-c++-common/diagnostic-format-json-2.c: Fix expected URL. + * c-c++-common/diagnostic-format-json-3.c: Likewise. + * c-c++-common/diagnostic-format-json-4.c: Likewise. + * gfortran.dg/diagnostic-format-json-2.F90: Likewise. + * gfortran.dg/diagnostic-format-json-3.F90: Likewise. + +2022-11-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107441 + * gfortran.dg/coarray/pr107441-caf.f90: New test. + * gfortran.dg/optional_absent_6.f90: New test. + * gfortran.dg/optional_absent_7.f90: New test. + +2022-11-09 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.dg/guality/param-6.c: New test. + +2022-11-09 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp0x/attr-carries_dependency1.C: New test. + +2022-11-09 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107541 + * gcc.dg/tree-ssa/pr107541.c (c): Use long long type rather than long. + (main): Punt if sizeof short isn't 2, or int 4, or long long 8. + +2022-11-09 Marek Polacek <polacek@redhat.com> + + PR c++/107363 + * g++.dg/cpp0x/Wredundant-move13.C: New test. + +2022-11-09 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr107540.c: New test. + +2022-11-08 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/101962 + * gcc.dg/analyzer/data-model-23.c (test_3): New test. + +2022-11-08 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/24021 + * gcc.dg/tree-ssa/vrp-float-plus.c: New test. + +2022-11-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107389 + * gcc.dg/pr107389.c: New testcase. + +2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com> + + * gcc.target/gcn/math-builtins-1.c: New test. + +2022-11-08 Surya Kumari Jangala <jskumari@linux.ibm.com> + + PR testsuite/107171 + * gcc.target/powerpc/pr105586.c: Guard against unsupported + __int128. + +2022-11-08 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107547 + * gcc.dg/pr107547.c: New test. + +2022-11-08 Jakub Jelinek <jakub@redhat.com> + + PR target/107546 + * gcc.target/i386/pr107546.c: New test. + +2022-11-08 konglin1 <lingling.kong@intel.com> + + Revert: + 2022-11-08 konglin1 <lingling.kong@intel.com> + + * gcc.target/i386/raoint-atomic-fetch.c: New test. + +2022-11-08 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/errno-1.c: New test. + +2022-11-08 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/strchr-1.c (test_literal): Detect writing to a + string literal. Verify that we emit the "when '__builtin_strchr' + returns non-NULL" message. + +2022-11-08 Jason Merrill <jason@redhat.com> + Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp2a/spaceship-eq15.C: New test. + * g++.dg/cpp0x/defaulted3.C: Add const. + * g++.dg/cpp2a/bit-cast7.C: Add const. + * g++.dg/cpp2a/spaceship-rewrite1.C: Expect error. + * g++.dg/cpp2a/spaceship-rewrite5.C: Expect error. + * g++.old-deja/g++.jason/byval2.C: Expect error. + * g++.old-deja/g++.other/overload13.C: Add const. + +2022-11-08 Andrew MacLeod <amacleod@redhat.com> + + * gcc.dg/pr104530.c: New. + +2022-11-07 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/55157 + * gcc.dg/tree-ssa/pr55157.c: New test. + +2022-11-07 H.J. Lu <hjl.tools@gmail.com> + + PR middle-end/102566 + * g++.target/i386/pr102566-7.C + +2022-11-07 Nathan Sidwell <nathan@acm.org> + + * g++.dg/abi/lambda-tpl1.h: Add more cases. + * g++.dg/abi/lambda-tpl1-17.C: Add checks. + * g++.dg/abi/lambda-tpl1-18.C: Likewise. + * g++.dg/abi/lambda-tpl1-18vs17.C: Likewise. + +2022-11-07 Alexander Monakov <amonakov@ispras.ru> + + PR tree-optimization/107505 + * gcc.dg/pr107505.c: New test. + +2022-11-07 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107541 + * gcc.dg/tree-ssa/pr107541.c: New test. + +2022-11-07 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/107508 + * gfortran.dg/widechar_11.f90: New test. + +2022-11-07 konglin1 <lingling.kong@intel.com> + + * gcc.target/i386/sse-22.c: Fix typo in pragma GCC target. + +2022-11-07 Kewen Lin <linkw@linux.ibm.com> + + PR tree-optimization/107412 + * gcc.target/powerpc/pr107412.c: New test. + * gcc.target/powerpc/p9-vec-length-epil-8.c: Adjust scan times for + folded LEN_LOAD. + +2022-11-07 Hu, Lin1 <lin1.hu@intel.com> + + * g++.target/i386/mv16.C: Add grandridge. + * gcc.target/i386/funcspec-56.inc: Handle new march. + +2022-11-07 konglin1 <lingling.kong@intel.com> + + * gcc.target/i386/raoint-atomic-fetch.c: New test. + +2022-11-07 konglin1 <lingling.kong@intel.com> + + * g++.dg/other/i386-2.C: Add -mraoint. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-12.c: Add -mraoint. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add raoint target. + * gcc.target/i386/sse-23.c: Ditto. + * lib/target-supports.exp: Add check_effective_target_raoint. + * gcc.target/i386/rao-helper.h: New test. + * gcc.target/i386/raoint-1.c: Ditto. + * gcc.target/i386/raoint-aadd-2.c: Ditto. + * gcc.target/i386/raoint-aand-2.c: Ditto. + * gcc.target/i386/raoint-aor-2.c: Ditto. + * gcc.target/i386/raoint-axor-2.c: Ditto. + * gcc.target/i386/x86gprintrin-1.c: Ditto. + * gcc.target/i386/x86gprintrin-2.c: Ditto. + * gcc.target/i386/x86gprintrin-3.c: Ditto. + * gcc.target/i386/x86gprintrin-4.c: Ditto. + * gcc.target/i386/x86gprintrin-5.c: Ditto. + +2022-11-07 Haochen Jiang <haochen.jiang@intel.com> + + * g++.target/i386/mv16.C: Add graniterapids. + * gcc.target/i386/funcspec-56.inc: Handle new march. + +2022-11-07 Haochen Jiang <haochen.jiang@intel.com> + Hongtao Liu <hongtao.liu@intel.com> + + * g++.dg/other/i386-2.C: Add -mprefetchi. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/avx-1.c: Ditto. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-13.c: Add -mprefetchi. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/x86gprintrin-1.c: Ditto. + * gcc.target/i386/x86gprintrin-2.c: Ditto. + * gcc.target/i386/x86gprintrin-3.c: Ditto. + * gcc.target/i386/x86gprintrin-4.c: Ditto. + * gcc.target/i386/x86gprintrin-5.c: Ditto. + * gcc.target/i386/prefetchi-1.c: New test. + * gcc.target/i386/prefetchi-2.c: Ditto. + * gcc.target/i386/prefetchi-3.c: Ditto. + * gcc.target/i386/prefetchi-4.c: Ditto. + +2022-11-06 Patrick Palka <ppalka@redhat.com> + + * g++.dg/special/initpri3.C: New test. + +2022-11-06 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/fcopysign.c: New test. + +2022-11-05 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/attr_register2.d: Adjust test. + +2022-11-05 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/Wbuiltin_declaration_mismatch2.d: Remove comparision tests. + * gdc.dg/simd2a.d: Update comparison tests. + * gdc.dg/simd2b.d: Likewise. + * gdc.dg/simd2c.d: Likewise. + * gdc.dg/simd2d.d: Likewise. + * gdc.dg/simd2e.d: Likewise. + * gdc.dg/simd2f.d: Likewise. + * gdc.dg/simd2g.d: Likewise. + * gdc.dg/simd2h.d: Likewise. + * gdc.dg/simd2i.d: Likewise. + * gdc.dg/simd2j.d: Likewise. + +2022-11-05 Lewis Hyatt <lhyatt@gmail.com> + + PR preprocessor/55971 + * c-c++-common/raw-string-directive-1.c: New test. + * c-c++-common/raw-string-directive-2.c: New test. + +2022-11-04 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp23/charset1.C: New testcase from C++23 P2314R4. + +2022-11-04 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/cpp/named-universal-char-escape-1.c: Add tests for some + characters newly added in Unicode 15.0.0. + +2022-11-04 Wilco Dijkstra <wdijkstr@arm.com> + + * gcc.target/aarch64/mgeneral-regs_3.c: Fix testcase. + +2022-11-04 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107342 + * gcc.dg/tree-ssa/vrp122.c: New test. + * gcc.dg/tree-ssa/vrp123.c: New test. + +2022-11-04 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/opt99.adb: New test. + * gnat.dg/opt99_pkg1.ads, gnat.dg/opt99_pkg1.adb: New helper. + * gnat.dg/opt99_pkg2.ads: Likewise. + +2022-11-04 Javier Miranda <miranda@adacore.com> + + * gnat.dg/abstract1.ads: Cleanup whitespaces. + * gnat.dg/abstract1.adb: Likewise and add -gnatws to silence new + warning. + +2022-11-04 Hongyu Wang <hongyu.wang@intel.com> + Haochen Jiang <haochen.jiang@intel.com> + + * g++.dg/other/i386-2.C: Add -mamx-fp16. + * 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. + * lib/target-supports.exp: (check_effective_target_amx_fp16): + New proc. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/amx-check.h: Add AMX_FP16. + * gcc.target/i386/amx-helper.h: New file to support amx-fp16. + * gcc.target/i386/amxfp16-asmatt-1.c: New test. + * gcc.target/i386/amxfp16-asmintel-1.c: Ditto. + * gcc.target/i386/amxfp16-dpfp16ps-2.c: Ditto. + +2022-11-04 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/cmse/bitfield-1.c: Use overridable location. + * gcc.target/arm/cmse/bitfield-2.c: Likewise. + * gcc.target/arm/cmse/bitfield-3.c: Likewise. + * gcc.target/arm/cmse/cmse-20.c: Likewise. + * gcc.target/arm/cmse/struct-1.c: Likewise. + * gcc.target/arm/cmse/cmse.exp (cmse_sgstubs): New. + +2022-11-04 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * g++.dg/modules/bad-mapper-3.C: Update dg-error pattern. + +2022-11-04 Haochen Jiang <haochen.jiang@intel.com> + + * g++.target/i386/mv16.C: Add sierra forest. + * gcc.target/i386/funcspec-56.inc: Handle new march. + +2022-11-04 Haochen Jiang <haochen.jiang@intel.com> + + * g++.dg/other/i386-2.C: Add -mcmpccxadd. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/avx-1.c: Ditto. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-13.c: Add -mcmpccxadd. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/x86gprintrin-1.c: Ditto. + * gcc.target/i386/x86gprintrin-2.c: Ditto. + * gcc.target/i386/x86gprintrin-3.c: Ditto. + * gcc.target/i386/x86gprintrin-4.c: Ditto. + * gcc.target/i386/x86gprintrin-5.c: Ditto. + * lib/target-supports.exp (check_effective_target_cmpccxadd): + New. + * gcc.target/i386/cmpccxadd-1.c: New test. + * gcc.target/i386/cmpccxadd-2.c: Ditto. + +2022-11-03 Marek Polacek <polacek@redhat.com> + + PR c++/107488 + * g++.dg/warn/Wdangling-reference5.C: New test. + +2022-11-03 Patrick Palka <ppalka@redhat.com> + + PR c++/107179 + * g++.dg/cpp2a/concepts-requires31.C: New test. + +2022-11-03 Andrew MacLeod <amacleod@redhat.com> + + * g++.dg/pr99966.C: New. + * gcc.dg/pr93917.c: New. + * gcc.dg/pr102650.c: New. + +2022-11-03 Jason Merrill <jason@redhat.com> + + * g++.dg/concepts/auto1.C: + * g++.dg/concepts/auto3.C: + * g++.dg/concepts/auto4.C: + * g++.dg/concepts/class-deduction1.C: + * g++.dg/concepts/class5.C: + * g++.dg/concepts/class6.C: + * g++.dg/concepts/debug1.C: + * g++.dg/concepts/decl-diagnose.C: + * g++.dg/concepts/deduction-constraint1.C: + * g++.dg/concepts/diagnostic1.C: + * g++.dg/concepts/dr1430.C: + * g++.dg/concepts/equiv.C: + * g++.dg/concepts/equiv2.C: + * g++.dg/concepts/expression.C: + * g++.dg/concepts/expression2.C: + * g++.dg/concepts/expression3.C: + * g++.dg/concepts/fn-concept1.C: + * g++.dg/concepts/fn-concept2.C: + * g++.dg/concepts/fn-concept3.C: + * g++.dg/concepts/fn1.C: + * g++.dg/concepts/fn10.C: + * g++.dg/concepts/fn2.C: + * g++.dg/concepts/fn3.C: + * g++.dg/concepts/fn4.C: + * g++.dg/concepts/fn5.C: + * g++.dg/concepts/fn6.C: + * g++.dg/concepts/fn8.C: + * g++.dg/concepts/fn9.C: + * g++.dg/concepts/generic-fn-err.C: + * g++.dg/concepts/generic-fn.C: + * g++.dg/concepts/inherit-ctor1.C: + * g++.dg/concepts/inherit-ctor3.C: + * g++.dg/concepts/intro1.C: + * g++.dg/concepts/intro2.C: + * g++.dg/concepts/intro3.C: + * g++.dg/concepts/intro4.C: + * g++.dg/concepts/intro5.C: + * g++.dg/concepts/intro6.C: + * g++.dg/concepts/intro7.C: + * g++.dg/concepts/locations1.C: + * g++.dg/concepts/partial-concept-id1.C: + * g++.dg/concepts/partial-concept-id2.C: + * g++.dg/concepts/partial-spec5.C: + * g++.dg/concepts/placeholder2.C: + * g++.dg/concepts/placeholder3.C: + * g++.dg/concepts/placeholder4.C: + * g++.dg/concepts/placeholder5.C: + * g++.dg/concepts/placeholder6.C: + * g++.dg/concepts/pr65634.C: + * g++.dg/concepts/pr65636.C: + * g++.dg/concepts/pr65681.C: + * g++.dg/concepts/pr65848.C: + * g++.dg/concepts/pr67249.C: + * g++.dg/concepts/pr67595.C: + * g++.dg/concepts/pr68434.C: + * g++.dg/concepts/pr71127.C: + * g++.dg/concepts/pr71128.C: + * g++.dg/concepts/pr71131.C: + * g++.dg/concepts/pr71385.C: + * g++.dg/concepts/pr85065.C: + * g++.dg/concepts/template-parm11.C: + * g++.dg/concepts/template-parm12.C: + * g++.dg/concepts/template-parm2.C: + * g++.dg/concepts/template-parm3.C: + * g++.dg/concepts/template-parm4.C: + * g++.dg/concepts/template-template-parm1.C: + * g++.dg/concepts/var-concept1.C: + * g++.dg/concepts/var-concept2.C: + * g++.dg/concepts/var-concept3.C: + * g++.dg/concepts/var-concept4.C: + * g++.dg/concepts/var-concept5.C: + * g++.dg/concepts/var-concept6.C: + * g++.dg/concepts/var-concept7.C: + * g++.dg/concepts/var-templ2.C: + * g++.dg/concepts/var-templ3.C: + * g++.dg/concepts/variadic1.C: + * g++.dg/concepts/variadic2.C: + * g++.dg/concepts/variadic3.C: + * g++.dg/concepts/variadic4.C: + * g++.dg/cpp2a/concepts-pr65575.C: + * g++.dg/cpp2a/concepts-pr66091.C: + * g++.dg/cpp2a/concepts-pr84980.C: + * g++.dg/cpp2a/concepts-pr85265.C: Pass -fconcepts-ts. + * g++.dg/cpp2a/concepts-pr84979-2.C: + * g++.dg/cpp2a/concepts-pr84979-3.C: Same diagnostics + in C++20 and below. + +2022-11-03 Patrick Palka <ppalka@redhat.com> + + PR c++/93413 + * g++.dg/cpp2a/constexpr-virtual21.C: New test. + +2022-11-03 Kwok Cheung Yeung <kcy@codesourcery.com> + + * gcc.target/gcn/unsafe-math-1.c: New. + +2022-11-03 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/analyzer_gil_plugin.c: Use std::unique_ptr for + state machines from plugins. + +2022-11-03 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/analyzer_kernel_plugin.c: Use std::unique_ptr for + known functions. + * gcc.dg/plugin/analyzer_known_fns_plugin.c: Likewise. + +2022-11-03 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/analyzer_kernel_plugin.c: Include "make-unique.h". + Use std::unique_ptr in bifurcation code. + * gcc.dg/plugin/analyzer_known_fns_plugin.c: Likewise. + +2022-11-03 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/analyzer_gil_plugin.c: Add define of + INCLUDE_MEMORY. Include "make-unique.h". + (gil_state_machine::check_for_pyobject_in_call): Use make_unique + when creating pending_diagnostic. + (gil_state_machine::on_stmt): Likewise. + (gil_state_machine::check_for_pyobject_usage_without_gil): Likewise. + * gcc.dg/plugin/analyzer_kernel_plugin.c: : Add define of + INCLUDE_MEMORY. + * gcc.dg/plugin/analyzer_known_fns_plugin.c: Likewise. + +2022-11-03 Andrew MacLeod <amacleod@redhat.com> + + * gcc.dg/tree-ssa/vrp-update.c: New. + +2022-11-03 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107486 + * gcc.dg/analyzer/pipe-pr107486.c: New test. + * gcc.dg/analyzer/pipe-void-return.c: New test. + +2022-11-03 Uroš Bizjak <ubizjak@gmail.com> + + PR target/107404 + * g++.target/i386/pr107404.C: New test. + +2022-11-03 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/106806 + * gcc.dg/tree-ssa/gen-vect-34.c: Adjust with vect_masked_load + effective target. + +2022-11-03 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c2x-auto-1.c, gcc.dg/c2x-auto-2.c, gcc.dg/c2x-auto-3.c, + gcc.dg/c2x-auto-4.c, gcc.dg/gnu2x-auto-1.c: New tests. + +2022-11-02 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/zawrs.c: New test. + +2022-11-02 Xionghu Luo <xionghuluo@tencent.com> + + PR target/100866 + * gcc.target/powerpc/pr100866-2.c: New. + +2022-11-01 Nathan Sidwell <nathan@acm.org> + + * g++.dg/abi/lambda-sig1-18.C: New. + * g++.dg/abi/lambda-sig1-18vs17.C: New. + * g++.dg/cpp1y/lambda-mangle-1-18.C: New. + +2022-11-01 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107490 + * gcc.dg/tree-ssa/pr107490.c: New test. + +2022-11-01 Andrew MacLeod <amacleod@redhat.com> + + * gcc.dg/pr68217.c: Test [-INF, -INF][0, 0] instead of [-INF, 0]. + * gcc.dg/tree-ssa/vrp-unreachable.c: New. Test unreachable removal. + +2022-11-01 Nathan Sidwell <nathan@acm.org> + + * g++.dg/abi/lambda-sig1-17.C: New. + * g++.dg/abi/lambda-sig1.h: New. + * g++.dg/cpp1y/lambda-mangle-1.C: Extracted to ... + * g++.dg/cpp1y/lambda-mangle-1.h: ... here. + * g++.dg/cpp1y/lambda-mangle-1-11.C: New + * g++.dg/cpp1y/lambda-mangle-1-17.C + +2022-11-01 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr107057.c: New test. + +2022-11-01 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr55583.c: New test. + +2022-11-01 Cui,Lili <lili.cui@intel.com> + + * gcc.dg/ipa/inlinehint-6.c: New test. + +2022-10-31 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp23/ext-floating12.C: New test. + +2022-10-31 Guillermo E. Martinez <guillermo.e.martinez@oracle.com> + + * gcc.dg/debug/btf/btf-enum-1.c: Update testcase, with correct + info.kflags encoding. + * gcc.dg/debug/btf/btf-enum64-1.c: New testcase. + +2022-10-31 Jakub Jelinek <jakub@redhat.com> + + * gcc.dg/torture/floatn-builtin.h: Add tests for newly added builtins. + +2022-10-31 konglin1 <lingling.kong@intel.com> + + * gcc.target/i386/avx-check.h: Add avxneconvert check. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-12.c: Add -mavxneconvert. + * 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:add check_effective_target_avxneconvert. + * gcc.target/i386/avx-ne-convert-1.c: New test. + * gcc.target/i386/avx-ne-convert-vbcstnebf162ps-2.c: Ditto. + * gcc.target/i386/avx-ne-convert-vbcstnesh2ps-2.c: Ditto. + * gcc.target/i386/avx-ne-convert-vcvtneebf162ps-2.c: Ditto. + * gcc.target/i386/avx-ne-convert-vcvtneeph2ps-2.c: Ditto. + * gcc.target/i386/avx-ne-convert-vcvtneobf162ps-2.c: Ditto. + * gcc.target/i386/avx-ne-convert-vcvtneoph2ps-2.c: Ditto. + * gcc.target/i386/avx-ne-convert-vcvtneps2bf16-2.c: Ditto. + * gcc.target/i386/avx512bf16vl-vcvtneps2bf16-1.c: Rename.. + * gcc.target/i386/avx512bf16vl-vcvtneps2bf16-1a.c: To this. + * gcc.target/i386/avx512bf16vl-vcvtneps2bf16-1b.c: New test. + +2022-10-31 konglin1 <lingling.kong@intel.com> + + * gcc.target/i386/avx512bf16-cvtsbh2ss-1.c: Add fpmath option. + * gcc.target/i386/avx512bf16-vdpbf16ps-2.c: Fixed + scan-assembler. + * gcc.target/i386/avx512bf16vl-cvtness2sbh-1.c: Add x/y suffix + for vcvtneps2bf16. + * gcc.target/i386/avx512bf16vl-vcvtneps2bf16-1.c: Ditto. + +2022-10-31 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr107261.c: New test. + +2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/simd19630.d: Move tests with errors to ... + * gdc.dg/simd19630b.d: ... here. New test. + * gdc.dg/simd19630c.d: New test. + * gdc.dg/simd_ctfe.d: Removed. + * gdc.dg/simd18867.d: New test. + * gdc.dg/simd19788.d: New test. + * gdc.dg/simd21469.d: New test. + * gdc.dg/simd21672.d: New test. + * gdc.dg/simd23077.d: New test. + * gdc.dg/simd23084.d: New test. + * gdc.dg/simd23085.d: New test. + * gdc.dg/torture/simd19632.d: New test. + * gdc.dg/torture/simd20041.d: New test. + * gdc.dg/torture/simd21673.d: New test. + * gdc.dg/torture/simd21676.d: New test. + * gdc.dg/torture/simd22438.d: New test. + * gdc.dg/torture/simd23009.d: New test. + * gdc.dg/torture/simd23077.d: New test. + * gdc.dg/torture/simd8.d: New test. + * gdc.dg/torture/simd9.d: New test. + * gdc.dg/torture/simd_prefetch.d: New test. + +2022-10-28 Marek Polacek <polacek@redhat.com> + + * g++.dg/warn/Wdangling-reference4.C: New test. + +2022-10-28 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c11-stdarg-1.c, gcc.dg/c11-stdarg-2.c, + gcc.dg/c11-stdarg-3.c, gcc.dg/c2x-stdarg-1.c, + gcc.dg/c2x-stdarg-2.c, gcc.dg/c2x-stdarg-3.c, + gcc.dg/c2x-stdarg-4.c, gcc.dg/gnu2x-stdarg-1.c, + gcc.dg/torture/c2x-stdarg-split-1a.c, + gcc.dg/torture/c2x-stdarg-split-1b.c: New tests. + * gcc.dg/Wold-style-definition-2.c, gcc.dg/format/sentinel-1.c: + Update expected diagnostics. + * gcc.dg/c2x-nullptr-1.c (test5): Cast unused parameter to (void). + * gcc.dg/diagnostic-token-ranges.c: Use -pedantic. Expect warning + in place of error. + +2022-10-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107407 + * gcc.dg/torture/pr107407.c: New testcase. + +2022-10-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107447 + * gcc.dg/torture/pr107447.c: New testcase. + +2022-10-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107435 + * gcc.dg/torture/pr107435.c: New testcase. + +2022-10-28 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/directive-1.c: New test. + * c-c++-common/gomp/clauses-6.c: New test. + * c-c++-common/gomp/declare-variant-2.c (f75a): Declare. + (f75): Use f75a as variant instead of f1 and don't expect error. + * g++.dg/gomp/clause-4.C (foo): Don't expect error on comma + before first clause. + * gcc.dg/gomp/clause-2.c (foo): Likewise. + +2022-10-28 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/pr100756.c: Adjust for larger vectors. + +2022-10-28 Thomas Schwinge <thomas@codesourcery.com> + + * gcc.dg/vect/bb-slp-cond-1.c: Fix target selector syntax. + +2022-10-28 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/107240 + * gcc.dg/vect/vect-bitfield-read-1.c: Add effective target checking + vect_shift. + * gcc.dg/vect/vect-bitfield-read-3.c: Likewise. + * gcc.dg/vect/vect-bitfield-read-5.c: Likewise. + * gcc.dg/vect/vect-bitfield-read-6.c: Likewise. + * gcc.dg/vect/vect-bitfield-read-7.c: Likewise. + * gcc.dg/vect/vect-bitfield-read-2.c: Add effective target checking + vect_shift and replace vect_int with vect_long_long. + * gcc.dg/vect/vect-bitfield-read-4.c: Likewise. + +2022-10-28 Joseph Myers <joseph@codesourcery.com> + + PR c/61469 + * gcc.dg/c11-enum-4.c, gcc.dg/c11-enum-5.c, gcc.dg/c11-enum-6.c, + gcc.dg/c2x-enum-6.c, gcc.dg/c2x-enum-7.c, gcc.dg/c2x-enum-8.c, + gcc.dg/gnu2x-enum-1.c: New tests. + +2022-10-27 H.J. Lu <hjl.tools@gmail.com> + + PR target/107172 + * gcc.target/i386/pr107172.c: New test. + +2022-10-27 Nathan Sidwell <nathan@acm.org> + + * g++.dg/abi/lambda-ctx1-18.C: Adjust. + * g++.dg/abi/lambda-ctx1-18vs17.C: Adjust. + * g++.dg/abi/lambda-tpl1-17.C: New. + * g++.dg/abi/lambda-tpl1-18.C: New. + * g++.dg/abi/lambda-tpl1-18vs17.C: New. + * g++.dg/abi/lambda-tpl1.h: New. + +2022-10-27 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107394 + * gcc.dg/tree-ssa/pr107394.c: New test. + +2022-10-27 Jakub Jelinek <jakub@redhat.com> + + PR c++/107382 + PR c++/107383 + * g++.dg/diagnostic/bad-binary-ops2.C: New test. + +2022-10-27 Jiawei <jiawei@iscas.ac.cn> + + * gcc.target/riscv/_Float16-zhinx-1.c: New test. + * gcc.target/riscv/_Float16-zhinx-2.c: New test. + * gcc.target/riscv/_Float16-zhinx-3.c: New test. + * gcc.target/riscv/_Float16-zhinxmin-1.c: New test. + * gcc.target/riscv/_Float16-zhinxmin-2.c: New test. + * gcc.target/riscv/_Float16-zhinxmin-3.c: New test. + +2022-10-26 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/fd-3.c (test_5): Expect "opened here" message + even when flags are symbolic. + (test_read_from_symbolic_fd): New. + (test_write_to_symbolic_fd): New. + +2022-10-26 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103413 + * gfortran.dg/illegal_boz_arg_4.f90: New test. + +2022-10-26 David Faust <david.faust@oracle.com> + + * gcc.target/bpf/core-builtin-fieldinfo-errors-1.c: New test. + * gcc.target/bpf/core-builtin-fieldinfo-errors-2.c: New test. + * gcc.target/bpf/core-builtin-fieldinfo-existence-1.c: New test. + * gcc.target/bpf/core-builtin-fieldinfo-lshift-1-be.c: New test. + * gcc.target/bpf/core-builtin-fieldinfo-lshift-1-le.c: New test. + * gcc.target/bpf/core-builtin-fieldinfo-lshift-2.c: New test. + * gcc.target/bpf/core-builtin-fieldinfo-offset-1.c: New test. + * gcc.target/bpf/core-builtin-fieldinfo-rshift-1.c: New test. + * gcc.target/bpf/core-builtin-fieldinfo-rshift-2.c: New test. + * gcc.target/bpf/core-builtin-fieldinfo-sign-1.c: New test. + * gcc.target/bpf/core-builtin-fieldinfo-sign-2.c: New test. + * gcc.target/bpf/core-builtin-fieldinfo-size-1.c: New test. + +2022-10-26 Marek Polacek <polacek@redhat.com> + + PR c++/106393 + * g++.dg/cpp23/elision4.C: Use -Wdangling-reference, add dg-warning. + * g++.dg/cpp23/elision7.C: Likewise. + * g++.dg/warn/Wdangling-pointer-2.C: Use -Wno-dangling-reference. + * g++.dg/warn/Wdangling-reference1.C: New test. + * g++.dg/warn/Wdangling-reference2.C: New test. + * g++.dg/warn/Wdangling-reference3.C: New test. + +2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/base/mov-1.c: New. + * gcc.target/riscv/rvv/base/mov-10.c: New. + * gcc.target/riscv/rvv/base/mov-11.c: New. + * gcc.target/riscv/rvv/base/mov-12.c: New. + * gcc.target/riscv/rvv/base/mov-13.c: New. + * gcc.target/riscv/rvv/base/mov-2.c: New. + * gcc.target/riscv/rvv/base/mov-3.c: New. + * gcc.target/riscv/rvv/base/mov-4.c: New. + * gcc.target/riscv/rvv/base/mov-5.c: New. + * gcc.target/riscv/rvv/base/mov-6.c: New. + * gcc.target/riscv/rvv/base/mov-7.c: New. + * gcc.target/riscv/rvv/base/mov-8.c: New. + * gcc.target/riscv/rvv/base/mov-9.c: New. + +2022-10-26 Monk Chiang <monk.chiang@sifive.com> + + * gcc.target/riscv/predef-24.c:New. + * gcc.target/riscv/predef-25.c:New. + +2022-10-26 Jiufu Guo <guojiufu@linux.ibm.com> + + PR target/106460 + * gcc.target/powerpc/pr106460.c: New test. + +2022-10-26 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/arch-18.c: New. + * gcc.target/riscv/arch-5.c: Remove test for prefixed + with `h`. + * gcc.target/riscv/predef-23.c: New. + +2022-10-26 Eugene Rozenfeld <erozen@microsoft.com> + + * lib/profopt.exp: Don't force DWARF4 for AutoFDO tests + +2022-10-25 Patrick Palka <ppalka@redhat.com> + + PR c++/106848 + PR c++/102600 + * g++.dg/modules/enum-9_a.H: New test. + * g++.dg/modules/enum-9_b.C: New test. + * g++.dg/modules/enum-10_a.H: New test. + * g++.dg/modules/enum-10_b.C: New test. + * g++.dg/modules/enum-11_a.H: New test. + * g++.dg/modules/enum-11_b.C: New test. + +2022-10-25 H.J. Lu <hjl.tools@gmail.com> + + PR target/107304 + * gcc.target/i386/pr107304.c: New test. + +2022-10-25 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp23/attr-assume9.C: New test. + * g++.dg/cpp23/attr-assume10.C: New test. + +2022-10-25 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp23/attr-assume2.C: Expect constant values. + +2022-10-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107176 + PR tree-optimization/66375 + PR tree-optimization/42512 + * gcc.dg/torture/pr107176.c: New testcase. + +2022-10-25 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/specs/coverage1.ads: New test. + * gnat.dg/specs/variant_part.ads: Minor tweak. + * gnat.dg/specs/weak1.ads: Add dg directive. + +2022-10-25 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107368 + * gcc.dg/attr-assume-5.c: New test. + +2022-10-25 YunQiang Su <yunqiang.su@cipunited.com> + + * gcc.target/mips/compact-branches-1.c: add isa_rev>=6. + * gcc.target/mips/mips.exp: don't add -mipsXXr6 option for + -mcompact-branches=always. It is usable for pre-R6 now. + * gcc.target/mips/compact-branches-8.c: New test. + * gcc.target/mips/compact-branches-9.c: New test. + +2022-10-25 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107369 + * gcc.dg/attr-assume-4.c: New test. + * g++.dg/cpp23/attr-assume8.C: New test. + +2022-10-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/100756 + * gcc.dg/vect/pr100756.c: New testcase. + +2022-10-25 Kewen Lin <linkw@linux.ibm.com> + + * lib/target-supports.exp (check_effective_target_vect_long_long): Add + support for powerpc*-*-*. + +2022-10-24 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107349 + * gcc.dg/analyzer/stdarg-1-ms_abi.c (pr107349): New. + * gcc.dg/analyzer/stdarg-1-sysv_abi.c (pr107349): New. + * gcc.dg/analyzer/stdarg-1.c (pr107349): New. + +2022-10-24 Martin Liska <mliska@suse.cz> + + PR analyzer/107366 + * gcc.dg/analyzer/sarif-pr107366.c: New test. + +2022-10-24 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107345 + * gcc.dg/analyzer/pr107345.c: New test. + +2022-10-24 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106300 + * gcc.dg/analyzer/pipe-1.c: New test. + * gcc.dg/analyzer/pipe-glibc.c: New test. + * gcc.dg/analyzer/pipe-manpages.c: New test. + * gcc.dg/analyzer/pipe2-1.c: New test. + +2022-10-24 Marek Polacek <polacek@redhat.com> + + PR c++/107276 + * g++.dg/cpp2a/decomp4.C: New test. + +2022-10-24 Jakub Jelinek <jakub@redhat.com> + + PR c++/107358 + * c-c++-common/pr107358.c: New test. + * g++.dg/cpp1y/pr68180.C: Remove -fexcess-precision=fast from + dg-options. + +2022-10-24 Wilco Dijkstra <wdijkstr@arm.com> + + PR target/106583 + * gcc.target/aarch64/pr106583.c: Add new test. + +2022-10-24 Jakub Jelinek <jakub@redhat.com> + + PR c++/105774 + * g++.dg/cpp1y/constexpr-105774.C: New test. + +2022-10-24 Arsen Arsenović <arsen@aarsen.me> + + * gcc.dg/noreturn-4.c: Removed. + * g++.dg/freestanding-main.C: New test. + * g++.dg/freestanding-nonint-main.C: New test. + * gcc.dg/freestanding-main.c: New test. + * gcc.dg/freestanding-nonint-main.c: New test. + +2022-10-24 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107355 + * gcc.dg/tree-ssa/pr107355.c: New test. + +2022-10-24 Tobias Burnus <tobias@codesourcery.com> + + PR middle-end/107236 + * gfortran.dg/gomp/target-device-ancestor-6.f90: New test. + +2022-10-21 José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/100097 + PR fortran/100098 + * gfortran.dg/PR100097.f90: New test. + * gfortran.dg/PR100098.f90: New test. + +2022-10-21 Jakub Jelinek <jakub@redhat.com> + + PR target/107322 + * gcc.target/i386/pr107322.c: New test. + +2022-10-21 Jakub Jelinek <jakub@redhat.com> + + PR c++/107295 + * g++.dg/ext/vector42.C: New test. + +2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com> + + * gcc.target/i386/funcspec-56.inc: Handle new march. + * g++.target/i386/mv29.C: Likewise. + +2022-10-21 Thomas Schwinge <thomas@codesourcery.com> + + PR tree-optimization/107195 + * gcc.dg/tree-ssa/pr107195-3.c: New. + +2022-10-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107323 + * gcc.dg/tree-ssa/pr107323.c: New testcase. + +2022-10-21 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/54346 + * gcc.dg/pr54346.c: Add -Wno-psabi to dg-options. + +2022-10-21 Jakub Jelinek <jakub@redhat.com> + + PR c++/106863 + * g++.dg/cpp0x/dr2351-2.C: New test. + +2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/base/vsetvl-1.c: New test. + +2022-10-21 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/vnniint8-auto-vectorize-1.c: New test. + * gcc.target/i386/vnniint8-auto-vectorize-2.c: Ditto. + +2022-10-21 Kong Lingling <lingling.kong@intel.com> + Hongyu Wang <hongyu.wang@intel.com> + Haochen Jiang <haochen.jiang@intel.com> + + * g++.dg/other/i386-2.C: Add -mavxvnniint8. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/avx-check.h: Add avxvnniint8 check. + * gcc.target/i386/sse-12.c: Add -mavxvnniint8. + * 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. + * lib/target-supports.exp + (check_effective_target_avxvnniint8): New. + * gcc.target/i386/avxvnniint8-1.c: Ditto. + * gcc.target/i386/avxvnniint8-vpdpbssd-2.c: Ditto. + * gcc.target/i386/avxvnniint8-vpdpbssds-2.c: Ditto. + * gcc.target/i386/avxvnniint8-vpdpbsud-2.c: Ditto. + * gcc.target/i386/avxvnniint8-vpdpbsuds-2.c: Ditto. + * gcc.target/i386/avxvnniint8-vpdpbuud-2.c: Ditto. + * gcc.target/i386/avxvnniint8-vpdpbuuds-2.c: Ditto. + +2022-10-21 Hongyu Wang <hongyu.wang@intel.com> + + * gcc.target/i386/avx-check.h: Add avxifma check. + * gcc.target/i386/avx512ifma-vpmaddhuq-1.c: Remane.. + * gcc.target/i386/avx512ifma-vpmaddhuq-1a.c: To this. + * gcc.target/i386/avx512ifma-vpmaddluq-1.c: Ditto. + * gcc.target/i386/avx512ifma-vpmaddluq-1a.c: Ditto. + * gcc.target/i386/avx512ifma-vpmaddhuq-1b.c: New Test. + * gcc.target/i386/avx512ifma-vpmaddluq-1b.c: Ditto. + * gcc.target/i386/avx-ifma-1.c: Ditto. + * gcc.target/i386/avx-ifma-2.c: Ditto. + * gcc.target/i386/avx-ifma-3.c: Ditto. + * gcc.target/i386/avx-ifma-4.c: Ditto. + * gcc.target/i386/avx-ifma-5.c: Ditto. + * gcc.target/i386/avx-ifma-6.c: Ditto. + * gcc.target/i386/avx-ifma-vpmaddhuq-2.c: Ditto. + * gcc.target/i386/avx-ifma-vpmaddluq-2.c: Ditto. + * gcc.target/i386/sse-12.c: Add -mavxifma. + * 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. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * lib/target-supports.exp + (check_effective_target_avxifma): New. + +2022-10-20 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/105633 + * gfortran.dg/pr105633.f90: New test. + +2022-10-20 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * lib/target-supports.exp + (check_effective_target_fenv_exceptions_double): New. + (check_effective_target_fenv_exceptions_long_double): New. + * gcc.dg/c2x-float-7.c: Split into 3 tests... + * gcc.dg/c2x-float-7a.c: Float part of c2x-float-7.c. + * gcc.dg/c2x-float-7b.c: Double part of c2x-float-7.c. + * gcc.dg/c2x-float-7c.c: Long double part of c2x-float-7.c. + * gcc.dg/pr95115.c: Switch to fenv_exceptions_double. + * gcc.dg/torture/float32x-nan-floath.c: Likewise. + * gcc.dg/torture/float32x-nan.c: Likewise. + * gcc.dg/torture/float64-nan-floath.c: Likewise. + * gcc.dg/torture/float64-nan.c: Likewise. + * gcc.dg/torture/inf-compare-1.c: Likewise. + * gcc.dg/torture/inf-compare-2.c: Likewise. + * gcc.dg/torture/inf-compare-3.c: Likewise. + * gcc.dg/torture/inf-compare-4.c: Likewise. + * gcc.dg/torture/inf-compare-5.c: Likewise. + * gcc.dg/torture/inf-compare-6.c: Likewise. + * gcc.dg/torture/inf-compare-7.c: Likewise. + * gcc.dg/torture/inf-compare-8.c: Likewise. + * gcc.dg/torture/pr52451.c: Likewise. + * gcc.dg/torture/pr82692.c: Likewise. + * gcc.dg/torture/inf-compare-1-float.c: New test. + * gcc.dg/torture/inf-compare-2-float.c: New test. + * gcc.dg/torture/inf-compare-3-float.c: New test. + * gcc.dg/torture/inf-compare-4-float.c: New test. + * gcc.dg/torture/inf-compare-5-float.c: New test. + * gcc.dg/torture/inf-compare-6-float.c: New test. + * gcc.dg/torture/inf-compare-7-float.c: New test. + * gcc.dg/torture/inf-compare-8-float.c: New test. + +2022-10-20 Patrick Palka <ppalka@redhat.com> + + * g++.dg/cpp2a/concepts-friend10.C: New test. + +2022-10-20 Artem Klimov <jakmobius@gmail.com> + Alexander Monakov <amonakov@gcc.gnu.org> + + PR middle-end/99619 + * gcc.dg/tls/vis-attr-gd.c: New test. + * gcc.dg/tls/vis-attr-hidden-gd.c: New test. + * gcc.dg/tls/vis-attr-hidden.c: New test. + * gcc.dg/tls/vis-flag-hidden-gd.c: New test. + * gcc.dg/tls/vis-flag-hidden.c: New test. + * gcc.dg/tls/vis-pragma-hidden-gd.c: New test. + * gcc.dg/tls/vis-pragma-hidden.c: New test. + +2022-10-20 Patrick Palka <ppalka@redhat.com> + + PR c++/102963 + * g++.dg/modules/concept-7_a.C: New test. + * g++.dg/modules/concept-7_b.C: New test. + +2022-10-20 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.dg/vect/pr107326.c: New test. + * gcc.dg/vect/vect-bitfield-read-7.c: New test. + +2022-10-20 Jakub Jelinek <jakub@redhat.com> + + * gcc.target/i386/pr107271.c: Add -Wno-psabi to dg-options. + * gcc.dg/debug/btf/btf-function-3.c: Likewise. + +2022-10-20 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/acle/general/brka_1.c: Expect a separate + PTEST instruction. + * gcc.target/aarch64/sve/acle/general/brkb_1.c: Likewise. + +2022-10-20 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/acle/general/brkn_1.c: Expect separate + PTEST instructions. + * gcc.target/aarch64/sve/acle/general/brkn_2.c: New test. + +2022-10-20 Richard Biener <rguenther@suse.de> + + PR c/107305 + PR c/107306 + * gcc.dg/gimplefe-error-15.c: New testcase. + +2022-10-20 Andrew MacLeod <amacleod@redhat.com> + + * g++.dg/cpp23/attr-assume-opt.C: New. + +2022-10-19 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/format/format.h (int_least8_t, int_least16_t) + (int_least32_t, int_least64_t, uint_least8_t, uint_least16_t) + (uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t) + (int_fast32_t, int_fast64_t, uint_fast8_t, uint_fast16_t) + (uint_fast32_t, uint_fast64_t): New typedefs. + * gcc.dg/format/c11-printf-1.c, gcc.dg/format/c11-scanf-1.c, + gcc.dg/format/c2x-printf-1.c, gcc.dg/format/c2x-scanf-1.c, + gcc.dg/format/ext-9.c: Add tests using wN and wfN length + modifiers. + +2022-10-19 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105765 + * gcc.dg/analyzer/stdarg-1-ms_abi.c: New test, based on stdarg-1.c. + * gcc.dg/analyzer/stdarg-1-sysv_abi.c: Likewise. + +2022-10-19 Marek Polacek <polacek@redhat.com> + + PR c++/85043 + * g++.dg/warn/Wuseless-cast.C: Remove dg-warning. + * g++.dg/warn/Wuseless-cast3.C: New test. + +2022-10-19 Jakub Jelinek <jakub@redhat.com> + + * lib/g++-dg.exp (g++-dg-runtest): When using defaulted + std_list, if test has { dg-do * { target c++23 } } directive, + use { 23 } with which the test will run instead of { 98 14 17 20 } + which would make it UNSUPPORTED in all cases. + +2022-10-19 Jakub Jelinek <jakub@redhat.com> + + PR c/107311 + * gcc.dg/c2x-enum-1.c (enum e5): Expect e5a type inside of + enum to be int rather than long if long isn't wider than int. + +2022-10-19 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107312 + * gcc.target/i386/pr107312.c: New test. + +2022-10-19 Lewis Hyatt <lhyatt@gmail.com> + + * g++.dg/pch/pch-string-nulls.C: New test. + * g++.dg/pch/pch-string-nulls.Hs: New test. + +2022-10-19 Martin Jambor <mjambor@suse.cz> + + PR tree-optimization/107206 + * g++.dg/tree-ssa/pr107206.C: New test. + +2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.target/s390/pr106355.h: Common code for new tests. + * gcc.target/s390/pr106355-1.c: New test. + * gcc.target/s390/pr106355-2.c: New test. + * gcc.target/s390/pr106355-3.c: New test. + +2022-10-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/107262 + * gcc.dg/pr107262.c: New test. + +2022-10-19 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106990 + * c-c++-common/ubsan/pr106990.c: New test. + +2022-10-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106781 + * gcc.dg/pr106781.c: New testcase. + +2022-10-19 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr107271.c: New test. + +2022-10-18 Joseph Myers <joseph@codesourcery.com> + + PR c/107164 + * gcc.dg/c99-tag-4.c, gcc.dg/c99-tag-5.c, gcc.dg/c99-tag-6.c: New + tests. + +2022-10-18 Marek Polacek <polacek@redhat.com> + + PR testsuite/107213 + * c-c++-common/pointer-to-fn1.c: Only run on i?86/x86_64. + +2022-10-18 Patrick Palka <ppalka@redhat.com> + + PR c++/105045 + * g++.dg/modules/pr105045_a.C: New test. + * g++.dg/modules/pr105045_b.C: New test. + +2022-10-18 Joseph Myers <joseph@codesourcery.com> + + PR c/36113 + * gcc.dg/c11-enum-1.c, gcc.dg/c11-enum-2.c, gcc.dg/c11-enum-3.c, + gcc.dg/c2x-enum-1.c, gcc.dg/c2x-enum-2.c, gcc.dg/c2x-enum-3.c, + gcc.dg/c2x-enum-4.c, gcc.dg/c2x-enum-5.c: New tests. + * gcc.dg/pr30260.c: Explicitly use -std=gnu11. Update expected + diagnostics. + * gcc.dg/torture/pr25183.c: Update expected diagnostics. + +2022-10-18 Martin Jambor <mjambor@suse.cz> + + * gcc.dg/ipa/ipcp-agg-11.c: Adjust dumps. + * gcc.dg/ipa/ipcp-agg-8.c: Likewise. + +2022-10-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107302 + * gcc.dg/vect/pr107302.c: New testcase. + +2022-10-18 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.dg/vect/pr107275.c: New test. + +2022-10-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/106654 + * g++.dg/cpp23/attr-assume5.C: New test. + * g++.dg/cpp23/attr-assume6.C: New test. + * g++.dg/cpp23/attr-assume7.C: New test. + +2022-10-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107301 + * gcc.dg/torture/pr107301.c: New testcase. + +2022-10-18 Liwei Xu <liwei.xu@intel.com> + + PR testsuite/107220 + * gcc.dg/tree-ssa/forwprop-19.c: Move scanning pass from + forwprop1 to dse1, This fixs the test case fail. + +2022-10-18 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/107273 + * gcc.dg/tree-ssa/pr107273-1.c: New. + * gcc.dg/tree-ssa/pr107273-2.c: New. + +2022-10-17 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/104330 + * gfortran.dg/pr104330.f90: New test. + +2022-10-17 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107293 + * gcc.dg/tree-ssa/pr107293.c: New test. + +2022-10-17 Harald Anlauf <anlauf@gmx.de> + Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/93483 + PR fortran/107216 + PR fortran/107219 + * gfortran.dg/array_constructor_56.f90: New test. + * gfortran.dg/array_constructor_57.f90: New test. + +2022-10-17 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107272 + * gfortran.dg/pr107272.f90: New test. + +2022-10-17 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/107266 + * gfortran.dg/char4_decl.f90: New test. + * gfortran.dg/char4_decl-2.f90: New test. + +2022-10-17 Patrick Palka <ppalka@redhat.com> + + PR c++/101449 + * g++.dg/modules/cexpr-3_a.C: New test. + * g++.dg/modules/cexpr-3_b.C: New test. + +2022-10-17 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/105820 + * g++.dg/tree-ssa/pr105820.c: New test. + +2022-10-17 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/vrp-float-3a.c: New. + * gcc.dg/tree-ssa/vrp-float-4a.c: New. + * gcc.dg/tree-ssa/vrp-float-5a.c: New. + +2022-10-17 Richard Biener <rguenther@suse.de> + Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + PR tree-optimization/99409 + PR tree-optimization/99394 + * gcc.dg/vect/vect-recurr-1.c: New testcase. + * gcc.dg/vect/vect-recurr-2.c: Likewise. + * gcc.dg/vect/vect-recurr-3.c: Likewise. + * gcc.dg/vect/vect-recurr-4.c: Likewise. + * gcc.dg/vect/vect-recurr-5.c: Likewise. + * gcc.dg/vect/vect-recurr-6.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s252.c: Un-XFAIL. + * gcc.dg/vect/tsvc/vect-tsvc-s254.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s291.c: Likewise. + +2022-10-14 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/cpp/c2x-ucnid-1-utf8.c, gcc.dg/cpp/c2x-ucnid-1.c: New + tests. + +2022-10-14 Harald Anlauf <anlauf@gmx.de> + + PR fortran/100971 + * gfortran.dg/der_io_5.f90: New test. + +2022-10-14 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/c-interop/deferred-character-2.f90: Use 'dg-do run'. + +2022-10-14 Patrick Palka <ppalka@redhat.com> + + PR c++/106304 + * g++.dg/modules/pr106304_a.C: New test. + * g++.dg/modules/pr106304_b.C: New test. + +2022-10-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107254 + * gfortran.dg/vect/pr107254.f90: New testcase. + +2022-10-14 Jørgen Kvalsvik <jorgen.kvalsvik@woven-planet.global> + + * gcc.misc-tests/gcov-4.c: New testcase. + +2022-10-14 Jørgen Kvalsvik <jorgen.kvalsvik@woven-planet.global> + + * g++.dg/gcov/gcov-1.C: Add line count check. + * gcc.misc-tests/gcov-4.c: Likewise. + +2022-10-14 Jakub Jelinek <jakub@redhat.com> + + * lib/target-supports.exp (check_effective_target_bfloat16, + check_effective_target_bfloat16_runtime, add_options_for_bfloat16): + New. + * gcc.dg/torture/bfloat16-basic.c: New test. + * gcc.dg/torture/bfloat16-builtin.c: New test. + * gcc.dg/torture/bfloat16-builtin-issignaling-1.c: New test. + * gcc.dg/torture/bfloat16-complex.c: New test. + * gcc.dg/torture/builtin-issignaling-1.c: Allow to be includable + from bfloat16-builtin-issignaling-1.c. + * gcc.dg/torture/floatn-basic.h: Allow to be includable from + bfloat16-basic.c. + * gcc.target/i386/vect-bfloat16-typecheck_2.c: Adjust expected + diagnostics. + * gcc.target/i386/sse2-bfloat16-scalar-typecheck.c: Likewise. + * gcc.target/i386/vect-bfloat16-typecheck_1.c: Likewise. + * g++.target/i386/bfloat_cpp_typecheck.C: Likewise. + +2022-10-14 Jakub Jelinek <jakub@redhat.com> + + PR c/82071 + PR c/87390 + PR c++/107097 + * gcc.target/i386/excess-precision-8.c: For C++ wrap abort and + exit declarations into extern "C" block. + * gcc.target/i386/excess-precision-10.c: Likewise. + * g++.target/i386/excess-precision-7.C: Remove. + * g++.target/i386/excess-precision-8.C: New test. + * g++.target/i386/excess-precision-9.C: Remove. + * g++.target/i386/excess-precision-10.C: New test. + * g++.target/i386/excess-precision-12.C: New test. + +2022-10-14 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/323 + PR c++/107097 + * gcc.target/i386/excess-precision-1.c: For C++ wrap abort and + exit declarations into extern "C" block. + * gcc.target/i386/excess-precision-2.c: Likewise. + * gcc.target/i386/excess-precision-3.c: Likewise. Remove + check_float_nonproto and check_double_nonproto tests for C++. + * gcc.target/i386/excess-precision-7.c: For C++ wrap abort and + exit declarations into extern "C" block. + * gcc.target/i386/excess-precision-9.c: Likewise. + * g++.target/i386/excess-precision-1.C: New test. + * g++.target/i386/excess-precision-2.C: New test. + * g++.target/i386/excess-precision-3.C: New test. + * g++.target/i386/excess-precision-4.C: New test. + * g++.target/i386/excess-precision-5.C: New test. + * g++.target/i386/excess-precision-6.C: New test. + * g++.target/i386/excess-precision-7.C: New test. + * g++.target/i386/excess-precision-9.C: New test. + * g++.target/i386/excess-precision-11.C: New test. + * c-c++-common/dfp/convert-bfp-10.c: Add -fexcess-precision=fast + as dg-additional-options. + * c-c++-common/dfp/compare-eq-const.c: Likewise. + * g++.dg/cpp1z/constexpr-96862.C: Likewise. + * g++.dg/cpp1z/decomp12.C (main): Use 2.25 instead of 2.3 to + avoid excess precision differences. + * g++.dg/other/thunk1.C: Add -fexcess-precision=fast + as dg-additional-options. + * g++.dg/vect/pr64410.cc: Likewise. + * g++.dg/cpp1y/pr68180.C: Likewise. + * g++.dg/vect/pr89653.cc: Likewise. + * g++.dg/cpp0x/variadic-tuple.C: Likewise. + * g++.dg/cpp0x/nsdmi-union1.C: Use 4.25 instead of 4.2 to + avoid excess precision differences. + * g++.old-deja/g++.brendan/copy9.C: Add -fexcess-precision=fast + as dg-additional-options. + * g++.old-deja/g++.brendan/overload7.C: Likewise. + +2022-10-14 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c11-complit-1.c, gcc.dg/c11-complit-2.c, + gcc.dg/c11-complit-3.c, gcc.dg/c2x-complit-2.c, + gcc.dg/c2x-complit-3.c, gcc.dg/c2x-complit-4.c, + gcc.dg/c2x-complit-5.c, gcc.dg/c2x-complit-6.c, + gcc.dg/c2x-complit-7.c, gcc.dg/c90-complit-2.c, + gcc.dg/gnu2x-complit-1.c, gcc.dg/gnu2x-complit-2.c: New tests. + +2022-10-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.dg/Wstringop-overflow-89.c: New test. + +2022-10-13 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107210 + * gfortran.dg/analyzer/pr107210.f90: New test. + +2022-10-13 Andrew MacLeod <amacleod@redhat.com> + + * gcc.dg/pr102540.c: New. + * gcc.dg/pr102872.c: New. + +2022-10-13 Marek Polacek <polacek@redhat.com> + + PR c++/106925 + * g++.dg/cpp0x/initlist-defarg3.C: New test. + +2022-10-13 Wilco Dijkstra <wdijkstr@arm.com> + + PR target/105773 + * gcc.target/aarch64/ands_2.c: Test for ANDS. + * gcc.target/aarch64/bics_2.c: Test for BICS. + * gcc.target/aarch64/tst_2.c: Test for TST. + * gcc.target/aarch64/tst_imm_split_1.c: Fix test. + +2022-10-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107160 + * gcc.dg/vect/pr107160.c: New testcase. + +2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.dg/vect/pr107229-1.c: New test. + * gcc.dg/vect/pr107229-2.c: New test. + * gcc.dg/vect/pr107229-3.c: New test. + +2022-10-13 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c2x-float-10.c: Do not expect value 2 for *_IS_IEC_60559. + +2022-10-12 Lewis Hyatt <lhyatt@gmail.com> + + PR preprocessor/60014 + PR preprocessor/60723 + * gcc.dg/cpp/pr60014-1.c: New test. + * gcc.dg/cpp/pr60014-1.h: New test. + * gcc.dg/cpp/pr60014-2.c: New test. + * gcc.dg/cpp/pr60014-2.h: New test. + * gcc.dg/cpp/pr60014-3.c: New test. + * gcc.dg/cpp/pr60014-3.h: New test. + +2022-10-12 Marek Polacek <polacek@redhat.com> + + * g++.dg/cpp0x/Wredundant-move10.C: Adjust dg-warning. + * g++.dg/cpp0x/Wredundant-move7.C: Likewise. + * g++.dg/cpp0x/move-return2.C: Remove dg-error. + * g++.dg/cpp0x/move-return4.C: Likewise. + * g++.dg/cpp0x/ref-qual20.C: Adjust expected return value. + * g++.dg/cpp0x/move-return5.C: New test. + +2022-10-12 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107217 + * gfortran.dg/pr107217.f90: New test. + +2022-10-12 Jason Merrill <jason@redhat.com> + + DR 2631 + * g++.dg/cpp2a/consteval-defarg3.C: New test. + +2022-10-11 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107215 + * gfortran.dg/pr107215.f90: New test. + +2022-10-11 Patrick Palka <ppalka@redhat.com> + + PR c++/100134 + * g++.dg/modules/tpl-friend-8_a.H: New test. + * g++.dg/modules/tpl-friend-8_b.C: New test. + +2022-10-11 Patrick Palka <ppalka@redhat.com> + + PR c++/99377 + * g++.dg/modules/pr99377-2_a.C: New test. + * g++.dg/modules/pr99377-2_b.C: New test. + +2022-10-11 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/vrp-float-abs-1.c: New test. + +2022-10-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107212 + * gcc.dg/vect/pr107212-1.c: New testcase. + * gcc.dg/vect/pr107212-2.c: Likewise. + +2022-10-11 Andrew Stubbs <ams@codesourcery.com> + + * gcc.dg/pr104464.c: Xfail on amdgcn. + * gcc.dg/signbit-2.c: Likewise. + * gcc.dg/signbit-5.c: Likewise. + * gcc.dg/vect/bb-slp-68.c: Likewise. + * gcc.dg/vect/bb-slp-cond-1.c: Change expectations on amdgcn. + * gcc.dg/vect/bb-slp-subgroups-3.c: Likewise. + * gcc.dg/vect/no-vfa-vect-depend-2.c: Change expectations for multiple + vector sizes. + * gcc.dg/vect/pr33953.c: Likewise. + * gcc.dg/vect/pr65947-12.c: Likewise. + * gcc.dg/vect/pr65947-13.c: Likewise. + * gcc.dg/vect/pr80631-2.c: Likewise. + * gcc.dg/vect/slp-reduc-4.c: Likewise. + * gcc.dg/vect/trapv-vect-reduc-4.c: Likewise. + * lib/target-supports.exp (available_vector_sizes): Add more sizes + for amdgcn. + +2022-10-11 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.dg/vect/vect-bitfield-read-1.c: New test. + * gcc.dg/vect/vect-bitfield-read-2.c: New test. + * gcc.dg/vect/vect-bitfield-read-3.c: New test. + * gcc.dg/vect/vect-bitfield-read-4.c: New test. + * gcc.dg/vect/vect-bitfield-read-5.c: New test. + * gcc.dg/vect/vect-bitfield-read-6.c: New test. + * gcc.dg/vect/vect-bitfield-write-1.c: New test. + * gcc.dg/vect/vect-bitfield-write-2.c: New test. + * gcc.dg/vect/vect-bitfield-write-3.c: New test. + * gcc.dg/vect/vect-bitfield-write-4.c: New test. + * gcc.dg/vect/vect-bitfield-write-5.c: New test. + +2022-10-11 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr107093.c: New test. + +2022-10-11 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107195 + * gcc.dg/tree-ssa/pr107195-1.c: New test. + * gcc.dg/tree-ssa/pr107195-2.c: New test. + +2022-10-11 Liwei Xu <liwei.xu@intel.com> + liuhongt <hongtao.liu@intel.com> + + * gcc.dg/pr54346.c: New test. + +2022-10-10 Nathan Sidwell <nathan@acm.org> + + * g++.dg/abi/lambda-ctx1-17.C: New. + * g++.dg/abi/lambda-ctx1-18.C: New. + * g++.dg/abi/lambda-ctx1-18vs17.C: New. + * g++.dg/abi/lambda-ctx1.h: New. + * g++.dg/abi/lambda-vis.C: Adjust expected mangles. + * g++.dg/abi/macro0.C: Adjust. + +2022-10-10 Marek Polacek <polacek@redhat.com> + + PR c++/106937 + * c-c++-common/pointer-to-fn1.c: New test. + +2022-10-10 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/rvv/base/riscv_vector.h: New. + +2022-10-10 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/rvv/base/user-1.c: Add dg-options and drop + dg-skip-if. + +2022-10-10 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/rvv/base/pragma-1.c: Add newline to the end of file. + * gcc.target/riscv/rvv/base/pragma-2.c: Ditto. + * gcc.target/riscv/rvv/base/pragma-3.c: Ditto. + * gcc.target/riscv/rvv/base/user-1.c: Ditto. + * gcc.target/riscv/rvv/base/user-2.c: Ditto. + * gcc.target/riscv/rvv/base/user-3.c: Ditto. + * gcc.target/riscv/rvv/base/user-4.c: Ditto. + * gcc.target/riscv/rvv/base/user-5.c: Ditto. + * gcc.target/riscv/rvv/base/user-6.c: Ditto. + * gcc.target/riscv/rvv/base/vread_csr.c: Ditto. + * gcc.target/riscv/rvv/base/vwrite_csr.c: Ditto. + +2022-10-10 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107153 + * gcc.dg/autopar/pr107153.c: Require fgraphite effective target. + +2022-10-10 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/vrp-float-signbit-3.c: New test. + +2022-10-10 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr107185.c: New test. + +2022-10-10 Claudiu Zissulescu <claziss@gmail.com> + + * gcc.target/arc/tmac-2.c: Update test. + +2022-10-10 Claudiu Zissulescu <claziss@gmail.com> + + * gcc.target/arc/enter-dw2-1.c: New file. + +2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu> + + PR target/106562 + * gcc.target/pru/pr106562-1.c: New test. + * gcc.target/pru/pr106562-2.c: New test. + * gcc.target/pru/pr106562-3.c: New test. + * gcc.target/pru/pr106562-4.c: New test. + +2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.target/pru/ashiftdi-1.c: New test. + * gcc.target/pru/lshiftrtdi-1.c: New test. + +2022-10-08 Harald Anlauf <anlauf@gmx.de> + Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/107000 + * gfortran.dg/pr107000.f90: New test. + +2022-10-07 Marek Polacek <polacek@redhat.com> + + PR c++/107085 + * g++.dg/ext/reference_constructs_from_temporary1.C: Adjust expected + result. + * g++.dg/ext/reference_converts_from_temporary1.C: Likewise. + * g++.dg/cpp0x/elision4.C: New test. + +2022-10-07 Qing Zhao <qing.zhao@oracle.com> + + PR tree-optimization/101836 + * gcc.dg/pr101836.c: New test. + * gcc.dg/pr101836_1.c: New test. + * gcc.dg/pr101836_2.c: New test. + * gcc.dg/pr101836_3.c: New test. + * gcc.dg/pr101836_4.c: New test. + * gcc.dg/pr101836_5.c: New test. + * gcc.dg/strict-flex-array-2.c: New test. + * gcc.dg/strict-flex-array-3.c: New test. + +2022-10-07 Qing Zhao <qing.zhao@oracle.com> + + * g++.dg/strict-flex-array-1.C: New test. + * gcc.dg/strict-flex-array-1.c: New test. + +2022-10-07 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105783 + * gcc.dg/analyzer/pr105783.c: New test. + +2022-10-07 Patrick Palka <ppalka@redhat.com> + + * g++.dg/modules/bfield-3.H: New test. + +2022-10-07 Martin Liska <mliska@suse.cz> + + * gcc.dg/live-patching-2.c: Update scanned pattern. + * gcc.dg/live-patching-5.c: New test. + +2022-10-07 Patrick Palka <ppalka@redhat.com> + + PR c++/104433 + * g++.dg/modules/static-2_a.H: New test. + * g++.dg/modules/static-2_b.C: New test. + +2022-10-07 Jason Merrill <jason@redhat.com> + + * g++.dg/init/elide9.C: New test. + +2022-10-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107153 + * gcc.dg/autopar/pr107153.c: New testcase. + +2022-10-07 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp1z/fallthrough2.C: New test. + * g++.dg/cpp2a/attr-likely7.C: New test. + +2022-10-06 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107170 + * gcc.dg/tree-ssa/pr107170.c: New test. + +2022-10-06 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107158 + * gcc.dg/analyzer/call-summaries-pr107158-2.c: New test. + +2022-10-06 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/assume-3.f90: New test. + * gfortran.dg/gomp/assume-4.f90: New test. + +2022-10-06 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c11-typeof-1.c, gcc.dg/c2x-typeof-1.c, + gcc.dg/c2x-typeof-2.c, gcc.dg/c2x-typeof-3.c, + gcc.dg/gnu11-typeof-1.c, gcc.dg/gnu11-typeof-2.c, + gcc.dg/gnu2x-typeof-1.c: New tests. + +2022-10-06 Patrick Palka <ppalka@redhat.com> + + * g++.dg/modules/indirect-3_b.C: Expect that the entity + foo::TPL<0>::frob is tagged as a specialization instead + of as a declaration. + * g++.dg/modules/tpl-spec-8_a.H: New test. + * g++.dg/modules/tpl-spec-8_b.C: New test. + +2022-10-06 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.c-torture/execute/20221006-1.c: New test. + +2022-10-06 Richard Biener <rguenther@suse.de> + + PR middle-end/107115 + * gcc.dg/torture/pr107115.c: New testcase. + +2022-10-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * gcc.target/aarch64/ldar_2.c: New test. + +2022-10-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * gcc.target/aarch64/ldar_1.c: New test. + +2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/aarch64/cpunative/info_18: New test. + * gcc.target/aarch64/cpunative/native_cpu_18.c: New test. + +2022-10-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/107107 + * gcc.dg/pr107107.c: New testcase. + +2022-10-06 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/assume-4.c: New test. + +2022-10-06 Jakub Jelinek <jakub@redhat.com> + + PR c++/106654 + * gcc.dg/attr-assume-1.c: New test. + * gcc.dg/attr-assume-2.c: New test. + * gcc.dg/attr-assume-3.c: New test. + * g++.dg/cpp2a/feat-cxx2a.C: Add colon to C++20 features + comment, add C++20 attributes comment and move C++20 + new features after the attributes before them. + * g++.dg/cpp23/feat-cxx2b.C: Likewise. Test + __has_cpp_attribute(assume). + * g++.dg/cpp23/attr-assume1.C: New test. + * g++.dg/cpp23/attr-assume2.C: New test. + * g++.dg/cpp23/attr-assume3.C: New test. + * g++.dg/cpp23/attr-assume4.C: New test. + +2022-10-05 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107158 + * gcc.dg/analyzer/call-summaries-pr107158.c: New test. + +2022-10-05 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107060 + * gcc.dg/analyzer/analyzer-decls.h (__analyzer_get_unknown_ptr): + New decl. + * gcc.dg/analyzer/call-summaries-2.c + (test_summarized_writes_param_to_ptr_unknown): New test. + +2022-10-05 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/assume-1.f90: New test. + * gfortran.dg/gomp/assume-2.f90: New test. + * gfortran.dg/gomp/assumes-1.f90: New test. + * gfortran.dg/gomp/assumes-2.f90: New test. + +2022-10-05 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/base/pragma-1.c: New test. + * gcc.target/riscv/rvv/base/pragma-2.c: New test. + * gcc.target/riscv/rvv/base/pragma-3.c: New test. + * gcc.target/riscv/rvv/base/user-1.c: New test. + * gcc.target/riscv/rvv/base/user-2.c: New test. + * gcc.target/riscv/rvv/base/user-3.c: New test. + * gcc.target/riscv/rvv/base/user-4.c: New test. + * gcc.target/riscv/rvv/base/user-5.c: New test. + * gcc.target/riscv/rvv/base/user-6.c: New test. + * gcc.target/riscv/rvv/base/vread_csr.c: New test. + * gcc.target/riscv/rvv/base/vwrite_csr.c: New test. + +2022-10-05 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107052 + * gcc.dg/tree-ssa/pr107052.c: New file. + +2022-10-05 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/lto26.adb: New test. + * gnat.dg/lto26_pkg1.ads, gnat.dg/lto26_pkg1.adb: New helper. + * gnat.dg/lto26_pkg2.ads, gnat.dg/lto26_pkg2.adb: Likewise. + +2022-10-05 Martin Liska <mliska@suse.cz> + + PR tree-optimization/106679 + * gcc.dg/tree-prof/cmpsf-1.c: Mark as a known limitation. + +2022-10-05 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * gcc.target/arm/stack-protector-1.c: Use 'bl' instead of 'b' + instruction. + * gcc.target/arm/stack-protector-3.c: Likewise. + +2022-10-05 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * g++.dg/modules/bad-mapper-1.C: Also accept CreateProcess. + +2022-10-05 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * gcc.misc-tests/outputs.exp: Use "@nul" for Windows, + "@/dev/null" for other environments. + +2022-10-05 Vineet Gupta <vineetg@rivosinc.com> + + * gcc.target/riscv/predef-1.c: Remove __riscv_cmodel_pic check. + * gcc.target/riscv/predef-2.c: Ditto. + * gcc.target/riscv/predef-3.c: Ditto. + * gcc.target/riscv/predef-4.c: Ditto. + * gcc.target/riscv/predef-5.c: Ditto. + * gcc.target/riscv/predef-6.c: Ditto. + * gcc.target/riscv/predef-7.c: Ditto. + * gcc.target/riscv/predef-8.c: Ditto. + +2022-10-05 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107072 + * gcc.dg/analyzer/call-summaries-2.c: New test. + * gcc.dg/analyzer/call-summaries-3.c: New test. + * gcc.dg/analyzer/call-summaries-asm-x86.c: New test. + * gcc.dg/analyzer/call-summaries-malloc.c: New test. + * gcc.dg/analyzer/call-summaries-pr107072.c: New test. + +2022-10-04 Jason Merrill <jason@redhat.com> + + PR c++/107154 + * g++.dg/debug/dwarf2/lineno-array1.C: New test. + +2022-10-04 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/pragma_cpp_predefs_1.c: Add RCPC tests. + +2022-10-04 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/openmp-simd-7.f90: New test. + +2022-10-04 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/declare-target-4.c: Move tests that are now + rejected into declare-target-7.c. + * c-c++-common/gomp/declare-target-6.c: Adjust expected diagnostics. + * c-c++-common/gomp/declare-target-7.c: New test. + * c-c++-common/gomp/begin-declare-target-1.c: New test. + * c-c++-common/gomp/begin-declare-target-2.c: New test. + * c-c++-common/gomp/begin-declare-target-3.c: New test. + * c-c++-common/gomp/begin-declare-target-4.c: New test. + * g++.dg/gomp/attrs-9.C: Add begin declare target tests. + * g++.dg/gomp/attrs-18.C: New test. + +2022-10-04 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107130 + * gcc.dg/tree-ssa/pr107130.c: New test. + +2022-10-04 Lewis Hyatt <lhyatt@gmail.com> + + PR c/91669 + * c-c++-common/pr91669.c: New test. + +2022-10-03 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * gcc.target/arm/cmse/cmse-15.c: Align with -Os improvements. + +2022-10-03 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/ext/stmtexpr24.C: New test. + +2022-10-03 Andrew MacLeod <amacleod@redhat.com> + + * gcc.dg/pr107109.c: New. + +2022-10-03 Christophe Lyon <christophe.lyon@arm.com> + + * gcc.target/arm/mve/intrinsics/vrev64q_m_s16-clobber.c: New test. + +2022-10-03 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c11-float-7.c, gcc.dg/c2x-float-12.c: New tests. + +2022-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR fortran/107062 + * gfortran.dg/ieee/fma_1.f90: Fix test. + * gfortran.dg/ieee/modes_1.f90: Fix test. + +2022-10-01 José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/100029 + PR fortran/100040 + * gfortran.dg/PR100029.f90: New test. + * gfortran.dg/PR100040.f90: New test. + +2022-09-30 Jeff Law <jeffreyalaw@gmail.com> + + * gcc.dg/infinite-loop.c: New test. + +2022-09-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/107080 + * g++.target/arm/pr107080.C: New test. + +2022-09-30 Lewis Hyatt <lhyatt@gmail.com> + + PR preprocessor/69543 + * c-c++-common/pr69543-3.c: Remove xfail. + * c-c++-common/pr69543-4.c: Likewise. + * gcc.dg/cpp/pragma-diagnostic-2.c: Adjust test for new behavior. + * c-c++-common/pragma-diag-16.c: New test. + +2022-09-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/107080 + * g++.target/aarch64/pr107080.C: New test. + +2022-09-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/107080 + * g++.dg/cpp23/ext-floating11.C: New test. + +2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * lib/target-supports.exp (check_effective_target_vma_equals_lma): New. + * c-c++-common/torture/attr-noinit-1.c: Requre VMA == LMA to run. + * c-c++-common/torture/attr-noinit-2.c: Likewise. + * c-c++-common/torture/attr-noinit-3.c: Likewise. + * c-c++-common/torture/attr-persistent-1.c: Likewise. + * c-c++-common/torture/attr-persistent-3.c: Likewise. + +2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * lib/gcc-defs.exp: Do not prefix linker script with "-Wl,". + +2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * g++.dg/modules/ben-1.map: Replace the colon with dash. + * g++.dg/modules/ben-1_a.C: Likewise + +2022-09-30 Kewen Lin <linkw@linux.ibm.com> + + PR target/99888 + PR target/105649 + * gcc.target/powerpc/pr99888-1.c: New test. + * gcc.target/powerpc/pr99888-2.c: New test. + * gcc.target/powerpc/pr99888-3.c: New test. + * gcc.target/powerpc/pr99888-4.c: New test. + * gcc.target/powerpc/pr99888-5.c: New test. + * gcc.target/powerpc/pr99888-6.c: New test. + * c-c++-common/patchable_function_entry-default.c: Adjust for + powerpc_elfv2 to avoid compilation error. + +2022-09-30 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/106516 + * gcc.dg/pr104992.c: Adjust with vect_int_mod. + * lib/target-supports.exp (check_effective_target_vect_int_mod): New + effective target. + +2022-09-30 Christophe Lyon <christophe.lyon@arm.com> + + * gcc.target/arm/mve/mve_load_memory_modes.c: Update expected + registers. + * gcc.target/arm/mve/mve_store_memory_modes.c: Likewise. + +2022-09-30 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/105318 + * gfortran.dg/gomp/is_device_ptr-1.f90: Remove dg-error. + * gfortran.dg/gomp/is_device_ptr-2.f90: Likewise. + * gfortran.dg/gomp/is_device_ptr-3.f90: Update tree-scan-dump. + +2022-09-29 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c2x-attr-noreturn-1.c, gcc.dg/c2x-attr-noreturn-2.c, + gcc.dg/c2x-attr-noreturn-3.c: New tests. + * gcc.dg/c2x-has-c-attribute-2.c: Also test __has_c_attribute for + noreturn attribute. + +2022-09-29 Andrew MacLeod <amacleod@redhat.com> + + * gcc.dg/tree-ssa/pr79095.c: Test evrp pass rather than vrp1. + +2022-09-29 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/102892 + * gcc.dg/pr102892-1.c: Remove undefined behaviour. + +2022-09-29 Patrick Palka <ppalka@redhat.com> + + PR c++/102576 + * g++.dg/modules/pr102576_a.H: New test. + * g++.dg/modules/pr102576_b.C: New test. + +2022-09-29 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp2a/cond-triv3.C: New test. + +2022-09-29 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp1y/constexpr-local4.C: Expect error sooner. + * g++.dg/cpp2a/consteval24.C: Likewise. + * g++.dg/cpp2a/consteval7.C: Likewise. + * g++.dg/cpp2a/inline-asm3.C: Likewise. + +2022-09-29 Jason Merrill <jason@redhat.com> + + PR c++/93046 + * g++.dg/ext/cond4.C: Add runtime test. + +2022-09-29 Jason Merrill <jason@redhat.com> + + * g++.dg/tree-ssa/cond-temp1.C: New test. + +2022-09-29 Julian Brown <julian@codesourcery.com> + + PR middle-end/107028 + * c-c++-common/goacc/struct-component-kind-1.c: New test. + * g++.dg/goacc/pr107028-1.C: New test. + * g++.dg/goacc/pr107028-2.C: New test. + * gfortran.dg/goacc/mapping-tests-5.f90: New test. + +2022-09-29 Patrick Palka <ppalka@redhat.com> + + * g++.dg/ext/has-builtin-1.C: Test existence of __remove_cv, + __remove_reference and __remove_cvref. + * g++.dg/ext/remove_cv.C: New test. + * g++.dg/ext/remove_reference.C: New test. + * g++.dg/ext/remove_cvref.C: New test. + +2022-09-29 Patrick Palka <ppalka@redhat.com> + + * g++.dg/cpp0x/alias-decl-59.C: Adjust expected error message. + * g++.dg/ext/underlying_type7.C: Likewise. + * g++.dg/ext/underlying_type13.C: New test. + * g++.dg/ext/underlying_type14.C: New test. + +2022-09-29 Nathan Sidwell <nathan@acm.org> + + PR c++/100616 + * g++.dg/modules/100616_a.H: New. + * g++.dg/modules/100616_b.C: New. + * g++.dg/modules/100616_c.C: New. + * g++.dg/modules/100616_d.C: New. + +2022-09-29 Jose E. Marchesi <jose.marchesi@oracle.com> + + PR middle-end/25521 + * lib/target-supports.exp (check_effective_target_elf): Define. + * gcc.dg/pr25521.c: New test. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/cpunative/info_8: Add all dependencies of sve. + * gcc.target/aarch64/cpunative/info_9: Likewise svesm4. + * gcc.target/aarch64/cpunative/info_15: Likewise. + * gcc.target/aarch64/cpunative/info_16: Likewise sve2. + * gcc.target/aarch64/cpunative/info_17: Likewise. + * gcc.target/aarch64/cpunative/native_cpu_2.c: Expect just +nofp + rather than +nofp+nosimd. + * gcc.target/aarch64/cpunative/native_cpu_10.c: Likewise. + * gcc.target/aarch64/target_attr_15.c: Likewise. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/cpunative/native_cpu_0.c: Expect +crypto + to come after +crc. + * gcc.target/aarch64/cpunative/native_cpu_13.c: Likewise. + * gcc.target/aarch64/cpunative/native_cpu_16.c: Likewise. + * gcc.target/aarch64/cpunative/native_cpu_17.c: Likewise. + * gcc.target/aarch64/cpunative/native_cpu_6.c: Likewise. + * gcc.target/aarch64/cpunative/native_cpu_7.c: Likewise. + * gcc.target/aarch64/options_set_2.c: Likewise. + * gcc.target/aarch64/options_set_3.c: Likewise. + * gcc.target/aarch64/options_set_4.c: Likewise. + +2022-09-29 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/options_set_6.c: Expect +crypto+nosha2 to + disable crypto but keep aes. + * gcc.target/aarch64/pragma_cpp_predefs_4.c: New test. + +2022-09-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105646 + * g++.dg/uninit-pr105646.C: New testcase. + +2022-09-29 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr107055.c: New test. + +2022-09-28 Eugene Rozenfeld <erozen@microsoft.com> + + * c-c++-common/ubsan/pr85213.c: Pass -gno-statement-frontiers. + +2022-09-28 H.J. Lu <hjl.tools@gmail.com> + + PR target/107061 + * gcc.target/i386/keylocker-encodekey128.c: Don't check + XMM4-XMM6. + * gcc.target/i386/keylocker-encodekey256.c: Likewise. + +2022-09-28 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/base/abi-1.c: New test. + * gcc.target/riscv/rvv/base/abi-2.c: New test. + * gcc.target/riscv/rvv/base/abi-3.c: New test. + * gcc.target/riscv/rvv/base/abi-4.c: New test. + * gcc.target/riscv/rvv/base/abi-5.c: New test. + * gcc.target/riscv/rvv/base/abi-6.c: New test. + * gcc.target/riscv/rvv/base/abi-7.c: New test. + * gcc.target/riscv/rvv/rvv.exp: New test. + +2022-09-28 Andrea Corallo <andrea.corallo@arm.com> + + * gcc.target/arm/attr-crypto.c: Update test. + +2022-09-28 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * gcc.target/aarch64/advsimd-intrinsics/vld1x2.c: Rephrase + to unimplemented. + * gcc.target/aarch64/advsimd-intrinsics/vld1x3.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vld1x4.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vst1x2.c: Replace + dg-xfail-if with dg-skip-if. + * gcc.target/aarch64/advsimd-intrinsics/vst1x3.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vst1x4.c: Likewise. + +2022-09-28 H.J. Lu <hjl.tools@gmail.com> + + PR middle-end/58245 + * g++.dg/fstack-protector-strong.C: Adjusted. + * g++.dg/pr58245-1.C: New test. + +2022-09-28 Eugene Rozenfeld <erozen@microsoft.com> + + * gcc.dg/tree-prof/cold_partition_label.c: Don't check for hot/cold splitting with AutoFDO. + * gcc.dg/tree-prof/section-attr-1.c: Don't check for hot/cold splitting with AutoFDO. + * gcc.dg/tree-prof/section-attr-2.c: Don't check for hot/cold splitting with AutoFDO. + * gcc.dg/tree-prof/section-attr-3.c: Don't check for hot/cold splitting with AutoFDO. + +2022-09-27 Marek Polacek <polacek@redhat.com> + + PR c++/101165 + PR c++/106882 + * g++.dg/conversion/pr41426.C: Add dg-error for C++23. + * g++.dg/cpp0x/elision_weak.C: Likewise. + * g++.dg/cpp0x/move-return3.C: Only link in c++20_down. + * g++.dg/cpp1y/decltype-auto2.C: Add dg-error for C++23. + * g++.dg/cpp1y/lambda-generic-89419.C: Likewise. + * g++.dg/cpp23/feat-cxx2b.C: Test __cpp_implicit_move. + * g++.dg/gomp/pr56217.C: Only compile in c++20_down. + * g++.dg/warn/Wno-return-local-addr.C: Add dg-error for C++23. + * g++.dg/warn/Wreturn-local-addr.C: Adjust dg-error. + * g++.old-deja/g++.brendan/crash55.C: Add dg-error for C++23. + * g++.old-deja/g++.jason/temporary2.C: Likewise. + * g++.old-deja/g++.mike/p2846b.C: Adjust. + * g++.dg/cpp1y/decltype-auto6.C: New test. + * g++.dg/cpp23/decltype1.C: New test. + * g++.dg/cpp23/decltype2.C: New test. + * g++.dg/cpp23/elision1.C: New test. + * g++.dg/cpp23/elision2.C: New test. + * g++.dg/cpp23/elision3.C: New test. + * g++.dg/cpp23/elision4.C: New test. + * g++.dg/cpp23/elision5.C: New test. + * g++.dg/cpp23/elision6.C: New test. + * g++.dg/cpp23/elision7.C: New test. + +2022-09-27 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107054 + * gfortran.dg/pr107054.f90: New test. + +2022-09-27 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/popcount6b.c: New test. + +2022-09-27 Marek Polacek <polacek@redhat.com> + + * g++.dg/cpp2a/concepts-traits3.C: Adjust expected diagnostics. + +2022-09-27 Jonathan Wakely <jwakely@redhat.com> + + PR c++/107049 + * g++.dg/ext/is_convertible4.C: New test. + * g++.dg/ext/is_nothrow_convertible4.C: New test. + +2022-09-27 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/popcount6.c: New test. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + PR c++/106651 + * g++.dg/template/error30.C: Adjust expected diagnostics. + * g++.dg/cpp1z/constexpr-lambda13.C: Likewise. + * g++.dg/cpp23/feat-cxx2b.C: Test __cpp_static_call_operator. + * g++.dg/cpp23/static-operator-call1.C: New test. + * g++.dg/cpp23/static-operator-call2.C: New test. + * g++.old-deja/g++.jason/operator.C: Adjust expected diagnostics. + * g++.dg/cpp23/static-operator-call3.C: New file. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107029 + * g++.dg/torture/pr107029.C: New test. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/assume-1.c: New test. + * c-c++-common/gomp/assume-2.c: New test. + * c-c++-common/gomp/assume-3.c: New test. + * c-c++-common/gomp/assumes-1.c: New test. + * c-c++-common/gomp/assumes-2.c: New test. + * c-c++-common/gomp/assumes-3.c: New test. + * c-c++-common/gomp/assumes-4.c: New test. + * c-c++-common/gomp/begin-assumes-1.c: New test. + * c-c++-common/gomp/begin-assumes-2.c: New test. + * c-c++-common/gomp/begin-assumes-3.c: New test. + * c-c++-common/gomp/begin-assumes-4.c: New test. + * c-c++-common/gomp/declare-target-6.c: New test. + * g++.dg/gomp/attrs-1.C (bar): Add n1 and n2 arguments, add + tests for assume directive. + * g++.dg/gomp/attrs-2.C (bar): Likewise. + * g++.dg/gomp/attrs-9.C: Add n1 and n2 variables, add tests for + begin assumes directive. + * g++.dg/gomp/attrs-15.C: New test. + * g++.dg/gomp/attrs-16.C: New test. + * g++.dg/gomp/attrs-17.C: New test. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/diagnostic/conflicting-specifiers-1.C: Adjust expected + diagnostics. + * g++.dg/parse/typedef8.C: Likewise. + * g++.dg/parse/crash39.C: Likewise. + * g++.dg/other/mult-stor1.C: Likewise. + * g++.dg/cpp2a/constinit3.C: Likewise. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + PR c++/106652 + PR c++/85518 + * g++.dg/cpp23/ext-floating1.C: New test. + * g++.dg/cpp23/ext-floating2.C: New test. + * g++.dg/cpp23/ext-floating3.C: New test. + * g++.dg/cpp23/ext-floating4.C: New test. + * g++.dg/cpp23/ext-floating5.C: New test. + * g++.dg/cpp23/ext-floating6.C: New test. + * g++.dg/cpp23/ext-floating7.C: New test. + * g++.dg/cpp23/ext-floating8.C: New test. + * g++.dg/cpp23/ext-floating9.C: New test. + * g++.dg/cpp23/ext-floating10.C: New test. + * g++.dg/cpp23/ext-floating.h: New file. + * g++.target/i386/float16-1.C: Adjust expected diagnostics. + +2022-09-26 Marek Polacek <polacek@redhat.com> + + PR c++/106656 + * g++.dg/cpp23/feat-cxx2b.C: Adjust. + * g++.dg/cpp2a/feat-cxx2a.C: Likewise. + * g++.dg/ext/char8_t-feature-test-macro-2.C: Likewise. + * g++.dg/ext/char8_t-init-2.C: Likewise. + * g++.dg/cpp2a/char8_t3.C: New test. + * g++.dg/cpp2a/char8_t4.C: New test. + +2022-09-26 Marek Polacek <polacek@redhat.com> + + PR c++/106784 + * g++.dg/ext/is_convertible3.C: New test. + * g++.dg/ext/is_nothrow_convertible3.C: New test. + +2022-09-26 Patrick Palka <ppalka@redhat.com> + + PR c++/107033 + * g++.dg/modules/partial-2.cc, g++.dg/modules/partial-2.h: New + files, factored out from ... + * g++.dg/modules/partial-2_a.C, g++.dg/modules/partial-2_b.C: ... + these. + * g++.dg/modules/partial-2_c.H: New test. + * g++.dg/modules/partial-2_d.C: New test. + +2022-09-26 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/107009 + * gcc.dg/tree-ssa/pr107009.c: New test. + +2022-09-26 Jeff Law <jeffreyalaw@gmail.com> + + * gcc.target/riscv/ret-1.c: New test. + +2022-09-26 Tobias Burnus <tobias@codesourcery.com> + + PR middle-end/106982 + * c-c++-common/goacc/reduction-7.c: New test. + * c-c++-common/goacc/reduction-8.c: New test. + +2022-09-26 Kewen Lin <linkw@linux.ibm.com> + + PR target/96072 + * gcc.target/powerpc/pr96072.c: New test. + +2022-09-26 Hu, Lin1 <lin1.hu@intel.com> + + PR target/94962 + * gcc.target/i386/avx256-unaligned-store-3.c: Add -mno-avx512f + +2022-09-26 Kewen Lin <linkw@linux.ibm.com> + + PR target/100645 + * gcc.target/powerpc/pr100645.c: New test. + +2022-09-26 Hongtao Liu <hongtao.liu@intel.com> + Liwei Xu <liwei.xu@intel.com> + + * gcc.target/i386/pr53346-1.c: New test. + * gcc.target/i386/pr53346-2.c: New test. + * gcc.target/i386/pr53346-3.c: New test. + * gcc.target/i386/pr53346-4.c: New test. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/41453 + * gfortran.dg/intent_optimize_10.f90: New test. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/41453 + PR fortran/99169 + * gfortran.dg/intent_optimize_9.f90: New test. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/41453 + PR fortran/87401 + * gfortran.dg/intent_optimize_8.f90: New test. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/41453 + PR fortran/87395 + * gfortran.dg/intent_optimize_7.f90: New test. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/41453 + PR fortran/87395 + * gfortran.dg/intent_optimize_6.f90: New test. + +2022-09-25 Harald Anlauf <anlauf@gmx.de> + Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/105012 + * gfortran.dg/intent_optimize_5.f90: New test. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/106817 + * gfortran.dg/intent_optimize_4.f90: New test. + +2022-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/105012 + * gfortran.dg/intent_out_15.f90: New test. + +2022-09-24 Jakub Jelinek <jakub@redhat.com> + + PR c/107001 + * c-c++-common/gomp/pr107001.c: New test. + +2022-09-24 Jakub Jelinek <jakub@redhat.com> + + PR c/106981 + * c-c++-common/gomp/pr106981.c: New test. + +2022-09-23 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c2x-complit-1.c, gcc.dg/c2x-concat-1.c, + gcc.dg/cpp/c2x-ucn-1.c: New tests. + +2022-09-23 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * gcc.target/aarch64/advsimd-intrinsics/vld1x2.c: Replace + dg-xfail-if with dg-skip-if. + * gcc.target/aarch64/advsimd-intrinsics/vld1x3.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vld1x4.c: Likewise. + +2022-09-23 Marek Polacek <polacek@redhat.com> + + PR c++/106784 + * g++.dg/ext/has-builtin-1.C: Enhance to test __is_convertible and + __is_nothrow_convertible. + * g++.dg/ext/is_convertible1.C: New test. + * g++.dg/ext/is_convertible2.C: New test. + * g++.dg/ext/is_nothrow_convertible1.C: New test. + * g++.dg/ext/is_nothrow_convertible2.C: New test. + +2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai> + + * selftests/riscv/empty-func.rtl: New test. + +2022-09-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106922 + * g++.dg/torture/pr106922.C: New testcase. + +2022-09-23 Tamar Christina <tamar.christina@arm.com> + + * lib/scanasm.exp (check_function_body): Add debug output to verbose log + on failure. + +2022-09-23 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106922 + * g++.dg/tree-ssa/pr106922.C: Scan in cddce3 dump rather than + dce3. Remove -fdump-tree-pre-details from dg-options. + +2022-09-23 Hu, Lin1 <lin1.hu@intel.com> + + PR target/94962 + * gcc.target/i386/avx256-unaligned-load-1.c: Modify test. + * gcc.target/i386/avx256-unaligned-store-1.c: Ditto. + * gcc.target/i386/avx256-unaligned-store-2.c: Ditto. + * gcc.target/i386/avx256-unaligned-store-3.c: Ditto. + * gcc.target/i386/pr94962-1.c: New test. + * gcc.target/i386/pr94962-2.c: Ditto. + * gcc.target/i386/pr94962-3.c: Ditto. + * gcc.target/i386/pr94962-4.c: Ditto. + +2022-09-23 Marek Polacek <polacek@redhat.com> + + PR c++/106983 + * g++.dg/other/error36.C: New test. + +2022-09-22 José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/100103 + * gfortran.dg/PR100103.f90: New test. + +2022-09-22 Harald Anlauf <anlauf@gmx.de> + + PR fortran/82868 + * gfortran.dg/associate_26a.f90: New test. + +2022-09-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/102801 + * g++.dg/warn/Wuninitialized-33.C: New testcase. + +2022-09-22 Patrick Palka <ppalka@redhat.com> + + PR c++/106826 + * g++.dg/modules/partial-2_a.C: New test. + * g++.dg/modules/partial-2_b.C: New test. + +2022-09-22 David Malcolm <dmalcolm@redhat.com> + + PR c/106830 + * gcc.dg/Wxor-used-as-pow-pr106830.c: New test. + +2022-09-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106922 + * gcc.dg/tree-ssa/ssa-fre-100.c: New testcase. + * g++.dg/tree-ssa/pr106922.C: Adjust. + +2022-09-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/99407 + * gcc.dg/vect/tsvc/vect-tsvc-s243.c: Remove XFAIL. + +2022-09-22 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr106994.c: New test. + +2022-09-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106984 + * gcc.dg/tsan/pr106984.c: New testcase. + +2022-09-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gfortran.dg/ieee/rounding_3.f90: New test. + +2022-09-21 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/106967 + * gcc.dg/tree-ssa/pr106967.c: New test. + +2022-09-21 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr106963.c: New test. + +2022-09-20 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/104143 + * gfortran.dg/c-interop/c407b-2.f90: Remove dg-error. + * gfortran.dg/assumed_type_16.f90: New test. + * gfortran.dg/assumed_type_17.f90: New test. + +2022-09-20 Harald Anlauf <anlauf@gmx.de> + + PR fortran/106986 + * gfortran.dg/pr106986.f90: New test. + +2022-09-20 Harald Anlauf <anlauf@gmx.de> + + PR fortran/106985 + * gfortran.dg/pr106985.f90: New test. + +2022-09-20 Patrick Palka <ppalka@redhat.com> + + * g++.dg/modules/xtreme-header-2.h: Include <execution>. + * g++.dg/modules/xtreme-header-6.h: Include implemented + C++20 library headers. + * g++.dg/modules/xtreme-header.h: Likewise. Remove + NO_ASSOCIATED_LAMBDA workaround. Include implemented C++23 + library headers. + +2022-09-20 Patrick Palka <ppalka@redhat.com> + + * g++.dg/modules/auto-3.h: New test. + * g++.dg/modules/auto-3_a.H: New test. + * g++.dg/modules/auto-3_b.C: New test. + +2022-09-20 José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/100132 + * gfortran.dg/PR100132.f90: New test. + +2022-09-20 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/vect/pr106914.c: New test. + * g++.dg/vect/pr106794.cc: Likewise. + +2022-09-20 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/vect/vect-gather-5.c: New test. + +2022-09-20 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/106970 + * gcc.dg/tree-ssa/pr106970.c: New test. + +2022-09-20 Patrick Palka <ppalka@redhat.com> + + PR c++/106761 + * g++.dg/modules/pr106761.h: New test. + * g++.dg/modules/pr106761_a.H: New test. + * g++.dg/modules/pr106761_b.C: New test. + +2022-09-20 Martin Liska <mliska@suse.cz> + + * g++.dg/warn/Wclass-memaccess.C: Replace "the the" with "the". + * g++.dg/warn/Wconversion-real-integer2.C: Likewise. + * gcc.target/powerpc/p9-extract-1.c: Likewise. + * gcc.target/s390/s390.exp: Likewise. + * gcc.target/s390/zvector/vec-cmp-2.c: Likewise. + * gdc.dg/torture/simd_store.d: Likewise. + * gfortran.dg/actual_array_offset_1.f90: Likewise. + * gfortran.dg/pdt_15.f03: Likewise. + * gfortran.dg/pointer_array_8.f90: Likewise. + +2022-09-20 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr106910-1.c: New test. + +2022-09-20 konglin1 <lingling.kong@intel.com> + + * gcc.target/i386/pr105735-1.c: New test. + * gcc.target/i386/pr105735-2.c: New test. + +2022-09-20 konglin1 <lingling.kong@intel.com> + + PR target/106887 + * gcc.target/i386/vect-bfloat16-2c.c: New test. + +2022-09-19 Marek Polacek <polacek@redhat.com> + + PR c/106947 + * c-c++-common/Waddress-7.c: New test. + +2022-09-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gfortran.dg/ieee/modes_1.f90: New test. + +2022-09-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gfortran.dg/ieee/rounding_2.f90: New test. + +2022-09-18 Julian Brown <julian@codesourcery.com> + + * g++.dg/gomp/target-lambda-1.C: Adjust expected scan output. + +2022-09-18 Palmer Dabbelt <palmer@rivosinc.com> + + * gcc.dg/tree-ssa/gen-vect-34.c: Skip RISC-V targets. + +2022-09-17 Patrick Palka <ppalka@redhat.com> + + * g++.dg/modules/typename-friend_a.C: New test. + * g++.dg/modules/typename-friend_b.C: New test. + +2022-09-17 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106958 + * gcc.c-torture/compile/pr106958.c: New test. + +2022-09-16 Eugene Rozenfeld <erozen@microsoft.com> + + * gcc.dg/tree-prof/indir-call-prof-2.c: Fix dg-final-use-autofdo. + +2022-09-16 Patrick Palka <ppalka@redhat.com> + + PR c++/92505 + * g++.dg/cpp0x/constexpr-mutable3.C: New test. + * g++.dg/cpp1y/constexpr-mutable1.C: New test. + +2022-09-16 Jason Merrill <jason@redhat.com> + + PR c++/106858 + * g++.dg/gomp/map-3.C: New test. + +2022-09-15 Harald Anlauf <anlauf@gmx.de> + + PR fortran/106857 + * gfortran.dg/pr106857.f90: New test. + +2022-09-15 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/104314 + * gfortran.dg/pr104314.f90: New test. + +2022-09-15 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c2x-float-2.c: Require inff effective-target. + * gcc.dg/c2x-float-11.c: New test. + +2022-09-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106922 + * g++.dg/tree-ssa/pr106922.C: New testcase. + +2022-09-15 Julian Brown <julian@codesourcery.com> + + * c-c++-common/gomp/target-50.c: Modify scan pattern. + +2022-09-15 Julian Brown <julian@codesourcery.com> + + * c-c++-common/goacc/mdc-2.c: Update expected errors. + * g++.dg/goacc/mdc.C: Likewise. + +2022-09-15 Jiufu Guo <guojiufu@linux.ibm.com> + + PR target/106550 + * gcc.target/powerpc/pr106550.c: New test. + * gcc.target/powerpc/pr106550_1.c: New test. + +2022-09-14 Julian Brown <julian@codesourcery.com> + + * g++.dg/goacc/member-array-acc.C: New test. + * g++.dg/gomp/member-array-omp.C: New test. + * g++.dg/gomp/target-3.C: Update expected output. + * g++.dg/gomp/target-lambda-1.C: Likewise. + * g++.dg/gomp/target-this-2.C: Likewise. + * c-c++-common/goacc/deep-copy-arrayofstruct.c: Move test from here. + * c-c++-common/gomp/target-50.c: New test. + +2022-09-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106938 + * gcc.dg/pr106938.c: New testcase. + +2022-09-14 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/106936 + * g++.dg/tree-ssa/pr106936.C: New test. + +2022-09-14 Julian Brown <julian@codesourcery.com> + + * g++.dg/gomp/target-lambda-1.C: Adjust expected output. + * g++.dg/gomp/target-this-3.C: Likewise. + * g++.dg/gomp/target-this-4.C: Likewise. + +2022-09-14 Robin Dapp <rdapp@linux.ibm.com> + + * gcc.target/s390/ifcvt-one-insn-bool.c: Add -mzarch. + * gcc.target/s390/ifcvt-one-insn-char.c: Dito. + * gcc.target/s390/ifcvt-two-insns-bool.c: Dito. + * gcc.target/s390/ifcvt-two-insns-int.c: Dito. + * gcc.target/s390/ifcvt-two-insns-long.c: Add -mzarch and change + long into long long. + +2022-09-14 Robin Dapp <rdapp@linux.ibm.com> + + * gcc.target/s390/vector/vperm-rev-z14.c: Add -save-temps. + * gcc.target/s390/vector/vperm-rev-z15.c: Likewise. + +2022-09-14 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106878 + * gcc.c-torture/compile/pr106878.c: New test. + +2022-09-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106934 + * gfortran.dg/pr106934.f90: New testcase. + +2022-09-14 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr106905.c: New test. + * gcc.target/ia64/pr106905.c: New test. + +2022-09-14 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + PR target/95720 + * lib/g++.exp: Moved gluefile block to after flags have been + prefixed for the target_compile call. + * lib/gcc.exp: Likewise. + * lib/wrapper.exp: Reset adjusted state flag. + +2022-09-13 Roger Sayle <roger@nextmovesoftware.com> + + PR target/106877 + * g++.dg/ext/pr106877.C: New test case. + +2022-09-13 Patrick Palka <ppalka@redhat.com> + + * g++.dg/cpp1z/noexcept-type26.C: New test. + * g++.dg/cpp2a/explicit19.C: New test. + * g++.dg/ext/integer-pack6.C: New test. + +2022-09-13 Kewen Lin <linkw@linux.ibm.com> + + PR target/104482 + * gcc.target/powerpc/pr104482.c: New test. + +2022-09-13 Kewen.Lin <linkw@gcc.gnu.org> + + PR target/105485 + * g++.target/powerpc/pr105485.C: New test. + +2022-09-13 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/ldp_stp_20.c: New test. + * gcc.target/aarch64/ldp_stp_21.c: Likewise. + * gcc.target/aarch64/ldp_stp_22.c: Likewise. + * gcc.target/aarch64/ldp_stp_23.c: Likewise. + * gcc.target/aarch64/ldp_stp_24.c: Likewise. + * gcc.target/aarch64/movv16qi_1.c (gpr_to_gpr): New function. + * gcc.target/aarch64/movv8qi_1.c (gpr_to_gpr): Likewise. + * gcc.target/aarch64/movv16qi_2.c: New test. + * gcc.target/aarch64/movv16qi_3.c: Likewise. + * gcc.target/aarch64/movv2di_1.c: Likewise. + * gcc.target/aarch64/movv2x16qi_1.c: Likewise. + * gcc.target/aarch64/movv2x8qi_1.c: Likewise. + * gcc.target/aarch64/movv3x16qi_1.c: Likewise. + * gcc.target/aarch64/movv3x8qi_1.c: Likewise. + * gcc.target/aarch64/movv4x16qi_1.c: Likewise. + * gcc.target/aarch64/movv4x8qi_1.c: Likewise. + * gcc.target/aarch64/movv8qi_2.c: Likewise. + * gcc.target/aarch64/movv8qi_3.c: Likewise. + * gcc.target/aarch64/vect_unary_2.c: Likewise. + +2022-09-13 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/acle/ls64_asm_2.c: New test. + +2022-09-12 Patrick Palka <ppalka@redhat.com> + + PR c++/101906 + * g++.dg/template/evaluated1.C: New test. + * g++.dg/template/evaluated1a.C: New test. + * g++.dg/template/evaluated1b.C: New test. + * g++.dg/template/evaluated1c.C: New test. + +2022-09-12 Jason Merrill <jason@redhat.com> + + PR c++/106893 + PR c++/90451 + * g++.dg/cpp1y/auto-fn65.C: New test. + +2022-09-12 Jason Merrill <jason@redhat.com> + + PR c++/93259 + * g++.dg/cpp0x/initlist-array17.C: New test. + +2022-09-12 Jason Merrill <jason@redhat.com> + + PR c++/106567 + * g++.dg/cpp0x/lambda/lambda-array4.C: New test. + +2022-09-12 Jonathan Wakely <jwakely@redhat.com> + + PR c++/86491 + * g++.dg/warn/anonymous-namespace-3.C: Use separate dg-warning + directives for C++98 and everything else. + * g++.dg/warn/Wsubobject-linkage-5.C: New test. + +2022-09-12 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/atomic/c2x-stdatomic-var-init-1.c: New test. + +2022-09-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * g++.dg/gcov/gcov.exp: Respect triplet when looking for gcov. + * gcc.misc-tests/gcov.exp: Likewise. + +2022-09-12 Joffrey Huguet <huguet@adacore.com> + + * gnat.dg/aspect2.adb: Removed. + * gnat.dg/aspect2.ads: Removed. + * gnat.dg/config_pragma1.adb: Removed. + * gnat.dg/config_pragma1_pkg.ads: Removed. + * gnat.dg/equal8.adb: Removed. + * gnat.dg/equal8.ads: Removed. + * gnat.dg/equal8_pkg.ads: Removed. + * gnat.dg/formal_containers.adb: Removed. + * gnat.dg/iter1.adb: Removed. + * gnat.dg/iter1.ads: Removed. + +2022-09-11 Tim Lange <mail@tim-lange.me> + + PR analyzer/106845 + * gcc.dg/analyzer/out-of-bounds-zero.c: New test. + * gcc.dg/analyzer/pr106845.c: New test. + +2022-09-10 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * gcc.target/xtensa/constsynth_3insns.c (test_4): + Add new test function. + +2022-09-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR fortran/95644 + * gfortran.dg/ieee/fma_1.f90: New test. + * gfortran.dg/ieee/signbit_1.f90: New test. + +2022-09-09 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/analyzer_kernel_plugin.c: New test. + * gcc.dg/plugin/copy_from_user-1.c: New test. + * gcc.dg/plugin/infoleak-1.c: New test. + * gcc.dg/plugin/infoleak-2.c: New test. + * gcc.dg/plugin/infoleak-3.c: New test. + * gcc.dg/plugin/infoleak-CVE-2011-1078-1.c: New test. + * gcc.dg/plugin/infoleak-CVE-2011-1078-2.c: New test. + * gcc.dg/plugin/infoleak-CVE-2014-1446-1.c: New test. + * gcc.dg/plugin/infoleak-CVE-2017-18549-1.c: New test. + * gcc.dg/plugin/infoleak-CVE-2017-18550-1.c: New test. + * gcc.dg/plugin/infoleak-antipatterns-1.c: New test. + * gcc.dg/plugin/infoleak-fixit-1.c: New test. + * gcc.dg/plugin/infoleak-net-ethtool-ioctl.c: New test. + * gcc.dg/plugin/infoleak-vfio_iommu_type1.c: New test. + * gcc.dg/plugin/plugin.exp (plugin_test_list): Add + analyzer_kernel_plugin.c and the new test cases. + * gcc.dg/plugin/taint-CVE-2011-0521-1-fixed.c: New test. + * gcc.dg/plugin/taint-CVE-2011-0521-1.c: New test. + * gcc.dg/plugin/taint-CVE-2011-0521-2-fixed.c: New test. + * gcc.dg/plugin/taint-CVE-2011-0521-2.c: New test. + * gcc.dg/plugin/taint-CVE-2011-0521-3-fixed.c: New test. + * gcc.dg/plugin/taint-CVE-2011-0521-3.c: New test. + * gcc.dg/plugin/taint-CVE-2011-0521-4.c: New test. + * gcc.dg/plugin/taint-CVE-2011-0521-5-fixed.c: New test. + * gcc.dg/plugin/taint-CVE-2011-0521-5.c: New test. + * gcc.dg/plugin/taint-CVE-2011-0521-6.c: New test. + * gcc.dg/plugin/taint-CVE-2011-0521.h: New test. + * gcc.dg/plugin/taint-antipatterns-1.c: New test. + * gcc.dg/plugin/test-uaccess.h: New header for tests. + +2022-09-09 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/analyzer_known_fns_plugin.c: New test plugin. + * gcc.dg/plugin/known-fns-1.c: New test. + * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the new plugin + and test. + +2022-09-09 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/98247 + * gcc.dg/analyzer/flexible-array-member-1.c: New test. + +2022-09-09 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c11-unreachable-1.c, gcc.dg/c2x-unreachable-1.c: New + tests. + +2022-09-09 Kewen Lin <linkw@linux.ibm.com> + + PR middle-end/106833 + * gcc.target/powerpc/pr106833.c: New test. + +2022-09-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106892 + * gcc.dg/torture/pr106892.c: New testcase. + +2022-09-08 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/106670 + * c-c++-common/gomp/ompx-1.c: New test. + * c-c++-common/gomp/ompx-2.c: New test. + * g++.dg/gomp/ompx-attrs-1.C: New test. + * gfortran.dg/gomp/ompx-1.f90: New test. + * gfortran.dg/gomp/omx-1.f: New test. + * gfortran.dg/gomp/omx-2.f: New test. + +2022-09-08 Jonathan Wakely <jwakely@redhat.com> + + PR c++/106838 + * g++.dg/ext/array4.C: Fix invalid use of __is_constructible. + * g++.dg/ext/unary_trait_incomplete.C: Fix tests for traits with + different requirements. + +2022-09-08 Tim Lange <mail@tim-lange.me> + + PR analyzer/106625 + * gcc.dg/analyzer/data-model-1.c: Change expected result. + * gcc.dg/analyzer/out-of-bounds-5.c: New test. + * gcc.dg/analyzer/out-of-bounds-realloc-grow.c: New test. + * gcc.dg/analyzer/symbolic-gt-1.c: New test. + +2022-09-08 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/106886 + * gcc.dg/vect/bb-slp-layout-21.c: New test. + +2022-09-08 Patrick Palka <ppalka@redhat.com> + + PR c++/99209 + * g++.dg/cpp2a/lambda-uneval17.C: New test. + +2022-09-08 Patrick Palka <ppalka@redhat.com> + + PR c++/99130 + * g++.dg/cpp0x/constexpr-decltype5.C: New test. + +2022-09-08 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/doacross-7.c: New test. + +2022-09-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106881 + * gcc.dg/uninit-pr106881.c: New testcase. + +2022-09-08 Richard Biener <rguenther@suse.de> + + PR testsuite/106872 + * gcc.dg/uninit-pred-12.c: Adjust. + +2022-09-07 Jason Merrill <jason@redhat.com> + + PR c++/106793 + * g++.dg/cpp23/auto-array2.C: Adjust. + * g++.dg/cpp1z/class-deduction113.C: New test. + +2022-09-07 Surya Kumari Jangala <jskumari@linux.ibm.com> + + PR rtl-optimization/105586 + * gcc.target/powerpc/pr105586.c: New test. + +2022-09-07 Arsen Arsenović <arsen@aarsen.me> + + PR c++/106188 + PR c++/106713 + * g++.dg/coroutines/pr106188.C: New test. + +2022-09-07 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c11-keywords-1.c, gcc.dg/c2x-align-1.c, + gcc.dg/c2x-align-6.c, gcc.dg/c2x-bool-2.c, + gcc.dg/c2x-static-assert-3.c, gcc.dg/c2x-static-assert-4.c, + gcc.dg/c2x-thread-local-1.c: New tests. + * gcc.dg/c2x-bool-1.c: Update expectations. + +2022-09-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106866 + * gcc.dg/uninit-pr106866.c: New testcase. + +2022-09-07 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/106867 + * gcc.dg/tree-ssa/pr106867.c: New test. + +2022-09-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106860 + * g++.dg/opt/pr106860.C: New testcase. + +2022-09-07 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/movqi_1.c: New test. + * gcc.target/aarch64/movhi_1.c: Likewise. + * gcc.target/aarch64/movsi_1.c: Likewise. + * gcc.target/aarch64/movdi_2.c: Likewise. + * gcc.target/aarch64/movti_2.c: Likewise. + * gcc.target/aarch64/movhf_1.c: Likewise. + * gcc.target/aarch64/movsf_1.c: Likewise. + * gcc.target/aarch64/movdf_1.c: Likewise. + * gcc.target/aarch64/movtf_2.c: Likewise. + * gcc.target/aarch64/movv8qi_1.c: Likewise. + * gcc.target/aarch64/movv16qi_1.c: Likewise. + +2022-09-07 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/nofp_2.c: New test. + +2022-09-07 Lulu Cheng <chenglulu@loongson.cn> + + PR target/106828 + * g++.target/loongarch/pr106828.C: New test. + +2022-09-07 Jakub Jelinek <jakub@redhat.com> + + PR c++/106829 + * g++.dg/gomp/pr106829.C: New test. + +2022-09-07 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/cpp/delimited-escape-seq-4.c: New test. + * c-c++-common/cpp/delimited-escape-seq-5.c: New test. + * c-c++-common/cpp/delimited-escape-seq-6.c: New test. + * c-c++-common/cpp/delimited-escape-seq-7.c: New test. + * c-c++-common/cpp/named-universal-char-escape-5.c: New test. + * c-c++-common/cpp/named-universal-char-escape-6.c: New test. + * c-c++-common/cpp/named-universal-char-escape-7.c: New test. + * g++.dg/cpp23/named-universal-char-escape1.C: New test. + * g++.dg/cpp23/named-universal-char-escape2.C: New test. + +2022-09-07 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/106345 + * lib/target-supports.exp (check_effective_target_powerpc_sqrt): Add + a function definition to avoid pedwarn about empty translation unit. + (check_effective_target_has_arch_pwr5): Likewise. + (check_effective_target_has_arch_pwr6): Likewise. + (check_effective_target_has_arch_pwr7): Likewise. + (check_effective_target_has_arch_pwr8): Likewise. + (check_effective_target_has_arch_pwr9): Likewise. + (check_effective_target_has_arch_pwr10): Likewise. + (check_effective_target_has_arch_ppc64): Likewise. + (check_effective_target_ppc_float128): Likewise. + (check_effective_target_ppc_float128_insns): Likewise. + (check_effective_target_powerpc_vsx): Likewise. + +2022-09-07 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr103144-mul-1.c: New test. + * gcc.target/i386/pr103144-mul-2.c: New test. + * gcc.target/i386/pr103144-neg-1.c: New test. + * gcc.target/i386/pr103144-neg-2.c: New test. + * gcc.target/i386/pr103144-shift-1.c: New test. + * gcc.target/i386/pr103144-shift-2.c: New test. + +2022-09-06 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp23/subscript8.C: New test. + +2022-09-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106754 + * gcc.dg/uninit-pred-12.c: New testcase. + * gcc.dg/uninit-pr106155-1.c: Likewise. + +2022-09-06 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/vrp-float-inf-1.c: New test. + +2022-09-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106844 + * gcc.dg/pr106844.c: New testcase. + +2022-09-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106841 + * g++.dg/vect/pr106841.cc: New testcase. + +2022-09-06 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/doacross-6.c (corge): Don't expect an error here. + Add a few further tests. + +2022-09-06 Jakub Jelinek <jakub@redhat.com> + + PR c/106836 + * c-c++-common/gomp/pr106836.c: New test. + +2022-09-06 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/sink-3.c: Don't expect a superfluous error during + error recovery. + * c-c++-common/gomp/doacross-6.c (foo): Add further tests. + +2022-09-06 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/avx512f-vcvtps2ph-sae.c: New test. + +2022-09-05 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/cpp/c11-trigraphs-1.c, gcc.dg/cpp/c2x-trigraphs-1.c, + gcc.dg/cpp/c2x-trigraphs-2.c: New tests. + +2022-09-05 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/vrp-float-signbit-2.c: New test. + +2022-09-05 Alexander Monakov <amonakov@ispras.ru> + + PR target/106453 + * gcc.target/i386/pr106453.c: New test. + +2022-09-05 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/all-memory-1.f90: Update dg-error. + * gfortran.dg/gomp/depend-iterator-2.f90: Likewise. + * gfortran.dg/gomp/depobj-2.f90: Likewise. + * gfortran.dg/gomp/doacross-5.f90: New test. + * gfortran.dg/gomp/doacross-6.f90: New test. + +2022-09-05 Aldy Hernandez <aldyh@redhat.com> + + PR middle-end/106824 + * g++.dg/pr106824.C: New test. + +2022-09-05 Tim Lange <mail@tim-lange.me> + + * gcc.dg/analyzer/out-of-bounds-4.c: New test. + * gcc.dg/analyzer/strcpy-3.c: New test. + +2022-09-05 Tim Lange <mail@tim-lange.me> + + * gcc.dg/analyzer/fold-string-to-char.c: New test. + +2022-09-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * gcc.target/aarch64/spellcheck_10.c: New test. + +2022-09-05 LiaoShihua <shihua@iscas.ac.cn> + + * gcc.target/riscv/zmmul-1.c: New test. + * gcc.target/riscv/zmmul-2.c: New test. + +2022-09-05 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/direct-extern-1.c: New test. + * gcc.target/loongarch/direct-extern-2.c: New test. + +2022-09-05 konglin1 <lingling.kong@intel.com> + + * gcc.target/i386/pr106742.c: New test. + +2022-09-04 José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/100136 + * gfortran.dg/PR100136.f90: New test. + +2022-09-03 José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/100245 + * gfortran.dg/PR100245.f90: New test. + +2022-09-03 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/pr106819.c: New test. + +2022-09-03 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/doacross-2.c: Adjust expected diagnostics. + * c-c++-common/gomp/doacross-5.c: New test. + * c-c++-common/gomp/doacross-6.c: New test. + * c-c++-common/gomp/nesting-2.c: Adjust expected diagnostics. + * c-c++-common/gomp/ordered-3.c: Likewise. + * c-c++-common/gomp/sink-3.c: Likewise. + * gfortran.dg/gomp/nesting-2.f90: Likewise. + +2022-09-02 David Malcolm <dmalcolm@redhat.com> + + PR c/90885 + * c-c++-common/Wxor-used-as-pow-1.c: New test. + * c-c++-common/Wxor-used-as-pow-fixits.c: New test. + * g++.dg/parse/expr3.C: Convert 2 to 0x2 to suppress + -Wxor-used-as-pow. + * g++.dg/warn/Wparentheses-10.C: Likewise. + * g++.dg/warn/Wparentheses-18.C: Likewise. + * g++.dg/warn/Wparentheses-19.C: Likewise. + * g++.dg/warn/Wparentheses-9.C: Likewise. + * g++.dg/warn/Wxor-used-as-pow-named-op.C: New test. + * gcc.dg/Wparentheses-6.c: Convert 2 to 0x2 to suppress + -Wxor-used-as-pow. + * gcc.dg/Wparentheses-7.c: Likewise. + * gcc.dg/precedence-1.c: Likewise. + +2022-09-02 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/99349 + * gfortran.dg/pr99349.f90: New test. + +2022-09-02 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/vect/bb-slp-layout-20.c: New test. + +2022-09-02 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/vect/bb-slp-layout-19.c: New test. + +2022-09-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106809 + * gcc.dg/torture/pr106809.c: New testcase. + +2022-09-02 Martin Liska <mliska@suse.cz> + + * lib/gcc-dg.exp: Remove -gstabs option support, DBX-related + macros and DBX debugging info support. + * lib/gfortran-dg.exp: Likewise. + * lib/target-supports.exp: Likewise. + * g++.dg/cpp0x/alias-decl-debug-0.C: Removed. + * g++.dg/other/PR23205.C: Removed. + * g++.dg/other/pr23205-2.C: Removed. + * gcc.dg/20040813-1.c: Removed. + * gcc.dg/darwin-20040809-2.c: Removed. + * gcc.dg/debug/pr35154.c: Removed. + * gcc.dg/pr69471-2.c: Removed. + * gcc.target/powerpc/stabs-attrib-vect-darwin.c: Removed. + * gcc.target/s390/20041216-1.c: Removed. + * gfortran.dg/debug/pr35154-stabs.f: Removed. + * objc.dg/stabs-1.m: Removed. + +2022-09-02 Simon Rainer <gcc.gnu@vvalter.com> + + PR ipa/106627 + * g++.target/i386/pr106627.C: New test. + +2022-09-01 H.J. Lu <hjl.tools@gmail.com> + + PR target/106707 + * gcc.target/i386/pr106707.c (foo): Replace long with long long. + +2022-09-01 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c11-unproto-3.c, gcc.dg/c2x-unproto-3.c, + gcc.dg/c2x-unproto-4.c: New tests. + * gcc.dg/c2x-old-style-definition-6.c, gcc.dg/c2x-unproto-1.c, + gcc.dg/c2x-unproto-2.c: Update for removal of unprototyped + functions. + +2022-09-01 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/vect/bb-slp-pr54400.c: Extend to aarch64. + * gcc.dg/vect/bb-slp-layout-18.c: New test. + +2022-09-01 Uroš Bizjak <ubizjak@gmail.com> + + PR target/106707 + * gcc.target/i386/pr106707.c: New test. + +2022-09-01 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/vrp-float-signbit-1.c: New test. + +2022-09-01 Jakub Jelinek <jakub@redhat.com> + + PR c++/106655 + * c-c++-common/cpp/Winvalid-utf8-1.c: New test. + * c-c++-common/cpp/Winvalid-utf8-2.c: New test. + * c-c++-common/cpp/Winvalid-utf8-3.c: New test. + * g++.dg/cpp23/Winvalid-utf8-1.C: New test. + * g++.dg/cpp23/Winvalid-utf8-2.C: New test. + * g++.dg/cpp23/Winvalid-utf8-3.C: New test. + * g++.dg/cpp23/Winvalid-utf8-4.C: New test. + * g++.dg/cpp23/Winvalid-utf8-5.C: New test. + * g++.dg/cpp23/Winvalid-utf8-6.C: New test. + * g++.dg/cpp23/Winvalid-utf8-7.C: New test. + * g++.dg/cpp23/Winvalid-utf8-8.C: New test. + * g++.dg/cpp23/Winvalid-utf8-9.C: New test. + * g++.dg/cpp23/Winvalid-utf8-10.C: New test. + * g++.dg/cpp23/Winvalid-utf8-11.C: New test. + * g++.dg/cpp23/Winvalid-utf8-12.C: New test. + +2022-09-01 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/106785 + * gcc.dg/tree-ssa/vrp-float-nan-1.c: New test. + +2022-09-01 konglin1 <lingling.kong@intel.com> + + * gcc.dg/tree-ssa/gen-vect-34.c: New test. + * gcc.dg/vect/vect-ifcvt-18.c: New test. + +2022-09-01 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/106682 + * gcc.target/powerpc/pr86731-fwrapv-longlong.c: Fix typo. + +2022-09-01 Peter Bergner <bergner@linux.ibm.com> + + PR target/101322 + * g++.target/powerpc/pr101322.C: New test. + +2022-08-31 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c2x-attr-deprecated-2.c, gcc.dg/c2x-attr-fallthrough-2.c, + gcc.dg/c2x-attr-maybe_unused-1.c, gcc.dg/c2x-attr-nodiscard-2.c: + Add tests of attributes on labels. + * gcc.dg/c2x-has-c-attribute-2.c: Update expected results for + maybe_unused and fallthrough. + +2022-08-31 Martin Liska <mliska@suse.cz> + + * g++.dg/cpp0x/lambda/lambda-conv.C: Remove useless test. + * gcc.c-torture/execute/ieee/hugeval.x: Likewise. + * gcc.dg/torture/pr47917.c: Likewise. + * lib/target-supports.exp: Likewise. + +2022-08-31 Jonathan Wakely <jwakely@redhat.com> + + PR testsuite/106795 + * g++.dg/tree-ssa/empty-loop.C: Use -Wno-unused-result. + +2022-08-31 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_1.c: Update + tests for empty initializers. + * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_2.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Likewise. + +2022-08-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/90994 + * g++.dg/torture/pr90994.C: New testcase. + +2022-08-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/65244 + * gcc.dg/uninit-pr65244-2.c: New testcase. + +2022-08-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/65244 + * gcc.dg/uninit-pr65244-1.c: New testcase. + +2022-08-30 Andrew Stubbs <ams@codesourcery.com> + + * gcc.dg/vect/vect-simd-clone-1.c: Add dg-warning. + * gcc.dg/vect/vect-simd-clone-2.c: Add dg-warning. + * gcc.dg/vect/vect-simd-clone-3.c: Add dg-warning. + * gcc.dg/vect/vect-simd-clone-4.c: Add dg-warning. + * gcc.dg/vect/vect-simd-clone-5.c: Add dg-warning. + * gcc.dg/vect/vect-simd-clone-8.c: Add dg-warning. + +2022-08-30 Richard Sandiford <richard.sandiford@arm.com> + + * lib/target-supports.exp (check_effective_target_vect_var_shift): + Return true for aarch64. + * gcc.dg/vect/bb-slp-layout-1.c: New test. + * gcc.dg/vect/bb-slp-layout-2.c: New test. + * gcc.dg/vect/bb-slp-layout-3.c: New test. + * gcc.dg/vect/bb-slp-layout-4.c: New test. + * gcc.dg/vect/bb-slp-layout-5.c: New test. + * gcc.dg/vect/bb-slp-layout-6.c: New test. + * gcc.dg/vect/bb-slp-layout-7.c: New test. + * gcc.dg/vect/bb-slp-layout-8.c: New test. + * gcc.dg/vect/bb-slp-layout-9.c: New test. + * gcc.dg/vect/bb-slp-layout-10.c: New test. + * gcc.dg/vect/bb-slp-layout-11.c: New test. + * gcc.dg/vect/bb-slp-layout-13.c: New test. + * gcc.dg/vect/bb-slp-layout-14.c: New test. + * gcc.dg/vect/bb-slp-layout-15.c: New test. + * gcc.dg/vect/bb-slp-layout-16.c: New test. + * gcc.dg/vect/bb-slp-layout-17.c: New test. + * gcc.dg/vect/slp-11b.c: XFAIL SLP test for load-lanes targets. + * gcc.dg/vect/bb-slp-layout-12.c: New file. + +2022-08-30 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/slp_15.c: New test. + * g++.target/aarch64/sve/pr96974.C: Remove scan test. + +2022-08-30 Marek Polacek <polacek@redhat.com> + + PR c++/106759 + * g++.dg/ext/has-builtin-1.C: New test. + +2022-08-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/67196 + * gcc.dg/uninit-pred-7_a.c: Un-XFAIL. + +2022-08-30 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/recip-3.c: Avoid premature optimization so test + has a chance to succeed. + +2022-08-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/63660 + * gcc.dg/uninit-pr63660.c: New testcase. + +2022-08-30 Richard Biener <rguenther@suse.de> + + * g++.dg/uninit-pred-5.C: New testcase. + +2022-08-30 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/106744 + * gcc.dg/tree-ssa/minmax-10.c: Make runtime test. + * gcc.dg/tree-ssa/minmax-11.c: Likewise. + * gcc.dg/tree-ssa/minmax-12.c: Likewise. + * gcc.dg/tree-ssa/minmax-13.c: Likewise. + * gcc.dg/tree-ssa/minmax-14.c: Likewise. + * gcc.dg/tree-ssa/minmax-15.c: Likewise. + * gcc.dg/tree-ssa/minmax-16.c: Likewise. + * gcc.dg/tree-ssa/minmax-3.c: Likewise. + * gcc.dg/tree-ssa/minmax-4.c: Likewise. + * gcc.dg/tree-ssa/minmax-5.c: Likewise. + * gcc.dg/tree-ssa/minmax-6.c: Likewise. + * gcc.dg/tree-ssa/minmax-7.c: Likewise. + * gcc.dg/tree-ssa/minmax-8.c: Likewise. + * gcc.dg/tree-ssa/minmax-9.c: Likewise. + +2022-08-29 Marek Polacek <polacek@redhat.com> + + PR c++/106712 + * g++.dg/cpp0x/gen-attrs-77.C: New test. + +2022-08-29 David Faust <david.faust@oracle.com> + + PR target/106745 + * gcc.target/bpf/core-pr106745.c: New test. + +2022-08-29 H.J. Lu <hjl.tools@gmail.com> + + PR target/106748 + * gcc.target/i386/pr106748.c: New test. + +2022-08-29 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/func-call-medium-1.c: Refine test + depending on __tls_get_addr with { target tls_native }. + * gcc.target/loongarch/func-call-medium-2.c: Likewise. + * gcc.target/loongarch/func-call-medium-3.c: Likewise. + * gcc.target/loongarch/func-call-medium-4.c: Likewise. + * gcc.target/loongarch/func-call-medium-5.c: Likewise. + * gcc.target/loongarch/func-call-medium-6.c: Likewise. + * gcc.target/loongarch/func-call-medium-7.c: Likewise. + * gcc.target/loongarch/func-call-medium-8.c: Likewise. + * gcc.target/loongarch/tls-gd-noplt.c: Likewise. + +2022-08-29 Robin Dapp <rdapp@linux.ibm.com> + + * gcc.target/s390/vector/vec-sum-across-no-lower-subreg-1.c: New test. + +2022-08-29 Robin Dapp <rdapp@linux.ibm.com> + + * gcc.target/s390/vector/vperm-rev-z14.c: New test. + * gcc.target/s390/vector/vperm-rev-z15.c: New test. + * gcc.target/s390/zvector/vec-reve-store-byte.c: Adjust test + expectation. + +2022-08-29 Robin Dapp <rdapp@linux.ibm.com> + + * gcc.target/s390/zvector/vec-reve-int-long.c: New test. + +2022-08-29 Robin Dapp <rdapp@linux.ibm.com> + + * gcc.target/s390/vector/vec-copysign.c: Do not unroll. + * gcc.target/s390/zvector/autovec-double-quiet-uneq.c: Dito. + * gcc.target/s390/zvector/autovec-double-signaling-ltgt.c: Dito. + * gcc.target/s390/zvector/autovec-float-quiet-uneq.c: Dito. + * gcc.target/s390/zvector/autovec-float-signaling-ltgt.c: Dito. + +2022-08-28 Peter Bergner <bergner@linux.ibm.com> + + PR target/106017 + * gcc.target/powerpc/pr106017.c: New test. + +2022-08-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106737 + * gcc.dg/autopar/pr106737.c: Require fgraphite effective target. + +2022-08-26 Marek Polacek <polacek@redhat.com> + + PR c++/81159 + * g++.dg/warn/Wself-move1.C: New test. + +2022-08-26 Jakub Jelinek <jakub@redhat.com> + + PR c++/106647 + * g++.dg/cpp23/wchar-multi1.C: New test. + * g++.dg/cpp23/wchar-multi2.C: New test. + +2022-08-26 Richard Biener <rguenther@suse.de> + + * gcc.dg/uninit-pred-11.c: New testcase. + +2022-08-26 Tobias Burnus <tobias@codesourcery.com> + + * c-c++-common/gomp/reverse-offload-1.c: Remove dg-sorry. + * c-c++-common/gomp/target-device-ancestor-4.c: Likewise. + * gfortran.dg/gomp/target-device-ancestor-4.f90: Likewise. + * gfortran.dg/gomp/target-device-ancestor-5.f90: Likewise. + * c-c++-common/goacc/classify-kernels-parloops.c: Add 'noclone' to + scan-tree-dump-times. + * c-c++-common/goacc/classify-kernels-unparallelized-parloops.c: + Likewise. + * c-c++-common/goacc/classify-kernels-unparallelized.c: Likewise. + * c-c++-common/goacc/classify-kernels.c: Likewise. + * c-c++-common/goacc/classify-parallel.c: Likewise. + * c-c++-common/goacc/classify-serial.c: Likewise. + * c-c++-common/goacc/kernels-counter-vars-function-scope.c: Likewise. + * c-c++-common/goacc/kernels-loop-2.c: Likewise. + * c-c++-common/goacc/kernels-loop-3.c: Likewise. + * c-c++-common/goacc/kernels-loop-data-2.c: Likewise. + * c-c++-common/goacc/kernels-loop-data-enter-exit-2.c: Likewise. + * c-c++-common/goacc/kernels-loop-data-enter-exit.c: Likewise. + * c-c++-common/goacc/kernels-loop-data-update.c: Likewise. + * c-c++-common/goacc/kernels-loop-data.c: Likewise. + * c-c++-common/goacc/kernels-loop-g.c: Likewise. + * c-c++-common/goacc/kernels-loop-mod-not-zero.c: Likewise. + * c-c++-common/goacc/kernels-loop-n.c: Likewise. + * c-c++-common/goacc/kernels-loop-nest.c: Likewise. + * c-c++-common/goacc/kernels-loop.c: Likewise. + * c-c++-common/goacc/kernels-one-counter-var.c: Likewise. + * c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c: Likewise. + * gfortran.dg/goacc/classify-kernels-parloops.f95: Likewise. + * gfortran.dg/goacc/classify-kernels-unparallelized-parloops.f95: + Likewise. + * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise. + * gfortran.dg/goacc/classify-kernels.f95: Likewise. + * gfortran.dg/goacc/classify-parallel.f95: Likewise. + * gfortran.dg/goacc/classify-serial.f95: Likewise. + * gfortran.dg/goacc/kernels-loop-2.f95: Likewise. + * gfortran.dg/goacc/kernels-loop-data-2.f95: Likewise. + * gfortran.dg/goacc/kernels-loop-data-enter-exit-2.f95: Likewise. + * gfortran.dg/goacc/kernels-loop-data-enter-exit.f95: Likewise. + * gfortran.dg/goacc/kernels-loop-data-update.f95: Likewise. + * gfortran.dg/goacc/kernels-loop-data.f95: Likewise. + * gfortran.dg/goacc/kernels-loop-n.f95: Likewise. + * gfortran.dg/goacc/kernels-loop.f95: Likewise. + * gfortran.dg/goacc/kernels-parallel-loop-data-enter-exit.f95: Likewise. + +2022-08-26 Jakub Jelinek <jakub@redhat.com> + + * gcc.dg/torture/builtin-issignaling-1.c: New test. + * gcc.dg/torture/builtin-issignaling-2.c: New test. + * gcc.dg/torture/float16-builtin-issignaling-1.c: New test. + * gcc.dg/torture/float32-builtin-issignaling-1.c: New test. + * gcc.dg/torture/float32x-builtin-issignaling-1.c: New test. + * gcc.dg/torture/float64-builtin-issignaling-1.c: New test. + * gcc.dg/torture/float64x-builtin-issignaling-1.c: New test. + * gcc.dg/torture/float128-builtin-issignaling-1.c: New test. + * gcc.dg/torture/float128x-builtin-issignaling-1.c: New test. + * gcc.target/i386/builtin-issignaling-1.c: New test. + +2022-08-26 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106099 + * gcc.dg/pr106099.c: New test. + +2022-08-26 Jakub Jelinek <jakub@redhat.com> + + PR c++/106648 + * c-c++-common/cpp/named-universal-char-escape-1.c: New test. + * c-c++-common/cpp/named-universal-char-escape-2.c: New test. + * c-c++-common/cpp/named-universal-char-escape-3.c: New test. + * c-c++-common/cpp/named-universal-char-escape-4.c: New test. + * c-c++-common/Wbidi-chars-25.c: New test. + * gcc.dg/cpp/named-universal-char-escape-1.c: New test. + * gcc.dg/cpp/named-universal-char-escape-2.c: New test. + * g++.dg/cpp/named-universal-char-escape-1.C: New test. + * g++.dg/cpp/named-universal-char-escape-2.C: New test. + * g++.dg/cpp23/feat-cxx2b.C: Test __cpp_named_character_escapes. + +2022-08-26 Martin Liska <mliska@suse.cz> + + * lib/target-supports.exp: Remove cr16 related stuff. + +2022-08-26 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr106704.c: New test. + +2022-08-25 Marek Polacek <polacek@redhat.com> + + * gcc.dg/c11-nullptr-1.c: New test. + * gcc.dg/c17-nullptr-1.c: New test. + * gcc.dg/c17-nullptr-2.c: New test. + * gcc.dg/c2x-nullptr-1.c: New test. + * gcc.dg/c2x-nullptr-2.c: New test. + * gcc.dg/c2x-nullptr-3.c: New test. + * gcc.dg/c2x-nullptr-4.c: New test. + * gcc.dg/c2x-nullptr-5.c: New test. + +2022-08-25 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c11-empty-init-1.c, gcc.dg/c11-empty-init-2.c, + gcc.dg/c11-empty-init-3.c, gcc.dg/c2x-empty-init-1.c, + gcc.dg/c2x-empty-init-2.c, gcc.dg/c2x-empty-init-3.c, + gcc.dg/gnu2x-empty-init-1.c, gcc.dg/gnu2x-empty-init-2.c: New + tests. + * gcc.dg/torture/dfp-default-init-1.c: Also test empty + initializers. + * gcc.dg/init-bad-1.c, gcc.dg/noncompile/pr71583.c, + gcc.dg/pr61096-1.c, gcc.dg/vla-init-2.c, gcc.dg/vla-init-3.c, + gcc.target/i386/sse2-bfloat16-scalar-typecheck.c: Update expected + diagnostics. + * gcc.dg/ubsan/c-shift-1.c: Use nonempty initializers for VLA + initializations expected to be diagnosed. + +2022-08-25 Jason Merrill <jason@redhat.com> + + * g++.dg/init/elide8.C: New test. + +2022-08-25 Jason Merrill <jason@redhat.com> + + * g++.dg/debug/dwarf2/utf-1.C: New test. + +2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com> + + PR target/106101 + * gcc.c-torture/compile/pr106101.c: New test. + +2022-08-25 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/attr-model-test.c: New test. + * gcc.target/loongarch/attr-model-1.c: New test. + * gcc.target/loongarch/attr-model-2.c: New test. + * gcc.target/loongarch/attr-model-diag.c: New test. + +2022-08-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106737 + * gcc.dg/autopar/pr106737.c: New testcase. + +2022-08-25 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/strictly-structured-block-4.f90: New test. + +2022-08-25 Chenghua Xu <xuchenghua@loongson.cn> + + * gcc.target/loongarch/pr106459.c: New test. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + * lib/target-supports.exp (check_effective_target_bswap): + Return true if riscv and ZBB ISA extension is enabled. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + PR target/106601 + * gcc.target/riscv/zbb_32_bswap-2.c: New test. + * gcc.target/riscv/zbb_bswap-2.c: New test. + +2022-08-24 Andrew Pinski <apinski@marvell.com> + + PR target/106600 + * gcc.target/riscv/zbb_32_bswap-1.c: New test. + * gcc.target/riscv/zbb_bswap-1.c: New test. + +2022-08-24 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103694 + * gfortran.dg/pr103694.f90: New test. + +2022-08-24 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/torture/dfp-default-init-1.c, + gcc.dg/torture/dfp-default-init-2.c, + gcc.dg/torture/dfp-default-init-3.c: New tests. + +2022-08-24 Jose E. Marchesi <jose.marchesi@oracle.com> + + PR target/106733 + * gcc.target/bpf/constant-calls.c: Rename to ... + * gcc.target/bpf/constant-calls-1.c: and modify to not expect + failure anymore. + * gcc.target/bpf/constant-calls-2.c: New test. + +2022-08-24 Jakub Jelinek <jakub@redhat.com> + + PR target/106721 + * gcc.target/i386/avx512vl-pr106721.c: New test. + +2022-08-24 Jakub Jelinek <jakub@redhat.com> + + PR c++/106646 + * g++.dg/cpp/warning-1.C: New test. + * g++.dg/cpp/warning-2.C: New test. + * g++.dg/cpp/warning-3.C: New test. + +2022-08-24 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/func-call-medium-1.c: New test. + * gcc.target/loongarch/func-call-medium-2.c: New test. + * gcc.target/loongarch/func-call-medium-3.c: New test. + * gcc.target/loongarch/func-call-medium-4.c: New test. + * gcc.target/loongarch/func-call-medium-5.c: New test. + * gcc.target/loongarch/func-call-medium-6.c: New test. + * gcc.target/loongarch/func-call-medium-7.c: New test. + * gcc.target/loongarch/func-call-medium-8.c: New test. + * gcc.target/loongarch/tls-gd-noplt.c: Add compile parameter '-mexplicit-relocs'. + +2022-08-23 Marek Polacek <polacek@redhat.com> + + * g++.dg/cpp0x/Wpessimizing-move10.C: New test. + * g++.dg/cpp0x/Wredundant-move12.C: New test. + +2022-08-23 H.J. Lu <hjl.tools@gmail.com> + + * gcc.target/x86_64/abi/bf16/asm-support.S: Replace vmovdqu with + movdqu. + +2022-08-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106722 + * g++.dg/uninit-pr106722-1.C: New testcase. + +2022-08-23 Marek Polacek <polacek@redhat.com> + + * g++.dg/torture/phi-1.C: New test. + +2022-08-23 Richard Biener <rguenther@suse.de> + + * gcc.dg/uninit-pred-10.c: New testcase. + +2022-08-23 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/depend-6.f90: Fix array index use for + depobj var + update scan-tree-dump-times. + +2022-08-23 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/depend-4.f90: Fix array index use for + depobj var + update scan-tree-dump-times. + +2022-08-23 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/x86_64/abi/bf16/bf16-helper.h: + Add _m128bf16/m256bf16/_m512bf16. + * gcc.target/x86_64/abi/bf16/m512bf16/bf16-zmm-check.h: + Include bf16-helper.h. + +2022-08-23 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106687 + * g++.dg/pr106687.C: New. + +2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.target/pru/bitop-di.c: New test. + +2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.target/pru/mov-m1.c: New test. + +2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> + + PR target/106564 + * gcc.target/pru/pr106564-1.c: New test. + * gcc.target/pru/pr106564-2.c: New test. + * gcc.target/pru/pr106564-3.c: New test. + * gcc.target/pru/pr106564-4.c: New test. + +2022-08-22 Harald Anlauf <anlauf@gmx.de> + + PR fortran/106557 + * gfortran.dg/pr106557.f90: New test. + +2022-08-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105937 + * g++.dg/uninit-pr105937.C: New testcase. + +2022-08-20 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/func-call-1.c: Add option '-mcmodel=normal'. + * gcc.target/loongarch/func-call-2.c: Likewise. + * gcc.target/loongarch/func-call-3.c: Likewise. + * gcc.target/loongarch/func-call-4.c: Likewise. + * gcc.target/loongarch/func-call-5.c: Likewise. + * gcc.target/loongarch/func-call-6.c: Likewise. + * gcc.target/loongarch/func-call-7.c: Likewise. + * gcc.target/loongarch/func-call-8.c: Likewise. + * gcc.target/loongarch/relocs-symbol-noaddend.c: Likewise. + * gcc.target/loongarch/func-call-extreme-1.c: New test. + * gcc.target/loongarch/func-call-extreme-2.c: New test. + +2022-08-20 Jakub Jelinek <jakub@redhat.com> + + PR c++/106645 + * c-c++-common/cpp/delimited-escape-seq-1.c: New test. + * c-c++-common/cpp/delimited-escape-seq-2.c: New test. + * c-c++-common/cpp/delimited-escape-seq-3.c: New test. + * c-c++-common/Wbidi-chars-24.c: New test. + * gcc.dg/cpp/delimited-escape-seq-1.c: New test. + * gcc.dg/cpp/delimited-escape-seq-2.c: New test. + * g++.dg/cpp/delimited-escape-seq-1.C: New test. + * g++.dg/cpp/delimited-escape-seq-2.C: New test. + +2022-08-19 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/x86_64/abi/bf16/abi-bf16.exp: New test. + * gcc.target/x86_64/abi/bf16/args.h: Ditto. + * gcc.target/x86_64/abi/bf16/asm-support.S: Ditto. + * gcc.target/x86_64/abi/bf16/bf16-check.h: Ditto. + * gcc.target/x86_64/abi/bf16/bf16-helper.h: Ditto. + * gcc.target/x86_64/abi/bf16/defines.h: Ditto. + * gcc.target/x86_64/abi/bf16/m256bf16/abi-bf16-ymm.exp: Ditto. + * gcc.target/x86_64/abi/bf16/m256bf16/args.h: Ditto. + * gcc.target/x86_64/abi/bf16/m256bf16/asm-support.S: Ditto. + * gcc.target/x86_64/abi/bf16/m256bf16/bf16-ymm-check.h: Ditto. + * gcc.target/x86_64/abi/bf16/m256bf16/test_m256_returning.c: Ditto. + * gcc.target/x86_64/abi/bf16/m256bf16/test_passing_m256.c: Ditto. + * gcc.target/x86_64/abi/bf16/m256bf16/test_passing_structs.c: Ditto. + * gcc.target/x86_64/abi/bf16/m256bf16/test_passing_unions.c: Ditto. + * gcc.target/x86_64/abi/bf16/m256bf16/test_varargs-m256.c: Ditto. + * gcc.target/x86_64/abi/bf16/m512bf16/abi-bf16-zmm.exp: Ditto. + * gcc.target/x86_64/abi/bf16/m512bf16/args.h: Ditto. + * gcc.target/x86_64/abi/bf16/m512bf16/asm-support.S: Ditto. + * gcc.target/x86_64/abi/bf16/m512bf16/bf16-zmm-check.h: Ditto. + * gcc.target/x86_64/abi/bf16/m512bf16/test_m512_returning.c: Ditto. + * gcc.target/x86_64/abi/bf16/m512bf16/test_passing_m512.c: Ditto. + * gcc.target/x86_64/abi/bf16/m512bf16/test_passing_structs.c: Ditto. + * gcc.target/x86_64/abi/bf16/m512bf16/test_passing_unions.c: Ditto. + * gcc.target/x86_64/abi/bf16/m512bf16/test_varargs-m512.c: Ditto. + * gcc.target/x86_64/abi/bf16/macros.h: Ditto. + * gcc.target/x86_64/abi/bf16/test_3_element_struct_and_unions.c: Ditto. + * gcc.target/x86_64/abi/bf16/test_basic_alignment.c: Ditto. + * gcc.target/x86_64/abi/bf16/test_basic_array_size_and_align.c: Ditto. + * gcc.target/x86_64/abi/bf16/test_basic_returning.c: Ditto. + * gcc.target/x86_64/abi/bf16/test_basic_sizes.c: Ditto. + * gcc.target/x86_64/abi/bf16/test_basic_struct_size_and_align.c: Ditto. + * gcc.target/x86_64/abi/bf16/test_basic_union_size_and_align.c: Ditto. + * gcc.target/x86_64/abi/bf16/test_m128_returning.c: Ditto. + * gcc.target/x86_64/abi/bf16/test_passing_floats.c: Ditto. + * gcc.target/x86_64/abi/bf16/test_passing_m128.c: Ditto. + * gcc.target/x86_64/abi/bf16/test_passing_structs.c: Ditto. + * gcc.target/x86_64/abi/bf16/test_passing_unions.c: Ditto. + * gcc.target/x86_64/abi/bf16/test_struct_returning.c: Ditto. + * gcc.target/x86_64/abi/bf16/test_varargs-m128.c: Ditto. + +2022-08-18 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/cpp/c11-warning-1.c, gcc.dg/cpp/c11-warning-2.c, + gcc.dg/cpp/c11-warning-3.c, gcc.dg/cpp/c11-warning-4.c, + gcc.dg/cpp/c2x-warning-1.c, gcc.dg/cpp/c2x-warning-2.c, + gcc.dg/cpp/gnu11-warning-1.c, gcc.dg/cpp/gnu11-warning-2.c, + gcc.dg/cpp/gnu11-warning-3.c, gcc.dg/cpp/gnu11-warning-4.c, + gcc.dg/cpp/gnu2x-warning-1.c, gcc.dg/cpp/gnu2x-warning-2.c: New + tests. + +2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * gcc.target/xtensa/sibcalls.c: Add a new test function to ensure + that registers for arguments (occupy from A2 to A7) and for indirect + sibcall (should be assigned to A8) neither conflict nor spill out. + +2022-08-18 Harald Anlauf <anlauf@gmx.de> + + Revert: + 2022-08-18 Harald Anlauf <anlauf@gmx.de> + + PR fortran/77652 + * gfortran.dg/associated_target_9a.f90: New test. + * gfortran.dg/associated_target_9b.f90: New test. + +2022-08-18 Tim Lange <mail@tim-lange.me> + + PR analyzer/106181 + * gcc.dg/analyzer/allocation-size-1.c: New test. + * gcc.dg/analyzer/imprecise-floating-point-1.c: New test. + * gcc.dg/analyzer/pr106181.c: New test. + +2022-08-18 Richard Biener <rguenther@suse.de> + + PR middle-end/106617 + * gcc.dg/pr106617.c: New testcase. + +2022-08-18 konglin1 <lingling.kong@intel.com> + + * g++.target/i386/vect-bfloat16-1.C: New test. + * gcc.target/i386/vect-bfloat16-1.c: New test. + * gcc.target/i386/vect-bfloat16-2a.c: New test. + * gcc.target/i386/vect-bfloat16-2b.c: New test. + * gcc.target/i386/vect-bfloat16-typecheck_1.c: New test. + * gcc.target/i386/vect-bfloat16-typecheck_2.c: New test. + +2022-08-18 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/103109 + * gcc.target/powerpc/pr103109.h: New. + * gcc.target/powerpc/pr103109-1.c: New. + * gcc.target/powerpc/pr103109-2.c: New. + +2022-08-18 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/tls-gd-noplt.c: New test. + +2022-08-17 Maciej W. Rozycki <macro@embecosm.com> + + * gcc.target/riscv/fmax-snan.c: Add `dg-require-effective-target + hard_float'. + * gcc.target/riscv/fmaxf-snan.c: Likewise. + * gcc.target/riscv/fmin-snan.c: Likewise. + * gcc.target/riscv/fminf-snan.c: Likewise. + +2022-08-17 Marek Polacek <polacek@redhat.com> + + PR c++/67906 + * g++.dg/cpp0x/Wredundant-move11.C: New test. + +2022-08-17 Marek Polacek <polacek@redhat.com> + + PR c++/90428 + * g++.dg/cpp0x/Wredundant-move1.C: Adjust dg-warning. + * g++.dg/cpp0x/Wredundant-move9.C: Likewise. + * g++.dg/cpp0x/Wredundant-move10.C: New test. + +2022-08-17 Marek Polacek <polacek@redhat.com> + + PR c++/89780 + * g++.dg/cpp0x/Wpessimizing-move3.C: Remove dg-warning. + * g++.dg/cpp0x/Wredundant-move2.C: Likewise. + * g++.dg/cpp0x/Wpessimizing-move9.C: New file. + +2022-08-17 Marek Polacek <polacek@redhat.com> + + PR c++/106276 + * g++.dg/cpp0x/Wpessimizing-move7.C: Add dg-warning. + * g++.dg/cpp0x/Wpessimizing-move8.C: New test. + +2022-08-17 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/106566 + * gfortran.dg/gomp/declare-simd-4.f90: New test. + * gfortran.dg/gomp/declare-simd-5.f90: New test. + * gfortran.dg/gomp/declare-simd-6.f90: New test. + +2022-08-17 Tobias Burnus <tobias@codesourcery.com> + Chung-Lin Tang <cltang@codesourcery.com> + + PR c++/104493 + * g++.dg/gomp/unmappable-1.C: Remove dg-error; remove dg-note no + longer shown as TYPE_MAIN_DECL is NULL. + * c-c++-common/gomp/map-incomplete-type.c: New test. + +2022-08-17 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/fmax-fmin.c: New test. + +2022-08-16 Jason Merrill <jason@redhat.com> + + * g++.dg/warn/Wstringop-overflow-4.C: Only xfail for C++98. + * g++.target/i386/bfloat_cpp_typecheck.C: Remove xfail. + +2022-08-16 Tom Honermann <tom@honermann.net> + + PR c++/106423 + * g++.dg/cpp0x/keywords2.C: New test. + * g++.dg/cpp2a/keywords2.C: New test. + +2022-08-16 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/_Float16-zfh-1.c: New. + * gcc.target/riscv/_Float16-zfh-2.c: Ditto. + * gcc.target/riscv/_Float16-zfh-3.c: Ditto. + * gcc.target/riscv/_Float16-zfhmin-1.c: Ditto. + * gcc.target/riscv/_Float16-zfhmin-2.c: Ditto. + * gcc.target/riscv/_Float16-zfhmin-3.c: Ditto. + * gcc.target/riscv/arch-16.c: Ditto. + * gcc.target/riscv/arch-17.c: Ditto. + * gcc.target/riscv/predef-21.c: Ditto. + * gcc.target/riscv/predef-22.c: Ditto. + +2022-08-16 Kito Cheng <kito.cheng@sifive.com> + + * g++.target/riscv/_Float16.C: New. + * gcc.target/riscv/_Float16-soft-1.c: Ditto. + * gcc.target/riscv/_Float16-soft-2.c: Ditto. + * gcc.target/riscv/_Float16-soft-3.c: Ditto. + * gcc.target/riscv/_Float16-soft-4.c: Ditto. + * gcc.target/riscv/_Float16.c: Ditto. + +2022-08-16 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp2a/volatile1.C: Adjust for de-deprecation of volatile + compound |=, &= and ^= operations. + * g++.dg/cpp2a/volatile3.C: Likewise. + * g++.dg/cpp2a/volatile5.C: Likewise. + +2022-08-16 Richard Biener <rguenther@suse.de> + + PR middle-end/106630 + * gcc.dg/torture/pr106630.c: New testcase. + +2022-08-16 Kewen.Lin <linkw@gcc.gnu.org> + + PR target/103353 + * gcc.target/powerpc/pr103353.c: New test. + +2022-08-16 Kewen Lin <linkw@linux.ibm.com> + + PR tree-optimization/106322 + * gcc.target/i386/pr106322.c: New test. + * gcc.target/powerpc/pr106322.c: New test. + +2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/106623 + * gdc.dg/torture/pr106623.d: New test. + +2022-08-15 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106626 + * gcc.dg/analyzer/out-of-bounds-read-char-arr.c: New test. + * gcc.dg/analyzer/out-of-bounds-read-int-arr.c: New test. + * gcc.dg/analyzer/out-of-bounds-write-char-arr.c: New test. + * gcc.dg/analyzer/out-of-bounds-write-int-arr.c: New test. + +2022-08-15 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106621 + * gcc.dg/pr106621.c + +2022-08-15 Immad Mir <mirimmad@outlook.com> + + PR analyzer/106551 + * gcc.dg/analyzer/fd-dup-1.c: New testcase. + +2022-08-15 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/sse4_1-stv-9.c: New test case. + +2022-08-15 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/64992 + * gcc.dg/pr64992.c: New test case. + +2022-08-15 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/71343 + * gcc.dg/pr71343-1.c: New test case. + +2022-08-15 Nathan Sidwell <nathan@acm.org> + + * g++.dg/modules/loc-prune-4.C: Adjust regexp + +2022-08-15 Marek Polacek <polacek@redhat.com> + + PR c++/106276 + * g++.dg/cpp0x/Wpessimizing-move7.C: New test. + +2022-08-15 Alexandre Oliva <oliva@adacore.com> + + * g++.dg/abi/anon1.C: Disable pie on ia32. + * g++.dg/abi/anon4.C: Likewise. + * g++.dg/cpp0x/initlist-const1.C: Likewise. + * g++.dg/no-stack-protector-attr-3.C: Likewise. + * g++.dg/stackprotectexplicit2.C: Likewise. + * g++.dg/pr71694.C: Likewise. + * gcc.dg/pr102892-1.c: Likewise. + * gcc.dg/sibcall-11.c: Likewise. + * gcc.dg/torture/builtin-self.c: Likewise. + * gcc.target/i386/avx2-dest-false-dep-for-glc.c: Likewise. + * gcc.target/i386/avx512bf16-cvtsbh2ss-1.c: Likewise. + * gcc.target/i386/avx512f-broadcast-pr87767-1.c: Likewise. + * 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/avx512fp16-broadcast-1.c: Likewise. + * gcc.target/i386/avx512fp16-pr101846.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/pr100865-2.c: Likewise. + * gcc.target/i386/pr100865-3.c: Likewise. + * gcc.target/i386/pr100865-4a.c: Likewise. + * gcc.target/i386/pr100865-4b.c: Likewise. + * gcc.target/i386/pr100865-5a.c: Likewise. + * gcc.target/i386/pr100865-5b.c: Likewise. + * gcc.target/i386/pr100865-6a.c: Likewise. + * gcc.target/i386/pr100865-6b.c: Likewise. + * gcc.target/i386/pr100865-6c.c: Likewise. + * gcc.target/i386/pr100865-7b.c: Likewise. + * gcc.target/i386/pr101796-1.c: Likewise. + * gcc.target/i386/pr101846-2.c: Likewise. + * gcc.target/i386/pr101989-broadcast-1.c: Likewise. + * gcc.target/i386/pr102021.c: Likewise. + * gcc.target/i386/pr90773-17.c: Likewise. + * gcc.target/i386/pr54855-3.c: Likewise. + * gcc.target/i386/pr54855-7.c: Likewise. + * gcc.target/i386/pr15184-1.c: Likewise. + * gcc.target/i386/pr15184-2.c: Likewise. + * gcc.target/i386/pr27971.c: Likewise. + * gcc.target/i386/pr70263-2.c: Likewise. + * gcc.target/i386/pr78035.c: Likewise. + * gcc.target/i386/pr81736-5.c: Likewise. + * gcc.target/i386/pr81736-7.c: Likewise. + * gcc.target/i386/pr85620-6.c: Likewise. + * gcc.target/i386/pr85667-6.c: Likewise. + * gcc.target/i386/pr93492-5.c: Likewise. + * gcc.target/i386/pr96539.c: Likewise. + PR target/81708 (%gs:my_guard) + * gcc.target/i386/stack-prot-sym.c: Likewise. + * g++.dg/init/static-cdtor1.C: Add alternate patterns for PIC. + * gcc.target/i386/avx512fp16-vcvtsh2si-1a.c: Extend patterns + for PIC/PIE register allocation. + * gcc.target/i386/pr100704-3.c: Likewise. + * gcc.target/i386/avx512fp16-vcvtsh2usi-1a.c: Likewise. + * gcc.target/i386/avx512fp16-vcvttsh2si-1a.c: Likewise. + * gcc.target/i386/avx512fp16-vcvttsh2usi-1a.c: Likewise. + * gcc.target/i386/avx512fp16-vmovsh-1a.c: Likewise. + * gcc.target/i386/interrupt-11.c: Likewise, allowing for + preservation of the PIC register. + * gcc.target/i386/interrupt-12.c: Likewise. + * gcc.target/i386/interrupt-13.c: Likewise. + * gcc.target/i386/interrupt-15.c: Likewise. + * gcc.target/i386/interrupt-16.c: Likewise. + * gcc.target/i386/interrupt-17.c: Likewise. + * gcc.target/i386/interrupt-8.c: Likewise. + * gcc.target/i386/cet-sjlj-6a.c: Combine patterns from + previous change. + * gcc.target/i386/cet-sjlj-6b.c: Likewise. + * gcc.target/i386/pad-10.c: Accept insns in get_pc_thunk. + * gcc.target/i386/pr70321.c: Likewise. + * gcc.target/i386/pr81563.c: Likewise. + * gcc.target/i386/pr84278.c: Likewise. + * gcc.target/i386/pr90773-2.c: Likewise, plus extra loads from + the GOT. + * gcc.target/i386/pr90773-3.c: Likewise. + * gcc.target/i386/pr94913-2.c: Accept additional PIC insns. + * gcc.target/i386/stack-check-17.c: Likewise. + * gcc.target/i386/stack-check-12.c: Do not require dummy stack + probing obviated with PIC. + * gcc.target/i386/pr95126-m32-1.c: Expect missed optimization + with PIC. + * gcc.target/i386/pr95126-m32-2.c: Likewise. + * gcc.target/i386/pr95852-2.c: Accept different optimization + with PIC. + * gcc.target/i386/pr95852-4.c: Likewise. + +2022-08-15 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/106590 + * gcc.dg/torture/pr106590.c: New test. + +2022-08-15 konglin1 <lingling.kong@intel.com> + + * g++.target/i386/bfloat_cpp_typecheck.C: New test. + * gcc.target/i386/bfloat16-1.c: Ditto. + * gcc.target/i386/sse2-bfloat16-1.c: Ditto. + * gcc.target/i386/sse2-bfloat16-2.c: Ditto. + * gcc.target/i386/sse2-bfloat16-scalar-typecheck.c: Ditto. + +2022-08-13 Tim Lange <mail@tim-lange.me> + + * gcc.dg/analyzer/torture/pr93451.c: + Disable Wanalyzer-out-of-bounds. + +2022-08-12 Jan Hubicka <hubicka@ucw.cz> + + PR middle-end/106057 + * g++.dg/tree-ssa/pr101839.C: New test. + +2022-08-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106506 + * g++.dg/opt/pr94589-2.C: New test. + +2022-08-12 Tamar Christina <tamar.christina@arm.com> + + PR target/106524 + * gcc.target/aarch64/sve/pr106524.c: New test. + +2022-08-12 Tim Lange <mail@tim-lange.me> + + PR analyzer/106000 + * g++.dg/analyzer/pr100244.C: Disable out-of-bounds warning. + * gcc.dg/analyzer/allocation-size-3.c: + Disable out-of-bounds warning. + * gcc.dg/analyzer/memcpy-2.c: Disable out-of-bounds warning. + * gcc.dg/analyzer/pr101962.c: Add dg-warning. + * gcc.dg/analyzer/pr96764.c: Disable out-of-bounds warning. + * gcc.dg/analyzer/pr97029.c: + Add dummy buffer to prevent an out-of-bounds warning. + * gcc.dg/analyzer/realloc-5.c: Add dg-warning. + * gcc.dg/analyzer/test-setjmp.h: + Add dummy buffer to prevent an out-of-bounds warning. + * gcc.dg/analyzer/zlib-3.c: Add dg-bogus. + * g++.dg/analyzer/out-of-bounds-placement-new.C: New test. + * gcc.dg/analyzer/out-of-bounds-1.c: New test. + * gcc.dg/analyzer/out-of-bounds-2.c: New test. + * gcc.dg/analyzer/out-of-bounds-3.c: New test. + * gcc.dg/analyzer/out-of-bounds-container_of.c: New test. + * gcc.dg/analyzer/out-of-bounds-coreutils.c: New test. + * gcc.dg/analyzer/out-of-bounds-curl.c: New test. + +2022-08-12 Tim Lange <mail@tim-lange.me> + + PR analyzer/106539 + * gcc.dg/analyzer/pr106539.c: New test. + * gcc.dg/analyzer/realloc-5.c: New test. + +2022-08-11 David Edelsohn <dje.gcc@gmail.com> + + * gcc.dg/analyzer/fd-4.c: Define _MODE_T on AIX. + +2022-08-11 David Edelsohn <dje.gcc@gmail.com> + + * g++.dg/cpp0x/initlist-const1.C: XFAIL on AIX. + +2022-08-11 Immad Mir <mirimmad@outlook.com> + + * gcc.dg/analyzer/fd-dup-1.c: New testcases. + * gcc.dg/analyzer/fd-uninit-1.c: Remove bogus + warning. + +2022-08-11 Marek Polacek <polacek@redhat.com> + + PR middle-end/102633 + * c-c++-common/Winit-self1.c: New test. + * c-c++-common/Winit-self2.c: New test. + +2022-08-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106514 + * gcc.dg/tree-ssa/ssa-thread-19.c: Un-XFAIL. + * gcc.dg/tree-ssa/ssa-thread-20.c: New testcase. + +2022-08-11 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106243 + * gcc.dg/pr106243.c: Add -Wno-psabi to dg-options. + * gcc.dg/pr106243-1.c: Likewise. + +2022-08-11 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104992 + * gcc.dg/pr104992.c: Add -Wno-psabi to dg-options. + * g++.dg/pr104992-1.C: Likewise. Add space between " and } in + dg-options. + +2022-08-11 Richard Biener <rguenther@suse.de> + + * gcc.dg/tree-ssa/ssa-thread-18.c: New testcase. + * gcc.dg/tree-ssa/ssa-thread-19.c: Likewise, but XFAILed. + +2022-08-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106513 + * gcc.dg/torture/pr106513.c: New testcase. + +2022-08-10 Roger Sayle <roger@nextmovesoftware.com> + + PR other/106575 + * gcc.dg/fold-eqandshift-4.c: Use "signed char" explicitly. + +2022-08-09 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106573 + * gcc.dg/analyzer/error-uninit.c: New test. + * gcc.dg/analyzer/fd-uninit-1.c: New test. + * gcc.dg/analyzer/file-uninit-1.c: New test. + +2022-08-09 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/sse4_1-stv-8.c: New test case. + +2022-08-09 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR middle-end/21137 + PR tree-optimization/98954 + * gcc.dg/fold-eqandshift-4.c: New test case. + +2022-08-09 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/106563 + * gdc.dg/torture/torture.exp (srcdir): New proc. + * gdc.dg/torture/imports/pr106563math.d: New test. + * gdc.dg/torture/imports/pr106563regex.d: New test. + * gdc.dg/torture/imports/pr106563uni.d: New test. + * gdc.dg/torture/pr106563.d: New test. + +2022-08-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106514 + * gcc.dg/tree-ssa/ssa-thread-16.c: New testcase. + * gcc.dg/tree-ssa/ssa-thread-17.c: Likewise. + * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust. + +2022-08-09 Tobias Burnus <tobias@codesourcery.com> + + PR middle-end/106492 + * g++.dg/gomp/pr106492.C: New test. + +2022-08-08 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106556 + * gfortran.dg/pr106556.f90: New. + +2022-08-08 Tom Honermann <tom@honermann.net> + + PR preprocessor/106426 + * g++.dg/ext/char8_t-char-literal-1.C: Check signedness of u8 literals. + * g++.dg/ext/char8_t-char-literal-2.C: Check signedness of u8 literals. + +2022-08-08 Tom Honermann <tom@honermann.net> + + * gcc.dg/atomic/c2x-stdatomic-lockfree-char8_t.c: New test. + * gcc.dg/atomic/gnu2x-stdatomic-lockfree-char8_t.c: New test. + * gcc.dg/c11-utf8str-type.c: New test. + * gcc.dg/c17-utf8str-type.c: New test. + * gcc.dg/c2x-utf8str-type.c: New test. + * gcc.dg/c2x-utf8str.c: New test. + * gcc.dg/gnu2x-utf8str-type.c: New test. + * gcc.dg/gnu2x-utf8str.c: New test. + +2022-08-08 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/106555 + * gdc.dg/imports/pr106555.d: New test. + * gdc.dg/pr106555.d: New test. + +2022-08-08 Andrew Pinski <apinski@marvell.com> + + * gcc.dg/pr87052.c: Update d var to expect nothing. + +2022-08-08 Andrew Pinski <apinski@marvell.com> + + * gcc.dg/tree-ssa/pr93776.c: Moved to... + * gcc.c-torture/compile/pr93776.c: ...here. + +2022-08-07 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/cmpti2.c: Add -mno-stv to dg-options. + +2022-08-07 Jakub Jelinek <jakub@redhat.com> + + PR c++/88174 + * g++.dg/cpp1y/constexpr-complex1.C: New test. + +2022-08-07 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/cmpti1.c: New test case. + * gcc.target/i386/cmpti2.c: Likewise. + * gcc.target/i386/cmpti3.c: Likewise. + +2022-08-05 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105947 + * gcc.dg/analyzer/function-ptr-5.c: New test. + +2022-08-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106533 + * gcc.dg/tree-ssa/ldist-39.c: New testcase. + +2022-08-05 Haochen Gui <guihaoc@gcc.gnu.org> + + * lib/target-supports.exp (check_p9modulo_hw_available): Correct return + value. + +2022-08-04 Tamar Christina <tamar.christina@arm.com> + + * gcc.dg/subnot.c: New test. + +2022-08-04 Tamar Christina <tamar.christina@arm.com> + + PR middle-end/106519 + * gcc.dg/pr106519.c: New test. + +2022-08-04 Sam Feifer <sfeifer@redhat.com> + + PR tree-optimization/106243 + * gcc.dg/pr106243-1.c: New test. + * gcc.dg/pr106243.c: New test. + +2022-08-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106521 + * gcc.dg/torture/pr106521.c: New testcase. + +2022-08-03 Jose E. Marchesi <jose.marchesi@oracle.com> + + PR testsuite/106515 + * gcc.dg/debug/btf/btf-int-1.c: Fix regexps in + scan-assembler-times. + +2022-08-03 Tamar Christina <tamar.christina@arm.com> + + * gcc.dg/tree-ssa/split-path-1.c: Disable phi-opts so we don't optimize + code away. + * gcc.dg/tree-ssa/minmax-10.c: New test. + * gcc.dg/tree-ssa/minmax-11.c: New test. + * gcc.dg/tree-ssa/minmax-12.c: New test. + * gcc.dg/tree-ssa/minmax-13.c: New test. + * gcc.dg/tree-ssa/minmax-14.c: New test. + * gcc.dg/tree-ssa/minmax-15.c: New test. + * gcc.dg/tree-ssa/minmax-16.c: New test. + * gcc.dg/tree-ssa/minmax-3.c: New test. + * gcc.dg/tree-ssa/minmax-4.c: New test. + * gcc.dg/tree-ssa/minmax-5.c: New test. + * gcc.dg/tree-ssa/minmax-6.c: New test. + * gcc.dg/tree-ssa/minmax-7.c: New test. + * gcc.dg/tree-ssa/minmax-8.c: New test. + * gcc.dg/tree-ssa/minmax-9.c: New test. + +2022-08-03 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + PR target/47949 + * gcc.target/i386/pr47949.c: New test case. + +2022-08-03 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/sse4_1-stv-7.c: New test case. + +2022-08-02 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106510 + * gcc.dg/pr106510.c: New. + +2022-08-02 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/vrp-float-1.c: Adjust test so it passes. + +2022-08-02 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106474 + * g++.dg/pr106474.C: New. + +2022-08-02 Jose E. Marchesi <jose.marchesi@oracle.com> + + * gcc.dg/debug/btf/btf-int-1.c: Do not check for char bits in + bti_encoding and check for bool bits. + +2022-08-02 Immad Mir <mirimmad@outlook.com> + + PR analyzer/106298 + * gcc.dg/analyzer/fd-1.c: Add tests for 'creat'. + * gcc.dg/analyzer/fd-2.c: Likewise. + * gcc.dg/analyzer/fd-4.c: Likewise. + * gcc.dg/analyzer/fd-dup-1.c: New tests. + +2022-08-02 Aldy Hernandez <aldyh@redhat.com> + + * g++.dg/opt/pr94589-2.C: XFAIL. + * gcc.dg/tree-ssa/vrp-float-1.c: New test. + * gcc.dg/tree-ssa/vrp-float-11.c: New test. + * gcc.dg/tree-ssa/vrp-float-3.c: New test. + * gcc.dg/tree-ssa/vrp-float-4.c: New test. + * gcc.dg/tree-ssa/vrp-float-6.c: New test. + * gcc.dg/tree-ssa/vrp-float-7.c: New test. + * gcc.dg/tree-ssa/vrp-float-8.c: New test. + +2022-08-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106497 + * gcc.dg/torture/pr106497.c: New testcase. + +2022-08-01 David Malcolm <dmalcolm@redhat.com> + + * gcc.target/i386/addr-space-typeck-1.c: New test. + * gcc.target/i386/addr-space-typeck-2.c: New test. + +2022-08-01 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + PR target/106481 + * gcc.target/i386/pr106481.c: New test case. + +2022-08-01 H.J. Lu <hjl.tools@gmail.com> + + PR target/83782 + * gcc.target/i386/pr83782-1.c: Require non-ia32. + * gcc.target/i386/pr83782-2.c: Likewise. + * gcc.target/i386/pr83782-3.c: New test. + +2022-08-01 Jose E. Marchesi <jose.marchesi@oracle.com> + + PR debug/106263 + * gcc.dg/debug/btf/btf-function-4.c: New test. + * gcc.dg/debug/btf/btf-function-5.c: Likewise. + +2022-08-01 Sam Feifer <sfeifer@redhat.com> + + PR tree-optimization/104992 + * g++.dg/pr104992-1.C: New test. + * gcc.dg/pr104992.c: New test. + +2022-07-31 Roger Sayle <roger@nextmovesoftware.com> + H.J. Lu <hjl.tools@gmail.com> + + PR target/106450 + * gcc.target/i386/pr106450.c: New test case. + +2022-07-31 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/92805 + * gfortran.dg/literal_constants.f: New test. + * gfortran.dg/literal_constants.f90: New test. + +2022-07-31 Harald Anlauf <anlauf@gmx.de> + + PR fortran/77652 + * gfortran.dg/associated_target_9a.f90: New test. + * gfortran.dg/associated_target_9b.f90: New test. + +2022-07-31 Lewis Hyatt <lhyatt@gmail.com> + + PR c++/66290 + * c-c++-common/pragma-diag-15.c: Remove xfail for C++. + +2022-07-31 Jason Merrill <jason@redhat.com> + + PR c++/106369 + * g++.dg/cpp1z/constexpr-lambda27.C: New test. + +2022-07-29 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/declare-simd-3.f90: New test. + +2022-07-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106422 + * gcc.dg/torture/pr106422.c: New testcase. + +2022-07-29 Jakub Jelinek <jakub@redhat.com> + + PR c++/106448 + * c-c++-common/gomp/atomic-32.c: New test. + +2022-07-28 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105893 + * gcc.dg/analyzer/putenv-1.c: New test. + +2022-07-28 Maciej W. Rozycki <macro@embecosm.com> + + * gcc.target/riscv/fle-ieee.c: New test. + * gcc.target/riscv/fle-snan.c: New test. + * gcc.target/riscv/fle.c: New test. + * gcc.target/riscv/flef-ieee.c: New test. + * gcc.target/riscv/flef-snan.c: New test. + * gcc.target/riscv/flef.c: New test. + * gcc.target/riscv/flt-ieee.c: New test. + * gcc.target/riscv/flt-snan.c: New test. + * gcc.target/riscv/flt.c: New test. + * gcc.target/riscv/fltf-ieee.c: New test. + * gcc.target/riscv/fltf-snan.c: New test. + * gcc.target/riscv/fltf.c: New test. + +2022-07-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106099 + * gcc.dg/ubsan/pr106099.c: New test. + +2022-07-27 Lewis Hyatt <lhyatt@gmail.com> + + * c-c++-common/pragma-diag-14.c: New test. + * c-c++-common/pragma-diag-15.c: New test. + +2022-07-27 Immad Mir <mirimmad@outlook.com> + + PR analyzer/106286 + * gcc.dg/analyzer/fd-meaning.c: New test. + +2022-07-27 Jakub Jelinek <jakub@redhat.com> + + PR debug/106261 + * g++.dg/debug/pr106261.C: New test. + +2022-07-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/94920 + * g++.dg/pr94920.C: Add -Wno-psabi to dg-options. + * g++.dg/pr94920-1.C: Add dg-additional-options -Wno-psabi. + +2022-07-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106397 + * gcc.dg/pr106397.c: For ia32, add dg-additional-options + -march=i686 -msse. + +2022-07-26 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106319 + * gcc.dg/analyzer/stdarg-types-3.c: New test. + * gcc.dg/analyzer/stdarg-types-4.c: New test. + +2022-07-26 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103504 + * gfortran.dg/pr103504.f90: New test. + +2022-07-26 Peter Bergner <bergner@linux.ibm.com> + + PR c/106016 + * gcc.target/powerpc/pr106016.c: New test. + +2022-07-26 Marek Polacek <polacek@redhat.com> + + PR c++/106311 + * g++.dg/template/redecl5.C: New test. + +2022-07-26 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/106444 + * gcc.dg/tree-ssa/evrp4.c: Adjust. + +2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com> + + * gcc.target/aarch64/advsimd-intrinsics/combine.c: + New test. + +2022-07-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106189 + * gcc.dg/pr106189.c: New testcase. + +2022-07-26 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/func-call-1.c: Add build option '-mno-explicit-relocs'. + * gcc.target/loongarch/func-call-2.c: Add build option '-mno-explicit-relocs'. + * gcc.target/loongarch/func-call-3.c: Add build option '-mno-explicit-relocs'. + * gcc.target/loongarch/func-call-4.c: Add build option '-mno-explicit-relocs'. + * gcc.target/loongarch/func-call-5.c: New test. + * gcc.target/loongarch/func-call-6.c: New test. + * gcc.target/loongarch/func-call-7.c: New test. + * gcc.target/loongarch/func-call-8.c: New test. + * gcc.target/loongarch/relocs-symbol-noaddend.c: New test. + +2022-07-26 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/func-call-1.c: New test. + * gcc.target/loongarch/func-call-2.c: New test. + * gcc.target/loongarch/func-call-3.c: New test. + * gcc.target/loongarch/func-call-4.c: New test. + +2022-07-26 Kewen Lin <linkw@linux.ibm.com> + + PR target/106091 + * gcc.target/powerpc/pr106091.c: New test. + +2022-07-26 Jason Merrill <jason@redhat.com> + + PR c++/106230 + * g++.dg/cpp0x/range-for38.C: New test. + +2022-07-25 Martin Liska <mliska@suse.cz> + + * gcc.dg/analyzer/fd-2.c: Convert Windows endlines to Unix + style. + * gcc.dg/analyzer/fd-3.c: Likewise. + * gcc.dg/analyzer/fd-4.c: Likewise. + * gcc.dg/analyzer/fd-5.c: Likewise. + * c-c++-common/attr-fd.c: Likewise. + +2022-07-25 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + PR target/91681 + * g++.target/i386/pr91681.C: New test case (from the PR). + * gcc.target/i386/pr91681-1.c: New int128 test case. + * gcc.target/i386/pr91681-2.c: Likewise. + * gcc.target/i386/pr91681-3.c: Likewise, but for ia32. + +2022-07-25 Jason Merrill <jason@redhat.com> + + PR c++/87729 + * g++.dg/warn/Woverloaded-virt4.C: New test. + +2022-07-25 Richard Biener <rguenther@suse.de> + + PR middle-end/106414 + * gcc.dg/torture/pr106414-1.c: New testcase. + * gcc.dg/torture/pr106414-2.c: Likewise. + +2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.target/aarch64/acle/data-intrinsics.c: New test. + +2022-07-25 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp0x/nsdmi-union7.C: Fix PR number. + +2022-07-24 Roger Sayle <roger@nextmovesoftware.com> + H.J. Lu <hjl.tools@gmail.com> + + PR target/106303 + PR target/106347 + * gcc.target/i386/pr106303.c: New test case. + * gcc.target/i386/pr106347.c: New test case. + +2022-07-23 Immad Mir <mirimmad@outlook.com> + + * gcc.dg/analyzer/fd-5.c: New test. + * gcc.dg/analyzer/fd-4.c: Remove quotes around 'read-only' and + 'write-only'. + * c-c++-common/attr-fd.c: New test. + +2022-07-22 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106413 + * gcc.dg/analyzer/torture/stdarg-4.c: New test. + +2022-07-22 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106401 + * gcc.dg/analyzer/memcpy-2.c: New test. + +2022-07-22 Patrick Palka <ppalka@redhat.com> + + PR c++/106366 + * g++.dg/cpp1z/class-deduction112.C: New test. + +2022-07-22 Tim Lange <mail@tim-lange.me> + + PR analyzer/106394 + * gcc.dg/analyzer/pr106394.c: New test. + +2022-07-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106397 + * gcc.dg/pr106397.c: New testcase. + +2022-07-22 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/106010 + * gcc.dg/pr23911.c: Scan IMAGPART/REALPART_EXPR = ** instead + of __complex__ since COMPLEX_CST is lower to scalars. + +2022-07-22 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr106038-1.c: New test. + +2022-07-21 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106383 + * gcc.dg/analyzer/stdarg-3.c: New test. + +2022-07-21 Sam Feifer <sfeifer@redhat.com> + + PR tree-optimization/94920 + * g++.dg/pr94920-1.C: New test. + * g++.dg/pr94920.C: New test. + * gcc.dg/pr94920-2.c: New test. + +2022-07-21 Jason Merrill <jason@redhat.com> + + PR c++/106361 + * g++.dg/cpp2a/spaceship-eq14.C: New test. + +2022-07-21 Jason Merrill <jason@redhat.com> + + DR 2084 + PR c++/94823 + * g++.dg/cpp0x/nsdmi-union7.C: New test. + +2022-07-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106379 + * gcc.dg/pr106379-1.c: New testcase. + +2022-07-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106365 + * gcc.target/i386/vec-maskstore-vn.c: New testcase. + +2022-07-21 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106374 + * gcc.dg/analyzer/untracked-2.c: New test. + +2022-07-20 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106373 + * gcc.dg/analyzer/torture/taint-read-index-3.c: New test. + +2022-07-20 Harald Anlauf <anlauf@gmx.de> + + PR fortran/101330 + * gfortran.dg/gomp/affinity-clause-7.f90: New test. + +2022-07-20 liuhongt <hongtao.liu@intel.com> + + * gcc.dg/pow-sqrt-synth-1.c: Adjust testcase. + +2022-07-20 Richard Biener <richard.guenther@gmail.com> + Hongtao Liu <hongtao.liu@intel.com> + + * gcc.target/i386/pr106010-1a.c: New test. + * gcc.target/i386/pr106010-1b.c: New test. + * gcc.target/i386/pr106010-1c.c: New test. + * gcc.target/i386/pr106010-2a.c: New test. + * gcc.target/i386/pr106010-2b.c: New test. + * gcc.target/i386/pr106010-2c.c: New test. + * gcc.target/i386/pr106010-3a.c: New test. + * gcc.target/i386/pr106010-3b.c: New test. + * gcc.target/i386/pr106010-3c.c: New test. + * gcc.target/i386/pr106010-4a.c: New test. + * gcc.target/i386/pr106010-4b.c: New test. + * gcc.target/i386/pr106010-4c.c: New test. + * gcc.target/i386/pr106010-5a.c: New test. + * gcc.target/i386/pr106010-5b.c: New test. + * gcc.target/i386/pr106010-5c.c: New test. + * gcc.target/i386/pr106010-6a.c: New test. + * gcc.target/i386/pr106010-6b.c: New test. + * gcc.target/i386/pr106010-6c.c: New test. + * gcc.target/i386/pr106010-7a.c: New test. + * gcc.target/i386/pr106010-7b.c: New test. + * gcc.target/i386/pr106010-7c.c: New test. + * gcc.target/i386/pr106010-8a.c: New test. + * gcc.target/i386/pr106010-8b.c: New test. + * gcc.target/i386/pr106010-8c.c: New test. + * gcc.target/i386/pr106010-9a.c: New test. + * gcc.target/i386/pr106010-9b.c: New test. + * gcc.target/i386/pr106010-9c.c: New test. + * gcc.target/i386/pr106010-9d.c: New test. + +2022-07-19 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103590 + * gfortran.dg/associate_54.f90: Adjust. + * gfortran.dg/associate_59.f90: New test. + +2022-07-19 Patrick Palka <ppalka@redhat.com> + + PR c++/94894 + PR c++/105766 + PR c++/106201 + * g++.dg/conversion/ref8.C: New test. + * g++.dg/conversion/ref9.C: New test. + +2022-07-19 Alexander Monakov <amonakov@ispras.ru> + + * gcc.dg/setjmp-7.c: New test. + +2022-07-19 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106321 + * gcc.dg/analyzer/torture/taint-read-index-2.c: Add test coverage + for switch statements. + +2022-07-19 Richard Biener <rguenther@suse.de> + + PR middle-end/106331 + * gfortran.dg/pr106331.f90: New testcase. + +2022-07-19 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR c/106264 + * gcc.dg/pr106264.c: New test case. + +2022-07-18 Richard Biener <rguenther@suse.de> + + * gcc.dg/tree-ssa/ldist-24.c: XFAIL. + * gcc.dg/tree-ssa/ldist-36.c: Adjust expected outcome. + +2022-07-18 Richard Sandiford <richard.sandiford@arm.com> + + PR target/106253 + * gcc.target/arm/vect_unary_1.c: New test. + * gcc.target/arm/vect_binary_1.c: Likewise. + +2022-07-18 Claudiu Zissulescu <claziss@gmail.com> + + * gcc.target/arc/interrupt-13.c: New file. + +2022-07-18 Roger Sayle <roger@nextmovesoftware.com> + + PR target/106231 + * gcc.target/i386/pr106231-1.c: New test case. + * gcc.target/i386/pr106231-2.c: New test case. + +2022-07-15 H.J. Lu <hjl.tools@gmail.com> + + PR target/85620 + * gcc.target/i386/pr85620-2.c: Updated. + * gcc.target/i386/pr85620-5.c: New test. + * gcc.target/i386/pr85620-6.c: Likewise. + * gcc.target/i386/pr85620-7.c: Likewise. + +2022-07-15 Roger Sayle <roger@nextmovesoftware.com> + + PR target/106273 + * gcc.target/i386/pr106273.c: New test case. + +2022-07-15 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/104313 + * gfortran.dg/pr104313.f: New test. + +2022-07-15 Marek Polacek <polacek@redhat.com> + + PR c++/104477 + * g++.dg/ext/reference_constructs_from_temporary1.C: New test. + * g++.dg/ext/reference_converts_from_temporary1.C: New test. + +2022-07-15 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106284 + * gcc.dg/analyzer/torture/taint-read-index-2.c: New test. + +2022-07-15 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.dg/pr106278.c: New test case. + +2022-07-15 konglin1 <lingling.kong@intel.com> + + PR target/106113 + * gcc.target/i386/avx-vcomisd-pr106113-2.c: New test. + * gcc.target/i386/avx-vcomiss-pr106113-2.c: Ditto. + * gcc.target/i386/avx-vucomisd-pr106113-2.c: Ditto. + * gcc.target/i386/avx-vucomiss-pr106113-2.c: Ditto. + * gcc.target/i386/sse-comiss-pr106113-1.c: Ditto. + * gcc.target/i386/sse-comiss-pr106113-2.c: Ditto. + * gcc.target/i386/sse-ucomiss-pr106113-1.c: Ditto. + * gcc.target/i386/sse-ucomiss-pr106113-2.c: Ditto. + * gcc.target/i386/sse2-comisd-pr106113-1.c: Ditto. + * gcc.target/i386/sse2-comisd-pr106113-2.c: Ditto. + * gcc.target/i386/sse2-ucomisd-pr106113-1.c: Ditto. + * gcc.target/i386/sse2-ucomisd-pr106113-2.c: Ditto. + +2022-07-14 H.J. Lu <hjl.tools@gmail.com> + + PR tree-optimization/103798 + * c-c++-common/pr103798-1.c: New test. + * c-c++-common/pr103798-2.c: Likewise. + * c-c++-common/pr103798-3.c: Likewise. + * c-c++-common/pr103798-4.c: Likewise. + * c-c++-common/pr103798-5.c: Likewise. + * c-c++-common/pr103798-6.c: Likewise. + * c-c++-common/pr103798-7.c: Likewise. + * c-c++-common/pr103798-8.c: Likewise. + * c-c++-common/pr103798-9.c: Likewise. + * c-c++-common/pr103798-10.c: Likewise. + +2022-07-14 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/106209 + * gfortran.dg/pr106209.f90: New test. + +2022-07-14 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/opt98.ads, gnat.dg/opt98.adb: New test. + +2022-07-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * gcc.target/xtensa/constsynth_double.c: + Modify in order to catch the issue. + +2022-07-13 Patrick Palka <ppalka@redhat.com> + + PR c++/105912 + * g++.dg/cpp2a/consteval31.C: New test. + +2022-07-13 Patrick Palka <ppalka@redhat.com> + + PR c++/105842 + * g++.dg/cpp2a/concepts-memtmpl6.C: New test. + +2022-07-13 Aldy Hernandez <aldyh@redhat.com> + + * g++.dg/ipa/pure-const-3.C: Adjust. + * gcc.dg/pr102983.c: Adjust. + +2022-07-13 Andrew Carlotti <andrew.carlotti@arm.com> + + * gcc.target/aarch64/advsimd-intrinsics/ignored_return_1.c: New test. + +2022-07-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106249 + * gcc.dg/pr106249.c: New testcase. + +2022-07-12 Harald Anlauf <anlauf@gmx.de> + + PR fortran/106049 + * gfortran.dg/pack_simplify_1.f90: New test. + +2022-07-12 Richard Sandiford <richard.sandiford@arm.com> + + PR target/106253 + * gcc.target/aarch64/vect_unary_1.c: Add tests for iroundf, + llround, iceilf, llceil, ifloorf, llfloor, irintf and llrint. + * gfortran.dg/vect/pr106253.f: New test. + +2022-07-12 Piotr Trojanek <trojanek@adacore.com> + + * gnat.dg/specs/discr5.ads: Expect new warnings. + * gnat.dg/specs/empty_variants.ads: Likewise. + * gnat.dg/specs/pack13.ads: Likewise. + +2022-07-12 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/vect_unary_1.c: New test. + +2022-07-12 Alexandre Oliva <oliva@adacore.com> + + * gcc.target/i386/cet-sjlj-6a.c: Cope with --enable-default-pie. + * gcc.target/i386/cet-sjlj-6b.c: Likewise. + * gcc.target/i386/fentryname3.c: Likewise. + * gcc.target/i386/mvc7.c: Likewise. + * gcc.target/i386/pr24414.c: Likewise. + * gcc.target/i386/pr93492-3.c: Likewise. + * gcc.target/i386/pr93492-5.c: Likewise. + * gcc.target/i386/pr98482-1.c: Likewise. + +2022-07-11 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/sse4_1-stv-2.c: New test case, pand. + * gcc.target/i386/sse4_1-stv-3.c: New test case, por. + * gcc.target/i386/sse4_1-stv-4.c: New test case, pxor. + * gcc.target/i386/sse4_1-stv-5.c: New test case, pandn. + * gcc.target/i386/sse4_1-stv-6.c: New test case, ptest. + +2022-07-11 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/106250 + * gcc.dg/vect/pr106250.c: New file. + +2022-07-11 Thomas Schwinge <thomas@codesourcery.com> + + * c-c++-common/gomp/pragma-3.c: Enhance '_Pragma' diagnostics + verification. + * c-c++-common/gomp/pragma-5.c: Likewise. + +2022-07-11 Richard Biener <rguenthert@suse.de> + + PR target/105459 + * gcc.dg/lto/pr105459_0.c: New testcase. + +2022-07-10 Lewis Hyatt <lhyatt@gmail.com> + + PR preprocessor/97498 + * c-c++-common/pr97498.c: New test. + * c-c++-common/gomp/pragma-3.c: Adapt for improved warning locations. + * c-c++-common/gomp/pragma-5.c: Likewise. + * gcc.dg/pragma-message.c: Likewise. + +2022-07-10 Dimitar Dimitrov <dimitar@dinux.eu> + + PR tree-optimization/106063 + * gcc.dg/pr106063.c: Require effective target int128. + +2022-07-10 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/div-4.c: New test. + +2022-07-10 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/div-1.c: New test. + * gcc.target/loongarch/div-2.c: New test. + * gcc.target/loongarch/div-3.c: New test. + +2022-07-10 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/mulw_d_w.c: New test. + * gcc.c-torture/execute/mul-sext.c: New test. + +2022-07-09 Vit Kabele <vit.kabele@sysgo.com> + + * c-c++-common/Wpadded.c: New test. + +2022-07-09 Sam Feifer <sfeifer@redhat.com> + + PR tree-optimization/98304 + * gcc.c-torture/execute/pr98304-2.c: New test. + * gcc.dg/pr98304-1.c: New test. + +2022-07-09 Andrew Pinski <apinski@marvell.com> + + PR tree-optimization/106087 + * gcc.c-torture/compile/inline-asm-1.c: New test. + +2022-07-08 Martin Jambor <mjambor@suse.cz> + + PR testsuite/106216 + * gcc.dg/tree-ssa/alias-access-path-13.c (union foo): Replace a long + int field with a struct that is larger than an int also on 32bit + platforms. + +2022-07-08 Lewis Hyatt <lhyatt@gmail.com> + + PR preprocessor/91733 + * c-c++-common/pr91733.c: New test. + +2022-07-08 Martin Liska <mliska@suse.cz> + + PR sanitizer/106132 + * c-c++-common/hwasan/arguments-3.c: Cover new ICE. + +2022-07-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106226 + * gfortran.dg/pr106226.f: New testcase. + +2022-07-08 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/106063 + * gcc.dg/pr106063.c: New test. + +2022-07-08 Tamar Christina <tamar.christina@arm.com> + + * g++.target/aarch64/complex-init.C: New test. + +2022-07-08 Haochen Jiang <haochen.jiang@intel.com> + + PR target/106180 + * g++.target/i386/pr106180-1.C: New test. + +2022-07-08 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/prolog-opt.c: New test. + +2022-07-07 Patrick Palka <ppalka@redhat.com> + + PR c++/105956 + * g++.dg/cpp0x/variadic183.C: New test. + +2022-07-07 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106225 + * gcc.dg/analyzer/taint-divisor-1.c: Add test coverage for various + correct and incorrect checks against zero. + +2022-07-07 Jason Merrill <jason@redhat.com> + + PR c++/87729 + * g++.dg/warn/Woverloaded-virt3.C: New test. + +2022-07-07 Richard Biener <rguenther@suse.de> + + PR target/106219 + * g++.dg/pr106219.C: New testcase. + +2022-07-07 Jonathan Wakely <jwakely@redhat.com> + + * gcc.target/powerpc/ppc-fortran/pr80108-1.f90: Change + -mfloat128-type to -mfloat128. + +2022-07-06 Lewis Hyatt <lhyatt@gmail.com> + + PR preprocessor/53920 + PR c++/53431 + * c-c++-common/pragma-diag-11.c: New test. + * c-c++-common/pragma-diag-12.c: New test. + * c-c++-common/pragma-diag-13.c: New test. + +2022-07-06 Immad Mir <mirimmad@outlook.com> + + * gcc.dg/analyzer/fd-4.c: Add a new testcase to demonstrate + passsing of a closed file descriptor to a function that does + not emit any warning. + +2022-07-06 Immad Mir <mirimmad@outlook.com> + + * gcc.dg/analyzer/fd-4.c (test_3): change the message note to conform to the + changes in analyzer/sm-fd.cc + (test_4): Likewise. + +2022-07-06 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106204 + * gcc.dg/analyzer/torture/uninit-pr106204.c: New test. + * gcc.dg/analyzer/uninit-pr106204.c: New test. + +2022-07-06 Jason Merrill <jason@redhat.com> + + PR c++/106179 + PR c++/106024 + * g++.dg/template/operator16.C: New test. + +2022-07-05 Marek Polacek <polacek@redhat.com> + + PR c++/105626 + * g++.dg/warn/Wformat-char8_t-1.C: New test. + +2022-07-05 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/testnot-3.c: New test case. + +2022-07-05 Roger Sayle <roger@nextmovesoftware.com> + Hongtao Liu <hongtao.liu@intel.com> + + * gcc.target/i386/ssse3-palignr-2.c: New test case. + +2022-07-05 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + PR rtl-optimization/96692 + * gcc.target/i386/bmi-andn-4.c: New test case. + +2022-07-05 Nathan Sidwell <nathan@acm.org> + + * g++.dg/modules/loc-prune-1.C: Adjust. + * g++.dg/modules/loc-prune-4.C: New. + * g++.dg/modules/pr98718_a.C: Adjust. + * g++.dg/modules/pr98718_b.C: Adjust. + * g++.dg/modules/pr99072.H: Adjust. + +2022-07-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106198 + * gcc.dg/pr106198.c: New testcase. + +2022-07-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106196 + * gcc.dg/torture/pr106196.c: New testcase. + +2022-07-05 Alexandre Oliva <oliva@adacore.com> + + * lib/target-supports.exp (check_effective_target_two_plus_gigs): + Fix array element type. Reported by Hans-Peter Nilsson. + +2022-07-05 Piotr Trojanek <trojanek@adacore.com> + + * gnat.dg/renaming1.adb: Update WITH clause. + * gnat.dg/renaming1.ads: Likewise. + * gnat.dg/warn29.adb: Likewise. + +2022-07-05 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/vect/vect-reduc-dot-9.c: Reduce target requirements + from i8mm to dotprod. + * gcc.dg/vect/vect-reduc-dot-10.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-11.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-12.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-13.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-14.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-15.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-16.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-17.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-18.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-19.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-20.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-21.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-22.c: Likewise. + +2022-07-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106182 + * gcc.dg/torture/pr106182.c: New testcase. + +2022-07-05 Hans-Peter Nilsson <hp@axis.com> + + * gcc.dg/analyzer/allocation-size-1.c, + gcc.dg/analyzer/allocation-size-2.c, + gcc.dg/analyzer/allocation-size-3.c, + gcc.dg/analyzer/allocation-size-4.c, + gcc.dg/analyzer/allocation-size-5.c: Handle int32_t being "long int". + +2022-07-04 Tobias Burnus <tobias@codesourcery.com> + Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/linear-4.c: New test. + * gfortran.dg/gomp/linear-2.f90: New test. + * gfortran.dg/gomp/linear-3.f90: New test. + * gfortran.dg/gomp/linear-4.f90: New test. + * gfortran.dg/gomp/linear-5.f90: New test. + * gfortran.dg/gomp/linear-6.f90: New test. + * gfortran.dg/gomp/linear-7.f90: New test. + * gfortran.dg/gomp/linear-8.f90: New test. + +2022-07-04 Martin Jambor <mjambor@suse.cz> + + PR tree-optimization/105860 + * gcc.dg/tree-ssa/alias-access-path-13.c: New test. + * gcc.dg/tree-ssa/pr105860.c: Likewise. + +2022-07-04 Tobias Burnus <tobias@codesourcery.com> + Chung-Lin Tang <cltang@codesourcery.com> + Thomas Schwinge <thomas@codesourcery.com> + + * c-c++-common/gomp/requires-4.c: Update dg-*. + * c-c++-common/gomp/reverse-offload-1.c: Likewise. + * c-c++-common/gomp/target-device-ancestor-2.c: Likewise. + * c-c++-common/gomp/target-device-ancestor-3.c: Likewise. + * c-c++-common/gomp/target-device-ancestor-4.c: Likewise. + * c-c++-common/gomp/target-device-ancestor-5.c: Likewise. + * gfortran.dg/gomp/target-device-ancestor-3.f90: Likewise. + * gfortran.dg/gomp/target-device-ancestor-4.f90: Likewise. + * gfortran.dg/gomp/target-device-ancestor-5.f90: Likewise. + * gfortran.dg/gomp/target-device-ancestor-2.f90: Likewise. Move + post-FE checks to ... + * gfortran.dg/gomp/target-device-ancestor-2a.f90: ... this new file. + * gfortran.dg/gomp/requires-8.f90: Update as we don't regard + 'declare target' for the 'requires' usage requirement. + +2022-07-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106055 + * gcc.dg/graphite/pr106055.c: New testcase. + +2022-07-04 Haochen Jiang <haochen.jiang@intel.com> + + PR target/43618 + * gcc.target/i386/pr43618-1.c: New test. + +2022-07-03 H.J. Lu <hjl.tools@gmail.com> + + PR target/106022 + * gcc.target/i386/pr106022-1.c: New test. + * gcc.target/i386/pr106022-2.c: Likewise. + * gcc.target/i386/pr106022-3.c: Likewise. + * gcc.target/i386/pr106022-4.c: Likewise. + +2022-07-03 Xi Ruoyao <xry111@xry111.site> + Lulu Cheng <chenglulu@loongson.cn> + + * gcc.c-torture/execute/20101011-1.c (dg-additional-options): + add -mcheck-zero-division for LoongArch targets. + +2022-07-03 Tim Lange <mail@tim-lange.me> + + * gcc.dg/analyzer/allocation-size-1.c: Use fixed-length types. + * gcc.dg/analyzer/allocation-size-2.c: Likewise. + * gcc.dg/analyzer/allocation-size-3.c: Likewise. + * gcc.dg/analyzer/allocation-size-4.c: Likewise. + * gcc.dg/analyzer/allocation-size-5.c: Likewise. + +2022-07-03 Ian Lance Taylor <iant@golang.org> + + * g++.dg/torture/except-1.C: New test. + +2022-07-02 Tim Lange <mail@tim-lange.me> + + PR analyzer/105900 + * gcc.dg/analyzer/pr96639.c: Changed buffer size to omit warning. + * gcc.dg/analyzer/allocation-size-1.c: New test. + * gcc.dg/analyzer/allocation-size-2.c: New test. + * gcc.dg/analyzer/allocation-size-3.c: New test. + * gcc.dg/analyzer/allocation-size-4.c: New test. + * gcc.dg/analyzer/allocation-size-5.c: New test. + +2022-07-02 Immad Mir <mirimmad17@gmail.com> + + PR analyzer/106003 + * gcc.dg/analyzer/fd-1.c: New test. + * gcc.dg/analyzer/fd-2.c: New test. + * gcc.dg/analyzer/fd-3.c: New test. + * gcc.dg/analyzer/fd-4.c: New test. + +2022-07-01 Marek Polacek <polacek@redhat.com> + + PR c++/105550 + * g++.dg/cpp1y/nsdmi-aggr16.C: Remove FIXME. + * g++.dg/cpp1y/nsdmi-aggr17.C: Remove FIXME. + * g++.dg/cpp0x/constexpr-elision1.C: New test. + * g++.dg/cpp1y/constexpr-elision1.C: New test. + +2022-07-01 Tobias Burnus <tobias@codesourcery.com> + + * c-c++-common/gomp/target-data-2.c: New test. + * c-c++-common/gomp/target-data-3.c: New test. + * gfortran.dg/gomp/target-data-1.f90: New test. + * gfortran.dg/gomp/target-data-2.f90: New test. + +2022-07-01 Marek Polacek <polacek@redhat.com> + + PR c++/106111 + * g++.dg/cpp0x/keywords1.C: New test. + * g++.dg/cpp2a/keywords1.C: New test. + +2022-07-01 Jason Merrill <jason@redhat.com> + + PR c++/106024 + * g++.dg/cpp2a/lambda-generic10.C: New test. + +2022-07-01 Kito Cheng <kito.cheng@sifive.com> + + Revert: + 2022-06-30 Kito Cheng <kito.cheng@sifive.com> + + PR testsuite/102690 + * g++.dg/warn/Warray-bounds-16.C: XFAIL only on lp64 for the + warning. + +2022-07-01 Roger Sayle <roger@nextmovesoftware.com> + + PR target/106122 + * gcc.target/i386/pr106122.c: New test case. + +2022-07-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106131 + * g++.dg/torture/pr106131.C: New testcase. + +2022-07-01 Martin Liska <mliska@suse.cz> + + PR tree-optimization/106126 + * gcc.dg/tree-ssa/pr106126.c: New test. + +2022-06-30 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/103137 + PR fortran/103138 + PR fortran/103693 + PR fortran/105243 + * gfortran.dg/class_58.f90: Fix test. + * gfortran.dg/class_73.f90: New test. + +2022-06-30 Jonathan Wakely <jwakely@redhat.com> + + * g++.dg/spellcheck-stdlib.C: Check <ctime> types and functions. + +2022-06-30 Nathan Sidwell <nathan@acm.org> + + * g++.dg/modules/inext-1.H: Check include-next happened. + +2022-06-30 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + * gcc.target/i386/xchg-3.c: New test case. + +2022-06-30 Kito Cheng <kito.cheng@sifive.com> + + PR testsuite/102690 + * g++.dg/warn/Warray-bounds-16.C: XFAIL only on lp64 for the + warning. + +2022-06-30 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/106114 + * gcc.dg/pr106114.c: New. + +2022-06-30 Antoni Boucher <bouanto@zoho.com> + + PR target/106095 + * gcc.target/i386/pr106095.c: Add test using those AVX builtins. + +2022-06-29 Antoni Boucher <bouanto@zoho.com> + + PR jit/105812 + * jit.dg/test-asm.cc: Add include missing to make the test pass. + * jit.dg/test-pr105812-bool-operations.c: New test. + +2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/106139 + * gdc.dg/pr106139a.d: New test. + * gdc.dg/pr106139b.d: New test. + * gdc.dg/pr106139c.d: New test. + * gdc.dg/pr106139d.d: New test. + +2022-06-29 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/106121 + * gfortran.dg/extends_type_of_4.f90: New test. + +2022-06-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/106112 + * gcc.dg/torture/pr106112.c: New testcase. + +2022-06-29 Jan Beulich <jbeulich@suse.com> + + * gcc.target/i386/avx512fp16-reduce-op-2.c: Force SSE2 for i?86. + * gcc.target/i386/pr99464.c: Likewise. + +2022-06-29 Jan Beulich <jbeulich@suse.com> + + * c-c++-common/torture/builtin-shufflevector-2.c: Prune ix86 MMX + ABI warning. + +2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/Wbuiltin_declaration_mismatch.d: Rename to... + * gdc.dg/Wbuiltin_declaration_mismatch1.d: ...this. + * gdc.dg/Wbuiltin_declaration_mismatch2.d: New test. + * gdc.dg/torture/simd_blendvector.d: New test. + * gdc.dg/torture/simd_cond.d: New test. + * gdc.dg/torture/simd_convertvector.d: New test. + * gdc.dg/torture/simd_load.d: New test. + * gdc.dg/torture/simd_logical.d: New test. + * gdc.dg/torture/simd_shuffle.d: New test. + * gdc.dg/torture/simd_shufflevector.d: New test. + * gdc.dg/torture/simd_store.d: New test. + +2022-06-28 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/attr_simd1.d: New test. + * gdc.dg/attr_simd2.d: New test. + +2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu> + + * c-c++-common/Wcast-align.c: Silence warnings for targets with + no_alignment_constraints. + * gcc.dg/c11-align-4.c: Skip for no_alignment_constraints. + * gcc.dg/strlenopt-10.c: Replace checks for avr with checks for + any target with no_alignment_constraints. + * gcc.dg/strlenopt-11.c: Ditto. + * gcc.dg/strlenopt-13.c: Ditto. + * lib/target-supports.exp + (check_effective_target_no_alignment_constraints): New. + +2022-06-28 Aldy Hernandez <aldyh@redhat.com> + + * g++.dg/pr100774.C: Remove --param=evrp-mode. + * gcc.dg/pr100781.c: Same. + +2022-06-28 Xi Ruoyao <xry111@xry111.site> + + PR target/106096 + * g++.target/loongarch/loongarch.exp: New test support file. + * g++.target/loongarch/pr106096.C: New test. + +2022-06-28 Richard Biener <rguenther@suse.de> + + PR middle-end/106053 + * gcc.target/i386/pr106053.c: New testcase. + +2022-06-27 Marek Polacek <polacek@redhat.com> + + PR c++/89197 + * g++.dg/cpp0x/initlist130.C: New test. + +2022-06-27 Andrew Stubbs <ams@codesourcery.com> + + * lib/target-supports.exp (check_effective_target_global_constructor): + Remove amdgcn. + +2022-06-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/106070 + * gcc.dg/torture/pr106070.c: Use unsigned long long instead of + unsigned long and -1ULL instead of 0xffffffffffffffff, deobcuscate + and improve formatting. + +2022-06-27 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/atomic/c11-atomic-exec-4.c: Call sched_yield. + * gcc.dg/atomic/c11-atomic-exec-5.c: Likewise. + * gcc.dg/atomic/pr80640-2.c: Likewise. + * gcc.dg/atomic/pr80640.c: Likewise. + * gcc.dg/atomic/pr81316.c: Likewise. + * gcc.dg/di-sync-multithread.c: Likewise. + +2022-06-27 Roger Sayle <roger@nextmovesoftware.com> + + PR rtl-optimization/7061 + * gcc.target/i386/pr7061-2.c: Update to look for shufps. + +2022-06-27 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/94026 + * gcc.dg/pr94026.c: New test case. + +2022-06-26 Harald Anlauf <anlauf@gmx.de> + + PR fortran/105691 + * gfortran.dg/index_6.f90: New test. + +2022-06-26 Harald Anlauf <anlauf@gmx.de> + + PR fortran/105954 + * gfortran.dg/pr105954.f90: New test. + +2022-06-26 Vineet Gupta <vineetg@rivosinc.com> + + * gcc.dg/torture/fp-double-convert-float-1.c: Add + dg-require-effective-target hard_float. + * gcc.dg/torture/fp-int-convert-timode-3.c: Ditto. + * gcc.dg/torture/fp-int-convert-timode-4.c: Ditto. + * gcc.dg/torture/fp-uint64-convert-double-1.c: Ditto. + * gcc.dg/torture/fp-uint64-convert-double-2.c: Ditto. + +2022-06-26 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/debug/btf/btf-bitfields-1.c: Adjust the checked offsets + for targets which pack structures by default. + +2022-06-26 Aldy Hernandez <aldyh@redhat.com> + + * g++.dg/warn/Wstringop-overflow-4.C: XFAIL a test. + +2022-06-25 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/sancov/cmp0.c: Adjust for conversion to ranger. + * gcc.dg/tree-ssa/ssa-dom-branch-1.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same. + * gcc.dg/vect/bb-slp-pr81635-2.c: Same. + * gcc.dg/vect/bb-slp-pr81635-4.c: Same. + * g++.dg/warn/Wstringop-overflow-4.C: Likewise. + * gcc.target/mips/data-sym-multi-pool.c: Likewise. + * gcc.target/mips/mips.exp: Likewise. + +2022-06-25 Jeff Law <jeffreyalaw@gmail.com> + + * gcc.dg/lower-subreg-1.c: Remove tilegx and tilepro entries. + * gcc.misc-tests/linkage.exp: Remove tilegx and + tilepro entries. + +2022-06-25 Iain Sandoe <iain@sandoe.co.uk> + + * gcc.dg/darwin-comm-1.c: Check for the correct error message for + Darwin <= 10. + +2022-06-24 Jason Merrill <jason@redhat.com> + + PR c++/87729 + PR c++/20423 + * g++.dg/warn/Woverloaded-virt1.C: New test. + * g++.dg/warn/Woverloaded-virt2.C: New test. + +2022-06-24 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/debug/btf/btf-bitfields-1.c: Skip if int is less than + 32-bits. + +2022-06-24 Harald Anlauf <anlauf@gmx.de> + + PR fortran/105813 + * gfortran.dg/unpack_vector_1.f90: New test. + +2022-06-24 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/builtin-object-size-20.c: Remove cases which + work on default_packed targets. + * gcc.dg/builtin-object-size-22.c: New test with the cases + removed above. + +2022-06-24 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/sso/memcpy-1.c (__big_endian__, __little_endian__): + Rename macros to avoid conflicts with predefined ones. + +2022-06-24 Dimitar Dimitrov <dimitar@dinux.eu> + + PR tree-optimization/101868 + * gcc.dg/lto/pr101868_0.c (zero): New volatile variable. + (main): Use it instead of argc. + +2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/attr_section1.d: Update dg-error. + * gdc.dg/attr_visibility1.d: Likewise. + +2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/105413 + * gdc.dg/attr_register1.d: New test. + * gdc.dg/attr_register2.d: New test. + * gdc.dg/attr_register3.d: New test. + +2022-06-24 Richard Biener <rguenther@suse.de> + + PR middle-end/106070 + * gcc.dg/torture/pr106070.c: New testcase. + +2022-06-24 Alexandre Oliva <oliva@adacore.com> + + * g++.dg/abi/pure-virtual1.C: Use -nostdlib++. + +2022-06-24 Alexandre Oliva <oliva@adacore.com> + + * lib/target-supports.exp + (check_effective_target_two_plus_gigs): New. + * gcc.target/aarch64/symbol-range.c: Link only on + two_plus_gigs targets, compile otherwise. + +2022-06-23 Jason Merrill <jason@redhat.com> + + PR c++/105925 + * g++.dg/ext/desig4.C: Remove extra errors. + * g++.dg/cpp2a/desig26.C: New test. + +2022-06-23 Patrick Palka <ppalka@redhat.com> + + PR c++/105931 + * g++.dg/cpp0x/decltype82a.C: New test. + +2022-06-23 Patrick Palka <ppalka@redhat.com> + + PR c++/105982 + * g++.dg/cpp1z/class-deduction111.C: New test. + +2022-06-23 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/diagnostic-test-metadata.c: Expect " [STR34-C]" to + be emitted at the "gets" call. + * gcc.dg/plugin/diagnostic_plugin_test_metadata.c + (pass_test_metadata::execute): Associate the "gets" diagnostic + with a rule named "STR34-C". + +2022-06-23 Jason Merrill <jason@redhat.com> + + PR c++/94554 + * g++.dg/cpp1z/constexpr-if38.C: New test. + +2022-06-23 Jason Merrill <jason@redhat.com> + + PR c++/105885 + * g++.dg/cpp1z/constexpr-if37.C: New test. + +2022-06-23 Martin Liska <mliska@suse.cz> + + PR c++/106062 + * gfortran.dg/ubsan/pr106062.f90: New test. + +2022-06-23 Nathan Sidwell <nathan@acm.org> + + * g++.dg/modules/loc-prune-1.C: New. + * g++.dg/modules/loc-prune-2.C: New. + * g++.dg/modules/loc-prune-3.C: New. + * g++.dg/modules/pr98718_a.C: Adjust. + * g++.dg/modules/pr98718_b.C: Adjust. + +2022-06-23 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/tree-ssa/slsr-39.c: Force vectorization off. + +2022-06-23 Jason Merrill <jason@redhat.com> + + PR c++/105964 + * g++.dg/cpp1z/nontype-auto21.C: New test. + +2022-06-22 Jason Merrill <jason@redhat.com> + + PR c++/105908 + * g++.dg/cpp0x/trailing16.C: New test. + +2022-06-22 Jason Merrill <jason@redhat.com> + + PR c++/104642 + * g++.dg/ubsan/return-8a.C: New test. + * g++.dg/ubsan/return-8b.C: New test. + * g++.dg/ubsan/return-8d.C: New test. + * g++.dg/ubsan/return-8e.C: New test. + +2022-06-22 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/106019 + * gcc.dg/vect/bb-slp-pr106019.c: New test. + +2022-06-22 Alexandre Oliva <oliva@adacore.com> + + * gcc.misc-tests/outputs.exp: Clean up left-overs first. + +2022-06-22 Alexandre Oliva <oliva@adacore.com> + + * gcc.misc-tests/outputs.exp (outest): Introduce quiet mode, + create and return lists of passes and fails. Use it to catch + skip_atsave cases where -L flags are implicitly added by + driver self specs. + +2022-06-22 Alexandre Oliva <oliva@adacore.com> + + * g++.dg/lto/pr90990_0.C: Require lto_incremental target. + +2022-06-22 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/amx-check.h (request_perm_xtile_data): + New function to check if AMX is usable and enable AMX. + (main): Run test if AMX is usable. + +2022-06-21 Roger Sayle <roger@nextmovesoftware.com> + Marek Polacek <polacek@redhat.com> + Segher Boessenkool <segher@kernel.crashing.org> + Kewen Lin <linkw@linux.ibm.com> + + PR target/105991 + * gcc.target/powerpc/pr105991.c: New test case. + +2022-06-21 Arjun Shankar <arjun@redhat.com> + + * gcc.dg/pr94899.c: New test. + +2022-06-21 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/106032 + * gcc.c-torture/execute/pr106032.c: New test. + +2022-06-21 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/106030 + * gcc.c-torture/compile/pr106030.c: New test. + +2022-06-21 Xionghu Luo <xionghuluo@tencent.com> + + PR target/105740 + * gcc.dg/tree-ssa/if-to-switch-11.c: New test. + +2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR tree-optimization/105736 + * gcc.dg/builtin-dynamic-object-size-0.c (TV4): New struct. + (val3): New variable. + (test_pr105736): New test. + (main): Call it. + +2022-06-20 Iain Sandoe <iain@sandoe.co.uk> + + * lib/asan-dg.exp: Do not apply color to asan output when + under test. + +2022-06-20 H.J. Lu <hjl.tools@gmail.com> + + PR target/105960 + * gcc.target/i386/pr105960.c: New test. + +2022-06-20 Iain Sandoe <iain@sandoe.co.uk> + + * g++.dg/modules/pr105169_a.C: Skip the test on Darwin. + * g++.dg/modules/pr105169_b.C: Likewise. + +2022-06-20 Iain Sandoe <iain@sandoe.co.uk> + + * g++.dg/init/array61.C: Allow for two CTOR bodies on Darwin, where + aliases are not currently supported. + +2022-06-20 Richard Earnshaw <rearnsha@arm.com> + + * gcc.target/arm/simd/mve-vcmp-f32-2.c: Adjust expected output. + * gcc.target/arm/simd/pr100757.c: Likewise. + * gcc.target/arm/simd/pr100757-2.c: Likewise. + * gcc.target/arm/simd/pr100757-3.c: Likewise. + * gcc.target/arm/simd/pr100757-4.c: Likewise. + +2022-06-20 Iain Sandoe <iain@sandoe.co.uk> + + * g++.dg/modules/init-2_b.C: Add a missing USER_LABEL_PREFIX + to a regex. + +2022-06-20 Iain Sandoe <iain@sandoe.co.uk> + + * c-c++-common/attr-cdtor-1.c: Requite init_priority support. + +2022-06-20 Richard Biener <rguenther@suse.de> + + PR middle-end/106027 + * gcc.dg/pr106027.c: New testcase. + +2022-06-20 yulong <shiyulong@iscas.ac.cn> + + * gcc.target/riscv/cmo-zicbom-1.c: modified the input parameters. + * gcc.target/riscv/cmo-zicbom-2.c: modified the input parameters. + * gcc.target/riscv/cmo-zicboz-1.c: modified the input parameters. + * gcc.target/riscv/cmo-zicboz-2.c: modified the input parameters. + +2022-06-18 Harald Anlauf <anlauf@gmx.de> + + PR fortran/105986 + * gfortran.dg/check_bits_3.f90: New test. + +2022-06-18 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/ubsan/nonnull-4.c: Use -fsanitize-trap=all + instead of -fsanitize-undefined-trap-on-error. + * c-c++-common/ubsan/div-by-zero-4.c: Use + -fsanitize-trap=signed-integer-overflow instead of + -fsanitize-undefined-trap-on-error. + * c-c++-common/ubsan/overflow-add-4.c: Use -fsanitize-trap=undefined + instead of -fsanitize-undefined-trap-on-error. + * c-c++-common/ubsan/pr56956.c: Likewise. + * c-c++-common/ubsan/pr68142.c: Likewise. + * c-c++-common/ubsan/pr80932.c: Use + -fno-sanitize-trap=all -fsanitize-trap=shift,undefined + instead of -fsanitize-undefined-trap-on-error. + * c-c++-common/ubsan/align-8.c: Use -fsanitize-trap=alignment + instead of -fsanitize-undefined-trap-on-error. + +2022-06-18 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/105998 + * c-c++-common/pr105998.c: New test. + +2022-06-18 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/105835 + * gcc.dg/pr105835.c: New test case. + +2022-06-17 Jakub Jelinek <jakub@redhat.com> + + PR c++/106001 + * g++.dg/ext/builtin-shufflevector-4.C: New test. + +2022-06-17 Uroš Bizjak <ubizjak@gmail.com> + + PR target/105209 + * gcc.target/alpha/pr105209.c: New test. + +2022-06-17 Uroš Bizjak <ubizjak@gmail.com> + + PR target/105970 + * gcc.target/i386/pr105970.c: New test. + +2022-06-17 Uroš Bizjak <ubizjak@gmail.com> + + PR target/105993 + * gcc.target/i386/pr105993.c: New test. + +2022-06-17 Richard Earnshaw <rearnsha@arm.com> + + * gcc.target/arm/acle/cde-mve-full-assembly.c: Adjust expected + output. + +2022-06-16 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/stdarg-1.c + (__analyzer_called_by_test_type_mismatch_1): Verify that + -Wanalyzer-va-arg-type-mismatch is associated with CWE-686. + +2022-06-16 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/stdarg-1.c + (__analyzer_called_by_test_not_enough_args): Verify that + -Wanalyzer-va-list-exhausted is associated with CWE-685. + +2022-06-16 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/file-1.c (test_1): Verify that double-fclose is + associated with CWE-1341. + +2022-06-16 Nathan Sidwell <nathan@acm.org> + + * g++.dg/modules/init-2_b.C: Add init check. + * g++.dg/modules/init-2_c.C: Add init check. + +2022-06-16 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105983 + * gcc.dg/tree-ssa/pr105983.c: New test. + +2022-06-16 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105984 + * gcc.c-torture/execute/pr105984.c: New test. + +2022-06-16 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/105951 + * gcc.target/i386/pr105951-1.c: New test. + * gcc.target/i386/pr105951-2.c: New test. + +2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/103316 + * gcc.target/powerpc/pr103316.c: New. + * gcc.target/powerpc/fold-vec-cmp-int128.c: New. + +2022-06-16 Jia-wei Chen <jiawei@iscas.ac.cn> + + * gcc.target/riscv/pr105666.c: New options. + +2022-06-16 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr53533-1.c: New test. + * gcc.target/i386/pr53533-2.c: New test. + * gcc.target/i386/pr53533-3.c: New test. + * gcc.target/i386/pr53533-4.c: New test. + * gcc.target/i386/pr53533-5.c: New test. + * gcc.dg/vect/slp-11a.c: Adjust testcase. + +2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * gcc.target/xtensa/sibcalls.c: New. + +2022-06-15 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105962 + * gcc.dg/analyzer/inlining-1-multiline.c: New test. + * gcc.dg/analyzer/inlining-1-no-undo.c: New test. + * gcc.dg/analyzer/inlining-1.c: New test. + * gcc.dg/analyzer/inlining-2-multiline.c: New test. + * gcc.dg/analyzer/inlining-2.c: New test. + * gcc.dg/analyzer/inlining-3-multiline.c: New test. + * gcc.dg/analyzer/inlining-3.c: New test. + * gcc.dg/analyzer/inlining-4-multiline.c: New test. + * gcc.dg/analyzer/inlining-4.c: New test. + * gcc.dg/analyzer/inlining-5-multiline.c: New test. + * gcc.dg/analyzer/inlining-5.c: New test. + * gcc.dg/analyzer/inlining-6-multiline.c: New test. + * gcc.dg/analyzer/inlining-6.c: New test. + * gcc.dg/analyzer/inlining-7-multiline.c: New test. + * gcc.dg/analyzer/inlining-7.c: New test. + +2022-06-15 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/uninit-1.c: Add test coverage of attempts + to jump through an uninitialized function pointer, and of attempts + to pass an uninitialized value to a function call. + +2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/asan/attr_no_sanitize1.d: New test. + * gdc.dg/ubsan/attr_no_sanitize2.d: New test. + +2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/attr_visibility1.d: New test. + * gdc.dg/attr_visibility2.d: New test. + * gdc.dg/attr_visibility3.d: New test. + +2022-06-15 David Edelsohn <dje.gcc@gmail.com> + + * g++.dg/cpp1z/aligned-new9.C: Skip on AIX. + +2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/Wpadded.d: New test. + +2022-06-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105971 + * gcc.dg/torture/pr106971.c: New testcase. + +2022-06-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105969 + * gcc.dg/pr105969.c: New testcase. + +2022-06-15 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/cost_model_14.c: New test. + +2022-06-15 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + * gcc.dg/fold-convlshift-4.c: New test case. + * gcc.dg/optimize-bswaphi-1.c: Update found bswap count. + * gcc.dg/tree-ssa/pr61839_3.c: Shift is now optimized before VRP. + * gcc.dg/vect/vect-over-widen-1-big-array.c: Remove obsolete tests. + * gcc.dg/vect/vect-over-widen-1.c: Likewise. + * gcc.dg/vect/vect-over-widen-3-big-array.c: Likewise. + * gcc.dg/vect/vect-over-widen-3.c: Likewise. + * gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise. + * gcc.dg/vect/vect-over-widen-4.c: Likewise. + +2022-06-15 liuhongt <hongtao.liu@intel.com> + + * g++.target/i386/pr105953.C: New test. + +2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com> + + PR rtl-optimization/105041 + * gcc.target/powerpc/pr105041.c: New test. + +2022-06-14 Nathan Sidwell <nathan@acm.org> + + * g++.dg/modules/init-2_a.C: Adjust. + * g++.dg/modules/init-2_c.C: Adjust. + * g++.dg/modules/init-2_d.C: New. + +2022-06-14 Jan Hubicka <hubicka@ucw.cz> + + * gcc.dg/ipa/pr105739.c: New test. + +2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/riscv/zba-shadd.c: New test. + +2022-06-14 Richard Biener <rguenther@suse.de> + + PR middle-end/105965 + * gcc.target/i386/pr105965.c: New testcase. + +2022-06-14 Eric Botcazou <ebotcazou@adacore.com> + + * g++.dg/warn/Wuse-after-free5.C: New test. + +2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * gcc.target/xtensa/BALL-BNALL.c: New. + +2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * gcc.target/xtensa/funnel_shifter.c: New. + +2022-06-13 Jason Merrill <jason@redhat.com> + + * g++.dg/ubsan/return-8.C: New test. + +2022-06-13 Uroš Bizjak <ubizjak@gmail.com> + + PR target/105927 + * gcc.target/i386/pr105927.c: New test. + +2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/Wbuiltin_declaration_mismatch.d: New test. + * gdc.dg/builtins.d: New test. + +2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/rtti1.d: New test. + +2022-06-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.dg/instrument-4.c: New test. + +2022-06-13 Eric Botcazou <ebotcazou@adacore.com> + + * c-c++-common/nonnull-1.c: Remove XFAIL for C++. + +2022-06-13 Jakub Jelinek <jakub@redhat.com> + + PR target/105911 + * gcc.dg/pr105911.c: New test. + +2022-06-13 Cui,Lili <lili.cui@intel.com> + + * gcc.dg/vect/costmodel/x86_64/costmodel-pr104582-2.c: Add + -mtune=generic to dg-options. + * gcc.target/i386/pr84101.c: Likewise. + +2022-06-12 Max Filippov <jcmvbkbc@gmail.com> + + * g++.target/xtensa/pr95571.C (__xtensa_libgcc_window_spill): + New definition. + +2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + PR target/96463 + * gcc.target/aarch64/sve/acle/general/pr96463-1.c: New test. + * gcc.target/aarch64/sve/acle/general/pr96463-2.c: Likewise. + +2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * gcc.target/xtensa/constsynth_2insns.c: New. + * gcc.target/xtensa/constsynth_3insns.c: Ditto. + * gcc.target/xtensa/constsynth_double.c: Ditto. + +2022-06-10 Nathan Sidwell <nathan@acm.org> + + * g++.dg/modules/init-3_a.C: New. + * g++.dg/modules/init-3_b.C: New. + * g++.dg/modules/init-3_c.C: New. + +2022-06-10 Roger Sayle <roger@nextmovesoftware.com> + + PR rtl-optimization/7061 + * gcc.target/i386/pr7061-1.c: New test case. + * gcc.target/i386/pr7061-2.c: New test case. + +2022-06-10 Antoni Boucher <bouanto@zoho.com> + + PR jit/105829 + * jit.dg/test-types.c: Add tests for gcc_jit_type_get_size. + +2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * gcc.target/xtensa/check_zero_byte.c: New. + +2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * gcc.target/xtensa/one_cmpl_abs.c: New. + +2022-06-09 Jakub Jelinek <jakub@redhat.com> + + PR c++/105871 + * g++.dg/pr105871.C: New test. + +2022-06-09 Nathan Sidwell <nathan@acm.org> + + * g++.dg/modules/init-2_a.C: Check no idempotency. + * g++.dg/modules/init-2_b.C: Check idempotency. + +2022-06-09 Tobias Burnus <tobias@codesourcery.com> + + * c-c++-common/gomp/reverse-offload-1.c: New. + +2022-06-09 Cui,Lili <lili.cui@intel.com> + + PR target/105493 + * gcc.target/i386/pr91446.c: Adjust to expect vectorization + * gcc.target/i386/pr99881.c: XFAIL. + * gcc.target/i386/pr105493.c: New. + * g++.target/i386/pr105638.C: Use other sequence checks + instead of vpxor, because code generation changed. + +2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org> + + * gcc.target/powerpc/pr93453-1.c: New. + +2022-06-08 Jason Merrill <jason@redhat.com> + + PR c++/105852 + PR c++/105761 + * g++.dg/modules/tpl-friend-2_a.C: Adjust expected dump. + * g++.dg/template/friend74.C: New test. + +2022-06-08 Roger Sayle <roger@nextmovesoftware.com> + + PR middle-end/105874 + * g++.dg/opt/pr105874.C: New test case. + +2022-06-08 Nathan Sidwell <nathan@acm.org> + + * g++.dg/init/static-cdtor1.C: New. + +2022-06-08 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/xop-pcmov3.c: Add -mno-avx512vl to dg-options. + +2022-06-08 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/target-device-ancestor-5.f90: New test. + +2022-06-08 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr105513-1.c: New test. + * gcc.target/i386/extract-insert-combining.c: Add new + scan-assembler-not for spill. + +2022-06-08 liuhongt <hongtao.liu@intel.com> + + PR target/105854 + * gcc.target/i386/pr105854.c: Add target int128 and dfp. + +2022-06-07 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr105854.c: New test. + +2022-06-07 Roger Sayle <roger@nextmovesoftware.com> + + PR middle-end/105853 + PR target/105856 + * gcc.dg/pr105853.c: New test case. + * gcc.dg/pr105856.c: New test case. + +2022-06-07 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/linear-2.c: New test. + * c-c++-common/gomp/linear-3.c: New test. + * g++.dg/gomp/linear-3.C: New test. + * g++.dg/gomp/linear-4.C: New test. + * g++.dg/gomp/linear-5.C: New test. + +2022-06-07 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/96442 + * g++.dg/parse/pr96442.C: New test case. + +2022-06-07 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/xop-pcmov3.c: New test case. + +2022-06-06 Patrick Palka <ppalka@redhat.com> + + PR c++/53164 + PR c++/105848 + * g++.dg/template/fn-ptr3.C: New test. + +2022-06-04 Marek Polacek <polacek@redhat.com> + + PR c++/102399 + PR c++/69585 + * g++.dg/ext/attrib65.C: New test. + * g++.dg/ext/attrib66.C: New test. + * g++.dg/ext/attrib67.C: New test. + +2022-06-04 Roger Sayle <roger@nextmovesoftware.com> + + PR middle-end/95126 + * gcc.target/i386/pr95126-m32-1.c: New test case. + * gcc.target/i386/pr95126-m32-2.c: New test case. + * gcc.target/i386/pr95126-m32-3.c: New test case. + * gcc.target/i386/pr95126-m32-4.c: New test case. + * gcc.target/i386/pr95126-m64-1.c: New test case. + * gcc.target/i386/pr95126-m64-2.c: New test case. + * gcc.target/i386/pr95126-m64-3.c: New test case. + * gcc.target/i386/pr95126-m64-4.c: New test case. + +2022-06-04 Jakub Jelinek <jakub@redhat.com> + + PR target/105825 + * gcc.dg/pr105825.c: New test. + +2022-06-03 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp0x/auto56.C: New test. + +2022-06-03 Patrick Palka <ppalka@redhat.com> + + PR c++/105756 + * g++.dg/cpp0x/decltype82.C: New test. + +2022-06-03 Jason Merrill <jason@redhat.com> + + PR c++/105761 + * g++.dg/cpp1y/auto-fn64.C: New test. + +2022-06-03 Patrick Palka <ppalka@redhat.com> + + PR c++/105637 + * g++.dg/cpp0x/lambda/lambda-this22.C: New test. + * g++.dg/template/non-dependent23.C: New test. + +2022-06-03 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/scope-6.f90: Fix dg-final scan-tree-dump. + +2022-06-03 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/scope-5.f90: New test. + * gfortran.dg/gomp/scope-6.f90: New test. + +2022-06-03 Patrick Palka <ppalka@redhat.com> + + PR c++/100374 + * g++.dg/cpp2a/concepts-spec2.C: New test. + * g++.dg/cpp2a/concepts-template-parm11.C: New test. + +2022-06-03 Patrick Palka <ppalka@redhat.com> + + PR c++/105797 + * g++.dg/cpp2a/concepts-decltype4.C: New test. + * g++.dg/cpp2a/concepts-memfun3.C: New test. + +2022-06-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/30314 + PR middle-end/105777 + * gcc.dg/tree-ssa/pr30314.c: Add noipa attribute to all functions. + * gcc.dg/tree-ssa/pr105777.c: New test. + * gcc.c-torture/execute/pr30314.c: New test. + * gcc.c-torture/execute/pr105777.c: New test. + +2022-06-03 Alexandre Oliva <oliva@adacore.com> + + PR tree-optimization/105665 + PR tree-optimization/100810 + * gcc.dg/torture/pr105665.c: New. + +2022-06-02 Marek Polacek <polacek@redhat.com> + + PR c++/105803 + * g++.dg/template/new13.C: New test. + +2022-06-02 David Malcolm <dmalcolm@redhat.com> + + * c-c++-common/diagnostic-format-sarif-file-1.c: New test. + * c-c++-common/diagnostic-format-sarif-file-2.c: New test. + * c-c++-common/diagnostic-format-sarif-file-3.c: New test. + * c-c++-common/diagnostic-format-sarif-file-4.c: New test. + * gcc.dg/analyzer/file-meaning-1.c: New test. + * gcc.dg/analyzer/malloc-meaning-1.c: New test. + * gcc.dg/analyzer/malloc-sarif-1.c: New test. + * gcc.dg/plugin/analyzer_gil_plugin.c + (gil_diagnostic::get_meaning_for_state_change): New vfunc impl. + * gcc.dg/plugin/diagnostic-test-paths-5.c: New test. + * gcc.dg/plugin/plugin.exp (plugin_test_list): Add + diagnostic-test-paths-5.c to tests for + diagnostic_plugin_test_paths.c. + * lib/gcc-dg.exp: Load scansarif.exp. + * lib/scansarif.exp: New test. + +2022-06-02 David Malcolm <dmalcolm@redhat.com> + + * c-c++-common/diagnostic-format-json-file-1.c: New test. + * c-c++-common/diagnostic-format-json-stderr-1.c: New test. + +2022-06-02 Jason Merrill <jason@redhat.com> + + PR c++/105795 + * g++.dg/cpp1z/constexpr-aggr-base1.C: New test. + +2022-06-02 Roger Sayle <roger@nextmovesoftware.com> + + PR target/105791 + * gcc.target/i386/pr105791.c: New test case. + +2022-06-02 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/30314 + * gcc.dg/tree-ssa/pr30314.c: Add tests with swapped arguments. + +2022-06-02 Jakub Jelinek <jakub@redhat.com> + + PR target/105778 + * gcc.target/i386/pr105778.c: New test. + +2022-06-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/101668 + * gcc.target/i386/pr101668.c: New testcase. + * gcc.dg/vect/bb-slp-pr101668.c: Likewise. + +2022-06-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105802 + * g++.dg/opt/pr105802.C: New testcase. + +2022-06-01 H.J. Lu <hjl.tools@gmail.com> + + PR rtl-optimization/105638 + * g++.target/i386/pr105638.C: New test. + +2022-06-01 Jason Merrill <jason@redhat.com> + + PR c++/105734 + * g++.dg/cpp0x/auto57.C: New test. + +2022-06-01 Jason Merrill <jason@redhat.com> + + PR c++/105779 + * g++.dg/cpp1y/auto-fn63.C: New test. + +2022-06-01 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/30314 + * gcc.dg/tree-ssa/pr30314.c: New test. + +2022-06-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105786 + * gcc.dg/torture/pr105786.c: New testcase. + +2022-06-01 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105770 + * gcc.dg/pr105770.c: New test. + +2022-06-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105763 + * gcc.dg/pr105763.c: New testcase. + +2022-05-31 Patrick Palka <ppalka@redhat.com> + + PR c++/105758 + * g++.dg/template/non-dependent24.C: New test. + +2022-05-31 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/scope-5.c: New test. + * c-c++-common/gomp/scope-6.c: New test. + * g++.dg/gomp/attrs-1.C (bar): Add firstprivate and allocate clauses + to scope construct. + * g++.dg/gomp/attrs-2.C (bar): Likewise. + +2022-05-30 Harald Anlauf <anlauf@gmx.de> + + PR fortran/91300 + * gfortran.dg/allocate_alloc_opt_15.f90: New test. + +2022-05-30 Roger Sayle <roger@nextmovesoftware.com> + + PR rtl-optimization/101617 + * gcc.target/i386/pr101617.c: New test case. + +2022-05-30 Roger Sayle <roger@nextmovesoftware.com> + + PR target/70321 + * gcc.target/i386/pr70321.c: New test case. + * gcc.target/i386/sse4_1-stv-1.c: New test case. + +2022-05-30 Uroš Bizjak <ubizjak@gmail.com> + + * gcc.target/i386/pr105624.c: New test. + +2022-05-30 Vineet Gupta <vineetg@rivosinc.com> + + * gcc.target/riscv/fmax.c: Add dg-require-effective-target hard_float. + * gcc.target/riscv/fmaxf.c: Ditto. + * gcc.target/riscv/fmin.c: Ditto. + * gcc.target/riscv/fminf.c: Ditto. + * gcc.target/riscv/smax-ieee.c: Ditto. + * gcc.target/riscv/smax.c: Ditto. + * gcc.target/riscv/smaxf-ieee.c: Ditto. + * gcc.target/riscv/smaxf.c: Ditto. + * gcc.target/riscv/smin-ieee.c: Ditto. + * gcc.target/riscv/smin.c: Ditto. + * gcc.target/riscv/sminf-ieee.c: Ditto. + * gcc.target/riscv/sminf.c: Ditto. + * gcc.target/riscv/pr105666.c: Ditto. + +2022-05-29 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/105732 + * c-c++-common/cpp/va-opt-10.c: New test. + +2022-05-28 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/declare-target-2.f90: Add 'enter' clause test. + * gfortran.dg/gomp/declare-target-4.f90: Likewise. + +2022-05-28 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/declare-target-2.c: Add further tests for mixing of + link and to/enter clauses on separate directives. + +2022-05-28 Jason Merrill <jason@redhat.com> + + PR c++/105652 + * g++.dg/cpp2a/concepts-lambda20.C: New test. + +2022-05-27 Marek Polacek <polacek@redhat.com> + + PR c++/105725 + * g++.dg/warn/Wmismatched-tags-10.C: New test. + +2022-05-27 Marek Polacek <polacek@redhat.com> + + PR c/90658 + * c-c++-common/attr-cdtor-1.c: New test. + +2022-05-27 Tobias Burnus <tobias@codesourcery.com> + Chung-Lin Tang <cltang@codesourcery.com> + + * gfortran.dg/gomp/requires-4.f90: Update dg-error. + * gfortran.dg/gomp/requires-8.f90: Update dg-error. + +2022-05-27 Martin Jambor <mjambor@suse.cz> + + PR ipa/105639 + * gcc.dg/ipa/pr105639.c: New test. + +2022-05-27 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/clauses-3.c: Add tests with enter clause instead + of to or modify some existing to clauses to enter. + * c-c++-common/gomp/declare-target-1.c: Likewise. + * c-c++-common/gomp/declare-target-2.c: Likewise. + * c-c++-common/gomp/declare-target-3.c: Likewise. + * g++.dg/gomp/attrs-9.C: Likewise. + * g++.dg/gomp/declare-target-1.C: Likewise. + +2022-05-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105726 + * g++.dg/warn/Warray-bounds-27.C: New testcase. + +2022-05-27 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/105729 + * g++.dg/ubsan/pr105729.C: New test. + +2022-05-27 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.dg/pr98865.c: New test case. + +2022-05-27 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/pr91400-1.c: Update for improved code generation. + * gcc.target/i386/pr91400-2.c: Likewise. + * gcc.target/i386/testnot-1.c: New test case. + * gcc.target/i386/testnot-2.c: Likewise. + +2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * gcc.target/xtensa/bswap.c: Remove test. + * gcc.target/xtensa/bswap-O1.c: New. + * gcc.target/xtensa/bswap-O2.c: Ditto. + * gcc.target/xtensa/bswap-Os.c: Ditto. + +2022-05-26 Marek Polacek <polacek@redhat.com> + + PR c++/105569 + * g++.dg/warn/Waddress-9.C: New test. + +2022-05-26 Patrick Palka <ppalka@redhat.com> + + PR c++/96363 + * g++.dg/cpp2a/concepts-partial-spec12.C: New test. + * g++.dg/cpp2a/concepts-partial-spec12a.C: New test. + * g++.dg/cpp2a/concepts-partial-spec13.C: New test. + +2022-05-25 Marek Polacek <polacek@redhat.com> + + PR c++/96637 + * g++.dg/parse/error64.C: New test. + +2022-05-25 Jason Merrill <jason@redhat.com> + + PR c++/105655 + * g++.dg/cpp2a/class-deduction-alias13.C: New test. + +2022-05-25 Jason Merrill <jason@redhat.com> + + PR c++/105623 + * g++.dg/cpp1y/auto-fn62.C: New test. + +2022-05-25 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp1y/constexpr-local4.C: New test. + +2022-05-25 Marek Polacek <polacek@redhat.com> + + PR c++/100252 + * g++.dg/cpp1y/nsdmi-aggr14.C: New test. + * g++.dg/cpp1y/nsdmi-aggr15.C: New test. + * g++.dg/cpp1y/nsdmi-aggr16.C: New test. + * g++.dg/cpp1y/nsdmi-aggr17.C: New test. + * g++.dg/cpp1y/nsdmi-aggr18.C: New test. + * g++.dg/cpp1y/nsdmi-aggr19.C: New test. + +2022-05-25 Jakub Jelinek <jakub@redhat.com> + + PR c/91134 + * gcc.dg/pr91134.c: New test. + +2022-05-25 Richard Biener <rguenther@suse.de> + + * gcc.dg/loop-unswitch-10.c: Fix misspelled defaut: + * gcc.dg/loop-unswitch-11.c: Likewise. + * gcc.dg/loop-unswitch-14.c: Likewise. + +2022-05-25 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/105714 + * gcc.dg/asan/pr105714.c: New test. + +2022-05-25 Martin Liska <mliska@suse.cz> + Richard Biener <rguenther@suse.de> + + * gcc.dg/loop-unswitch-7.c: New test. + * gcc.dg/loop-unswitch-8.c: New test. + * gcc.dg/loop-unswitch-9.c: New test. + * gcc.dg/loop-unswitch-10.c: New test. + * gcc.dg/loop-unswitch-11.c: New test. + * gcc.dg/loop-unswitch-12.c: New test. + * gcc.dg/loop-unswitch-13.c: New test. + * gcc.dg/loop-unswitch-14.c: New test. + * gcc.dg/loop-unswitch-15.c: New test. + * gcc.dg/loop-unswitch-16.c: New test. + * gcc.dg/loop-unswitch-17.c: New test. + * gcc.dg/torture/20220518-1.c: New test. + * gcc.dg/torture/20220518-2.c: New test. + * gcc.dg/torture/20220525-1.c: New test. + * gcc.dg/alias-10.c: Adjust. + * gcc.dg/tree-ssa/loop-6.c: Likewise. + * gcc.dg/loop-unswitch-1.c: Likewise. + +2022-05-25 Szabolcs Nagy <szabolcs.nagy@arm.com> + + PR target/104689 + * gcc.target/aarch64/pr104689.c: New test. + +2022-05-24 Martin Sebor <msebor@redhat.com> + Richard Biener <rguenther@suse.de> + + PR middle-end/105604 + * gcc.dg/Wrestrict-24.c: New test. + * gcc.dg/Wrestrict-25.c: New test. + * gcc.dg/Wrestrict-26.c: New test. + +2022-05-24 Joel Brobecker <brobecker@adacore.com> + + * gcc.misc-tests/outputs.exp: Make the -gsplit-dwarf test + a compile-and-link test rather than a compile-only test. + +2022-05-24 Jason Merrill <jason@redhat.com> + + PR c++/105622 + * g++.dg/cpp2a/no_unique_address14.C: New test. + +2022-05-24 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/neg-zext-1.c: New test case for -m32. + * gcc.target/i386/neg-zext-2.c: New test case for -m64. + +2022-05-24 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/105668 + * gcc.target/i386/pr105668.c: New test case. + +2022-05-24 Patrick Palka <ppalka@redhat.com> + + * g++.dg/cpp0x/constexpr-52830a.C: New test. + +2022-05-24 ShiYulong <shiyulong@iscas.ac.cn> + + * gcc.target/riscv/cmo-zicbom-1.c: New test. + * gcc.target/riscv/cmo-zicbom-2.c: New test. + * gcc.target/riscv/cmo-zicbop-1.c: New test. + * gcc.target/riscv/cmo-zicbop-2.c: New test. + * gcc.target/riscv/cmo-zicboz-1.c: New test. + * gcc.target/riscv/cmo-zicboz-2.c: New test. + +2022-05-24 Richard Biener <rguenther@suse.de> + + PR middle-end/105711 + * gcc.target/i386/pr105711.c: New testcase. + +2022-05-24 Tobias Burnus <tobias@codesourcery.com> + + PR c/105378 + * gfortran.dg/gomp/taskwait-depend-nowait-1.f90: New. + +2022-05-24 Vineet Gupta <vineetg@rivosinc.com> + + * gcc.target/riscv/pr105666.c: New test. + +2022-05-24 Jakub Jelinek <jakub@redhat.com> + + PR c/105378 + * c-c++-common/gomp/taskwait-depend-nowait-1.c: New test. + +2022-05-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/100221 + * gcc.dg/tree-ssa/ssa-dse-44.c: New testcase. + * gcc.dg/tree-ssa/ssa-dse-45.c: Likewise. + +2022-05-24 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/105706 + * gcc.target/powerpc/pr78604.c: Adjust. + +2022-05-24 Kewen Lin <linkw@linux.ibm.com> + + PR target/105627 + * gcc.target/powerpc/pr105627.c: New test. + +2022-05-23 H.J. Lu <hjl.tools@gmail.com> + + PR target/104441 + * gcc.target/i386/pr104441-1a.c (load8bit_4x4_avx2): Initialize + src23. + +2022-05-23 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/analyzer_gil_plugin.c: Replace uses of "FINAL" and + "OVERRIDE" with "final" and "override". + +2022-05-23 Mayshao <mayshao-oc@zhaoxin.com> + + * gcc.target/i386/funcspec-56.inc: Test -arch=lujiauzi and -tune=lujiazui. + * g++.target/i386/mv32.C: Ditto. + +2022-05-23 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/mallign.c: Skip check if sizeof(word)==1. + +2022-05-23 Richard Biener <rguenther@suse.de> + + * gcc.dg/gimplefe-27.c: Adjust. + * gcc.dg/gimplefe-45.c: Likewise. + * gcc.dg/pr101145-2.c: Likewise. + * gcc.dg/pr98211.c: Likewise. + * gcc.dg/torture/pr89595.c: Likewise. + * gcc.dg/tree-ssa/divide-7.c: Likewise. + * gcc.dg/tree-ssa/ssa-lim-12.c: Likewise. + +2022-05-23 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/spill_to_mask-1.c: New test. + +2022-05-21 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/tree-ssa/gen-vect-11.c: For PRU target, skip the + vectorizing checks in tree dumps. + * gcc.dg/tree-ssa/gen-vect-11a.c: Ditto. + * gcc.dg/tree-ssa/gen-vect-2.c: Ditto. + * gcc.dg/tree-ssa/gen-vect-25.c: Ditto. + * gcc.dg/tree-ssa/gen-vect-26.c: Ditto. + * gcc.dg/tree-ssa/gen-vect-28.c: Ditto. + * gcc.dg/tree-ssa/gen-vect-32.c: Ditto. + +2022-05-21 Dimitar Dimitrov <dimitar@dinux.eu> + + PR ipa/91088 + * gcc.dg/ipa/pr91088.c: Adjust member offset checks to + accommodate targets which pack structures by default. + +2022-05-21 Dimitar Dimitrov <dimitar@dinux.eu> + + PR middle-end/53535 + * gcc.dg/pr46647.c: Skip for pru target. + +2022-05-21 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/ifcvt-4.c: Skip for PRU. + +2022-05-21 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/Warray-bounds-48-novec.c: Add expected warnings + if target packs the structs by default. + +2022-05-20 Marc Poulhiès <poulhies@adacore.com> + + * g++.dg/ext/visibility/visibility-local-extern1.C: Add missing + dg-require-effective-target fpic. + +2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * gcc.target/aarch64/ror_2.c: New test. + * gcc.target/aarch64/ror_3.c: New test. + +2022-05-20 Christophe Lyon <christophe.lyon@arm.com> + + * gcc.dg/torture/convert-dfp-2.c: New test. + * gcc.dg/torture/convert-dfp.c: New test. + +2022-05-20 Christophe Lyon <christophe.lyon@arm.com> + + * g++.dg/eh/dfp-1.C: New test. + * g++.dg/eh/dfp-2.C: New test. + * g++.dg/eh/dfp-saves-aarch64.C: New test. + +2022-05-20 Christophe Lyon <christophe.lyon@arm.com> + + * lib/target-supports.exp (check_effective_target_dfp_bid): New. + * gcc.dg/dfp/bid-non-canonical-d128-1.c: Use dfp_bid + effective-target. + * gcc.dg/dfp/bid-non-canonical-d128-2.c: Likewise. + * gcc.dg/dfp/bid-non-canonical-d128-3.c: Likewise. + * gcc.dg/dfp/bid-non-canonical-d128-4.c: Likewise. + * gcc.dg/dfp/bid-non-canonical-d32-1.c: Likewise. + * gcc.dg/dfp/bid-non-canonical-d32-2.c: Likewise. + * gcc.dg/dfp/bid-non-canonical-d64-1.c: Likewise. + * gcc.dg/dfp/bid-non-canonical-d64-2.c: Likewise. + +2022-05-20 Christophe Lyon <christophe.lyon@arm.com> + + * gcc.target/aarch64/aapcs64/aapcs64.exp: Support new dfp*.c tests. + * gcc.target/aarch64/aapcs64/func-ret-1.c: Add DFP tests. + * gcc.target/aarch64/aapcs64/func-ret-3.c: Add DFP tests. + * gcc.target/aarch64/aapcs64/type-def.h: Add DFP types. + * gcc.target/aarch64/aapcs64/dfp-1.c: New test. + * gcc.target/aarch64/aapcs64/ice_dfp_5.c: New test. + * gcc.target/aarch64/aapcs64/test_align_dfp-1.c: New test. + * gcc.target/aarch64/aapcs64/test_align_dfp-4.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_1.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_10.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_11.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_12.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_13.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_14.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_15.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_16.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_17.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_18.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_19.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_2.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_20.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_21.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_22.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_23.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_24.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_25.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_26.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_27.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_3.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_5.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_6.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_7.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_8.c: New test. + * gcc.target/aarch64/aapcs64/test_dfp_9.c: New test. + * gcc.target/aarch64/aapcs64/test_quad_double_dfp.c: New test. + * gcc.target/aarch64/aapcs64/va_arg_dfp-1.c: New test. + * gcc.target/aarch64/aapcs64/va_arg_dfp-10.c: New test. + * gcc.target/aarch64/aapcs64/va_arg_dfp-11.c: New test. + * gcc.target/aarch64/aapcs64/va_arg_dfp-12.c: New test. + * gcc.target/aarch64/aapcs64/va_arg_dfp-13.c: New test. + * gcc.target/aarch64/aapcs64/va_arg_dfp-14.c: New test. + * gcc.target/aarch64/aapcs64/va_arg_dfp-16.c: New test. + * gcc.target/aarch64/aapcs64/va_arg_dfp-2.c: New test. + * gcc.target/aarch64/aapcs64/va_arg_dfp-3.c: New test. + * gcc.target/aarch64/aapcs64/va_arg_dfp-4.c: New test. + * gcc.target/aarch64/aapcs64/va_arg_dfp-5.c: New test. + * gcc.target/aarch64/aapcs64/va_arg_dfp-6.c: New test. + * gcc.target/aarch64/aapcs64/va_arg_dfp-8.c: New test. + * gcc.target/aarch64/aapcs64/va_arg_dfp-9.c: New test. + +2022-05-20 Christophe Lyon <christophe.lyon@arm.com> + + * c-c++-common/dfp/pr39986.c: Accept .word directive. + +2022-05-19 Jonathan Wakely <jwakely@redhat.com> + + * g++.dg/cpp0x/variadic-tuple.C: Qualify function to avoid ADL + finding std::make_tuple. + +2022-05-19 Roger Sayle <roger@nextmovesoftware.com> + + PR middle-end/98865 + * gcc.target/i386/pr98865.c: New test case. + +2022-05-19 Giuliano Belinassi <gbelinassi@suse.de> + + PR target/105647 + * g++.dg/modules/pr105169_a.C: Change -fpatchable-function-entry to 2. + * g++.dg/modules/pr105169_b.C: Likewise. + +2022-05-19 Jakub Jelinek <jakub@redhat.com> + + PR debug/105630 + * gcc.dg/pr105630.c: New test. + +2022-05-19 Jakub Jelinek <jakub@redhat.com> + + PR c/105635 + * gcc.dg/pr105635.c: New test. + +2022-05-18 Marek Polacek <polacek@redhat.com> + + PR c/105131 + * gcc.dg/Wenum-int-mismatch-1.c: New test. + * gcc.dg/Wenum-int-mismatch-2.c: New test. + * gcc.dg/Wenum-int-mismatch-3.c: New test. + * gcc.dg/Wenum-int-mismatch-4.c: New test. + * gcc.dg/Wenum-int-mismatch-5.c: New test. + +2022-05-18 Paul A. Clarke <pc@us.ibm.com> + + PR target/105620 + * g++.target/powerpc/pr69667.C: Move to ... + * g++.dg/pr69667.C: here. Also, revert recent dg directives changes. + +2022-05-18 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/bmi-andn-3.c: New test case. + +2022-05-18 Marek Polacek <polacek@redhat.com> + + PR c++/105497 + * c-c++-common/Wswitch-1.c: New test. + * g++.dg/warn/Wswitch-4.C: New test. + +2022-05-18 Marek Polacek <polacek@redhat.com> + + PR c++/105634 + * g++.dg/Wclass-memaccess-2.C: Moved to... + * g++.dg/warn/Wclass-memaccess-2.C: ...here. + * g++.dg/Wclass-memaccess-3.C: Moved to... + * g++.dg/warn/Wclass-memaccess-3.C: ...here. + * g++.dg/Wclass-memaccess-4.C: Moved to... + * g++.dg/warn/Wclass-memaccess-4.C: ...here. + * g++.dg/Wclass-memaccess-5.C: Moved to... + * g++.dg/warn/Wclass-memaccess-5.C: ...here. + * g++.dg/Wclass-memaccess-6.C: Moved to... + * g++.dg/warn/Wclass-memaccess-6.C: ...here. + * g++.dg/Wclass-memaccess.C: Moved to... + * g++.dg/warn/Wclass-memaccess.C: ...here. + * g++.dg/warn/Wclass-memaccess-7.C: New test. + +2022-05-18 Kewen Lin <linkw@linux.ibm.com> + + * gcc.target/powerpc/pr83660.C: Moved to... + * g++.target/powerpc/pr83660.C: ...here. + +2022-05-18 Frederik Harwath <frederik@codesourcery.com> + + * gcc.dg/graphite/scop-22a.c: New test. + +2022-05-18 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/all-memory-1.f90: Add inoutset test. + * gfortran.dg/gomp/all-memory-2.f90: Likewise. + * gfortran.dg/gomp/depobj-1.f90: Likewise. + * gfortran.dg/gomp/depobj-2.f90: Likewise. + +2022-05-18 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr103462-1.c: New test. + * gcc.target/i386/pr103462-2.c: New test. + * gcc.target/i386/pr103462-3.c: New test. + * gcc.target/i386/pr103462-4.c: New test. + * gcc.target/i386/pr103462-5.c: New test. + * gcc.target/i386/pr103462-6.c: New test. + +2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/95737 + * gcc.target/powerpc/pr95737.c: New. + +2022-05-18 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr104375.c: New test. + +2022-05-18 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr104610.c: New test. + +2022-05-17 Jason Merrill <jason@redhat.com> + + PR c++/102307 + * g++.dg/cpp1z/constexpr-array2.C: New test. + +2022-05-17 Tobias Burnus <tobias@codesourcery.com> + + * c-c++-common/gomp/target-device-ancestor-5.c: New test. + +2022-05-17 Giuliano Belinassi <gbelinassi@suse.de> + + PR c++/105169 + * g++.dg/modules/pr105169.h: New file. + * g++.dg/modules/pr105169_a.C: New test. + * g++.dg/modules/pr105169_b.C: New file. + +2022-05-17 Andrew MacLeod <amacleod@redhat.com> + + * gcc.dg/pr105458.c: New. + +2022-05-17 Uroš Bizjak <ubizjak@gmail.com> + + PR target/105624 + * gcc.target/i386/pr105624.c: New test. + +2022-05-17 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/all-memory-1.c (boo): Add test with + inoutset depend-kind. + * c-c++-common/gomp/all-memory-2.c (boo): Likewise. + * c-c++-common/gomp/depobj-1.c (f1): Likewise. + (f2): Adjusted expected diagnostics. + * g++.dg/gomp/depobj-1.C (f4): Adjust expected diagnostics. + +2022-05-17 Jakub Jelinek <jakub@redhat.com> + + PR target/105613 + * gcc.c-torture/execute/pr105613.c: New test. + +2022-05-17 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/all-memory-1.f90: New test. + * gfortran.dg/gomp/all-memory-2.f90: New test. + * gfortran.dg/gomp/all-memory-3.f90: New test. + +2022-05-17 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105618 + * gcc.dg/tree-ssa/ssa-sink-19.c: New testcase. + +2022-05-17 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr105033.c: New test. + +2022-05-17 liuhongt <hongtao.liu@intel.com> + + * gcc.dg/pr105591.c: New test. + +2022-05-16 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105103 + * gcc.dg/analyzer/stdarg-1.c: New test. + * gcc.dg/analyzer/stdarg-2.c: New test. + * gcc.dg/analyzer/stdarg-fmtstring-1.c: New test. + * gcc.dg/analyzer/stdarg-lto-1-a.c: New test. + * gcc.dg/analyzer/stdarg-lto-1-b.c: New test. + * gcc.dg/analyzer/stdarg-lto-1.h: New test. + * gcc.dg/analyzer/stdarg-sentinel-1.c: New test. + * gcc.dg/analyzer/stdarg-types-1.c: New test. + * gcc.dg/analyzer/stdarg-types-2.c: New test. + +2022-05-16 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/105577 + * g++.dg/torture/pr105577.C: New testcase. + +2022-05-16 Richard Biener <rguenther@suse.de> + + * gcc.dg/torture/pr105598.c: New testcase. + +2022-05-16 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr105587.c: New test. + +2022-05-15 Jason Merrill <jason@redhat.com> + + PR c++/100502 + PR c++/58993 + * g++.dg/template/access37.C: Now OK. + * g++.dg/template/friend69.C: Now OK. + * g++.dg/lookup/friend23.C: New test. + +2022-05-15 Jason Merrill <jason@redhat.com> + + PR c++/105589 + PR c++/105191 + PR c++/92385 + * g++.dg/cpp0x/initlist-array16.C: New test. + +2022-05-13 Marek Polacek <polacek@redhat.com> + + PR c++/81952 + * g++.dg/overload/conv-op4.C: New test. + +2022-05-13 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + * gcc.target/i386/sse2-v1ti-veq.c: New test case. + * gcc.target/i386/sse2-v1ti-vne.c: New test case. + +2022-05-13 Paul A. Clarke <pc@us.ibm.com> + + * g++.target/powerpc/pr65240-1.C: Adjust DejaGnu directives. + * g++.target/powerpc/pr65240-2.C: Likewise. + * g++.target/powerpc/pr65240-3.C: Likewise. + * g++.target/powerpc/pr65240-4.C: Likewise. + * g++.target/powerpc/pr65242.C: Likewise. + * g++.target/powerpc/pr67211.C: Likewise. + * g++.target/powerpc/pr69667.C: Likewise. + * g++.target/powerpc/pr71294.C: Likewise. + +2022-05-13 Paul A. Clarke <pc@us.ibm.com> + + * g++.dg/pr65240.h: Move to g++.target/powerpc. + * g++.dg/pr93974.C: Likewise. + * g++.dg/pr65240-1.C: Move to g++.target/powerpc, adjust dg directives. + * g++.dg/pr65240-2.C: Likewise. + * g++.dg/pr65240-3.C: Likewise. + * g++.dg/pr65240-4.C: Likewise. + * g++.dg/pr65242.C: Likewise. + * g++.dg/pr67211.C: Likewise. + * g++.dg/pr69667.C: Likewise. + * g++.dg/pr71294.C: Likewise. + * g++.dg/pr84264.C: Likewise. + * g++.dg/pr84279.C: Likewise. + * g++.dg/pr85657.C: Likewise. + * g++.target/powerpc/pr65240-1.C: New file. + * g++.target/powerpc/pr65240-2.C: New file. + * g++.target/powerpc/pr65240-3.C: New file. + * g++.target/powerpc/pr65240-4.C: New file. + * g++.target/powerpc/pr65240.h: New file. + * g++.target/powerpc/pr65242.C: New file. + * g++.target/powerpc/pr67211.C: New file. + * g++.target/powerpc/pr69667.C: New file. + * g++.target/powerpc/pr71294.C: New file. + * g++.target/powerpc/pr84264.C: New file. + * g++.target/powerpc/pr84279.C: New file. + * g++.target/powerpc/pr85657.C: New file. + * g++.target/powerpc/pr93974.C: New file. + +2022-05-13 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/83907 + * gcc.dg/tree-ssa/pr83907-1.c: New test case. + * gcc.dg/tree-ssa/pr83907-2.c: New test case. + +2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu> + Manolis Tsamis <manolis.tsamis@vrull.eu> + + * gcc.dg/pr90838.c: Add additional flags (dg-additional-options) + when compiling for riscv64 and subsume gcc.target/aarch64/pr90838.c + and gcc.target/i386/pr95863-2.c. + * gcc.target/aarch64/pr90838.c: Removed. + * gcc.target/i386/pr95863-2.c: Removed. + * lib/target-supports.exp: Recognize RV32 or RV64 via XLEN + +2022-05-13 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/105597 + * gcc.dg/pr105597.c: New. + +2022-05-13 Sebastian Pop <spop@amazon.com> + + PR target/105162 + * gcc.target/aarch64/sync-comp-swap-ool.c: New. + * gcc.target/aarch64/sync-op-acquire-ool.c: New. + * gcc.target/aarch64/sync-op-full-ool.c: New. + * gcc.target/aarch64/target_attr_20.c: Update check. + * gcc.target/aarch64/target_attr_21.c: Same. + +2022-05-13 Palmer Dabbelt <palmer@rivosinc.com> + + * gcc.dg/debug/btf/btf-datasec-1.c: Don't use small data on RISC-V. + +2022-05-13 Jia-Wei Chen <jiawei@iscas.ac.cn> + + * g++.dg/opt/const7.C: Don't use small data on RISC-V. + +2022-05-13 Andrew MacLeod <amacleod@redhat.com> + + * g++.dg/pr104547.C: New. + +2022-05-13 Nathan Sidwell <nathan@acm.org> + + * g++.dg/modules/mod-sym-4.C: New. + +2022-05-13 Alexandre Oliva <oliva@adacore.com> + + * gnat.dg/hardbool.ads: New. + * gnat.dg/hardbool.adb: New. + +2022-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/sso17.adb: New test. + +2022-05-13 Christophe Lyon <christophe.lyon@arm.com> + + * gcc.target/aarch64/sve/acle/general/attributes_7.c: Make + diagnostic unique. + +2022-05-13 Richard Biener <rguenther@suse.de> + + * gcc.dg/plugin/diagnostic_group_plugin.c: Reorder or remove + gimple-fold.h include. + * gcc.dg/plugin/diagnostic_plugin_show_trees.c: + Likewise. + * gcc.dg/plugin/diagnostic_plugin_test_inlining.c: + Likewise. + * gcc.dg/plugin/diagnostic_plugin_test_metadata.c: + Likewise. + * gcc.dg/plugin/diagnostic_plugin_test_paths.c: + Likewise. + * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: + Likewise. + * gcc.dg/plugin/diagnostic_plugin_test_string_literals.c: Likewise. + * gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c: + Likewise. + * gcc.dg/plugin/finish_unit_plugin.c: Likewise. + * gcc.dg/plugin/ggcplug.c: Likewise. + * gcc.dg/plugin/must_tail_call_plugin.c: Likewise. + * gcc.dg/plugin/one_time_plugin.c: Likewise. + * gcc.dg/plugin/selfassign.c: Likewise. + * gcc.dg/plugin/start_unit_plugin.c: Likewise. + * g++.dg/plugin/selfassign.c: Likewise. + +2022-05-13 Alexandre Oliva <oliva@adacore.com> + + PR rtl-optimization/105455 + * gcc.dg/pr105455.c: New. + +2022-05-13 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr102583.c: New test. + * gcc.target/i386/pr92645-2.c: Adjust testcase. + * gcc.target/i386/pr92645-3.c: Ditto. + +2022-05-12 David Edelsohn <dje.gcc@gmail.com> + + * g++.target/powerpc/pr101168.C: Require VSX. + +2022-05-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105562 + * g++.dg/warn/uninit-pr105562.C: New testcase. + +2022-05-12 Nathan Sidwell <nathan@acm.org> + + * g++.dg/modules/lang-3_a.C: New. + * g++.dg/modules/lang-3_b.C: New. + * g++.dg/modules/lang-3_c.C: New. + +2022-05-12 Haochen Jiang <haochen.jiang@intel.com> + + PR target/104371 + * gcc.target/i386/pr104371-1.c: New test. + * gcc.target/i386/pr104371-2.c: Ditto. + +2022-05-12 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/all-memory-1.c: New test. + * c-c++-common/gomp/all-memory-2.c: New test. + * c-c++-common/gomp/all-memory-3.c: New test. + * g++.dg/gomp/all-memory-1.C: New test. + * g++.dg/gomp/all-memory-2.C: New test. + +2022-05-12 jiawei <jiawei@iscas.ac.cn> + + * c-c++-common/Wconversion-1.c: Update type. + +2022-05-11 Jason Merrill <jason@redhat.com> + + PR c++/105541 + * g++.dg/cpp2a/lambda-requires1.C: New test. + +2022-05-11 Jason Merrill <jason@redhat.com> + + PR bootstrap/105567 + * g++.dg/template/ctor10.C: New test. + +2022-05-11 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/105230 + * gfortran.dg/pr105230.f90: New test. + +2022-05-11 Richard Biener <rguenther@suse.de> + + * gcc.dg/tree-ssa/pr61839_1.c: Adjust. + * gcc.dg/tree-ssa/vrp24.c: Likewise. + +2022-05-11 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr104915-vmovd.c: New test. + * gcc.target/i386/pr104915-vmovw.c: New test. + +2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/105414 + * gcc.dg/pr105414.c: New. + +2022-05-10 Harald Anlauf <anlauf@gmx.de> + + PR fortran/105526 + * gfortran.dg/coarray_50.f90: New test. + +2022-05-10 H.J. Lu <hjl.tools@gmail.com> + + PR target/105472 + * gcc.target/i386/iamcu/asm-support.S: Add .note.GNU-stack section + only for Linux. + * gcc.target/x86_64/abi/asm-support.S: Likewise. + * gcc.target/x86_64/abi/avx/asm-support.S: Likewise. + * gcc.target/x86_64/abi/avx512f/asm-support.S: Likewise. + * gcc.target/x86_64/abi/avx512fp16/asm-support.S: Likewise. + * gcc.target/x86_64/abi/avx512fp16/m256h/asm-support.S: Likewise. + * gcc.target/x86_64/abi/avx512fp16/m512h/asm-support.S: Likewise. + * gcc.target/x86_64/abi/ms-sysv/do-test.S: Likewise. + +2022-05-10 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105528 + * gcc.dg/pr105528.c: New test. + +2022-05-10 Maciej W. Rozycki <macro@embecosm.com> + + * gcc.target/riscv/fmax-snan.c: New test. + * gcc.target/riscv/fmax.c: New test. + * gcc.target/riscv/fmaxf-snan.c: New test. + * gcc.target/riscv/fmaxf.c: New test. + * gcc.target/riscv/fmin-snan.c: New test. + * gcc.target/riscv/fmin.c: New test. + * gcc.target/riscv/fminf-snan.c: New test. + * gcc.target/riscv/fminf.c: New test. + * gcc.target/riscv/smax-ieee.c: New test. + * gcc.target/riscv/smax.c: New test. + * gcc.target/riscv/smaxf-ieee.c: New test. + * gcc.target/riscv/smaxf.c: New test. + * gcc.target/riscv/smin-ieee.c: New test. + * gcc.target/riscv/smin.c: New test. + * gcc.target/riscv/sminf-ieee.c: New test. + * gcc.target/riscv/sminf.c: New test. + +2022-05-10 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100400 + * c-c++-common/goacc/kernels-decompose-pr100400-1-2.c: Specify + '-Wfatal-errors'. + +2022-05-10 Richard Biener <rguenther@suse.de> + + PR middle-end/105537 + * gcc.dg/torture/pr105537.c: New testcase. + +2022-05-10 Uroš Bizjak <ubizjak@gmail.com> + Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/and-1.c: New test case. + +2022-05-10 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.dg/tree-ssa/pr65855-2.c: New test case. + +2022-05-10 Claire Dross <dross@adacore.com> + + * gnat.dg/loopvar.adb: Update expected error message. + +2022-05-10 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/equal7.adb: Add expected error messages (code is now + illegal). + +2022-05-10 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.target/sparc/20220510-1.c: New test. + +2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR middle-end/70090 + * gcc.dg/ubsan/object-size-dyn.c: New test. + +2022-05-10 Jason Merrill <jason@redhat.com> + + PR c++/105529 + * g++.dg/cpp2a/constexpr-dtor13.C: New test. + * g++.dg/cpp2a/constexpr-dtor14.C: New test. + +2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com> + + PR preprocessor/101168 + * g++.target/powerpc/pr101168.C: New test. + +2022-05-09 Marek Polacek <polacek@redhat.com> + + PR c++/103539 + * g++.dg/cpp23/label1.C: New test. + * g++.dg/cpp23/label2.C: New test. + +2022-05-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/105501 + * gfortran.dg/pr105501.f90: New test. + +2022-05-09 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/analyzer/torture/pr51628-30.c: Test can spill excess + errors for default_packed targets. + +2022-05-09 Jakub Jelinek <jakub@redhat.com> + + PR c++/105256 + * g++.dg/cpp0x/pr105256.C: Remove superfluous semicolon. + +2022-05-09 Qing Zhao <qing.zhao@oracle.com> + + * gcc.target/i386/zero-scratch-regs-1.c: Add -fno-stack-protector + -fno-PIC. + * gcc.target/i386/zero-scratch-regs-10.c: Adjust mov to xor. + * gcc.target/i386/zero-scratch-regs-13.c: Add -msse. + * gcc.target/i386/zero-scratch-regs-14.c: Adjust mov to xor. + * gcc.target/i386/zero-scratch-regs-15.c: Add -fno-stack-protector + -fno-PIC. + * gcc.target/i386/zero-scratch-regs-16.c: Likewise. + * gcc.target/i386/zero-scratch-regs-17.c: Likewise. + * gcc.target/i386/zero-scratch-regs-18.c: Add -fno-stack-protector + -fno-PIC, adjust mov to xor. + * gcc.target/i386/zero-scratch-regs-19.c: Add -fno-stack-protector + -fno-PIC. + * gcc.target/i386/zero-scratch-regs-2.c: Adjust mov to xor. + * gcc.target/i386/zero-scratch-regs-20.c: Add -msse. + * gcc.target/i386/zero-scratch-regs-21.c: Add -fno-stack-protector + -fno-PIC, Adjust mov to xor. + * gcc.target/i386/zero-scratch-regs-22.c: Adjust mov to xor. + * gcc.target/i386/zero-scratch-regs-23.c: Likewise. + * gcc.target/i386/zero-scratch-regs-26.c: Likewise. + * gcc.target/i386/zero-scratch-regs-27.c: Likewise. + * gcc.target/i386/zero-scratch-regs-28.c: Likewise. + * gcc.target/i386/zero-scratch-regs-3.c: Add -fno-stack-protector. + * gcc.target/i386/zero-scratch-regs-31.c: Adjust mov to xor. + * gcc.target/i386/zero-scratch-regs-4.c: Add -fno-stack-protector + -fno-PIC. + * gcc.target/i386/zero-scratch-regs-5.c: Adjust mov to xor. + * gcc.target/i386/zero-scratch-regs-6.c: Add -fno-stack-protector. + * gcc.target/i386/zero-scratch-regs-7.c: Likewise. + * gcc.target/i386/zero-scratch-regs-8.c: Adjust mov to xor. + * gcc.target/i386/zero-scratch-regs-9.c: Add -fno-stack-protector. + +2022-05-09 Patrick Palka <ppalka@redhat.com> + + PR c++/105491 + * g++.dg/cpp0x/constexpr-union7.C: New test. + * g++.dg/cpp0x/constexpr-union7a.C: New test. + * g++.dg/cpp2a/constinit17.C: New test. + +2022-05-09 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr105354-1.c: New test. + * gcc.target/i386/pr105354-2.c: New test. + +2022-05-09 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr105072.c: New test. + +2022-05-07 Marek Polacek <polacek@redhat.com> + + PR c++/101833 + PR c++/47634 + * g++.dg/ext/attr-format-arg1.C: New test. + * g++.dg/ext/attr-format1.C: New test. + * g++.dg/ext/attr-format2.C: New test. + * g++.dg/ext/attr-format3.C: New test. + +2022-05-06 Jason Merrill <jason@redhat.com> + + * g++.dg/diagnostic/function-color1.C: New test. + +2022-05-06 Michael Meissner <meissner@linux.ibm.com> + + PR target/102059 + * gcc.target/powerpc/pr102059-4.c: New test. + +2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com> + + * c-c++-common/gomp/allocate-2.c: Add tests. + * c-c++-common/gomp/allocate-8.c: New test. + * gfortran.dg/gomp/allocate-3.f90: Add tests. + * gcc.dg/gomp/pr104517.c: Update. + +2022-05-05 Marek Polacek <polacek@redhat.com> + + PR c++/64679 + * g++.dg/parse/ambig11.C: New test. + * g++.dg/parse/ambig12.C: New test. + * g++.dg/parse/ambig13.C: New test. + * g++.dg/parse/ambig14.C: New test. + +2022-05-05 Uroš Bizjak <ubizjak@gmail.com> + + * gcc.target/i386/pr103611-2.c (dg-do): Compile for target ia32. + (dg-options): Remove -m32. + * gcc.target/i386/pr105032.c (dg-do): Compile for taget ia32. + (dg-additional-options): Remove. + * gcc.target/i386/pr104732.c (dg-options): Remove -m32. + * gcc.target/i386/pr99753.c (dg-options): Ditto. + +2022-05-05 Sandra Loosemore <sandra@codesourcery.com> + + * c-c++-common/gomp/loop-6.c (f3): New function to test TASKLOOP + diagnostics. + * gfortran.dg/gomp/collapse1.f90: Update expected messages. + * gfortran.dg/gomp/pr85313.f90: Remove dg-error on non-rectangular + loops that are now accepted. + * gfortran.dg/gomp/non-rectangular-loop.f90: New file. + * gfortran.dg/gomp/canonical-loop-1.f90: New file. + * gfortran.dg/gomp/canonical-loop-2.f90: New file. + +2022-05-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104162 + * gcc.dg/tree-ssa/ssa-fre-99.c: New testcase. + * gcc.dg/asan/pr99673.c: Adjust. + +2022-05-05 Roger Sayle <roger@nextmovesoftware.com> + + PR testsuite/105486 + * gcc.dg/pr102950.c: Use explicit "signed char" in test case. + +2022-05-05 Richard Biener <rguenther@suse.de> + + PR testsuite/105486 + * gcc.dg/vect/bb-slp-pr104240.c: Align all data. + +2022-05-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105484 + * gcc.dg/torture/pr105484.c: New testcase. + +2022-05-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104595 + * gcc.dg/vect/pr104595.c: New testcase. + +2022-05-04 Patrick Palka <ppalka@redhat.com> + + PR c++/105476 + * g++.dg/cpp2a/class-deduction-aggr13.C: New test. + * g++.dg/cpp2a/class-deduction-aggr13a.C: New test. + +2022-05-04 Marek Polacek <polacek@redhat.com> + + * c-c++-common/Wconversion-1.c: New test. + +2022-05-04 Marek Polacek <polacek@redhat.com> + + PR c++/64679 + * g++.dg/parse/functor1.C: New test. + +2022-05-04 Marek Polacek <polacek@redhat.com> + + PR c++/105436 + * g++.dg/parse/template31.C: New test. + +2022-05-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104658 + * gcc.target/i386/pr104658.c: New testcase. + +2022-05-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103116 + * gcc.dg/vect/pr103116-1.c: New testcase. + * gcc.dg/vect/pr103116-2.c: Likewise. + +2022-05-04 Martin Liska <mliska@suse.cz> + + * c-c++-common/asan/alloca_loop_unpoisoning.c: Do not combine + fake and real stack. + +2022-05-04 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp23/lambda-attr1.C: New test. + * g++.dg/cpp23/lambda-attr2.C: New test. + +2022-05-04 Martin Liska <mliska@suse.cz> + + * c-c++-common/hwasan/alloca-outside-caught.c: Update dg-output. + * c-c++-common/hwasan/heap-overflow.c: Likewise. + * c-c++-common/hwasan/hwasan-thread-access-parent.c: Likewise. + * c-c++-common/hwasan/large-aligned-1.c: Likewise. + * c-c++-common/hwasan/stack-tagging-basic-1.c: Likewise. + +2022-05-03 Patrick Palka <ppalka@redhat.com> + + PR c++/105351 + * g++.dg/template/sfinae33.C: New test. + +2022-05-03 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.c-torture/compile/attr-complex-method-2.c: Accept both __divdc3 + and __gnu_divdc3 as valid libgcc function names. + * gcc.dg/complex-6.c: Ditto for __mulsc3. + * gcc.dg/complex-7.c: Ditto for __muldc3. + +2022-05-03 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/memchr.c: Skip for default_packed targets. + * gcc.dg/memcmp-3.c: Ditto. + +2022-05-03 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/Wattributes-8.c: Add annotations for default_packed + targets. + +2022-05-03 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/lower-subreg-1.c: Skip for PRU. + +2022-05-03 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/Wno-frame-address.c: Skip for PRU target. + +2022-05-03 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/102950 + * gcc.dg/pr102950.c: New test case. + * gcc.dg/tree-ssa/evrp10.c: New test case. + +2022-05-03 Uroš Bizjak <ubizjak@gmail.com> + + PR target/105079 + * gcc.target/i386/pr105079.c: New test. + * gcc.target/i386/pr95483-1.c (dg-options): Use -msse4.1. + +2022-05-03 Richard Biener <rguenther@suse.de> + + PR middle-end/105461 + * gcc.dg/pr105461.c: New testcase. + +2022-05-03 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Update + the expected message for the case in which unaligned accesses + are not allowed. + +2022-05-02 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp2a/lambda-pack-init7.C: Check column number. + +2022-05-02 Jason Merrill <jason@redhat.com> + + * g++.dg/lookup/name-clash13.C: New test. + * g++.dg/lookup/name-clash14.C: New test. + * g++.dg/lookup/name-clash15.C: New test. + * g++.dg/lookup/name-clash16.C: New test. + +2022-05-02 H.J. Lu <hjl.tools@gmail.com> + + PR testsuite/105433 + * gcc.target/i386/iamcu/asm-support.S: Add .note.GNU-stack. + * gcc.target/x86_64/abi/asm-support.S: Likewise. + * gcc.target/x86_64/abi/avx/asm-support.S: Likewise. + * gcc.target/x86_64/abi/avx512f/asm-support.S: Likewise. + * gcc.target/x86_64/abi/avx512fp16/asm-support.S: Likewise. + * gcc.target/x86_64/abi/avx512fp16/m256h/asm-support.S: Likewise. + * gcc.target/x86_64/abi/avx512fp16/m512h/asm-support.S: Likewise. + * gcc.target/x86_64/abi/ms-sysv/do-test.S: Likewise. + +2022-05-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104240 + * gcc.dg/vect/bb-slp-pr104240.c: New testcase. + +2022-05-02 Jakub Jelinek <jakub@redhat.com> + + PR debug/105415 + * gcc.dg/pr105415.c: New test. + +2022-05-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105437 + * g++.dg/vect/pr105437.cc: New testcase. + +2022-04-30 Jason Merrill <jason@redhat.com> + + PR c/100545 + * c-c++-common/attr-mode-1.c: New test. + * c-c++-common/attr-mode-2.c: New test. + +2022-04-29 Jason Merrill <jason@redhat.com> + + PR c++/104470 + * g++.dg/cpp2a/explicit11.C: Second example also ill-formed. + * g++.dg/cpp2a/class-deduction-alias12.C: New test. + +2022-04-29 Marek Polacek <polacek@redhat.com> + + PR c++/67048 + * g++.dg/cpp0x/enum42.C: New test. + +2022-04-29 Jason Merrill <jason@redhat.com> + + PR c++/80351 + * g++.dg/cpp0x/constexpr-77482.C: Adjust message. + * g++.dg/cpp1y/auto-fn27.C: Likewise. + * g++.dg/cpp1y/lambda-generic-variadic22.C: Likewise. + * g++.dg/cpp1z/decomp54.C: Likewise. + * g++.dg/cpp0x/initlist-const1.C: New test. + * g++.dg/warn/Wunused-var-37.C: New test. + * g++.dg/warn/Wunused-var-38.C: New test. + * g++.dg/warn/Wunused-var-39.C: New test. + +2022-04-29 Martin Jambor <mjambor@suse.cz> + + PR ipa/100413 + * g++.dg/ipa/pr100413.C: New test. + +2022-04-29 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR tree-optimization/105219 + * gcc.dg/vect/pr105219.c: Add aarch64 target option. + +2022-04-29 Marek Polacek <polacek@redhat.com> + + PR c++/83596 + * g++.dg/cpp1z/nontype5.C: New test. + +2022-04-29 Marek Polacek <polacek@redhat.com> + + PR c++/78244 + * g++.dg/cpp0x/Wnarrowing20.C: New test. + +2022-04-29 Marek Polacek <polacek@redhat.com> + + PR c++/71424 + * g++.dg/cpp0x/initlist-array15.C: New test. + +2022-04-29 Jason Merrill <jason@redhat.com> + + PR c++/102987 + * g++.dg/diagnostic/using1.C: Check pretty-printing. + +2022-04-29 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp0x/alias-decl-1.C: Expect qualified name. + +2022-04-29 Jakub Jelinek <jakub@redhat.com> + + PR c++/104319 + * g++.dg/parse/template28.C: Adjust expected diagnostics. + * g++.dg/parse/template30.C: New test. + +2022-04-29 Uroš Bizjak <ubizjak@gmail.com> + + PR target/51954 + * gcc.target/i386/pr51954.c: New test. + +2022-04-29 Richard Biener <rguenther@suse.de> + + PR middle-end/105376 + * gcc.dg/pr105376.c: New testcase. + +2022-04-29 Jason Merrill <jason@redhat.com> + + * g++.dg/ext/unary_trait_incomplete.C: Adjust. + +2022-04-29 Jason Merrill <jason@redhat.com> + + PR c++/102651 + PR c++/49387 + * g++.dg/rtti/typeid-complete1.C: New test. + +2022-04-29 Zhao Wei Liew <zhaoweiliew@gmail.com> + + PR c++/25689 + * g++.dg/warn/Wparentheses-31.C: New test. + +2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * gcc.dg/gcov-info-to-gcda.c: Test __gcov_filename_to_gcfn(). + +2022-04-28 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105285 + * gcc.dg/analyzer/symbolic-12.c: New test. + +2022-04-28 Patrick Palka <ppalka@redhat.com> + + PR c++/105425 + * g++.dg/template/partial-specialization13.C: New test. + +2022-04-28 Jeff Law <jeffreyalaw@gmail.com> + + * gcc.dg/lto/pr94157_0.c: Revert last change. + * lib/prune.exp (prune_gcc_output): Prune new linker warning. + +2022-04-28 Jakub Jelinek <jakub@redhat.com> + + PR lto/105399 + * g++.dg/lto/pr105399_0.C: New test. + +2022-04-28 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/104051 + * g++.dg/coroutines/pr104051.C: New test. + +2022-04-28 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/105301 + * g++.dg/coroutines/pr105301.C: New test. + +2022-04-28 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/105287 + * g++.dg/coroutines/pr105287.C: New test. + +2022-04-28 Nathan Sidwell <nathan@acm.org> + Iain Sandoe <iain@sandoe.co.uk> + + PR c++/103868 + * g++.dg/coroutines/pr103868.C: New test. + +2022-04-28 Iain Sandoe <iain@sandoe.co.uk> + + * gcc.target/i386/memcpy-strategy-10.c: Account for + __USER_LABEL_PREFIX__. + * gcc.target/i386/memcpy-strategy-5.c: Likewise. + * gcc.target/i386/memset-strategy-5.c: Likewise. + * gcc.target/i386/memset-strategy-7.c: Likewise. + +2022-04-28 Iain Sandoe <iain@sandoe.co.uk> + + * g++.target/i386/mv31.C: Add target supports guard for ifuncs. + +2022-04-28 Marek Polacek <polacek@redhat.com> + + PR c++/90107 + * g++.dg/parse/qualified6.C: New test. + +2022-04-28 Jakub Jelinek <jakub@redhat.com> + + PR target/105331 + * gcc.dg/pr105331.c: New test. + +2022-04-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105219 + * gcc.dg/vect/pr105219.c: New testcase. + +2022-04-28 Kewen Lin <linkw@linux.ibm.com> + + PR target/105334 + * gcc.target/powerpc/pr105334.c: New test. + +2022-04-28 Jia-Wei Chen <jiawei@iscas.ac.cn> + + PR target/104676 + * gcc.dg/torture/pr104676.c: Add "{target pthread}" check. + +2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang> + + * gcc.target/loongarch/zero-size-field-pass.c: New test. + * gcc.target/loongarch/zero-size-field-ret.c: New test. + +2022-04-27 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/pr70673.f90: Removed second invalid + line. + +2022-04-27 Marek Polacek <polacek@redhat.com> + + PR c++/105398 + * g++.dg/cpp1y/lambda-generic-enum2.C: New test. + +2022-04-27 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104492 + * g++.dg/warn/pr104492.C: New test. + +2022-04-27 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR fortran/70673 + PR fortran/78054 + * gfortran.dg/pr70673.f90: Remove invalid statement. + * gfortran.dg/pr70673_2.f90: New test to check that + ICE does not re-appear. + +2022-04-27 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/103662 + PR fortran/105379 + * gfortran.dg/class_dummy_8.f90: New test. + * gfortran.dg/class_dummy_9.f90: New test. + +2022-04-27 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/102043 + PR fortran/105381 + * gfortran.dg/character_array_dummy_1.f90: New test. + +2022-04-27 Christophe Lyon <christophe.lyon@arm.com> + + PR tree-optimization/105374 + * gcc.target/arm/simd/pr105374.C: New. + +2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com> + + PR target/102024 + * g++.target/s390/pr102024-1.C: New test. + * g++.target/s390/pr102024-2.C: New test. + * g++.target/s390/pr102024-3.C: New test. + * g++.target/s390/pr102024-4.C: New test. + * g++.target/s390/pr102024-5.C: New test. + * g++.target/s390/pr102024-6.C: New test. + +2022-04-27 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/105396 + * gcc.dg/asan/pr105396.c: New test. + +2022-04-27 Kewen Lin <linkw@linux.ibm.com> + + PR target/105271 + * gcc.target/powerpc/pr105271.c: New test. + +2022-04-26 Jason Merrill <jason@redhat.com> + + PR c++/102629 + * g++.dg/cpp2a/lambda-pack-init7.C: New test. + +2022-04-26 Patrick Palka <ppalka@redhat.com> + + PR c++/105386 + * g++.dg/cpp0x/decltype81.C: New test. + +2022-04-26 Segher Boessenkoool <segher@kernel.crashing.org> + + PR target/105349 + * lib/target-supports.exp (check_effective_target_has_arch_pwr5): Use + the specified dg-options. + (check_effective_target_has_arch_pwr6): Ditto. + (check_effective_target_has_arch_pwr7): Ditto. + (check_effective_target_has_arch_pwr8): Ditto. + (check_effective_target_has_arch_pwr9): Ditto. + (check_effective_target_has_arch_pwr10): Ditto. + (check_effective_target_has_arch_ppc64): Ditto. + +2022-04-26 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/105314 + * gcc.target/riscv/pr105314.c: New test. + +2022-04-26 Jakub Jelinek <jakub@redhat.com> + + PR c++/65211 + * g++.target/i386/vec-tmpl1.C: Add -Wno-psabi as + dg-additional-options. + +2022-04-26 Jakub Jelinek <jakub@redhat.com> + + PR target/105367 + * gcc.target/i386/pr105367.c: New test. + +2022-04-26 Jakub Jelinek <jakub@redhat.com> + + PR fortran/103662 + * lib/target-supports.exp (check_effective_target___OPTIMIZE__): Add + a var definition to avoid pedwarn about empty translation unit. + * gfortran.dg/unlimited_polymorphic_3.f03: Remove -ftree-dse from + dg-additional-options, guard scan-tree-dump-not directives on + __OPTIMIZE__ target. + +2022-04-26 Jason Merrill <jason@redhat.com> + + PR c++/104624 + * g++.dg/cpp1y/lambda-generic-variadic22.C: New test. + +2022-04-26 Patrick Palka <ppalka@redhat.com> + + PR c++/105304 + * g++.dg/cpp2a/concepts-requires30.C: New test. + +2022-04-26 Patrick Palka <ppalka@redhat.com> + + PR c++/105289 + PR c++/86193 + * g++.dg/template/partial-specialization11.C: New test. + * g++.dg/template/partial-specialization12.C: New test. + +2022-04-25 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105365 + PR analyzer/105366 + * gcc.dg/analyzer/pr105365.c: New test. + * gcc.dg/analyzer/pr105366.c: New test. + +2022-04-25 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104308 + * gcc.dg/analyzer/pr104308.c: Add test coverage. + +2022-04-25 Jakub Jelinek <jakub@redhat.com> + Thomas Schwinge <thomas@codesourcery.com> + + PR fortran/104717 + * gfortran.dg/goacc/pr104717.f90: New test. + * gfortran.dg/goacc/privatization-1-compute-loop.f90: Adjust. + +2022-04-25 Marek Polacek <polacek@redhat.com> + + PR c++/105353 + * g++.dg/ext/builtin-shufflevector-3.C: New test. + +2022-04-25 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/105276 + * g++.dg/pr105276.C: New. + +2022-04-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/103662 + * gfortran.dg/unlimited_polymorphic_3.f03: Force execution of + the DSE optimization pass. + +2022-04-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/100810 + * gcc.dg/torture/pr100810.c: New testcase. + * gcc.dg/torture/pr105337.c: Likewise. + +2022-04-25 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/105231 + * gcc.dg/torture/pr105231.c: New testcase. + +2022-04-25 Hongyu Wang <hongyu.wang@intel.com> + + PR target/105339 + * gcc.target/i386/sse-14.c: Add tests for new macro. + +2022-04-24 Jeff Law <jeffreyalaw@gmail.com> + + * gcc.dg/lto/pr94157_0.c: Also request executable stack from + the linker. + +2022-04-24 Mikael Morin <mikael@gcc.gnu.org> + Jakub Jelinek <jakub@redhat.com> + + PR fortran/103662 + * gfortran.dg/unlimited_polymorphic_3.f03 (foo): Separate + bind(c) and sequence checks to... + (foo_bc, foo_sq): ... two different procedures. + (main, foo*): Change type declarations so that type name, + component name, and either bind(c) or sequence attribute match + between the main type declarations and the procedure type + declarations. + (toplevel): Add optimization dump checks. + +2022-04-23 Jakub Jelinek <jakub@redhat.com> + + PR target/105338 + * gcc.target/i386/pr105338.c: New test. + +2022-04-22 Mikael Morin <mikael@gcc.gnu.org> + Richard Biener <rguenther@suse.de> + + PR fortran/102043 + * gfortran.dg/array_reference_3.f90: New. + * gfortran.dg/negative_stride_1.f90: New. + * gfortran.dg/vector_subscript_8.f90: New. + * gfortran.dg/vector_subscript_9.f90: New. + * gfortran.dg/c_loc_test_22.f90: Update dump patterns. + * gfortran.dg/finalize_10.f90: Same. + +2022-04-22 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/102043 + * gfortran.dg/dependency_49.f90: Update variable occurence + count. + +2022-04-22 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/105333 + * gcc.dg/pr105333.c: New test. + +2022-04-21 Segher Boessenkool <segher@kernel.crashing.org> + + PR target/103197 + PR target/102146 + * gcc.target/powerpc/bswap-brw.c: Add xfail on scan-assembler for -m32. + +2022-04-21 Segher Boessenkool <segher@kernel.crashing.org> + + * lib/target-supports.exp (check_effective_target_has_arch_ppc64): New. + +2022-04-21 Marek Polacek <polacek@redhat.com> + + PR c++/105321 + * g++.dg/cpp0x/constexpr-105321.C: New test. + +2022-04-21 Fritz Reese <foreese@gcc.gnu.org> + + PR fortran/105310 + * gfortran.dg/dec_union_12.f90: New test. + +2022-04-21 Jakub Jelinek <jakub@redhat.com> + + PR debug/105203 + * gfortran.dg/g77/pr105203.f: New test. + +2022-04-20 Ed Catmur <ed@catmur.uk> + + PR c++/104996 + * g++.dg/cpp0x/initlist129.C: New test. + +2022-04-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105312 + * gcc.target/arm/pr105312.c: New testcase. + +2022-04-20 Jan Hubicka <hubicka@ucw.cz> + + * gcc.c-torture/compile/103818.c: New test. + +2022-04-20 Jakub Jelinek <jakub@redhat.com> + + PR ipa/105306 + * g++.dg/opt/pr105306.C: New test. + +2022-04-19 Jakub Jelinek <jakub@redhat.com> + + PR target/105257 + * gcc.dg/pr105257.c: New test. + +2022-04-19 Jakub Jelinek <jakub@redhat.com> + + PR c++/105256 + * g++.dg/cpp0x/pr105256.C: New test. + +2022-04-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104010 + PR tree-optimization/103941 + * gcc.target/i386/pr103941-1.c: New testcase. + * gcc.target/i386/pr103941-2.c: Likewise. + +2022-04-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104880 + * g++.dg/opt/pr104880.cc: Rename to ... + * g++.dg/opt/pr104880.C: ... this. + +2022-04-18 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/105266 + * gcc.dg/pr105250.c: Skip for powerpc*-*-* and s390*-*-*. + +2022-04-15 Paul A. Clarke <pc@us.ibm.com> + + * g++.dg/debug/dwarf2/const2.C: Move to g++.target/powerpc. + * g++.dg/other/darwin-minversion-1.C: Likewise. + * g++.dg/eh/ppc64-sighandle-cr.C: Likewise. + * g++.dg/eh/simd-5.C: Likewise. + * g++.dg/eh/simd-4.C: Move to g++.target/powerpc, adjust dg directives. + * g++.dg/eh/uncaught3.C: Likewise. + * g++.dg/other/spu2vmx-1.C: Likewise. + * g++.target/powerpc/const2.C: New file. + * g++.target/powerpc/darwin-minversion-1.C: New file. + * g++.target/powerpc/ppc64-sighandle-cr.C: New file. + * g++.target/powerpc/simd-4.C: New file. + * g++.target/powerpc/simd-5.C: New file. + * g++.target/powerpc/spu2vmx-1.C: New file. + * g++.target/powerpc/uncaught3.C: New file. + +2022-04-15 Marek Polacek <polacek@redhat.com> + + PR c++/105268 + * g++.dg/concepts/variadic6.C: New test. + +2022-04-15 Hongyu Wang <hongyu.wang@intel.com> + + * gcc.target/i386/crc32-6.c: Adjust dg-error message. + * gcc.target/i386/crc32-7.c: New test. + +2022-04-15 Jason Merrill <jason@redhat.com> + + PR c++/102804 + * g++.dg/ext/unsigned-typedef1.C: New test. + +2022-04-15 Jason Merrill <jason@redhat.com> + + PR c++/102987 + * g++.dg/diagnostic/using1.C: New test. + +2022-04-14 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105264 + * gcc.dg/analyzer/torture/symbolic-10.c: New test. + +2022-04-14 Jason Merrill <jason@redhat.com> + + PR c++/104646 + * g++.dg/cpp0x/constexpr-fno-elide-ctors1.C: New test. + +2022-04-14 Jason Merrill <jason@redhat.com> + + PR c++/82980 + * g++.dg/cpp0x/lambda/lambda-current-inst1.C: New test. + +2022-04-14 Indu Bhagat <indu.bhagat@oracle.com> + + PR debug/105089 + * gcc.dg/debug/ctf/ctf-array-2.c: Refactor testcase. Move some + checks ... + * gcc.dg/debug/ctf/ctf-array-5.c: ... to here. + * gcc.dg/debug/ctf/ctf-variables-3.c: ... and here. Add + additional checks for one CTF variable and one CTF object info + record. + +2022-04-14 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105252 + * gcc.dg/analyzer/pr105252.c: New test. + +2022-04-14 Jakub Jelinek <jakub@redhat.com> + + PR target/105247 + * gcc.c-torture/compile/pr105247.c: New test. + +2022-04-14 Robin Dapp <rdapp@linux.ibm.com> + + * gcc.target/s390/pr80725.c: Add -Wno-int-to-pointer-cast. + +2022-04-14 Jason Merrill <jason@redhat.com> + + PR c++/65211 + * g++.target/i386/vec-tmpl1.C: New test. + +2022-04-14 Jason Merrill <jason@redhat.com> + + PR c++/97219 + * g++.dg/cpp1y/lambda-generic-local-fn1.C: New test. + +2022-04-14 Jason Merrill <jason@redhat.com> + + PR c++/101698 + * g++.dg/template/conv19.C: New test. + +2022-04-14 Jason Merrill <jason@redhat.com> + + PR c++/101442 + * g++.dg/cpp0x/initlist-nrv1.C: New test. + +2022-04-14 Jason Merrill <jason@redhat.com> + + PR c++/105265 + PR c++/100838 + * g++.dg/cpp0x/initlist-new6.C: New test. + +2022-04-13 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/105254 + * g++.dg/vect/pr105254.cc: New test. + +2022-04-13 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/105242 + * gfortran.dg/gomp/loop-exit.f90: New test. + +2022-04-13 Jason Merrill <jason@redhat.com> + + PR c++/105245 + PR c++/100111 + * g++.dg/cpp1y/constexpr-empty2.C: Add -fno-elide-constructors. + +2022-04-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105263 + * gcc.dg/pr105263.c: New testcase. + +2022-04-13 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/105253 + * gcc.target/i386/pr105253.c: New test. + +2022-04-13 Jakub Jelinek <jakub@redhat.com> + + PR c++/105233 + * g++.dg/cpp2a/is-constant-evaluated13.C: New test. + +2022-04-13 Martin Jambor <mjambor@suse.cz> + + PR testsuite/105183 + * gcc.dg/ipa/remref-7.c: Add --param max-inline-insns-auto=100 to options. + +2022-04-13 Marek Polacek <polacek@redhat.com> + + PR c++/97296 + * g++.dg/cpp0x/ref-bind4.C: Add dg-error. + * g++.dg/cpp0x/ref-bind8.C: New test. + +2022-04-13 Richard Biener <rguenther@suse.de> + + PR middle-end/105259 + * gcc.target/i386/auto-init-4.c: Adjust. + +2022-04-13 Jakub Jelinek <jakub@redhat.com> + + PR target/105234 + * gcc.c-torture/compile/pr105234.c: New test. + +2022-04-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105250 + * gcc.dg/pr105250.c: New testcase. + +2022-04-13 Alexandre Oliva <oliva@adacore.com> + + * gcc.target/powerpc/pr60203.c: Skip on no 128-bit long double. + +2022-04-13 Alexandre Oliva <oliva@adacore.com> + + PR target/102146 + * gcc.target/powerpc/pr56605.c: Accept SImode compare operand. + +2022-04-13 Xi Ruoyao <xry111@mengyan1223.wang> + + * gcc.target/mips/pr102024-4.c (dg-options): Add + -ffat-lto-objects. + +2022-04-12 Antoni Boucher <bouanto@zoho.com> + + PR jit/104293 + * jit.dg/all-non-failing-tests.h: Mention + test-setting-alignment. + * jit.dg/test-setting-alignment.c: New test. + +2022-04-12 Antoni Boucher <bouanto@zoho.com> + + PR jit/104072 + * jit.dg/all-non-failing-tests.h: Add new + test-register-variable. + * jit.dg/harness.h: Add -fdiagnostics-color=never to context's + command-line options. + * jit.dg/test-error-register-variable-bad-name.c: New test. + * jit.dg/test-error-register-variable-size-mismatch.c: New test. + * jit.dg/test-register-variable.c: New test. + +2022-04-12 Antoni Boucher <bouanto@zoho.com> + + PR jit/104071 + * jit.dg/all-non-failing-tests.h: Add new test-bitcast. + * jit.dg/test-bitcast.c: New test. + * jit.dg/test-error-bad-bitcast.c: New test. + * jit.dg/test-error-bad-bitcast2.c: New test. + +2022-04-12 Antoni Boucher <bouanto@zoho.com> + + PR target/95325 + * jit.dg/test-types.c: Add tests for sized integer types. + +2022-04-12 Jason Merrill <jason@redhat.com> + + PR c++/104669 + * g++.target/i386/mv31.C: New test. + +2022-04-12 Jason Merrill <jason@redhat.com> + + PR c++/102071 + * g++.dg/cpp1z/aligned-new9.C: Add single-object test. + +2022-04-12 Patrick Palka <ppalka@redhat.com> + + PR c++/103105 + * g++.dg/cpp2a/concepts-requires29.C: New test. + * g++.dg/cpp2a/concepts-requires29a.C: New test. + +2022-04-12 Richard Earnshaw <rearnsha@arm.com> + + PR target/101755 + * gcc.target/arm/reg_equal_test.c: Convert to gimple test. Restrict + to architectures with MOVW/MOVT. + +2022-04-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105235 + * g++.dg/opt/pr105235-1.C: New testcase. + +2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com> + + PR target/104144 + * gcc.target/arm/multilib.exp: Updated tests. + +2022-04-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105226 + * gcc.dg/pr105226.c: New testcase. + +2022-04-12 Jakub Jelinek <jakub@redhat.com> + + PR target/105214 + * gcc.dg/asan/pr105214.c: New test. + +2022-04-12 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/105211 + * gcc.dg/pr105211.c: New test. + +2022-04-12 Jason Merrill <jason@redhat.com> + + PR c++/104142 + * g++.dg/opt/const7.C: New test. + +2022-04-12 Jason Merrill <jason@redhat.com> + + PR c++/105223 + PR c++/92918 + * g++.dg/template/using31.C: New test. + +2022-04-11 Peter Bergner <bergner@linux.ibm.com> + + PR target/104894 + * gcc.target/powerpc/pr104894.c: New test. + * gcc.target/powerpc/pr104894-2.c: New test. + +2022-04-11 Jason Merrill <jason@redhat.com> + + PR c++/98249 + * g++.dg/lookup/new3.C: New test. + +2022-04-11 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105218 + * gcc.dg/pr105218.c: New test. + +2022-04-11 Alexandre Oliva <oliva@adacore.com> + + PR target/104253 + * gcc.target/powerpc/pr104253.c: Add missing dg- before + require-effective-target. Prune warning about -mfloat128 + possibly not being fully supported. + +2022-04-11 Tamar Christina <tamar.christina@arm.com> + + PR target/105197 + * gcc.target/aarch64/sve/pr105197-1.c: New test. + * gcc.target/aarch64/sve/pr105197-2.c: New test. + +2022-04-11 Jason Merrill <jason@redhat.com> + + PR c++/100370 + * g++.dg/warn/Wplacement-new-size-11.C: New test. + +2022-04-11 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104639 + * gcc.dg/tree-ssa/pr104639-1.c: New test. + * gcc.dg/tree-ssa/pr104639-2.c: New test. + +2022-04-11 Jakub Jelinek <jakub@redhat.com> + + PR c++/105186 + * c-c++-common/pr105186.c: New test. + +2022-04-11 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/103196 + * gcc.target/powerpc/p9-vec-length-epil-7.c: Add option + -fdisable-tree-cunroll. + * gcc.target/powerpc/p9-vec-length-full-7.c: Likewise. + +2022-04-10 Harald Anlauf <anlauf@gmx.de> + + PR fortran/105184 + * gfortran.dg/coarray_44.f90: Adjust expected output. + * gfortran.dg/coarray_allocate_11.f90: Likewise. + * gfortran.dg/coarray_allocate_12.f90: New test. + +2022-04-09 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/103892 + * gcc.dg/analyzer/pr103892.c: New test. + * gcc.dg/analyzer/pr96841.c: Drop redundant + -Wno-analyzer-too-complex. + +2022-04-09 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/103376 + * gcc.c-torture/compile/pr103376.c: New test. + +2022-04-09 Jan Hubicka <hubicka@ucw.cz> + + * gcc.dg/ipa/pr105160.c: New test. + +2022-04-09 Xi Ruoyao <xry111@mengyan1223.wang> + + * gcc.dg/stack-usage-1.c: Adjust for LoongArch LP64. + +2022-04-09 Xi Ruoyao <xry111@mengyan1223.wang> + + * gcc.dg/builtin-apply2.c (dg-skip-if): Add loongarch*-*-*. + +2022-04-09 Jason Merrill <jason@redhat.com> + + PR c++/105191 + PR c++/92385 + * g++.dg/cpp0x/constexpr-array28.C: New test. + +2022-04-09 Jason Merrill <jason@redhat.com> + + PR c++/91618 + PR c++/96604 + * g++.dg/cpp0x/friend7.C: Remove xfail. + * g++.dg/template/friend72.C: New test. + * g++.dg/template/friend72a.C: New test. + * g++.dg/template/friend73.C: New test. + +2022-04-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105198 + * gcc.dg/torture/pr105198.c: New testcase. + +2022-04-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/105187 + * c-c++-common/torture/20050113-1.c: Add dg-additional-options + -Wno-psabi. + +2022-04-08 Jakub Jelinek <jakub@redhat.com> + + PR c/105149 + * gcc.dg/pr105149.c: New test. + +2022-04-08 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105189 + * g++.dg/torture/pr105189.C: New test. + +2022-04-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105175 + * gcc.dg/pr105175.c: New testcase. + +2022-04-07 Michael Meissner <meissner@linux.ibm.com> + + PR target/104253 + * lib/target-supports.exp (check_ppc_float128_sw_available): Do + not run float128 tests on VxWorks. + (check_ppc_float128_hw_available): Likewise. + (check_effective_target_ppc_ieee128_ok): Likewise. + +2022-04-07 Tamar Christina <tamar.christina@arm.com> + + PR testsuite/105196 + * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: Remove slp1 check. + +2022-04-07 Richard Biener <rguenther@suse.de> + Jan Hubicka <hubicka@ucw.cz> + + PR ipa/104303 + * gnat.dg/concat5.adb: New. + * gnat.dg/concat5_pkg1.adb: Likewise. + * gnat.dg/concat5_pkg1.ads: Likewise. + * gnat.dg/concat5_pkg2.adb: Likewise. + * gnat.dg/concat5_pkg2.ads: Likewise. + +2022-04-07 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/102208 + * gcc.dg/analyzer/symbolic-9.c: New test. + * gcc.dg/analyzer/torture/leak-pr102308-1.c: New test. + * gcc.dg/analyzer/torture/leak-pr102308-2.c: New test. + +2022-04-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105185 + * gcc.dg/torture/pr105185.c: New testcase. + +2022-04-07 Tamar Christina <tamar.christina@arm.com> + + PR target/104049 + * gcc.target/aarch64/vadd_reduc-1.c: New test. + * gcc.target/aarch64/vadd_reduc-2.c: New test. + +2022-04-07 Tamar Christina <tamar.christina@arm.com> + + PR testsuite/105095 + * gcc.dg/vect/complex/fast-math-complex-add-double.c: Update for codegen. + * gcc.dg/vect/complex/fast-math-complex-add-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mla-half-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mls-double.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mls-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mls-half-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mul-double.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mul-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mul-half-float.c: Likewise. + * gcc.dg/vect/vect.exp: Add extra letter to filter. + +2022-04-07 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/aarch64/pr103350-1.c: Skip on BE. + * gcc.target/aarch64/pr103350-2.c: Likewise. + +2022-04-07 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/102586 + * g++.dg/torture/builtin-clear-padding-5.C: New test. + * g++.dg/cpp2a/builtin-clear-padding1.C (bar): Uncomment one + call that is now accepted. + +2022-04-07 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105150 + * gcc.dg/pr105150.c: New test. + +2022-04-07 Richard Biener <rguenther@suse.de> + + PR middle-end/105165 + * gcc.dg/pr105165.c: New testcase. + +2022-04-07 Andreas Krebbel <krebbel@linux.ibm.com> + + PR target/105147 + * gcc.dg/pr105140.c: Skip for s390*-*-*. + +2022-04-07 Jason Merrill <jason@redhat.com> + + PR c++/101051 + * g++.dg/cpp0x/trailing15.C: New test. + +2022-04-07 Jason Merrill <jason@redhat.com> + + PR c++/101717 + * g++.dg/cpp1y/lambda-generic-this4.C: New test. + +2022-04-07 Jason Merrill <jason@redhat.com> + + PR c++/105187 + * gcc.c-torture/compile/20050113-1.c: Moved to... + * c-c++-common/torture/20050113-1.c: ...here. + +2022-04-06 Jakub Jelinek <jakub@redhat.com> + + PR c++/104668 + * g++.dg/cpp0x/pr104668.C: New test. + +2022-04-06 Patrick Palka <ppalka@redhat.com> + + PR c++/105143 + * g++.dg/cpp2a/nodiscard1.C: New test. + * g++.dg/warn/Wctad-maybe-unsupported4.C: New test. + +2022-04-06 Segher Boessenkool <segher@kernel.crashing.org> + + PR target/105147 + * gcc.dg/pr105140.c: Skip for powerpc*-*-*. + +2022-04-06 Jason Merrill <jason@redhat.com> + + PR c++/104702 + * g++.dg/warn/Wunused-19.C: New test. + +2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang> + + * g++.target/mips/cxx17_empty_base.C: New test. + +2022-04-06 Jason Merrill <jason@redhat.com> + + PR c++/100608 + * g++.dg/warn/Wshadow-compatible-local-3.C: New test. + +2022-04-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105173 + * gcc.dg/pr105173.c: New testcase. + +2022-04-06 Richard Biener <rguenther@suse.de> + + PR ipa/105166 + * gcc.dg/torture/pr105166.c: New testcase. + +2022-04-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105163 + * gcc.dg/torture/pr105163.c: New testcase. + +2022-04-06 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/103761 + * gcc.dg/vect/pr103761.c: New test. + * gcc.target/aarch64/sve/pr103761.c: Likewise. + +2022-04-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105148 + * gcc.dg/torture/pr105148.c: New testcase. + +2022-04-06 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/sse2-v1ti-andnot.c: New test case. + +2022-04-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105142 + * g++.dg/torture/pr105142.C: New testcase. + +2022-04-06 Richard Biener <rguenther@suse.de> + + PR testsuite/105122 + * gcc.dg/memcpy-6.c: Adjust. + * gcc.dg/strlenopt-73.c: Likewise. + * gcc.dg/strlenopt-80.c: Likewise. + +2022-04-05 Sandra Loosemore <sandra@codesourcery.com> + + * gfortran.dg/gomp/masked-taskloop.f90: New. + +2022-04-05 Uroš Bizjak <ubizjak@gmail.com> + + PR target/105139 + * gcc.target/i386/pr105139.c: New test. + +2022-04-05 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104210 + * gfortran.dg/pr104210.f90: New test. + +2022-04-05 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/105138 + * gfortran.dg/recursive_reference_3.f90: New test. + +2022-04-05 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/mops_4.c: New test. + +2022-04-05 Richard Sandiford <richard.sandiford@arm.com> + + PR target/103147 + * gcc.target/aarch64/pr103147-1.c: New test. + * gcc.target/aarch64/pr103147-2.c: Likewise. + * gcc.target/aarch64/pr103147-3.c: Likewise. + * gcc.target/aarch64/pr103147-4.c: Likewise. + * gcc.target/aarch64/pr103147-5.c: Likewise. + * gcc.target/aarch64/pr103147-6.c: Likewise. + * gcc.target/aarch64/pr103147-7.c: Likewise. + * gcc.target/aarch64/pr103147-8.c: Likewise. + * gcc.target/aarch64/pr103147-9.c: Likewise. + * gcc.target/aarch64/pr103147-10.c: Likewise. + * g++.target/aarch64/pr103147-1.C: Likewise. + * g++.target/aarch64/pr103147-2.C: Likewise. + * g++.target/aarch64/pr103147-3.C: Likewise. + * g++.target/aarch64/pr103147-4.C: Likewise. + * g++.target/aarch64/pr103147-5.C: Likewise. + * g++.target/aarch64/pr103147-6.C: Likewise. + * g++.target/aarch64/pr103147-7.C: Likewise. + * g++.target/aarch64/pr103147-8.C: Likewise. + * g++.target/aarch64/pr103147-9.C: Likewise. + * g++.target/aarch64/pr103147-10.C: Likewise. + +2022-04-05 Jason Merrill <jason@redhat.com> + + PR c++/103852 + DR 1286 + * g++.dg/cpp1z/class-deduction-alias1.C: Expect warning. + +2022-04-05 Jason Merrill <jason@redhat.com> + + PR c++/101677 + * g++.dg/cpp2a/concepts-pr67178.C: Adjust error. + * g++.dg/cpp2a/concepts-requires28.C: New test. + +2022-04-05 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp0x/noexcept34.C: Allow more wording variation. + +2022-04-05 Richard Biener <rguenther@suse.de> + + PR c/105151 + * gcc.dg/gimplefe-error-14.c: New testcase. + +2022-04-05 Robin Dapp <rdapp@linux.ibm.com> + + * gcc.target/s390/zvector/vec-double-compile.c: Expect vl + instead of vc*. + * gcc.target/s390/zvector/vec-float-compile.c: Dito. + * gcc.target/s390/zvector/vec-signed-compile.c: Dito. + * gcc.target/s390/zvector/vec-unsigned-compile.c: Dito. + +2022-04-05 Robin Dapp <rdapp@linux.ibm.com> + + * gcc.target/s390/ifcvt-two-insns-bool.c: Change nle to h. + * gcc.target/s390/ifcvt-two-insns-int.c: Dito. + * gcc.target/s390/ifcvt-two-insns-long.c: Dito. + +2022-04-05 Robin Dapp <rdapp@linux.ibm.com> + + * gcc.dg/Wuse-after-free-2.c: + Add -fno-tree-loop-distribute-patterns in order to avoid + rawmemchr. + +2022-04-05 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr101908-1.c: New test. + * gcc.target/i386/pr101908-2.c: New test. + * gcc.target/i386/pr101908-3.c: New test. + +2022-04-04 Jason Merrill <jason@redhat.com> + + PR c++/101894 + * g++.dg/lookup/friend22.C: New test. + +2022-04-04 Jason Merrill <jason@redhat.com> + + PR c++/103852 + DR 1286 + * g++.dg/cpp0x/alias-decl-dr1286a.C: Default args now matter. + * g++.dg/cpp1z/class-deduction-alias1.C: New test. + +2022-04-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105132 + * gcc.dg/torture/pr105132.c: New testcase. + +2022-04-04 Richard Biener <rguenther@suse.de> + + PR middle-end/105140 + * gcc.dg/pr105140.c: New testcase. + +2022-04-04 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/104740 + * gdc.dg/simd_ctfe.d: Compile with target avx_runtime or + vect_sizes_16B_8B. + +2022-04-03 Jakub Jelinek <jakub@redhat.com> + + PR target/105123 + * gcc.target/i386/pr105123.c: New test. + +2022-04-03 Benno Evers <benno.evers@tenzir.com> + Iain Sandoe <iain@sandoe.co.uk> + + PR c++/103328 + * g++.dg/coroutines/pr103328.C: New test. + +2022-04-02 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/nrvo1.d: New test. + +2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang> + + * gcc.target/mips/pr102024-4.c: New test. + +2022-04-02 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/fixed-point/composite-type.c: Add -Wno-array-parameter. + +2022-04-01 Jason Merrill <jason@redhat.com> + + Revert: + 2022-03-31 Jason Merrill <jason@redhat.com> + + PR c++/96645 + * g++.dg/cpp0x/nsdmi10.C: Now OK. + * g++.dg/ext/is_constructible3.C: Likewise. + * g++.dg/ext/is_constructible7.C: Likewise. + +2022-04-01 Jason Merrill <jason@redhat.com> + + Revert: + 2022-03-24 Jason Merrill <jason@redhat.com> + + PR c++/96645 + * g++.dg/ext/is_constructible3.C: Expect error. + * g++.dg/ext/is_constructible7.C: New test. + +2022-04-01 Patrick Palka <ppalka@redhat.com> + + PR c++/105110 + * g++.dg/cpp2a/nontype-class52.C: New test. + +2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang> + + PR target/102024 + * gcc.target/mips/pr102024-1.c: New test. + * gcc.target/mips/pr102024-2.c: New test. + * gcc.target/mips/pr102024-3.c: New test. + +2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang> + + PR target/102024 + * g++.target/mips/mips.exp: New test supporting file. + * g++.target/mips/pr102024.C: New test. + +2022-04-01 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104645 + * gcc.dg/tree-ssa/pr104645.c: New test. + +2022-04-01 Jakub Jelinek <jakub@redhat.com> + + PR target/102024 + * gcc.dg/compat/pr102024_test.h: Add further tests with zero sized + structures and arrays. + * g++.dg/compat/pr102024_test.h: Add further tests with zero sized + arrays. + +2022-04-01 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/nvptx.exp + (check_effective_target_runtime_ptx_isa_version_6_3): Rename and + generalize to ... + (check_effective_target_runtime_ptx_isa_version_at_least): .. this. + (check_effective_target_default_ptx_isa_version_at_least) + (check_effective_target_runtime_ptx_alias, add_options_for_ptx_alias): + New proc. + * gcc.target/nvptx/alias-1.c: Use "target runtime_ptx_alias" and + "dg-add-options ptx_alias". + * gcc.target/nvptx/alias-2.c: Same. + * gcc.target/nvptx/alias-3.c: Same. + * gcc.target/nvptx/alias-4.c: Same. + +2022-04-01 Alexandre Oliva <oliva@adacore.com> + + * lib/target-supports.exp + (check_effective_target_arm_soft_ok_link): New. + * gcc.target/arm/size-optimization-ieee-1.c: Use it. + * gcc.target/arm/size-optimization-ieee-2.c: Likewise. + * gcc.target/arm/size-optimization-ieee-3.c: Likewise. + +2022-03-31 Martin Jambor <mjambor@suse.cz> + + * gcc.dg/ipa/pr103083-1.c: New test. + * gcc.dg/ipa/pr103083-2.c: Likewise. + +2022-03-31 Martin Jambor <mjambor@suse.cz> + + PR ipa/102513 + * gcc.dg/ipa/pr102513.c: New test. + +2022-03-31 Martin Jambor <mjambor@suse.cz> + + PR ipa/103171 + * gcc.dg/ipa/remref-6.c: Adjust dump scan string. + * gcc.dg/ipa/remref-7.c: New test. + * gcc.dg/lto/pr103171_0.c: New test. + * gcc.dg/lto/pr103171_1.c: Likewise. + +2022-03-31 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/march.c: Add missing space in dg-options line. + +2022-03-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105109 + * gcc.dg/uninit-pr105109.c: New testcase. + +2022-03-31 Jason Merrill <jason@redhat.com> + + PR c++/96645 + * g++.dg/cpp0x/nsdmi10.C: Now OK. + * g++.dg/ext/is_constructible3.C: Likewise. + * g++.dg/ext/is_constructible7.C: Likewise. + +2022-03-30 Harald Anlauf <anlauf@gmx.de> + + PR fortran/100892 + * gfortran.dg/associated_target_8.f90: New test. + +2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com> + + PR middle-end/105032 + * gcc.target/i386/pr105032.c: New. + +2022-03-30 Jakub Jelinek <jakub@redhat.com> + + Revert: + 2022-03-30 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/80334 + PR target/102772 + * g++.dg/torture/pr80334.C: Change from dg-do run to dg-do compile. + +2022-03-30 Marek Polacek <polacek@redhat.com> + + PR c++/101030 + * g++.dg/ext/cond5.C: New test. + +2022-03-30 Patrick Palka <ppalka@redhat.com> + + PR c++/100474 + * g++.dg/cpp2a/concepts-traits3.C: New test. + +2022-03-30 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/80334 + PR target/102772 + * g++.dg/torture/pr80334.C: Change from dg-do run to dg-do compile. + +2022-03-30 Marek Polacek <polacek@redhat.com> + + PR c++/93280 + PR c++/104583 + * g++.dg/cpp0x/nsdmi-list7.C: New test. + * g++.dg/cpp0x/nsdmi-list8.C: New test. + +2022-03-30 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/105093 + * g++.dg/ubsan/pr105093.C: New test. + +2022-03-30 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105094 + * gcc.dg/pr105094.c: New test. + +2022-03-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/105092 + * g++.dg/gomp/pr105092.C: New test. + +2022-03-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/105061 + * g++.dg/concepts/pr105061.C: New test. + +2022-03-30 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/analyzer/strndup-1.c: Add *-*-vxworks* to no-strndup + in libc. + +2022-03-30 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/weak/typeof-2.c: Add arm*-*-* to targets that may + place the call target in a constant pool. + +2022-03-29 David Malcolm <dmalcolm@redhat.com> + + PR testsuite/105085 + * gcc.dg/analyzer/untracked-1.c: Add further test coverage. + +2022-03-29 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/104571 + * gfortran.dg/pr104571.f90: New test. + +2022-03-29 Jonathan Wakely <jwakely@redhat.com> + + * lib/g++-dg.exp: Update comments. + * lib/g++.exp (gpp_std_list): Check for an existing value before + setting it to an empty list. + +2022-03-29 Jonathan Wakely <jwakely@redhat.com> + + * g++.dg/cpp0x/noexcept06.C: Disable for C++23. + +2022-03-29 Harald Anlauf <anlauf@gmx.de> + + PR fortran/50549 + * gfortran.dg/char_pointer_assign_7.f90: New test. + +2022-03-29 Marek Polacek <polacek@redhat.com> + Jakub Jelinek <jakub@redhat.com> + + PR middle-end/103597 + * c-c++-common/Wimplicit-fallthrough-39.c: New test. + +2022-03-29 Patrick Palka <ppalka@redhat.com> + + PR c++/71637 + * c-c++-common/Wmisleading-indentation-6.c: New test. + +2022-03-29 Richard Earnshaw <rearnsha@arm.com> + + * gcc.target/aarch64/aapcs64/test_28.c: New test. + +2022-03-29 Richard Earnshaw <rearnsha@arm.com> + + PR target/102024 + * gcc.target/arm/aapcs/vfp26.c: New test. + +2022-03-29 Tom de Vries <tdevries@suse.de> + + PR target/104857 + * gcc.target/nvptx/ptx31.c: New test. + * gcc.target/nvptx/ptx60.c: New test. + * gcc.target/nvptx/ptx63.c: New test. + * gcc.target/nvptx/ptx70.c: New test. + +2022-03-29 Tom de Vries <tdevries@suse.de> + + PR target/104714 + * gcc.target/nvptx/march-map.c: New test. + +2022-03-29 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/main.c: New test. + * gcc.target/nvptx/march.c: New test. + +2022-03-29 Chenghua Xu <xuchenghua@loongson.cn> + Lulu Cheng <chenglulu@loongson.cn> + + * g++.dg/cpp0x/constexpr-rom.C: Add build options for LoongArch. + * g++.old-deja/g++.abi/ptrmem.C: Add LoongArch support. + * g++.old-deja/g++.pt/ptrmem6.C: xfail for LoongArch. + * gcc.dg/20020312-2.c: Add LoongArch support. + * c-c++-common/zero-scratch-regs-10.c: Like wise + * c-c++-common/zero-scratch-regs-11.c: Like wise + * c-c++-common/zero-scratch-regs-8.c: Like wise + * c-c++-common/zero-scratch-regs-9.c: Like wise + * gcc.dg/loop-8.c: Skip on LoongArch. + * gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise. + * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise. + * go.test/go-test.exp: Define the LoongArch target. + * lib/target-supports.exp: Like wise. + * gcc.target/loongarch/loongarch.exp: New file. + * gcc.target/loongarch/tst-asm-const.c: Like wise. + * gcc.target/loongarch/larch-builtin.c: Like wise. + +2022-03-29 Marc Poulhiès <poulhies@adacore.com> + + * gcc.target/i386/pr103275.c: Add missing + dg-require-effective-target for checking fpic. + +2022-03-29 Marc Poulhiès <poulhies@adacore.com> + + * gcc.target/i386/pr97521.c: Add -Wno-psabi to dg-options. + * gcc.dg/analyzer/pr96713.c: Likewise. + +2022-03-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105080 + * gcc.dg/pr105080.c: New testcase. + +2022-03-29 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/pr105087-1.c: New test. + * gcc.dg/analyzer/pr105087-2.c: New test. + * gcc.dg/analyzer/vasprintf-1.c: New test. + +2022-03-29 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105074 + * gcc.dg/analyzer/pr105074.c: New test. + * gcc.dg/analyzer/untracked-1.c (extern_fn_char_ptr): New decl. + (test_13): New. + +2022-03-28 Patrick Palka <ppalka@redhat.com> + + PR c++/105067 + * g++.dg/cpp2a/concepts-err4.C: New test. + +2022-03-28 Patrick Palka <ppalka@redhat.com> + + PR c++/105064 + * g++.dg/cpp2a/concepts-friend9.C: New test. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/105003 + PR c++/104008 + PR c++/102869 + * g++.dg/cpp0x/variadic-alias6.C: New test. + * g++.dg/cpp0x/variadic-alias7.C: New test. + +2022-03-28 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104308 + * gcc.dg/analyzer/pr104308.c: New test. + * gcc.dg/uninit-40.c (foo): Update expression in expected message. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/102071 + * g++.dg/cpp1z/aligned-new9.C: New test. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/103291 + * g++.dg/ext/visibility/visibility-local-extern1.C: New test. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/102123 + * g++.dg/cpp1z/class-deduction110.C: New test. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/103968 + * g++.dg/cpp0x/alias-decl-mem1.C: New test. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/103943 + * g++.dg/cpp1z/class-deduction109.C: New test. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/102045 + * g++.dg/cpp1z/aggr-base12.C: New test. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/104847 + * g++.dg/abi/mangle-union1.C: New test. + +2022-03-28 Jason Merrill <jason@redhat.com> + + PR c++/99445 + PR c++/103769 + * g++.dg/cpp0x/variadic-alias5.C: New test. + +2022-03-28 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr105066.c: New test. + +2022-03-28 Richard Biener <rguenther@suse.de> + + * gcc.dg/torture/pr100786.c: Add dg-require alias. + +2022-03-27 H.J. Lu <hjl.tools@gmail.com> + + PR target/105068 + * gcc.target/i386/pr105068.c: New test. + +2022-03-26 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/103775 + * gcc.dg/pr103775.c: New test. + +2022-03-26 Patrick Palka <ppalka@redhat.com> + + PR c++/105050 + * g++.dg/cpp1y/constexpr-105050.C: New test. + +2022-03-26 Patrick Palka <ppalka@redhat.com> + + PR c++/103455 + * g++.dg/overload/builtin6.C: New test. + +2022-03-26 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105057 + * gcc.dg/analyzer/fread-2.c: New test, as a regression test for + ICE in store::set_value on untracked base region. + * gcc.dg/analyzer/memset-2.c: Likewise, for ICE in + store::fill_region. + * gcc.dg/analyzer/strcpy-2.c: Likewise, for ICE in + store::mark_region_as_unknown. + +2022-03-26 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/builtin-convertvector-3.c: New test. + * g++.dg/cpp2a/bit-cast15.C: New test. + +2022-03-25 Peter Bergner <bergner@linux.ibm.com> + + * g++.dg/pr65240-1.C: Use -mdejagnu-cpu=. Remove dg-skip-if. + * g++.dg/pr65240-2.C: Likewise. + * g++.dg/pr65240-3.C: Likewise. + * g++.dg/pr65240-4.C: Likewise. + * g++.dg/pr65242.C: Likewise. + * g++.dg/pr67211.C: Likewise. + * g++.dg/pr69667.C: Likewise. + * g++.dg/pr71294.C: Likewise. + * g++.dg/pr84279.C: Likewise. + * g++.dg/torture/ppc-ldst-array.C: Likewise. + * gfortran.dg/nint_p7.f90: Likewise. + * gfortran.dg/pr102860.f90: Likewise. + * gcc.target/powerpc/fusion.c: Use -mdejagnu-cpu= and -mdejagnu-tune=. + * gcc.target/powerpc/fusion2.c: Likewise. + * gcc.target/powerpc/int_128bit-runnable.c: Use -mdejagnu-cpu=. + * gcc.target/powerpc/test_mffsl.c: Likewise. + * gfortran.dg/pr47614.f: Likewise. + * gfortran.dg/pr58968.f: Likewise. + +2022-03-25 H.J. Lu <hjl.tools@gmail.com> + + PR testsuite/105055 + * gcc.target/i386/pr95483-1.c: Replace -msse with -msse2. + +2022-03-25 Christophe Lyon <christohe.lyon@arm.com> + + PR target/104882 + * gcc.target/arm/simd/mve-vclz.c: Update expected results. + * gcc.target/arm/simd/mve-vshl.c: Likewise. + * gcc.target/arm/simd/mve-vec-pack.c: Delete. + * gcc.target/arm/simd/mve-vec-unpack.c: Delete. + * gcc.target/arm/simd/pr104882.c: New test. + +2022-03-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105053 + * g++.dg/vect/pr105053.cc: New testcase. + +2022-03-25 Marek Polacek <polacek@redhat.com> + + PR c++/104944 + * g++.dg/cpp0x/alignas20.C: New test. + +2022-03-25 Richard Biener <rguenther@suse.de> + + PR middle-end/105049 + * gcc.dg/pr105049.c: New testcase. + +2022-03-25 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104954 + * gcc.dg/analyzer/asm-x86-dyndbg-1.c: New test. + * gcc.dg/analyzer/asm-x86-dyndbg-2.c: New test. + * gcc.dg/analyzer/many-unused-locals.c: New test. + * gcc.dg/analyzer/untracked-1.c: New test. + * gcc.dg/analyzer/unused-local-1.c: New test. + +2022-03-24 Marek Polacek <polacek@redhat.com> + + PR c++/104284 + * g++.dg/cpp1y/constexpr-104284-1.C: New test. + * g++.dg/cpp1y/constexpr-104284-2.C: New test. + * g++.dg/cpp1y/constexpr-104284-3.C: New test. + * g++.dg/cpp1y/constexpr-104284-4.C: New test. + +2022-03-24 Jason Merrill <jason@redhat.com> + + PR c++/96645 + * g++.dg/ext/is_constructible3.C: Expect error. + * g++.dg/ext/is_constructible7.C: New test. + +2022-03-24 Marek Polacek <polacek@redhat.com> + + PR c++/102990 + * g++.dg/cpp0x/nsdmi-template22.C: New test. + * g++.dg/cpp0x/nsdmi-template23.C: New test. + +2022-03-24 Patrick Palka <ppalka@redhat.com> + + PR c++/104620 + * g++.dg/cpp23/consteval-if2.C: XFAIL two dg-error tests where + the argument to the non-constant non-dependent consteval call is + wrapped by NON_DEPENDENT_EXPR. + * g++.dg/cpp2a/consteval30.C: New test. + +2022-03-24 Alexandre Oliva <oliva@adacore.com> + + PR debug/104564 + * c-c++-common/torture/harden-comp.c: Adjust. + * c-c++-common/torture/harden-cond.c: Adjust. + +2022-03-24 Alexandre Oliva <oliva@adacore.com> + + PR middle-end/104975 + * gcc.dg/pr104975.c: New. + +2022-03-24 Jakub Jelinek <jakub@redhat.com> + + PR target/102024 + * gcc.dg/compat/pr102024_main.c: New test. + * gcc.dg/compat/pr102024_test.h: New test. + * gcc.dg/compat/pr102024_x.c: New test. + * gcc.dg/compat/pr102024_y.c: New test. + * g++.dg/compat/pr102024_main.C: New test. + * g++.dg/compat/pr102024_test.h: New test. + * g++.dg/compat/pr102024_x.C: New test. + * g++.dg/compat/pr102024_y.C: New test. + +2022-03-24 Jakub Jelinek <jakub@redhat.com> + + PR c++/105035 + * g++.dg/warn/Wduplicated-cond2.C: New test. + +2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR tree-optimization/104970 + * gcc.dg/builtin-dynamic-object-size-0.c (test_parmsz_simple2, + test_parmsz_simple3, test_parmsz_extern, test_parmsz_internal, + test_parmsz_internal2, test_parmsz_internal3): New tests. + (main): Use them. + +2022-03-24 Jakub Jelinek <jakub@redhat.com> + + PR c++/104994 + * g++.dg/diagnostic/constexpr1.C: Change expected diagnostic wording + from declared to defined. + * g++.dg/cpp23/constexpr-nonlit1.C: Likewise. + (garply): Change dg-error into dg-bogus. + * g++.dg/cpp23/constexpr-nonlit2.C: Change expected diagnostic wording + from declaration to definition. + * g++.dg/cpp23/constexpr-nonlit6.C: Change expected diagnostic wording + from declared to defined. + * g++.dg/cpp23/constexpr-nonlit7.C: New test. + * g++.dg/cpp2a/constexpr-try5.C: Change expected diagnostic wording + from declared to defined. + * g++.dg/cpp2a/consteval3.C: Likewise. + +2022-03-23 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104979 + * gcc.dg/analyzer/boxed-malloc-1-29.c: Deleted test, moving the + now fixed test_29 to... + * gcc.dg/analyzer/boxed-malloc-1.c: ...here. + * gcc.dg/analyzer/stale-frame-1.c: Add test coverage. + +2022-03-23 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/103560 + * gfortran.dg/include_14.f90: Update dg-warning. + * gfortran.dg/include_17.f90: Likewise. + * gfortran.dg/include_18.f90: Likewise. + * gfortran.dg/include_6.f90: Update dg-*. + +2022-03-23 Jason Merrill <jason@redhat.com> + + PR c++/105006 + * g++.dg/template/using30.C: New test. + +2022-03-23 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105017 + * gcc.dg/analyzer/taint-alloc-1.c: Add expected messages relating + to heap vs stack. + +2022-03-23 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104997 + * gcc.dg/analyzer/write-to-string-literal-4-disabled.c: New test, + adapted from write-to-string-literal-4.c. + +2022-03-23 Jakub Jelinek <jakub@redhat.com> + + PR target/102986 + * gcc.target/i386/sse2-v1ti-shift-3.c (rotr_v1ti, rotl_v1ti, rotr_ti, + rotl_ti): Use -i&127 instead of 128-i to avoid UB on i == 0. + +2022-03-23 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr104976.c: New test. + * gcc.target/i386/avx512fp16-vfcmaddcph-1a.c: Scan either + vblendps or masked vmovaps. + * gcc.target/i386/avx512fp16-vfmaddcph-1a.c: Ditto + * gcc.target/i386/avx512fp16vl-vfcmaddcph-1a.c: Ditto. + * gcc.target/i386/avx512fp16vl-vfmaddcph-1a.c: Ditto. + +2022-03-22 Marek Polacek <polacek@redhat.com> + + PR c/82283 + PR c/84685 + * gcc.dg/Wmissing-field-initializers-1.c: New test. + * gcc.dg/Wmissing-field-initializers-2.c: New test. + * gcc.dg/Wmissing-field-initializers-3.c: New test. + * gcc.dg/Wmissing-field-initializers-4.c: New test. + * gcc.dg/Wmissing-field-initializers-5.c: New test. + +2022-03-22 Jakub Jelinek <jakub@redhat.com> + + PR c++/102489 + * g++.dg/coroutines/pr102489.C: New test. + +2022-03-22 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/float16-1.c: Add additional-options -mexperimental. + * gcc.target/nvptx/float16-2.c: Same. + * gcc.target/nvptx/float16-3.c: Same. + * gcc.target/nvptx/float16-4.c: Same. + * gcc.target/nvptx/float16-5.c: Same. + * gcc.target/nvptx/float16-6.c: Same. + +2022-03-22 Tom de Vries <tdevries@suse.de> + + PR target/104957 + * gcc.target/nvptx/alias-1.c: New test. + * gcc.target/nvptx/alias-2.c: New test. + * gcc.target/nvptx/alias-3.c: New test. + * gcc.target/nvptx/alias-4.c: New test. + * gcc.target/nvptx/nvptx.exp + (check_effective_target_runtime_ptx_isa_version_6_3): New proc. + +2022-03-22 Martin Liska <mliska@suse.cz> + + PR target/104898 + * gcc.target/i386/pr99753.c: Update test. + * gcc.target/i386/spellcheck-options-1.c: Likewise. + * gcc.target/i386/spellcheck-options-2.c: Likewise. + * gcc.target/i386/spellcheck-options-4.c: Likewise. + +2022-03-22 Martin Liska <mliska@suse.cz> + + PR target/104898 + * gcc.target/aarch64/branch-protection-attr.c: + Use 'qs' and remove usage '(%qs)'. + * gcc.target/aarch64/spellcheck_1.c: Likewise. + * gcc.target/aarch64/spellcheck_2.c: Likewise. + * gcc.target/aarch64/spellcheck_3.c: Likewise. + +2022-03-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/102645 + * gcc.c-torture/compile/pr102645.c: New test. + +2022-03-22 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/104989 + * g++.dg/other/pr104989.C: New test. + +2022-03-22 Hongyu Wang <hongyu.wang@intel.com> + + PR target/104978 + * gcc.target/i386/avx512fp16-vfcmaddcsh-1a.c: Adjust asm scan. + * gcc.target/i386/avx512fp16-vfmaddcsh-1a.c: Ditto. + * gcc.target/i386/avx512fp16-vfcmaddcsh-1c.c: Removed. + * gcc.target/i386/avx512fp16-vfmaddcsh-1c.c: Ditto. + * gcc.target/i386/pr104978.c: New test. + +2022-03-21 H.J. Lu <hjl.tools@gmail.com> + + PR target/105000 + * gcc.target/i386/pr105000-1.c: New test. + * gcc.target/i386/pr105000-2.c: Likewise. + * gcc.target/i386/pr105000-3.c: Likewise. + * gcc.target/i386/pr105000-4.c: Likewise. + +2022-03-21 Jason Merrill <jason@redhat.com> + + PR c++/58646 + * g++.dg/ext/vla24.C: New test. + +2022-03-21 H.J. Lu <hjl.tools@gmail.com> + + PR target/86722 + PR tree-optimization/90356 + * gcc.target/i386/pr86722.c: Add -mno-avx. + * gcc.target/i386/pr90356.c: Likewise. + +2022-03-21 Jason Merrill <jason@redhat.com> + + PR c++/103337 + PR c++/102740 + PR c++/103299 + PR c++/102538 + * g++.dg/ext/flexary3.C: Remove one error. + * g++.dg/parse/pr43765.C: Likewise. + * g++.dg/cpp2a/desig22.C: New test. + * g++.dg/cpp2a/desig23.C: New test. + * g++.dg/cpp2a/desig24.C: New test. + * g++.dg/cpp2a/desig25.C: New test. + +2022-03-21 Jason Merrill <jason@redhat.com> + + PR c++/101767 + * g++.dg/ext/anon-struct10.C: New test. + +2022-03-21 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/105004 + * gdc.dg/pr105004.d: New test. + +2022-03-21 Richard Sandiford <richard.sandiford@arm.com> + + PR middle-end/104869 + * g++.dg/pr104869.C: New test. + +2022-03-21 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/arch-13.c: New. + * gcc.target/riscv/arch-14.c: Ditto. + * gcc.target/riscv/arch-15.c: Ditto. + * gcc.target/riscv/predef-18.c: Ditto. + * gcc.target/riscv/predef-19.c: Ditto. + * gcc.target/riscv/predef-20.c: Ditto. + +2022-03-21 Hongyu Wang <hongyu.wang@intel.com> + + PR target/104977 + * gcc.target/i386/pr104977.c: New test. + +2022-03-20 Jeff Law <jeffreyalaw@gmail.com> + + * gcc.target/s390/arch13/sel-1.c: Adjust expected output. + +2022-03-19 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/104228 + PR fortran/104570 + * gfortran.dg/associate_58.f90: New test. + +2022-03-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104971 + * gcc.target/i386/pr104971.c: New test. + +2022-03-19 Jakub Jelinek <jakub@redhat.com> + + PR c++/101515 + * g++.dg/warn/pr101515.C: New test. + +2022-03-18 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104943 + PR analyzer/104954 + PR analyzer/103533 + * gcc.dg/analyzer/torture/boxed-ptr-1.c: Update expected number + of exploded nodes to reflect improvements in state purging. + +2022-03-18 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104943 + * gcc.dg/analyzer/boxed-malloc-1-29.c: New test. + * gcc.dg/analyzer/boxed-malloc-1.c: New test. + * gcc.dg/analyzer/taint-alloc-5.c: New test. + * gcc.dg/analyzer/torture/boxed-int-1.c: New test. + * gcc.dg/analyzer/torture/boxed-ptr-1.c: New test. + +2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/104961 + * gcc.target/i386/pr104961.c: New. + +2022-03-18 Jason Merrill <jason@redhat.com> + + PR c++/92918 + PR c++/104476 + * g++.dg/cpp0x/pr85070.C: Remove expected error. + * g++.dg/lookup/using66a.C: New test. + * g++.dg/lookup/using67.C: New test. + +2022-03-18 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/99578 + PR middle-end/100680 + PR tree-optimization/100834 + * gcc.dg/tree-ssa/pr99578-1.c: New test. + * gcc.dg/pr99578-1.c: New test. + * gcc.dg/pr99578-2.c: New test. + * gcc.dg/pr99578-3.c: New test. + * gcc.dg/pr100680.c: New test. + * gcc.dg/pr100834.c: New test. + +2022-03-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/104568 + * g++.dg/cpp2a/constexpr-new22.C: New test. + +2022-03-18 Jonathan Wakely <jwakely@redhat.com> + + * g++.dg/torture/pr104601.C: Include <vector>. + +2022-03-18 Marek Polacek <polacek@redhat.com> + + PR c++/104008 + * g++.dg/cpp0x/variadic-alias3.C: New test. + * g++.dg/cpp0x/variadic-alias4.C: New test. + +2022-03-18 Iain Sandoe <iain@sandoe.co.uk> + + * g++.dg/modules/bad-mapper-1.C: Make dg- expressions that match the + diagnostics output by earlier Darwin too. + +2022-03-18 Tom de Vries <tdevries@suse.de> + + * c-c++-common/gomp/pr104968.c: New test. + +2022-03-18 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/103039 + * gfortran.dg/gomp/associate1.f90: Update dg-error. + * gfortran.dg/gomp/associate2.f90: New test. + +2022-03-18 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr104974.c: New test. + +2022-03-18 Cui,Lili <lili.cui@intel.com> + + PR target/104963 + * gcc.target/i386/pr104963.c: New test case. + +2022-03-17 Roger Sayle <roger@nextmovesoftware.com> + + PR target/86722 + PR tree-optimization/90356 + * gcc.target/i386/pr86722.c: New test case. + * gcc.target/i386/pr90356.c: New test case. + +2022-03-17 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104960 + * gcc.dg/gimplefe-37.c: Adjust to allow either the true + or false edge to have a forwarder. + +2022-03-17 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/103984 + * g++.dg/opt/pr103984.C: New test. + +2022-03-17 Thomas Schwinge <thomas@codesourcery.com> + + * c-c++-common/goacc-gomp/nesting-1.c: Enhance. + * c-c++-common/goacc/kernels-loop-g.c: Likewise. + * c-c++-common/goacc/nesting-1.c: Likewise. + * gcc.dg/goacc/nested-function-1.c: Likewise. + * gfortran.dg/goacc/common-block-3.f90: Likewise. + * gfortran.dg/goacc/nested-function-1.f90: Likewise. + +2022-03-17 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/90115 + * c-c++-common/goacc-gomp/nesting-1.c: Enhance. + * gfortran.dg/goacc/common-block-3.f90: Likewise. + +2022-03-16 Christophe Lyon <christophe.lyon@arm.com> + Roger Sayle <roger@nextmovesoftware.com> + + PR c/98198 + * gcc.dg/pr98198.c: New test case. + +2022-03-16 Roger Sayle <roger@nextmovesoftware.com> + + PR target/94680 + * gcc.target/i386/sse2-pr94680-2.c: New stricter V2DF test case. + +2022-03-16 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/many-disabled-diagnostics.c: New test. + * gcc.dg/plugin/analyzer_gil_plugin.c + (gil_diagnostic::get_controlling_option): New. + (double_save_thread::emit): Use it. + (fncall_without_gil::emit): Likewise. + (pyobject_usage_without_gil::emit): Likewise. + +2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR tree-optimization/104941 + * gcc.dg/builtin-dynamic-object-size-0.c (S1, S2): New structs. + (test_alloc_nested_structs, g): New functions. + (main): Call test_alloc_nested_structs. + +2022-03-16 H.J. Lu <hjl.tools@gmail.com> + + PR target/104890 + * gcc.target/i386/pr104890.c: New test. + +2022-03-16 LiaoShihua <shihua@iscas.ac.cn> + + * gcc.target/riscv/predef-17.c: New test. + +2022-03-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/102008 + * gcc.target/aarch64/pr102008.c: New testcase. + +2022-03-16 Patrick Palka <ppalka@redhat.com> + + PR c++/96780 + * g++.dg/opt/pr96780.C: New test. + +2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR tree-optimization/104942 + * gcc.dg/builtin-dynamic-object-size-0.c (alloc_func_long, + test_builtin_malloc_long): New functions. + (main): Use it. + +2022-03-16 Jakub Jelinek <jakub@redhat.com> + + PR target/104910 + * gcc.dg/pr104910.c: New test. + +2022-03-16 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/sse4_1-blendvpd-1.c: New test. + +2022-03-15 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/95000 + * gcc.dg/analyzer/pr95000-1.c: New test. + +2022-03-15 Peter Bergner <bergner@linux.ibm.com> + + PR target/104923 + * gcc.target/powerpc/pr104923.c: New test. + +2022-03-15 Patrick Palka <ppalka@redhat.com> + + PR c++/103177 + * g++.dg/lookup/ambig6.C: New test. + +2022-03-15 Roger Sayle <roger@nextmovesoftware.com> + Marc Glisse <marc.glisse@inria.fr> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/101895 + * gcc.target/i386/pr101895.c: New test case. + +2022-03-15 Jakub Jelinek <jakub@redhat.com> + + PR c++/104623 + * g++.dg/gomp/pr104623.C: New test. + +2022-03-15 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/104814 + * gcc.c-torture/execute/pr104814.c: New test. + +2022-03-15 Martin Sebor <msebor@redhat.com> + + PR middle-end/104436 + * c-c++-common/Wdangling-pointer-8.c: New test. + * g++.dg/warn/Wdangling-pointer-5.C: New test. + +2022-03-14 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + * gcc.target/i386/pr98335.c: Skip this test if tuning for i486 + or pentium, and not optimizing for size. + +2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang> + + * c-c++-common/asan/global-overflow-1.c: Skip for MIPS with some + optimization levels because inaccurate debug info is causing + dg-output mismatch on line numbers. + * g++.dg/asan/large-func-test-1.C: Likewise. + +2022-03-14 Jakub Jelinek <jakub@redhat.com> + + PR debug/104778 + * gcc.target/powerpc/pr104778.c: New test. + +2022-03-14 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/102586 + * g++.dg/cpp2a/builtin-clear-padding1.C: New test. + +2022-03-14 Jakub Jelinek <jakub@redhat.com> + + PR target/99754 + * gcc.target/i386/pr99754-1.c: New test. + * gcc.target/i386/pr99754-2.c: New test. + +2022-03-14 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr104666.c: New test. + +2022-03-12 Patrick Palka <ppalka@redhat.com> + + PR c++/104641 + * g++.dg/cpp1z/class-deduction107.C: New test. + +2022-03-12 Patrick Palka <ppalka@redhat.com> + + PR c++/104622 + * g++.dg/template/conv18.C: New test. + +2022-03-12 Patrick Palka <ppalka@redhat.com> + + PR c++/104527 + * g++.dg/cpp2a/concepts-return-req4.C: New test. + +2022-03-12 Patrick Palka <ppalka@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/98644 + * g++.dg/cpp2a/concepts-pr98644.C: New test. + * g++.dg/parse/array-size2.C: Remove expected diagnostic about a + narrowing conversion. + +2022-03-12 Patrick Palka <ppalka@redhat.com> + + * g++.dg/concepts/diagnostic3.C: Adjusted expected location of + "evaluated to false" diagnostics. + +2022-03-12 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100280 + PR middle-end/104892 + * c-c++-common/goacc/kernels-decompose-2.c: Adjust. + * c-c++-common/goacc/kernels-decompose-pr100400-1-1.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr100400-1-2.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr100400-1-3.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr100400-1-4.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104061-1-1.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104061-1-2.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104061-1-3.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104061-1-4.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104132-1.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104133-1.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104774-1.c: Likewise. + * gfortran.dg/goacc/classify-kernels.f95: Likewise. + * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise. + +2022-03-12 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100280 + PR middle-end/104086 + * c-c++-common/goacc/kernels-decompose-pr104086-1.c: Adjust, + extend. + +2022-03-12 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/104086 + * c-c++-common/goacc/kernels-decompose-pr104086-1.c: New file. + +2022-03-12 Roger Sayle <roger@nextmovesoftware.com> + + PR middle-end/98420 + * gcc.dg/pr98420.c: New test case. + +2022-03-11 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/98335 + * g++.target/i386/pr98335.C: New test case. + * gcc.target/i386/pr98335.c: New test case. + +2022-03-11 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/98335 + * g++.dg/pr98335.C: New test case. + * gcc.dg/pr86010.c: New test case. + * gcc.dg/pr86010-2.c: New test case. + +2022-03-11 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/84964 + * g++.dg/other/pr84964.C: Tweak test to check for the ICE, not for + the (target-dependent) sorry. + +2022-03-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104880 + * g++.dg/opt/pr104880.cc: New testcase. + +2022-03-11 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/goacc/array-with-dt-1.f90: Update/add comments; + remove dg-warning for 'is used uninitialized'. + * gfortran.dg/goacc/pr93464.f90: Likewise. + * gfortran.dg/goacc/array-with-dt-1a.f90: New; copied from + gfortran.dg/goacc/array-with-dt-1.f90 but run with -O0. Update + dg-warning for 'may be used uninitialized'. + * gfortran.dg/goacc/pr93464-2.f90: Likewise; copied from + gfortran.dg/goacc/pr93464.f90. + +2022-03-10 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/84964 + * g++.dg/other/pr84964.C: New test case. + +2022-03-10 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104863 + * gcc.dg/analyzer/torture/pr104863.c: New test. + +2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com> + + PR target/103074 + * gcc.target/i386/pr103074.c: New. + +2022-03-10 Marek Polacek <polacek@redhat.com> + + PR c++/104608 + * g++.dg/parse/template-keyword3.C: New test. + * g++.dg/parse/template-keyword4.C: New test. + +2022-03-10 Marek Polacek <polacek@redhat.com> + + PR c++/104752 + * g++.dg/cpp23/auto-fncast12.C: New test. + +2022-03-10 Marek Polacek <polacek@redhat.com> + + PR c++/104846 + * g++.dg/init/delete5.C: New test. + +2022-03-10 Jakub Jelinek <jakub@redhat.com> + + PR c++/103460 + * g++.dg/cpp23/subscript7.C: New test. + +2022-03-10 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104793 + * gcc.dg/analyzer/write-to-const-2.c: Add dg-message directives + for expected notes. + * gcc.dg/analyzer/write-to-function-1.c: Likewise. + * gcc.dg/analyzer/write-to-string-literal-2.c: Likewise. + * gcc.dg/analyzer/write-to-string-literal-3.c: Likewise. + * gcc.dg/analyzer/write-to-string-literal-4.c: Likewise. + * gcc.dg/analyzer/write-to-string-literal-5.c: New test. + +2022-03-10 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104793 + * gcc.dg/analyzer/write-to-const-2.c: New test. + * gcc.dg/analyzer/write-to-function-1.c: New test. + * gcc.dg/analyzer/write-to-string-literal-2.c: New test. + * gcc.dg/analyzer/write-to-string-literal-3.c: New test. + * gcc.dg/analyzer/write-to-string-literal-4.c: New test. + +2022-03-10 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/taint-size-access-attr-1.c: Add + -fanalyzer-show-duplicate-count to options; verify that a + duplicate was not created for the tainted size. + +2022-03-10 Martin Jambor <mjambor@suse.cz> + + PR ipa/104813 + * gcc.dg/ipa/pr104813.c: New test. + +2022-03-10 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/uniform-simt-4.c: New test. + +2022-03-10 Tom de Vries <tdevries@suse.de> + + PR target/104815 + * gcc.target/nvptx/atomic-bit-bucket-dest.c: New test. + +2022-03-10 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/atomic_fetch-1.c: Update. + * gcc.target/nvptx/atomic_fetch-2.c: Update. + +2022-03-10 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/90115 + PR middle-end/102330 + PR middle-end/104774 + * c-c++-common/goacc/kernels-decompose-pr104061-1-3.c: Adjust. + * c-c++-common/goacc/kernels-decompose-pr104061-1-4.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104132-1.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104133-1.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104774-1.c: Likewise. + * c-c++-common/goacc/privatization-1-compute-loop.c: Likewise. + * c-c++-common/goacc/privatization-1-compute.c: Likewise. + * c-c++-common/goacc/privatization-1-routine_gang-loop.c: + Likewise. + * c-c++-common/goacc/privatization-1-routine_gang.c: Likewise. + * gfortran.dg/goacc-gomp/pr102330-1.f90: Likewise, and subsume... + * gfortran.dg/goacc-gomp/pr102330-2.f90: ... this file, and... + * gfortran.dg/goacc-gomp/pr102330-3.f90: ... this file. + * gfortran.dg/goacc/privatization-1-compute-loop.f90: Adjust. + * gfortran.dg/goacc/privatization-1-compute.f90: Likewise. + * gfortran.dg/goacc/privatization-1-routine_gang-loop.f90: + Likewise. + * gfortran.dg/goacc/privatization-1-routine_gang.f90: Likewise. + +2022-03-10 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/104774 + * c-c++-common/goacc/kernels-decompose-pr104774-1.c: New file. + +2022-03-10 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/102330 + * gfortran.dg/goacc-gomp/pr102330-1.f90: New file. + * gfortran.dg/goacc-gomp/pr102330-2.f90: Likewise. + * gfortran.dg/goacc-gomp/pr102330-3.f90: Likewise. + +2022-03-10 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/90115 + * c-c++-common/goacc/nesting-1.c: Enhance. + * gcc.dg/goacc/nested-function-1.c: Likewise. + * gcc.dg/goacc/nested-function-2.c: Likewise. + * gfortran.dg/goacc/nested-function-1.f90: Likewise. + +2022-03-10 Jakub Jelinek <jakub@redhat.com> + + PR target/99708 + * gcc.dg/pr99708.c: New test. + * gcc.target/powerpc/pr99708-2.c: New test. + * gcc.target/powerpc/convert-fp-128.c (mode_kf): Define only if + __FLOAT128_TYPE__ is defined. + +2022-03-10 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/95999 + * g++.dg/parse/pr95999.C: New test case. + +2022-03-10 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/39751 + * g++.dg/parse/pr39751.C: New test case. + +2022-03-09 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c11-unproto-1.c, gcc.dg/c11-unproto-2.c: Update comments. + * gcc.dg/c2x-unproto-1.c, gcc.dg/c2x-unproto-2.c: Expect same + results as in C11 mode. Update comments. + +2022-03-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104849 + * gfortran.dg/pr104849.f90: New test. + +2022-03-09 Patrick Palka <ppalka@redhat.com> + + PR c++/104823 + * g++.dg/cpp0x/Wnarrowing19.C: New test. + * g++.dg/cpp0x/constexpr-attribute4.C: New file. + +2022-03-09 Patrick Palka <ppalka@redhat.com> + + PR c++/102137 + PR c++/87820 + * g++.dg/cpp0x/explicit15.C: New test. + * g++.dg/cpp1z/class-deduction108.C: New test. + +2022-03-09 Patrick Palka <ppalka@redhat.com> + + PR c++/65396 + * g++.dg/cpp0x/vt-34314.C: Adjust expected location of + "redeclared here" note. + * g++.dg/template/pr92440.C: Likewise. + * g++.old-deja/g++.pt/redecl1.C: Adjust expected location of + "redefinition of default argument" error. + * g++.dg/template/defarg23.C: New test. + * g++.dg/template/defarg23a.C: New test. + +2022-03-09 Richard Biener <rguenther@suse.de> + + PR testsuite/104759 + * gcc.dg/vect/vect-multitypes-12.c: Adjust. + +2022-03-09 Richard Biener <rguenther@suse.de> + + PR middle-end/104786 + * gcc.dg/pr104786.c: New testcase. + +2022-03-09 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/sizeof_6.f90: New test. + +2022-03-09 Jakub Jelinek <jakub@redhat.com> + + PR c/104711 + * c-c++-common/Wshift-negative-value-1.c: Remove + dg-additional-options, instead in target selectors of each diagnostic + check for exact C++ versions where it should be diagnosed. + * c-c++-common/Wshift-negative-value-2.c: Likewise. + * c-c++-common/Wshift-negative-value-3.c: Likewise. + * c-c++-common/Wshift-negative-value-4.c: Likewise. + * c-c++-common/Wshift-negative-value-7.c: New test. + * c-c++-common/Wshift-negative-value-8.c: New test. + * c-c++-common/Wshift-negative-value-9.c: New test. + * c-c++-common/Wshift-negative-value-10.c: New test. + * c-c++-common/Wshift-overflow-1.c: Remove + dg-additional-options, instead in target selectors of each diagnostic + check for exact C++ versions where it should be diagnosed. + * c-c++-common/Wshift-overflow-2.c: Likewise. + * c-c++-common/Wshift-overflow-5.c: Likewise. + * c-c++-common/Wshift-overflow-6.c: Likewise. + * c-c++-common/Wshift-overflow-7.c: Likewise. + * c-c++-common/Wshift-overflow-8.c: New test. + * c-c++-common/Wshift-overflow-9.c: New test. + * c-c++-common/Wshift-overflow-10.c: New test. + * c-c++-common/Wshift-overflow-11.c: New test. + * c-c++-common/Wshift-overflow-12.c: New test. + +2022-03-09 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/104839 + * gcc.c-torture/execute/pr104839.c: New test. + +2022-03-08 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/96440 + * g++.dg/cpp0x/pr96440.C: New test case. + +2022-03-08 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/104126 + * gfortran.dg/null_actual_2.f90: New test. + +2022-03-08 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/96437 + * g++.dg/cpp2a/pr96437.C: New test case. + +2022-03-08 Roger Sayle <roger@nextmovesoftware.com> + + PR c++/96329 + * g++.dg/template/pr96329.C: New test case. + +2022-03-08 Marek Polacek <polacek@redhat.com> + + PR c++/104108 + * g++.dg/cpp0x/alias-decl-74.C: New test. + +2022-03-08 Marek Polacek <polacek@redhat.com> + + * g++.dg/ext/attr-unavailable-9.C: Add dg-error. + +2022-03-08 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104811 + * gfortran.dg/minmaxloc_16.f90: New test. + +2022-03-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/104806 + * g++.dg/spellcheck-pr104806.C: New test. + +2022-03-08 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/99771 + * gcc.dg/analyzer/leak-4.c: New test. + +2022-03-08 Marek Polacek <polacek@redhat.com> + + PR rtl-optimization/104777 + * gcc.dg/torture/tls/pr104777.c: New test. + +2022-03-08 H.J. Lu <hjl.tools@gmail.com> + + PR target/104781 + * gcc.target/i386/eh_return-1.c: Add -mincoming-stack-boundary=4. + * gcc.target/i386/eh_return-2.c: Likewise. + +2022-03-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/84201 + * gcc.dg/vect/pr84201.c: New testcase. + +2022-03-08 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/104755 + * gcc.dg/vect/vect-bic-bitmask-10.c: Disable sparc. + * gcc.dg/vect/vect-bic-bitmask-11.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-12.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-2.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-23.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-3.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-4.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-5.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-6.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-8.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-9.c: Likewise. + +2022-03-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104825 + * gcc.dg/torture/pr104825.c: New testcase. + +2022-03-08 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr100865-8a.c: Adjust testcase. + * gcc.target/i386/pr100865-8c.c: Ditto. + * gcc.target/i386/pr100865-9c.c: Ditto. + +2022-03-07 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/99585 + PR fortran/104430 + * gfortran.dg/class_result_10.f90: New test. + +2022-03-07 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/101983 + * gcc.dg/analyzer/pr101983-main.c: New test. + * gcc.dg/analyzer/pr101983-not-main.c: New test. + +2022-03-07 Martin Liska <mliska@suse.cz> + + PR middle-end/104381 + * gcc.dg/pr104381.c: New test. + +2022-03-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104782 + * gcc.dg/vect/pr104782.c: New testcase. + +2022-03-07 Jakub Jelinek <jakub@redhat.com> + + PR target/104775 + * gcc.target/s390/pr104775.c: New test. + +2022-03-07 Jakub Jelinek <jakub@redhat.com> + + PR target/104779 + * gcc.target/i386/pr104779.c: New test. + +2022-03-06 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.dg/lower-subreg-1.c: Update test case. iordi3 is no longer + lowered by the RTL subreg1 pass on ia32 [even with -mno-stv]. + +2022-03-05 Roger Sayle <roger@nextmovesoftware.com> + Uroš Bizjak <ubizjak@gmail.com> + + PR testsuite/104732 + * gcc.target/i386/pr104732.c: New test case. + +2022-03-05 Michael Meissner <meissner@linux.ibm.com> + + PR target/104698 + * gcc.target/powerpc/pr104698-1.c: New test. + * gcc.target/powerpc/pr104698-2.c: New test. + +2022-03-04 Nathan Sidwell <nathan@acm.org> + + * g++.dg/modules/std-subst-2.C: New. + * g++.dg/modules/std-subst-3.C: New. + * g++.dg/modules/std-subst-4_a.C: New. + * g++.dg/modules/std-subst-4_b.C: New. + * g++.dg/modules/std-subst-4_c.C: New. + +2022-03-04 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/103521 + * gcc.dg/analyzer/pr93032-mztools.c: Move to... + * gcc.dg/analyzer/pr93032-mztools-signed-char.c: ...this, adding + -fsigned-char to args, and... + * gcc.dg/analyzer/pr93032-mztools-unsigned-char.c: ...copy to here, + adding -funsigned-char to args. + +2022-03-04 Patrick Palka <ppalka@redhat.com> + + PR c++/103443 + * g++.dg/cpp2a/consteval29.C: New test. + +2022-03-04 Nathan Sidwell <nathan@acm.org> + + * g++.dg/modules/fn-inline-1_b.C: Adjust. + * g++.dg/modules/fn-inline-1_c.C: Adjust. + * g++.dg/modules/imp-inline-1_a.C: Adjust. + * g++.dg/modules/imp-inline-1_b.C: Adjust. + * g++.dg/modules/init-2_a.C: Adjust. + * g++.dg/modules/init-2_b.C: Adjust. + * g++.dg/modules/init-2_c.C: Adjust. + * g++.dg/modules/member-def-2_d.C: Adjust. + * g++.dg/modules/mod-sym-1.C: Adjust. + * g++.dg/modules/mod-sym-2.C: Adjust. + * g++.dg/modules/mod-sym-3.C: Adjust. + * g++.dg/modules/sym-subst-1.C: Adjust. + * g++.dg/modules/sym-subst-2_b.C: Adjust. + * g++.dg/modules/sym-subst-3_a.C: Adjust. + * g++.dg/modules/sym-subst-3_b.C: Adjust. + * g++.dg/modules/sym-subst-4.C: Adjust. + * g++.dg/modules/sym-subst-5.C: Adjust. + * g++.dg/modules/sym-subst-6.C: Adjust. + * g++.dg/modules/tpl-spec-1_a.C: Adjust. + * g++.dg/modules/tpl-spec-2_b.C: Adjust. + * g++.dg/modules/tpl-spec-2_d.C: Adjust. + * g++.dg/modules/tpl-spec-3_a.C: Adjust. + * g++.dg/modules/virt-1_a.C: Adjust. + * g++.dg/modules/virt-2_a.C: Adjust. + * g++.dg/modules/virt-2_b.C: Adjust. + * g++.dg/modules/virt-2_c.C: Adjust. + * g++.dg/modules/vtt-1_a.C: Adjust. + * g++.dg/modules/vtt-1_b.C: Adjust. + +2022-03-04 Peter Bergner <bergner@linux.ibm.com> + + PR target/87496 + PR target/104208 + * gcc.target/powerpc/pr104208-1.c: New test. + * gcc.target/powerpc/pr104208-2.c: Likewise. + * gcc.target/powerpc/pr87496-2.c: Swap long double options to trigger + the expected error. + * gcc.target/powerpc/pr87496-3.c: Likewise. + +2022-03-04 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104529 + * g++.dg/tree-ssa/pr104529.C: New test. + +2022-03-04 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100280 + PR middle-end/104132 + PR middle-end/104133 + * c-c++-common/goacc/kernels-decompose-pr104061-1-3.c: Adjust. + * c-c++-common/goacc/kernels-decompose-pr104061-1-4.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104132-1.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104133-1.c: Likewise. + +2022-03-04 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100280 + * c-c++-common/goacc/classify-kernels-unparallelized.c: Adjust. + * c-c++-common/goacc/classify-kernels.c: Likewise. + * c-c++-common/goacc/kernels-decompose-2.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr100280-1.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104061-1-2.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104061-1-3.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104061-1-4.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104132-1.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104133-1.c: Likewise. + +2022-03-04 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100280 + * c-c++-common/goacc/classify-kernels-unparallelized.c: Add + '--param=openacc-privatization=noisy'. + * c-c++-common/goacc/classify-kernels.c: Likewise. + * c-c++-common/goacc/kernels-decompose-2.c: Adjust. + * c-c++-common/goacc/kernels-decompose-pr100280-1.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104061-1-2.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104061-1-3.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104061-1-4.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104132-1.c: Likewise. + * c-c++-common/goacc/kernels-decompose-pr104133-1.c: Likewise. + +2022-03-04 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100400 + PR middle-end/103836 + PR middle-end/104061 + * c-c++-common/goacc/kernels-decompose-pr100400-1-1.c: New. + * c-c++-common/goacc/kernels-decompose-pr100400-1-2.c: New. + * c-c++-common/goacc/kernels-decompose-pr100400-1-3.c: New. + * c-c++-common/goacc/kernels-decompose-pr100400-1-4.c: New. + * c-c++-common/goacc/kernels-decompose-pr103836-1-1.c: New. + * c-c++-common/goacc/kernels-decompose-pr103836-1-2.c: New. + * c-c++-common/goacc/kernels-decompose-pr103836-1-3.c: New. + * c-c++-common/goacc/kernels-decompose-pr103836-1-4.c: New. + * c-c++-common/goacc/kernels-decompose-pr104061-1-1.c: New. + * c-c++-common/goacc/kernels-decompose-pr104061-1-2.c: New. + * c-c++-common/goacc/kernels-decompose-pr104061-1-3.c: New. + * c-c++-common/goacc/kernels-decompose-pr104061-1-4.c: New. + +2022-03-04 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/104133 + * c-c++-common/goacc/kernels-decompose-pr104133-1.c: New file. + +2022-03-04 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/104132 + * c-c++-common/goacc/kernels-decompose-pr104132-1.c: New file. + +2022-03-04 Thomas Schwinge <thomas@codesourcery.com> + + * c-c++-common/goacc/classify-kernels-parloops.c: Update. + * c-c++-common/goacc/classify-kernels-unparallelized-parloops.c: + Likewise. + * c-c++-common/goacc/classify-kernels-unparallelized.c: Likewise. + * c-c++-common/goacc/classify-kernels.c: Likewise. + * c-c++-common/goacc/classify-parallel.c: Likewise. + * c-c++-common/goacc/classify-routine-nohost.c: Likewise. + * c-c++-common/goacc/classify-routine.c: Likewise. + * c-c++-common/goacc/classify-serial.c: Likewise. + * gfortran.dg/goacc/classify-kernels-parloops.f95: Likewise. + * gfortran.dg/goacc/classify-kernels-unparallelized-parloops.f95: + Likewise. + * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise. + * gfortran.dg/goacc/classify-kernels.f95: Likewise. + * gfortran.dg/goacc/classify-parallel.f95: Likewise. + * gfortran.dg/goacc/classify-routine-nohost.f95: Likewise. + * gfortran.dg/goacc/classify-routine.f95: Likewise. + * gfortran.dg/goacc/classify-serial.f95: Likewise. + +2022-03-04 H.J. Lu <hjl.tools@gmail.com> + + PR target/104704 + * gcc.target/i386/incoming-11.c: Xfail. + * gcc.target/i386/pieces-memset-3.c: Likewise. + * gcc.target/i386/pieces-memset-37.c: Likewise. + * gcc.target/i386/pieces-memset-39.c: Likewise. + * gcc.target/i386/pieces-memset-46.c: Likewise. + * gcc.target/i386/pieces-memset-47.c: Likewise. + * gcc.target/i386/pieces-memset-48.c: Likewise. + * gcc.target/i386/pr90773-5.c: Likewise. + * gcc.target/i386/pr90773-14.c: Likewise. + * gcc.target/i386/pr90773-17.c: Likewise. + * gcc.target/i386/pr100865-8a.c: Likewise. + * gcc.target/i386/pr100865-8c.c: Likewise. + * gcc.target/i386/pr100865-9c.c: Likewise. + * gcc.target/i386/pieces-memset-21.c: Always expect vzeroupper. + * gcc.target/i386/pr82941-1.c: Likewise. + * gcc.target/i386/pr82942-1.c: Likewise. + * gcc.target/i386/pr82990-1.c: Likewise. + * gcc.target/i386/pr82990-3.c: Likewise. + * gcc.target/i386/pr82990-5.c: Likewise. + * gcc.target/i386/pr100865-11b.c: Expect vmovdqa instead of + vmovdqa64. + * gcc.target/i386/pr100865-12b.c: Likewise. + * gcc.target/i386/pr100865-8b.c: Likewise. + * gcc.target/i386/pr100865-9b.c: Likewise. + * gcc.target/i386/pr104704-1.c: New test. + * gcc.target/i386/pr104704-2.c: Likewise. + * gcc.target/i386/pr104704-3.c: Likewise. + * gcc.target/i386/pr104704-4.c: Likewise. + * gcc.target/i386/pr104704-5.c: Likewise. + * gcc.target/i386/pr104704-6.c: Likewise. + +2022-03-03 Martin Sebor <msebor@redhat.com> + + PR middle-end/104761 + * g++.dg/warn/Wdangling-pointer-4.C: New test. + * gcc.dg/Wdangling-pointer-4.c: New test. + +2022-03-03 Kwok Cheung Yeung <kcy@codesourcery.com> + + PR fortran/104131 + * gfortran.dg/gomp/pr104131.f90: New. + * gfortran.dg/gomp/task-detach-1.f90: Update expected error message. + +2022-03-03 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/sm53.c: Add -mptx=_. + * gcc.target/nvptx/sm70.c: Same. + * gcc.target/nvptx/sm75.c: Same. + * gcc.target/nvptx/sm80.c: Same. + +2022-03-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104757 + * gfortran.dg/gomp/pr104757.f90: New test. + * gcc.dg/gomp/pr104757.c: New test. + +2022-03-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104558 + * gcc.dg/pr104558.c: New test. + +2022-03-02 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104573 + * gfortran.dg/assumed_type_14.f90: New test. + +2022-03-02 David Edelsohn <dje.gcc@gmail.com> + + * c-c++-common/pr104505.c: Add -Wno-psabi. + +2022-03-02 Qing Zhao <qing.zhao@oracle.com> + + PR middle-end/102276 + * gcc.dg/auto-init-pr102276-1.c: New test. + * gcc.dg/auto-init-pr102276-2.c: New test. + * gcc.dg/auto-init-pr102276-3.c: New test. + * gcc.dg/auto-init-pr102276-4.c: New test. + +2022-03-02 Tamar Christina <tamar.christina@arm.com> + + PR testsuite/104730 + * gcc.dg/vect/complex/pr102819-1.c: Add vect_float. + * gcc.dg/vect/complex/pr102819-2.c: Likewise. + * gcc.dg/vect/complex/pr102819-3.c: Likewise. + * gcc.dg/vect/complex/pr102819-4.c: Likewise. + * gcc.dg/vect/complex/pr102819-5.c: Likewise. + * gcc.dg/vect/complex/pr102819-6.c: Likewise. + * gcc.dg/vect/complex/pr102819-7.c: Likewise. + * gcc.dg/vect/complex/pr102819-8.c: Likewise. + * gcc.dg/vect/complex/pr102819-9.c: Likewise. + +2022-03-02 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/104637 + * gcc.target/i386/pr104637.c: Don't run on ia32. Add -Wno-div-by-zero + to dg-options. + (foo): Remove extraneous initializer. + +2022-03-02 Jakub Jelinek <jakub@redhat.com> + + PR debug/100541 + * g++.dg/opt/pr100541-1.C: New test. + * g++.dg/opt/pr100541-2.C: New test. + +2022-03-02 Hongyu Wang <hongyu.wang@intel.com> + + PR target/104726 + * gcc.target/i386/pr104551.c: Use avx2-check.h. + +2022-03-02 Hongyu Wang <hongyu.wang@intel.com> + + PR target/104724 + * gcc.target/i386/avx512fp16-vcvtsi2sh-1b.c: Use long long + instead of __int64_t. + * gcc.target/i386/avx512fp16-vcvtsi2sh64-1b.c: Ditto. + * gcc.target/i386/avx512fp16-vcvtusi2sh-1b.c: Ditto. + * gcc.target/i386/avx512fp16-vcvtusi2sh64-1b.c: Ditto. + +2022-03-01 Martin Sebor <msebor@redhat.com> + + PR tree-optimization/104715 + * gcc.dg/Wdangling-pointer-3.c: New test. + +2022-03-01 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104715 + * c-c++-common/Wdangling-pointer-7.c: New test. + +2022-03-01 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/104736 + * gdc.test/runnable/dhry.d: Removed. + +2022-03-01 H.J. Lu <hjl.tools@gmail.com> + + PR testsuite/104725 + * g++.target/i386/pr35513-1.C: Limit to Linux. + * g++.target/i386/pr35513-2.C: Likewise. + +2022-03-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104716 + * gfortran.dg/pr104716.f: New testcase. + +2022-03-01 Richard Biener <rguenther@suse.de> + + PR testsuite/104727 + * gcc.target/i386/pr84101.c: Remove XFAIL. + +2022-03-01 Richard Biener <rguenther@suse.de> + + PR testsuite/104728 + * gcc.dg/vect/pr81196-2.c: Require vect_perm. + +2022-03-01 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/pr80270.c: Don't compile new test case on ia32. + +2022-03-01 Martin Liska <mliska@suse.cz> + + PR ipa/104533 + * g++.target/i386/pr104533.C: New test. + +2022-03-01 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/sm30.c: New test. + * gcc.target/nvptx/sm35.c: New test. + * gcc.target/nvptx/sm53.c: New test. + * gcc.target/nvptx/sm70.c: New test. + * gcc.target/nvptx/sm75.c: New test. + * gcc.target/nvptx/sm80.c: New test. + +2022-03-01 Hongyu Wang <hongyu.wang@intel.com> + + PR target/104664 + * gcc.target/i386/pr104664.c: New test. + +2022-02-28 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/91384 + * gcc.target/i386/pr91384.c: New test case. + +2022-02-28 Roger Sayle <roger@nextmovesoftware.com> + Eric Botcazou <ebotcazou@adacore.com> + + * gcc.target/i386/pr80270.c: New test case. + +2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/104637 + * gcc.target/i386/pr104637.c: New. + +2022-02-28 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/torture/simd7413a.d: Update. + * gdc.dg/ubsan/pr88957.d: Update. + * gdc.dg/simd18489.d: New test. + * gdc.dg/torture/simd21727.d: New test. + +2022-02-28 Marek Polacek <polacek@redhat.com> + + PR c++/104682 + * g++.dg/ext/attr-unavailable-10.C: New test. + * g++.dg/ext/attr-unavailable-11.C: New test. + * g++.dg/warn/deprecated-17.C: New test. + * g++.dg/warn/deprecated-18.C: New test. + +2022-02-28 Marek Polacek <polacek@redhat.com> + + PR c++/104667 + * g++.dg/ext/attrib64.C: New test. + +2022-02-28 Qing Zhao <qing.zhao@oracle.com> + + PR middle-end/104550 + * gcc.dg/auto-init-pr104550-1.c: New test. + * gcc.dg/auto-init-pr104550-2.c: New test. + * gcc.dg/auto-init-pr104550-3.c: New test. + +2022-02-28 Martin Liska <mliska@suse.cz> + + PR ipa/104648 + * g++.dg/pr104648.C: New test. + +2022-02-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104700 + * gcc.dg/pr104700-2.c: New testcase. + * gcc.dg/torture/pr104700-1.c: Likewise. + +2022-02-28 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/atomic-store-1.c: Add -mptx=_. + * gcc.target/nvptx/atomic-store-2.c: Same. + * gcc.target/nvptx/float16-1.c: Same. + * gcc.target/nvptx/float16-2.c: Same. + * gcc.target/nvptx/float16-3.c: Same. + * gcc.target/nvptx/float16-4.c: Same. + * gcc.target/nvptx/float16-5.c: Same. + * gcc.target/nvptx/float16-6.c: Same. + * gcc.target/nvptx/tanh-1.c: Same. + * gcc.target/nvptx/uniform-simt-1.c: Same. + * gcc.target/nvptx/uniform-simt-3.c: Same. + +2022-02-28 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/atomic-store-3.c: Add -misa=sm_30. + +2022-02-28 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/uniform-simt-2.c: Add -misa=sm_30. + +2022-02-28 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/rotate.c: Add -misa=sm_35. + +2022-02-28 Hongyu Wang <hongyu.wang@intel.com> + + * gcc.target/i386/avx512f-vpternlogd-1.c: Use new enum. + * gcc.target/i386/avx512f-vpternlogq-1.c: Likewise. + * gcc.target/i386/avx512vl-vpternlogd-1.c: Likewise. + * gcc.target/i386/avx512vl-vpternlogq-1.c: Likewise. + * gcc.target/i386/testimm-10.c: Remove imm check for vpternlog + insns since the imm has been truncated in intrinsic. + +2022-02-27 Jason Merrill <jason@redhat.com> + + PR c++/104618 + * g++.dg/overload/paren1.C: New test. + +2022-02-25 Jakub Jelinek <jakub@redhat.com> + Marc Glisse <marc.glisse@inria.fr> + + PR tree-optimization/104675 + * gcc.dg/pr104675-3.c : New test. + +2022-02-25 Jakub Jelinek <jakub@redhat.com> + + PR target/104681 + * g++.dg/opt/pr104681.C: New test. + +2022-02-25 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/pr104540.C: Move to ... + * g++.target/i386/pr104540.C: ... here. + +2022-02-25 Martin Liska <mliska@suse.cz> + + PR testsuite/104687 + * gcc.dg/lto/20090717_0.c: Fix asan error. + +2022-02-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103037 + * gcc.dg/torture/pr103037.c: New testcase. + +2022-02-25 Jakub Jelinek <jakub@redhat.com> + + PR target/104674 + * gcc.target/i386/pr104674.c: New test. + +2022-02-25 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104679 + * g++.dg/torture/pr104679.C: New test. + +2022-02-25 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104675 + * gcc.dg/pr104675-1.c: New test. + * gcc.dg/pr104675-2.c: New test. + +2022-02-25 Alexandre Oliva <oliva@adacore.com> + + PR tree-optimization/103845 + PR tree-optimization/104263 + * gcc.dg/pr103845.c: New. + +2022-02-25 Alexandre Oliva <oliva@adacore.com> + + PR middle-end/104540 + * g++.dg/pr104540.C: New. + +2022-02-25 Alexandre Oliva <oliva@adacore.com> + + PR tree-optimization/103856 + * g++.dg/pr103856.C: New. + +2022-02-24 Pat Haugen <pthaugen@linux.ibm.com> + + PR testsuite/100407 + * gcc.c-torture/compile/attr-retain-1.c: Add -G0 for 32-bit PowerPC. + * gcc.c-torture/compile/attr-retain-2.c: Likewise. + +2022-02-24 Harald Anlauf <anlauf@gmx.de> + + PR fortran/84519 + * gfortran.dg/stop_1.f90: New test. + * gfortran.dg/stop_2.f: New test. + * gfortran.dg/stop_3.f90: New test. + * gfortran.dg/stop_4.f90: New test. + +2022-02-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104676 + * gcc.dg/torture/pr104676.c: New testcase. + +2022-02-24 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104601 + * g++.dg/torture/pr104601.C: New test. + +2022-02-24 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/rotate-run.c: New test. + * gcc.target/nvptx/rotate.c: New test. + +2022-02-24 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/avx512vl-logicsuffix-1.c: New test. + +2022-02-23 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104434 + * gcc.dg/analyzer/attr-const-1.c: New test. + * gcc.dg/analyzer/attr-const-2.c: New test. + * gcc.dg/analyzer/attr-const-3.c: New test. + * gcc.dg/analyzer/pr104434-const.c: New test. + * gcc.dg/analyzer/pr104434-nonconst.c: New test. + * gcc.dg/analyzer/pr104434.h: New test. + +2022-02-23 Marek Polacek <polacek@redhat.com> + + PR c++/79493 + * g++.dg/diagnostic/undeclared1.C: New test. + +2022-02-23 Marek Polacek <polacek@redhat.com> + + PR c++/70077 + * g++.dg/cpp0x/noexcept76.C: New test. + +2022-02-23 Richard Biener <rguenther@suse.de> + Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104644 + * gcc.dg/pr104644.c: New test. + +2022-02-23 Richard Biener <rguenther@suse.de> + + * gcc.dg/gimplefe-49.c: New testcase. + * gcc.dg/gimplefe-error-13.c: Likewise. + +2022-02-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/101636 + * gcc.target/i386/pr101636.c: New testcase. + * c-c++-common/torture/pr101636.c: Likewise. + +2022-02-23 Jakub Jelinek <jakub@redhat.com> + + PR c/104633 + * gcc.dg/Winfinite-recursion-3.c: New test. + * gcc.dg/Winfinite-recursion-4.c: New test. + * gcc.dg/Winfinite-recursion-5.c: New test. + +2022-02-22 Paul A. Clarke <pc@us.ibm.com> + + * g++.dg/ext/altivec-1.C: Move to g++.target/powerpc, adjust dg + directives. + * g++.dg/ext/altivec-2.C: Likewise. + * g++.dg/ext/altivec-3.C: Likewise. + * g++.dg/ext/altivec-4.C: Likewise. + * g++.dg/ext/altivec-5.C: Likewise. + * g++.dg/ext/altivec-6.C: Likewise. + * g++.dg/ext/altivec-7.C: Likewise. + * g++.dg/ext/altivec-8.C: Likewise. + * g++.dg/ext/altivec-9.C: Likewise. + * g++.dg/ext/altivec-10.C: Likewise. + * g++.dg/ext/altivec-11.C: Likewise. + * g++.dg/ext/altivec-12.C: Likewise. + * g++.dg/ext/altivec-13.C: Likewise. + * g++.dg/ext/altivec-14.C: Likewise. + * g++.dg/ext/altivec-15.C: Likewise. + * g++.dg/ext/altivec-16.C: Likewise. + * g++.dg/ext/altivec-17.C: Likewise. + * g++.dg/ext/altivec-18.C: Likewise. + * g++.dg/ext/altivec-cell-1.C: Likewise. + * g++.dg/ext/altivec-cell-2.C: Likewise. + * g++.dg/ext/altivec-cell-3.C: Likewise. + * g++.dg/ext/altivec-cell-4.C: Likewise. + * g++.dg/ext/altivec-cell-5.C: Likewise. + * g++.dg/ext/altivec-types-1.C: Likewise. + * g++.dg/ext/altivec-types-2.C: Likewise. + * g++.dg/ext/altivec-types-3.C: Likewise. + * g++.dg/ext/altivec-types-4.C: Likewise. + * g++.dg/ext/undef-bool-1.C: Likewise. + * g++.target/powerpc/altivec-1.C: New file. + * g++.target/powerpc/altivec-10.C: New file. + * g++.target/powerpc/altivec-11.C: New file. + * g++.target/powerpc/altivec-12.C: New file. + * g++.target/powerpc/altivec-13.C: New file. + * g++.target/powerpc/altivec-14.C: New file. + * g++.target/powerpc/altivec-15.C: New file. + * g++.target/powerpc/altivec-16.C: New file. + * g++.target/powerpc/altivec-17.C: New file. + * g++.target/powerpc/altivec-18.C: New file. + * g++.target/powerpc/altivec-2.C: New file. + * g++.target/powerpc/altivec-3.C: New file. + * g++.target/powerpc/altivec-4.C: New file. + * g++.target/powerpc/altivec-5.C: New file. + * g++.target/powerpc/altivec-6.C: New file. + * g++.target/powerpc/altivec-7.C: New file. + * g++.target/powerpc/altivec-8.C: New file. + * g++.target/powerpc/altivec-9.C: New file. + * g++.target/powerpc/altivec-cell-1.C: New file. + * g++.target/powerpc/altivec-cell-2.C: New file. + * g++.target/powerpc/altivec-cell-3.C: New file. + * g++.target/powerpc/altivec-cell-4.C: New file. + * g++.target/powerpc/altivec-cell-5.C: New file. + * g++.target/powerpc/altivec-types-1.C: New file. + * g++.target/powerpc/altivec-types-2.C: New file. + * g++.target/powerpc/altivec-types-3.C: New file. + * g++.target/powerpc/altivec-types-4.C: New file. + * g++.target/powerpc/undef-bool-1.C: New file. + +2022-02-22 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104619 + * gfortran.dg/derived_constructor_comps_7.f90: New test. + +2022-02-22 Christophe Lyon <christophe.lyon@arm.com> + + PR target/100757 + PR target/100757 + * gcc.target/arm/simd/pr100757-2.c: New. + * gcc.target/arm/simd/pr100757-3.c: New. + * gcc.target/arm/simd/pr100757-4.c: New. + * gcc.target/arm/simd/pr100757.c: New. + * gcc.dg/signbit-2.c: Skip when targeting ARM/MVE. + * lib/target-supports.exp (check_effective_target_arm_mve): New. + +2022-02-22 Christophe Lyon <christophe.lyon@arm.com> + + PR target/100757 + PR target/101325 + * gcc.dg/rtl/arm/mve-vxbi.c: New test. + * gcc.target/arm/simd/pr101325.c: New. + * gcc.target/arm/simd/pr101325-2.c: New. + * lib/target-supports.exp (check_effective_target_arm_mve_hw): Use + add_options_for_arm_v8_1m_mve_fp. + +2022-02-22 Christophe Lyon <christophe.lyon@arm.com> + + * gcc.target/arm/simd/mve-vcmp-f32-2.c: New. + * gcc.target/arm/simd/neon-compare-1.c: New. + * gcc.target/arm/simd/neon-compare-2.c: New. + * gcc.target/arm/simd/neon-compare-3.c: New. + * gcc.target/arm/simd/neon-compare-scalar-1.c: New. + * gcc.target/arm/simd/neon-vcmp-f16.c: New. + * gcc.target/arm/simd/neon-vcmp-f32-2.c: New. + * gcc.target/arm/simd/neon-vcmp-f32-3.c: New. + * gcc.target/arm/simd/neon-vcmp-f32.c: New. + * gcc.target/arm/simd/neon-vcmp.c: New. + +2022-02-22 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/atomic-store-2.c: Use -misa=sm_70. + * gcc.target/nvptx/uniform-simt-3.c: Same. + +2022-02-22 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + * gcc.dg/fold-reduc-1.c: New test case. + +2022-02-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104604 + * gcc.c-torture/execute/pr104604.c: New test. + +2022-02-22 Jakub Jelinek <jakub@redhat.com> + + PR target/104612 + * gcc.dg/pr104612.c: New test. + +2022-02-22 Tom de Vries <tdevries@suse.de> + + * gcc.dg/sibcall-10.c: Xfail execution test for nvptx. + * gcc.dg/sibcall-3.c: Same. + * gcc.dg/sibcall-4.c: Same. + +2022-02-22 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/float16-1.c: Drop -mptx setting. + * gcc.target/nvptx/float16-2.c: Same. + * gcc.target/nvptx/float16-3.c: Same. + * gcc.target/nvptx/float16-4.c: Same. + * gcc.target/nvptx/float16-5.c: Same. + * gcc.target/nvptx/float16-6.c: Same. + * gcc.target/nvptx/tanh-1.c: Same. + +2022-02-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104582 + PR target/99881 + * gcc.dg/vect/costmodel/x86_64/costmodel-pr104582-1.c: New. + * gcc.dg/vect/costmodel/x86_64/costmodel-pr104582-2.c: Likewise. + * gcc.dg/vect/costmodel/x86_64/costmodel-pr104582-3.c: Likewise. + * gcc.dg/vect/costmodel/x86_64/costmodel-pr104582-4.c: Likewise. + * gcc.target/i386/pr99881.c: Un-XFAIL. + * gcc.target/i386/pr91446.c: Adjust to not expect vectorization. + +2022-02-22 Hongyu Wang <hongyu.wang@intel.com> + + PR target/103069 + * gcc.target/i386/pr103069-2.c: Adjust result check. + * gcc.target/i386/pr103069-3.c: New test. + * gcc.target/i386/pr103069-4.c: Likewise. + +2022-02-21 Dan Li <ashimida@linux.alibaba.com> + + * gcc.target/aarch64/shadow_call_stack_1.c: New test. + * gcc.target/aarch64/shadow_call_stack_2.c: New test. + * gcc.target/aarch64/shadow_call_stack_3.c: New test. + * gcc.target/aarch64/shadow_call_stack_4.c: New test. + * gcc.target/aarch64/shadow_call_stack_5.c: New test. + * gcc.target/aarch64/shadow_call_stack_6.c: New test. + * gcc.target/aarch64/shadow_call_stack_7.c: New test. + * gcc.target/aarch64/shadow_call_stack_8.c: New test. + +2022-02-21 Patrick Palka <ppalka@redhat.com> + + PR c++/85493 + * g++.dg/cpp0x/decltype80.C: New test. + +2022-02-21 Andrew Pinski <apinski@marvell.com> + + PR c/104506 + * gcc.dg/pr104506-1.c: New test. + * gcc.dg/pr104506-2.c: New test. + * gcc.dg/pr104506-3.c: New test. + +2022-02-20 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/special1.d: New file. + +2022-02-20 Harald Anlauf <anlauf@gmx.de> + + PR fortran/77693 + * gfortran.dg/data_pointer_2.f90: New test. + +2022-02-19 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/atomic-store-1.c: Update. + +2022-02-19 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/uniform-simt-3.c: New test. + +2022-02-19 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/uniform-simt-1.c: Add scan-assembler test. + * gcc.target/nvptx/uniform-simt-2.c: New test. + +2022-02-19 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/102656 + * g++.dg/asan/pr102656.C: New test. + +2022-02-18 H.J. Lu <hjl.tools@gmail.com> + + PR target/104581 + * gcc.target/i386/pieces-memset-21.c: Expect vzeroupper for ia32. + +2022-02-18 Richard Biener <rguenther@suse.de> + + PR target/104581 + * gcc.target/i386/pr101456-1.c: XFAIL. + +2022-02-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/96881 + * g++.dg/torture/pr96881-1.C: New testcase. + * g++.dg/torture/pr96881-2.C: Likewise. + +2022-02-18 Patrick Palka <ppalka@redhat.com> + + PR c++/94944 + * g++.dg/cpp0x/noexcept34.C: Adjusted expected diagnostics. + * g++.dg/cpp0x/noexcept75.C: New test. + +2022-02-17 Jason Merrill <jason@redhat.com> + + PR c++/104539 + * g++.dg/ipa/inline-4.C: New test. + +2022-02-17 Jason Merrill <jason@redhat.com> + + * g++.dg/warn/deprecated-16.C: New test. + +2022-02-17 Jason Merrill <jason@redhat.com> + + PR c++/90451 + * g++.dg/warn/deprecated-14.C: New test. + * g++.dg/warn/deprecated-15.C: New test. + +2022-02-17 Eric Botcazou <ebotcazou@adacore.com> + + PR target/79754 + * gcc.target/i386/pr79754.c: Add target dfp. + +2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/104447 + * gcc.target/i386/pr104447.c: New. + +2022-02-17 Patrick Palka <ppalka@redhat.com> + + PR c++/104565 + * g++.dg/template/non-dependent22.C: New test. + +2022-02-17 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr104551.c: New test. + +2022-02-17 Jakub Jelinek <jakub@redhat.com> + + PR debug/104557 + * gcc.dg/dfp/pr104557.c: New test. + +2022-02-17 Jakub Jelinek <jakub@redhat.com> + + PR c/104532 + * gcc.dg/gomp/pr104532.c: New test. + +2022-02-17 Michael Meissner <meissner@the-meissners.org> + + PR target/99708 + * gcc.target/powerpc/pr99708.c: New test. + +2022-02-17 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104576 + * gcc.dg/analyzer/torture/uninit-pr63311.c: New test. + * gcc.dg/analyzer/uninit-pr104576.c: New test. + * gfortran.dg/analyzer/uninit-pr63311.f90: New test. + +2022-02-16 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104560 + * g++.dg/analyzer/placement-new.C: Update expected wording. + * g++.dg/analyzer/pr100244.C: Likewise. + * gcc.dg/analyzer/attr-malloc-1.c (test_7): Likewise. + * gcc.dg/analyzer/malloc-1.c (test_24): Likewise. + (test_25): Likewise. + (test_26): Likewise. + (test_50a, test_50b, test_50c): New. + * gcc.dg/analyzer/malloc-callbacks.c (test_5): Update expected + wording. + * gcc.dg/analyzer/malloc-paths-8.c: Likewise. + * gcc.dg/analyzer/pr104560-1.c: New test. + * gcc.dg/analyzer/pr104560-2.c: New test. + * gcc.dg/analyzer/realloc-1.c (test_7): Updated expected wording. + * gcc.dg/analyzer/vla-1.c (test_2): New. Prune output from + -Wfree-nonheap-object. + +2022-02-16 Patrick Palka <ppalka@redhat.com> + + PR c++/104507 + * g++.dg/template/non-dependent21.C: New test. + +2022-02-16 Jakub Jelinek <jakub@redhat.com> + + PR target/104448 + * gcc.target/i386/pr104448.c: New test. + +2022-02-16 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/104544 + * gcc.dg/pr104544.c: New test. + +2022-02-16 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/atomic-inst-cas.c: Add + -Wno-invalid-memory-model. + +2022-02-16 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/bic-bitmask-1.c: Remove XFAIL. + +2022-02-16 Richard Sandiford <richard.sandiford@arm.com> + + PR target/100056 + * gcc.target/aarch64/pr100056.c: XFAIL the original UBFIZ test + and instead expect two UBFIZs + two ADD UXTBs. + +2022-02-16 Jakub Jelinek <jakub@redhat.com> + + PR c/104531 + * c-c++-common/gomp/atomic-31.c: New test. + +2022-02-16 Jakub Jelinek <jakub@redhat.com> + + PR c/104510 + * gcc.dg/dfp/pr104510.c: New test. + +2022-02-15 Peter Bergner <bergner@linux.ibm.com> + + * gcc.target/powerpc/htm-1.c: Retry intermittent failing tbegins. + +2022-02-15 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/104526 + * gcc.dg/pr104526.c: New. + +2022-02-15 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104524 + * gcc.dg/analyzer/pr104524.c: New test. + +2022-02-15 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/102692 + * gcc.dg/analyzer/pr102692-2.c: New test. + * gcc.dg/analyzer/pr102692.c: Remove xfail. Remove -O2 from + options and move to... + * gcc.dg/analyzer/torture/pr102692.c: ...here. + +2022-02-15 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/depend-4.f90: Add VALUE test, update scan test. + * gfortran.dg/gomp/depend-5.f90: Fix scan tree for -m32. + * gfortran.dg/gomp/depend-6.f90: New test. + +2022-02-15 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/max_plus_1.c: New test. + * gcc.target/aarch64/max_plus_2.c: Likewise. + * gcc.target/aarch64/max_plus_3.c: Likewise. + * gcc.target/aarch64/max_plus_4.c: Likewise. + * gcc.target/aarch64/max_plus_5.c: Likewise. + * gcc.target/aarch64/max_plus_6.c: Likewise. + * gcc.target/aarch64/max_plus_7.c: Likewise. + * gcc.target/aarch64/min_plus_1.c: Likewise. + * gcc.target/aarch64/min_plus_2.c: Likewise. + * gcc.target/aarch64/min_plus_3.c: Likewise. + * gcc.target/aarch64/min_plus_4.c: Likewise. + * gcc.target/aarch64/min_plus_5.c: Likewise. + * gcc.target/aarch64/min_plus_6.c: Likewise. + * gcc.target/aarch64/min_plus_7.c: Likewise. + +2022-02-15 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/store_v2vec_lanes.c: Add -fno-tree-vectorize. + +2022-02-15 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/shl-combine-2.c: New test. + * gcc.target/aarch64/shl-combine-3.c: Likewise. + * gcc.target/aarch64/shl-combine-4.c: Likewise. + * gcc.target/aarch64/shl-combine-5.c: Likewise. + * gcc.target/aarch64/xtn-combine-1.c: Likewise. + * gcc.target/aarch64/xtn-combine-2.c: Likewise. + * gcc.target/aarch64/xtn-combine-3.c: Likewise. + * gcc.target/aarch64/xtn-combine-4.c: Likewise. + * gcc.target/aarch64/xtn-combine-5.c: Likewise. + * gcc.target/aarch64/xtn-combine-6.c: Likewise. + +2022-02-15 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/ldp_stp_5.c: Require -mstrict-align. + * gcc.target/aarch64/ldp_stp_14.h, + * gcc.target/aarch64/ldp_stp_14.c: New test. + * gcc.target/aarch64/ldp_stp_15.c: Likewise. + * gcc.target/aarch64/ldp_stp_16.c: Likewise. + * gcc.target/aarch64/ldp_stp_17.c: Likewise. + * gcc.target/aarch64/ldp_stp_18.c: Likewise. + * gcc.target/aarch64/ldp_stp_19.c: Likewise. + +2022-02-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104543 + * gcc.dg/torture/pr104543.c: New testcase. + +2022-02-15 Tobias Burnus <tobias@codesourcery.com> + + * gfortran.dg/gomp/depend-4.f90: New test. + * gfortran.dg/gomp/depend-5.f90: New test. + +2022-02-15 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104522 + * gcc.dg/pr104522.c: New test. + +2022-02-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104519 + * gcc.dg/torture/pr104519.c: New testcase. + +2022-02-15 Jakub Jelinek <jakub@redhat.com> + + PR debug/104517 + * gcc.dg/gomp/pr104517.c: New test. + +2022-02-15 Jason Merrill <jason@redhat.com> + + PR c++/104107 + PR c++/95036 + * g++.dg/cpp0x/alias-decl-ttp2.C: New test. + * g++.dg/cpp1z/ttp2.C: New test. + +2022-02-14 Michael Meissner <meissner@the-meissners.org> + + PR target/104253 + * gcc.target/powerpc/pr104253.c: New test. + +2022-02-14 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104211 + * gfortran.dg/pr104211.f90: New test. + +2022-02-14 Jakub Jelinek <jakub@redhat.com> + + PR c++/104513 + * g++.dg/cpp1y/constexpr-104513.C: New test. + * g++.dg/cpp2a/constexpr-dtor12.C: New test. + +2022-02-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104528 + * gfortran.dg/pr104528.f: New testcase. + +2022-02-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104511 + * gcc.dg/pr104511.c: New testcase. + +2022-02-14 Richard Biener <rguenther@suse.de> + + PR c/104505 + * c-c++-common/pr104505.c: New testcase. + +2022-02-14 Richard Biener <rguenther@suse.de> + + PR middle-end/104497 + * c-c++-common/torture/pr104497.c: New testcase. + +2022-02-13 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/104228 + * gfortran.dg/asan/associate_58.f90: New test. + * gfortran.dg/asan/associate_59.f90: New test. + +2022-02-13 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr103771-2.c: New test. + * gcc.target/i386/pr103771-3.c: New test. + +2022-02-12 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/104449 + * gcc.dg/asan/pr104449.c: New test. + * g++.dg/asan/pr104449.C: New test. + +2022-02-12 H.J. Lu <hjl.tools@gmail.com> + + PR testsuite/104481 + * g++.target/i386/pr35513-1.C: Require property_1_needed target. + * g++.target/i386/pr35513-2.C: Likewise. + * gcc.target/i386/pr35513-8.c: Change to compile. + * lib/target-supports.exp (check_compile): Support assembly code. + (check_effective_target_property_1_needed): New proc. + +2022-02-12 Jakub Jelinek <jakub@redhat.com> + + PR target/104502 + * gcc.target/i386/pr104502.c: New test. + +2022-02-12 Uroš Bizjak <ubizjak@gmail.com> + + PR target/79754 + * gcc.target/i386/pr79754.c: New test. + +2022-02-11 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104499 + * gcc.c-torture/compile/pr104499.c: New test. + +2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/104400 + * gcc.target/v850/pr104400.c: New. + * gcc.target/v850/v850.exp: New. + +2022-02-11 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104274 + * gcc.dg/analyzer/torture/empty-struct-1.c: New test. + +2022-02-11 Richard Biener <rguenther@suse.de> + + * gcc.dg/gimplefe-48.c: New testcase. + +2022-02-11 Jakub Jelinek <jakub@redhat.com> + + PR c++/104472 + * g++.dg/cpp0x/constexpr-104472.C: New test. + +2022-02-11 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104446 + * gcc.target/i386/pr104446.c: New test. + +2022-02-11 Richard Biener <rguenther@suse.de> + + PR middle-end/104496 + * gcc.target/i386/pr104496.c: New testcase. + +2022-02-11 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/104459 + * gcc.dg/pr104459.c: New test. + +2022-02-11 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr104479.c: New test. + * gcc.target/i386/cond_op_shift_w-1.c: Adjust testcase. + +2022-02-11 Tom de Vries <tdevries@suse.de> + + * gcc.c-torture/compile/pr100576.c: Require effective target + non_strict_prototype. + * gcc.c-torture/compile/pr97576.c: Same. + +2022-02-11 Tom de Vries <tdevries@suse.de> + + * c-c++-common/Walloca-larger-than.c: Require effective target alloca. + * c-c++-common/Warray-bounds-9.c: Same. + * c-c++-common/Wdangling-pointer-2.c: Same. + * c-c++-common/Wdangling-pointer-4.c: Same. + * c-c++-common/Wdangling-pointer-5.c: Same. + * c-c++-common/Wdangling-pointer.c: Same. + * c-c++-common/auto-init-11.c: Same. + * c-c++-common/auto-init-12.c: Same. + * c-c++-common/auto-init-15.c: Same. + * c-c++-common/auto-init-16.c: Same. + * c-c++-common/torture/builtin-clear-padding-4.c: Same. + * gcc.c-torture/compile/pr99787-1.c: Same. + * gcc.dg/Walloca-larger-than-4.c: Same. + * gcc.dg/Wdangling-pointer.c: Same. + * gcc.dg/Wfree-nonheap-object-2.c: Same. + * gcc.dg/Wfree-nonheap-object.c: Same. + * gcc.dg/Wstringop-overflow-56.c: Same. + * gcc.dg/Wstringop-overflow-57.c: Same. + * gcc.dg/Wstringop-overflow-67.c: Same. + * gcc.dg/Wstringop-overflow-71.c: Same. + * gcc.dg/Wvla-larger-than-5.c: Same. + * gcc.dg/analyzer/taint-alloc-1.c: Same. + * gcc.dg/analyzer/torture/ubsan-1.c: Same. + * gcc.dg/graphite/pr99085.c: Same. + * gcc.dg/pr100225.c: Same. + * gcc.dg/pr98721-1.c: Same. + * gcc.dg/pr99122-2.c: Same. + * gcc.dg/sso-14.c: Same. + * gcc.dg/tree-ssa/builtin-sprintf-warn-25.c: Same. + * gcc.dg/uninit-38.c: Same. + * gcc.dg/uninit-39.c: Same. + * gcc.dg/uninit-41.c: Same. + * gcc.dg/uninit-pr100250.c: Same. + * gcc.dg/uninit-pr101300.c: Same. + * gcc.dg/uninit-pr101494.c: Same. + * gcc.dg/uninit-pr98578.c: Same. + * gcc.dg/uninit-pr98583.c: Same. + * gcc.dg/vla-stexp-1.c: Same. + * gcc.dg/vla-stexp-2.c: Same. + * gcc.dg/vla-stexp-4.c: Same. + * gcc.dg/vla-stexp-5.c: Same. + +2022-02-10 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104373 + * g++.dg/warn/Wuninitialized-32.C (operator new[]): Use __SIZE_TYPE__ + as type of the first argument instead of unsigned long. + +2022-02-10 Tobias Burnus <tobias@codesourcery.com> + + PR c++/102204 + * g++.dg/gomp/unmappable-1.C: Remove previously expected dg-message. + +2022-02-10 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/98797 + * gcc.dg/analyzer/casts-1.c: Mark xfails as fixed; add further + test coverage for casts of string literals. + +2022-02-10 Qing Zhao <qing.zhao@oracle.com> + + PR middle-end/100775 + * gcc.target/arm/pr100775.c: New test. + +2022-02-10 Uroš Bizjak <ubizjak@gmail.com> + + PR target/104469 + * gcc.target/i386/pr104469.c: New test. + +2022-02-10 H.J. Lu <hjl.tools@gmail.com> + + PR target/104458 + * gcc.target/i386/pr104458.c: Replace long with long long. + +2022-02-10 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/102052 + * gcc.dg/analyzer/fields.c (size_t): Use __SIZE_TYPE__ rather than + hardcoding long unsigned int. + * gcc.dg/analyzer/gzio-3.c (size_t): Likewise. + * gcc.dg/analyzer/gzio-3a.c (size_t): Likewise. + * gcc.dg/analyzer/pr98969.c (test_1): Use __UINTPTR_TYPE__ rather + than long int. + (test_2): Likewise. + * gcc.dg/analyzer/pr99716-2.c (test_mountpoint): Use "rand" rather + than "random". + * gcc.dg/analyzer/pr99774-1.c (size_t): Use __SIZE_TYPE__ rather + than hardcoding long unsigned int. + * gcc.dg/analyzer/strndup-1.c: Add MinGW to targets that don't + implement strndup. + * gcc.dg/analyzer/zlib-5.c (size_t): Use __SIZE_TYPE__ rather + than hardcoding long unsigned int. + +2022-02-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104373 + * g++.dg/warn/Wuninitialized-32.C: New testcase. + * gcc.dg/uninit-pr20644-O0.c: Remove XFAIL. + +2022-02-10 Richard Biener <rguenther@suse.de> + + PR middle-end/104467 + * gcc.dg/torture/pr104467.c: New testcase. + +2022-02-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104466 + * gfortran.dg/pr104466.f90: New testcase. + +2022-02-10 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/atomic-store-2.c: New test. + +2022-02-10 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/atomic-store-1.c: New test. + * gcc.target/nvptx/atomic-store-3.c: New test. + * gcc.target/nvptx/stack-atomics-run.c: Update. + +2022-02-10 Tobias Burnus <tobias@codesourcery.com> + + PR fortran/104329 + * gfortran.dg/gomp/atomic-28.f90: New test. + +2022-02-10 Roger Sayle <roger@nextmovesoftware.com> + + PR target/104345 + * gcc.target/nvptx/neg-selp.c: New test case. + +2022-02-10 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/nvptx/bool-1.c: Update. + * gcc.target/nvptx/bool-2.c: New test case for and.pred. + * gcc.target/nvptx/bool-3.c: New test case for or.pred. + * gcc.target/nvptx/bool-4.c: New test case for xor.pred. + +2022-02-10 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/nvptx/mul-hi64.c: New test case. + * gcc.target/nvptx/umul-hi64.c: New test case. + * gcc.target/nvptx/mul-wide64.c: New test case. + * gcc.target/nvptx/umul-wide64.c: New test case. + * gcc.target/nvptx/isinf.c: New test case. + +2022-02-10 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/nvptx/bool-1.c: New test case. + +2022-02-10 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/nvptx/float16-3.c: New test case for neghf2. + * gcc.target/nvptx/float16-4.c: New test case for abshf2. + * gcc.target/nvptx/float16-5.c: New test case for fmahf4. + * gcc.target/nvptx/float16-6.c: New test case. + +2022-02-10 Marcel Vollweiler <marcel@codesourcery.com> + + * c-c++-common/gomp/clauses-1.c: Added has_device_addr to test cases. + * g++.dg/gomp/attrs-1.C: Added has_device_addr to test cases. + * g++.dg/gomp/attrs-2.C: Added has_device_addr to test cases. + * c-c++-common/gomp/target-has-device-addr-1.c: New test. + * c-c++-common/gomp/target-has-device-addr-2.c: New test. + * c-c++-common/gomp/target-is-device-ptr-1.c: New test. + * c-c++-common/gomp/target-is-device-ptr-2.c: New test. + * gfortran.dg/gomp/is_device_ptr-3.f90: New test. + * gfortran.dg/gomp/target-has-device-addr-1.f90: New test. + * gfortran.dg/gomp/target-has-device-addr-2.f90: New test. + +2022-02-10 Eugene Rozenfeld <erozen@microsoft.com> + + * g++.dg/tree-prof/indir-call-recursive-inlining.C : New test. + +2022-02-10 Andrew Pinski <apinski@marvell.com> + + PR target/104474 + * gcc.target/aarch64/sve/pr104474-1.c: New test. + * gcc.target/aarch64/sve/pr104474-2.c: New test. + * gcc.target/aarch64/sve/pr104474-3.c: New test. + +2022-02-09 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/uninit-1.c: Add test coverage for shifts, + comparisons, +, -, *, /, and __builtin_strlen. + * gcc.dg/analyzer/uninit-CWE-457-examples.c: New test. + +2022-02-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/66193 + * gfortran.dg/array_constructor_55.f90: New test. + +2022-02-09 David Edelsohn <dje.gcc@gmail.com> + + * gcc.dg/Wstringop-overflow-69.c: Add -Wno-psabi. + * gcc.dg/loop-unswitch-6.c: Omit -fcompare-debug on AIX. + +2022-02-09 H.J. Lu <hjl.tools@gmail.com> + + PR target/104441 + * gcc.target/i386/pr104441-1a.c: Compile with -march=x86-64. + * gcc.target/i386/pr104441-1b.c: Likewise. + +2022-02-09 Jakub Jelinek <jakub@redhat.com> + + PR c/104427 + * gcc.dg/pr104427.c: New test. + +2022-02-09 Uroš Bizjak <ubizjak@gmail.com> + + PR target/104462 + * gcc.target/i386/pr104462.c: New test. + +2022-02-09 Uroš Bizjak <ubizjak@gmail.com> + + PR target/104458 + * gcc.target/i386/pr104458.c: New test. + +2022-02-09 Ian Lance Taylor <iant@golang.org> + + * gcc.misc-tests/godump-1.c: Adjust for alignment field rename. + +2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com> + + * gcc.target/powerpc/vec-replace-word-runnable.c: Handle expected + prototypes for each call to vec_replace_unaligned. + +2022-02-09 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/vec-init-13.c: New test. + * gcc.target/aarch64/vec-init-14.c: Likewise. + * gcc.target/aarch64/vec-init-15.c: Likewise. + * gcc.target/aarch64/vec-init-16.c: Likewise. + * gcc.target/aarch64/vec-init-17.c: Likewise. + +2022-02-09 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/vec-init-12.c: New test. + +2022-02-09 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/vec-init-9.c: New test. + * gcc.target/aarch64/vec-init-10.c: Likewise. + * gcc.target/aarch64/vec-init-11.c: Likewise. + +2022-02-09 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/vec-init-8.c: New test. + +2022-02-09 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/vec-init-6.c: New file. + * gcc.target/aarch64/vec-init-7.c: New file. + +2022-02-09 Patrick Palka <ppalka@redhat.com> + + PR c++/104432 + * g++.dg/template/non-dependent19.C: New test. + * g++.dg/template/non-dependent19a.C: New test. + * g++.dg/template/non-dependent20.C: New test. + +2022-02-09 Jason Merrill <jason@redhat.com> + + PR c++/103752 + * g++.dg/modules/explicit-bool-1_b.C: New test. + * g++.dg/modules/explicit-bool-1_a.H: New test. + +2022-02-09 Richard Biener <rguenther@suse.de> + + PR middle-end/104464 + * gcc.dg/pr104464.c: New testcase. + +2022-02-09 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp23/feat-cxx2b.C: Adjust. + * g++.dg/cpp2a/feat-cxx2a.C: Adjust. + +2022-02-09 Roger Sayle <roger@nextmovesoftware.com> + + PR tree-optimization/104420 + * gcc.dg/pr104420-1.c: New test case. + * gcc.dg/pr104420-2.c: New test case. + * gcc.dg/pr104420-3.c: New test case. + * gcc.dg/pr104420-4.c: New test case. + * gcc.dg/pr96392.c: Remove incorrect test. + +2022-02-09 Jakub Jelinek <jakub@redhat.com> + + PR debug/104407 + * g++.dg/debug/dwarf2/pr104407.C: New test. + +2022-02-09 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/104288 + * gcc.dg/pr104288.c: New. + +2022-02-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104445 + PR tree-optimization/102832 + * gcc.dg/vect/pr104445.c: New testcase. + * gcc.dg/vect/pr102832.c: New file. + +2022-02-09 H.J. Lu <hjl.tools@gmail.com> + + PR target/35513 + PR target/100593 + * g++.target/i386/pr35513-1.C: New file. + * g++.target/i386/pr35513-2.C: Likewise. + * gcc.target/i386/pr35513-1a.c: Likewise. + * gcc.target/i386/pr35513-1b.c: Likewise. + * gcc.target/i386/pr35513-2a.c: Likewise. + * gcc.target/i386/pr35513-2b.c: Likewise. + * gcc.target/i386/pr35513-3a.c: Likewise. + * gcc.target/i386/pr35513-3b.c: Likewise. + * gcc.target/i386/pr35513-4a.c: Likewise. + * gcc.target/i386/pr35513-4b.c: Likewise. + * gcc.target/i386/pr35513-5a.c: Likewise. + * gcc.target/i386/pr35513-5b.c: Likewise. + * gcc.target/i386/pr35513-6a.c: Likewise. + * gcc.target/i386/pr35513-6b.c: Likewise. + * gcc.target/i386/pr35513-7a.c: Likewise. + * gcc.target/i386/pr35513-7b.c: Likewise. + * gcc.target/i386/pr35513-8.c: Likewise. + * gcc.target/i386/pr35513-9a.c: Likewise. + * gcc.target/i386/pr35513-9b.c: Likewise. + * gcc.target/i386/pr35513-10a.c: Likewise. + * gcc.target/i386/pr35513-10b.c: Likewise. + * gcc.target/i386/pr35513-11a.c: Likewise. + * gcc.target/i386/pr35513-11b.c: Likewise. + * gcc.target/i386/pr35513-12a.c: Likewise. + * gcc.target/i386/pr35513-12b.c: Likewise. + +2022-02-09 H.J. Lu <hjl.tools@gmail.com> + + PR target/104441 + * gcc.target/i386/pr104441-1a.c: New test. + * gcc.target/i386/pr104441-1b.c: Likewise. + +2022-02-09 liuhongt <hongtao.liu@intel.com> + + PR target/104451 + * gcc.target/i386/pr104451.c: New test. + +2022-02-09 Richard Biener <rguenther@suse.de> + + PR middle-end/104450 + * g++.dg/torture/pr104450.C: New testcase. + +2022-02-09 Richard Biener <rguenther@suse.de> + + PR target/104453 + * gcc.target/i386/pr104453.c: New testcase. + +2022-02-09 Joel Teichroeb <joel@teichroeb.net> + + PR analyzer/101081 + * gcc.dg/analyzer/analyzer-verbosity-2a.c: Replace #include of + stdio.h with declarations needed by the test. + * gcc.dg/analyzer/analyzer-verbosity-3a.c: Likewise. + * gcc.dg/analyzer/edges-1.c: Likewise. + * gcc.dg/analyzer/file-1.c: Likewise. + * gcc.dg/analyzer/file-2.c: Likewise. + * gcc.dg/analyzer/file-paths-1.c: Likewise. + * gcc.dg/analyzer/file-pr58237.c: Likewise. + * gcc.dg/analyzer/pr99716-1.c: Likewise. + +2022-02-09 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104452 + * gcc.dg/analyzer/pr104452.c: New test. + +2022-02-09 Jason Merrill <jason@redhat.com> + + PR c++/96876 + * g++.dg/cpp1z/aggr-base11.C: New test. + * g++.dg/eh/aggregate2.C: New test. + +2022-02-08 Robin Dapp <rdapp@linux.ibm.com> + + PR rtl-optimization/104198 + PR rtl-optimization/104153 + * gcc.dg/pr104198.c: New test. + +2022-02-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/104379 + * g++.dg/warn/Wshadow-18.C: New test. + +2022-02-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/104403 + * g++.dg/cpp0x/lambda/lambda-104403.C: New test. + +2022-02-08 Jakub Jelinek <jakub@redhat.com> + + PR target/102140 + * gcc.dg/pr102140.c: New test. + +2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com> + + * gcc.target/powerpc/vec-msumc.c: New test. + +2022-02-08 Patrick Palka <ppalka@redhat.com> + + PR c++/104425 + * g++.dg/template/partial-specialization10.C: New test. + +2022-02-08 Robin Dapp <rdapp@linux.ibm.com> + + * gcc.target/s390/ifcvt-two-insns-int.c: Fix array size. + * gcc.target/s390/ifcvt-two-insns-long.c: Dito. + +2022-02-08 Patrick Palka <ppalka@redhat.com> + + PR c++/80951 + * g++.dg/cpp1z/noexcept-type25.C: New test. + +2022-02-08 Patrick Palka <ppalka@redhat.com> + + PR c++/104410 + * g++.dg/cpp2a/concepts-pr104410.C: New test. + +2022-02-08 Patrick Palka <ppalka@redhat.com> + + PR c++/103706 + * g++.dg/cpp2a/concepts-lambda19.C: New test. + +2022-02-08 Patrick Palka <ppalka@redhat.com> + + PR c++/103706 + * g++.dg/cpp2a/concepts-lambda18.C: New test. + +2022-02-08 Maciej W. Rozycki <macro@embecosm.com> + + * gcc.target/riscv/riscv.exp: Use `gcc-dg-runtest' rather than + `dg-runtest'. Add `-Og -g' and `-Oz' variants via + ADDITIONAL_TORTURE_OPTIONS. + * gcc.target/riscv/arch-1.c: Adjust test options accordingly. + * gcc.target/riscv/arch-10.c: Likewise. + * gcc.target/riscv/arch-11.c: Likewise. + * gcc.target/riscv/arch-12.c: Likewise. + * gcc.target/riscv/arch-2.c: Likewise. + * gcc.target/riscv/arch-3.c: Likewise. + * gcc.target/riscv/arch-4.c: Likewise. + * gcc.target/riscv/arch-5.c: Likewise. + * gcc.target/riscv/arch-6.c: Likewise. + * gcc.target/riscv/arch-7.c: Likewise. + * gcc.target/riscv/arch-8.c: Likewise. + * gcc.target/riscv/arch-9.c: Likewise. + * gcc.target/riscv/attribute-1.c: Likewise. + * gcc.target/riscv/attribute-10.c: Likewise. + * gcc.target/riscv/attribute-11.c: Likewise. + * gcc.target/riscv/attribute-12.c: Likewise. + * gcc.target/riscv/attribute-13.c: Likewise. + * gcc.target/riscv/attribute-14.c: Likewise. + * gcc.target/riscv/attribute-15.c: Likewise. + * gcc.target/riscv/attribute-16.c: Likewise. + * gcc.target/riscv/attribute-17.c: Likewise. + * gcc.target/riscv/attribute-2.c: Likewise. + * gcc.target/riscv/attribute-3.c: Likewise. + * gcc.target/riscv/attribute-4.c: Likewise. + * gcc.target/riscv/attribute-5.c: Likewise. + * gcc.target/riscv/attribute-7.c: Likewise. + * gcc.target/riscv/attribute-8.c: Likewise. + * gcc.target/riscv/attribute-9.c: Likewise. + * gcc.target/riscv/interrupt-1.c: Likewise. + * gcc.target/riscv/interrupt-2.c: Likewise. + * gcc.target/riscv/interrupt-3.c: Likewise. + * gcc.target/riscv/interrupt-4.c: Likewise. + * gcc.target/riscv/interrupt-conflict-mode.c: Likewise. + * gcc.target/riscv/interrupt-debug.c: Likewise. + * gcc.target/riscv/interrupt-mmode.c: Likewise. + * gcc.target/riscv/interrupt-smode.c: Likewise. + * gcc.target/riscv/interrupt-umode.c: Likewise. + * gcc.target/riscv/li.c: Likewise. + * gcc.target/riscv/load-immediate.c: Likewise. + * gcc.target/riscv/losum-overflow.c: Likewise. + * gcc.target/riscv/mcpu-6.c: Likewise. + * gcc.target/riscv/mcpu-7.c: Likewise. + * gcc.target/riscv/pr102957.c: Likewise. + * gcc.target/riscv/pr103302.c: Likewise. + * gcc.target/riscv/pr104140.c: Likewise. + * gcc.target/riscv/pr84660.c: Likewise. + * gcc.target/riscv/pr93202.c: Likewise. + * gcc.target/riscv/pr93304.c: Likewise. + * gcc.target/riscv/pr95252.c: Likewise. + * gcc.target/riscv/pr95683.c: Likewise. + * gcc.target/riscv/pr98777.c: Likewise. + * gcc.target/riscv/pr99702.c: Likewise. + * gcc.target/riscv/predef-1.c: Likewise. + * gcc.target/riscv/predef-10.c: Likewise. + * gcc.target/riscv/predef-11.c: Likewise. + * gcc.target/riscv/predef-12.c: Likewise. + * gcc.target/riscv/predef-13.c: Likewise. + * gcc.target/riscv/predef-14.c: Likewise. + * gcc.target/riscv/predef-15.c: Likewise. + * gcc.target/riscv/predef-16.c: Likewise. + * gcc.target/riscv/predef-2.c: Likewise. + * gcc.target/riscv/predef-3.c: Likewise. + * gcc.target/riscv/predef-4.c: Likewise. + * gcc.target/riscv/predef-5.c: Likewise. + * gcc.target/riscv/predef-6.c: Likewise. + * gcc.target/riscv/predef-7.c: Likewise. + * gcc.target/riscv/predef-8.c: Likewise. + * gcc.target/riscv/promote-type-for-libcall.c: Likewise. + * gcc.target/riscv/save-restore-1.c: Likewise. + * gcc.target/riscv/save-restore-2.c: Likewise. + * gcc.target/riscv/save-restore-3.c: Likewise. + * gcc.target/riscv/save-restore-4.c: Likewise. + * gcc.target/riscv/save-restore-6.c: Likewise. + * gcc.target/riscv/save-restore-7.c: Likewise. + * gcc.target/riscv/save-restore-8.c: Likewise. + * gcc.target/riscv/save-restore-9.c: Likewise. + * gcc.target/riscv/shift-and-1.c: Likewise. + * gcc.target/riscv/shift-and-2.c: Likewise. + * gcc.target/riscv/shift-shift-1.c: Likewise. + * gcc.target/riscv/shift-shift-2.c: Likewise. + * gcc.target/riscv/shift-shift-3.c: Likewise. + * gcc.target/riscv/shift-shift-4.c: Likewise. + * gcc.target/riscv/shift-shift-5.c: Likewise. + * gcc.target/riscv/shorten-memrefs-1.c: Likewise. + * gcc.target/riscv/shorten-memrefs-2.c: Likewise. + * gcc.target/riscv/shorten-memrefs-3.c: Likewise. + * gcc.target/riscv/shorten-memrefs-4.c: Likewise. + * gcc.target/riscv/shorten-memrefs-5.c: Likewise. + * gcc.target/riscv/shorten-memrefs-6.c: Likewise. + * gcc.target/riscv/shorten-memrefs-7.c: Likewise. + * gcc.target/riscv/shorten-memrefs-8.c: Likewise. + * gcc.target/riscv/switch-qi.c: Likewise. + * gcc.target/riscv/switch-si.c: Likewise. + * gcc.target/riscv/weak-1.c: Likewise. + * gcc.target/riscv/zba-adduw.c: Likewise. + * gcc.target/riscv/zba-shNadd-01.c: Likewise. + * gcc.target/riscv/zba-shNadd-02.c: Likewise. + * gcc.target/riscv/zba-shNadd-03.c: Likewise. + * gcc.target/riscv/zba-slliuw.c: Likewise. + * gcc.target/riscv/zba-zextw.c: Likewise. + * gcc.target/riscv/zbb-andn-orn-xnor-01.c: Likewise. + * gcc.target/riscv/zbb-andn-orn-xnor-02.c: Likewise. + * gcc.target/riscv/zbb-li-rotr.c: Likewise. + * gcc.target/riscv/zbb-min-max.c: Likewise. + * gcc.target/riscv/zbb-rol-ror-01.c: Likewise. + * gcc.target/riscv/zbb-rol-ror-02.c: Likewise. + * gcc.target/riscv/zbb-rol-ror-03.c: Likewise. + * gcc.target/riscv/zbbw.c: Likewise. + * gcc.target/riscv/zbs-bclr.c: Likewise. + * gcc.target/riscv/zbs-bext.c: Likewise. + * gcc.target/riscv/zbs-binv.c: Likewise. + * gcc.target/riscv/zbs-bset.c: Likewise. + * gcc.target/riscv/zero-extend-1.c: Likewise. + * gcc.target/riscv/zero-extend-2.c: Likewise. + * gcc.target/riscv/zero-extend-3.c: Likewise. + * gcc.target/riscv/zero-extend-4.c: Likewise. + * gcc.target/riscv/zero-extend-5.c: Likewise. + +2022-02-08 Tom de Vries <tdevries@suse.de> + + * gcc.dg/tree-ssa/builtin-sprintf.c: Require c99_runtime for + dg-do run. + +2022-02-08 Tom de Vries <tdevries@suse.de> + + PR target/104364 + * gcc.target/nvptx/softstack-2.c: New test. + * gcc.target/nvptx/uniform-simt-1.c: New test. + +2022-02-08 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr104059.c: New test. + +2022-02-07 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104417 + * gcc.dg/analyzer/pr104417.c: New test. + +2022-02-07 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/103872 + * gcc.dg/analyzer/memcpy-1.c: Add alternate versions of test cases + in which the calls to memcpy are hidden from the optimizer. Add + further test cases. + * gcc.dg/analyzer/taint-size-1.c: Add test coverage for memcpy + with tainted size. + +2022-02-07 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/asm-x86-1.c: Use dg-do "compile" rather than + "assemble". + * gcc.dg/analyzer/asm-x86-lp64-1.c: Likewise. + * gcc.dg/analyzer/asm-x86-lp64-2.c: Likewise. + * gcc.dg/analyzer/torture/asm-x86-linux-array_index_mask_nospec.c: + Likewise. + * gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-1.c: + Likewise, and restrict to x86_64-pc-linux-gnu. + * gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-2.c: Likewise. + * gcc.dg/analyzer/torture/asm-x86-linux-cpuid.c: Use dg-do + "compile" rather than "assemble". + * gcc.dg/analyzer/torture/asm-x86-linux-rdmsr-paravirt.c: + Likewise, and restrict to x86_64-pc-linux-gnu. + * gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c: Use dg-do + "compile" rather than "assemble". + * gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c: + Likewise. + * gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-reduced.c: + Likewise. + +2022-02-07 Jakub Jelinek <jakub@redhat.com> + + PR target/104380 + * gcc.c-torture/execute/builtins/lib/chk.c (__sprintf_chkieee128, + __vsprintf_chkieee128, __snprintf_chkieee128, + __vsnprintf_chkieee128): New aliases to non-ieee128 suffixed functions + for powerpc -mabi=ieeelongdouble. + +2022-02-07 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/arm/simd/vdot-2-1.c: Add new tests. + * gcc.target/arm/simd/vdot-2-2.c: Likewise and fix output. + +2022-02-07 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/arm/simd/vdot-compile.c: Add new cases. + * gcc.target/arm/simd/vdot-exec.c: Likewise. + +2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com> + + PR target/104327 + * gcc.c-torture/compile/pr104327.c: New test. + +2022-02-07 Richard Biener <rguenther@suse.de> + + PR middle-end/104402 + * gcc.dg/torture/pr104402.c: New testcase. + +2022-02-07 Kewen Lin <linkw@linux.ibm.com> + + PR target/103627 + * gcc.target/powerpc/pr103627-3.c: New test. + +2022-02-07 Kewen Lin <linkw@linux.ibm.com> + + PR target/103627 + * gcc.target/powerpc/pr103627-1.c: New test. + * gcc.target/powerpc/pr103627-2.c: New test. + +2022-02-06 Patrick Palka <ppalka@redhat.com> + + PR c++/96242 + * g++.dg/cpp2a/spaceship-synth15.C: New test. + +2022-02-06 Jakub Jelinek <jakub@redhat.com> + + PR c++/89074 + PR c++/104033 + * g++.dg/cpp1y/constexpr-89074-3.C: New test. + +2022-02-05 Jeff Law <jeffreyalaw@gmail.com> + + * gcc.target/s390/20150826-1.c: Update expected output. + * gcc.target/s390/zvector/imm-range-error-1.c: Likewise. + +2022-02-05 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104389 + * gcc.dg/pr104389.c: New test. + +2022-02-05 Jason Merrill <jason@redhat.com> + + PR c++/104300 + PR c++/92385 + * g++.dg/cpp0x/initlist-array14.C: New test. + +2022-02-04 Jakub Jelinek <jakub@redhat.com> + + PR target/104380 + * gcc.dg/pr104380.c: New test. + +2022-02-04 Eric Botcazou <ebotcazou@adacore.com> + + PR tree-optimization/104356 + * gnat.dg/opt97.adb: New test. + +2022-02-04 David Edelsohn <dje.gcc@gmail.com> + + * gcc.target/powerpc/builtins-1.c: Limit -mbig. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-0.c: Limit -mbig. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-1.c: Limit -mbig. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: Remove target selector. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-3.c: Only powerpc*-linux. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-4.c: Only powerpc*-linux*. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-0.c: Limit -mbig. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-1.c: Limit -mbig. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Remove target selector. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-3.c: Only powerpc*-linux*. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-4.c: Only powerpc*-linux*. + +2022-02-04 Richard Biener <rguenther@suse.de> + Bin Cheng <bin.cheng@linux.alibaba.com> + + PR tree-optimization/100499 + * gcc.dg/torture/pr100499-1.c: New testcase. + * gcc.dg/torture/pr100499-2.c: Likewise. + * gcc.dg/torture/pr100499-3.c: Likewise. + +2022-02-04 Roger Sayle <roger@nextmovesoftware.com> + + PR rtl-optimization/101885 + * gcc.dg/pr101885.c: New test case. + +2022-02-04 Richard Sandiford <richard.sandiford@arm.com> + + PR middle-end/104092 + * gcc.target/aarch64/sve/acle/general/pr104092.c: New test. + +2022-02-04 Richard Biener <rguenther@suse.de> + + PR middle-end/90348 + PR middle-end/104092 + * gcc.dg/pr87052.c: Adjust. + +2022-02-03 Patrick Palka <ppalka@redhat.com> + + PR c++/104079 + * g++.dg/cpp0x/noexcept74.C: New test. + * g++.dg/cpp0x/noexcept74a.C: New test. + +2022-02-03 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104369 + * gcc.dg/analyzer/pr104369-1.c: New test. + * gcc.dg/analyzer/pr104369-2.c: New test. + * gcc.dg/analyzer/realloc-3.c: New test. + * gcc.dg/analyzer/realloc-4.c: New test. + * gcc.dg/analyzer/taint-realloc.c: New test. + +2022-02-03 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/calloc-1.c: New test. + +2022-02-03 Uroš Bizjak <ubizjak@gmail.com> + + PR target/104362 + * gcc.target/i386/pr104362.c: New test. + +2022-02-03 Martin Sebor <msebor@redhat.com> + + PR tree-optimization/104119 + * gcc.dg/tree-ssa/builtin-snprintf-13.c: New test. + * gcc.dg/tree-ssa/builtin-sprintf-warn-29.c: New test. + +2022-02-03 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104311 + * gfortran.dg/transfer_simplify_15.f90: New test. + +2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> + + PR target/103686 + * gcc.target/powerpc/builtins-1-be-folded.c: Remove -mfold-gimple + option. + * gcc.target/powerpc/builtins-1-le-folded.c: Likewise. + * gcc.target/powerpc/builtins-1.c: Rewrite to use small functions and + restrict to -O2 -mbig for predictability. Adjust instruction counts. + * gcc.target/powerpc/builtins-5.c: Remove -mno-fold-gimple option. + * gcc.target/powerpc/p8-vec-xl-xst.c: Likewise. + * gcc.target/powerpc/pr83926.c: Likewise. + * gcc.target/powerpc/pr86731-nogimplefold-longlong.c: Delete. + * gcc.target/powerpc/pr86731-nogimplefold.c: Delete. + * gcc.target/powerpc/swaps-p8-17.c: Remove -mno-fold-gimple option. + +2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> + + PR target/95082 + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-0.c: Restrict to -mbig. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-3.c: New. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-4.c: New. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-0.c: Restrict to -mbig. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-3.c: New. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-4.c: New. + +2022-02-03 Richard Biener <rguenther@suse.de> + + PR debug/104337 + * gcc.dg/debug/pr104337.c: New testcase. + +2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> + + * gcc.target/powerpc/bfp/scalar-test-data-class-10.c: Adjust error + messages. + * gcc.target/powerpc/bfp/scalar-test-data-class-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-3.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-4.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-5.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-9.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-4.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-5.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-6.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-7.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-12.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-14.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-17.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-19.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-2.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-22.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-24.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-27.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-29.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-32.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-34.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-37.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-39.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-4.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-42.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-44.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-47.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-49.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-52.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-54.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-57.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-59.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-62.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-64.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-67.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-69.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-7.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-72.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-74.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-77.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-79.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-9.c: Likewise. + * gcc.target/powerpc/pr80315-1.c: Likewise. + * gcc.target/powerpc/pr80315-2.c: Likewise. + * gcc.target/powerpc/pr80315-3.c: Likewise. + * gcc.target/powerpc/pr80315-4.c: Likewise. + * gcc.target/powerpc/pr82015.c: Likewise. + * gcc.target/powerpc/pr91903.c: Likewise. + * gcc.target/powerpc/test_fpscr_rn_builtin_error.c: Likewise. + * gcc.target/powerpc/vec-ternarylogic-10.c: Likewise. + +2022-02-03 Eric Botcazou <ebotcazou@adacore.com> + + PR tree-optimization/104356 + * gnat.dg/div_zero.adb: Add dg-skip-if directive for PowerPC. + +2022-02-03 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/struct_vect_25.c: Remove XFAILs. + +2022-02-03 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/mask_struct_load_1.c: Use intptr_t + iterators instead of int iterators. + * gcc.target/aarch64/sve/mask_struct_load_2.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_3.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_4.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_5.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_6.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_7.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_8.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_store_1.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_store_2.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_store_3.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_store_4.c: Likewise. + +2022-02-03 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/single_5.c: Remove some XFAILs. + +2022-02-03 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/vect/tsvc/vect-tsvc-s1115.c: Don't XFAIL for SVE. + * gcc.dg/vect/tsvc/vect-tsvc-s114.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s1161.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s1232.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s124.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s1279.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s161.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s253.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s257.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s271.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s2711.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s2712.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s272.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s273.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s274.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s276.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s278.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s279.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s3111.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s4113.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s441.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s443.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s491.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-vas.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-vif.c: Likewise. + +2022-02-03 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/guality/ipa-sra-1.c: Update aarch64*-*-* xfails. + * gcc.dg/guality/pr54519-1.c: Likewise. + * gcc.dg/guality/pr54519-3.c: Likewise. + +2022-02-03 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104334 + * g++.dg/opt/pr104334.C: New test. + +2022-02-03 Jakub Jelinek <jakub@redhat.com> + + PR fortran/104328 + * gfortran.dg/gomp/atomic-27.f90: New test. + +2022-02-03 Jason Merrill <jason@redhat.com> + + PR c++/104302 + * g++.dg/template/array35.C: New test. + * g++.dg/template/array36.C: New test. + +2022-02-02 Segher Boessenkool <segher@kernel.crashing.org> + + * lib/target-supports.exp (check_effective_target_powerpc_altivec_ok): + Return 0 if the target is not Power. Restructure and add some comments. + +2022-02-02 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/torture/ubsan-1.c: Add missing return stmts. + * gcc.dg/analyzer/uninit-trivial-auto-var-init-pattern.c: Move + to... + * gcc.dg/analyzer/torture/uninit-trivial-auto-var-init-pattern.c: + ...here. + * gcc.dg/analyzer/uninit-trivial-auto-var-init-uninitialized.c: + Move to... + * gcc.dg/analyzer/torture/uninit-trivial-auto-var-init-uninitialized.c: + ...here. + * gcc.dg/analyzer/uninit-trivial-auto-var-init-zero.c: Move to... + * gcc.dg/analyzer/torture/uninit-trivial-auto-var-init-zero.c: ...here. + +2022-02-02 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/torture/uninit-bit-field-ref.c: New test. + +2022-02-02 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104270 + * gcc.dg/analyzer/uninit-trivial-auto-var-init-pattern.c: New + test. + * gcc.dg/analyzer/uninit-trivial-auto-var-init-uninitialized.c: + New test. + * gcc.dg/analyzer/uninit-trivial-auto-var-init-zero.c: New test. + +2022-02-02 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/102819 + PR tree-optimization/103169 + * g++.dg/vect/pr99149.cc: xfail for now. + * gcc.dg/vect/complex/pr102819-1.c: New test. + * gcc.dg/vect/complex/pr102819-2.c: New test. + * gcc.dg/vect/complex/pr102819-3.c: New test. + * gcc.dg/vect/complex/pr102819-4.c: New test. + * gcc.dg/vect/complex/pr102819-5.c: New test. + * gcc.dg/vect/complex/pr102819-6.c: New test. + * gcc.dg/vect/complex/pr102819-7.c: New test. + * gcc.dg/vect/complex/pr102819-8.c: New test. + * gcc.dg/vect/complex/pr102819-9.c: New test. + * gcc.dg/vect/complex/pr103169.c: New test. + +2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com> + + * gcc.target/s390/nobp-section-type-conflict.c: New test. + +2022-02-01 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104331 + * gfortran.dg/eoshift_9.f90: New test. + +2022-02-01 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/104147 + * c-c++-common/cpp/pr104147.c: New test. + +2022-02-01 Jason Merrill <jason@redhat.com> + + PR c++/103186 + * g++.dg/cpp0x/lambda/lambda-defarg10.C: New test. + +2022-02-01 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/stack-atomics-run.c: New test. + +2022-02-01 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/104307 + * gcc.target/i386/pr104307.c: New test. + +2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com> + + PR rtl-optimization/101260 + * gcc.target/s390/pr101260.c: New testcase. + +2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang> + + * gcc.dg/pr95115.c: New test. + +2022-02-01 Tom de Vries <tdevries@suse.de> + + * gcc.dg/tree-ssa/ldist-strlen-4.c: New test. + +2022-01-31 Marek Polacek <polacek@redhat.com> + + PR c++/102414 + PR c++/101874 + * g++.dg/cpp23/auto-array3.C: New test. + * g++.dg/cpp23/auto-array4.C: New test. + +2022-01-31 Marek Polacek <polacek@redhat.com> + + PR c++/102434 + * g++.dg/cpp0x/initlist128.C: New test. + +2022-01-31 Patrick Palka <ppalka@redhat.com> + + PR c++/104294 + * g++.dg/cpp1z/class-deduction106.C: New test. + +2022-01-31 Patrick Palka <ppalka@redhat.com> + + PR c++/104291 + * g++.dg/template/partial20.C: New test. + +2022-01-31 Martin Sebor <msebor@redhat.com> + + PR middle-end/104232 + * g++.dg/warn/Wuse-after-free4.C: New test. + * gcc.dg/Wuse-after-free-2.c: New test. + * gcc.dg/Wuse-after-free-3.c: New test. + +2022-01-31 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/103514 + * gcc.dg/tree-ssa/pr103514.c: Add + --param logical-op-non-short-circuit=1 to dg-options. + +2022-01-31 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/div_zero.adb: New test. + +2022-01-29 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/95424 + * gcc.dg/tree-ssa/divide-7.c: Fix up regexps in scan-tree-dump{,-not}. + +2022-01-29 Jakub Jelinek <jakub@redhat.com> + Andrew Pinski <apinski@marvell.com> + + PR tree-optimization/104279 + PR tree-optimization/104280 + PR tree-optimization/104281 + * gcc.dg/torture/pr104279.c: New test. + * gcc.dg/torture/pr104280.c: New test. + * gcc.dg/torture/pr104281.c: New test. + +2022-01-28 Navid Rahimi <navidrahimi@microsoft.com> + + * gcc.dg/tree-ssa/pr103514.c: Testcase for this optimization. + +2022-01-28 Patrick Palka <ppalka@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/92752 + * g++.dg/warn/Wignored-qualifiers2.C: New test. + +2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com> + + PR tree-optimization/95424 + * gcc.dg/tree-ssa/divide-6.c: New file. + * gcc.dg/tree-ssa/divide-7.c: New file. + +2022-01-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104263 + * gcc.dg/pr104263.c: New test. + +2022-01-28 Allan McRae <allan@archlinux.org> + + PR testsuite/70230 + * gcc.dg/asan/use-after-scope-4.c (dg-options): Add + -fno-stack-protector. + * gcc.dg/stack-usage-1.c: Likewise + * gcc.dg/superblock.c: Likewise + * gcc.target/i386/avx-vzeroupper-17.c: Likewise + * gcc.target/i386/cleanup-1.c: Likewise + * gcc.target/i386/cleanup-2.c: Likewise + * gcc.target/i386/interrupt-redzone-1.c: Likewise + * gcc.target/i386/interrupt-redzone-2.c: Likewise + * gcc.target/i386/pr79793-1.c: Likewise + * gcc.target/i386/pr79793-2.c: Likewise + * gcc.target/i386/shrink_wrap_1.c: Likewise + * gcc.target/i386/stack-check-11.c: Likewise + * gcc.target/i386/stack-check-18.c: Likewise + * gcc.target/i386/stack-check-19.c: Likewise + * gcc.target/i386/stackalign/pr88483-1.c: Likewise + * gcc.target/i386/stackalign/pr88483-2.c: Likewise + * gcc.target/i386/sw-1.c: Likewise + +2022-01-28 Patrick Palka <ppalka@redhat.com> + + PR c++/103341 + * g++.dg/cpp2a/concepts-class4.C: New test. + * g++.dg/cpp2a/concepts-var-templ2.C: New test. + +2022-01-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104263 + * gcc.dg/tree-ssa/inline-13.c: New testcase. + +2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/103790 + * gfortran.dg/coarray_collectives_18.f90: New test. + +2022-01-28 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/generic_comp.adb: New test. + +2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> + + Revert: + 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/103790 + * gfortran.dg/coarray_collectives_18.f90: New test. + +2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/103790 + * gfortran.dg/coarray_collectives_18.f90: New test. + +2022-01-28 Jason Merrill <jason@redhat.com> + + PR c++/100198 + PR c++/100030 + PR c++/100282 + * g++.dg/cpp0x/lambda/lambda-variadic13.C: Accept the sorry + as well as the correct error. + * g++.dg/cpp0x/lambda/lambda-variadic14.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-variadic14a.C: New test. + * g++.dg/cpp0x/lambda/lambda-variadic15.C: New test. + * g++.dg/cpp0x/lambda/lambda-variadic16.C: New test. + +2022-01-27 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/data-model-1.c: Add dg-message directives for + expected region creation events. + * gcc.dg/analyzer/malloc-1.c: Likewise. + * gcc.dg/analyzer/memset-CVE-2017-18549-1.c: Likewise. + * gcc.dg/analyzer/pr101547.c: Likewise. + * gcc.dg/analyzer/pr101875.c: Likewise. + * gcc.dg/analyzer/pr101962.c: Likewise. + * gcc.dg/analyzer/pr104224.c: Likewise. + * gcc.dg/analyzer/pr94047.c: Likewise. + * gcc.dg/analyzer/symbolic-1.c: Likewise. + * gcc.dg/analyzer/uninit-1.c: Likewise. + * gcc.dg/analyzer/uninit-4.c: Likewise. + * gcc.dg/analyzer/uninit-alloca.c: New test. + * gcc.dg/analyzer/uninit-pr94713.c: Add dg-message directive for + expected region creation event. + * gcc.dg/analyzer/uninit-pr94714.c: Likewise. + * gcc.dg/analyzer/zlib-3.c: Likewise. + +2022-01-27 Jason Merrill <jason@redhat.com> + + PR c++/104245 + PR c++/51344 + * g++.dg/lto/alignas1_0.C: New test. + +2022-01-27 Uroš Bizjak <ubizjak@gmail.com> + + * gfortran.dg/ieee/signaling_1.f90 (dg-do): + Run only on non-ia32 targets. + * gfortran.dg/ieee/signaling_2.f90 (dg-do): Ditto. + * gfortran.dg/ieee/signaling_3.f90 (dg-do): Ditto. + +2022-01-27 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104128 + * gfortran.dg/transfer_simplify_14.f90: New test. + +2022-01-27 Patrick Palka <ppalka@redhat.com> + + PR c++/82632 + * g++.dg/cpp1z/class-deduction104.C: New test. + * g++.dg/cpp1z/class-deduction105.C: New test. + +2022-01-27 Harald Anlauf <anlauf@gmx.de> + + PR fortran/84784 + * gfortran.dg/pr84784.f90: New test. + +2022-01-27 Patrick Palka <ppalka@redhat.com> + + PR c++/99895 + * g++.dg/cpp2a/consteval-memfn1.C: New test. + * g++.dg/cpp2a/consteval-memfn2.C: New test. + * g++.dg/cpp2a/consteval28.C: New test. + +2022-01-27 Patrick Palka <ppalka@redhat.com> + + PR c++/92944 + PR c++/103678 + * g++.dg/cpp2a/concepts-partial-spec10.C: New test. + * g++.dg/cpp2a/concepts-partial-spec11.C: New test. + +2022-01-27 Marek Polacek <polacek@redhat.com> + + PR c++/101988 + * g++.dg/cpp1z/class-deduction-new1.C: New test. + * g++.dg/cpp23/auto-array2.C: New test. + +2022-01-27 Kewen Lin <linkw@linux.ibm.com> + + PR target/103702 + * gcc.target/powerpc/pr103702.c: New test. + +2022-01-27 Chung-Lin Tang <cltang@codesourcery.com> + + PR middle-end/103642 + * c-c++-common/gomp/pr103642.c: New test. + +2022-01-27 Andrew Pinski <apinski@marvell.com> + + PR target/104201 + * gcc.target/aarch64/branch-protection-attr.c: Fix quoting for + the expected error message on line 5 of leaf. + +2022-01-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/104196 + * gcc.c-torture/execute/pr104196.c: New test. + +2022-01-26 Jakub Jelinek <jakub@redhat.com> + + PR target/104239 + * gcc.target/powerpc/pr104239-3.c: New test. + +2022-01-26 Jakub Jelinek <jakub@redhat.com> + + PR target/104239 + * gcc.target/powerpc/pr104239-1.c: New test. + * gcc.target/powerpc/pr104239-2.c: New test. + +2022-01-26 Jakub Jelinek <jakub@redhat.com> + + PR c++/104226 + * g++.dg/cpp0x/constexpr-104226.C: New test. + +2022-01-26 Marek Polacek <polacek@redhat.com> + + PR target/104213 + * g++.dg/warn/Wuse-after-free2.C: New test. + * g++.dg/warn/Wuse-after-free3.C: New test. + +2022-01-26 Jason Merrill <jason@redhat.com> + + PR c++/104235 + * g++.dg/parse/template-keyword2.C: New test. + +2022-01-26 Martin Liska <mliska@suse.cz> + + * gcc.dg/tree-ssa/modref-7.c: Update scanned patterns. + * gcc.dg/tree-ssa/modref-8.c: Likewise. + +2022-01-26 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104224 + * gcc.dg/analyzer/pr104224.c: New test. + +2022-01-26 Jakub Jelinek <jakub@redhat.com> + + PR target/104188 + * gcc.target/i386/pr104188.c: Add dg-require-effective-target + sse2_runtime. Add -msse2 to dg-options. + +2022-01-26 Jason Merrill <jason@redhat.com> + + PR c++/103057 + * g++.dg/cpp0x/alias-decl-void1.C: New test. + +2022-01-25 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104227 + * gfortran.dg/transfer_check_6.f90: New test. + +2022-01-25 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104212 + * gfortran.dg/argument_checking_26.f90: New test. + +2022-01-25 Patrick Palka <ppalka@redhat.com> + + PR c++/101532 + PR c++/104225 + * g++.dg/cpp0x/nsdmi-template21.C: New test. + * g++.dg/cpp0x/nsdmi-template21a.C: New test. + +2022-01-25 Jason Merrill <jason@redhat.com> + + PR c++/59950 + * g++.dg/init/assign2.C: New test. + +2022-01-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104214 + * gcc.dg/vect/pr81196-2.c: New variant testcase only + requiring vect_int. + +2022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com> + + * gfortran.dg/ieee/signaling_3.f90: Skip test on 32-bit x86/x86_64. + +2022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com> + + * gfortran.dg/ieee/signaling_1.f90: Fix test. + +2022-01-24 Marek Polacek <polacek@redhat.com> + + PR preprocessor/104030 + * c-c++-common/Wbidi-chars-10.c: Turn on UCN checking. + * c-c++-common/Wbidi-chars-11.c: Likewise. + * c-c++-common/Wbidi-chars-14.c: Likewise. + * c-c++-common/Wbidi-chars-16.c: Likewise. + * c-c++-common/Wbidi-chars-17.c: Likewise. + * c-c++-common/Wbidi-chars-4.c: Likewise. + * c-c++-common/Wbidi-chars-5.c: Likewise. + * c-c++-common/Wbidi-chars-6.c: Likewise. + * c-c++-common/Wbidi-chars-7.c: Likewise. + * c-c++-common/Wbidi-chars-8.c: Likewise. + * c-c++-common/Wbidi-chars-9.c: Likewise. + * c-c++-common/Wbidi-chars-ranges.c: Likewise. + * c-c++-common/Wbidi-chars-18.c: New test. + * c-c++-common/Wbidi-chars-19.c: New test. + * c-c++-common/Wbidi-chars-20.c: New test. + * c-c++-common/Wbidi-chars-21.c: New test. + * c-c++-common/Wbidi-chars-22.c: New test. + * c-c++-common/Wbidi-chars-23.c: New test. + +2022-01-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gfortran.dg/ieee/signaling_1.f90: Do not require issignaling. + * gfortran.dg/ieee/signaling_2.f90: Add comment. + * gfortran.dg/ieee/signaling_3.f90: New test. + +2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com> + + PR target/94193 + * gcc.target/powerpc/builtin-feclearexcept-feraiseexcept-1.c: New test. + * gcc.target/powerpc/builtin-feclearexcept-feraiseexcept-2.c: New test. + * gcc.target/powerpc/builtin-fegetround.c: New test. + +2022-01-24 Patrick Palka <ppalka@redhat.com> + + PR c++/104173 + * g++.dg/cpp0x/ref-qual21.C: New test. + +2022-01-24 Richard Biener <rguenther@suse.de> + Jiufu Guo <guojiufu@linux.ibm.com> + + PR tree-optimization/100740 + PR tree-optimization/101508 + PR tree-optimization/101972 + PR tree-optimization/102131 + * gcc.dg/torture/pr100740.c: New testcase. + * gcc.dg/torture/pr101508.c: Likewise. + * gcc.dg/torture/pr101972.c: Likewise. + * gcc.dg/torture/pr102131-1.c: Likewise. + * gcc.dg/torture/pr102131-2.c: Likewise. + * gcc.dg/torture/pr102131-3.c: Likewise. + * gcc.dg/torture/pr102131-4.c: Likewise. + +2022-01-24 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/104158 + * gcc.dg/sancov/pr104158-7.c: Adjust for repeating of arguments + being allowed. + +2022-01-24 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/104158 + * gcc.dg/spellcheck-options-24.c: New test. + * gcc.dg/sancov/pr104158-1.c: New test. + * gcc.dg/sancov/pr104158-2.c: New test. + * gcc.dg/sancov/pr104158-3.c: New test. + * gcc.dg/sancov/pr104158-4.c: New test. + * gcc.dg/sancov/pr104158-5.c: New test. + * gcc.dg/sancov/pr104158-6.c: New test. + * gcc.dg/sancov/pr104158-7.c: New test. + +2022-01-24 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/attribute-19.c: Add -misa-spec=2.2 + +2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com> + + PR tree-optimization/102087 + * gcc.dg/pr102087_1.c: New test. + +2022-01-24 LiaoShihua <shihua@iscas.ac.cn> + + * gcc.target/riscv/arch-9.c: Update the check info. + * gcc.target/riscv/arch-10.c: Ditto. + * gcc.target/riscv/arch-12.c: Ditto. + +2022-01-24 David Edelsohn <dje.gcc@gmail.com> + + * gcc.dg/analyzer/torture/pr104159.c: Ignore psabi warning. + +2022-01-24 H.J. Lu <hjl.tools@gmail.com> + + PR target/104188 + * gcc.target/i386/pr104188.c: New test. + +2022-01-23 Will Wray <wjwray@gmail.com> + + PR c++/55227 + * g++.dg/cpp2a/desig21.C: New test. + +2022-01-23 Andrew Pinski <apinski@marvell.com> + + PR target/64821 + * gcc.target/aarch64/vsqrt-1.c: New test. + * gcc.target/aarch64/vsqrt-2.c: New test. + +2022-01-23 Jason Merrill <jason@redhat.com> + + PR c++/104182 + * g++.dg/cpp0x/initlist127.C: New test. + +2022-01-23 Jason Merrill <jason@redhat.com> + + PR c++/101072 + * g++.dg/cpp0x/constexpr-empty14a.C: New test. + +2022-01-22 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104150 + * gcc.dg/analyzer/pr104089.c: Add "dg-add-options float16" + and "dg-require-effective-target float16" directives. + +2022-01-22 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104159 + * gcc.dg/analyzer/torture/pr104159.c: New test. + +2022-01-22 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104127 + * gfortran.dg/transfer_simplify_11.f90: Fix logic. + * gfortran.dg/transfer_simplify_13.f90: New test. + +2022-01-22 Michael Meissner <meissner@the-meissners.org> + + PR testsuite/103763 + * gcc.target/powerpc/fold-vec-splat-floatdouble.c: Fix insn regex + on power10. + +2022-01-21 Jakub Jelinek <jakub@redhat.com> + + PR c++/104148 + * c-c++-common/Wformat-pr104148.c: New test. + +2022-01-21 Jason Merrill <jason@redhat.com> + + * g++.dg/template/explicit-args6.C: Add expected message. + +2022-01-21 Jason Merrill <jason@redhat.com> + + PR c++/104084 + PR c++/20040 + * g++.dg/init/new50.C: New test. + +2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com> + + * gcc.target/powerpc/builtins-4.c: Add two test variants. Adjust + assembler counts. + +2022-01-21 Roger Sayle <roger@nextmovesoftware.com> + + PR middle-end/104140 + * gcc.target/riscv/pr104140.c: New test case. + +2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com> + + PR target/103676 + * g++.target/arm/pr103676.C: New. + +2022-01-21 Marek Polacek <polacek@redhat.com> + + PR c++/101715 + * g++.dg/cpp0x/noexcept72.C: New test. + * g++.dg/cpp0x/noexcept73.C: New test. + +2022-01-21 Jason Merrill <jason@redhat.com> + + PR c++/104139 + PR c++/103681 + * g++.dg/abi/no_unique_address2.C: Adjust to detect this on x86-64. + +2022-01-21 Richard Biener <rguenther@suse.de> + + PR sanitizer/99673 + * gcc.dg/asan/pr99673.c: New testcase. + +2022-01-21 Ard Biesheuvel <ardb@kernel.org> + + * gcc.target/arm/stack-protector-7.c: New test. + * gcc.target/arm/stack-protector-8.c: New test. + +2022-01-21 Richard Earnshaw <rearnsha@arm.com> + + * gcc.target/aarch64/spellcheck_1.c: Adjust tests for new output. + * gcc.target/aarch64/spellcheck_2.c: Likewise. + * gcc.target/aarch64/spellcheck_3.c: Likewise. + * gcc.target/aarch64/spellcheck_7.c: Likewise. + +2022-01-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104156 + * gcc.dg/loop-unswitch-6.c: New testcase. + +2022-01-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104152 + * gcc.dg/vect/pr104152.c: New testcase. + +2022-01-21 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/pr103721-2.c: New test. + * gcc.dg/pr103721.c: New test. + +2022-01-21 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/102478 + * gcc.dg/pr102478.c: New test. + +2022-01-21 Jeff Law <jeffreyalaw@gmail.com> + + * gcc.target/mips/fix-r4000-2.c: Update expected output. + * gcc.target/mips/fix-r4000-3.c: Update expected output. Add + -fexpensive-optimizations for consistency in output. + * gcc.target/mips/fix-r4000-7.c: Update expected output. + * gcc.target/mips/fix-r4000-8.c: Update expected output. + +2022-01-20 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/94362 + * gcc.dg/analyzer/pr94362-1.c: New test. + * gcc.dg/analyzer/pr94362-2.c: New test. + +2022-01-20 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/103685 + * gcc.dg/analyzer/torture/pr103685.c: New test. + +2022-01-20 Sandra Loosemore <sandra@codesourcery.com> + + PR fortran/103695 + PR fortran/102621 + * gfortran.dg/gomp/affinity-clause-3.f90: Adjust pattern. + * gfortran.dg/gomp/pr102621.f90: New. + * gfortran.dg/gomp/pr103695.f90: New. + +2022-01-20 Jason Merrill <jason@redhat.com> + + PR c++/101405 + * g++.dg/cpp2a/desig20.C: New test. + +2022-01-20 Marek Polacek <polacek@redhat.com> + + PR c++/102338 + * g++.dg/cpp1y/noexcept2.C: New test. + +2022-01-20 Patrick Palka <ppalka@redhat.com> + + PR c++/103631 + * g++.dg/cpp2a/nontype-class51.C: New test. + +2022-01-20 Richard Biener <rguenther@suse.de> + + PR middle-end/100786 + * gcc.dg/torture/pr100786.c: New testcase. + +2022-01-20 Richard Earnshaw <rearnsha@arm.com> + + PR target/102517 + * gcc.target/aarch64/cpymem-q-reg_1.c: Allow ld1 and st1 for the + memcpy expansion. + +2022-01-20 Patrick Palka <ppalka@redhat.com> + + PR c++/91911 + PR c++/103672 + * g++.dg/cpp1z/class-deduction101.C: New test. + * g++.dg/cpp1z/class-deduction101a.C: New test. + * g++.dg/cpp1z/class-deduction101b.C: New test. + * g++.dg/cpp1z/class-deduction102.C: New test. + * g++.dg/cpp1z/class-deduction102a.C: New test. + * g++.dg/cpp1z/class-deduction102b.C: New test. + * g++.dg/cpp1z/class-deduction103.C: New test. + +2022-01-20 Patrick Palka <ppalka@redhat.com> + + * g++.dg/other/pr88187.C: Adjust expected C++17 diagnostic. + +2022-01-20 Richard Earnshaw <rearnsha@arm.com> + + * gcc.target/arm/crypto-vaese-erratum1.c: New test. + +2022-01-20 Jakub Jelinek <jakub@redhat.com> + + PR debug/103874 + * gcc.dg/debug/dwarf2/pr103874.c: New test. + +2022-01-20 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/opt/pr47639.C: Add -Wno-psabi to dg-options. + +2022-01-20 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/mask-pack-prefer128.c: New test. + * gcc.target/i386/mask-pack-prefer256.c: New test. + * gcc.target/i386/pr103771.c: New test. + +2022-01-20 Jason Merrill <jason@redhat.com> + + PR c++/102300 + * g++.dg/parse/no-typename1.C: Remove expected error. + * g++.dg/template/nested7.C: New test. + +2022-01-20 David Edelsohn <dje.gcc@gmail.com> + + * gcc.target/powerpc/sldoi_to_mov.c: Require VSX. + +2022-01-19 Robin Dapp <rdapp@linux.ibm.com> + + * gcc.dg/ifcvt-4.c: Remove s390-specific check. + * gcc.target/s390/ifcvt-two-insns-bool.c: New test. + * gcc.target/s390/ifcvt-two-insns-int.c: New test. + * gcc.target/s390/ifcvt-two-insns-long.c: New test. + +2022-01-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/102860 + * gfortran.dg/pr102860.f90: New test. + +2022-01-19 Jakub Jelinek <jakub@redhat.com> + + PR c/104115 + * gcc.dg/tree-ssa/evrp-trans2.c: New test. + +2022-01-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104112 + * gcc.dg/vect/pr104112-1.c: New testcase. + * gcc.dg/vect/pr104112-2.c: New testcase. + +2022-01-19 Martin Liska <mliska@suse.cz> + + * g++.dg/ext/boolcomplex-1.c: Moved to... + * g++.dg/ext/boolcomplex-1.C: ...here. + * g++.dg/opt/pr47639.c: Moved to... + * g++.dg/opt/pr47639.C: ...here. + * g++.dg/pr83979.c: Moved to... + * g++.dg/pr83979.C: ...here. + * g++.dg/tm/asm-1.c: Moved to... + * g++.dg/tm/asm-1.C: ...here. + * g++.dg/vect/pr71483.c: Moved to... + * g++.dg/vect/pr71483.cc: ...here. + +2022-01-19 Jakub Jelinek <jakub@redhat.com> + + PR c++/89074 + * gcc.dg/tree-ssa/pr89074.c: New test. + +2022-01-19 Richard Biener <rguenther@suse.de> + + PR testsuite/102833 + * gcc.dg/vect/bb-slp-17.c: Require vect64. + +2022-01-19 Rimvydas Jasinskas <rimvydas.jas@gmail.com> + + PR testsuite/104021 + * gcc.dg/vect/tsvc/tsvc.h: Do not include malloc.h on dragonfly + and use posix_memalign (). + +2022-01-19 Rimvydas Jasinskas <rimvydas.jas@gmail.com> + + PR testsuite/104022 + * g++.dg/gcov/pr16855.C: xfail the count lines for DTORs on dragonfly. + * g++.dg/gcov/pr16855-priority.C: Ditto. Adjust source layout so that + dejagnu xfail expressions work. + +2022-01-19 Martin Liska <mliska@suse.cz> + + PR testsuite/104109 + * lib/gcov.exp: Fix pytest detection unsupported message. + +2022-01-19 Kewen Lin <linkw@linux.ibm.com> + + PR tree-optimization/104015 + * gcc.dg/vect/slp-perm-9.c: Adjust. + * gcc.target/powerpc/pr104015-1.c: New test. + * gcc.target/powerpc/pr104015-2.c: New test. + +2022-01-19 Jakub Jelinek <jakub@redhat.com> + + PR target/104104 + * gcc.target/i386/pr104104.c: New test. + +2022-01-19 Martin Sebor <msebor@redhat.com> + + PR middle-end/104076 + * g++.dg/warn/Wdangling-pointer-3.C: New test. + +2022-01-19 Martin Sebor <msebor@redhat.com> + + PR middle-end/104103 + * gcc.dg/torture/pr57147-2.c: Prune out expected warning. + +2022-01-19 Martin Sebor <msebor@redhat.com> + + PR middle-end/104069 + * gcc.dg/Wuse-after-free.c: New test. + +2022-01-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/104055 + * g++.dg/cpp2a/consteval27.C: New test. + +2022-01-18 Jason Merrill <jason@redhat.com> + + * lib/g++-dg.exp: Change 2a to 20. + +2022-01-18 Jason Merrill <jason@redhat.com> + Jakub Jelinek <jakub@redhat.com> + + PR c++/104025 + * g++.dg/warn/pr104025.C: New test. + +2022-01-18 David Faust <david.faust@oracle.com> + + * gcc.target/bpf/core-section-1.c: Adjust expected record size + occurrences. + +2022-01-18 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104089 + * gcc.dg/analyzer/pr104089.c: New test. + +2022-01-18 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104062 + * gcc.dg/analyzer/pr104062.c: New test. + +2022-01-18 Patrick Palka <ppalka@redhat.com> + + PR c++/104074 + * g++.dg/cpp1z/nontype-auto20.C: New test. + +2022-01-18 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103692 + * gfortran.dg/pr102520.f90: Adjust error messages. + * gfortran.dg/pr103692.f90: New test. + +2022-01-18 Jason Merrill <jason@redhat.com> + + PR c++/104007 + * g++.dg/eh/new2.C: New test. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * gcc.target/powerpc/bfp/scalar-extract-exp-5.c: Update scanned + pattern. + * gcc.target/powerpc/bfp/scalar-extract-sig-5.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-11.c: Likewise. + +2022-01-18 Richard Biener <rguenther@suse.de> + + PR ipa/103989 + * g++.dg/opt/pr103989.C: New testcase. + +2022-01-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103987 + * gcc.dg/torture/pr103987.c: New testcase. + +2022-01-18 Richard Sandiford <richard.sandiford@arm.com> + + PR target/104005 + * gcc.target/aarch64/pr104005.c: New test. + +2022-01-18 Andrew Pinski <apinski@marvell.com> + + PR tree-optimization/101941 + * gcc.c-torture/compile/pr101941-1.c: New test. + * gcc.dg/tree-ssa/pr101941-1.c: New test. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * gcc.src/maintainers.exp: Use + check_effective_target_python3_module for checking of unicode + module. + * lib/target-supports.exp: Add + check_effective_target_python3_module. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * gcc.misc-tests/options.exp: Include renamed file. + +2022-01-18 Martin Liska <mliska@suse.cz> + + * gcc.src/maintainers.exp: Use the new + check_effective_target_recent_python3. + * lib/target-supports.exp: Check for Python3 version >= 3.6. + +2022-01-18 liuhongt <hongtao.liu@intel.com> + + PR target/103973 + * g++.target/i386/pr103973-1.C: Change scan-assembler from + "\tucomisd" to "\t\[v\]?ucomisd". + * g++.target/i386/pr103973-11.C: Ditto. + * g++.target/i386/pr103973-13.C: Ditto. + * g++.target/i386/pr103973-15.C: Ditto. + * g++.target/i386/pr103973-3.C: Ditto. + * g++.target/i386/pr103973-5.C: Ditto. + * g++.target/i386/pr103973-7.C: Ditto. + * g++.target/i386/pr103973-9.C: Ditto. + * gcc.target/i386/pr103973-1.c: Ditto. + * gcc.target/i386/pr103973-11.c: Ditto. + * gcc.target/i386/pr103973-13.c: Ditto. + * gcc.target/i386/pr103973-15.c: Ditto. + * gcc.target/i386/pr103973-3.c: Ditto. + * gcc.target/i386/pr103973-5.c: Ditto. + * gcc.target/i386/pr103973-7.c: Ditto. + * gcc.target/i386/pr103973-9.c: Ditto. + +2022-01-17 qing zhao <qing.zhao@oracle.com> + + * gcc.dg/auto-init-uninit-16.c (testfunc): Delete xfail to reflect + the fact that address taken variable can be warned. + * gcc.dg/auto-init-uninit-34.c (warn_scalar_1): Likewise. + (warn_scalar_2): Likewise. + * gcc.dg/auto-init-uninit-37.c (T1): Likewise. + (T2): Likewise. + * gcc.dg/auto-init-uninit-B.c (baz): Likewise. + +2022-01-17 Jakub Jelinek <jakub@redhat.com> + + PR c++/104031 + * g++.dg/cpp1y/pr104031.C: New test. + +2022-01-17 Jason Merrill <jason@redhat.com> + + * c-c++-common/cpp/line-2.c: Only expect includes once. + * c-c++-common/cpp/line-3.c: Likewise. + +2022-01-17 Andrew Stubbs <ams@codesourcery.com> + + * gfortran.dg/gomp/requires-8.f90: Reinstate dynamic allocators + requirement. + +2022-01-17 Hafiz Abid Qadeer <abidh@codesourcery.com> + + * gfortran.dg/gomp/allocate-2.f90: Change 0 to 0_1. + +2022-01-17 Jakub Jelinek <jakub@redhat.com> + + PR target/103973 + * gcc.target/i386/pr103973-1.c: New test. + * gcc.target/i386/pr103973-2.c: New test. + * gcc.target/i386/pr103973-3.c: New test. + * gcc.target/i386/pr103973-4.c: New test. + * gcc.target/i386/pr103973-5.c: New test. + * gcc.target/i386/pr103973-6.c: New test. + * gcc.target/i386/pr103973-7.c: New test. + * gcc.target/i386/pr103973-8.c: New test. + * gcc.target/i386/pr103973-9.c: New test. + * gcc.target/i386/pr103973-10.c: New test. + * gcc.target/i386/pr103973-11.c: New test. + * gcc.target/i386/pr103973-12.c: New test. + * gcc.target/i386/pr103973-13.c: New test. + * gcc.target/i386/pr103973-14.c: New test. + * gcc.target/i386/pr103973-15.c: New test. + * gcc.target/i386/pr103973-16.c: New test. + * gcc.target/i386/pr103973-17.c: New test. + * gcc.target/i386/pr103973-18.c: New test. + * gcc.target/i386/pr103973-19.c: New test. + * gcc.target/i386/pr103973-20.c: New test. + * g++.target/i386/pr103973-1.C: New test. + * g++.target/i386/pr103973-2.C: New test. + * g++.target/i386/pr103973-3.C: New test. + * g++.target/i386/pr103973-4.C: New test. + * g++.target/i386/pr103973-5.C: New test. + * g++.target/i386/pr103973-6.C: New test. + * g++.target/i386/pr103973-7.C: New test. + * g++.target/i386/pr103973-8.C: New test. + * g++.target/i386/pr103973-9.C: New test. + * g++.target/i386/pr103973-10.C: New test. + * g++.target/i386/pr103973-11.C: New test. + * g++.target/i386/pr103973-12.C: New test. + * g++.target/i386/pr103973-13.C: New test. + * g++.target/i386/pr103973-14.C: New test. + * g++.target/i386/pr103973-15.C: New test. + * g++.target/i386/pr103973-16.C: New test. + * g++.target/i386/pr103973-17.C: New test. + * g++.target/i386/pr103973-18.C: New test. + * g++.target/i386/pr103973-19.C: New test. + * g++.target/i386/pr103973-20.C: New test. + +2022-01-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gfortran.dg/ieee/signaling_3.f90: Remove file. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * g++.dg/uninit-pred-loop-1_b.C: Fix invalid warnings. + * g++.dg/uninit-pred-loop-1_c.C: Likewise. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * g++.dg/uninit-pred-loop-1_a.cc: Moved to... + * g++.dg/uninit-pred-loop-1_a.C: ...here. + * g++.dg/uninit-pred-loop-1_b.cc: Moved to... + * g++.dg/uninit-pred-loop-1_b.C: ...here. + * g++.dg/uninit-pred-loop-1_c.cc: Moved to... + * g++.dg/uninit-pred-loop-1_c.C: ...here. + * g++.dg/uninit-pred-loop_1.cc: Moved to... + * g++.dg/uninit-pred-loop_1.C: ...here. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * lib/gcov.exp: Use check_effective_target_pytest3. + * lib/target-supports.exp: Add check_effective_target_pytest3. + +2022-01-17 Martin Liska <mliska@suse.cz> + + * gcc.src/maintainers.exp: Start using check-MAINTAINERS.py. + * lib/target-supports.exp: Add check_effective_target_python3. + +2022-01-17 Martin Liska <mliska@suse.cz> + + PR testsuite/104035 + * g++.dg/torture/pr57993-2.C: Fix warnings. + +2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/103124 + * gcc.target/powerpc/pr103124.c: New testcase. + +2022-01-16 Francois-Xavier Coudert <fxcoudert@gmail.com> + + * gfortran.dg/ieee/signaling_1.f90: xfail on x87. + * gfortran.dg/ieee/signaling_2.f90: xfail on x87. + * gfortran.dg/ieee/signaling_3.f90: New file. + +2022-01-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR fortran/82207 + * gfortran.dg/ieee/ieee_10.f90: Do not create signaling NaNs. + * gfortran.dg/ieee/signaling_2.f90: New test. + * gfortran.dg/ieee/signaling_2_c.c: New file. + +2022-01-16 Jonathan Wakely <jwakely@redhat.com> + + PR testsuite/104037 + * g++.old-deja/g++.robertl/eb43.C: Ad -Wno-deprecated. + +2022-01-16 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/103789 + PR fortran/87711 + PR fortran/97896 + * gfortran.dg/index_5.f90: Enrich test with usages of INDEX with + a non-keyword KIND argument. + * gfortran.dg/len_trim.f90: Same for LEN_TRIM. + * gfortran.dg/maskl_1.f90: Same for MASKL. + * gfortran.dg/maskr_1.f90: Same for MASKR. + * gfortran.dg/scan_3.f90: Same for SCAN. + * gfortran.dg/verify_3.f90: Same for VERIFY. + +2022-01-16 wwwhhhyyy <hongyu.wang@intel.com> + + * gcc.target/i386/avx2-dest-false-dep-for-glc.c: New test. + * gcc.target/i386/avx512dq-dest-false-dep-for-glc.c: Ditto. + * gcc.target/i386/avx512f-dest-false-dep-for-glc.c: Ditto. + * gcc.target/i386/avx512fp16-dest-false-dep-for-glc.c: Ditto. + * gcc.target/i386/avx512fp16vl-dest-false-dep-for-glc.c: Ditto. + * gcc.target/i386/avx512vl-dest-false-dep-for-glc.c: Ditto. + +2022-01-15 Martin Sebor <msebor@redhat.com> + + PR c/63272 + * g++.dg/warn/Wfree-nonheap-object-6.C: Disable valid warnings. + * g++.dg/warn/ref-temp1.C: Prune expected warning. + * gcc.dg/uninit-pr50476.c: Expect a new warning. + * c-c++-common/Wdangling-pointer-2.c: New test. + * c-c++-common/Wdangling-pointer-3.c: New test. + * c-c++-common/Wdangling-pointer-4.c: New test. + * c-c++-common/Wdangling-pointer-5.c: New test. + * c-c++-common/Wdangling-pointer-6.c: New test. + * c-c++-common/Wdangling-pointer.c: New test. + * g++.dg/warn/Wdangling-pointer-2.C: New test. + * g++.dg/warn/Wdangling-pointer.C: New test. + * gcc.dg/Wdangling-pointer-2.c: New test. + * gcc.dg/Wdangling-pointer.c: New test. + +2022-01-15 Martin Sebor <msebor@redhat.com> + + PR tree-optimization/80532 + * gcc.dg/Wmismatched-dealloc-2.c: Avoid -Wuse-after-free. + * gcc.dg/Wmismatched-dealloc-3.c: Same. + * gcc.dg/analyzer/file-1.c: Prune expected warning. + * gcc.dg/analyzer/file-2.c: Same. + * gcc.dg/attr-alloc_size-6.c: Disable -Wuse-after-free. + * gcc.dg/attr-alloc_size-7.c: Same. + * c-c++-common/Wuse-after-free-2.c: New test. + * c-c++-common/Wuse-after-free-3.c: New test. + * c-c++-common/Wuse-after-free-4.c: New test. + * c-c++-common/Wuse-after-free-5.c: New test. + * c-c++-common/Wuse-after-free-6.c: New test. + * c-c++-common/Wuse-after-free-7.c: New test. + * c-c++-common/Wuse-after-free.c: New test. + * g++.dg/warn/Wmismatched-dealloc-3.C: New test. + * g++.dg/warn/Wuse-after-free.C: New test. + +2022-01-15 Harald Anlauf <anlauf@gmx.de> + + PR fortran/83079 + * gfortran.dg/transfer_char_kind4.f90: New test. + +2022-01-14 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/taint-merger.c: New test. + +2022-01-14 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/104029 + * gcc.dg/analyzer/pr104029.c: New test. + * gcc.dg/analyzer/taint-ops.c: New test. + +2022-01-14 Harald Anlauf <anlauf@gmx.de> + + PR fortran/99256 + * gfortran.dg/altreturn_11.f90: New test. + +2022-01-14 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/lto25.adb: New test. + * gnat.dg/opt96.adb: Likewise. + * gnat.dg/opt96_pkg.ads, gnat.dg/opt96_pkg.adb: New helper. + +2022-01-14 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103782 + * gfortran.dg/overload_4.f90: New test. + +2022-01-14 Martin Sebor <msebor@redhat.com> + + PR middle-end/101475 + * gcc.dg/Wstringop-overflow-15.c: Remove xfails. + * gcc.dg/Wstringop-overflow-68.c: Adjust, remove xfails. + * gcc.dg/Wstringop-overflow-88.c: New test. + +2022-01-14 Martin Sebor <msebor@redhat.com> + + * gcc.dg/tree-ssa/builtin-sprintf-warn-28.c: New test. + +2022-01-14 Martin Liska <mliska@suse.cz> + + * c-c++-common/Walloca-larger-than.c: Fix typo. + +2022-01-14 Martin Liska <mliska@suse.cz> + + * g++.dg/cpp0x/pr56868.cpp: Moved to... + * g++.dg/cpp0x/pr56868.C: ...here. + * gcc.dg/torture/pr57993-2.cpp: Moved to... + * g++.dg/torture/pr57993-2.C: ...here. + +2022-01-14 Martin Liska <mliska@suse.cz> + + * c-c++-common/Walloca-larger-than.C: Moved to... + * c-c++-common/Walloca-larger-than.c: ...here. + +2022-01-14 Chung-Lin Tang <cltang@codesourcery.com> + + PR c++/103705 + * c-c++-common/gomp/pr103705.c: New test. + +2022-01-14 Martin Liska <mliska@suse.cz> + + * g++.dg/vect/pr99149.cc: Remove executable mode. + * g++.dg/vect/pr99220.cc: Likewise. + * g++.target/i386/avx512vl-pr100738-1.C: Likewise. + * g++.target/i386/pr100738-1.C: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/bfdot-3.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vdot-3-3.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vdot-3-4.c: Likewise. + * gcc.target/i386/pr101796-1.c: Likewise. + * gcc.target/i386/pr94790-1.c: Likewise. + * gcc.target/i386/pr94790-2.c: Likewise. + * gcc.target/powerpc/mma-double-test.c: Likewise. + * gcc.target/powerpc/mma-single-test.c: Likewise. + * gdc.test/fail_compilation/constraints_aggr.d: Likewise. + * gdc.test/fail_compilation/constraints_defs.d: Likewise. + * gdc.test/fail_compilation/constraints_func1.d: Likewise. + * gdc.test/fail_compilation/constraints_func2.d: Likewise. + * gdc.test/fail_compilation/constraints_func3.d: Likewise. + * gdc.test/fail_compilation/constraints_func4.d: Likewise. + * gdc.test/fail_compilation/constraints_tmpl.d: Likewise. + * gdc.test/fail_compilation/imports/constraints.d: Likewise. + +2022-01-14 Jakub Jelinek <jakub@redhat.com> + + PR c++/103991 + * g++.dg/warn/Wreturn-type-13.C: New test. + +2022-01-14 Jakub Jelinek <jakub@redhat.com> + + PR c++/89074 + * g++.dg/cpp1y/constexpr-89074-1.C: New test. + +2022-01-14 Jakub Jelinek <jakub@redhat.com> + + PR target/98737 + * gcc.dg/tree-ssa/pr98737-1.c: New test. + * gcc.dg/tree-ssa/pr98737-2.c: New test. + +2022-01-14 Claudiu Zissulescu <claziss@synopsys.com> + + * gcc.target/arc/cancel-1.c: New file. + +2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR tree-optimization/104009 + * gcc.dg/builtin-object-size-1.c (test10): New test. + * gcc.dg/builtin-object-size-3.c (test10): Likewise. + (test9): Expect zero size for negative offsets. + * gcc.dg/builtin-object-size-4.c (test8): Likewise. + * gcc.dg/builtin-object-size-5.c (test7): Drop test for + __builtin_object_size. + +2022-01-14 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr104001.c: New test. + +2022-01-14 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/attr-tainted_args-1.c: New test. + * gcc.dg/analyzer/attr-tainted_args-misuses.c: New test. + * gcc.dg/analyzer/taint-CVE-2011-2210-1.c: New test. + * gcc.dg/analyzer/taint-CVE-2020-13143-1.c: New test. + * gcc.dg/analyzer/taint-CVE-2020-13143-2.c: New test. + * gcc.dg/analyzer/taint-CVE-2020-13143.h: New test. + * gcc.dg/analyzer/taint-alloc-3.c: New test. + * gcc.dg/analyzer/taint-alloc-4.c: New test. + * gcc.dg/analyzer/test-uaccess.h: New test. + +2022-01-13 Anthony Sharp <anthonysharp15@gmail.com> + Jason Merrill <jason@redhat.com> + + PR c++/70417 + * g++.dg/cpp0x/variadic-mem_fn2.C: Catch warning about missing + template keyword. + * g++.dg/template/dependent-name17.C: New test. + * g++.dg/template/dependent-name18.C: New test. + +2022-01-13 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103861 + * gcc.target/i386/pr103861.c (shl,ashr,lshr): New tests. + +2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com> + + * gfortran.dg/gomp/allocate-1.f90: New test. + * gfortran.dg/gomp/allocate-2.f90: New test. + * gfortran.dg/gomp/allocate-3.f90: New test. + * gfortran.dg/gomp/collapse1.f90: Update error message. + * gfortran.dg/gomp/openmp-simd-4.f90: Likewise. + * gfortran.dg/gomp/clauses-1.f90: Uncomment allocate clause. + +2022-01-13 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/83072 + PR tree-optimization/83073 + PR tree-optimization/97909 + * gcc.dg/pr83072-2.c: New. + * gcc.dg/pr83073.c: New. + +2022-01-13 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/96707 + * g++.dg/pr96707.C: New. + +2022-01-13 Harald Anlauf <anlauf@gmx.de> + + PR fortran/67804 + * gfortran.dg/pr93604.f90: Adjust to changed diagnostics. + * gfortran.dg/pr67804.f90: New test. + +2022-01-13 Uroš Bizjak <ubizjak@gmail.com> + + PR target/104003 + * g++.target/i386/pr103861-1-sse4.C: New test. + * g++.target/i386/pr103861-1-xop.C: Ditto. + +2022-01-13 Paul A. Clarke <pc@us.ibm.com> + + * gcc.target/powerpc/sse4_1-round3.h: New. + * gcc.target/powerpc/sse4_1-roundpd.c: New. + * gcc.target/powerpc/sse4_1-roundps.c: New. + * gcc.target/powerpc/sse4_1-roundsd.c: New. + * gcc.target/powerpc/sse4_1-roundss.c: New. + +2022-01-13 Richard Biener <rguenther@suse.de> + + PR c/104002 + * c-c++-common/builtin-shufflevector-3.c: Move ... + * c-c++-common/torture/builtin-shufflevector-3.c: ... here. + +2022-01-13 Thomas Schwinge <thomas@codesourcery.com> + + * c-c++-common/goacc/routine-6.c: Merge into... + * c-c++-common/goacc/routine-5.c: ... this, and document current + C/C++ difference. + +2022-01-13 Thomas Schwinge <thomas@codesourcery.com> + + * c-c++-common/goacc/builtin-goacc-parlevel-id-size.c: Document + current '-Wuninitialized' diagnostics. + * c-c++-common/goacc/mdc-1.c: Likewise. + * c-c++-common/goacc/nested-reductions-1-kernels.c: Likewise. + * c-c++-common/goacc/nested-reductions-1-parallel.c: Likewise. + * c-c++-common/goacc/nested-reductions-1-routine.c: Likewise. + * c-c++-common/goacc/nested-reductions-2-kernels.c: Likewise. + * c-c++-common/goacc/nested-reductions-2-parallel.c: Likewise. + * c-c++-common/goacc/nested-reductions-2-routine.c: Likewise. + * c-c++-common/goacc/uninit-dim-clause.c: Likewise. + * c-c++-common/goacc/uninit-firstprivate-clause.c: Likewise. + * c-c++-common/goacc/uninit-if-clause.c: Likewise. + * gfortran.dg/goacc/array-with-dt-1.f90: Likewise. + * gfortran.dg/goacc/array-with-dt-2.f90: Likewise. + * gfortran.dg/goacc/array-with-dt-3.f90: Likewise. + * gfortran.dg/goacc/array-with-dt-4.f90: Likewise. + * gfortran.dg/goacc/array-with-dt-5.f90: Likewise. + * gfortran.dg/goacc/derived-chartypes-1.f90: Likewise. + * gfortran.dg/goacc/derived-chartypes-2.f90: Likewise. + * gfortran.dg/goacc/derived-chartypes-3.f90: Likewise. + * gfortran.dg/goacc/derived-chartypes-4.f90: Likewise. + * gfortran.dg/goacc/derived-classtypes-1.f95: Likewise. + * gfortran.dg/goacc/derived-types-2.f90: Likewise. + * gfortran.dg/goacc/host_data-tree.f95: Likewise. + * gfortran.dg/goacc/kernels-tree.f95: Likewise. + * gfortran.dg/goacc/modules.f95: Likewise. + * gfortran.dg/goacc/nested-reductions-1-kernels.f90: Likewise. + * gfortran.dg/goacc/nested-reductions-1-parallel.f90: Likewise. + * gfortran.dg/goacc/nested-reductions-1-routine.f90: Likewise. + * gfortran.dg/goacc/nested-reductions-2-kernels.f90: Likewise. + * gfortran.dg/goacc/nested-reductions-2-parallel.f90: Likewise. + * gfortran.dg/goacc/nested-reductions-2-routine.f90: Likewise. + * gfortran.dg/goacc/parallel-tree.f95: Likewise. + * gfortran.dg/goacc/pr93464.f90: Likewise. + * gfortran.dg/goacc/privatization-1-compute-loop.f90: Likewise. + * gfortran.dg/goacc/privatization-1-compute.f90: Likewise. + * gfortran.dg/goacc/privatization-1-routine_gang-loop.f90: + Likewise. + * gfortran.dg/goacc/privatization-1-routine_gang.f90: Likewise. + * gfortran.dg/goacc/uninit-dim-clause.f95: Likewise. + * gfortran.dg/goacc/uninit-firstprivate-clause.f95: Likewise. + * gfortran.dg/goacc/uninit-if-clause.f95: Likewise. + * gfortran.dg/goacc/uninit-use-device-clause.f95: Likewise. + * gfortran.dg/goacc/wait.f90: Likewise. + +2022-01-13 Thomas Schwinge <thomas@codesourcery.com> + + PR middle-end/100280 + * c-c++-common/goacc/kernels-decompose-pr100280-1.c: New. + * c-c++-common/goacc/classify-kernels-parloops.c: Likewise. + * c-c++-common/goacc/classify-kernels-unparallelized-parloops.c: + Likewise. + * c-c++-common/goacc/classify-kernels-unparallelized.c: Test + '--param openacc-kernels=decompose'. + * c-c++-common/goacc/classify-kernels.c: Likewise. + * c-c++-common/goacc/kernels-decompose-2.c: Update. + * c-c++-common/goacc/kernels-decompose-ice-1.c: Remove. + * c-c++-common/goacc/kernels-decompose-ice-2.c: Likewise. + * gfortran.dg/goacc/classify-kernels-parloops.f95: New. + * gfortran.dg/goacc/classify-kernels-unparallelized-parloops.f95: + Likewise. + * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Test + '--param openacc-kernels=decompose'. + * gfortran.dg/goacc/classify-kernels.f95: Likewise. + +2022-01-13 Thomas Schwinge <thomas@codesourcery.com> + + * c-c++-common/goacc/kernels-decompose-1.c: Enhance. + * c-c++-common/goacc/kernels-decompose-2.c: Likewise. + * c-c++-common/goacc/kernels-decompose-ice-1.c: Likewise. + * c-c++-common/goacc/kernels-decompose-ice-2.c: Likewise. + * gfortran.dg/goacc/kernels-decompose-1.f95: Likewise. + * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise. + +2022-01-13 Haochen Jiang <haochen.jiang@intel.com> + + PR target/94790 + * gcc.target/i386/pr94790-1.c: New test. + * gcc.target/i386/pr94790-2.c: Ditto. + +2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com> + + * gcc.target/powerpc/sldoi_to_mov.c: New test. + +2022-01-12 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103941 + * gcc.target/i386/pr103861-3.c (dg-options): Add -fno-vect-cost-model. + +2022-01-12 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103935 + * g++.dg/vect/slp-pr98855.cc: Compile only for x86 targets. + +2022-01-12 Uroš Bizjak <ubizjak@gmail.com> + + PR target/100637 + PR target/103861 + * g++.target/i386/pr100637-1b.C (dg-options): + Use -msse2 instead of -msse4.1. + * g++.target/i386/pr100637-1w.C (dg-options): Ditto. + * g++.target/i386/pr103861-1.C (dg-options): Ditto. + * gcc.target/i386/pr100637-4b.c (dg-options): Ditto. + * gcc.target/i386/pr103861-4.c (dg-options): Ditto. + * gcc.target/i386/pr100637-1b.c: Remove scan-assembler + directives for logic instructions. + * gcc.target/i386/pr100637-1w.c: Ditto. + * gcc.target/i386/warn-vect-op-2.c: + Update dg-warning for vector logic operation. + +2022-01-12 Michael Meissner <meissner@the-meissners.org> + + PR testsuite/102935 + * gcc.target/powerpc/pr101384-1.c: Update insn regexp for power9 + and power10. + +2022-01-12 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/83541 + * g++.dg/pr83541.C: New. + +2022-01-12 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/103940 + * gcc.dg/analyzer/taint-size-access-attr-1.c: New test. + +2022-01-12 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/atomic-exchange-1.c: New test. + * gcc.target/nvptx/atomic-exchange-2.c: New test. + * gcc.target/nvptx/atomic-exchange-3.c: New test. + * gcc.target/nvptx/atomic-exchange-4.c: New test. + +2022-01-12 Tom de Vries <tdevries@suse.de> + + * gcc.target/nvptx/atomic_fetch-1.c: Rewrite. + * gcc.target/nvptx/atomic_fetch-2.c: Rewrite. + +2022-01-12 Francois-Xavier Coudert <fxcoudert@gmail.com> + + * gfortran.dg/ieee/signaling_1.f90: Fix comment. + +2022-01-12 Francois-Xavier Coudert <fxcoudert@gmail.com> + + * gfortran.dg/ieee/signaling_1.f90: Adjust flags. + +2022-01-12 Jakub Jelinek <jakub@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/103480 + * g++.dg/warn/Wuseless-cast2.C: New test. + +2022-01-12 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/101530 + * c-c++-common/builtin-shufflevector-3.c: Add -Wno-psabi to + dg-options. + +2022-01-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/76174 + * gcc.dg/tree-ssa/pr76174.c: New testcase. + +2022-01-11 qing zhao <qing.zhao@oracle.com> + + * c-c++-common/auto-init-1.c: Adjust testcase to reflect the 3rd + argument change of function .DEFERRED_INIT. + * c-c++-common/auto-init-10.c: Likewise. + * c-c++-common/auto-init-11.c: Likewise. + * c-c++-common/auto-init-12.c: Likewise. + * c-c++-common/auto-init-13.c: Likewise. + * c-c++-common/auto-init-14.c: Likewise. + * c-c++-common/auto-init-15.c: Likewise. + * c-c++-common/auto-init-16.c: Likewise. + * c-c++-common/auto-init-2.c: Likewise. + * c-c++-common/auto-init-3.c: Likewise. + * c-c++-common/auto-init-4.c: Likewise. + * c-c++-common/auto-init-5.c: Likewise. + * c-c++-common/auto-init-6.c: Likewise. + * c-c++-common/auto-init-7.c: Likewise. + * c-c++-common/auto-init-8.c: Likewise. + * c-c++-common/auto-init-9.c: Likewise. + * c-c++-common/auto-init-esra.c: Likewise. + * c-c++-common/auto-init-padding-1.c: Likewise. + * gcc.target/aarch64/auto-init-2.c: Likewise. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + * gfortran.dg/pr47614.f: Don't use -mcpu=power4 for + powerpc64le*-*-linux*. + +2022-01-11 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103861 + * g++.target/i386/pr100637-1b.C (dg-options): + Use -msse4 instead of -msse2. + * g++.target/i386/pr100637-1w.C (dg-options): Ditto. + * g++.target/i386/pr103861-1.C: New test. + * gcc.target/i386/pr100637-4b.c (dg-options): + Use -msse4 instead of -msse2. + * gcc.target/i386/pr103861-4.c: New test. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + PR c++/101597 + * g++.dg/opt/pr101597.C: New test. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + PR c/101537 + PR c/103881 + * c-c++-common/pr101537.c: New test. + * c-c++-common/pr103881.c: New test. + +2022-01-11 Patrick Palka <ppalka@redhat.com> + + PR c++/103831 + * g++.dg/cpp2a/concepts-class3.C: New test. + * g++.dg/template/non-dependent18.C: New test. + +2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR middle-end/70090 + * gcc.dg/builtin-dynamic-object-size-0.c: Add new tests. + * gcc.dg/builtin-object-size-1.c (test1) + [__builtin_object_size]: Adjust expected output for dynamic + object sizes. + * gcc.dg/builtin-object-size-2.c (test1) + [__builtin_object_size]: Likewise. + * gcc.dg/builtin-object-size-3.c (test1) + [__builtin_object_size]: Likewise. + * gcc.dg/builtin-object-size-4.c (test1) + [__builtin_object_size]: Likewise. + +2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR middle-end/70090 + * gcc.dg/builtin-dynamic-object-size-0.c: Add new tests. + * gcc.dg/builtin-object-size-1.c (test1) + [__builtin_object_size]: Alter expected result for dynamic + object size. + * gcc.dg/builtin-object-size-2.c (test1) + [__builtin_object_size]: Likewise. + * gcc.dg/builtin-object-size-3.c (test1) + [__builtin_object_size]: Likewise. + * gcc.dg/builtin-object-size-4.c (test1) + [__builtin_object_size]: Likewise. + +2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR middle-end/70090 + * gcc.dg/builtin-dynamic-object-size-0.c (test_parmsz_simple, + test_parmsz_scaled, test_parmsz_unknown): New functions. + (main): Call them. Add new arguments argc and argv. + +2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR middle-end/70090 + * gcc.dg/builtin-dynamic-object-size-0.c: New tests. + * gcc.dg/builtin-dynamic-object-size-10.c: Add comment. + * gcc.dg/builtin-dynamic-object-size-5-main.c: New file. + * gcc.dg/builtin-dynamic-object-size-5.c: Use it and change test + to dg-do run. + * gcc.dg/builtin-object-size-5.c [!N]: Define N. + (test1, test2, test3, test4) [__builtin_object_size]: Expect + exact result for __builtin_dynamic_object_size. + * gcc.dg/builtin-object-size-1.c [__builtin_object_size]: Expect + exact size expressions for __builtin_dynamic_object_size. + * gcc.dg/builtin-object-size-2.c [__builtin_object_size]: + Likewise. + * gcc.dg/builtin-object-size-3.c [__builtin_object_size]: + Likewise. + * gcc.dg/builtin-object-size-4.c [__builtin_object_size]: + Likewise. + +2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> + Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/103961 + * gcc.dg/pr103961.c: New test case. + +2022-01-11 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/102692 + * gcc.dg/analyzer/pr102692.c: New test. + +2022-01-11 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + * gcc.target/i386/mult-highpart.c: New test case. + +2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com> + + PR target/102239 + * gcc.target/powerpc/pr102239.c: New test. + +2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com> + + PR testsuite/103820 + * gcc.dg/tree-ssa/recip-3.c: Adjust. + +2022-01-11 Haochen Jiang <haochen.jiang@intel.com> + + PR target/53652 + * gcc.target/i386/pr53652-1.c: New test. + +2022-01-10 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103861 + * gcc.target/i386/pr103861-2.c: New test. + +2022-01-10 Patrick Palka <ppalka@redhat.com> + + PR c++/103879 + * g++.dg/cpp1y/constexpr-base2.C: New test. + * g++.dg/cpp1y/constexpr-base2a.C: New test. + +2022-01-10 Patrick Palka <ppalka@redhat.com> + + PR c++/103783 + * g++.dg/cpp2a/concepts-memfun2.C: New test. + +2022-01-10 Jakub Jelinek <jakub@redhat.com> + + PR c++/103912 + * g++.dg/cpp2a/consteval26.C: New test. + +2022-01-10 Paul A. Clarke <pc@us.ibm.com> + + * gcc.target/powerpc/sse4_1-blendvps.c: Copy from gcc.target/i386, + adjust dg directives to suit. + +2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.target/aarch64/masked_epilogue.c: New test. + +2022-01-10 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/103366 + * gfortran.dg/pr103366.f90: New test. + +2022-01-10 Jakub Jelinek <jakub@redhat.com> + + PR target/102024 + * gcc.target/i386/pr102024.c: New test. + * g++.target/i386/pr102024.C: New test. + +2022-01-10 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/reg-alloc-4.c: New test. + +2022-01-10 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/reg-alloc-3.c: New test. + +2022-01-10 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/reg-alloc-2.c: New test. + +2022-01-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR fortran/82207 + * gfortran.dg/ieee/signaling_1.f90: New test. + * gfortran.dg/ieee/signaling_1_c.c: New file. + +2022-01-10 Richard Biener <rguenther@suse.de> + + PR middle-end/101530 + * c-c++-common/builtin-shufflevector-3.c: New testcase. + +2022-01-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/100359 + * gcc.dg/tree-ssa/pr100359.c: New testcase. + +2022-01-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103777 + * gfortran.dg/masklr_3.f90: New test. + +2022-01-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/101762 + * gfortran.dg/pr101762.f90: New test. + +2022-01-09 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/103789 + * gfortran.dg/maskl_1.f90: New test. + * gfortran.dg/maskr_1.f90: New test. + * gfortran.dg/scan_3.f90: New test. + * gfortran.dg/verify_3.f90: New test. + +2022-01-09 Sandra Loosemore <sandra@codesourcery.com> + + * g++.dg/cpp0x/constexpr-compare1.C: Add explicit + -fdelete-null-pointer-checks option. + * g++.dg/cpp0x/constexpr-compare2.C: Likewise. + * g++.dg/cpp0x/constexpr-typeid2.C: Likewise. + * g++.dg/cpp1y/constexpr-94716.C: Likewise. + * g++.dg/cpp1z/constexpr-compare1.C: Likewise. + * g++.dg/cpp1z/constexpr-if36.C: Likewise. + * gcc.dg/init-compare-1.c: Likewise. + +2022-01-08 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/sse2-v1ti-mov-1.c: New test case. + * gcc.target/i386/sse2-v1ti-zext.c: New test case. + +2022-01-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/89074 + * g++.dg/cpp1y/constexpr-89074-2.C: New test. + * g++.dg/cpp1z/constexpr-89074-1.C: New test. + +2022-01-08 Jason Merrill <jason@redhat.com> + + PR c++/103946 + * g++.dg/cpp0x/nsdmi-array1.C: New test. + +2022-01-08 Jason Merrill <jason@redhat.com> + + PR c++/100588 + * g++.dg/cpp2a/destroying-delete5.C: Expect warning. + * g++.dg/cpp2a/destroying-delete6.C: New test. + +2022-01-08 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/analyzer-decls.h (__analyzer_dump_escaped): New + decl. + * gcc.dg/analyzer/escaping-1.c: New test. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/20040 + * g++.dg/init/delete4.C: New test. + +2022-01-07 Andrew Pinski <apinski@marvell.com> + + PR target/102941 + * gcc.target/aarch64/asm-flag-7.c: New test. + * gcc.target/arm/asm-flag-7.c: New test. + +2022-01-07 Piotr Trojanek <trojanek@adacore.com> + + * gnat.dg/aggr26.adb: Update expected error message. + +2022-01-07 liuhongt <hongtao.liu@intel.com> + + * g++.target/i386/pr103750-fwprop-1.C: New test. + +2022-01-07 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/nvptx/cnot-1.c: New test case. + +2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org> + + * gcc.target/powerpc/mffscrni_p9.c: New testcase for mffscrni. + * gcc.target/powerpc/test_fpscr_rn_builtin.c: Test mffscrn and mffscrni + separately. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/103936 + PR c++/65591 + * g++.dg/init/aggr15.C: New test. + +2022-01-07 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr103774.c: New test. + * gcc.target/i386/avx512bw-vpcmpequb-1.c: Adjust scan assembler + from vpcmpub to (?:vpcmpub|vpcmpeqb). + * gcc.target/i386/avx512bw-vpcmpequw-1.c: Ditto. + * gcc.target/i386/avx512bw-vpcmpub-1.c: Ditto. + * gcc.target/i386/avx512bw-vpcmpuw-1.c: Ditto. + * gcc.target/i386/avx512f-vpcmpequd-1.c: Ditto. + * gcc.target/i386/avx512f-vpcmpequq-1.c: Ditto. + * gcc.target/i386/avx512f-vpcmpud-1.c: Ditto. + * gcc.target/i386/avx512vl-vpcmpequd-1.c: Ditto. + * gcc.target/i386/avx512vl-vpcmpequq-1.c: Ditto. + * gcc.target/i386/avx512vl-vpcmpuq-1.c: Ditto. + +2022-01-07 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr103753.c: New test. + +2022-01-07 Sandra Loosemore <sandra@codesourcery.com> + + PR fortran/103898 + * gfortran.dg/pr103898.f90: New test. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/103711 + * g++.dg/eh/delegating1.C: New test. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/61611 + * g++.dg/eh/ctor-fntry1.C: New test. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/33799 + PR c++/102191 + * g++.dg/eh/return1.C: Add temporary in try block case. + * g++.dg/cpp2a/constexpr-dtor11.C: New test. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/53868 + * g++.dg/eh/ref-temp1.C: New test. + * g++.dg/eh/ref-temp2.C: New test. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/66451 + * g++.dg/eh/array3.C: New test. + * g++.dg/eh/array1.C: Mark destructor as throw(). + * g++.dg/ipa/devirt-40.C: Likewise. + * g++.dg/warn/pr83054.C: Likewise. + * g++.dg/eh/delete1.C: Shorten array to one element. + +2022-01-07 Jason Merrill <jason@redhat.com> + + * g++.dg/tree-ssa/aggregate1.C: New test. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/66139 + PR c++/52320 + * g++.dg/cpp0x/initlist116.C: New test. + * g++.dg/cpp0x/initlist117.C: New test. + * g++.dg/cpp0x/lambda/lambda-eh.C: New test. + * g++.dg/eh/aggregate1.C: New test. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/94041 + * g++.dg/init/array12.C: + * g++.dg/init/aggr7-eh2.C: New test. + * g++.dg/init/aggr7-eh3.C: New test. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/94041 + * g++.dg/init/aggr7-eh.C: New test. + * g++.dg/cpp0x/initlist122.C: Also test aggregate variable. + +2022-01-07 Jason Merrill <jason@redhat.com> + + PR c++/92385 + * g++.dg/init/array61.C: New test. + +2022-01-07 Jason Merrill <jason@redhat.com> + + * g++.old-deja/g++.martin/new1.C: Don't expect preeval. + * g++.dg/tree-ssa/stabilize1.C: Removed. + +2022-01-06 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/103546 + * gcc.dg/analyzer/aliasing-3.c: New test. + +2022-01-06 Steve Kargl <kargl@gcc.gnu.org> + Sandra Loosemore <sandra@codesourcery.com> + + PR fortran/103287 + * gfortran.dg/c-interop/pr103287-1.f90: new. + * gfortran.dg/c-interop/pr103287-2.f90: new. + +2022-01-06 H.J. Lu <hjl.tools@gmail.com> + + PR target/103925 + * gcc.target/i386/harden-sls-6.c: New test. + +2022-01-06 Uroš Bizjak <ubizjak@gmail.com> + + * gcc.target/i386/pr102811-2.c (dg-final): + Update scan-assembler-times directives. + * gcc.target/i386/sse2-float16-2.c (dg-final): + Update scan-assembler directives. + +2022-01-06 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/predef-14.c: New. + * gcc.target/riscv/predef-15.c: Ditto. + * gcc.target/riscv/predef-16.c: Ditto. + +2022-01-06 Patrick Palka <ppalka@redhat.com> + + PR c++/69681 + * g++.dg/cpp0x/constexpr-compare2.C: New test. + +2022-01-06 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/103908 + * gcc.target/i386/pr103908.c: New test. + +2022-01-06 Marek Polacek <polacek@redhat.com> + + PR c++/103758 + * gcc.dg/sso-6.c: Update dg-warning. + +2022-01-05 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103861 + * gcc.target/i386/pr103861-3.c: New test. + * g++.dg/vect/slp-pr98855.cc (dg-final): Check that + no vectorization using SLP was performed. + +2022-01-05 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103915 + * gcc.target/i386/pr103915.c: New test. + +2022-01-05 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103905 + * gcc.target/i386/pr103905.c: New test. + +2022-01-05 Sandra Loosemore <sandra@codesourcery.com> + + PR fortran/103258 + * gfortran.dg/pr103258.f90: New. + +2022-01-05 Nathan Sidwell <nathan@acm.org> + + * g++.dg/template/attr-used.C: New. + +2022-01-05 Nathan Sidwell <nathan@acm.org> + + * g++.dg/diagnostic/recur-align.C: New. + +2022-01-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103816 + * gcc.dg/torture/pr103816.c: New testcase. + +2022-01-05 Jakub Jelinek <jakub@redhat.com> + + PR fortran/103691 + * gfortran.dg/pr103691.f90: New test. + +2022-01-05 Jakub Jelinek <jakub@redhat.com> + + PR target/103895 + * gcc.target/i386/pr103895.c: Add -msse2 to dg-options. + +2022-01-05 Kewen Lin <linkw@linux.ibm.com> + + PR ipa/102059 + * gcc.dg/lto/pr102059-1_0.c: New test. + * gcc.dg/lto/pr102059-1_1.c: New test. + * gcc.dg/lto/pr102059-1_2.c: New test. + * gcc.dg/lto/pr102059-2_0.c: New test. + * gcc.dg/lto/pr102059-2_1.c: New test. + * gcc.dg/lto/pr102059-2_2.c: New test. + * gcc.target/powerpc/pr102059-1.c: New test. + * gcc.target/powerpc/pr102059-2.c: New test. + * gcc.target/powerpc/pr102059-3.c: New test. + +2022-01-04 Martin Sebor <msebor@redhat.com> + + PR middle-end/99612 + * c-c++-common/pr83059.c: Adjust text of expected diagnostics. + * gcc.dg/atomic-invalid-2.c: Same. + * gcc.dg/atomic-invalid.c: Same. + * c-c++-common/Winvalid-memory-model.c: New test. + * g++.dg/warn/Winvalid-memory-model-2.C: New test. + * g++.dg/warn/Winvalid-memory-model.C: New test. + +2022-01-04 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103861 + * gcc.target/i386/warn-vect-op-2.c: Adjust warnings. + * gcc.target/i386/pr103900.c: New test. + +2022-01-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103800 + * gcc.dg/vect/bb-slp-pr103800.c: New testcase. + +2022-01-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103864 + PR tree-optimization/103544 + * gcc.dg/vect/pr103864.c: New testcase. + +2022-01-04 Chung-Lin Tang <cltang@codesourcery.com> + + * gfortran.dg/gomp/pr103643.f90: New test. + +2022-01-04 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr103895.c: New test. + +2022-01-04 Andrew Pinski <apinski@marvell.com> + + PR c++/90782 + * g++.dg/cpp1z/class-deduction100.C: New test. + +2022-01-03 Marek Polacek <polacek@redhat.com> + + PR c++/103758 + * g++.dg/cpp0x/constexpr-condition.C: Adjust dg-error. + +2022-01-03 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103894 + * gcc.target/i386/pr103894.c: New test. + +2022-01-03 Sandra Loosemore <sandra@codesourcery.com> + + PR fortran/103390 + * gfortran.dg/c-interop/pr103390-1.f90: New. + * gfortran.dg/c-interop/pr103390-2.f90: New. + * gfortran.dg/c-interop/pr103390-3.f90: New. + * gfortran.dg/c-interop/pr103390-4.f90: New. + * gfortran.dg/c-interop/pr103390-6.f90: New. + * gfortran.dg/c-interop/pr103390-7.f90: New. + * gfortran.dg/c-interop/pr103390-8.f90: New. + * gfortran.dg/c-interop/pr103390-9.f90: New. + * gfortran.dg/c-interop/pr103390-5.f90: New file. + +2022-01-03 Jakub Jelinek <jakub@redhat.com> + + PR target/98737 + * gcc.target/i386/pr98737-1.c: New test. + * gcc.target/i386/pr98737-2.c: New test. + * gcc.target/i386/pr98737-3.c: New test. + * gcc.target/i386/pr98737-4.c: New test. + * gcc.target/i386/pr98737-5.c: New test. + * gcc.target/i386/pr98737-6.c: New test. + * gcc.target/i386/pr98737-7.c: New test. + +2022-01-03 Richard Biener <rguenther@suse.de> + + PR middle-end/103851 + * g++.dg/gomp/pr103851.C: New testcase. + +2022-01-03 Jakub Jelinek <jakub@redhat.com> + + PR c++/94716 + * gcc.dg/init-compare-1.c: New test. + * g++.dg/cpp0x/constexpr-compare1.C: New test. + * g++.dg/cpp1y/constexpr-94716.C: New test. + * g++.dg/cpp1z/constexpr-compare1.C: New test. + +2022-01-03 Martin Liska <mliska@suse.cz> + + * gcc.target/i386/avx2-i32gatherpd256-4.c: Fix ASAN errors. + * gcc.target/i386/avx2-i32gatherq256-4.c: Likewise. + * gcc.target/i386/avx2-i64gatherpd256-4.c: Likewise. + * gcc.target/i386/avx2-i64gatherq256-4.c: Likewise. + * gcc.target/i386/avx2-vpabsb256-2.c: Likewise. + * gcc.target/i386/avx2-vpabsd256-2.c: Likewise. + * gcc.target/i386/avx2-vpabsw256-2.c: Likewise. + * gcc.target/i386/avx256-unaligned-load-7.c: Likewise. + * gcc.target/i386/avx256-unaligned-store-7.c: Likewise. + * gcc.target/i386/pr64291-1.c: Likewise. + +2022-01-03 Martin Liska <mliska@suse.cz> + + * gcc.dg/vect/vect-simd-18.c: Fix ASAN error. + * gcc.dg/vect/vect-simd-19.c: Likewise. + +2022-01-03 Jakub Jelinek <jakub@redhat.com> + + PR c++/103600 + * g++.dg/cpp0x/constexpr-typeid2.C: New test. + +2022-01-03 Richard Biener <rguenther@suse.de> + + PR tree-optimization/66502 + * gcc.dg/tree-ssa/ssa-fre-98.c: New testcase. + +2022-01-03 Richard Biener <rguenther@suse.de> + + PR tree-optimization/103615 + * gcc.dg/torture/pr103615.c: New testcase. + +2022-01-02 Uroš Bizjak <ubizjak@gmail.com> + + PR target/103861 + * gcc.dg/store_merging_18.c (dg-options): Add -fno-tree-vectorize. + * gcc.dg/store_merging_29.c (dg-options): Ditto. + * gcc.target/i386/pr103861.c: New test. + * gcc.target/i386/pr92658-avx512vl.c (dg-final): + Remove vpmovqb scan-assembler xfail. + * gcc.target/i386/pr92658-sse4.c (dg-final): + Remove pmovzxbq scan-assembler xfail. + * gcc.target/i386/pr92658-sse4-2.c (dg-final): + Remove pmovsxbq scan-assembler xfail. + * gcc.target/i386/warn-vect-op-2.c (dg-warning): Adjust warnings. + +2022-01-02 John David Anglin <danglin@gcc.gnu.org> + + * gcc.target/hppa/shadd-2.c: Adjust count to 3. + * gcc.target/hppa/shadd-3.c: Likewise. + +2022-01-02 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/guality/example.c: Skip on hppa*-*-linux*. + +2022-01-02 Jason Merrill <jason@redhat.com> + + * g++.dg/eh/array2.C: New test. + +2022-01-02 Jason Merrill <jason@redhat.com> + + * g++.dg/eh/cleanup6.C: New test. + +2022-01-01 Andrew Pinski <apinski@marvell.com> + + PR rtl-optimization/100241 + PR rtl-optimization/99787 + * gcc.c-torture/compile/pr100241-1.c: New test. + * gcc.c-torture/compile/pr99787-1.c: New test. + +2022-01-01 Jakub Jelinek <jakub@redhat.com> + + * gcc.misc-tests/godump-1.c: Adjust for renaming of last + field from _align suffix to _ suffix. + +2022-01-01 Jakub Jelinek <jakub@redhat.com> + Iain Sandoe <iain@sandoe.co.uk> + + PR objc/103639 + * objc.dg/pr103639.m: New test. + + +Copyright (C) 2022 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 8ebc0c107a320ad1a13d542ecfccf52a94976664..97887c90552b40c034f463eff250248365499ae2 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,563 +1,5 @@ -2022-12-15 Tobias Burnus <tobias@codesourcery.com> - - PR libfortran/108056 - * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc, - gfc_desc_to_cfi_desc): Mostly revert to GCC 11 version for - those backward-compatiblity-only functions. - -2022-10-12 Martin Liska <mliska@suse.cz> - - * configure: Regenerate. - -2022-10-11 Olivier Hainque <hainque@adacore.com> - Olivier Hainque <hainque@adacore.com> - - * configure: Regenerate. - -2022-10-10 LIU Hao <lh_mouse@126.com> - - * io/async.h (struct async_unit): Use `__gthread_t` instead - of `pthread_t`. - -2022-09-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * ieee/ieee_arithmetic.F90 (IEEE_SET_ROUNDING_MODE): Handle - RADIX argument better. - -2022-09-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gfortran.map: Add symbols for IEEE_GET_MODES - and IEEE_SET_MODES. - -2022-09-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * ieee/ieee_exceptions.F90: Add IEEE_MODES_TYPE, IEEE_GET_MODES - and IEEE_SET_MODES. - * ieee/ieee_arithmetic.F90: Make them public in IEEE_ARITHMETIC - as well. - -2022-09-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * ieee/ieee_arithmetic.F90: Add RADIX argument to - IEEE_SET_ROUNDING_MODE and IEEE_GET_ROUNDING_MODE. - * config/fpu-387.h: Add IEEE_AWAY mode. - * config/fpu-aarch64.h: Add IEEE_AWAY mode. - * config/fpu-aix.h: Add IEEE_AWAY mode. - * config/fpu-generic.h: Add IEEE_AWAY mode. - * config/fpu-glibc.h: Add IEEE_AWAY mode. - * config/fpu-sysv.h: Add IEEE_AWAY mode. - -2022-09-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - PR fortran/95644 - * ieee/ieee_arithmetic.F90: Add IEEE_SIGNBIT and IEEE_FMA. - -2022-08-26 Jakub Jelinek <jakub@redhat.com> - - PR fortran/106579 - * ieee/ieee_helper.c (IEEE_OTHER_VALUE, IEEE_SIGNALING_NAN, - IEEE_QUIET_NAN, IEEE_NEGATIVE_INF, IEEE_NEGATIVE_NORMAL, - IEEE_NEGATIVE_DENORMAL, IEEE_NEGATIVE_SUBNORMAL, - IEEE_NEGATIVE_ZERO, IEEE_POSITIVE_ZERO, IEEE_POSITIVE_DENORMAL, - IEEE_POSITIVE_SUBNORMAL, IEEE_POSITIVE_NORMAL, IEEE_POSITIVE_INF): - Move to gcc/fortran/libgfortran.h. - -2022-08-26 Jakub Jelinek <jakub@redhat.com> - - PR fortran/105105 - * ieee/ieee_helper.c: Don't include issignaling_fallback.h. - (CLASSMACRO): Use __builtin_issignaling instead of issignaling. - * ieee/issignaling_fallback.h: Removed. - -2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - Jakub Jelinek <jakub@redhat.com> - - PR fortran/46539 - * acinclude.m4 (LIBQUADSPEC): From $FC -static-libgfortran -### - output determine -Bstatic/-Bdynamic, -bstatic/-bdynamic, - -aarchive_shared/-adefault linker support or Darwin remapping - of -lgfortran to libgfortran.a%s and use that around or instead - of -lquadmath in LIBQUADSPEC. - * configure: Regenerated. - -2022-08-01 Jakub Jelinek <jakub@redhat.com> - - PR libfortran/106079 - * io/transfer.c (formatted_transfer_scalar_read, - formatted_transfer_scalar_write): For type BT_REAL with kind 17 - change kind to 16 before calling read_radix or write_{b,o,z}. - -2022-06-29 Jakub Jelinek <jakub@redhat.com> - - * mk-kinds-h.sh: Change __float128 to _Float128 in a comment. - * acinclude.m4 (LIBGFOR_CHECK_MATH_IEEE128): Use _Float128 instead of - __float128. - * libgfortran.h (isnan): Change __float128 to _Float128 in a comment. - (__acoshieee128, __acosieee128, __asinhieee128, __asinieee128, - __atan2ieee128, __atanhieee128, __atanieee128, __copysignieee128, - __coshieee128, __cosieee128, __erfcieee128, __erfieee128, - __expieee128, __fabsieee128, __fmaieee128, __fmodieee128, __jnieee128, - __log10ieee128, __logieee128, __powieee128, __sinhieee128, - __sinieee128, __sqrtieee128, __tanhieee128, __tanieee128, - __ynieee128, __strtoieee128): Use _Float128 instead of __float128. - * configure: Regenerated. - -2022-06-29 Jakub Jelinek <jakub@redhat.com> - - PR bootstrap/106137 - * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Adjust comment. - Also test for __float128. - (HAVE_FLOAT128): Adjust description. - * config.h.in: Regenerated. - * configure: Regenerated. - -2022-06-28 Jakub Jelinek <jakub@redhat.com> - - * configure.ac: Check for strtof128 and strfromf128. - Check for math and complex *f128 functions. Set - have_iec_60559_libc_support to yes if *f128 support is around, for - --enable-libquadmath-support default to "default" rather than yes if - have_iec_60559_libc_support is yes. - * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Test - _Float128/_Complex _Float128 rather than __float128 and - _Complex float __attribute__((mode(TC))). If libquadmath support - is defaulted and have_iec_60559_libc_support is yes, define and subst - USE_IEC_60559. Remove unused LIBGFOR_BUILD_QUAD conditional. - * Makefile.am (kinds.h): Pass @USE_IEC_60559@ as an extra - mk-kinds-h.sh argument. - * mk-kinds-h.sh: Accept 4th use_iec_60559 argument. Use - _Float128/_Complex _Float128 types instead of __float128 and - _Complex float __attribute__((mode(TC))), and if use_iec_60559 is yes, - use f128 suffix instead of q and define GFC_REAL_16_USE_IEC_60559. - * kinds-override.h: Use _Float128/_Complex _Float128 types instead of - __float128 and _Complex float __attribute__((mode(TC))), if - USE_IEC_60559 is defined, use f128 suffixes instead of q and - define GFC_REAL_17_USE_IEC_60559. - * libgfortran.h: Don't include quadmath_weak.h if USE_IEC_60559 is - defined. - (GFC_REAL_16_INFINITY, GFC_REAL_16_QUIET_NAN): Define - for GFC_REAL_16_USE_IEC_60559 differently. - * caf/single.c (convert_type): Use _Float128/_Complex _Float128 - instead of __float128 and _Complex float __attribute__((mode(TC))). - For HAVE_GFC_REAL_10 when HAVE_GFC_REAL_16 isn't defined use - _Complex long double instead of long double. - * ieee/issignaling_fallback.h (ieee854_float128_shape_type): Use - _Float128 instead of __float128. - (__issignalingf128): Change argument type to _Float128. - (issignaling): Use _Float128 instead of __float128 in _Generic. - * intrinsics/cshift0.c (cshift0): Use _Float128 instead of __float128 - in a comment. Fix a comment typo, logn double -> long double. - * intrinsics/erfc_scaled.c (_THRESH, _M_2_SQRTPI, _INF, _ERFC, _EXP): - Use different definitions if GFC_REAL_16_USE_IEC_60559. - (_THRESH, _M_2_SQRTPI): Use GFC_REAL_17_LITERAL macro. - (_ERFC, _EXP): Use different definitions if GFC_REAL_17_USE_IEC_60559. - * intrinsics/spread_generic.c (spread, spread_scalar): Use _Float128 - instead of __float128 in a comment. Fix a comment typo, - logn double -> long double. - * intrinsics/trigd.c (ENABLE_SIND, ENABLE_COSD, ENABLE_TAND): Handle - GFC_REAL_16_USE_IEC_60559. - * intrinsics/pack_generic.c (pack): Use _Float128 instead of - __float128 in a comment. Fix a comment typo, logn double -> - long double. - * intrinsics/unpack_generic.c (unpack1, unpack0): Likewise. - * runtime/in_pack_generic.c (internal_pack): Likewise. - * runtime/in_unpack_generic.c (internal_unpack): Likewise. - * io/read.c (convert_real, convert_infnan): Handle - GFC_REAL_16_USE_IEC_60559 and GFC_REAL_17_USE_IEC_60559. - * io/transfer128.c (tmp1, tmp2): Don't define if libquadmath - isn't needed. - * io/write_float.def (gfor_strfromf128): New function. - (DTOA2Q, FDTOA2Q): Define differently if - GFC_REAL_16_USE_IEC_60559 or GFC_REAL_17_USE_IEC_60559. - * m4/mtype.m4: Use different suffix if GFC_REAL_16_USE_IEC_60559 - or GFC_REAL_17_USE_IEC_60559. - * config.h.in: Regenerated. - * configure: Regenerated. - * Makefile.in: Regenerated. - * generated/bessel_r16.c: Regenerated. - * generated/bessel_r17.c: Regenerated. - * generated/norm2_r16.c: Regenerated. - * generated/norm2_r17.c: Regenerated. - -2022-01-26 Francois-Xavier Coudert <fxcoudert@gmail.com> - - PR libfortran/104233 - * ieee/issignaling_fallback.h: Check GFC_REAL_16_IS_FLOAT128 - instead of __FLT128_IS_IEC_60559__. - -2022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com> - - * ieee/issignaling_fallback.h: Fix GCC-specific preprocessor - macros. - -2022-01-25 Jakub Jelinek <jakub@redhat.com> - - * ieee/issignaling_fallback.h (__issignalingl): Define for - IBM extended long double are returning __issignaling on the - first double. - -2022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com> - - * ieee/issignaling_fallback.h: fix preprocessor condition. - -2022-01-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * ieee/issignaling_fallback.h: New file. - * ieee/ieee_helper.c: Include issignaling_fallback.h when target - does not define issignaling macro. - -2022-01-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * ieee/issignaling_fallback.h: Remove file. - -2022-01-17 Thomas Koenig <tkoenig@gcc.gnu.org> - - * runtime/environ.c: Allow for multiple default values so that - separate default specifications for IBM long double format and - endianness are possible. - -2022-01-16 Francois-Xavier Coudert <fxcoudert@gmail.com> - - * ieee/issignaling_fallback.h: New file. - -2022-01-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - PR fortran/82207 - * mk-kinds-h.sh: Add values for TINY. - * ieee/ieee_arithmetic.F90: Call C helper functions for - IEEE_VALUE. - * ieee/ieee_helper.c: New functions ieee_value_helper_N for each - floating-point type. - -2022-01-14 Jakub Jelinek <jakub@redhat.com> - - PR libfortran/104006 - * Makefile.am (BUILT_SOURCES): Don't include $(version_dep). - (clean-local): Remove $(version_dep). - * Makefile.in: Regenerated. - -2022-01-13 Jakub Jelinek <jakub@redhat.com> - - PR libfortran/104006 - * Makefile.am (gfortran.map-sun): Rename target to ... - (gfortran.ver-sun): ... this. - * Makefile.in: Regenerated. - -2022-01-12 Jakub Jelinek <jakub@redhat.com> - - * libgfortran.h (POWER_IEEE128): Use __GLIBC_PREREQ in a separate - #if directive inside of #if ... && defined __GLIBC_PREREQ. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - * io/transfer.c (unformatted_read, unformatted_write): When - byteswapping IBM extended real(kind=16), handle it as byteswapping - two real(kind=8) values. - -2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> - - * runtime/environ.c (R16_IEEE): New macro. - (R16_IBM): New macro. - (next_token): Handle IBM R16 conversion cases. - (push_token): Likewise. - (mark_single): Likewise. - (do_parse): Likewise, initialize endian. - -2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> - - * Makefile.in: Regenerate. - * io/file_pos.c (unformatted_backspace): Mask off - R16 parts for convert. - * io/inquire.c (inquire_via_unit): Add cases for - R16 parts. - * io/open.c (st_open): Add cases for R16 conversion. - * io/transfer.c (unformatted_read): Adjust for R16 conversions. - (unformatted_write): Likewise. - (us_read): Mask of R16 bits. - (data_transfer_init): Likewiese. - (write_us_marker): Likewise. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - * Makefile.am (AM_FCFLAGS): Add -fbuilding-libgfortran after - -fallow-leading-underscore. - * Makefile.in: Regenerated. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - * libgfortran.h (__copysignieee128, __fmaieee128, __fmodieee128): - Declare. - * intrinsics/trigd.c (COPYSIGN, FMOD, FABS, FMA, SIN, COS, TAN): If - POWER_IEEE128 is defined, define these for kind 17 include. - * intrinsics/trigd_lib.inc (COPYSIGN, FMOD, FABS, FMA, SIN, COS, TAN): - Don't define if COPYSIGN is already defined. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - * libgfortran.h (GFC_REAL_17_INFINITY, GFC_REAL_17_QUIET_NAN): Define. - (__erfcieee128): Declare. - * intrinsics/trigd.c (_gfortran_sind_r17, _gfortran_cosd_r17, - _gfortran_tand_r17): Define for HAVE_GFC_REAL_17. - * intrinsics/random.c (random_r17, arandom_r17, rnumber_17): Define. - * intrinsics/erfc_scaled.c (ERFC_SCALED): Define. - (erfc_scaled_r16): Use ERFC_SCALED macro. - (erfc_scaled_r17): Define. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - * io/read.c (convert_real): Add missing break; for the - HAVE_GFC_REAL_17 case. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - * io/write_float.def (CALCULATE_EXP): If HAVE_GFC_REAL_17, also use - CALCULATE_EXP(17). - (determine_en_precision): Use 17 instead of 16 as first EN_PREC - argument for kind 17. - (get_float_string): Use 17 instead of 16 as first FORMAT_FLOAT - argument for kind 17. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - * libgfortran.h (__acoshieee128, __acosieee128, __asinhieee128, - __asinieee128, __atan2ieee128, __atanhieee128, __atanieee128, - __coshieee128, __cosieee128, __erfieee128, __expieee128, - __fabsieee128, __jnieee128, __log10ieee128, __logieee128, - __powieee128, __sinhieee128, __sinieee128, __sqrtieee128, - __tanhieee128, __tanieee128, __ynieee128): Formatting fixes. - (__strtoieee128, __snprintfieee128): Declare. - * io/io.h (default_width_for_float, default_precision_for_float): - Handle kind == 17. - * io/size_from_kind.c (size_from_real_kind, size_from_complex_kind): - Likewise. - * io/read.c (set_integer, si_max, convert_real, convert_infnan, - read_f): Likewise. - * io/write.c (extract_uint, size_from_kind, set_fnode_default): - Likewise. - * io/write_float.def (DTOA2Q, FDTOA2Q): Define for HAVE_GFC_REAL_17. - (determine_en_precision, get_float_string): Handle kind == 17. - * io/transfer128.c: Use also for HAVE_GFC_REAL_17, but don't drag in - libquadmath if POWER_IEEE128. - * Makefile.am (comma, PREPROCESS): New variables. - (gfortran.ver): New goal. - (version_arg, version_dep): Use gfortran.ver instead of - $(srcdir)/gfortran.map. - (gfortran.map-sun): Depend on and use gfortran.ver instead of - $(srcdir)/gfortran.map. - (BUILT_SOURCES): Add $(version_dep). - * Makefile.in: Regenerated. - * gfortran.map (GFORTRAN_8): Don't export - _gfortran_transfer_complex128, _gfortran_transfer_complex128_write, - _gfortran_transfer_real128 and _gfortran_transfer_real128_write if - HAVE_GFC_REAL_17 is defined. - (GFORTRAN_12): Export those here instead. - -2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> - - * Makefile.am: Correct files for compilation flags. Add - -D__powerpc64__ for Fortran sources. Get kinds.inc from - grep of kinds.h and kinds-override.h. - * Makefile.in: Regenerate. - * config.h.in: Regenerate. - * configure: Regenerate. - * configure.ac: Add -mno-gnu-attribute to compile flags. - * generated/_abs_c17.F90: Regenerate. - * generated/_abs_r17.F90: Regenerate. - * generated/_acos_r17.F90: Regenerate. - * generated/_acosh_r17.F90: Regenerate. - * generated/_aimag_c17.F90: Regenerate. - * generated/_aint_r17.F90: Regenerate. - * generated/_anint_r17.F90: Regenerate. - * generated/_asin_r17.F90: Regenerate. - * generated/_asinh_r17.F90: Regenerate. - * generated/_atan2_r17.F90: Regenerate. - * generated/_atan_r17.F90: Regenerate. - * generated/_atanh_r17.F90: Regenerate. - * generated/_conjg_c17.F90: Regenerate. - * generated/_cos_c17.F90: Regenerate. - * generated/_cos_r17.F90: Regenerate. - * generated/_cosh_r17.F90: Regenerate. - * generated/_dim_r17.F90: Regenerate. - * generated/_exp_c17.F90: Regenerate. - * generated/_exp_r17.F90: Regenerate. - * generated/_log10_r17.F90: Regenerate. - * generated/_log_c17.F90: Regenerate. - * generated/_log_r17.F90: Regenerate. - * generated/_mod_r17.F90: Regenerate. - * generated/_sign_r17.F90: Regenerate. - * generated/_sin_c17.F90: Regenerate. - * generated/_sin_r17.F90: Regenerate. - * generated/_sinh_r17.F90: Regenerate. - * generated/_sqrt_c17.F90: Regenerate. - * generated/_sqrt_r17.F90: Regenerate. - * generated/_tan_r17.F90: Regenerate. - * generated/_tanh_r17.F90: Regenerate. - * kinds-override.h: Adjust to trunk. - Change condition to single line so it can be grepped. - * m4/specific.m4: Make sure that real=kind16 is used - for _r17.F90 and _c17.F90 files. - * m4/specific2.m4: Likewise. - -2022-01-11 Jakub Jelinek <jakub@redhat.com> - - * libgfortran.h (internal_pack_r17, internal_pack_c17, - internal_unpack_r17, internal_unpack_c17, pack_r17, pack_c17, - unpack0_r17, unpack0_c17, unpack1_r17, unpack1_c17, spread_r17, - spread_c17, spread_scalar_r17, spread_scalar_c17, cshift0_r17, - cshift0_c17, cshift1_4_r17, cshift1_8_r17, cshift1_16_r17, - cshift1_4_c17, cshift1_8_c17, cshift1_16_c17): Declare. - * gfortran.map (GFORTRAN_12): Export *_r17 and *_c17. - -2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> - - * acinclude.m4 (LIBGFOR_CHECK_MATH_IEEE128): New macro. - * configure.ac: Use it. - * config.h.in: Regenerate. - * configure: Regenerate. - -2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> - - * Makefile.am: Fix pattern substitution for _r17 and _c17. - * Makefile.in: Regenerate. - -2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> - - * Makefile.am: Add _r17 and _c17 files. Build them - with -mabi=ieeelongdouble on POWER. - * Makefile.in: Regenerate. - * configure: Regenerate. - * configure.ac: New flag HAVE_REAL_17. - * kinds-override.h: (HAVE_GFC_REAL_17): New macro. - (HAVE_GFC_COMPLEX_17): New macro. - (GFC_REAL_17_HUGE): New macro. - (GFC_REAL_17_LITERAL_SUFFIX): New macro. - (GFC_REAL_17_LITERAL): New macro. - (GFC_REAL_17_DIGITS): New macro. - (GFC_REAL_17_RADIX): New macro. - * libgfortran.h (POWER_IEEE128): New macro. - (gfc_array_r17): Typedef. - (GFC_DTYPE_REAL_17): New macro. - (GFC_DTYPE_COMPLEX_17): New macro. - (__acoshieee128): Prototype. - (__acosieee128): Prototype. - (__asinhieee128): Prototype. - (__asinieee128): Prototype. - (__atan2ieee128): Prototype. - (__atanhieee128): Prototype. - (__atanieee128): Prototype. - (__coshieee128): Prototype. - (__cosieee128): Prototype. - (__erfieee128): Prototype. - (__expieee128): Prototype. - (__fabsieee128): Prototype. - (__jnieee128): Prototype. - (__log10ieee128): Prototype. - (__logieee128): Prototype. - (__powieee128): Prototype. - (__sinhieee128): Prototype. - (__sinieee128): Prototype. - (__sqrtieee128): Prototype. - (__tanhieee128): Prototype. - (__tanieee128): Prototype. - (__ynieee128): Prototype. - * m4/mtype.m4: Make a bit more readable. Add KIND=17. - * generated/_abs_c17.F90: New file. - * generated/_abs_r17.F90: New file. - * generated/_acos_r17.F90: New file. - * generated/_acosh_r17.F90: New file. - * generated/_aimag_c17.F90: New file. - * generated/_aint_r17.F90: New file. - * generated/_anint_r17.F90: New file. - * generated/_asin_r17.F90: New file. - * generated/_asinh_r17.F90: New file. - * generated/_atan2_r17.F90: New file. - * generated/_atan_r17.F90: New file. - * generated/_atanh_r17.F90: New file. - * generated/_conjg_c17.F90: New file. - * generated/_cos_c17.F90: New file. - * generated/_cos_r17.F90: New file. - * generated/_cosh_r17.F90: New file. - * generated/_dim_r17.F90: New file. - * generated/_exp_c17.F90: New file. - * generated/_exp_r17.F90: New file. - * generated/_log10_r17.F90: New file. - * generated/_log_c17.F90: New file. - * generated/_log_r17.F90: New file. - * generated/_mod_r17.F90: New file. - * generated/_sign_r17.F90: New file. - * generated/_sin_c17.F90: New file. - * generated/_sin_r17.F90: New file. - * generated/_sinh_r17.F90: New file. - * generated/_sqrt_c17.F90: New file. - * generated/_sqrt_r17.F90: New file. - * generated/_tan_r17.F90: New file. - * generated/_tanh_r17.F90: New file. - * generated/bessel_r17.c: New file. - * generated/cshift0_c17.c: New file. - * generated/cshift0_r17.c: New file. - * generated/cshift1_16_c17.c: New file. - * generated/cshift1_16_r17.c: New file. - * generated/cshift1_4_c17.c: New file. - * generated/cshift1_4_r17.c: New file. - * generated/cshift1_8_c17.c: New file. - * generated/cshift1_8_r17.c: New file. - * generated/findloc0_c17.c: New file. - * generated/findloc0_r17.c: New file. - * generated/findloc1_c17.c: New file. - * generated/findloc1_r17.c: New file. - * generated/in_pack_c17.c: New file. - * generated/in_pack_r17.c: New file. - * generated/in_unpack_c17.c: New file. - * generated/in_unpack_r17.c: New file. - * generated/matmul_c17.c: New file. - * generated/matmul_r17.c: New file. - * generated/matmulavx128_c17.c: New file. - * generated/matmulavx128_r17.c: New file. - * generated/maxloc0_16_r17.c: New file. - * generated/maxloc0_4_r17.c: New file. - * generated/maxloc0_8_r17.c: New file. - * generated/maxloc1_16_r17.c: New file. - * generated/maxloc1_4_r17.c: New file. - * generated/maxloc1_8_r17.c: New file. - * generated/maxval_r17.c: New file. - * generated/minloc0_16_r17.c: New file. - * generated/minloc0_4_r17.c: New file. - * generated/minloc0_8_r17.c: New file. - * generated/minloc1_16_r17.c: New file. - * generated/minloc1_4_r17.c: New file. - * generated/minloc1_8_r17.c: New file. - * generated/minval_r17.c: New file. - * generated/norm2_r17.c: New file. - * generated/pack_c17.c: New file. - * generated/pack_r17.c: New file. - * generated/pow_c17_i16.c: New file. - * generated/pow_c17_i4.c: New file. - * generated/pow_c17_i8.c: New file. - * generated/pow_r17_i16.c: New file. - * generated/pow_r17_i4.c: New file. - * generated/pow_r17_i8.c: New file. - * generated/product_c17.c: New file. - * generated/product_r17.c: New file. - * generated/reshape_c17.c: New file. - * generated/reshape_r17.c: New file. - * generated/spread_c17.c: New file. - * generated/spread_r17.c: New file. - * generated/sum_c17.c: New file. - * generated/sum_r17.c: New file. - * generated/unpack_c17.c: New file. - * generated/unpack_r17.c: New file. - * m4/ifunc.m4: New file. - -2022-01-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - PR fortran/82207 - * Makefile.am: Pass -fsignaling-nans for IEEE files. - * Makefile.in: Regenerate. - * ieee/ieee_helper.c: Use issignaling macro to recognized - signaling NaNs. - -Copyright (C) 2022 Free Software Foundation, Inc. +Copyright (C) 2023 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-2022 b/libgfortran/ChangeLog-2022 new file mode 100644 index 0000000000000000000000000000000000000000..8ebc0c107a320ad1a13d542ecfccf52a94976664 --- /dev/null +++ b/libgfortran/ChangeLog-2022 @@ -0,0 +1,564 @@ +2022-12-15 Tobias Burnus <tobias@codesourcery.com> + + PR libfortran/108056 + * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc, + gfc_desc_to_cfi_desc): Mostly revert to GCC 11 version for + those backward-compatiblity-only functions. + +2022-10-12 Martin Liska <mliska@suse.cz> + + * configure: Regenerate. + +2022-10-11 Olivier Hainque <hainque@adacore.com> + Olivier Hainque <hainque@adacore.com> + + * configure: Regenerate. + +2022-10-10 LIU Hao <lh_mouse@126.com> + + * io/async.h (struct async_unit): Use `__gthread_t` instead + of `pthread_t`. + +2022-09-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * ieee/ieee_arithmetic.F90 (IEEE_SET_ROUNDING_MODE): Handle + RADIX argument better. + +2022-09-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gfortran.map: Add symbols for IEEE_GET_MODES + and IEEE_SET_MODES. + +2022-09-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * ieee/ieee_exceptions.F90: Add IEEE_MODES_TYPE, IEEE_GET_MODES + and IEEE_SET_MODES. + * ieee/ieee_arithmetic.F90: Make them public in IEEE_ARITHMETIC + as well. + +2022-09-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * ieee/ieee_arithmetic.F90: Add RADIX argument to + IEEE_SET_ROUNDING_MODE and IEEE_GET_ROUNDING_MODE. + * config/fpu-387.h: Add IEEE_AWAY mode. + * config/fpu-aarch64.h: Add IEEE_AWAY mode. + * config/fpu-aix.h: Add IEEE_AWAY mode. + * config/fpu-generic.h: Add IEEE_AWAY mode. + * config/fpu-glibc.h: Add IEEE_AWAY mode. + * config/fpu-sysv.h: Add IEEE_AWAY mode. + +2022-09-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR fortran/95644 + * ieee/ieee_arithmetic.F90: Add IEEE_SIGNBIT and IEEE_FMA. + +2022-08-26 Jakub Jelinek <jakub@redhat.com> + + PR fortran/106579 + * ieee/ieee_helper.c (IEEE_OTHER_VALUE, IEEE_SIGNALING_NAN, + IEEE_QUIET_NAN, IEEE_NEGATIVE_INF, IEEE_NEGATIVE_NORMAL, + IEEE_NEGATIVE_DENORMAL, IEEE_NEGATIVE_SUBNORMAL, + IEEE_NEGATIVE_ZERO, IEEE_POSITIVE_ZERO, IEEE_POSITIVE_DENORMAL, + IEEE_POSITIVE_SUBNORMAL, IEEE_POSITIVE_NORMAL, IEEE_POSITIVE_INF): + Move to gcc/fortran/libgfortran.h. + +2022-08-26 Jakub Jelinek <jakub@redhat.com> + + PR fortran/105105 + * ieee/ieee_helper.c: Don't include issignaling_fallback.h. + (CLASSMACRO): Use __builtin_issignaling instead of issignaling. + * ieee/issignaling_fallback.h: Removed. + +2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + Jakub Jelinek <jakub@redhat.com> + + PR fortran/46539 + * acinclude.m4 (LIBQUADSPEC): From $FC -static-libgfortran -### + output determine -Bstatic/-Bdynamic, -bstatic/-bdynamic, + -aarchive_shared/-adefault linker support or Darwin remapping + of -lgfortran to libgfortran.a%s and use that around or instead + of -lquadmath in LIBQUADSPEC. + * configure: Regenerated. + +2022-08-01 Jakub Jelinek <jakub@redhat.com> + + PR libfortran/106079 + * io/transfer.c (formatted_transfer_scalar_read, + formatted_transfer_scalar_write): For type BT_REAL with kind 17 + change kind to 16 before calling read_radix or write_{b,o,z}. + +2022-06-29 Jakub Jelinek <jakub@redhat.com> + + * mk-kinds-h.sh: Change __float128 to _Float128 in a comment. + * acinclude.m4 (LIBGFOR_CHECK_MATH_IEEE128): Use _Float128 instead of + __float128. + * libgfortran.h (isnan): Change __float128 to _Float128 in a comment. + (__acoshieee128, __acosieee128, __asinhieee128, __asinieee128, + __atan2ieee128, __atanhieee128, __atanieee128, __copysignieee128, + __coshieee128, __cosieee128, __erfcieee128, __erfieee128, + __expieee128, __fabsieee128, __fmaieee128, __fmodieee128, __jnieee128, + __log10ieee128, __logieee128, __powieee128, __sinhieee128, + __sinieee128, __sqrtieee128, __tanhieee128, __tanieee128, + __ynieee128, __strtoieee128): Use _Float128 instead of __float128. + * configure: Regenerated. + +2022-06-29 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/106137 + * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Adjust comment. + Also test for __float128. + (HAVE_FLOAT128): Adjust description. + * config.h.in: Regenerated. + * configure: Regenerated. + +2022-06-28 Jakub Jelinek <jakub@redhat.com> + + * configure.ac: Check for strtof128 and strfromf128. + Check for math and complex *f128 functions. Set + have_iec_60559_libc_support to yes if *f128 support is around, for + --enable-libquadmath-support default to "default" rather than yes if + have_iec_60559_libc_support is yes. + * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Test + _Float128/_Complex _Float128 rather than __float128 and + _Complex float __attribute__((mode(TC))). If libquadmath support + is defaulted and have_iec_60559_libc_support is yes, define and subst + USE_IEC_60559. Remove unused LIBGFOR_BUILD_QUAD conditional. + * Makefile.am (kinds.h): Pass @USE_IEC_60559@ as an extra + mk-kinds-h.sh argument. + * mk-kinds-h.sh: Accept 4th use_iec_60559 argument. Use + _Float128/_Complex _Float128 types instead of __float128 and + _Complex float __attribute__((mode(TC))), and if use_iec_60559 is yes, + use f128 suffix instead of q and define GFC_REAL_16_USE_IEC_60559. + * kinds-override.h: Use _Float128/_Complex _Float128 types instead of + __float128 and _Complex float __attribute__((mode(TC))), if + USE_IEC_60559 is defined, use f128 suffixes instead of q and + define GFC_REAL_17_USE_IEC_60559. + * libgfortran.h: Don't include quadmath_weak.h if USE_IEC_60559 is + defined. + (GFC_REAL_16_INFINITY, GFC_REAL_16_QUIET_NAN): Define + for GFC_REAL_16_USE_IEC_60559 differently. + * caf/single.c (convert_type): Use _Float128/_Complex _Float128 + instead of __float128 and _Complex float __attribute__((mode(TC))). + For HAVE_GFC_REAL_10 when HAVE_GFC_REAL_16 isn't defined use + _Complex long double instead of long double. + * ieee/issignaling_fallback.h (ieee854_float128_shape_type): Use + _Float128 instead of __float128. + (__issignalingf128): Change argument type to _Float128. + (issignaling): Use _Float128 instead of __float128 in _Generic. + * intrinsics/cshift0.c (cshift0): Use _Float128 instead of __float128 + in a comment. Fix a comment typo, logn double -> long double. + * intrinsics/erfc_scaled.c (_THRESH, _M_2_SQRTPI, _INF, _ERFC, _EXP): + Use different definitions if GFC_REAL_16_USE_IEC_60559. + (_THRESH, _M_2_SQRTPI): Use GFC_REAL_17_LITERAL macro. + (_ERFC, _EXP): Use different definitions if GFC_REAL_17_USE_IEC_60559. + * intrinsics/spread_generic.c (spread, spread_scalar): Use _Float128 + instead of __float128 in a comment. Fix a comment typo, + logn double -> long double. + * intrinsics/trigd.c (ENABLE_SIND, ENABLE_COSD, ENABLE_TAND): Handle + GFC_REAL_16_USE_IEC_60559. + * intrinsics/pack_generic.c (pack): Use _Float128 instead of + __float128 in a comment. Fix a comment typo, logn double -> + long double. + * intrinsics/unpack_generic.c (unpack1, unpack0): Likewise. + * runtime/in_pack_generic.c (internal_pack): Likewise. + * runtime/in_unpack_generic.c (internal_unpack): Likewise. + * io/read.c (convert_real, convert_infnan): Handle + GFC_REAL_16_USE_IEC_60559 and GFC_REAL_17_USE_IEC_60559. + * io/transfer128.c (tmp1, tmp2): Don't define if libquadmath + isn't needed. + * io/write_float.def (gfor_strfromf128): New function. + (DTOA2Q, FDTOA2Q): Define differently if + GFC_REAL_16_USE_IEC_60559 or GFC_REAL_17_USE_IEC_60559. + * m4/mtype.m4: Use different suffix if GFC_REAL_16_USE_IEC_60559 + or GFC_REAL_17_USE_IEC_60559. + * config.h.in: Regenerated. + * configure: Regenerated. + * Makefile.in: Regenerated. + * generated/bessel_r16.c: Regenerated. + * generated/bessel_r17.c: Regenerated. + * generated/norm2_r16.c: Regenerated. + * generated/norm2_r17.c: Regenerated. + +2022-01-26 Francois-Xavier Coudert <fxcoudert@gmail.com> + + PR libfortran/104233 + * ieee/issignaling_fallback.h: Check GFC_REAL_16_IS_FLOAT128 + instead of __FLT128_IS_IEC_60559__. + +2022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com> + + * ieee/issignaling_fallback.h: Fix GCC-specific preprocessor + macros. + +2022-01-25 Jakub Jelinek <jakub@redhat.com> + + * ieee/issignaling_fallback.h (__issignalingl): Define for + IBM extended long double are returning __issignaling on the + first double. + +2022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com> + + * ieee/issignaling_fallback.h: fix preprocessor condition. + +2022-01-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * ieee/issignaling_fallback.h: New file. + * ieee/ieee_helper.c: Include issignaling_fallback.h when target + does not define issignaling macro. + +2022-01-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * ieee/issignaling_fallback.h: Remove file. + +2022-01-17 Thomas Koenig <tkoenig@gcc.gnu.org> + + * runtime/environ.c: Allow for multiple default values so that + separate default specifications for IBM long double format and + endianness are possible. + +2022-01-16 Francois-Xavier Coudert <fxcoudert@gmail.com> + + * ieee/issignaling_fallback.h: New file. + +2022-01-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR fortran/82207 + * mk-kinds-h.sh: Add values for TINY. + * ieee/ieee_arithmetic.F90: Call C helper functions for + IEEE_VALUE. + * ieee/ieee_helper.c: New functions ieee_value_helper_N for each + floating-point type. + +2022-01-14 Jakub Jelinek <jakub@redhat.com> + + PR libfortran/104006 + * Makefile.am (BUILT_SOURCES): Don't include $(version_dep). + (clean-local): Remove $(version_dep). + * Makefile.in: Regenerated. + +2022-01-13 Jakub Jelinek <jakub@redhat.com> + + PR libfortran/104006 + * Makefile.am (gfortran.map-sun): Rename target to ... + (gfortran.ver-sun): ... this. + * Makefile.in: Regenerated. + +2022-01-12 Jakub Jelinek <jakub@redhat.com> + + * libgfortran.h (POWER_IEEE128): Use __GLIBC_PREREQ in a separate + #if directive inside of #if ... && defined __GLIBC_PREREQ. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + * io/transfer.c (unformatted_read, unformatted_write): When + byteswapping IBM extended real(kind=16), handle it as byteswapping + two real(kind=8) values. + +2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> + + * runtime/environ.c (R16_IEEE): New macro. + (R16_IBM): New macro. + (next_token): Handle IBM R16 conversion cases. + (push_token): Likewise. + (mark_single): Likewise. + (do_parse): Likewise, initialize endian. + +2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> + + * Makefile.in: Regenerate. + * io/file_pos.c (unformatted_backspace): Mask off + R16 parts for convert. + * io/inquire.c (inquire_via_unit): Add cases for + R16 parts. + * io/open.c (st_open): Add cases for R16 conversion. + * io/transfer.c (unformatted_read): Adjust for R16 conversions. + (unformatted_write): Likewise. + (us_read): Mask of R16 bits. + (data_transfer_init): Likewiese. + (write_us_marker): Likewise. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + * Makefile.am (AM_FCFLAGS): Add -fbuilding-libgfortran after + -fallow-leading-underscore. + * Makefile.in: Regenerated. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + * libgfortran.h (__copysignieee128, __fmaieee128, __fmodieee128): + Declare. + * intrinsics/trigd.c (COPYSIGN, FMOD, FABS, FMA, SIN, COS, TAN): If + POWER_IEEE128 is defined, define these for kind 17 include. + * intrinsics/trigd_lib.inc (COPYSIGN, FMOD, FABS, FMA, SIN, COS, TAN): + Don't define if COPYSIGN is already defined. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + * libgfortran.h (GFC_REAL_17_INFINITY, GFC_REAL_17_QUIET_NAN): Define. + (__erfcieee128): Declare. + * intrinsics/trigd.c (_gfortran_sind_r17, _gfortran_cosd_r17, + _gfortran_tand_r17): Define for HAVE_GFC_REAL_17. + * intrinsics/random.c (random_r17, arandom_r17, rnumber_17): Define. + * intrinsics/erfc_scaled.c (ERFC_SCALED): Define. + (erfc_scaled_r16): Use ERFC_SCALED macro. + (erfc_scaled_r17): Define. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + * io/read.c (convert_real): Add missing break; for the + HAVE_GFC_REAL_17 case. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + * io/write_float.def (CALCULATE_EXP): If HAVE_GFC_REAL_17, also use + CALCULATE_EXP(17). + (determine_en_precision): Use 17 instead of 16 as first EN_PREC + argument for kind 17. + (get_float_string): Use 17 instead of 16 as first FORMAT_FLOAT + argument for kind 17. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + * libgfortran.h (__acoshieee128, __acosieee128, __asinhieee128, + __asinieee128, __atan2ieee128, __atanhieee128, __atanieee128, + __coshieee128, __cosieee128, __erfieee128, __expieee128, + __fabsieee128, __jnieee128, __log10ieee128, __logieee128, + __powieee128, __sinhieee128, __sinieee128, __sqrtieee128, + __tanhieee128, __tanieee128, __ynieee128): Formatting fixes. + (__strtoieee128, __snprintfieee128): Declare. + * io/io.h (default_width_for_float, default_precision_for_float): + Handle kind == 17. + * io/size_from_kind.c (size_from_real_kind, size_from_complex_kind): + Likewise. + * io/read.c (set_integer, si_max, convert_real, convert_infnan, + read_f): Likewise. + * io/write.c (extract_uint, size_from_kind, set_fnode_default): + Likewise. + * io/write_float.def (DTOA2Q, FDTOA2Q): Define for HAVE_GFC_REAL_17. + (determine_en_precision, get_float_string): Handle kind == 17. + * io/transfer128.c: Use also for HAVE_GFC_REAL_17, but don't drag in + libquadmath if POWER_IEEE128. + * Makefile.am (comma, PREPROCESS): New variables. + (gfortran.ver): New goal. + (version_arg, version_dep): Use gfortran.ver instead of + $(srcdir)/gfortran.map. + (gfortran.map-sun): Depend on and use gfortran.ver instead of + $(srcdir)/gfortran.map. + (BUILT_SOURCES): Add $(version_dep). + * Makefile.in: Regenerated. + * gfortran.map (GFORTRAN_8): Don't export + _gfortran_transfer_complex128, _gfortran_transfer_complex128_write, + _gfortran_transfer_real128 and _gfortran_transfer_real128_write if + HAVE_GFC_REAL_17 is defined. + (GFORTRAN_12): Export those here instead. + +2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> + + * Makefile.am: Correct files for compilation flags. Add + -D__powerpc64__ for Fortran sources. Get kinds.inc from + grep of kinds.h and kinds-override.h. + * Makefile.in: Regenerate. + * config.h.in: Regenerate. + * configure: Regenerate. + * configure.ac: Add -mno-gnu-attribute to compile flags. + * generated/_abs_c17.F90: Regenerate. + * generated/_abs_r17.F90: Regenerate. + * generated/_acos_r17.F90: Regenerate. + * generated/_acosh_r17.F90: Regenerate. + * generated/_aimag_c17.F90: Regenerate. + * generated/_aint_r17.F90: Regenerate. + * generated/_anint_r17.F90: Regenerate. + * generated/_asin_r17.F90: Regenerate. + * generated/_asinh_r17.F90: Regenerate. + * generated/_atan2_r17.F90: Regenerate. + * generated/_atan_r17.F90: Regenerate. + * generated/_atanh_r17.F90: Regenerate. + * generated/_conjg_c17.F90: Regenerate. + * generated/_cos_c17.F90: Regenerate. + * generated/_cos_r17.F90: Regenerate. + * generated/_cosh_r17.F90: Regenerate. + * generated/_dim_r17.F90: Regenerate. + * generated/_exp_c17.F90: Regenerate. + * generated/_exp_r17.F90: Regenerate. + * generated/_log10_r17.F90: Regenerate. + * generated/_log_c17.F90: Regenerate. + * generated/_log_r17.F90: Regenerate. + * generated/_mod_r17.F90: Regenerate. + * generated/_sign_r17.F90: Regenerate. + * generated/_sin_c17.F90: Regenerate. + * generated/_sin_r17.F90: Regenerate. + * generated/_sinh_r17.F90: Regenerate. + * generated/_sqrt_c17.F90: Regenerate. + * generated/_sqrt_r17.F90: Regenerate. + * generated/_tan_r17.F90: Regenerate. + * generated/_tanh_r17.F90: Regenerate. + * kinds-override.h: Adjust to trunk. + Change condition to single line so it can be grepped. + * m4/specific.m4: Make sure that real=kind16 is used + for _r17.F90 and _c17.F90 files. + * m4/specific2.m4: Likewise. + +2022-01-11 Jakub Jelinek <jakub@redhat.com> + + * libgfortran.h (internal_pack_r17, internal_pack_c17, + internal_unpack_r17, internal_unpack_c17, pack_r17, pack_c17, + unpack0_r17, unpack0_c17, unpack1_r17, unpack1_c17, spread_r17, + spread_c17, spread_scalar_r17, spread_scalar_c17, cshift0_r17, + cshift0_c17, cshift1_4_r17, cshift1_8_r17, cshift1_16_r17, + cshift1_4_c17, cshift1_8_c17, cshift1_16_c17): Declare. + * gfortran.map (GFORTRAN_12): Export *_r17 and *_c17. + +2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> + + * acinclude.m4 (LIBGFOR_CHECK_MATH_IEEE128): New macro. + * configure.ac: Use it. + * config.h.in: Regenerate. + * configure: Regenerate. + +2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> + + * Makefile.am: Fix pattern substitution for _r17 and _c17. + * Makefile.in: Regenerate. + +2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> + + * Makefile.am: Add _r17 and _c17 files. Build them + with -mabi=ieeelongdouble on POWER. + * Makefile.in: Regenerate. + * configure: Regenerate. + * configure.ac: New flag HAVE_REAL_17. + * kinds-override.h: (HAVE_GFC_REAL_17): New macro. + (HAVE_GFC_COMPLEX_17): New macro. + (GFC_REAL_17_HUGE): New macro. + (GFC_REAL_17_LITERAL_SUFFIX): New macro. + (GFC_REAL_17_LITERAL): New macro. + (GFC_REAL_17_DIGITS): New macro. + (GFC_REAL_17_RADIX): New macro. + * libgfortran.h (POWER_IEEE128): New macro. + (gfc_array_r17): Typedef. + (GFC_DTYPE_REAL_17): New macro. + (GFC_DTYPE_COMPLEX_17): New macro. + (__acoshieee128): Prototype. + (__acosieee128): Prototype. + (__asinhieee128): Prototype. + (__asinieee128): Prototype. + (__atan2ieee128): Prototype. + (__atanhieee128): Prototype. + (__atanieee128): Prototype. + (__coshieee128): Prototype. + (__cosieee128): Prototype. + (__erfieee128): Prototype. + (__expieee128): Prototype. + (__fabsieee128): Prototype. + (__jnieee128): Prototype. + (__log10ieee128): Prototype. + (__logieee128): Prototype. + (__powieee128): Prototype. + (__sinhieee128): Prototype. + (__sinieee128): Prototype. + (__sqrtieee128): Prototype. + (__tanhieee128): Prototype. + (__tanieee128): Prototype. + (__ynieee128): Prototype. + * m4/mtype.m4: Make a bit more readable. Add KIND=17. + * generated/_abs_c17.F90: New file. + * generated/_abs_r17.F90: New file. + * generated/_acos_r17.F90: New file. + * generated/_acosh_r17.F90: New file. + * generated/_aimag_c17.F90: New file. + * generated/_aint_r17.F90: New file. + * generated/_anint_r17.F90: New file. + * generated/_asin_r17.F90: New file. + * generated/_asinh_r17.F90: New file. + * generated/_atan2_r17.F90: New file. + * generated/_atan_r17.F90: New file. + * generated/_atanh_r17.F90: New file. + * generated/_conjg_c17.F90: New file. + * generated/_cos_c17.F90: New file. + * generated/_cos_r17.F90: New file. + * generated/_cosh_r17.F90: New file. + * generated/_dim_r17.F90: New file. + * generated/_exp_c17.F90: New file. + * generated/_exp_r17.F90: New file. + * generated/_log10_r17.F90: New file. + * generated/_log_c17.F90: New file. + * generated/_log_r17.F90: New file. + * generated/_mod_r17.F90: New file. + * generated/_sign_r17.F90: New file. + * generated/_sin_c17.F90: New file. + * generated/_sin_r17.F90: New file. + * generated/_sinh_r17.F90: New file. + * generated/_sqrt_c17.F90: New file. + * generated/_sqrt_r17.F90: New file. + * generated/_tan_r17.F90: New file. + * generated/_tanh_r17.F90: New file. + * generated/bessel_r17.c: New file. + * generated/cshift0_c17.c: New file. + * generated/cshift0_r17.c: New file. + * generated/cshift1_16_c17.c: New file. + * generated/cshift1_16_r17.c: New file. + * generated/cshift1_4_c17.c: New file. + * generated/cshift1_4_r17.c: New file. + * generated/cshift1_8_c17.c: New file. + * generated/cshift1_8_r17.c: New file. + * generated/findloc0_c17.c: New file. + * generated/findloc0_r17.c: New file. + * generated/findloc1_c17.c: New file. + * generated/findloc1_r17.c: New file. + * generated/in_pack_c17.c: New file. + * generated/in_pack_r17.c: New file. + * generated/in_unpack_c17.c: New file. + * generated/in_unpack_r17.c: New file. + * generated/matmul_c17.c: New file. + * generated/matmul_r17.c: New file. + * generated/matmulavx128_c17.c: New file. + * generated/matmulavx128_r17.c: New file. + * generated/maxloc0_16_r17.c: New file. + * generated/maxloc0_4_r17.c: New file. + * generated/maxloc0_8_r17.c: New file. + * generated/maxloc1_16_r17.c: New file. + * generated/maxloc1_4_r17.c: New file. + * generated/maxloc1_8_r17.c: New file. + * generated/maxval_r17.c: New file. + * generated/minloc0_16_r17.c: New file. + * generated/minloc0_4_r17.c: New file. + * generated/minloc0_8_r17.c: New file. + * generated/minloc1_16_r17.c: New file. + * generated/minloc1_4_r17.c: New file. + * generated/minloc1_8_r17.c: New file. + * generated/minval_r17.c: New file. + * generated/norm2_r17.c: New file. + * generated/pack_c17.c: New file. + * generated/pack_r17.c: New file. + * generated/pow_c17_i16.c: New file. + * generated/pow_c17_i4.c: New file. + * generated/pow_c17_i8.c: New file. + * generated/pow_r17_i16.c: New file. + * generated/pow_r17_i4.c: New file. + * generated/pow_r17_i8.c: New file. + * generated/product_c17.c: New file. + * generated/product_r17.c: New file. + * generated/reshape_c17.c: New file. + * generated/reshape_r17.c: New file. + * generated/spread_c17.c: New file. + * generated/spread_r17.c: New file. + * generated/sum_c17.c: New file. + * generated/sum_r17.c: New file. + * generated/unpack_c17.c: New file. + * generated/unpack_r17.c: New file. + * m4/ifunc.m4: New file. + +2022-01-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR fortran/82207 + * Makefile.am: Pass -fsignaling-nans for IEEE files. + * Makefile.in: Regenerate. + * ieee/ieee_helper.c: Use issignaling macro to recognized + signaling NaNs. + + +Copyright (C) 2022 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 77d709a9ce4d7f824be652d4e97a4d6e4f50c76e..97887c90552b40c034f463eff250248365499ae2 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,7210 +1,5 @@ -2022-12-24 Iain Sandoe <iain@sandoe.co.uk> - - * src/c++20/tzdb.cc (remote_version): Look for the tzdata.zi - file before falling back to system-specific ones on Darwin and - BSD. - -2022-12-24 Iain Sandoe <iain@sandoe.co.uk> - - * testsuite/std/time/tzdb/leap_seconds.cc: Initialize the - override_used test var to false. - -2022-12-23 Eric Botcazou <ebotcazou@adacore.com> - - * acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Substitute CPPFLAGS. - (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Set ac_has_sched_yield and - ac_has_win32_sleep to yes for MinGW. Change HAVE_WIN32_SLEEP - into _GLIBCXX_USE_WIN32_SLEEP. - (GLIBCXX_CHECK_GTHREADS): Add _WIN32_THREADS to compilation flags for - Win32 threads and force _GTHREAD_USE_MUTEX_TIMEDLOCK to 0 for them. - Add -D_WIN32_WINNT=0x0600 to compilation flags if yes was configured - and add it to CPPFLAGS on success. - * config.h.in: Regenerate. - * configure: Likewise. - * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_GET_NPROCS_WIN32): - Define to 1. - * config/os/mingw32/os_defines.h (_GLIBCXX_USE_GET_NPROCS_WIN32): Ditto - * src/c++11/thread.cc (get_nprocs): Provide Win32 implementation if - _GLIBCXX_USE_GET_NPROCS_WIN32 is defined. Replace HAVE_WIN32_SLEEP - with USE_WIN32_SLEEP. - * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: Add - missing conditional compilation. - * testsuite/lib/libstdc++.exp (check_v3_target_sleep): Add support for - _GLIBCXX_USE_WIN32_SLEEP. - (check_v3_target_nprocs): Likewise for _GLIBCXX_USE_GET_NPROCS_WIN32. - -2022-12-23 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdb.cc [__APPLE__] (zoneinfo_dir_override): Add - definition. - -2022-12-23 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdb.cc: Remove static_assert. - -2022-12-23 Arsen Arsenović <arsen@aarsen.me> - Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107792 - PR libstdc++/107778 - * src/experimental/contract.cc (handle_contract_violation): Make - output more readable. - -2022-12-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105730 - * src/c++11/compatibility-condvar.cc (__nothrow_wait_cv::wait): - Access private data member of base class and call its wait - member. - -2022-12-22 Jonathan Wakely <jwakely@redhat.com> - - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/std/chrono (operator<<): Move to new header. - (nonexistent_local_time::_M_make_what_str): Define correctly. - (ambiguous_local_time::_M_make_what_str): Likewise. - * include/bits/chrono_io.h: New file. - * src/c++20/tzdb.cc (operator<<(ostream&, const Rule&)): Use - new ostream output for month and weekday types. - * testsuite/20_util/duration/io.cc: Test std::format support. - * testsuite/std/time/exceptions.cc: Check what() strings. - * testsuite/std/time/syn_c++20.cc: Uncomment local_time_format. - * testsuite/std/time/time_zone/get_info_local.cc: Enable check - for formatted output of local_info objects. - * testsuite/std/time/clock/file/io.cc: New test. - * testsuite/std/time/clock/gps/io.cc: New test. - * testsuite/std/time/clock/system/io.cc: New test. - * testsuite/std/time/clock/tai/io.cc: New test. - * testsuite/std/time/clock/utc/io.cc: New test. - * testsuite/std/time/day/io.cc: New test. - * testsuite/std/time/format.cc: New test. - * testsuite/std/time/hh_mm_ss/io.cc: New test. - * testsuite/std/time/month/io.cc: New test. - * testsuite/std/time/weekday/io.cc: New test. - * testsuite/std/time/year/io.cc: New test. - * testsuite/std/time/year_month_day/io.cc: New test. - -2022-12-22 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (__format::__write_padded_as_spec): New - function. - (__format::__formatter_str, __format::__formatter_int::format) - (formatter<const void*, charT>): Use it. - -2022-12-22 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter) - (StdChronoTimePointPrinter, StdChronoZonedTimePrinter) - (StdChronoCalendarPrinter, StdChronoTimeZonePrinter) - (StdChronoLeapSecondPrinter, StdChronoTzdbPrinter) - (StdChronoTimeZoneRulePrinter): New printers. - -2022-12-22 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): New macro. - * config.h.in: Regenerate. - * config/abi/pre/gnu.ver: Export new symbols. - * configure: Regenerate. - * configure.ac (GLIBCXX_ZONEINFO_DIR): Use new macro. - * include/std/chrono (utc_clock::from_sys): Correct handling - of leap seconds. - (nonexistent_local_time::_M_make_what_str): Define. - (ambiguous_local_time::_M_make_what_str): Define. - (__throw_bad_local_time): Define new function. - (time_zone, tzdb_list, tzdb): Implement all members. - (remote_version, zoned_time, get_leap_second_info): Define. - * include/std/version: Add comment for __cpp_lib_chrono. - * src/c++20/Makefile.am: Add new file. - * src/c++20/Makefile.in: Regenerate. - * src/c++20/tzdb.cc: New file. - * testsuite/lib/libstdc++.exp: Define effective target tzdb. - * testsuite/std/time/clock/file/members.cc: Check file_time - alias and file_clock::now() member. - * testsuite/std/time/clock/gps/1.cc: Likewise for gps_clock. - * testsuite/std/time/clock/tai/1.cc: Likewise for tai_clock. - * testsuite/std/time/syn_c++20.cc: Uncomment everything except - parse. - * testsuite/std/time/clock/utc/leap_second_info.cc: New test. - * testsuite/std/time/exceptions.cc: New test. - * testsuite/std/time/time_zone/get_info_local.cc: New test. - * testsuite/std/time/time_zone/get_info_sys.cc: New test. - * testsuite/std/time/time_zone/requirements.cc: New test. - * testsuite/std/time/tzdb/1.cc: New test. - * testsuite/std/time/tzdb/leap_seconds.cc: New test. - * testsuite/std/time/tzdb_list/1.cc: New test. - * testsuite/std/time/tzdb_list/requirements.cc: New test. - * testsuite/std/time/zoned_time/1.cc: New test. - * testsuite/std/time/zoned_time/custom.cc: New test. - * testsuite/std/time/zoned_time/deduction.cc: New test. - * testsuite/std/time/zoned_time/req_neg.cc: New test. - * testsuite/std/time/zoned_time/requirements.cc: New test. - * testsuite/std/time/zoned_traits.cc: New test. - -2022-12-22 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono.h (__is_duration_v, __is_time_point_v): - New variable templates. - (duration_cast): Add simplified definition for noconv case. - (treat_as_floating_point_v): Add explicit specializations. - (duration::operator%=, floor, ceil, round): Simplify SFINAE - constraints. - -2022-12-22 Jonathan Wakely <jwakely@redhat.com> - - * include/std/chrono: Use nodiscard attribute. - -2022-12-21 Jakub Jelinek <jakub@redhat.com> - - * testsuite/20_util/to_chars/float16_c++23.cc (test): Use 3 argument - std::to_chars if fmt is std::chars_format{}, rather than 4 argument. - * testsuite/20_util/to_chars/float128_c++23.cc (test): Likewise, and - skip second part of testing that requires 5 argument std::to_chars. - -2022-12-19 Arsen Arsenović <arsen@aarsen.me> - - * include/experimental/contract: Lowercase the constants in - contract_violation_continuation_mode. - -2022-12-16 John David Anglin <danglin@gcc.gnu.org> - - * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. - -2022-12-16 Jonathan Wakely <jwakely@redhat.com> - - * include/std/expected (expected): Add monadic operations. - (expected<void, E>): Likewise. - * include/std/version (__cpp_lib_expected): Bump value. - * testsuite/20_util/expected/synopsis.cc: Adjust expected macro - value. - * testsuite/20_util/expected/version.cc: Likewise. - * testsuite/20_util/expected/illformed_neg.cc: Prune additional - errors from ill-formed monadic operations. - * testsuite/20_util/expected/observers.cc: Check error_or. - * testsuite/20_util/expected/monadic.cc: New test. - -2022-12-16 Jonathan Wakely <jwakely@redhat.com> - - * include/std/expected (expected::_M_swap_val_unex): Guard the - correct object. - (expected::swap): Move is_swappable - requirement from static_assert to constraint. - (swap): Likewise. - (operator==): Remove noexcept-specifier. - * testsuite/20_util/expected/swap.cc: Check swapping of - types without non-throwing move constructor. Check constraints - on swap. - * testsuite/20_util/expected/unexpected.cc: Check constraints on - swap. - * testsuite/20_util/expected/equality.cc: New test. - -2022-12-16 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/alloc_traits.h (__allocator_traits_base::__rebind): - Add static assert for rebind requirement. - * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: - Fix invalid rebind member in test allocator. - * testsuite/20_util/allocator_traits/requirements/rebind_neg.cc: - New test. - * testsuite/20_util/scoped_allocator/outermost.cc: Add rebind to - test allocator. - * testsuite/23_containers/forward_list/48101_neg.cc: Prune new - static assert error. - * testsuite/23_containers/unordered_multiset/48101_neg.cc: - Likewise. - * testsuite/23_containers/unordered_set/48101_neg.cc: - Likewise. - * testsuite/23_containers/vector/52591.cc: Fix typo in rebind. - -2022-12-16 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108118 - * include/bits/shared_ptr_base.h (weak_ptr::operator=): - Implement as move-and-swap exactly as specified in the standard. - * testsuite/20_util/weak_ptr/cons/self_move.cc: New test. - -2022-12-15 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/108075 - * config/abi/pre/gnu.ver (CXXABI_1.3.14): Export - _ZTIDF[0-9]*[_bx], _ZTIPDF[0-9]*[_bx] and _ZTIPKDF[0-9]*[_bx]. - * testsuite/util/testsuite_abi.cc (check_version): Handle - CXXABI_1.3.14. - -2022-12-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108097 - * include/std/stacktrace (basic_stracktrace::_Impl): Do not - multiply N by sizeof(value_type) when allocating. - -2022-12-13 Jakub Jelinek <jakub@redhat.com> - - * src/libbacktrace/backtrace-rename.h (backtrace_uncompress_zstd): - Define. - -2022-12-12 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/duration/arithmetic/overflow_c++20.cc: New - test. - -2022-12-12 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108024 - * include/std/format (basic_format_string): Fix constraint. - * testsuite/std/format/format_string.cc: New test. - -2022-12-12 Jonathan Wakely <jwakely@redhat.com> - - * include/std/chrono (hh_mm_ss): Rename __is_unsigned member to - _S_is_unsigned. - * include/std/format (basic_format_context): Rename _Out_ - template parameter to _Out2. - * testsuite/17_intro/names.cc: Add Windows SAL annotation - macros. - -2022-12-12 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/98034 - * include/std/atomic (__cpp_lib_atomic_lock_free_type_aliases): - Define macro. - (atomic_signed_lock_free, atomic_unsigned_lock_free): Define - aliases. - * include/std/version (__cpp_lib_atomic_lock_free_type_aliases): - Define macro. - * testsuite/29_atomics/atomic/lock_free_aliases.cc: New test. - -2022-12-12 Jonathan Wakely <jwakely@redhat.com> - - * include/std/stacktrace (operator<<): Only output to narrow - ostreams (LWG 3515). - * testsuite/19_diagnostics/stacktrace/synopsis.cc: - -2022-12-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108015 - * include/std/chrono (hh_mm_ss): Remove digit separators. - -2022-12-09 Jonathan Wakely <jwakely@redhat.com> - - * include/ext/pb_ds/detail/type_utils.hpp (PB_DS_STATIC_ASSERT): - Add unused attribute to avoid -Wunused-local-typedef warnings. - * testsuite/17_intro/tag_type_explicit_ctor.cc: Add pragma to - ignore -Wunused-variable warnings - -2022-12-09 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono.h (duration_cast, floor, round, abs, ceil) - (time_point_cast): Add [[nodiscard]] attribute and doxygen - comments. - (treat_as_floating_point): Add doxygen commen. - -2022-12-09 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono.h (duration, time_point): Change 'struct' - to 'class'. - -2022-12-07 Jonathan Wakely <jwakely@redhat.com> - François Dumont <frs.dumont@gmail.com> - - * include/debug/formatter.h [_GLIBCXX_DEBUG_BACKTRACE] - (_Error_formatter::_Error_formatter): Pass error handler to - __glibcxx_backtrace_create_state. Pass 1 for threaded argument. - (_Error_formatter::_S_err): Define empty function. - * src/c++11/debug.cc (_Error_formatter::_M_error): Pass error - handler to __glibcxx_backtrace_full. - -2022-12-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107979 - * testsuite/17_intro/names.cc: Do not check __unused on old - Glibc versions. - -2022-12-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107871 - * include/std/format (_Iter_sink::_M_overflow): Add cast to - size_t. - (_Iter_sink<CharT, contiguous_iterator auto>::_M_make_span): Use - typedef instead of decltype. - * testsuite/std/format/functions/107871.cc: New test. - -2022-12-06 Jonathan Wakely <jwakely@redhat.com> - - * include/std/chrono (chrono::hh_mm_ss): Do not use 64-bit - representations for all four duration members. Reorder members. - (hh_mm_ss::hh_mm_ss()): Define as defaulted. - (hh_mm_ss::hh_mm_ss(Duration)): Delegate to a new private - constructor, instead of calling chrono::abs repeatedly. - * testsuite/std/time/hh_mm_ss/1.cc: Check floating-point - representations. Check default constructor. Check sizes. - -2022-12-06 Jonathan Wakely <jwakely@redhat.com> - - PR c++/106434 - * include/bits/vector.tcc (insert(const_iterator, const T&)): - Add assertion and optimization hint that the iterator for the - insertion point must be non-null. - -2022-12-06 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/std_mutex.h (mutex): Add nodiscard attribute to - try_lock member function. - * include/bits/unique_lock.h (unique_lock): Likewise for - try_lock, try_lock_until, try_lock_for member functions, and - owns_lock and mutex member functions. - * include/std/mutex (recursive_mutex): Likewise for try_lock - member function. - (timed_mutex, recursive_timed_mutex, try_lock): Likewise for - try_lock, try_lock_until, try_lock_for member functions. - (try_lock): Likewise for non-member function. - * include/std/shared_mutex (shared_mutex): Likewise for try_lock - and try_lock_shared member functions. - (shared_timed_mutex): Likewise for try_lock, try_lock_for, - try_lock_shared, try_lock_shared_for, try_lock_until, and - try_lock_shared_until member functions. - (shared_lock): Likewise for try_lock, try_lock, try_lock_for, - try_lock_until, owns_lock, and mutex member functions. - * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc: - Cast discarded value expression to void. - * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. - * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. - * testsuite/30_threads/shared_lock/locking/clock_neg.cc: - Likewise. - * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc: - Likewise. - * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc: - Likewise. - * testsuite/30_threads/try_lock/4.cc: Likewise. - * testsuite/30_threads/unique_lock/cons/60497.cc: Likewise. - * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. - * testsuite/30_threads/unique_lock/locking/clock_neg.cc: - Likewise. - -2022-12-06 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (basic_format_parse_context::next_arg_id): - Only check arg-id is in range during constant evaluation. - * testsuite/std/format/functions/format.cc: Check "{:#Lx}". - * testsuite/std/format/parse_ctx.cc: Adjust expected results for - format-strings using an out-of-range arg-id. - -2022-12-04 Iain Sandoe <iain@sandoe.co.uk> - - * config/os/bsd/darwin/os_defines.h - (_GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC): Limit use of this macro - to OS versions that need it. - -2022-12-04 Iain Sandoe <iain@sandoe.co.uk> - - * config/os/bsd/darwin/os_defines.h (_GLIBCXX_WEAK_DEFINITION): Use the - implementation namespace for the weak attribute. - -2022-12-02 Björn Schäpers <bjoern@hazardy.de> - Jonathan Wakely <jwakely@redhat.com> - - * include/std/stacktrace (stacktrace_entry::_S_err_handler): New - static function. - (stacktrace_entry, basic_stacktrace): Pass &_S_err_handler to - all calls to libbacktrace. - -2022-11-29 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107852 - PR libstdc++/106199 - PR libstdc++/100366 - * include/bits/vector.tcc (vector::_M_fill_insert): Copy - _M_start and _M_finish members before allocating. - (vector::_M_default_append): Likewise. - (vector::_M_range_insert): Likewise. - -2022-11-29 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_iterator_base_types.h (__iterator_category): - Add always_inline attribute. - * include/bits/stl_vector.h (assign(Iter, Iter)): Call - _M_assign_aux directly, instead of _M_assign_dispatch. - (insert(const_iterator, Iter, Iter)): Call _M_range_insert - directly instead of _M_insert_dispatch. - -2022-11-29 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format: Rename all variables called __used or - __packed. - * testsuite/17_intro/badnames.cc: Add no_pch options. - * testsuite/17_intro/names.cc: Check __packed, __unused and - __used. - -2022-11-28 François Dumont <fdumont@gcc.gnu.org> - - * testsuite/20_util/function/cons/70692.cc: Adapt dg-error message. - -2022-11-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107801 - * src/c++17/memory_resource.cc (chunk::_M_bytes): Change type - from uint32_t to bitset::size_type. Adjust static assertion. - (__pool_resource::_Pool::replenish): Cast to size_t after - multiplication instead of before. - (__pool_resource::_M_alloc_pools): Ensure both arguments to - std::max have type size_t. - -2022-11-28 Jonathan Wakely <jwakely@redhat.com> - - * include/std/string_view (basic_string_view::copy) Use explicit - template argument for call to std::min<size_t>. - (basic_string_view::substr): Likewise. - -2022-11-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107885 - * libsupc++/hash_bytes.cc (_Hash_bytes): Convert to size_t - instead of implicit integer promotion to 16 bits. - -2022-11-28 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc: - Replace non-ASCII character. - -2022-11-28 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc: - Simplify dg-prune-output pattern. - * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune "::__8". - -2022-11-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107466 - * include/bits/random.h (subtract_with_carry_engine): Use 32-bit - type for default seed. Use 0u as default argument for - subtract_with_carry_engine(result_type) constructor and - seed(result_type) member function. - * include/bits/random.tcc (subtract_with_carry_engine): Use - 32-bit type for default seed and engine used for initial state. - * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc: - New test. - -2022-11-25 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Don't use AC_MSG_RESULT - unless the AC_MSG_CHECKING happened. - * configure: Regenerate. - -2022-11-25 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107850 - * include/bits/erase_if.h (__erase_nodes_if): Use non-const - reference to the container. - * include/experimental/map (erase_if): Likewise. - * include/experimental/set (erase_if): Likewise. - * include/experimental/unordered_map (erase_if): Likewise. - * include/experimental/unordered_set (erase_if): Likewise. - * include/std/map (erase_if): Likewise. - * include/std/set (erase_if): Likewise. - * include/std/unordered_map (erase_if): Likewise. - * include/std/unordered_set (erase_if): Likewise. - * testsuite/23_containers/map/erasure.cc: Check with - const-incorrect predicate. - * testsuite/23_containers/set/erasure.cc: Likewise. - * testsuite/23_containers/unordered_map/erasure.cc: Likewise. - * testsuite/23_containers/unordered_set/erasure.cc: Likewise. - * testsuite/experimental/map/erasure.cc: Likewise. - * testsuite/experimental/set/erasure.cc: Likewise. - * testsuite/experimental/unordered_map/erasure.cc: Likewise. - * testsuite/experimental/unordered_set/erasure.cc: Likewise. - -2022-11-25 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/random.h [three_way_comparison] (operator!=): - Do not define inequality operators when C++20 three way - comparisons are supported. - * include/ext/random [three_way_comparison] (operator!=): - Likewise. - -2022-11-25 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_iterator_base_funcs.h (__distance): - Add always_inline attribute to overload for random - access iterators. - (advance, distance, next, prev): Add always_inline attribute to - inline functions that just forward to another function. - -2022-11-25 Jonathan Wakely <jwakely@redhat.com> - - * doc/html/manual/bugs.html: Regenerate. - * doc/xml/manual/intro.xml: Document LWG 3656 change. - * include/std/bit (__bit_width, bit_width): Return int. - * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: New test. - -2022-11-24 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/106201 - * testsuite/27_io/filesystem/iterators/106201.cc: Improve test. - * testsuite/experimental/filesystem/iterators/106201.cc: New test. - -2022-11-24 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/107468 - * src/c++17/fast_float/MERGE: Adjust for merge from upstream. - * src/c++17/fast_float/fast_float.h: Merge from fast_float - 2ef9abbcf6a11958b6fa685a89d0150022e82e78 commit. - -2022-11-24 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/107815 - * testsuite/20_util/to_chars/float128_c++23.cc (test): Disable - __FLT128_MAX__ test on Solaris. Fix up commented out debugging - printouts. - -2022-11-23 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/107811 - * src/c++17/floating_from_chars.cc (__floating_from_chars_hex): Guard - fast_float uses with #if USE_LIB_FAST_FLOAT and for mantissa_bits and - exponent_bits provide a fallback. - -2022-11-23 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107814 - * testsuite/experimental/filesystem/iterators/error_reporting.cc: - Use a static buffer with space after it. - -2022-11-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107817 - * include/std/charconv (__from_chars_alnum_to_val): Add - constexpr for C++20. - * include/std/format (__is_digit, __is_xdigit): New functions. - (_Spec::_S_parse_width_or_precision): Use __is_digit. - (__formatter_fp::parse): Use __is_xdigit. - -2022-11-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/106201 - * testsuite/27_io/filesystem/iterators/106201.cc: New test. - -2022-11-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107801 - * src/c++17/memory_resource.cc (pool_sizes): Disable large pools - for targets with 16-bit int. - -2022-11-21 Jonathan Wakely <jwakely@redhat.com> - - * include/std/functional (_Bind_front0): New class template. - (_Bind_front_t): Use _Bind_front0 when there are no bound - arguments. - * testsuite/20_util/function_objects/bind_front/107784.cc: - New test. - -2022-11-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono.h (duration): Check preconditions on - template arguments before using them. - -2022-11-21 Jonathan Wakely <jwakely@redhat.com> - - * include/std/tuple: Add better Doxygen comments. - -2022-11-21 Martin Liska <mliska@suse.cz> - - * src/experimental/Makefile.in: Re-configure. - -2022-11-20 François Dumont <fdumont@gcc.gnu.org> - - * include/std/format: Add std qualification on isxdigit calls. - -2022-11-19 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/range_access.h: Add always_inline attribute to - trivial functions. - -2022-11-19 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format: Fix -Wsign-compare warnings. - -2022-11-19 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ptr_traits.h (pointer_traits::pointer_to): Rename - parameter. - -2022-11-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107649 - * include/std/complex (__complex_proj): Fix requires-clause. - -2022-11-19 Jeff Chapman II <jchapman@lock3software.com> - Andrew Marmaduke <amarmaduke@lock3software.com> - Jason Merrill <jason@redhat.com> - - * acinclude.m4 (glibcxx_SUBDIRS): Add src/experimental. - * include/Makefile.am (experimental_headers): Add contract. - * include/Makefile.in: Regenerate. - * src/Makefile.am (SUBDIRS): Add experimental. - * src/Makefile.in: Regenerate. - * configure: Regenerate. - * src/experimental/contract.cc: New file. - * src/experimental/Makefile.am: New file. - * src/experimental/Makefile.in: New file. - * include/experimental/contract: New file. - -2022-11-17 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107720 - * include/std/format [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT]: - Declare overloads of std::to_chars for the alternative long - double type. - -2022-11-16 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107720 - * include/std/format (__format::_Arg_t): Fix typo in enumerator - name. - (_Arg_value::_S_get): Fix missing semi-colons. - -2022-11-16 Jonathan Wakely <jwakely@redhat.com> - - * include/std/chrono (get_leap_second_info): Optimize. - -2022-11-16 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107712 - * include/std/format (__format::__formatter_int::format): Use - std::toupper when __builtin_toupper isn't available. - (basic_format_arg::handle): Add 'typename'. - * include/std/complex (complex<T>): Add 'typename'. - -2022-11-16 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format [__FLT128_DIG__] (_GLIBCXX_FORMAT_F128): - Only support formatting _Float128 when glibc provides the - functionality needed for accurate std::to_chars. - -2022-11-16 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/time/clock/utc/1.cc: Check handling across leap - second insertion. - -2022-11-16 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/107701 - * include/std/iostream (__ioinit): Adjust comment. - * src/c++98/globals_io.cc: Include "io_base_init.h" here - instead of ... - * src/c++98/ios_init.cc: ... here. - * src/c++98/ios_base_init.h (__ioinit): More comments. - * testsuite/17_intro/static.cc: dg-do run instead of just link. - -2022-11-16 Jakub Jelinek <jakub@redhat.com> - Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107649 - * include/std/complex (__complex_abs, __complex_arg, __complex_cos, - __complex_cosh, __complex_exp, __complex_log, __complex_sin, - __complex_sinh, __complex_sqrt, __complex_tan, __complex_tanh, - __complex_pow): Move __complex__ _Float{16,32,64,128} and - __complex__ decltype(0.0bf16) overloads earlier in the file. - (complex): Fix up requires on the partial specialization for extended - float types. - (__complex_acos, __complex_asin, __complex_atan, __complex_acosh, - __complex_asinh, __complex_atanh): Move - __complex__ _Float{16,32,64,128} and __complex__ decltype(0.0bf16) - overloads earlier in the file. - -2022-11-16 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Make - expansion of std::string in manager name more robust. - -2022-11-16 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (is_specialization_of): Fix - incorrect terminology in docstring and describe arguments. - (FilteringTypePrinter): Add default argument for new parameter, - enhance docstring. - -2022-11-16 François Dumont <fdumont@gcc.gnu.org> - - * python/libstdcxx/v6/printers.py (FilteringTypePrinter): Rename 'match' field - 'template'. Add self.targ1 to specify the first template parameter of the instantiation - to match. - (add_one_type_printer): Add targ1 optional parameter, default to None. - Use gdb.types.get_basic_type to compare the type to recognize and the type - returned from the typedef lookup. - (register_type_printers): Adapt calls to add_one_type_printers. - -2022-11-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/format/functions/format.cc: Do not use - std::make_unsigned_t<__int128>. - -2022-11-15 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (formattable): Only define for C++23/ - * testsuite/std/format/formatter.cc: Moved to... - * testsuite/std/format/formatter/requirements.cc: ...here. - * testsuite/std/format/formatter/concept.cc: New test. - * testsuite/std/format/functions/format.cc: Replace use of - std::formattable in C++20. - -2022-11-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107693 - * include/std/format (_GLIBCXX_FORMAT_F128): Define to 2 when - basic_format_arg needs to use its _M_f128 member. - (__extended_floating_point, __floating_point): Replace with ... - (__formattable_floating_point): New concept. - * testsuite/std/format/functions/format.cc: Check whether - __float128 is supported. Also test _Float128. - -2022-11-15 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/documentation_hacking.xml: Document use of - Markdown for Doxygen comments. Tweak formatting. - * doc/html/manual/documentation_hacking.html: Regenerate. - -2022-11-14 Jonathan Wakely <jwakely@redhat.com> - - * python/Makefile.am (install-data-local): Use mkdirs_p for debug - libdir. - * python/Makefile.in: Regenerate. - -2022-11-14 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> - - * src/Makefile.am (install-debug): Remove use of $(debugdir). - * src/Makefile.in: Regenerate. - -2022-11-13 Jonathan Wakely <jwakely@redhat.com> - - * include/std/chrono (utc_clock, tai_clock, gps_clock): Define. - (clock_time_conversion, clock_cast): Define. - (sys_info, local_info): Define structs for timezone information. - (nonexistent_local_time, ambiguous_local_time): Define - exceptions for invalid times. - (time_zone, time_zone_link, leap_second, zoned_traits, tzdb) - (tzdb_list): Define classes representing time zones. - (get_leap_second_info): Define new function returning leap - second offset for a given time point. - * testsuite/std/time/clock/gps/1.cc: New test. - * testsuite/std/time/clock/tai/1.cc: New test. - * testsuite/std/time/clock/utc/1.cc: New test. - -2022-11-13 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104166 - * include/Makefile.am (std_headers): Add <format>. - * include/Makefile.in: Regenerate. - * include/precompiled/stdc++.h: Add <format>. - * include/std/format: New file. - * python/libstdcxx/v6/printers.py (StdFormatArgsPrinter): New - printer for std::format_args. - * testsuite/std/format/arguments/args.cc: New test. - * testsuite/std/format/error.cc: New test. - * testsuite/std/format/formatter.cc: New test. - * testsuite/std/format/functions/format.cc: New test. - * testsuite/std/format/functions/format_to_n.cc: New test. - * testsuite/std/format/functions/size.cc: New test. - * testsuite/std/format/functions/vformat_to.cc: New test. - * testsuite/std/format/parse_ctx.cc: New test. - * testsuite/std/format/string.cc: New test. - * testsuite/std/format/string_neg.cc: New test. - -2022-11-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/charconv.h (__integer_to_chars_is_unsigned): - New variable template. - (__to_chars_len, __to_chars_10_impl): Use variable template in - assertions to allow unsigned __int128 in strict mode. - * include/std/charconv (__to_chars, __to_chars_16) - (__to_chars_10, __to_chars_8, __to_chars_2): Likewise. - -2022-11-12 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/107636 - * include/std/charconv (to_chars): Fix up powerpc64le _Float128 - overload __extension__ placement. - -2022-11-12 Jonathan Wakely <jwakely@redhat.com> - - * src/Makefile.am: Simplify debug build targets. - * src/Makefile.in: Regenerate. - -2022-11-12 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103755 - * src/c++11/locale-inst-monetary.h: Include new header. - * src/c++11/locale-inst-numeric.h: Likewise. - * src/c++11/locale-inst.cc: Likewise. - (INSTANTIATE_USE_FACET, INSTANTIATE_FACET_ACCESSORS): Move - macro definitions to ... - * src/c++11/facet_inst_macros.h: New file. - -2022-11-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/95048 - * include/experimental/bits/fs_path.h (path::_Cvt::_S_wconvert): - Construct codecvt directly instead of getting it from the - locale. - -2022-11-11 Nathaniel Shead <nathanieloshead@gmail.com> - - PR libstdc++/103295 - * include/bits/basic_string.h (_M_use_local_data): Set active - member to _M_local_buf. - -2022-11-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/95048 - * include/bits/fs_path.h (path::_Codecvt): New class template - that selects the kind of code conversion done. - (path::_Codecvt<wchar_t>): Select based on sizeof(wchar_t). - (_GLIBCXX_CONV_FROM_UTF8): New macro to allow the same code to - be used for Windows and POSIX. - (path::_S_convert(const EcharT*, const EcharT*)): Simplify by - using _Codecvt and _GLIBCXX_CONV_FROM_UTF8 abstractions. - (path::_S_str_convert(basic_string_view<value_type>, const A&)): - Simplify nested conditions. - * include/experimental/bits/fs_path.h (path::_Cvt): Define - nested typedef controlling type of code conversion done. - (path::_Cvt::_S_wconvert): Use new typedef. - (path::string(const A&)): Likewise. - * testsuite/27_io/filesystem/path/construct/95048.cc: New test. - * testsuite/experimental/filesystem/path/construct/95048.cc: New - test. - -2022-11-11 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/tuple/swap.cc (MoveOnly::operator==): Add - const qualifier. - * testsuite/26_numerics/valarray/87641.cc (X::operator==): - Likewise. - -2022-11-11 Jonathan Wakely <jwakely@redhat.com> - - * include/std/charconv (__from_chars_alnum_to_val_table::value): - [!__cpp_inline_variables]: Add non-inline definition. - -2022-11-11 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/experimental/propagate_const/observers/107525.cc: - Use type trait instead of C++17 variable template. - -2022-11-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103755 - * config/abi/pre/gnu.ver: Tighten patterns for facets in the - base version. Add exports for __try_use_facet. - * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use - __try_use_facet instead of has_facet and use_facet. - * include/bits/fstream.tcc (basic_filebuf::basic_filebuf()): - Likewise. - (basic_filebuf::imbue): Likewise. - * include/bits/locale_classes.h (locale, locale::id) - (locale::_Impl): Declare __try_use_facet as a friend. - * include/bits/locale_classes.tcc (__try_use_facet): Define new - function template with special cases for default facets. - (has_facet, use_facet): Call __try_use_facet. - * include/bits/locale_facets.tcc (__try_use_facet): Declare - explicit instantiations. - * include/bits/locale_facets_nonio.tcc (__try_use_facet): - Likewise. - * src/c++11/locale-inst-monetary.h (INSTANTIATE_FACET_ACCESSORS): - Use new macro for facet accessor instantiations. - * src/c++11/locale-inst-numeric.h (INSTANTIATE_FACET_ACCESSORS): - Likewise. - * src/c++11/locale-inst.cc (INSTANTIATE_USE_FACET): Define new - macro for instantiating __try_use_facet and use_facet. - (INSTANTIATE_FACET_ACCESSORS): Define new macro for also - defining has_facet. - * src/c++98/compatibility-ldbl.cc (__try_use_facet): - Instantiate. - * testsuite/22_locale/ctype/is/string/89728_neg.cc: Adjust - expected errors. - -2022-11-10 Jonathan Wakely <jwakely@redhat.com> - - * include/std/concepts (__detail::__destructible_impl) - (__detail::__destructible): New variable templates. - (destructible): Use __detail::__destructible. - * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: - Add more checks for array and reference types. - -2022-11-08 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/18_support/new_nothrow.cc: Add missing noexcept - to operator delete replacements. - * testsuite/20_util/any/cons/92156.cc: Disable - -Winit-list-lifetime warnings from instantiating invalid - specialization of manager function. - * testsuite/20_util/any/modifiers/92156.cc: Likewise. - * testsuite/20_util/default_delete/void_neg.cc: Prune additional - diagnostics. - * testsuite/20_util/headers/memory/synopsis.cc: Add missing - noexcept. - * testsuite/20_util/shared_ptr/cons/void_neg.cc: Prune - additional diagnostic. - * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Add - missing noexcept to operator delete replacements. - * testsuite/21_strings/basic_string/cons/char/103919.cc: - Likewise. - * testsuite/23_containers/map/modifiers/emplace/92300.cc: - Likewise. - * testsuite/23_containers/map/modifiers/insert/92300.cc: - Likewise. - * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: - Add missing noexcept to synopsis declarations. - * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: - Likewise. - * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: - Likewise. - -2022-11-08 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_tempbuf.h (_Temporary_buffer): Disable - warnings about get_temporary_buffer being deprecated. - * include/ext/functional (mem_fun1, mem_fun1_ref): Disable - warnings about mem_fun1_t, const_mem_fun1_t, mem_fun1_ref_t and - const_mem_fun1_ref_t being deprecated. - * include/std/array (__array_traits<T, 0>): Remove artificial - attributes which give warnings about being ignored. - * include/std/spanstream (basic_spanbuf::setbuf): Add assertion - and adjust to avoid narrowing warning. - * libsupc++/exception_ptr.h [!__cpp_rtti && !__cpp_exceptions] - (make_exception_ptr): Add missing inline specifier. - -2022-11-08 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/alloc_traits.h (allocator_traits): Add - always_inline attribute to all member functions. - (__do_alloc_on_copy, __alloc_on_copy, __do_alloc_on_move) - (__alloc_on_move, __do_alloc_on_swap, __alloc_on_swap) - (_Destroy(FwdIter, FwdIter, allocator<T>&)): : Add - always_inline attribute. - * include/bits/allocator.h (allocator): Add always_inline - attribute to all member functions and equality operators. - * include/bits/new_allocator.h (__new_allocator): Likewise. - * include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits): - Likewise. - -2022-11-08 Charles-François Natali <cf.natali@gmail.com> - - PR libstdc++/63746 - * include/bits/fstream.tcc (basic_filbuf::xsputn): Remove - 1024-byte chunking that bypasses the buffer for large writes. - * testsuite/27_io/basic_filebuf/sputn/char/63746.cc: New test. - -2022-11-08 Will Hawkins <whh8b@obs.cr> - Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.h (__str_cat): Add common function - that performs single-allocation string concatenation. - (operator+): Use __str_cat. - * include/bits/basic_string.tcc (operator+): Move to .h and - define inline using __str_cat. - -2022-11-08 Jakub Jelinek <jakub@redhat.com> - - * testsuite/20_util/to_chars/float128_c++23.cc (test): Uncomment - denorm_min test. - -2022-11-08 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/authors.xml: Update the blurb listing my doc - contributions. - -2022-11-08 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/authors.xml: Remove empty author element. - * doc/xml/manual/spine.xml: Likewise. - * doc/html/manual/index.html: Regenerate. - -2022-11-08 Joseph Myers <joseph@codesourcery.com> - - PR libstdc++/107562 - * src/c++17/floating_from_chars.cc (from_chars_impl): Fix syntax - error. - -2022-11-08 Jason Merrill <jason@redhat.com> - Jakub Jelinek <jakub@redhat.com> - - * testsuite/18_support/comparisons/algorithms/fallback.cc: Adjust - asserts. - -2022-11-07 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/107562 - * src/c++17/floating_from_chars.cc (__strtof128): Put __asm before - __attribute__. - * src/c++17/floating_to_chars.cc (__strfromf128): Likewise. - -2022-11-07 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (as_rvalue_view): Define. - (enable_borrowed_range<as_rvalue_view>): Define. - (views::__detail::__can_as_rvalue_view): Define. - (views::_AsRvalue, views::as_rvalue): Define. - * testsuite/std/ranges/adaptors/as_rvalue/1.cc: New test. - -2022-11-07 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (__maybe_const_t): New alias for - __detail::__maybe_const_t. - (__detail::__cartesian_product_is_random_access): Define. - (__detail::__cartesian_product_common_arg): Define. - (__detail::__cartesian_product_is_bidirectional): Define. - (__detail::__cartesian_product_is_common): Define. - (__detail::__cartesian_product_is_sized): Define. - (__detail::__cartesian_is_sized_sentinel): Define. - (__detail::__cartesian_common_arg_end): Define. - (cartesian_product_view): Define. - (cartesian_product_view::_Iterator): Define. - (views::__detail::__can_cartesian_product_view): Define. - (views::_CartesianProduct, views::cartesian_product): Define. - * testsuite/std/ranges/cartesian_product/1.cc: New test. - -2022-11-07 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/107468 - * src/c++17/fast_float/MERGE: Adjust for merge from upstream. - * src/c++17/fast_float/LOCAL_PATCHES: Remove commits that were - upstreamed. - * src/c++17/fast_float/README.md: Merge from fast_float - 662497742fea7055f0e0ee27e5a7ddc382c2c38e commit. - * src/c++17/fast_float/fast_float.h: Likewise. - * testsuite/20_util/from_chars/pr107468.cc: New test. - -2022-11-07 Jakub Jelinek <jakub@redhat.com> - - * include/std/charconv (from_chars, to_chars): Add _Float128 - overfloads if _GLIBCXX_HAVE_FLOAT128_MATH is defined. - * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export - _ZSt8to_charsPcS_DF128_, _ZSt8to_charsPcS_DF128_St12chars_format, - _ZSt8to_charsPcS_DF128_St12chars_formati and - _ZSt10from_charsPKcS0_RDF128_St12chars_format. - * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS): - Define if needed. - (__strtof128): Declare. - (from_chars_impl): Handle _Float128. - (from_chars): New _Float128 overload if USE_STRTOF128_FOR_FROM_CHARS - is define. - * src/c++17/floating_to_chars.cc (__strfromf128): Declare. - (FLOAT128_TO_CHARS): Define even when _Float128 is supported and - wider than long double. - (F128_type): Use _Float128 for that case. - (floating_type_traits): Specialize for F128_type rather than - __float128. - (sprintf_ld): Add length argument. Handle _Float128. - (__floating_to_chars_shortest, __floating_to_chars_precision): - Pass length to sprintf_ld. - (to_chars): Add _Float128 overloads for the F128_type being - _Float128 cases. - * testsuite/20_util/to_chars/float128_c++23.cc: New test. - -2022-11-06 Patrick Palka <ppalka@redhat.com> - - * include/bits/atomic_wait.h (_detail::__platform_wait_alignment): - Declare inline. Remove redundant static specifier. - (__detail::__atomic_spin_count_relax): Declare inline. - (__detail::__atomic_spin_count): Likewise. - * include/bits/regex_automaton.h (__detail::_S_invalid_state_id): - Declare inline for C++17. Declare constexpr. Remove - redundant const and static specifiers. - * include/bits/regex_error.h (regex_constants::error_collate): - Declare inline for C++17 as per P0607R0. - (regex_constants::error_ctype): Likewise. - (regex_constants::error_escape): Likewise. - (regex_constants::error_backref): Likewise. - (regex_constants::error_brack): Likewise. - (regex_constants::error_paren): Likewise. - (regex_constants::error_brace): Likewise. - (regex_constants::error_badbrace): Likewise. - (regex_constants::error_range): Likewise. - (regex_constants::error_space): Likewise. - (regex_constants::error_badrepeat): Likewise. - (regex_constants::error_complexity): Likewise. - (regex_constants::error_stack): Likewise. - * include/ext/concurrence.h (__gnu_cxx::__default_lock_policy): - Likewise. Remove redundant static specifier. - * include/pstl/execution_defs.h (execution::seq): Declare inline - for C++17 as per P0607R0. - (execution::par): Likewise. - (execution::par_unseq): Likewise. - (execution::unseq): Likewise. - -2022-11-06 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/44952 - PR libstdc++/39796 - PR libstdc++/98108 - * include/std/iostream (__ioinit): No longer define here if - the init_priority attribute is usable. - * src/c++98/ios_init.cc (__ioinit): Define here instead if - init_priority is usable, via ... - * src/c++98/ios_base_init.h: ... this new file. - -2022-11-05 Jakob Hasse <0xjakob@users.noreply.github.com> - - PR libstdc++/105387 - * libsupc++/pbase_type_info.cc (__do_catch) [!__cpp_rtti]: Add - check that the thrown type is actually a pointer. - * testsuite/18_support/105387.cc: New test. - * testsuite/18_support/105387_memptr.cc: New test. - -2022-11-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107525 - * include/experimental/propagate_const (operator element_type*()): - Move into base class that can be partially specilized to iompose - constraints. - (operator const element_type*()): Likewise. - * testsuite/experimental/propagate_const/observers/107525.cc: New test. - -2022-11-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107500 - * libsupc++/eh_globals.cc (eh_globals): Remove immortalizing - wrapper. - (__cxxabiv1::__cxa_get_globals_fast): Adjust. - (__cxxabiv1::__cxa_get_globals): Adjust. - -2022-11-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107511 - * libsupc++/eh_alloc.cc (_GNU_SOURCE): Define. - -2022-11-03 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ranges_algobase.h (__detail::__copy_or_move): - Move output iterator. - * testsuite/25_algorithms/copy/constrained.cc: Check copying to - move-only output iterator. - -2022-11-02 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/eh_globals.cc (constant_init::unused): Remove. - * src/c++11/system_error.cc (constant_init::unused): Remove. - * src/c++17/memory_resource.cc (constant_init::unused): Remove. - -2022-11-02 Patrick Palka <ppalka@redhat.com> - - * src/c++17/floating_from_chars.cc (from_chars_impl): In the - ERANGE case, distinguish between a denormal result and true - underflow by checking if the return value is 0. - -2022-11-02 Jonathan Wakely <jwakely@redhat.com> - - * include/std/expected (expected::_M_invalid): Remove. - -2022-11-02 Jonathan Wakely <jwakely@redhat.com> - - * include/std/variant (__variant::_Multi_array::__untag_result): - Use pragma to suppress warning. - -2022-11-02 Jakub Jelinek <jakub@redhat.com> - - * libsupc++/compare (_Strong_order::_Fp_fmt): Add _Bfloat16. - (_Strong_order::_Bfloat16): New static data member. - (_Strong_order::_S_fp_fmt): Return _Bfloat16 for std::bfloat16_t. - -2022-11-02 Jakub Jelinek <jakub@redhat.com> - - * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): Drop const - from unbiased_exponent. Canonicalize denormals such that they have - the leading bit set by shifting effective mantissa up and decreasing - unbiased_exponent. - (__floating_to_chars_shortest): Don't instantiate - __floating_to_chars_hex for float16_t either and use float instead. - * testsuite/20_util/to_chars/float.cc (float_to_chars_test_cases): - Adjust testcases for shortest hex denormals. - * testsuite/20_util/to_chars/double.cc (double_to_chars_test_cases): - Likewise. - -2022-11-01 Jakub Jelinek <jakub@redhat.com> - - * include/std/charconv (__from_chars_float16_t, - __from_chars_bfloat16_t): Declare. - (from_chars): Add _Float16 and __gnu_cxx::__bfloat16_t overloads. - * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export - _ZSt22__from_chars_float16_tPKcS0_RfSt12chars_format and - _ZSt23__from_chars_bfloat16_tPKcS0_RfSt12chars_format. - * src/c++17/floating_from_chars.cc - (fast_float::floating_type_float16_t, - fast_float::floating_type_bfloat16_t): New classes. - (fast_float::binary_format<floating_type_float16_t>, - fast_float::binary_format<floating_type_bfloat16_t>): New - specializations. - (fast_float::to_float<floating_type_float16_t>, - fast_float::to_float<floating_type_bfloat16_t>, - fast_float::to_extended<floating_type_float16_t>, - fast_float::to_extended<floating_type_bfloat16_t>): Likewise. - (fast_float::from_chars_16): New template function. - (__floating_from_chars_hex): Allow instantiation with - fast_float::floating_type_{,b}float16_t. - (from_chars): Formatting fixes for float/double/long double overloads. - (__from_chars_float16_t, __from_chars_bfloat16_t): New functions. - * testsuite/20_util/to_chars/float16_c++23.cc: New test. - -2022-11-01 Jakub Jelinek <jakub@redhat.com> - - * include/std/charconv (__to_chars_float16_t, __to_chars_bfloat16_t): - Declare. - (to_chars): Add _Float16 and __gnu_cxx::__bfloat16_t overloads. - * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export - _ZSt20__to_chars_float16_tPcS_fSt12chars_format and - _ZSt21__to_chars_bfloat16_tPcS_fSt12chars_format. - * src/c++17/floating_to_chars.cc (floating_type_float16_t, - floating_type_bfloat16_t): New types. - (floating_type_traits<floating_type_float16_t>, - floating_type_traits<floating_type_bfloat16_t>, - get_ieee_repr<floating_type_float16_t>, - get_ieee_repr<floating_type_bfloat16_t>, - __handle_special_value<floating_type_float16_t>, - __handle_special_value<floating_type_bfloat16_t>): New specializations. - (floating_to_shortest_scientific): Handle floating_type_float16_t - and floating_type_bfloat16_t like IEEE quad. - (__floating_to_chars_shortest): For floating_type_bfloat16_t call - __floating_to_chars_hex<float> rather than - __floating_to_chars_hex<floating_type_bfloat16_t> to avoid - instantiating the latter. - (__to_chars_float16_t, __to_chars_bfloat16_t): New functions. - -2022-11-01 Jakub Jelinek <jakub@redhat.com> - - * include/std/charconv (from_chars, to_chars): Add _Float{32,64,128} - overloads for cases where those types match {float,double,long double}. - * include/std/istream (basic_istream::operator>>): Add - _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads. - * include/std/ostream (basic_ostream::operator<<): Add - _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads. - * testsuite/20_util/from_chars/8.cc: New test. - * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc (test): - Formatting fixes. - * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: Add - dg-options "-std=gnu++2b". - (test_functions, main): Formatting fixes. - * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: - Add dg-options "-std=gnu++2b". - -2022-10-31 Jakub Jelinek <jakub@redhat.com> - - * include/std/complex (complex::complex converting ctor): For C++23 - use explicit specifier with constant expression. Explicitly cast - both parts to _Tp. - (__complex_abs, __complex_arg, __complex_cos, __complex_cosh, - __complex_exp, __complex_log, __complex_sin, __complex_sinh, - __complex_sqrt, __complex_tan, __complex_tanh, __complex_pow): Add - __complex__ _Float{16,32,64,128} and __complex__ decltype(0.0bf16) - overloads. - (complex<float>::complex converting ctor, - complex<double>::complex converting ctor, - complex<long double>::complex converting ctor): For C++23 implement - as template with explicit specifier with constant expression - and explicit casts. - (__complex_type): New template. - (complex): New partial specialization for types with extended floating - point types. - (__complex_acos, __complex_asin, __complex_atan, __complex_acosh, - __complex_asinh, __complex_atanh): Add __complex__ _Float{16,32,64,128} - and __complex__ decltype(0.0bf16) overloads. - (__complex_proj): Likewise. Add template for complex of extended - floating point types. - * include/bits/cpp_type_traits.h (__is_floating): Specialize for - _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t. - * testsuite/26_numerics/complex/ext_c++23.cc: New test. - -2022-10-31 Jakub Jelinek <jakub@redhat.com> - - * config/os/gnu-linux/os_defines.h (_GLIBCXX_HAVE_FLOAT128_MATH): - Uncomment. - * include/c_global/cmath (nextafter(_Float16, _Float16)): Make it constexpr. - If std::__is_constant_evaluated() call __builtin_nextafterf16. - (nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): Similarly - but call __builtin_nextafterf16b. - * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc (test): Add - static assertions to test constexpr nextafter. - -2022-10-28 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/fs_path.h (path::filename()): Fix dangling - reference. - -2022-10-28 Arsen Arsenović <arsen@aarsen.me> - - * include/std/functional: Make placeholders inline, if possible. - -2022-10-28 Arsen Arsenović <arsen@aarsen.me> - - * configure.ac: Stop generating gstdint.h. - * src/c++11/compatibility-atomic-c++0x.cc: Stop using gstdint.h. - * Makefile.in: Regenerate. - * aclocal.m4: Regenerate. - * config.h.in: 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++20/Makefile.in: Regenerate. - * src/c++98/Makefile.in: Regenerate. - * src/filesystem/Makefile.in: Regenerate. - * src/libbacktrace/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - -2022-10-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107376 - * include/bits/regex_executor.h (_Executor::_Executor): Use same - allocator for _M_cur_results and _M_results. - * include/bits/regex_executor.tcc (_Executor::_M_main_dispatch): - Prevent possibly incorrect allocator propagating to - _M_cur_results. - * testsuite/28_regex/algorithms/regex_match/107376.cc: New test. - -2022-10-26 Marek Polacek <polacek@redhat.com> - - PR c++/106393 - * include/bits/locale_classes.tcc: Add #pragma to disable - -Wdangling-reference with std::use_facet. - -2022-10-21 Arsen Arsenović <arsen@aarsen.me> - - * acinclude.m4: Default hosted to off if building without - headers and without newlib. - * configure: Regenerate. - -2022-10-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/mofunc_impl.h (move_only_function::__param_t): - Use __is_scalar instead of is_trivially_copyable. - * testsuite/20_util/move_only_function/call.cc: Check parameters - involving incomplete types. - -2022-10-20 Patrick Palka <ppalka@redhat.com> - - * include/std/charconv (__detail::__from_chars_alnum_to_val_table): - Redefine as a class template containing the members type, value and - _S_make_table. Don't use a local class as the table type. - (__detail::__table): Remove. - (__detail::__from_chars_alnum_to_val): Adjust after the above. - -2022-10-19 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (views::__detail::__is_repeat_view): Define - and later define a partial specialization. - (views::__detail::__take_of_repeat_view): Declare and later define. - (views::__detail::__drop_of_repeat_view): Likewise. - (views::_Take::operator()): Return a repeat_view if the argument - is a repeat_view as per P2474R2. - (views::_Drop::operator()): Likewise. - (repeat_view): Befriend __take/drop_of_repeat_view. - * testsuite/std/ranges/repeat/1.cc (test04): New test. - -2022-10-19 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/107313 - * include/std/ranges (stride_view::_Iterator::operator-): Fix typo. - * testsuite/std/ranges/adaptors/stride/1.cc (test03): New test. - -2022-10-19 LIU Hao <lh_mouse@126.com> - - * src/c++11/thread.cc (get_nprocs): Add new implementation - for native Windows targets - -2022-10-19 LIU Hao <lh_mouse@126.com> - - * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Use - implementation from mcfgthread if available - * libsupc++/guard.cc (__cxa_guard_acquire, __cxa_guard_release, - __cxa_guard_abort): Use implementations from mcfgthread if - available - * configure: Regenerate - -2022-10-19 Jakub Jelinek <jakub@redhat.com> - - PR c++/106652 - * include/std/limits: Fix a typo, 202202L -> 202002L. - (numeric_limits::<_Float16>::radix, numeric_limits::<_Float32>::radix, - numeric_limits::<_Float64>::radix, numeric_limits::<_Float128>::radix, - numeric_limits::<__gnu_cxx::__bfloat16_t>::radix): Use __FLT_RADIX__ - macro instead of type specific macros. - * include/c_global/cmath (nextafter(_Float16, _Float16)): New - overload. - (nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): - Likewise. - * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc - (test_functions): Uncomment nextafter test. Fix up sph_neumann call. - * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc: New test. - -2022-10-18 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (stride_view): Define. - (stride_view::_Iterator): Define. - (views::__detail::__can_stride_view): Define. - (views::_Stride, views::stride): Define. - * testsuite/std/ranges/adaptors/stride/1.cc: New test. - -2022-10-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/106652 - * include/std/stdfloat: New file. - * include/std/numbers (__glibcxx_numbers): Define and use it - for __float128 explicit instantiations as well as - _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t. - * include/std/atomic (atomic<_Float16>, atomic<_Float32>, - atomic<_Float64>, atomic<_Float128>, atomic<__gnu_cxx::__bfloat16_t>): - New explicit instantiations. - * include/std/type_traits (__is_floating_point_helper<_Float16>, - __is_floating_point_helper<_Float32>, - __is_floating_point_helper<_Float64>, - __is_floating_point_helper<_Float128>, - __is_floating_point_helper<__gnu_cxx::__bfloat16_t>): Likewise. - * include/std/limits (__glibcxx_concat3_, __glibcxx_concat3, - __glibcxx_float_n): Define. - (numeric_limits<_Float16>, numeric_limits<_Float32>, - numeric_limits<_Float64>, numeric_limits<_Float128>, - numeric_limits<__gnu_cxx::__bfloat16_t>): New explicit instantiations. - * include/bits/std_abs.h (abs): New overloads for - _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t. - * include/bits/c++config (_GLIBCXX_LDOUBLE_IS_IEEE_BINARY128): Define - if long double is IEEE quad. - (__gnu_cxx::__bfloat16_t): New using. - * include/c_global/cmath (acos, asin, atan, atan2, ceil, cos, cosh, - exp, fabs, floor, fmod, frexp, ldexp, log, log10, modf, pow, sin, - sinh, sqrt, tan, tanh, fpclassify, isfinite, isinf, isnan, isnormal, - signbit, isgreater, isgreaterequal, isless, islessequal, - islessgreater, isunordered, acosh, asinh, atanh, cbrt, copysign, erf, - erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, - llrint, llround, log1p, log2, logb, lrint, lround, nearbyint, - nextafter, remainder, rint, round, scalbln, scalbn, tgamma, trunc, - lerp): New overloads with _Float{16,32,64,128} or - __gnu_cxx::__bfloat16_t types. - * config/os/gnu-linux/os_defines.h (_GLIBCXX_HAVE_FLOAT128_MATH): - Prepare for definition if glibc 2.26 and later implements *f128 APIs - but comment out the actual definition for now. - * include/ext/type_traits.h (__promote<_Float16>, __promote<_Float32>, - __promote<_Float64>, __promote<_Float128>, - __promote<__gnu_cxx::__bfloat16_t>): New specializations. - * include/Makefile.am (std_headers): Add stdfloat. - * include/Makefile.in: Regenerated. - * include/precompiled/stdc++.h: Include stdfloat. - * testsuite/18_support/headers/stdfloat/types_std.cc: New test. - * testsuite/18_support/headers/limits/synopsis_cxx23.cc: New test. - * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: - New test. - * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: New test. - * testsuite/26_numerics/numbers/4.cc: New test. - * testsuite/29_atomics/atomic_float/requirements_cxx23.cc: New test. - -2022-10-17 Jonathan Wakely <jwakely@redhat.com> - - * include/std/charconv (__cpp_lib_constexpr_charconv): Define to - correct value. - * include/std/version (__cpp_lib_constexpr_charconv): Likewise. - * testsuite/20_util/to_chars/constexpr.cc: Check correct value. - * testsuite/20_util/to_chars/version.cc: Likewise. - -2022-10-15 Jonathan Wakely <jwakely@redhat.com> - - * src/c++11/debug.cc (print_raw): Move inside #if block. - -2022-10-15 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/charconv.h (__to_chars_10_impl): Add constexpr - for C++23. Remove 'static' from array. - * include/std/charconv (__cpp_lib_constexpr_charconv): Define. - (__to_chars, __to_chars_16): Remove 'static' from array, add - constexpr. - (__to_chars_10, __to_chars_8, __to_chars_2, __to_chars_i) - (to_chars, __raise_and_add, __from_chars_pow2_base) - (__from_chars_alnum, from_chars): Add constexpr. - (__from_chars_alnum_to_val): Avoid local static during constant - evaluation. Add constexpr. - * include/std/version (__cpp_lib_constexpr_charconv): Define. - * testsuite/20_util/from_chars/constexpr.cc: New test. - * testsuite/20_util/to_chars/constexpr.cc: New test. - * testsuite/20_util/to_chars/version.cc: New test. - -2022-10-15 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_map.h (map::insert(Pair&&)): Use - remove_const_t on argument to __is_pair. - * include/bits/stl_pair.h (__is_pair<const pair<T,U>>): Remove - partial specialization. - * include/bits/uses_allocator_args.h (_Std_pair): Use - remove_cv_t as per LWG 3677. - * testsuite/20_util/uses_allocator/lwg3677.cc: New test. - -2022-10-14 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/eh_alloc.cc [USE_POOL]: New macro. - [!USE_POOL] (__gnu_cxx::__freeres, pool): Do not define. - [_GLIBCXX_EH_POOL_STATIC] (pool::arena): Do not use std::max. - (__cxxabiv1::__cxa_allocate_exception) [!USE_POOL]: Do not use - pool. - (__cxxabiv1::__cxa_free_exception) [!USE_POOL]: Likewise. - (__cxxabiv1::__cxa_allocate_dependent_exception) [!USE_POOL]: - Likewise. - (__cxxabiv1::__cxa_free_dependent_exception) [!USE_POOL]: - Likewise. - -2022-10-14 Jonathan Wakely <jwakely@redhat.com> - - * src/c++11/debug.cc (print_raw): Simplify. - (print_word): Print indentation by calling fprintf directly. - (_Error_formatter::_M_error): Print unindented string by calling - fprintf directly. - -2022-10-14 Jonathan Wakely <jwakely@redhat.com> - - * include/std/iostream: Use markdown in Doxygen comment. - -2022-10-12 François Dumont <fdumont@gcc.gnu.org> - - * include/debug/string: Add using _Base::compare. - (__gnu_debug::basic_string<>::compare(const basic_string<>&)): Remove. - (__gnu_debug::basic_string<>::compare(size_type, size_type, const basic_string<>&)): - Remove. - (__gnu_debug::basic_string<>::compare(size_type, size_type, const basic_string<>&, - size_type, size_type)): Remove. - * testsuite/util/testsuite_string.h [_GLIBCXX_TEST_DEBUG_STRING]: Include <debug/string>. - * testsuite/21_strings/basic_string/operations/compare/char/1.cc: Include testsuite_string.h - and use __gnu_test::string. - * testsuite/21_strings/basic_string/operations/compare/char/13650.cc: Likewise. - * testsuite/21_strings/basic_string/operations/compare/char/2.cc: Likewise. - * testsuite/21_strings/basic_string/operations/rfind/char/1.cc: Likewise. - * testsuite/21_strings/basic_string/operations/rfind/char/2.cc: Likewise. - * testsuite/21_strings/basic_string/operations/rfind/char/3.cc: Likewise. - * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc: - Include testsuite_string.h - and use __gnu_test::wstring. - * testsuite/21_strings/basic_string/operations/compare/wchar_t/13650.cc: Likewise. - * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: Likewise. - -2022-10-12 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (repeat_view): Define. - (repeat_view::_Iterator): Define. - (views::__detail::__can_repeat_view): Define. - (views::__detail::__can_bounded_repeat_view): Define. - (views::_Repeat, views::repeat): Define. - * testsuite/std/ranges/repeat/1.cc: New test. - -2022-10-12 Martin Liska <mliska@suse.cz> - - * configure: Regenerate. - -2022-10-11 Jonathan Wakely <jwakely@redhat.com> - - PR bootstrap/107221 - * libsupc++/eh_alloc.cc (pool): Change preprocessor condition - for using __mutex from __GTHREADS to _GLIBCXX_HOSTED. - (pool::allocate): Remove namespace qualification to use - pool::__scoped_lock instead of __gnu_cxx::__scoped_lock. - -2022-10-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/68606 - * Makefile.in: Regenerate. - * acinclude.m4 (GLIBCXX_EMERGENCY_EH_ALLOC): New macro. - * configure: Regenerate. - * configure.ac: Use GLIBCXX_EMERGENCY_EH_ALLOC. - * crossconfig.m4: Check for secure_getenv. - * doc/Makefile.in: Regenerate. - * doc/xml/manual/configure.xml: Document new configure options. - * doc/xml/manual/evolution.xml: Document addition of tunables. - * doc/xml/manual/using_exceptions.xml: Document emergency - buffer and tunables. - * doc/html/*: Regenerate. - * include/Makefile.in: Regenerate. - * libsupc++/Makefile.am: Use EH_POOL_FLAGS. - * libsupc++/Makefile.in: Regenerate. - * libsupc++/eh_alloc.cc (EMERGENCY_OBJ_SIZE): Define in units - of sizeof(void*) not including the ABI's exception header. - (EMERGENCY_OBJ_COUNT): Define as target-independent calculation - based on word size. - (MAX_OBJ_COUNT): Define macro for upper limit on pool size. - (pool) [_GLIBCXX_EH_POOL_STATIC]: Use fixed-size buffer. - (pool::buffer_size_in_bytes): New static member function. - (pool::pool): Parse GLIBCXX_TUNABLES environment variable to set - pool size at runtime. - (pool::in_pool): Use std::less<void*> for total order. - (__freeres) [_GLIBCXX_EH_POOL_STATIC]: Do nothing. - (__cxa_free_exception, __cxa_free_dependent_exception): Add - [[unlikely]] attributes. - * 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++20/Makefile.in: Regenerate. - * src/c++98/Makefile.in: Regenerate. - * src/filesystem/Makefile.in: Regenerate. - * src/libbacktrace/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - -2022-10-11 Olivier Hainque <hainque@adacore.com> - Olivier Hainque <hainque@adacore.com> - - * configure: Regenerate. - -2022-10-10 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (make_signed, make_unsigned): Remove - constraints on primary template. - * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: - Undo changes to expected error in C++20 mode. - * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: - Likewise. - * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc: - Likewise. - * testsuite/20_util/make_signed/requirements/uninstantiated.cc: - New test. - * testsuite/20_util/make_unsigned/requirements/uninstantiated.cc: - New test. - -2022-10-10 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (make_signed, make_unsigned): Add - specializations for cv bool. Add requires-clause for C++20 to - improve diagnostics for non-integral, non-enum cases. - * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: - Check cv bool. - * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: - Likewise. - * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc: - Adjust expected errors for C++20 and later. - * testsuite/lib/prune.exp: Prune "in requirements [with ...]" - lines from diagnostics. - -2022-10-07 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): Add libstdcxx-hosted - enable arg as an alias for hosted-libstdcxx enable arg. - * configure: Regenerate. - -2022-10-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/std_function.h: Include <new> but do not include - <bits/stl_function.h>. - * include/std/functional: Do not include <new>. - -2022-10-07 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/intro.xml: Add role="bold" attribute to - emphasis elements for issue titles. - * doc/html/manual/bugs.html: Regenerate. - -2022-10-05 Jonathan Wakely <jwakely@redhat.com> - - * include/Makefile.in: Regenerate. - -2022-10-05 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/invoke.h (__invoke_r): Check - __has_builtin(__reference_converts_from_temporary) before using - built-in. - -2022-10-04 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/ranges/adaptors/join_with/1.cc: Remove unused - <sstream header. - (test04): Remove constexpr for old std::string ABI and test at - runtime. - -2022-10-04 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (remove_cv): Use __remove_cv built-in. - (remove_reference): Use __remove_reference built-in. - (remove_cvref): Use __remove_cvref built-in. Remove inheritance - for fallback implementation. - -2022-10-04 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/random.h (__is_seed_seq): Replace with ... - (_If_seed_seq_for): ... this. - * include/ext/random: Adjust to use _If_seed_seq_for. - -2022-10-04 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (join_with_view::_Iterator::operator*): - Replace use of std::visit with manual visitation. - (join_with_view::_Iterator::operator++): Likewise. - (join_with_view::_Iterator::operator--): Likewise. - (join_with_view::_Iterator::iter_move): Likewise. - (join_with_view::_Iterator::iter_swap): Likewise. - -2022-10-04 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/25_algorithms/stable_sort/mem_check.cc: Do nto run - for freestanding. - -2022-10-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107139 - * include/std/coroutine: Remove all _GLIBCXXHOSTED preprocessor - conditionals. - -2022-10-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107134 - * include/c_global/cstdint [!_GLIBCXX_HOSTED]: Include - <stdint-gcc.h> directly. - -2022-10-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107135 - * include/bits/functexcept.h [!_GLIBCXX_HOSTED] - (__throw_invalid_argument, __throw_out_of_range) - (__throw_out_of_range_fmt, __throw_runtime_error) - (__throw_overflow_error): Define inline. - * include/std/bitset (_M_copy_from_ptr) [!_GLIBCXX_HOSTED]: - Replace __builtin_abort with __throw_invalid_argument. - -2022-10-04 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges: Include <variant> for C++23. - (__detail::__compatible_joinable_ranges): Define. - (__detail::__bidirectional_common): Define. - (join_with_view): Define. - (join_with_view::_Iterator): Define. - (join_with_view::_Sentinel): Define. - (views::__detail::__can_join_with_view): Define. - (views::_JoinWith, views::join_with): Define. - * testsuite/std/ranges/adaptors/join_with/1.cc: New test. - -2022-10-04 Arsen Arsenović <arsen@aarsen.me> - - * include/std/iostream: Use ///< for inline documentation. - * include/std/limits: Likewise. - * include/experimental/internet: Likewise. - -2022-10-03 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/status_cxx2020.xml: Update C++20 status. - * doc/html/manual/status.html: Regenerate. - -2022-10-03 Arsen Arsenović <arsen@aarsen.me> - - PR libstdc++/103626 - * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: - Require ET hosted. - * testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise. - * testsuite/18_support/new_nothrow.cc: Likewise. - * testsuite/20_util/allocator/105975.cc: Likewise. - * testsuite/20_util/allocator/14176.cc: Likewise. - * testsuite/20_util/allocator/64135.cc: Likewise. - * testsuite/20_util/allocator/89510.cc: Likewise. - * testsuite/20_util/allocator/lwg3190.cc: Likewise. - * testsuite/20_util/allocator/overaligned.cc: Likewise. - * testsuite/20_util/allocator/rebind_c++20.cc: Likewise. - * testsuite/20_util/allocator/requirements/constexpr.cc: - Likewise. - * testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc: - Likewise. - * testsuite/20_util/allocator/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/allocator/requirements/typedefs_c++20.cc: - Likewise. - * testsuite/20_util/allocator/void.cc: Likewise. - * testsuite/20_util/allocator_traits/header-2.cc: Likewise. - * testsuite/20_util/allocator_traits/header.cc: Likewise. - * testsuite/20_util/allocator_traits/members/92878_92947.cc: - Likewise. - * testsuite/20_util/allocator_traits/members/pointers.cc: - Likewise. - * testsuite/20_util/allocator_traits/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/bad_function_call/cons_virtual_derivation.cc: - Likewise. - * testsuite/20_util/bind/42593.cc: Likewise. - * testsuite/20_util/bitset/access/dr396.cc: Likewise. - * testsuite/20_util/bitset/access/to_string.cc: Likewise. - * testsuite/20_util/bitset/cons/16020.cc: Likewise. - * testsuite/20_util/bitset/cons/dr1325-2.cc: Likewise. - * testsuite/20_util/bitset/cons/dr396.cc: Likewise. - * testsuite/20_util/bitset/debug/invalidation/1.cc: Likewise. - * testsuite/20_util/bitset/ext/15361.cc: Likewise. - * testsuite/20_util/bitset/operations/13838.cc: Likewise. - * testsuite/20_util/bitset/operations/96303.cc: Likewise. - * testsuite/20_util/bitset/version.cc: Likewise. - * testsuite/20_util/enable_shared_from_this/56383.cc: Likewise. - * testsuite/20_util/enable_shared_from_this/89303.cc: Likewise. - * testsuite/20_util/enable_shared_from_this/members/assign.cc: - Likewise. - * testsuite/20_util/enable_shared_from_this/members/const.cc: - Likewise. - * testsuite/20_util/enable_shared_from_this/members/reinit.cc: - Likewise. - * testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: - Likewise. - * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: - Likewise. - * testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/forward/1.cc: Likewise. - * testsuite/20_util/forward/1_neg.cc: Likewise. - * testsuite/20_util/function/1.cc: Likewise. - * testsuite/20_util/function/10.cc: Likewise. - * testsuite/20_util/function/2.cc: Likewise. - * testsuite/20_util/function/3.cc: Likewise. - * testsuite/20_util/function/4.cc: Likewise. - * testsuite/20_util/function/43397.cc: Likewise. - * testsuite/20_util/function/48541.cc: Likewise. - * testsuite/20_util/function/5.cc: Likewise. - * testsuite/20_util/function/58569.cc: Likewise. - * testsuite/20_util/function/6.cc: Likewise. - * testsuite/20_util/function/60594.cc: Likewise. - * testsuite/20_util/function/65760.cc: Likewise. - * testsuite/20_util/function/69222.cc: Likewise. - * testsuite/20_util/function/7.cc: Likewise. - * testsuite/20_util/function/77322.cc: Likewise. - * testsuite/20_util/function/8.cc: Likewise. - * testsuite/20_util/function/9.cc: Likewise. - * testsuite/20_util/function/91456.cc: Likewise. - * testsuite/20_util/function/assign/move.cc: Likewise. - * testsuite/20_util/function/assign/move_target.cc: Likewise. - * testsuite/20_util/function/cmp/cmp_neg.cc: Likewise. - * testsuite/20_util/function/cons/55320.cc: Likewise. - * testsuite/20_util/function/cons/57465.cc: Likewise. - * testsuite/20_util/function/cons/72820.cc: Likewise. - * testsuite/20_util/function/cons/addressof.cc: Likewise. - * testsuite/20_util/function/cons/callable.cc: Likewise. - * testsuite/20_util/function/cons/deduction.cc: Likewise. - * testsuite/20_util/function/cons/lwg2774.cc: Likewise. - * testsuite/20_util/function/cons/move.cc: Likewise. - * testsuite/20_util/function/cons/move_target.cc: Likewise. - * testsuite/20_util/function/cons/noexcept.cc: Likewise. - * testsuite/20_util/function/cons/non_copyconstructible.cc: - Likewise. - * testsuite/20_util/function/cons/refqual.cc: Likewise. - * testsuite/20_util/function/cons/70692.cc: Likewise. - * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise. - * testsuite/20_util/function/invoke/forwarding.cc: Likewise. - * testsuite/20_util/function/invoke/move_only.cc: Likewise. - * testsuite/20_util/function/null_pointer_comparisons.cc: - Likewise. - * testsuite/20_util/function/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/function/target_no_rtti.cc: Likewise. - * testsuite/20_util/function_objects/83607.cc: Likewise. - * testsuite/20_util/function_objects/mem_fn/adl.cc: Likewise. - * testsuite/20_util/headers/cstdlib/functions_std.cc: Likewise. - * testsuite/20_util/headers/functional/types_std_c++0x.cc: - Likewise. - * testsuite/20_util/headers/memory/types_std_c++0x.cc: Likewise. - * testsuite/20_util/is_function/35637.cc: Likewise. - * testsuite/20_util/move/1.cc: Likewise. - * testsuite/20_util/move_only_function/call.cc: Likewise. - * testsuite/20_util/move_only_function/cons.cc: Likewise. - * testsuite/20_util/move_only_function/move.cc: Likewise. - * testsuite/20_util/move_only_function/version.cc: Likewise. - * testsuite/20_util/owner_less/cmp.cc: Likewise. - * testsuite/20_util/owner_less/noexcept.cc: Likewise. - * testsuite/20_util/owner_less/void.cc: Likewise. - * testsuite/20_util/pointer_safety/1.cc: Likewise. - * testsuite/20_util/scoped_allocator/65279.cc: Likewise. - * testsuite/20_util/scoped_allocator/69293_neg.cc: Likewise. - * testsuite/20_util/scoped_allocator/construct_pair.cc: - Likewise. - * testsuite/20_util/scoped_allocator/dr2586.cc: Likewise. - * testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise. - * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise. - * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. - * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: - Likewise. - * testsuite/20_util/shared_ptr/assign/dr541.cc: Likewise. - * testsuite/20_util/shared_ptr/assign/move.cc: Likewise. - * testsuite/20_util/shared_ptr/assign/sfinae.cc: Likewise. - * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise. - * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: - Likewise. - * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: - Likewise. - * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: - Likewise. - * testsuite/20_util/shared_ptr/atomic/1.cc: Likewise. - * testsuite/20_util/shared_ptr/atomic/2.cc: Likewise. - * testsuite/20_util/shared_ptr/casts/1.cc: Likewise. - * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise. - * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise. - * testsuite/20_util/shared_ptr/comparison/42925.cc: Likewise. - * testsuite/20_util/shared_ptr/comparison/86537.cc: Likewise. - * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise. - * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: - Likewise. - * testsuite/20_util/shared_ptr/comparison/dr1401.cc: Likewise. - * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/39405.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/46910.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/51365.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/52924.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/55123.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/58659.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/58839.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/61036.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/79467.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/80229.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/array.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/default.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/lwg2802.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/lwg3548.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/move.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc: - Likewise. - * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: - Likewise. - * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: - Likewise. - * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc: - Likewise. - * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: - Likewise. - * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/36949.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc: - Likewise. - * testsuite/20_util/shared_ptr/creation/58594.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/87278.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/92878_92947.cc: - Likewise. - * testsuite/20_util/shared_ptr/creation/99006.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/make.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/private.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/single_allocation.cc: - Likewise. - * testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc: - Likewise. - * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. - * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise. - * testsuite/20_util/shared_ptr/hash/1.cc: Likewise. - * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise. - * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise. - * testsuite/20_util/shared_ptr/misc/get_deleter.cc: Likewise. - * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise. - * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise. - * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise. - * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: - Likewise. - * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise. - * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise. - * testsuite/20_util/shared_ptr/observers/array.cc: Likewise. - * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise. - * testsuite/20_util/shared_ptr/observers/get.cc: Likewise. - * testsuite/20_util/shared_ptr/observers/owner_before.cc: - Likewise. - * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise. - * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise. - * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc: - Likewise. - * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/20_util/shared_ptr/requirements/weak_type.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/construct_at/95788.cc: - Likewise. - * testsuite/20_util/temporary_buffer.cc: Likewise. - * testsuite/20_util/tuple/48476.cc: Likewise. - * testsuite/20_util/tuple/cons/90700.cc: Likewise. - * testsuite/20_util/tuple/cons/96803.cc: Likewise. - * testsuite/20_util/tuple/cons/allocator_with_any.cc: Likewise. - * testsuite/20_util/tuple/cons/allocators.cc: Likewise. - * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: - Likewise. - * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise. - * testsuite/20_util/tuple/p2321r2.cc: Likewise. - * testsuite/20_util/unique_ptr/creation/92878_92947.cc: - Likewise. - * testsuite/20_util/unique_ptr/creation/array.cc: Likewise. - * testsuite/20_util/unique_ptr/creation/array_neg.cc: Likewise. - * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise. - * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: - Likewise. - * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc: - Likewise. - * testsuite/20_util/unique_ptr/creation/single.cc: Likewise. - * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise. - * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise. - * testsuite/20_util/uses_allocator/uninitialized_construct.cc: - Likewise. - * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise. - * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise. - * testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc: - Likewise. - * testsuite/20_util/weak_ptr/lock/1.cc: Likewise. - * testsuite/20_util/weak_ptr/observers/owner_before.cc: - Likewise. - * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc: - Likewise. - * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/21_strings/basic_string/version.cc: Likewise. - * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: - Likewise. - * testsuite/21_strings/c_strings/char/69626.cc: Likewise. - * testsuite/21_strings/char_traits/requirements/version.cc: - Likewise. - * testsuite/23_containers/vector/requirements/version.cc: - Likewise. - * testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/24_iterators/insert_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/24_iterators/istream_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/24_iterators/istreambuf_iterator/92285.cc: Likewise. - * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc: - Likewise. - * testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc: - Likewise. - * testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/25_algorithms/constexpr_macro.cc: Likewise. - * testsuite/25_algorithms/equal/constrained.cc: Likewise. - * testsuite/25_algorithms/headers/cstdlib/functions_std.cc: - Likewise. - * testsuite/25_algorithms/inplace_merge/1.cc: Likewise. - * testsuite/25_algorithms/lexicographical_compare/constrained.cc: - Likewise. - * testsuite/25_algorithms/make_heap/movable.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise. - * testsuite/25_algorithms/random_shuffle/1.cc: Likewise. - * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise. - * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/sort/35588.cc: Likewise. - * testsuite/25_algorithms/stable_partition/1.cc: Likewise. - * testsuite/25_algorithms/stable_partition/constrained.cc: - Likewise. - * testsuite/25_algorithms/stable_partition/mem_check.cc: - Likewise. - * testsuite/25_algorithms/stable_partition/moveable.cc: - Likewise. - * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/stable_sort/1.cc: Likewise. - * testsuite/26_numerics/complex/2.cc: Likewise. - * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise. - * testsuite/26_numerics/headers/cstdlib/2190.cc: Likewise. - * testsuite/26_numerics/headers/cstdlib/60401.cc: Likewise. - * testsuite/26_numerics/headers/cstdlib/dr2192.cc: Likewise. - * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: Likewise. - * testsuite/26_numerics/headers/cstdlib/dr2735.cc: Likewise. - * testsuite/26_numerics/headers/cstdlib/functions_std.cc: - Likewise. - * testsuite/26_numerics/headers/cstdlib/macros.cc: Likewise. - * testsuite/26_numerics/headers/cstdlib/types_std.cc: Likewise. - * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: - Likewise. - * testsuite/26_numerics/lerp/version.cc: Likewise. - * testsuite/26_numerics/midpoint/version.cc: Likewise. - * testsuite/27_io/basic_syncbuf/2.cc: Likewise. - * testsuite/27_io/basic_syncstream/2.cc: Likewise. - * testsuite/27_io/fpos/14320-1.cc: Likewise. - * testsuite/27_io/fpos/14320-2.cc: Likewise. - * testsuite/27_io/fpos/14320-3.cc: Likewise. - * testsuite/27_io/fpos/14320-4.cc: Likewise. - * testsuite/27_io/spanstream/version.cc: Likewise. - * testsuite/29_atomics/atomic/lwg3220.cc: Likewise. - * testsuite/29_atomics/atomic/operators/51811.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. - * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. - * testsuite/30_threads/barrier/2.cc: Likewise. - * testsuite/30_threads/condition_variable_any/stop_token/2.cc: - Likewise. - * testsuite/30_threads/jthread/version.cc: Likewise. - * testsuite/30_threads/latch/2.cc: Likewise. - * testsuite/30_threads/semaphore/2.cc: Likewise. - * testsuite/30_threads/stop_token/2.cc: Likewise. - * testsuite/abi/pr42230.cc: Likewise. - * testsuite/ext/shared_ptr/1.cc: Likewise. - * testsuite/libstdc++-xmethods/shared_ptr.cc: Likewise. - * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise. - * testsuite/std/ranges/adaptors/p1739.cc: Likewise. - * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise. - * testsuite/std/ranges/p2325.cc: Likewise. - -2022-10-03 Jonathan Wakely <jwakely@redhat.com> - - * include/std/bitset (bitset(const C*, size_type n, C, C)) - [!_GLIBCXX_HOSTED]: Remove std::basic_string dependency. - (_M_copy_from_ptr) [!_GLIBCXX_HOSTED]: Abort instead of - throwing. - -2022-10-03 Arsen Arsenović <arsen@aarsen.me> - - PR libstdc++/103626 - * include/std/bitset [!_GLIBCXX_HOSTED]: Re-enable std::hash. - * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Require ET - hosted. - * testsuite/20_util/bitset/ext/constexpr.cc: Likewise. - -2022-10-03 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103626 - * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): - Also require hosted. - (check_effective_target_hosted): New proc. - -2022-10-03 Arsen Arsenović <arsen@aarsen.me> - Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103626 - * testsuite/17_intro/headers/c++1998/stdc++.cc [!__STDC_HOSTED__]: - Do not include C headers that aren't valid for freestanding. - * testsuite/17_intro/tag_type_explicit_ctor.cc [!__STDC_HOSTED__]: - Do not test tag types that aren't defined for freestanding. - * testsuite/18_support/headers/cstdlib/functions_std.cc: Do not - check for std::getenv and std::system for freestanding. - * testsuite/17_intro/using_namespace_std_exp_neg.cc [!__STDC_HOSTED__]: - Do not test hosted parts of the standard library. - * testsuite/17_intro/using_namespace_std_tr1_neg.cc [!__STDC_HOSTED__]: - Likewise. - * testsuite/20_util/allocator_traits/members/rebind_alloc.cc [!__STDC_HOSTED__]: - Likewise. - * testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc [!HOSTED]: - Likewise. - * testsuite/20_util/headers/bitset/synopsis.cc [!__STDC_HOSTED__]: Likewise. - * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc [!__STDC_HOSTED__]: - Likewise. - * testsuite/20_util/pointer_traits/requirements/typedefs.cc [!__STDC_HOSTED__]: - Likewise. - * testsuite/20_util/tuple/cons/deduction.cc [!__STDC_HOSTED__]: Likewise. - * testsuite/25_algorithms/move/93872.cc [!__STDC_HOSTED__]: Likewise. - * testsuite/std/ranges/adaptors/100577.cc [!__STDC_HOSTED__]: Likewise. - -2022-10-03 Arsen Arsenović <arsen@aarsen.me> - - PR libstdc++/106953 - * include/Makefile.am [!_GLIBCXX_HOSTED]: Remove - install-freestanding-headers, unifying it with the usual - install-headers - * include/Makefile.in: Regenerate. - -2022-10-03 Arsen Arsenović <arsen@aarsen.me> - Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103626 - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/bits/requires_hosted.h: New header. - * include/experimental/algorithm: Include - <bits/requires_hosted.h>. - * include/experimental/any: Likewise. - * include/experimental/array: Likewise. - * include/experimental/buffer: Likewise. - * include/experimental/chrono: Likewise. - * include/experimental/deque: Likewise. - * include/experimental/executor: Likewise. - * include/experimental/filesystem: Likewise. - * include/experimental/forward_list: Likewise. - * include/experimental/functional: Likewise. - * include/experimental/internet: Likewise. - * include/experimental/io_context: Likewise. - * include/experimental/iterator: Likewise. - * include/experimental/list: Likewise. - * include/experimental/map: Likewise. - * include/experimental/memory: Likewise. - * include/experimental/memory_resource: Likewise. - * include/experimental/net: Likewise. - * include/experimental/netfwd: Likewise. - * include/experimental/numeric: Likewise. - * include/experimental/optional: Likewise. - * include/experimental/propagate_const: Likewise. - * include/experimental/random: Likewise. - * include/experimental/ratio: Likewise. - * include/experimental/regex: Likewise. - * include/experimental/scope: Likewise. - * include/experimental/set: Likewise. - * include/experimental/simd: Likewise. - * include/experimental/socket: Likewise. - * include/experimental/source_location: Likewise. - * include/experimental/string: Likewise. - * include/experimental/string_view: Likewise. - * include/experimental/system_error: Likewise. - * include/experimental/timer: Likewise. - * include/experimental/tuple: Likewise. - * include/experimental/unordered_map: Likewise. - * include/experimental/unordered_set: Likewise. - * include/experimental/utility: Likewise. - * include/experimental/vector: Likewise. - * include/std/barrier: Likewise. - * include/std/chrono: Likewise. - * include/std/condition_variable: Likewise. - * include/std/deque: Likewise. - * include/std/execution: Likewise. - * include/std/filesystem: Likewise. - * include/std/forward_list: Likewise. - * include/std/fstream: Likewise. - * include/std/future: Likewise. - * include/std/iomanip: Likewise. - * include/std/ios: Likewise. - * include/std/iosfwd: Likewise. - * include/std/iostream: Likewise. - * include/std/istream: Likewise. - * include/std/latch: Likewise. - * include/std/list: Likewise. - * include/std/locale: Likewise. - * include/std/map: Likewise. - * include/std/memory_resource: Likewise. - * include/std/mutex: Likewise. - * include/std/ostream: Likewise. - * include/std/queue: Likewise. - * include/std/random: Likewise. - * include/std/regex: Likewise. - * include/std/semaphore: Likewise. - * include/std/set: Likewise. - * include/std/shared_mutex: Likewise. - * include/std/spanstream: Likewise. - * include/std/sstream: Likewise. - * include/std/stack: Likewise. - * include/std/stacktrace: Likewise. - * include/std/stop_token: Likewise. - * include/std/streambuf: Likewise. - * include/std/string: Likewise. - * include/std/syncstream: Likewise. - * include/std/system_error: Likewise. - * include/std/thread: Likewise. - * include/std/unordered_map: Likewise. - * include/std/unordered_set: Likewise. - * include/std/valarray: Likewise. - * include/std/vector: Likewise. - * include/tr1/array: Likewise. - * include/tr1/ccomplex: Likewise. - * include/tr1/cctype: Likewise. - * include/tr1/cfenv: Likewise. - * include/tr1/cfloat: Likewise. - * include/tr1/cinttypes: Likewise. - * include/tr1/climits: Likewise. - * include/tr1/cmath: Likewise. - * include/tr1/complex: Likewise. - * include/tr1/complex.h: Likewise. - * include/tr1/cstdarg: Likewise. - * include/tr1/cstdbool: Likewise. - * include/tr1/cstdint: Likewise. - * include/tr1/cstdio: Likewise. - * include/tr1/cstdlib: Likewise. - * include/tr1/ctgmath: Likewise. - * include/tr1/ctime: Likewise. - * include/tr1/ctype.h: Likewise. - * include/tr1/cwchar: Likewise. - * include/tr1/cwctype: Likewise. - * include/tr1/fenv.h: Likewise. - * include/tr1/float.h: Likewise. - * include/tr1/functional: Likewise. - * include/tr1/inttypes.h: Likewise. - * include/tr1/limits.h: Likewise. - * include/tr1/math.h: Likewise. - * include/tr1/memory: Likewise. - * include/tr1/random: Likewise. - * include/tr1/regex: Likewise. - * include/tr1/stdarg.h: Likewise. - * include/tr1/stdbool.h: Likewise. - * include/tr1/stdint.h: Likewise. - * include/tr1/stdio.h: Likewise. - * include/tr1/stdlib.h: Likewise. - * include/tr1/tgmath.h: Likewise. - * include/tr1/tuple: Likewise. - * include/tr1/type_traits: Likewise. - * include/tr1/unordered_map: Likewise. - * include/tr1/unordered_set: Likewise. - * include/tr1/utility: Likewise. - * include/tr1/wchar.h: Likewise. - * include/tr1/wctype.h: Likewise. - * include/c_global/cmath: Likewise. - * include/ext/algorithm: Include <bits/requires_hosted.h>. - * include/ext/bitmap_allocator.h: Likewise. - * include/ext/cmath: Likewise. - * include/ext/codecvt_specializations.h: Likewise. - * include/ext/debug_allocator.h: Likewise. - * include/ext/enc_filebuf.h: Likewise. - * include/ext/extptr_allocator.h: Likewise. - * include/ext/functional: Likewise. - * include/ext/malloc_allocator.h: Likewise. - * include/ext/memory: Likewise. - * include/ext/mt_allocator.h: Likewise. - * include/ext/new_allocator.h: Likewise. - * include/ext/numeric: Likewise. - * include/ext/pod_char_traits.h: Likewise. - * include/ext/pool_allocator.h: Likewise. - * include/ext/random: Likewise. - * include/ext/random.tcc: Likewise. - * include/ext/rb_tree: Likewise. - * include/ext/rc_string_base.h: Likewise. - * include/ext/rope: Likewise. - * include/ext/ropeimpl.h: Likewise. - * include/ext/slist: Likewise. - * include/ext/sso_string_base.h: Likewise. - * include/ext/stdio_filebuf.h: Likewise. - * include/ext/stdio_sync_filebuf.h: Likewise. - * include/ext/string_conversions.h: Likewise. - * include/ext/throw_allocator.h: Likewise. - * include/ext/vstring.h: Likewise. - * include/ext/vstring.tcc: Likewise. - * include/ext/vstring_fwd.h: Likewise. - * include/ext/vstring_util.h: Likewise. - * include/std/charconv: Likewise. - (__cpp_lib_to_chars): Do not define for freestanding. - * include/std/version: Adjust which macros get defined in - freestanding. - * include/ext/pointer.h [!_GLIBCXX_HOSTED]: Omit iostream - functionality from freestanding. - * include/std/algorithm [!_GLIBCXX_HOSTED]: Omit PSTL algos. - * include/std/memory [!_GLIBCXX_HOSTED]: Omit - <bits/stl_tempbuf.h> in freestanding - * include/bits/algorithmfwd.h [!_GLIBCXX_HOSTED]: Omit leftover - random_shuffle and stable_partition definition. - * include/bits/stl_algo.h [!_GLIBCXX_HOSTED]: Omit - random_shuffle and stable_partition from freestanding. - * include/bits/ranges_algo.h [!_GLIBCXX_HOSTED]: Omit - stable_partition from freestanding. - * include/bits/concept_check.h: Remove needless HOSTED check. - * include/std/iterator: Include <bits/ranges_base.h>. - * include/std/numeric (__cpp_lib_parallel_algorithms): Do not - define for freestanding. - * include/std/functional (__cpp_lib_boyer_moore_searcher): - Likewise. - * testsuite/lib/prune.exp: Match error for hosted-only libstdc++ - tests. - -2022-10-03 Jonathan Wakely <jwakely@redhat.com> - Arsen Arsenović <arsen@aarsen.me> - - * include/precompiled/extc++.h [!_GLIBCXX_HOSTED]: Do not - include headers that aren't valid for freestanding. - * include/precompiled/stdc++.h [!_GLIBCXX_HOSTED]: Likewise. - -2022-10-03 Arsen Arsenović <arsen@aarsen.me> - - * configure.ac: Remove any lines that unconditionally include - <stdio.h> from ac_includes_default, when running Autoconf <2.70. - * configure: Regenerate. - -2022-10-03 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103626 - * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): Define _GLIBCXX_HOSTED - to __STDC_HOSTED__ for non-freestanding installations. - * configure: Regenerate. - * include/Makefile.am (${host_builddir}/c++config.h): Adjust - grep pattern. - * include/Makefile.in: Regenerate. - * testsuite/lib/libstdc++.exp (v3-build_support): Use - -fno-freestanding. - * testsuite/libstdc++-abi/abi.exp: Likewise. - -2022-10-03 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: - Change body of unused operator<< overload to throw if called. - * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: - Likewise. - -2022-10-03 François Dumont <fdumont@gcc.gnu.org> - - * python/libstdcxx/v6/printers.py (Printer.add_version): Do not add version - namespace for __cxx11 symbols. - (add_one_template_type_printer): Likewise. - (add_one_type_printer): Likewise. - (FilteringTypePrinter._recognizer.recognize): Add a workaround for std::string & al - ambiguous typedef matching both std:: and std::__cxx11:: symbols. - * testsuite/libstdc++-prettyprinters/cxx17.cc: Remove obsolete - \#define _GLIBCXX_USE_CXX11_ABI 0. - * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. Adapt test to accept - std::__cxx11::list. - * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. - * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. - * testsuite/libstdc++-prettyprinters/80276.cc: Likewise and remove xfail for c++20 - and debug mode. - * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. - -2022-09-30 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/bitset/access/to_ulong.cc: Construct bitset - from binary literal instead of using stringstream. - -2022-09-30 Jonathan Wakely <jwakely@redhat.com> - - * include/std/bitset (operator>>): Use a simple buffer instead - of std::basic_string. - -2022-09-30 Jonathan Wakely <jwakely@redhat.com> - - * include/std/bitset (_M_copy_from_ptr, _M_copy_from_string) - (_M_copy_to_string): Change access to private. - (_M_copy_from_string(const basic_string&, size_t, size_t)): - Remove. - (_M_copy_to_string(const basic_string&)): Remove. - -2022-09-30 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/bind/ref_neg.cc: Fix dg-prune-output - directive. - -2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * testsuite/20_util/bind/ref_neg.cc: Prune Windows paths too. - -2022-09-30 Arsen Arsenović <arsen@aarsen.me> - - * include/std/bitset: Include <bits/stl_algobase.h>. - -2022-09-29 François Dumont <fdumont@gcc.gnu.org> - - * python/libstdcxx/v6/printers.py (add_one_template_type_printer): Register - printer for types in std::__debug namespace with template parameters in std::__8 - namespace. - -2022-09-29 Patrick Palka <ppalka@redhat.com> - - * include/bits/unique_ptr.h (unique_ptr<_Tp[], _Dp>): Remove - __remove_cv and use __remove_cv_t instead. - -2022-09-29 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (__is_invocable_impl): Check - __has_builtin(__reference_converts_from_temporary) before using - built-in. - -2022-09-28 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/evolution.xml: Document std::bind API - changes. - * doc/xml/manual/intro.xml: Document LWG 2487 status. - * doc/xml/manual/using.xml: Clarify default value of - _GLIBCXX_USE_DEPRECATED. - * doc/html/*: Regenerate. - * include/std/functional (_Bind::operator()(Args&&...) volatile) - (_Bind::operator()(Args&&...) const volatile) - (_Bind_result::operator()(Args&&...) volatile) - (_Bind_result::operator()(Args&&...) const volatile): Replace - with deleted overload for C++20 and later. - * testsuite/20_util/bind/cv_quals.cc: Check for deprecated - warnings in C++17. - * testsuite/20_util/bind/cv_quals_2.cc: Likewise, and check for - ill-formed in C++20. - -2022-09-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/70692 - * include/bits/invoke.h [__cplusplus < 201703] (__invoke_r): - Remove is_invocable and is_convertible constraints. - * include/std/type_traits (__is_invocable_impl::_S_conv): Use - non-deduced context for parameter. - (__is_invocable_impl::_S_test): Remove _Check_noex template - parameter and use deduced noexcept value in its place. Add bool - parameter to detect dangling references. - (__is_invocable_impl::type): Adjust call to _S_test to avoid - deducing unnecessary noexcept property.. - (__is_invocable_impl::__nothrow_type): Rename to ... - (__is_invocable_impl::__nothrow_conv): ... this. Adjust call - to _S_test to deduce noexcept property. - * testsuite/20_util/bind/dangling_ref.cc: New test. - * testsuite/20_util/function/cons/70692.cc: New test. - * testsuite/20_util/function_objects/invoke/dangling_ref.cc: - New test. - * testsuite/20_util/is_invocable/dangling_ref.cc: New test. - * testsuite/30_threads/packaged_task/cons/dangling_ref.cc: - New test. - -2022-09-27 Jonathan Wakely <jwakely@redhat.com> - - PR c++/107049 - * testsuite/20_util/is_convertible/requirements/access.cc: New - test. - -2022-09-27 Jonathan Wakely <jwakely@redhat.com> - - PR c++/106651 - * include/bits/std_function.h (__function_guide_t): New alias - template. - [__cpp_static_call_operator] (__function_guide_static_helper): - New class template. - (function): Use __function_guide_t in deduction guide. - * include/std/future (packaged_task): Use __function_guide_t in - deduction guide. - * testsuite/20_util/function/cons/deduction_c++23.cc: New test. - * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc: - New test. - -2022-09-26 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ptr_traits.h (__ptr_traits_elem) [__cpp_concepts]: - Also define the __ptr_traits_elem class template for the - concepts case. - (pointer_traits<Ptr>): Remove constrained partial - specialization. - * testsuite/20_util/pointer_traits/lwg3545.cc: Check for - ambiguitiy with program-defined partial specialization. - -2022-09-26 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (is_convertible, is_convertible_v): - Define using new built-in. - (is_nothrow_convertible is_nothrow_convertible_v): Likewise. - -2022-09-26 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107037 - * include/std/bitset (_Base_bitset::_M_do_reset): Use - preprocessor conditional around non-C++03 code. - * testsuite/20_util/bitset/107037.cc: New test. - -2022-09-24 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/alloc_traits.h (allocator_traits::is_always_equal): - Only instantiate is_empty if needed. - * include/bits/ptr_traits.h (__ptr_traits_impl::difference_type) - (__ptr_traits_impl::rebind): Use __detected_or. - * include/experimental/type_traits (is_same_v): Add a partial - specialization instead of instantiating the std::is_same class - template. - (detected_t): Redefine in terms of detected_or_t. - (is_detected, is_detected_v): Redefine in terms of detected_t. - * include/std/type_traits [__cpp_concepts] (__detected_or): Add - new definition using concepts. - (__detector::value_t): Rename to __is_detected. - * testsuite/17_intro/names.cc: Check value_t isn't used. - -2022-09-23 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/is_assignable/requirements/access.cc: - New test. - -2022-09-23 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/91456 - * include/std/type_traits (__is_nothrow_invocable_lib): Remove. - (__is_invocable_impl::__nothrow_type): New member type which - checks if the conversion can throw. - (__is_nt_invocable_impl): Replace class template with alias - template to __is_nt_invocable_impl::__nothrow_type. - * testsuite/20_util/is_nothrow_invocable/91456.cc: New test. - * testsuite/20_util/is_nothrow_convertible/value.cc: Remove - macro used by value_ext.cc test. - * testsuite/20_util/is_nothrow_convertible/value_ext.cc: Remove - test for non-standard __is_nothrow_invocable_lib trait. - -2022-09-23 Marek Polacek <polacek@redhat.com> - - PR c++/106784 - * include/std/type_traits: Rename __is_nothrow_convertible to - __is_nothrow_convertible_lib. - * testsuite/20_util/is_nothrow_convertible/value_ext.cc: Likewise. - -2022-09-23 Jonathan Wakely <jwakely@redhat.com> - - * include/std/bitset (operator>>): Do not copy for N==0. - * testsuite/20_util/bitset/io/input.cc: Add comment. - -2022-09-23 Jonathan Wakely <jwakely@redhat.com> - - * include/debug/bitset (__debug::bitset): Add constexpr to all - member functions. - (operator&, operator|, operator^): Add inline and constexpr. - (operator>>, operator<<): Add inline. - * testsuite/20_util/bitset/access/constexpr.cc: Only check using - constexpr std::string for the cxx11 ABI. - * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise. - * testsuite/20_util/headers/bitset/synopsis.cc: Check constexpr - for C++23. - -2022-09-23 Jonathan Wakely <jwakely@redhat.com> - - * include/std/bitset (bitset::_M_copy_to_string): Find set bits - instead of iterating over individual bits. - -2022-09-22 Jonathan Wakely <jwakely@redhat.com> - - * include/std/bitset (bitset): Add constexpr for C++23. Guard - members using std::string with _GLIBCXX_HOSTED. - * include/std/version (__cpp_lib_constexpr_bitset): Define. - * testsuite/20_util/bitset/access/constexpr.cc: New test. - * testsuite/20_util/bitset/cons/constexpr_c++23.cc: New test. - * testsuite/20_util/bitset/count/constexpr.cc: New test. - * testsuite/20_util/bitset/ext/constexpr.cc: New test. - * testsuite/20_util/bitset/operations/constexpr_c++23.cc: New test. - * testsuite/20_util/bitset/version.cc: New test. - -2022-09-22 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/bitset/18604.cc: Moved to... - * testsuite/20_util/bitset/18604.cc: ...here. - * testsuite/23_containers/bitset/45713.cc: Moved to... - * testsuite/20_util/bitset/45713.cc: ...here. - * testsuite/23_containers/bitset/to_string/dr396.cc: Moved to... - * testsuite/20_util/bitset/access/dr396.cc: ...here. - * testsuite/23_containers/bitset/to_string/1.cc: Moved to... - * testsuite/20_util/bitset/access/to_string.cc: ...here. - * testsuite/23_containers/bitset/to_ullong/1.cc: Moved to... - * testsuite/20_util/bitset/access/to_ullong.cc: ...here. - * testsuite/23_containers/bitset/to_ulong/1.cc: Moved to... - * testsuite/20_util/bitset/access/to_ulong.cc: ...here. - * testsuite/23_containers/bitset/cons/1.cc: Moved to... - * testsuite/20_util/bitset/cons/1.cc: ...here. - * testsuite/23_containers/bitset/cons/16020.cc: Moved to... - * testsuite/20_util/bitset/cons/16020.cc: ...here. - * testsuite/23_containers/bitset/cons/2.cc: Moved to... - * testsuite/20_util/bitset/cons/2.cc: ...here. - * testsuite/23_containers/bitset/cons/3.cc: Moved to... - * testsuite/20_util/bitset/cons/3.cc: ...here. - * testsuite/23_containers/bitset/cons/38244.cc: Moved to... - * testsuite/20_util/bitset/cons/38244.cc: ...here. - * testsuite/23_containers/bitset/cons/50268.cc: Moved to... - * testsuite/20_util/bitset/cons/50268.cc: ...here. - * testsuite/23_containers/bitset/cons/6282.cc: Moved to... - * testsuite/20_util/bitset/cons/6282.cc: ...here. - * testsuite/23_containers/bitset/cons/constexpr.cc: Moved to... - * testsuite/20_util/bitset/cons/constexpr.cc: ...here. - * testsuite/23_containers/bitset/cons/dr1325-1.cc: Moved to... - * testsuite/20_util/bitset/cons/dr1325-1.cc: ...here. - * testsuite/23_containers/bitset/cons/dr1325-2.cc: Moved to... - * testsuite/20_util/bitset/cons/dr1325-2.cc: ...here. - * testsuite/23_containers/bitset/cons/dr396.cc: Moved to... - * testsuite/20_util/bitset/cons/dr396.cc: ...here. - * testsuite/23_containers/bitset/debug/invalidation/1.cc: Moved to... - * testsuite/20_util/bitset/debug/invalidation/1.cc: ...here. - * testsuite/23_containers/bitset/ext/15361.cc: Moved to... - * testsuite/20_util/bitset/ext/15361.cc: ...here. - * testsuite/23_containers/bitset/hash/1.cc: Moved to... - * testsuite/20_util/bitset/hash/1.cc: ...here. - * testsuite/23_containers/bitset/input/1.cc: Moved to... - * testsuite/20_util/bitset/io/input.cc: ...here. - * testsuite/23_containers/bitset/count/6124.cc: Moved to... - * testsuite/20_util/bitset/observers/6124.cc: ...here. - * testsuite/23_containers/bitset/all/1.cc: Moved to... - * testsuite/20_util/bitset/observers/all.cc: ...here. - * testsuite/23_containers/bitset/test/1.cc: Moved to... - * testsuite/20_util/bitset/observers/test.cc: ...here. - * testsuite/23_containers/bitset/operations/1.cc: Moved to... - * testsuite/20_util/bitset/operations/1.cc: ...here. - * testsuite/23_containers/bitset/operations/13838.cc: Moved to... - * testsuite/20_util/bitset/operations/13838.cc: ...here. - * testsuite/23_containers/bitset/operations/2.cc: Moved to... - * testsuite/20_util/bitset/operations/2.cc: ...here. - * testsuite/23_containers/bitset/operations/96303.cc: Moved to... - * testsuite/20_util/bitset/operations/96303.cc: ...here. - * testsuite/23_containers/bitset/operations/constexpr-2.cc: Moved to... - * testsuite/20_util/bitset/operations/constexpr-2.cc: ...here. - * testsuite/23_containers/bitset/operations/constexpr.cc: Moved to... - * testsuite/20_util/bitset/operations/constexpr.cc: ...here. - * testsuite/23_containers/bitset/requirements/constexpr_functions.cc: Moved to... - * testsuite/20_util/bitset/requirements/constexpr_functions.cc: ...here. - * testsuite/23_containers/bitset/requirements/explicit_instantiation/1.cc: Moved to... - * testsuite/20_util/bitset/requirements/explicit_instantiation/1.cc: ...here. - * testsuite/23_containers/bitset/requirements/explicit_instantiation/1_c++0x.cc: Moved to... - * testsuite/20_util/bitset/requirements/explicit_instantiation/1_c++0x.cc: ...here. - * testsuite/23_containers/headers/bitset/synopsis.cc: Moved to... - * testsuite/20_util/headers/bitset/synopsis.cc: ...here. - -2022-09-22 François Dumont <fdumont@gcc.gnu.org> - - * python/libstdcxx/v6/printers.py: Remove ptinter registration for non-existing - types std::__debug::unique_ptr, std::__debug::stack, std::__debug::queue, - std::__debug::priority_queue. - -2022-09-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/91456 - * testsuite/20_util/function/91456.cc: Add comment with PR - number. - * testsuite/20_util/is_invocable/91456.cc: Likewise. Replace - std::function checks with std::is_invocable_r checks. - -2022-09-21 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove - unnecessary main function. - * 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. - -2022-09-21 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/headers/memory/synopsis.cc: Add declarations - from C++11 and later. - -2022-09-21 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/documentation_hacking.xml: Remove trailing - whitespace. - * doc/xml/manual/policy_data_structures.xml: Likewise. - -2022-09-21 Jonathan Wakely <jwakely@redhat.com> - - * include/c_compatibility/stdlib.h [!_GLIBCXX_HOSTED]: Add - using-declaration for _Exit. - -2022-09-21 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/18_support/uncaught_exception/14026.cc: Qualify - call to std::abort. - -2022-09-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ranges_base.h: Include <initializer_list>. - -2022-09-20 Jonathan Wakely <jwakely@redhat.com> - - * include/c_global/cstdlib [!_GLIBCXX_HOSTED] (quick_exit): Fix - missing space. - -2022-09-16 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/106953 - * include/backward/auto_ptr.h [!_GLIBCXX_HOSTED]: Do not define - shared_ptr members. - * include/bits/alloc_traits.h [!_GLIBCXX_HOSTED]: Do not declare - std::allocator_traits<std::allocator<T>> specializations for - freestanding. - * include/bits/memoryfwd.h [!_GLIBCXX_HOSTED] (allocator): Do - not declare for freestanding. - * include/bits/stl_algo.h [!_GLIBCXX_HOSTED] (stable_partition): - Do not define for freestanding. - [!_GLIBCXX_HOSTED] (merge, stable_sort): Do not use temporary - buffers for freestanding. - * include/bits/stl_algobase.h [!_GLIBCXX_HOSTED]: Do not declare - streambuf iterators and overloaded algorithms using them. - * include/bits/stl_uninitialized.h [!_GLIBCXX_HOSTED]: Do not - define specialized overloads for std::allocator. - * include/bits/unique_ptr.h [!_GLIBCXX_HOSTED] (make_unique) - (make_unique_for_overwrite, operator<<): Do not define for - freestanding. - * include/c_global/cstdlib [!_GLIBCXX_HOSTED] (_Exit): Declare. - Use _GLIBCXX_NOTHROW instead of throw(). - * include/debug/assertions.h [!_GLIBCXX_HOSTED]: Ignore - _GLIBCXX_DEBUG for freestanding. - * include/debug/debug.h [!_GLIBCXX_DEBUG]: Likewise. - * include/std/bit [!_GLIBCXX_HOSTED]: Do not use the custom - __int_traits if <ext/numeric_traits.h> is available. - * include/std/functional [!_GLIBCXX_HOSTED]: Do not include - headers that aren't valid for freestanding. - (boyer_moore_searcher, boyer_moore_horspool_searcher): Do not - define for freestanding. - * include/std/iterator [!_GLIBCXX_HOSTED]: Do not include - headers that aren't valid for freestanding. - * include/std/memory [!_GLIBCXX_HOSTED]: Likewise. - * include/std/ranges [!_GLIBCXX_HOSTED] (istream_view): Do not - define for freestanding. - (views::__detail::__is_basic_string_view) [!_GLIBCXX_HOSTED]: - Do not define partial specialization for freestanding. - -2022-09-16 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/alloc_traits.h (__alloc_swap) - (__shrink_to_fit_aux): Move here, from ... - * include/bits/allocator.h: ... here. - * include/ext/alloc_traits.h: Do not include allocator.h. - -2022-09-16 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_algo.h: Include <bits/stl_algobase.h>. - * include/bits/stl_tempbuf.h: Include headers for __try and - __catch macros, std::pair, and __gnu_cxx::__numeric_traits. - * include/bits/stream_iterator.h: Include <iosfwd> and headers - for std::addressof and std::iterator. - * include/bits/streambuf_iterator.h: Include header for - std::iterator. - * include/std/iterator: Do not include <iosfwd>. - -2022-09-16 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: - Store value with non-zero padding bits after construction. - -2022-09-16 Jonathan Wakely <jwakely@redhat.com> - - * include/tr1/random.h (__detail::_Adaptor::_BEngine): Remove. - (__detail::_Adaptor::_M_g): Make public. - (__detail::_Adaptor<_Engine*, _Dist>): Remove partial - specialization. - (variate_generate::_Value): New helper to simplify handling of - _Engine* and _Engine& template arguments. - (variate_generate::engine_value_type): Define to underlying - engine type, not adapted type. - (variate_generate::engine()): Return underlying engine instead - of adaptor. - * testsuite/tr1/5_numerical_facilities/random/variate_generator/37986.cc: - Fix comment. - * testsuite/tr1/5_numerical_facilities/random/variate_generator/requirements/typedefs.cc: - Check member typedefs have the correct types. - -2022-09-16 Jonathan Wakely <jwakely@redhat.com> - - * include/debug/formatter.h [_GLIBCXX_DEBUG_BACKTRACE] - (_Error_formatter): Use 0 as null pointer constant. - -2022-09-16 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/allocator.h (__alloc_neq): Remove. - * include/bits/stl_list.h (list::_M_check_equal_allocators): - Compare allocators directly, without __alloc_neq. - -2022-09-16 Jonathan Wakely <jwakely@redhat.com> - - * doc/doxygen/user.cfg.in (PREDEFINED): Remove __allocator_base. - * include/bits/allocator.h: Fix nesting of Doxygen commands. - -2022-09-16 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/abi.xml: Document GLIBCXX_3.4.30 and - GLIBCXX_3.4.31 versions. - * doc/html/manual/abi.html: Regenerate. - -2022-09-15 Jonathan Wakely <jwakely@redhat.com> - - * include/std/memory: Do not include <bits/stl_algobase.h>. - -2022-09-15 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_PRE_LOCK): - Replace with ... - (_GLIBCXX_TSAN_MUTEX_TRY_LOCK): ... this, add try_lock flag. - (_GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED): New macro using - try_lock_failed flag - (_GLIBCXX_TSAN_MUTEX_POST_LOCK): Rename to ... - (_GLIBCXX_TSAN_MUTEX_LOCKED): ... this. - (_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK): Remove invalid flag. - (_GLIBCXX_TSAN_MUTEX_POST_UNLOCK): Remove invalid flag. - (_Sp_atomic::_Atomic_count::lock): Use new macros. - -2022-09-15 Patrick Palka <ppalka@redhat.com> - - * include/bits/ranges_algo.h (__adjacent_find_fn, adjacent_find): - Move to ... - * include/bits/ranges_util.h: ... here. - * include/std/ranges (chunk_by_view): Define. - (chunk_by_view::_Iterator): Define. - (__detail::__can_chunk_by_view): Define. - (_ChunkBy, chunk_by): Define. - * testsuite/std/ranges/adaptors/chunk_by/1.cc: New test. - -2022-09-15 François Dumont <fdumont@gcc.gnu.org> - - * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc: - Adapt dg-prune-output to _GLIBCXX_INLINE_VERSION mode. - -2022-09-15 François Dumont <fdumont@gcc.gnu.org> - - * config/abi/pre/gnu-versioned-namespace.ver: Remove obsolete std::__detail::__8 - symbols. - -2022-09-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_DESTROY) - (_GLIBCXX_TSAN_MUTEX_PRE_LOCK, _GLIBCXX_TSAN_MUTEX_POST_LOCK) - (_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK, _GLIBCXX_TSAN_MUTEX_POST_UNLOCK) - (_GLIBCXX_TSAN_MUTEX_PRE_SIGNAL, _GLIBCXX_TSAN_MUTEX_POST_SIGNAL): - Define macros for TSan annotation functions. - (_Sp_atomic::_Atomic_count): Add annotations. - -2022-09-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_tempbuf.h: Include <new>. - -2022-09-14 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/17_intro/names.cc: Explain why poison pragma can't - be used. - -2022-09-14 Jonathan Wakely <jwakely@redhat.com> - - * include/std/future - (_State_baseV2::__setter(exception_ptr&, promise&)): Add - assertion for LWG 2276 precondition. - * testsuite/30_threads/promise/members/set_exception_neg.cc: - New test. - -2022-09-14 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/intro.xml: Document LWG 1203. - * doc/html/*: Regenerate. - -2022-09-14 Philipp Fent <fent@in.tum.de> - - * python/libstdcxx/v6/printers.py (access_streambuf_ptrs): - New helper function. - (StdStringBufPrinter, StdStringStreamPrinter): New printers. - (build_libstdcxx_dictionary): Register stringstream printers. - * testsuite/libstdc++-prettyprinters/debug.cc: Check string - streams. - * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. - * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. - -2022-09-13 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (__detail::__slide_caches_nothing): Define. - (__detail::__slide_caches_last): Define. - (__detail::__slide_caches_first): Define. - (slide_view): Define. - (enable_borrowed_range<slide_view>): Define. - (slide_view::_Iterator): Define. - (slide_view::_Sentinel): Define. - (views::__detail::__can_slide_view): Define. - (views::_Slide, views::slide): Define. - * testsuite/std/ranges/adaptors/slide/1.cc: New test. - -2022-09-13 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (__detail::__div_ceil): Define. - (chunk_view): Define. - (chunk_view::_OuterIter): Define. - (chunk_view::_OuterIter::value_type): Define. - (chunk_view::_InnerIter): Define. - (chunk_view<_Vp>): Define partial specialization for forward - ranges. - (enable_borrowed_range<chunk_view>): Define. - (chunk_view<_Vp>::_Iterator): Define. - (views::__detail::__can_chunk_view): Define. - (views::_Chunk, views::chunk): Define. - * testsuite/std/ranges/adaptors/chunk/1.cc: New test. - -2022-09-13 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (join_view::_Iterator::_M_satisfy): - Adjust resetting _M_inner as per LWG 3569. - (join_view::_Iterator::_M_inner): Wrap in std::optional - as per LWG 3569. - (join_view::_Iterator::_Iterator): Relax constraints as - per LWG 3569. - (join_view::_Iterator::operator*): Adjust as per LWG 3569. - (join_view::_Iterator::operator->): Likewise. - (join_view::_Iterator::operator++): Likewise. - (join_view::_Iterator::operator--): Likewise. - (join_view::_Iterator::iter_move): Likewise. - (join_view::_Iterator::iter_swap): Likewise. - * testsuite/std/ranges/adaptors/join.cc (test14): New test. - -2022-09-13 Patrick Palka <ppalka@redhat.com> - - * include/debug/safe_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS): - Add parentheses to avoid -Wparentheses warning. - -2022-09-12 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/106320 - * testsuite/std/ranges/adaptors/join.cc (test13): New test. - -2022-09-12 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Fix - comments. - * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: - Likewise. - -2022-09-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/105329 - * acinclude.m4 (libtool_VERSION): Change to 6:31:0. - * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Don't export - std::basic_string methods with name length of 15. - (GLIBCXX_3.4.31): Export std::basic_string::_M_replace_cold. - * testsuite/util/testsuite_abi.cc (check_version): Handle - GLIBCXX_3.4.31. - * include/bits/basic_string.h (std::basic_string::_M_replace_cold): - Declare. - * include/bits/basic_string.tcc (std::basic_string::_M_replace_cold): - Define and export even for C++20. - (std::basic_string::_M_replace): Use __builtin_expect, outline - the overlapping case to _M_replace_cold. - * configure: Regenerated. - -2022-09-09 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/atomic_base.h (__atomic_impl::__compare_exchange): - Rename __weak to __is_weak. - * testsuite/17_intro/names.cc: Add __weak and __strong. - -2022-09-09 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/106803 - * include/std/ranges (views::_ZipTransform::operator()): Correct - return type in the empty case. - (views::_AdjacentTransform::operator()): Likewise. - -2022-09-09 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/106798 - * include/std/ranges (adjacent_view::_Iterator::_Iterator): Fix - typo. - * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): New test. - -2022-09-09 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/106766 - * include/std/ranges (zip_view::_Iterator::operator-): Use - __to_unsigned_like instead of make_unsigned_t. - (zip_view::_Sentinel::operator-): Likewise. - * testsuite/std/ranges/zip/1.cc (test04): New test. - -2022-09-08 François Dumont <fdumont@gcc.gnu.org> - - * testsuite/util/testsuite_performance.h (__gnu_test::MallocInfo): New. - (__gnu_test::malloc_info): New, replace mallinfo on current platform - supporting it and use mallinfo2 when glibc >= 2.33. - -2022-09-08 Jonathan Wakely <jwakely@redhat.com> - - PR c++/106838 - * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc: - Prune additional errors from front-end. - * testsuite/20_util/is_move_constructible/incomplete_neg.cc: - Likewise. - * testsuite/20_util/is_nothrow_swappable/incomplete_neg.cc: - Likewise. - * testsuite/20_util/is_nothrow_swappable_with/incomplete_neg.cc: - Likewise. - * testsuite/20_util/is_swappable_with/incomplete_neg.cc: - Likewise. - -2022-09-08 Jonathan Wakely <jwakely@redhat.com> - - * include/c_global/cstddef (byte): Add always_inline attribute - to all operator overloads. - (to_integer): Add always_inline attribute. - -2022-09-08 Thomas Rodgers <trodgers@redhat.com> - Jakub Jelinek <jakub@redhat.com> - Jonathan Wakely <jwakely@redhat.com> - - * include/bits/atomic_base.h (__atomic_impl::__maybe_has_padding): - New function. - (__atomic_impl::clear_padding): Likewise. - (__atomic_impl::__compare_exchange): Likewise. - (__atomic_impl::compare_exchange_weak): Delegate to - __compare_exchange. - (__atomic_impl::compare_exchange_strong): Likewise. - * include/std/atomic (atomic<T>::atomic(T)): Clear padding when - possible in a constexpr function. - (atomic::store): Clear padding. - (atomic::exchange): Likewise. - (atomic::compare_exchange_weak): Use __compare_exchange. - (atomic::compare_exchange_strong): Likewise. - * testsuite/29_atomics/atomic/compare_exchange_padding.cc: New - test. - * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: - New test. - -2022-09-08 Jonathan Wakely <jwakely@redhat.com> - - * include/std/system_error (__adl_only::make_error_code): Add - deleted function. - (__adl_only::make_error_condition): Likewise. - (error_code::error_code(ErrorCodeEnum)): Add using-declaration - for deleted function. - (error_condition::error_condition(ErrorConditionEnum)): - Likewise. - * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: New test. - * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: New test. - -2022-09-07 Jonathan Wakely <jwakely@redhat.com> - - * include/std/barrier: Add missing runtime exception. - -2022-09-07 Patrick Palka <ppalka@redhat.com> - - * include/std/type_traits (is_reference): Make the primary - template derive from false_type. Define two partial - specializations that derive from true_type. - -2022-09-07 Patrick Palka <ppalka@redhat.com> - - * include/std/type_traits (__is_void_helper): Remove. - (is_void): Make the primary template derive from false_type, - and define four explicit specializations that derive from - true_type. - (__is_null_pointer_helper, is_null_pointer): Likewise. - -2022-09-07 Jason Merrill <jason@redhat.com> - - * libsupc++/dyncast.cc (__dynamic_cast): Avoid virtual function - call in simple success case. - -2022-09-06 Philipp Fent <fent@in.tum.de> - - * testsuite/libstdc++-prettyprinters/48362.cc: Fix expected - tuple indices. - * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise. - -2022-09-05 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (__success_type, __failure_type): Move - definitions later in the file. - -2022-09-05 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (is_trivial_v, is_trivially_copyable_v) - (is_standard_layout_v, is_pod_v, is_literal_type_v): Use - built-in instead of class template. - (is_same_v): Add partial specialization for true case. - -2022-09-02 Patrick Palka <ppalka@redhat.com> - - * include/std/tuple (tuple::_UseOtherCtor): Use ::type when - deriving from __and_, __or_ or __not_. - * include/std/type_traits (negation): Likewise. - (is_unsigned): Likewise. - (__is_implicitly_default_constructible): Likewise. - (is_trivially_destructible): Likewise. - (__is_nt_invocable_impl): Likewise. - -2022-09-02 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (is_constructible_v) - (is_default_constructible_v, is_copy_constructible_v) - (is_move_constructible_v): Define using __is_constructible. - (is_assignable_v, is_copy_assignable_v, is_move_assignable_v): - Define using __is_assignable. - (is_trivially_constructible_v) - (is_trivially_default_constructible_v) - (is_trivially_copy_constructible_v) - (is_trivially_move_constructible_v): Define using - __is_trivially_constructible. - (is_trivially_assignable_v, is_trivially_copy_assignable_v) - (is_trivially_move_assignable_v): Define using - __is_trivially_assignable. - (is_nothrow_constructible_v) - (is_nothrow_default_constructible_v) - (is_nothrow_copy_constructible_v) - (is_nothrow_move_constructible_v): Define using - __is_nothrow_constructible. - (is_nothrow_assignable_v, is_nothrow_copy_assignable_v) - (is_nothrow_move_assignable_v): Define using - __is_nothrow_assignable. - -2022-09-02 Patrick Palka <ppalka@redhat.com> - - * include/std/type_traits (__or_, __and_, __not_): Redefine as a - class template instead of as an alias template. - * testsuite/20_util/logical_traits/requirements/short_circuit.cc: - Add more tests for conjunction and disjunction. Add corresponding - tests for __and_ and __or_. - -2022-09-01 Jonathan Wakely <jwakely@redhat.com> - - * include/std/ranges (adjacent_transform_view::_Iterator): Add - typename keyword before dependent qualified-id. - -2022-09-01 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (__is_referenceable): Remove. - (__add_lvalue_reference_helper, __add_rvalue_reference_helper): - Use __void_t instead of __is_referenceable. - (__add_pointer_helper): Likewise. - (add_pointer): Add partial specializations for reference types. - -2022-09-01 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (__is_constructible_impl): Replace - class template with alias template. - (is_default_constructible, is_nothrow_constructible) - (is_nothrow_constructible): Simplify base-specifier. - (__is_copy_constructible_impl, __is_move_constructible_impl) - (__is_nothrow_copy_constructible_impl) - (__is_nothrow_move_constructible_impl): Remove class templates. - (is_copy_constructible, is_move_constructible) - (is_nothrow_constructible, is_nothrow_default_constructible) - (is_nothrow_copy_constructible, is_nothrow_move_constructible): - Adjust base-specifiers to use __is_constructible_impl. - (__is_copy_assignable_impl, __is_move_assignable_impl) - (__is_nt_copy_assignable_impl, __is_nt_move_assignable_impl): - Remove class templates. - (__is_assignable_impl): New alias template. - (is_assignable, is_copy_assignable, is_move_assignable): - Adjust base-specifiers to use new alias template. - (is_nothrow_copy_assignable, is_nothrow_move_assignable): - Adjust base-specifiers to use existing alias template. - (__is_trivially_constructible_impl): New alias template. - (is_trivially_constructible, is_trivially_default_constructible) - (is_trivially_copy_constructible) - (is_trivially_move_constructible): Adjust base-specifiers to use - new alias template. - (__is_trivially_assignable_impl): New alias template. - (is_trivially_assignable, is_trivially_copy_assignable) - (is_trivially_move_assignable): Adjust base-specifier to use - new alias template. - (__add_lval_ref_t, __add_rval_ref_t): New alias templates. - (add_lvalue_reference, add_rvalue_reference): Use new alias - templates. - -2022-09-01 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (__decay_selector): Add partial - specializations for array types. Only check for function types - when not dealing with an array. - (decay): Add partial specializations for reference types. - -2022-09-01 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (is_lvalue_reference_v) - (is_rvalue_reference_v, is_reference_v, is_const_v) - (is_volatile_v): Define using partial specializations instead - of instantiating class templates. - -2022-09-01 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (is_enum_v, is_class_v, is_union_v) - (is_empty_v, is_polymoprhic_v, is_abstract_v, is_final_v) - (is_base_of_v, is_aggregate_v): Use built-in directly instead of - instantiating class template. - -2022-09-01 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (is_scoped_enum): Remove workaround. - -2022-09-01 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (__detail::__unarize): Define. - (adjacent_view::_Iterator): Befriend adjacent_transform_view. - (adjacent_transform_view): Define. - (adjacent_transform_view::_Iterator): Define. - (adjacent_transform_view::_Sentinel): Define. - (views::__detail::__can_adjacent_transform_view): Define. - (views::_AdjacentTransform): Define. - (views::adjacent_transform): Define. - (views::pairwise_transform): Define. - * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: New test. - -2022-09-01 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (__is_array_known_bounds): Add partial - specialization instead of using std::extent. - (__is_array_unknown_bounds): Likewise. - (extent): Add partial specializations to stop recursion after - the result is found. - (is_array_v): Add partial specializations instead of - instantiating the class template. - (rank_v, extent_v): Likewise. - (is_bounded_array_v, is_unbounded_array_v): Likewise. - (is_bounded_array, is_unbounded_array): Define in terms of the - variable templates. - -2022-08-31 Patrick Palka <ppalka@redhat.com> - - * include/bits/ranges_base.h (__advance_fn::operator()): Add - parentheses in assert condition to avoid -Wparentheses warning. - * include/std/ranges: (take_view::take_view): Uglify 'base'. - (take_while_view::take_while_view): Likewise. - (elements_view::elements_view): Likewise. - (views::_Zip::operator()): Adjust position of [[nodiscard]] for - compatibility with -fconcepts-ts. - (zip_transform_view::_Sentinel): Uglify 'OtherConst'. - (views::_ZipTransform::operator()): Adjust position of - [[nodiscard]] for compatibilty with -fconcepts-ts. - -2022-08-31 Martin Liska <mliska@suse.cz> - - * configure: Regenerate. - * crossconfig.m4: Remove deprecated ports. - -2022-08-31 François Dumont <fdumont@gcc.gnu.org> - - * include/debug/debug.h: Use nullptr rather than '0' in checks in post-C++11. - * include/debug/string: Likewise. - * testsuite/21_strings/basic_string/operations/ends_with/char.cc: Use __gnu_test::string. - * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc: Likewise. - * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc: Likewise. - * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc: Likewise. - * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc: Likewise. - * testsuite/21_strings/basic_string/operations/starts_with/char.cc: Likewise.. - -2022-08-31 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (adjacent_view): Define. - (enable_borrowed_range<adjacent_view>): Define. - (__detail::__repeated_tuple): Define. - (adjacent_view::_Iterator): Define. - (adjacent_view::_Sentinel): Define. - (views::__detail::__can_adjacent_view): Define. - (views::_Adjacent): Define. - (views::adjacent): Define. - (views::pairwise): Define. - * testsuite/std/ranges/adaptors/adjacent/1.cc: New test. - -2022-08-31 François Dumont <fdumont@gcc.gnu.org> - - * include/debug/formatter.h - [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_state): Declare. - [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_create_state): Declare. - [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full_callback): Define. - [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_error_callback): Define. - [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full_func): Define. - [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full): Declare. - [_GLIBCXX_HAVE_STACKTRACE](_Error_formatter::_M_backtrace_state): New. - [_GLIBCXX_HAVE_STACKTRACE](_Error_formatter::_M_backtrace_full): New. - * src/c++11/debug.cc [_GLIBCXX_HAVE_STACKTRACE](print_backtrace): New. - (_Error_formatter::_M_error()): Adapt. - * src/libbacktrace/Makefile.am: Add backtrace.c. - * src/libbacktrace/Makefile.in: Regenerate. - * src/libbacktrace/backtrace-rename.h (backtrace_full): New. - * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: New test. - * doc/xml/manual/debug_mode.xml: Document _GLIBCXX_DEBUG_BACKTRACE. - * doc/xml/manual/using.xml: Likewise. - -2022-08-31 Patrick Palka <ppalka@redhat.com> - - * testsuite/20_util/logical_traits/requirements/short_circuit.cc: New test. - -2022-08-31 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/refwrap.h (reference_wrapper::operator()): Add - noexcept-specifier and use __invoke_result instead of result_of. - * testsuite/20_util/reference_wrapper/invoke-noexcept.cc: New test. - -2022-08-31 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/reference_wrapper/invoke-2.cc: Improve - comments. - * testsuite/20_util/reference_wrapper/invoke-3.cc: Likewise. - * testsuite/20_util/reference_wrapper/invoke.cc: Likewise. - -2022-08-31 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.h (basic_string): Add nodiscard - attribute to all relevant functions. - * include/std/string_view (basic_string_view): Likewise. - * testsuite/21_strings/basic_string/capacity/1.cc: Cast unused - results to void. - * testsuite/21_strings/basic_string/capacity/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/char/self_move.cc: - Likewise. - * testsuite/21_strings/basic_string/element_access/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string/element_access/char/21674.cc: - Likewise. - * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc: - Likewise. - * testsuite/21_strings/basic_string/lwg2758.cc: Likewise. - * testsuite/21_strings/basic_string/lwg2946.cc: Likewise. - * testsuite/21_strings/basic_string/operations/contains/nonnull.cc: - Add -Wno-unused-result to options. - * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string/operators/char/1.cc: Cast - unused results to void. - * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/capacity/1.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/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: - Likewise. - Add -Wno-unused-result to options. - * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc: - Likewise. - * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Cast - unused results to void. - * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise. - * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: - Likewise. - -2022-08-27 Patrick Palka <ppalka@redhat.com> - - * testsuite/20_util/logical_traits/requirements/base_classes.cc: New test. - -2022-08-26 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (zip_view::_Iterator::operator<): Remove - as per LWG 3692. - (zip_view::_Iterator::operator>): Likewise. - (zip_view::_Iterator::operator<=): Likewise. - (zip_view::_Iterator::operator>=): Likewise. - (zip_view::_Iterator::operator<=>): Remove three_way_comparable - constraint as per LWG 3692. - (zip_transform_view::_Iterator): Ditto as per LWG 3702. - -2022-08-26 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (zip_view::_Iterator): Befriend - zip_transform_view. - (__detail::__range_iter_cat): Define. - (zip_transform_view): Define. - (zip_transform_view::_Iterator): Define. - (zip_transform_view::_Sentinel): Define. - (views::__detail::__can_zip_transform_view): Define. - (views::_ZipTransform): Define. - (views::zip_transform): Define. - * testsuite/std/ranges/zip_transform/1.cc: New test. - -2022-08-26 Patrick Palka <ppalka@redhat.com> - - * include/std/type_traits (enable_if, __enable_if_t): Define them - earlier. - (__detail::__first_t): Define. - (__detail::__or_fn, __detail::__and_fn): Declare. - (__or_, __and_): Redefine as alias templates in terms of __or_fn - and __and_fn. - (__not_): Redefine as an alias template. - (__detail::__disjunction_impl, __detail::__conjunction_impl): - Define. - (conjuction, disjunction): Redefine in terms of __disjunction_impl - and __conjunction_impl. - -2022-08-26 Jonathan Wakely <jwakely@redhat.com> - - * include/std/system_error (error_code::_Check): New alias - template for constructor SFINAE constraint. - (error_code::error_code(ErrorCodeEnum)): Use it. - (error_code::operator=(ErrorCodeEnum)): Remove. - (error_condition::_Check): New alias template for constraint. - (error_condition::error_condition(ErrorConditionEnum)): Use it. - (error_condition::operator=(ErrorConditionEnum)): Remove. - * testsuite/19_diagnostics/error_code/cons/1.cc: Check - constructor taking user-defined error enum. - * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise. - -2022-08-26 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.h (starts_with, ends_with, contains): - Add nonnull attribute. - * include/bits/cow_string.h (starts_with, ends_with, contains): - Likewise. - * include/std/string_view (starts_with, ends_with, contains): - Likewise. - * testsuite/21_strings/basic_string/operations/contains/nonnull.cc - * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc - * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc - * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc - * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc - * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc - -2022-08-25 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (lazy_split_view::_OuterIter::_M_current): - Remove redundant comment. - (lazy_split_view::_M_current): Likewise. - (common_view::common_view): Remove commented out view-converting - constructor as per LWG3405. - (elements_view::_Iterator::_Iterator): Uglify 'current' and 'i'. - -2022-08-24 Patrick Palka <ppalka@redhat.com> - - * include/bits/ranges_algo.h (__min_fn, min): Move to ... - * include/bits/ranges_util.h: ... here, in order to avoid - including all of ranges_algo.h from <ranges>. - * include/std/ranges (__detail::__zip_is_common): Define for - C++23 as per P2321R2. - (__detail::__tuple_or_pair): Likewise. - (__detail::__tuple_or_pair_t): Likewise. - (__detail::__tuple_transform): Likewise. - (__detail::__tuple_for_each): Likewise. - (zip_view): Likewise. - (enable_borrowed_range<zip_view>): Likewise. - (__detail::__all_random_access): Likewise. - (__detail::__all_bidirectional): Likewise. - (__detail::__all_forward): Likewise. - (__detail::__zip_view_iter_cat): Likewise. - (zip_view::_Iterator): Likewise. - (zip_view::_Sentinel): Likewise. - * testsuite/std/ranges/zip/1.cc: New test. - -2022-08-24 Jonathan Wakely <jwakely@redhat.com> - - Revert: - 2022-08-24 Will Hawkins <whh8b@obs.cr> - - * include/bits/basic_string.h (operator+(const string&, const char*)): - Remove naive implementation. - * include/bits/basic_string.tcc (operator+(const string&, const char*)): - Add single-allocation implementation. - -2022-08-24 Patrick Palka <ppalka@redhat.com> - - * include/bits/stl_pair.h (pair::swap const): Add non-standard - is_swappable_v constraints. - * include/std/tuple (tuple::swap const): Likewise. - * testsuite/20_util/tuple/cons/noexcept_specs.cc: Correct some - asserts in C++23 mode. - -2022-08-24 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_algo.h (__stable_sort): Cast size to - iterator's difference type. - * testsuite/25_algorithms/stable_sort/4.cc: New test. - -2022-08-24 Will Hawkins <whh8b@obs.cr> - - * include/bits/basic_string.h (operator+(const string&, const char*)): - Remove naive implementation. - * include/bits/basic_string.tcc (operator+(const string&, const char*)): - Add single-allocation implementation. - -2022-08-24 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/duration_cast/rounding.cc: Check abs with - non-reduced duration. - -2022-08-23 Patrick Palka <ppalka@redhat.com> - - * include/bits/stl_bvector.h (_Bit_reference::operator=): Define - const overload for C++23 as per P2321R2. - * include/bits/stl_pair.h (pair::swap): Likewise. - (pair::pair): Define additional converting constructors for - C++23 as per P2321R2. - (pair::operator=): Define const overloads for C++23 as per - P2321R2. - (swap): Define overload taking const pair& for C++23 as per - P2321R2. - (basic_common_reference): Define partial specialization for - pair for C++23 as per P2321R2. - (common_type): Likewise. - * include/bits/uses_allocator_args.h - (uses_allocator_construction_args): Define additional pair - overloads for C++23 as per P2321R2. - * include/std/tuple (_Tuple_impl::_Tuple_impl): Define - additional converting constructors for C++23 as per P2321R2. - (_Tuple_impl::_M_assign): Define const overloads for C++23 - as per P2321R2. - (_Tuple_impl::_M_swap): Likewise. - (tuple::__constructible): Define as a convenient renaming of - _TCC<true>::__constructible. - (tuple::__convertible): As above but for _TCC<true>::__convertible. - (tuple::tuple): Define additional converting constructors for - C++23 as per P2321R2. - (tuple::operator=): Define const overloads for C++23 as per - P2321R2. - (tuple::swap): Likewise. - (basic_common_reference): Define partial specialization for - tuple for C++23 as per P2321R2. - (common_type): Likewise. - * testsuite/20_util/pair/p2321r2.cc: New test. - * testsuite/20_util/tuple/p2321r2.cc: New test. - * testsuite/23_containers/vector/bool/element_access/1.cc: New test. - -2022-08-23 Patrick Palka <ppalka@redhat.com> - - * include/std/tuple (_TupleConstraints::__convertible): Define. - (_TupleConstraints::__constructible): Define. - (_TupleConstraints::__is_explicitly_constructible): Redefine this - in terms of __convertible and __constructible. - (_TupleConstraints::__is_implicitly_constructible): Likewise. - -2022-08-23 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/106589 - * include/std/variant (__do_visit): Handle is_void<R> for zero - argument case. - * testsuite/20_util/variant/visit_r.cc: Check std::visit<void>(v). - -2022-08-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105678 - * doc/xml/manual/using.xml: Document -lstdc++_libbacktrace - requirement for using std::stacktrace. Also adjust -frtti and - -fexceptions to document non-default (i.e. negative) forms. - * doc/html/*: Regenerate. - -2022-08-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/106695 - * include/bits/std_thread.h (thread::_State_impl): Forward - individual arguments to _Invoker constructor. - (thread::_Invoker): Add constructor. Delete copies. - * include/std/future (__future_base::_Deferred_state): Forward - individual arguments to _Invoker constructor. - (__future_base::_Async_state_impl): Likewise. - * testsuite/30_threads/async/106695.cc: New test. - * testsuite/30_threads/thread/106695.cc: New test. - -2022-08-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/106607 - * include/bits/regex_compiler.tcc (_Compiler::_M_cur_int_value): - Use built-ins to check for integer overflow in back-reference - number. - * testsuite/28_regex/basic_regex/106607.cc: New test. - -2022-08-17 Keef Aragon <keef.aragon@konscious.net> - - * libsupc++/eh_alloc.cc (pool::free): Inverse comparison. - -2022-08-08 François Dumont <fdumont@gcc.gnu.org> - - * include/debug/formatter.h (__singular_value_init): New _Iterator_state enum entry. - (_Parameter<>(const _Safe_iterator<>&, const char*, _Is_iterator)): Check if iterator - parameter is value-initialized. - (_Parameter<>(const _Safe_local_iterator<>&, const char*, _Is_iterator)): Likewise. - * include/debug/safe_iterator.h (_Safe_iterator<>::_M_value_initialized()): New. Adapt - checks. - * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_M_value_initialized()): New. - Adapt checks. - * src/c++11/debug.cc (_Safe_iterator_base::_M_reset): Do not reset _M_version. - (print_field(PrintContext&, const _Parameter&, const char*)): Adapt state_names. - * testsuite/23_containers/deque/debug/iterator1_neg.cc: New test. - * testsuite/23_containers/deque/debug/iterator2_neg.cc: New test. - * testsuite/23_containers/forward_list/debug/iterator1_neg.cc: New test. - * testsuite/23_containers/forward_list/debug/iterator2_neg.cc: New test. - * testsuite/23_containers/forward_list/debug/iterator3_neg.cc: New test. - -2022-08-05 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/scope (__cpp_lib_experimental_scope): - Define. - * testsuite/experimental/scopeguard/uniqueres.cc: Check macro. - -2022-08-05 Jonathan Wakely <jwakely@redhat.com> - - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/experimental/scope: New file. - * testsuite/experimental/scopeguard/uniqueres.cc: New test. - * testsuite/experimental/scopeguard/exit.cc: New test. - -2022-08-04 Jonathan Wakely <jwakely@redhat.com> - - * include/std/string_view (basic_string_view(Range&&)): Add - explicit as per P2499R0. - * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: - Adjust implicit conversions. Check implicit conversions fail. - * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: - Likewise. - -2022-08-04 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/fs_dir.h (directory_iterator): Add comparison - with std::default_sentinel_t. Remove redundant operator!= for - C++20. - * (recursive_directory_iterator): Likewise. - * include/bits/iterator_concepts.h [!__cpp_lib_concepts] - (default_sentinel_t, default_sentinel): Define even if concepts - are not supported. - * include/bits/regex.h (regex_iterator): Add comparison with - std::default_sentinel_t. Remove redundant operator!= for C++20. - (regex_token_iterator): Likewise. - (regex_token_iterator::_M_end_of_seq()): Add noexcept. - * testsuite/27_io/filesystem/iterators/lwg3719.cc: New test. - * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc: - New test. - * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc: - New test. - -2022-08-04 Jonathan Wakely <jwakely@redhat.com> - - * include/std/expected (unexpected::_M_val): Rename to _M_unex. - (bad_expected_access::_M_val): Likewise. - -2022-08-04 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ios_base.h (__cpp_lib_ios_noreplace): Update - value to 202207L. - * include/std/version (__cpp_lib_ios_noreplace): Likewise. - * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: Check - for new value. - * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: - Likewise. - -2022-08-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/106183 - * include/bits/atomic_wait.h (__waiter_pool_base::_M_notify): - Move increment of _M_ver here. - [!_GLIBCXX_HAVE_PLATFORM_WAIT]: Lock mutex around increment. - Use relaxed memory order and always notify all waiters. - (__waiter_base::_M_do_wait) [!_GLIBCXX_HAVE_PLATFORM_WAIT]: - Check value again after locking mutex. - (__waiter_base::_M_notify): Remove increment of _M_ver. - -2022-08-04 Ulrich Drepper <drepper@gmail.com> - - * python/libstdcxx/v6/printers.py (class StdTuplePrinter): Use - zero-based indeces just like std:get takes. - -2022-07-29 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104443 - * include/bits/stl_iterator.h (common_iterator::operator->): - Change return type to just auto. - -2022-07-26 Thomas Rodgers <trodgers@redhat.com> - - * include/bits/atomic_wait.h (__atomic_spin): Merge spin loops. - -2022-07-20 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/100823 - * include/bits/stl_iterator.h (common_iterator): Define - destructor, copy constructor and move constructor as trivial - when the underlying types allow. - * testsuite/24_iterators/common_iterator/100823.cc: Check - triviality of special members. - -2022-07-20 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/100823 - * include/bits/stl_iterator.h (common_iterator): Define move - constructor and move assignment operator. - (common_iterator::_M_assign): New function implementing - assignment. - (common_iterator::operator=): Use _M_assign. - (common_iterator::_S_valueless): New constant. - * testsuite/24_iterators/common_iterator/100823.cc: New test. - -2022-07-20 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_iterator.h (common_iterator): Fix incorrect - uses of is_nothrow_assignable_v. Fix inconsistent constraints on - friend declaration. Do not move argument in copy constructor. - * testsuite/24_iterators/common_iterator/1.cc: Check for - noexcept constructibnle/assignable. - -2022-07-19 François Dumont <fdumont@gcc.gnu.org> - - * include/debug/debug.h [_GLIBCXX_DEBUG](__glibcxx_requires_string): Define - using _GLIBCXX_DEBUG_PEDASSERT. - [_GLIBCXX_DEBUG](__glibcxx_requires_string_len): Likewise. - * include/debug/macros.h - (__glibcxx_check_string, __glibcxx_check_string_len): Move... - * include/debug/string - (__glibcxx_check_string, __glibcxx_check_string_len): ...here. And define depending - on _GLIBCXX_DEBUG_PEDANTIC no matter if _GLIBCXX_DEBUG is defined. - Add using of std::string find, rfind, find_first_of, find_last_of, find_first_not_of - and find_last_not_of. Remove debug implementations having no debug assertion. - * testsuite/util/testsuite_string.h: New file. Provides __gnu_test::string and - __gnu_test::wtring which definition depends on _GLIBCXX_DEBUG. - * testsuite/21_strings/basic_string/debug/find1_neg.cc: New test case. - * testsuite/21_strings/basic_string/debug/find2_neg.cc: New test case. - * testsuite/21_strings/basic_string/operations/find/char/1.cc: - Include <testsuite_string.h> and use __gnu_test::string. - * testsuite/21_strings/basic_string/operations/find/char/2.cc: Likewise. - * testsuite/21_strings/basic_string/operations/find/char/3.cc: Likewise. - * testsuite/21_strings/basic_string/operations/find/char/4.cc: Likewise. - * testsuite/21_strings/basic_string/operations/find/char/5.cc: Likewise. - * testsuite/21_strings/basic_string/operations/find/char/6.cc: Likewise. - * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc: - Include <testsuite_string.h> and use __gnu_test::wstring. - * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc: Likewise. - * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc: Likewise. - * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc: Likewise. - * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: Likewise. - * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: Likewise. - -2022-07-19 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (__cpp_lib_reference_from_temporary) - (reference_constructs_from_temporary) - (reference_converts_from_temporary): Only define when the - built-ins are available. - -2022-07-19 Marco Falke <falke.marco@gmail.com> - - * include/std/charconv (__from_chars_alnum_to_val): Replace - implicit conversion from int to unsigned char with explicit - cast. - -2022-07-19 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * configure: Regnerate. - * configure.ac (newlib, *-rtems*): Remove HAVE_POLL. - -2022-07-18 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/stl_algo.h - (__merge_adaptive): Adapt to merge only when buffer is large enough.. - (__merge_adaptive_resize): New, adapt merge when buffer is too small. - (__inplace_merge): Adapt, use latter. - (__stable_sort_adaptive): Adapt to sort only when buffer is large enough. - (__stable_sort_adaptive_resize): New, adapt sort when buffer is too small. - (__stable_sort): Adapt, use latter. - -2022-07-15 Marek Polacek <polacek@redhat.com> - - PR c++/104477 - * include/std/type_traits (reference_constructs_from_temporary, - reference_converts_from_temporary): New class templates. - (reference_constructs_from_temporary_v, - reference_converts_from_temporary_v): New variable templates. - (__cpp_lib_reference_from_temporary): Define for C++23. - * include/std/version (__cpp_lib_reference_from_temporary): Define for - C++23. - * testsuite/20_util/variable_templates_for_traits.cc: Test - reference_constructs_from_temporary_v and - reference_converts_from_temporary_v. - * testsuite/20_util/reference_from_temporary/value.cc: New test. - * testsuite/20_util/reference_from_temporary/value2.cc: New test. - * testsuite/20_util/reference_from_temporary/version.cc: New test. - -2022-07-12 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/106248 - * include/std/istream [C++17] (operator>>(istream&, char*)): - Set eofbit if we stopped extracting at EOF. - * testsuite/27_io/basic_istream/extractors_character/char/pr106248.cc: - New test. - * testsuite/27_io/basic_istream/extractors_character/wchar_t/pr106248.cc: - New test. - -2022-07-12 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_iterator.h (__iter_to_alloc_t): Replace - add_const_t with const-qualifier. - * include/bits/utility.h (tuple_element<N, cv T>): Likewise for - all cv-qualifiers. - * include/std/type_traits (add_const, add_volatile): Replace - typedef-declaration with using-declaration. - (add_cv): Replace add_const and add_volatile with cv-qualifiers. - * include/std/variant (variant_alternative<N, cv T>): Replace - add_const_t, add_volatile_t and add_cv_t etc. with cv-qualifiers. - -2022-07-09 François Dumont <fdumont@gcc.gnu.org> - - * include/std/string: Remove obsolete comment about char_traits.h including - stl_algobase.h. - -2022-07-07 Jonathan Wakely <jwakely@redhat.com> - - PR c++/89074 - * include/bits/char_traits.h (__gnu_cxx::char_traits::move): - Remove workaround for front-end bug. - -2022-07-05 Alexandre Oliva <oliva@adacore.com> - - * testsuite/util/testsuite_fs.h (nonexistent_path): Explain - why we need the typecast. - -2022-07-05 Alexandre Oliva <oliva@adacore.com> - - * testsuite/util/testsuite_fs.h (nonexistent_path): Convert - the getpid result to an integral type. - -2022-07-01 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/106162 - * include/Makefile.am (largefile-config.h): Add - stamp-${host_alias} prerequisite. - * include/Makefile.in: Regenerate. - -2022-07-01 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/fs_ops.h: Add nodiscard to all pure functions. - * include/experimental/bits/fs_ops.h: Likewise. - * testsuite/27_io/filesystem/operations/all.cc: Do not discard - results of absolute and canonical. - * testsuite/27_io/filesystem/operations/absolute.cc: Cast - discarded result to void. - * testsuite/27_io/filesystem/operations/canonical.cc: Likewise. - * testsuite/27_io/filesystem/operations/exists.cc: Likewise. - * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise. - * testsuite/27_io/filesystem/operations/read_symlink.cc: - Likewise. - * testsuite/27_io/filesystem/operations/status.cc: Likewise. - * testsuite/27_io/filesystem/operations/symlink_status.cc: - Likewise. - * testsuite/27_io/filesystem/operations/temp_directory_path.cc: - Likewise. - * testsuite/experimental/filesystem/operations/canonical.cc: - Likewise. - * testsuite/experimental/filesystem/operations/exists.cc: - Likewise. - * testsuite/experimental/filesystem/operations/is_empty.cc: - Likewise. - * testsuite/experimental/filesystem/operations/read_symlink.cc: - Likewise. - * testsuite/experimental/filesystem/operations/temp_directory_path.cc: - Likewise. - -2022-07-01 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * configure: Regnerate. - * configure.ac (newlib, *-rtems*): Enable TLS support for all RTEMS - targets except bfin, lm32, mips, moxie, or1k, and v850. - For all RTEMS targets, define HAVE_ALIGNED_ALLOC, HAVE_AT_QUICK_EXIT, - HAVE_LINK, HAVE_POLL, HAVE_QUICK_EXIT, HAVE_READLINK, HAVE_SETENV, - HAVE_SLEEP, HAVE_SOCKATMARK, HAVE_STRERROR_L, HAVE_SYMLINK, - HAVE_TRUNCATE, and HAVE_USLEEP. - * crossconfig.m4 (*-rtems*): Remove. - -2022-06-30 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/utility.h: Fix comment typos. - -2022-06-30 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/fs_ops.cc (fs::temp_directory_path()): Include path - in exception. - (fs::temp_directory_path(error_code&)): Rearrange to more - closely match the structure of the first overload. - * src/filesystem/ops.cc (fs::temp_directory_path): Likewise. - * testsuite/27_io/filesystem/operations/temp_directory_path.cc: - Check that exception contains the path. - * testsuite/experimental/filesystem/operations/temp_directory_path.cc: - Likewise. - -2022-06-30 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/88881 - * src/filesystem/ops.cc (has_trailing_slash): New helper - function. - (fs::status): Strip trailing slashes. - (fs::symlink_status): Likewise. - * testsuite/experimental/filesystem/operations/temp_directory_path.cc: - Clean the environment before each test and use TMP instead of - TMPDIR so the test passes on Windows. - -2022-06-28 Jonathan Wakely <jwakely@redhat.com> - - * src/filesystem/dir-common.h (_Dir_base::_At_path): - Use char_type consistently for paths. - -2022-06-28 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/fs_dir.cc (_Dir::dir_and_pathname):: Replace with - current() returning _At_path. - (_Dir::_Dir, _Dir::open_subdir, _Dir::do_unlink): Adjust. - * src/filesystem/dir-common.h (_Dir_base::_At_path): New class. - (_Dir_base::_Dir_Base, _Dir_base::openat): Use _At_path. - * src/filesystem/dir.cc (_Dir::dir_and_pathname): Replace with - current() returning _At_path. - (_Dir::_Dir, _Dir::open_subdir): Adjust. - -2022-06-28 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/fs_dir.cc (_Dir::_Dir) [!_GLIBCXX_HAVE_OPENAT]: - Always store pathname if we don't have openat or unlinkat, - because the full path is needed to open sub-directories and - remove entries. - -2022-06-28 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/from_chars/4.cc: Only use log2 if C99 math - functions are available. - -2022-06-27 Alexandre Oliva <oliva@adacore.com> - - * testsuite/20_util/to_chars/long_double.cc: Use cmath - long double overloads for nexttoward and ldexp. - -2022-06-27 Alexandre Oliva <oliva@adacore.com> - - * testsuite/experimental/simd/standard_abi_usable.cc: Require - cmath support. - * testsuite/experimental/simd/standard_abi_usable_2.cc: - Likewise. - -2022-06-27 Alexandre Oliva <oliva@adacore.com> - - * testsuite/26_numerics/complex/proj.cc: Skip test in the - circumstances in which the implementation of proj is known to - be broken. - -2022-06-27 Alexandre Oliva <oliva@adacore.com> - - * src/c++17/fs_dir.cc (dir_and_pathname): Use dirfd if - _GLIBCXX_HAVE_OPENAT. - -2022-06-27 Alexandre Oliva <oliva@adacore.com> - - * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc - (test06): Don't create symlinks when NO_SYMLINKS is defined. - -2022-06-27 Alexandre Oliva <oliva@adacore.com> - - * testsuite/lib/dg-options.exp (add_options_for_net_ts): - Add -Wl,--gc-sections for RTEMS targets. - * testsuite/experimental/net/timer/waitable/dest.cc: Link-time - xfail on RTEMS. - * testsuite/experimental/net/timer/waitable/ops.cc: Likewise. - * testsuite/experimental/net/internet/resolver/ops/lookup.cc: - Execution-time xfail on RTEMS. - * testsuite/experimental/net/internet/resolver/ops/reverse.cc: - Likewise. - -2022-06-27 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/ext/mt_allocator/22309_thread.cc: Include <string>. - -2022-06-27 Joel Brobecker <brobecker@adacore.com> - Jonathan Wakely <jwakely@redhat.com> - - * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): - Always include a counter in the filename returned. - -2022-06-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/move_only_function.h (_Never_valueless_alt): - Define partial specialization for std::move_only_function. - -2022-06-27 Jonathan Wakely <jwakely@redhat.com> - - * include/std/variant (_Build_FUN::_S_fun): Define fallback case - as deleted. - (__accepted_index, _Extra_visit_slot_needed): Replace class - templates with variable templates. - -2022-06-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/fs_path.h (__is_path_iter_src): Replace class - template with variable template. - -2022-06-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono.h (is_clock_v): Define to false. - (is_clock_v<T>): Define partial specialization for true cases. - (is_clock): Define in terms of is_clock_v. - -2022-06-24 Xi Ruoyao <xry111@xry111.site> - - * scripts/extract_symvers.in: Use grep -E instead of egrep. - * scripts/run_doxygen: Likewise. - -2022-06-24 Alexandre Oliva <oliva@adacore.com> - - * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for - openat. - * configure, config.h.in: Rebuilt. - * src/filesystem/dir-common.h (openat): Use ::openat if - _GLIBCXX_HAVE_OPENAT. - * src/filesystem/dir.cc (dir_and_pathname): Use dirfd if - _GLIBCXX_HAVE_OPENAT. - -2022-06-24 Alexandre Oliva <oliva@adacore.com> - - * testsuite/27_io/filesystem/operations/rename.cc: xfail on - rtems. - * testsuite/experimental/filesystem/operations/rename.cc: - Likewise. - -2022-06-24 Alexandre Oliva <oliva@adacore.com> - - * testsuite/util/testsuite_fs.h (NO_LAST_WRITE_TIME): Define - when appropriate. - * testsuite/lib/libstdc++.exp - (check_v3_target_fs_last_write_time): New. - * testsuite/lib/dg-options.exp (dg-require-target-fs-lwt): - New. - * testsuite/27_io/filesystem/operations/last_write_time.cc: - Skip the test if the features are unavailable. - * testsuite/experimental/filesystem/operations/last_write_time.cc: - Likewise. - -2022-06-24 Alexandre Oliva <oliva@adacore.com> - - * testsuite/util/testsuite_fs.h (NO_SPACE): Define if - appropriate. - * testsuite/lib/libstdc++.exp (check_v3_target_fs_space): New. - * testsuite/lib/dg-options.exp (dg-require-target-fs-space): - New. - * testsuite/27_io/filesystem/operations/space.cc: Require - target-fs-space. - * testsuite/experimental/filesystem/operations/space.cc: - Likewise. - -2022-06-24 Alexandre Oliva <oliva@adacore.com> - - * testsuite/util/testsuite_fs.h (NO_SYMLINKS): Define on - mingw and when create_symlink is a dummy. - * testsuite/27_io/filesystem/operations/symlink_status.cc: - Drop mingw xfail. - (test01, test02): Don't create symlinks when NO_SYMLINKS is - defined. - * testsuite/27_io/filesystem/operations/canonical.cc (test03): - Likewise. - * testsuite/27_io/filesystem/operations/copy.cc (test02): - Likewise. - * testsuite/27_io/filesystem/operations/create_directories.cc - (test04): Likewise. - * testsuite/27_io/filesystem/operations/create_directory.cc - (test01): Likewise. - * testsuite/27_io/filesystem/operations/permissions.cc - (test03, test04): Likewise. - * testsuite/27_io/filesystem/operations/remove.cc (test01): - Likewise. - * testsuite/27_io/filesystem/operations/remove_all.cc (test01): - Likewise. - * testsuite/27_io/filesystem/operations/rename.cc - (test_symlinks): Likewise. - * testsuite/27_io/filesystem/operations/weakly_canonical.cc - (test01): Likewise. - * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc - (test06): Likewise. - * testsuite/experimental/filesystem/operations/copy.cc - (test01): Likewise. - * testsuite/experimental/filesystem/operations/create_directories.cc - (test04): Likewise. - * testsuite/experimental/filesystem/operations/create_directory.cc - (test01): Likewise. - * testsuite/experimental/filesystem/operations/permissions.cc - (test03, test04): Likewise. - * testsuite/experimental/filesystem/operations/remove.cc - (test01): Likewise. - * testsuite/experimental/filesystem/operations/remove_all.cc - (test01): Likewise. - * testsuite/experimental/filesystem/operations/rename.cc - (test01): Likewise. - * testsuite/lib/libstdc++.exp - (v3_check_preprocessor_condition): Add optional inc parameter. - Add it to the test program after include bits/c++config.h. - (check_v3_target_fs_symlinks): New. - * testsuite/lib/dg-options.exp - (dg-require-target-fs-symlinks): New. - * testsuite/27_io/filesystem/operations/read_symlink.cc: - Replace mingw xfail with require target-fs-symlinks. - * testsuite/experimental/filesystem/operations/read_symlink.cc: - Likewise. - -2022-06-24 Alexandre Oliva <oliva@adacore.com> - - * testsuite/27_io/filesystem/operations/copy.cc (test02): - Select TO after creating FROM. - (test03, test04): Likewise. - * testsuite/experimental/filesystem/operations/copy.cc - (test02, test03, test04): Likewise. - -2022-06-24 Alexandre Oliva <oliva@adacore.com> - - * testsuite/30_threads/thread/native_handle/cancel.cc: Add an - explicit cancellation point in case sleep_for lacks one. - -2022-06-24 Alexandre Oliva <oliva@adacore.com> - - * testsuite/lib/dg-options.exp (add_options_for_net_ts): Add - -lbsd for RTEMS targets. - -2022-06-23 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/filesystem/iterators/error_reporting.cc: Use - rmdir to remove directories. - * testsuite/experimental/filesystem/iterators/error_reporting.cc: - Likewise. - -2022-06-23 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/26_numerics/random/random_device/entropy.cc: Use - numeric_limits<unsigned>::digits. - -2022-06-22 Alexandre Oliva <oliva@adacore.com> - - * libsupc++/eh_globals.cc [!_GLIBCXX_HAVE_TLS] - (__eh_globals_init::~__eh_globals_init): Clear _S_init first. - -2022-06-22 Alexandre Oliva <oliva@adacore.com> - - * testsuite/30_threads/this_thread/60421.cc (test02): Call - sched_yield. - -2022-06-22 Alexandre Oliva <oliva@adacore.com> - - * testsuite/20_util/to_chars/long_double.cc: Require cmath. - -2022-06-22 Alexandre Oliva <oliva@adacore.com> - - * testsuite/23_containers/bitset/cons/dr1325-2.cc: Work around - global struct bitset. - * testsuite/23_containers/bitset/ext/15361.cc: Likewise. - * testsuite/23_containers/bitset/input/1.cc: Likewise. - * testsuite/23_containers/bitset/to_string/1.cc: Likewise. - * testsuite/23_containers/bitset/to_string/dr396.cc: Likewise. - -2022-06-17 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/21_strings/basic_string/cons/char/105995.cc: Add - missing #include. - -2022-06-16 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105995 - * include/bits/basic_string.h (_M_use_local_data): Initialize - the entire SSO buffer. - * testsuite/21_strings/basic_string/cons/char/105995.cc: New test. - -2022-06-16 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/101482 - * include/ext/vstring.h (operator==): Always check lengths - before comparing. - -2022-06-15 François Dumont <fdumont@gcc.gnu.org> - - PR libstdc++/105717 - * include/bits/hashtable_policy.h (_ConvertToValueType): New. - * include/bits/hashtable.h (_Hashtable<>::_M_insert_unique_aux): New. - (_Hashtable<>::_M_insert(_Arg&&, const _NodeGenerator&, true_type)): Use latters. - (_Hashtable<>::_M_insert(_Arg&&, const _NodeGenerator&, false_type)): Likewise. - (_Hashtable(_InputIterator, _InputIterator, size_type, const _Hash&, const _Equal&, - const allocator_type&, true_type)): Use this.insert range. - (_Hashtable(_InputIterator, _InputIterator, size_type, const _Hash&, const _Equal&, - const allocator_type&, false_type)): Use _M_insert. - * testsuite/23_containers/unordered_map/cons/56112.cc: Check how many times conversion - is done. - * testsuite/23_containers/unordered_map/insert/105717.cc: New test. - * testsuite/23_containers/unordered_set/insert/105717.cc: New test. - -2022-06-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/62187 - * include/bits/basic_string.h (operator==): Always compare - lengths before checking string contents. - [!__cpp_lib_three_way_comparison] (operator==, operator!=): - Reorder arguments. - -2022-06-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/59048 - * include/bits/basic_string.h (compare): Define inline. - * include/bits/basic_string.tcc (compare): Remove out-of-line - definitions. - * include/bits/cow_string.h (compare): Define inline. - * testsuite/21_strings/basic_string/operations/compare/char/3.cc: - New test. - -2022-06-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/new_allocator.h: Fix indentation. - * include/ext/malloc_allocator.h: Likewise. - -2022-06-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105957 - * include/bits/allocator.h (allocator::allocate): Check for - overflow in constexpr allocation. - * testsuite/20_util/allocator/105975.cc: New test. - -2022-06-13 Mark Mentovai <mark@mentovai.com> - - * include/experimental/bits/fs_path.h (__detail::__null_terminated): - Rename to __nul_terminated to avoid colliding with a macro in - Apple's SDK. - -2022-06-13 Jonathan Wakely <jwakely@redhat.com> - - * include/std/atomic (__atomic_val_t): Use __type_identity_t - instead of atomic<T>::value_type, as per LWG 3220. - * testsuite/29_atomics/atomic/lwg3220.cc: New test. - -2022-06-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105844 - * include/experimental/numeric (experimental::gcd): Simplify - assertions. Use __abs_r instead of __absu. - (experimental::lcm): Likewise. Remove use of __detail::__lcm so - overflow can be detected. - * include/std/numeric (__detail::__absu): Rename to __abs_r and - change to allow signed result type, so overflow can be detected. - (__detail::__lcm): Remove. - (gcd): Simplify assertions. Use __abs_r instead of __absu. - (lcm): Likewise. Remove use of __detail::__lcm so overflow can - be detected. - * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error lines. - * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. - * testsuite/26_numerics/gcd/105844.cc: New test. - * testsuite/26_numerics/lcm/105844.cc: New test. - -2022-06-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105880 - * libsupc++/eh_globals.cc (eh_globals): Ensure constant init and - prevent destruction during termination. - (__eh_globals_init::_M_init): Replace with static member _S_init. - (__cxxabiv1::__cxa_get_globals_fast): Update. - (__cxxabiv1::__cxa_get_globals): Likewise. - -2022-06-10 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.h (__hash_str_base): New class - template. - (hash<basic_string<C, char_traits<C>, A>>): Define partial - specialization for each of the standard character types. - (hash<string>, hash<wstring>, hash<u8string>, hash<u16string>) - (hash<u32string>): Remove explicit specializations. - * include/std/string (__hash_string_base): Remove class - template. - (hash<pmr::string>, hash<pmr::wstring>, hash<pmr::u8string>) - (hash<pmr::u16string>, hash<pmr::u32string>): Remove explicit - specializations. - * testsuite/21_strings/basic_string/hash/hash.cc: Test with - custom allocators. - * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: - Likewise. - -2022-05-27 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105671 - * include/std/sstream (basic_stringbuf::_M_high_mark): Add - always_inline attribute. - -2022-05-26 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105681 - * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp: - Limit ga_sizes array to values that fit in size_t. - * include/ext/random [__SIZE_WIDTH < 32] (sfmt86243) - (sfmt86243_64, sfmt132049, sfmt132049_64, sfmt216091) - (sfmt216091_64): Do not declare. - -2022-05-26 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Make - lookup for ios_errc and future_errc check versioned namespace. - (StdAtomicPrinter): Strip versioned namespace from typename. - -2022-05-26 Jonathan Wakely <jwakely@redhat.com> - - * src/c++11/Makefile.am: Add new source file. - * src/c++11/Makefile.in: Regenerate. - * src/c++11/cxx11-ios_failure.cc (iostream_category): - Move to ... - * src/c++11/ios_errcat.cc: New file. - * testsuite/27_io/ios_base/failure/error_code.cc: Check that - std::iostream_category() is defined and used for std::io_errc. - -2022-05-26 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_iterator.h (counted_iterator::operator++(int)): - Add 'constexpr' as per LWG 3643. - * testsuite/24_iterators/counted_iterator/lwg3643.cc: New test. - -2022-05-26 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/functional_hash.h (__is_fast_hash): Add doxygen - comment. - * include/bits/hashtable.h: Do not include <bits/stl_function.h> - here. - * include/bits/hashtable_policy.h: Include <bits/stl_pair.h> and - <bits/functional_hash.h>. - * include/bits/unordered_map.h: Include required headers. - * include/bits/unordered_set.h: Likewise. - * include/std/unordered_map: Do not include headers for indirect - dependencies. - * include/std/unordered_set: Likewise. - -2022-05-26 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ranges_algobase.h: Do not include - <bits/stl_iterator_base_types.h>. - * include/std/string: Likewise. - * include/std/variant: Likewise. - -2022-05-26 Nathan Sidwell <nathan@acm.org> - - * include/bits/hashtable.h: Include required headers. - * include/bits/hashtable_policy.h: Likewise. - * include/bits/stl_heap.h: Likewise. - * include/bits/stl_iterator_base_funcs.h: Likewise. - -2022-05-26 François Dumont <fdumont@gcc.gnu.org> - - * python/libstdcxx/v6/printers.py (StdSpanPrinter.__init__): - Strip typename from version namespace. - -2022-05-26 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (SharedPointerPrinter): Strip - versioned namespace from the template argument too. - -2022-05-26 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string/modifiers/pop_back/char.cc: - ...here. - * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string/modifiers/swap/wchar_t/constexpr.cc: - Moved to... - * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string/modifiers/swap/char/constexpr.cc: - Moved to... - * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc: - ...here. - * testsuite/21_strings/basic_string/operations/contains/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string/operations/contains/char.cc: - ...here. - * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string/operations/data/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string/operations/data/char.cc: - ...here. - * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string/operations/data/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string/operations/ends_with/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string/operations/ends_with/char.cc: - ...here. - * testsuite/21_strings/basic_string/operations/ends_with/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string/operations/starts_with/char.cc: - ...here. - * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string/operations/substr/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string/operations/substr/char.cc: - ...here. - * testsuite/21_strings/basic_string/operations/substr/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string/operations/substr/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string/range_access/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string/range_access/char.cc: - ...here. - * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string/range_access/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char.cc: - ...here. - * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char.cc: - ...here. - * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/modifiers/swap/char.cc: - ...here. - * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/operations/contains/char.cc: - ...here. - * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string_view/operations/data/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/operations/data/char.cc: - ...here. - * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/operations/data/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string_view/operations/ends_with/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc: - ...here. - * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string_view/operations/starts_with/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc: - ...here. - * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/operations/substr/char.cc: - ...here. - * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string_view/range_access/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/range_access/char.cc: - ...here. - * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/range_access/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char.cc: - ...here. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t.cc: - ...here. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t.cc: - ...here. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t.cc: - ...here. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/1.cc: - Moved to... - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc: - ...here. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t.cc: - ...here. - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char.cc: - ...here. - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t.cc: - ...here. - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t.cc: - ...here. - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t.cc: - ...here. - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/int.cc: - ...here. - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t.cc: - ...here. - * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char/1.cc: - Moved to... - * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char.cc: - ...here. - * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t/1.cc: - Moved to... - * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t.cc: - ...here. - * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t/1.cc: - Moved to... - * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t.cc: - ...here. - * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char8_t/1.cc: - Moved to... - * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char8_t.cc: - ...here. - * testsuite/21_strings/char_traits/requirements/explicit_instantiation/short/1.cc: - Moved to... - * testsuite/21_strings/char_traits/requirements/explicit_instantiation/short.cc: - ...here. - * testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t/1.cc: - Moved to... - * testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t.cc: - ...here. - -2022-05-26 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/duration/requirements/explicit_instantiation/explicit_instantiation.cc: - Moved to... - * testsuite/20_util/duration/requirements/explicit_instantiation.cc: ...here. - * testsuite/20_util/time_point/requirements/explicit_instantiation/explicit_instantiation.cc: - Moved to... - * testsuite/20_util/time_point/requirements/explicit_instantiation.cc: ...here. - * testsuite/20_util/unique_ptr/requirements/explicit_instantiation/explicit_instantiation.cc: - Moved to... - * testsuite/20_util/unique_ptr/requirements/explicit_instantiation.cc: ...here. - -2022-05-25 Jason Merrill <jason@redhat.com> - - * testsuite/20_util/function_objects/constexpr_searcher.cc: Add - constexpr. - -2022-05-20 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc: - Run fewer iterations for simulator targets. - * testsuite/26_numerics/random/binomial_distribution/operators/values.cc: - Likewise. - * testsuite/26_numerics/random/discrete_distribution/operators/values.cc: - Likewise. - * testsuite/26_numerics/random/geometric_distribution/operators/values.cc: - Likewise. - * testsuite/26_numerics/random/negative_binomial_distribution/operators/values.cc: - Likewise. - * testsuite/26_numerics/random/poisson_distribution/operators/values.cc: - Likewise. - * testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc: - Likewise. - -2022-05-19 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/char_traits.h: Only include <cstdint> when - necessary. - * include/std/stacktrace: Use __UINTPTR_TYPE__ instead of - uintptr_t. - * src/c++11/cow-stdexcept.cc: Include <stdint.h>. - * src/c++17/floating_to_chars.cc: Likewise. - * testsuite/20_util/assume_aligned/1.cc: Include <cstdint>. - * testsuite/20_util/assume_aligned/3.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. - -2022-05-19 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.h: Do not include <ext/atomicity.h> - here. - * include/bits/cow_string.h: Include it here. - -2022-05-19 Jonathan Wakely <jwakely@redhat.com> - - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/bits/memory_resource.h: New file. - * include/std/deque: Include <bits/memory_resource.h>. - * include/std/forward_list: Likewise. - * include/std/list: Likewise. - * include/std/map: Likewise. - * include/std/memory_resource (pmr::memory_resource): Move to - new <bits/memory_resource.h> header. - (pmr::polymorphic_allocator): Likewise. - * include/std/regex: Likewise. - * include/std/set: Likewise. - * include/std/stacktrace: Likewise. - * include/std/string: Likewise. - * include/std/unordered_map: Likewise. - * include/std/unordered_set: Likewise. - * include/std/vector: Likewise. - * testsuite/21_strings/basic_string/types/pmr_typedefs.cc: - Remove <memory_resource> header and check construction. - * testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise. - * testsuite/23_containers/forward_list/pmr_typedefs.cc: - Likewise. - * testsuite/23_containers/list/pmr_typedefs.cc: Likewise. - * testsuite/23_containers/map/pmr_typedefs.cc: Likewise. - * testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise. - * testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise. - * testsuite/23_containers/set/pmr_typedefs.cc: Likewise. - * testsuite/23_containers/unordered_map/pmr_typedefs.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/pmr_typedefs.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/pmr_typedefs.cc: - Likewise. - * testsuite/23_containers/unordered_set/pmr_typedefs.cc: - Likewise. - * testsuite/23_containers/vector/pmr_typedefs.cc: Likewise. - * testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise. - -2022-05-19 Jonathan Wakely <jwakely@redhat.com> - - * include/std/memory_resource (polymorphic_allocator): Add - non-template equality operator, as proposed for LWG 3683. - * testsuite/20_util/polymorphic_allocator/lwg3683.cc: New test. - -2022-05-17 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/memory_resource.cc (set_default_resource): Use - memory_order_acq_rel. - (get_default_resource): Use memory_order_acquire. - -2022-05-17 Jonathan Wakely <jwakely@redhat.com> - - * include/std/memory_resource (new_delete_resource): Add - nodiscard, returns_nonnull and const attributes. - (null_memory_resource): Likewise. - (set_default_resource, get_default_resource): Add returns_nonnull - attribute. - (memory_resource::is_equal): Add nodiscard attribute. - (operator==, operator!=): Likewise. - -2022-05-17 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ios_base.h (io_category): Add const and nodiscard - attributes. - (make_error_code, make_error_condition): Add nodiscard. - * include/std/future (future_category): Add const and nodiscard. - (make_error_code, make_error_condition): Add nodiscard. - * include/std/system_error (generic_category system_category): - Add nodiscard. Replace _GLIBCXX_CONST with C++11 attribute. - (error_code::value, error_code::category, error_code::operator bool) - (error_condition::value, error_condition::category) - (error_condition::operator bool, make_error_code) - (make_error_condition, operator==, operator!=, operator<=>): Add - nodiscard. - -2022-05-17 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/expected/synopsis.cc: Skip for versioned - namespace. - * testsuite/27_io/headers/iosfwd/synopsis.cc: Likewise. - -2022-05-17 Jonathan Wakely <jwakely@redhat.com> - - * src/Makefile.am [ENABLE_SYMVERS_GNU_NAMESPACE] (cxx11_sources): - Do not build the compatibility*-c++0x.cc objects. - * src/Makefile.in: Regenerate. - * src/c++11/compatibility-c++0x.cc [_GLIBCXX_INLINE_VERSION]: - Refuse to build for the versioned namespace. - * src/c++11/compatibility-chrono.cc: Likewise. - * src/c++11/compatibility-condvar.cc: Likewise. - * src/c++11/compatibility-thread-c++0x.cc: Likewise. - * src/c++11/chrono.cc (system_clock, steady_clock): - Use macros to define in inline namespace _V2, matching the - declarations in <system_error>. - * src/c++11/system_error.cc (system_category, generic_category): - Likewise. - -2022-05-16 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/prerequisites.xml: Fix attributes for external - hyperlink. - * doc/html/manual/setup.html: Regenerate. - -2022-05-16 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/status_cxx2023.xml: Update with gcc-12 support. - * doc/html/*: Regenerate. - -2022-05-16 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/intro.xml: Include new chapter. - * doc/xml/manual/status_cxx2020.xml: Tweak release numbers. - * doc/xml/manual/status_cxx2023.xml: New file. - * doc/html/*: Regenerate. - -2022-05-16 Jonathan Wakely <jwakely@redhat.com> - - * doc/html/manual/status.html: Regenerate. - * doc/xml/manual/status_cxx2020.xml: Fix supported version for - C++20 bit operations. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/std_thread.h (thread::_State, thread::_State_ptr): - Declare as private unless _GLIBCXX_THREAD_IMPL is defined. - * src/c++11/thread.cc (_GLIBCXX_THREAD_IMPL): Define. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * include/std/future (launch): Make operators noexcept. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * doc/doxygen/user.cfg.in (PREDEFINED): Replace __exception_ptr - with "__unspecified__". - * libsupc++/exception_ptr.h: Improve doxygen docs. - (__exception_ptr::swap): Also declare in namespace std. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/nested_exception.h (throw_with_nested) [C++17]: Use - if-constexpr instead of tag dispatching. - (rethrow_if_nested) [C++17]: Likewise. - (rethrow_if_nested) [!__cpp_rtti]: Do not use dynamic_cast if it - would require RTTI. - * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc: - New test. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * doc/doxygen/user.cfg.in (PREDEFINED): Define - _GTHREAD_USE_MUTEX_TIMEDLOCK macro. - * include/bits/std_mutex.h (mutex, lock_guard): Use @since and - @headerfile. - * include/bits/unique_lock.h (unique_lock): Likewise. - * include/std/mutex (recursive_mutex, timed_mutex) - (recursive_timed_mutex, scoped_lock): Likewise. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * doc/doxygen/user.cfg.in (PREDEFINED): Define - _GLIBCXX23_CONSTEXPR macro. - * include/backward/auto_ptr.h (auto_ptr): Use @deprecated. - * include/bits/unique_ptr.h (default_delete): Use @since and - @headerfile. - * include/std/scoped_allocator: Remove @ingroup from @file - block. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/std_thread.h (thread, thread::id): Improve - doxygen docs. - * include/std/future: Likewise. - * include/std/thread (jthread): Likewise. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ostream_insert.h: Mark helper functions as - undocumented by Doxygen. - * include/bits/stl_algo.h: Use markdown for formatting and mark - helper functions as undocumented. - * include/bits/stl_numeric.h: Likewise. - * include/bits/stl_pair.h (pair): Add @headerfile. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * doc/doxygen/user.cfg.in (PREDEFINED): Define __allocator_base - so that Doxygen shows the right base-class for std::allocator. - * include/bits/alloc_traits.h: Improve doxygen docs. - * include/bits/allocator.h: Likewise. - * include/bits/new_allocator.h: Likewise. - * include/ext/new_allocator.h: Likewise. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * doc/doxygen/user.cfg.in (PREDEFINED): Define macro - _GLIBCXX_DOXYGEN_ONLY to expand its argument. - * include/bits/c++config (_GLIBCXX_DOXYGEN_ONLY): Define. - * include/bits/regex.h: Improve doxygen docs. - * include/bits/regex_constants.h: Likewise. - * include/bits/regex_error.h: Likewise. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * include/std/atomic: Suppress doxygen docs for - implementation details. - * include/bits/atomic_base.h: Likewise. - * include/bits/shared_ptr_atomic.h: Use markdown. Fix grouping - so that std::atomic is not added to the pointer abstractions - group. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * include/std/system_error: Improve doxygen comments. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ptr_traits.h: Add some doxygen comments. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * doc/doxygen/user.cfg.in (PREDEFINED): Expand new macros to - nothing. - * include/bits/c++config (_GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE) - (_GLIBCXX_END_INLINE_ABI_NAMESPACE): Define new macros. - * include/bits/algorithmfwd.h (_V2::__rotate): Use new macros - for the namespace. - * include/bits/chrono.h (chrono::_V2::system_clock): Likewise. - * include/bits/stl_algo.h (_V2::__rotate): Likewise. - * include/std/condition_variable (_V2::condition_variable_any): - Likewise. - * include/std/system_error (_V2::error_category): Likewise. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/mofunc_impl.h: Fix doxygen command. - -2022-05-13 Jonathan Wakely <jwakely@redhat.com> - - * doc/doxygen/user.cfg.in (GROUP_NESTED_COMPOUNDS): Set to NO. - (CLASS_DIAGRAMS): Remove obsolete option. - -2022-05-12 Jonathan Wakely <jwakely@redhat.com> - - * config/locale/dragonfly/numeric_members.cc: Remove whitespace. - * config/locale/gnu/numeric_members.cc: Likewise. - * include/bits/locale_facets_nonio.h: Likewise. - * libsupc++/typeinfo: Likewise. - -2022-05-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105284 - * include/std/iosfwd: Add declarations for <spanstream> class - templates and typedefs. - * include/std/spanstream (basic_spanbuf, basic_ispanstream) - (basic_ospanstream, basic_spanstream): Remove default template - arguments. - * testsuite/27_io/headers/iosfwd/synopsis.cc: Add <spanstream> - declarations. - * testsuite/27_io/headers/iosfwd/types.cc: Check <spanstream> - default arguments. - -2022-05-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105284 - * include/std/iosfwd: Add declarations for <synstream> class - templates and typedefs. - * include/std/syncstream (basic_syncbuf, basic_osyncstream): - Remove default template arguments. - * testsuite/27_io/headers/iosfwd/synopsis.cc: New test. - * testsuite/27_io/headers/iosfwd/types.cc: New test. - -2022-05-06 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/random.tcc (operator==): Only check - normal_distribution::_M_saved_available once. - * testsuite/26_numerics/random/normal_distribution/operators/equal.cc: - Check equality after state changes. - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error - lineno. - -2022-05-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105502 - * include/bits/random.tcc - (operator>>(basic_istream<C,T>&, normal_distribution<R>&)): - Update state when __state_avail is false. - * testsuite/26_numerics/random/normal_distribution/operators/serialize.cc: - Check that deserialized object equals serialized one. - -2022-05-06 Alexandre Oliva <oliva@adacore.com> - - * include/experimental/bits/simd.h [__ALTIVEC__]: Require VSX - for double, long long, and 64-bit long intrinsic types. - [__ALTIVEC__] (__intrinsic_type): Mention 128-bit in - preexisting long double diagnostic, adjust no-VSX double - diagnostic to cover 64-bit long double as well. - -2022-05-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104731 - * testsuite/27_io/filesystem/iterators/error_reporting.cc: - Use a trailing char array as storage for dirent::d_name. - -2022-05-06 Jonathan Wakely <jwakely@redhat.com> - - * include/std/stacktrace: Do not include <cxxabi.h>. - (__cxa_demangle): Declare. - -2022-05-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/99871 - * include/bits/specfun.h: Use visibility attribute on namespace, - instead of pragma push/pop. - * libsupc++/compare: Likewise. - * libsupc++/exception: Likewise. - * libsupc++/exception.h: Likewise. - * libsupc++/exception_ptr.h: Likewise. - * libsupc++/initializer_list: Likewise. - * libsupc++/nested_exception.h: Likewise. - -2022-05-06 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/test.xml: Remove requirement for copyright and - GPL notice in tests. - * doc/html/manual/test.html: Regenerate. - -2022-05-05 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/memory_resource [!__cpp_rtti] - (__resource_adaptor_imp::do_is_equal): Do not use dynamic_cast - when RTTI is disabled. - * testsuite/17_intro/freestanding.cc: Require RTTI. - * testsuite/18_support/exception/38732.cc: Likewise. - * testsuite/18_support/exception_ptr/rethrow_exception.cc: - Likewise. - * testsuite/18_support/nested_exception/68139.cc: Likewise. - * testsuite/18_support/nested_exception/rethrow_if_nested.cc: - Likewise. - * testsuite/18_support/type_info/103240.cc: Likewise. - * testsuite/18_support/type_info/fundamental.cc: Likewise. - * testsuite/18_support/type_info/hash_code.cc: Likewise. - * testsuite/20_util/any/assign/emplace.cc: Likewise. - * testsuite/20_util/any/cons/in_place.cc: Likewise. - * testsuite/20_util/any/misc/any_cast.cc: Likewise. - * testsuite/20_util/any/observers/type.cc: Likewise. - * testsuite/20_util/function/1.cc: Likewise. - * testsuite/20_util/function/2.cc: Likewise. - * testsuite/20_util/function/3.cc: Likewise. - * testsuite/20_util/function/4.cc: Likewise. - * testsuite/20_util/function/5.cc: Likewise. - * testsuite/20_util/function/6.cc: Likewise. - * testsuite/20_util/function/7.cc: Likewise. - * testsuite/20_util/function/8.cc: Likewise. - * testsuite/20_util/polymorphic_allocator/resource.cc: Likewise. - * testsuite/20_util/shared_ptr/casts/1.cc: Likewise. - * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: - Likewise. - * testsuite/20_util/shared_ptr/misc/get_deleter.cc: Likewise. - * testsuite/20_util/typeindex/comparison_operators.cc: Likewise. - * testsuite/20_util/typeindex/comparison_operators_c++20.cc: - Likewise. - * testsuite/20_util/typeindex/hash.cc: Likewise. - * testsuite/20_util/typeindex/hash_code.cc: Likewise. - * testsuite/20_util/typeindex/name.cc: Likewise. - * testsuite/22_locale/ctype/is/string/89728_neg.cc: Likewise. - * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc: - Likewise. - * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: - Likewise. - * testsuite/22_locale/locale/13630.cc: Check type without using - RTTI. - * testsuite/23_containers/array/requirements/non_default_constructible.cc: - Require RTTI. - * testsuite/27_io/basic_ostream/emit/1.cc: Likewise. - * testsuite/27_io/fpos/14320-1.cc: Check type without using RTTI. - * testsuite/27_io/fpos/mbstate_t/12065.cc: Require RTTI. - * testsuite/27_io/ios_base/failure/dual_abi.cc: Likewise. - * testsuite/experimental/any/misc/any_cast.cc: Likewise. - * testsuite/experimental/any/observers/type.cc: Likewise. - * testsuite/experimental/memory_resource/resource_adaptor.cc: - Likewise. - * testsuite/lib/libstdc++.exp (check_effective_target_rtti): - Define new proc. - * testsuite/tr1/3_function_objects/function/1.cc: Likewise. - * testsuite/tr1/3_function_objects/function/2.cc: Likewise. - * testsuite/tr1/3_function_objects/function/3.cc: Likewise. - * testsuite/tr1/3_function_objects/function/4.cc: Likewise. - * testsuite/tr1/3_function_objects/function/5.cc: Likewise. - * testsuite/tr1/3_function_objects/function/6.cc: Likewise. - * testsuite/tr1/3_function_objects/function/7.cc: Likewise. - * testsuite/tr1/3_function_objects/function/8.cc: Likewise. - * testsuite/tr2/bases/value.cc: Likewise. - * testsuite/tr2/direct_bases/value.cc: Likewise. - * testsuite/util/exception/safety.h [!__cpp_rtti]: Don't print - types without RTTI. - -2022-05-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104719 - * include/std/array (array::size(), array::max_size()) - (array::empty(), array::data()): Add always_inline attribute. - -2022-05-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104719 - * include/std/array (__array_traits::_S_ref): Remove. - (__array_traits::_S_ptr): Remove. - (__array_traits<T, 0>::_Type): Define operator[] and operator T* - to provide an array-like API. - (array::_AT_Type): Remove public typeef. - (array::operator[], array::at, array::front, array::back): Use - index operator to access _M_elems instead of _S_ref. - (array::data): Use implicit conversion from _M_elems to pointer. - (swap(array&, array&)): Use __enable_if_t helper. - (get<I>): Use index operator to access _M_elems. - * testsuite/23_containers/array/tuple_interface/get_neg.cc: - Adjust dg-error line numbers. - -2022-05-03 Alexandre Oliva <oliva@adacore.com> - - PR c++/105324 - * testsuite/20_util/from_chars/pr105324.cc: Guard test body - with conditional for floating-point overloads of from_char. - -2022-05-02 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/103911 - * src/c++17/floating_from_chars.cc (find_end_of_float): Accept - two delimeters for the exponent part in the form of a possibly - NULL string of length two. Don't use std::tolower. - (pattern): Adjust calls to find_end_of_float accordingly. - -2022-05-02 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/105441 - * src/c++17/floating_from_chars.cc (__floating_from_chars_hex): - Also accept 'P' as the start of the exponent. - * testsuite/20_util/from_chars/7.cc: Add corresponding testcase. - -2022-04-29 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105417 - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: - Regenerate. - * src/c++11/compatibility-ldbl-alt128.cc [_GLIBCXX_USE_DUAL_ABI]: - Define __gnu_ieee128::num_get<C>::_M_extract_int[abi:cxx11]<I> - symbols as aliases for corresponding symbols without abi-tag. - -2022-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * 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. - -2022-04-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/99290 - * src/c++17/fs_ops.cc (fs::copy): Pass error_code to - directory_iterator constructor, and check on each iteration. - * src/filesystem/ops.cc (fs::copy): Likewise. - * testsuite/27_io/filesystem/operations/copy.cc: Check for - errors during recursion. - * testsuite/experimental/filesystem/operations/copy.cc: - Likewise. - -2022-04-28 François Dumont <fdumont@gcc.gnu.org> - - * config/abi/pre/gnu-versioned-namespace.ver: Remove - std::random_device::* pattern. - -2022-04-27 Jakub Jelinek <jakub@redhat.com> - - * 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/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/powerpc-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. - -2022-04-27 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (SharedPointerPrinter): Add - support for atomic<shared_ptr<T>> and atomic<weak_ptr<T>>. - (StdAtomicPrinter): New printer. - (build_libstdcxx_dictionary): Register new printer. - * testsuite/libstdc++-prettyprinters/cxx11.cc: Test std::atomic. - * testsuite/libstdc++-prettyprinters/cxx20.cc: Test atomic smart - pointers. - -2022-04-26 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/shared_ptr_atomic.h (atomic<shared_ptr>): Add - constructor for constant initialization from nullptr_t. - * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: - Check for new constructor. - -2022-04-26 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/fs_path.h (hash<filesystem::path>): Define. - * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: - Check std::hash specialization. - -2022-04-25 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define - conditionally. - * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory): - Define for C++23. - (default_delete, default_delete<T[]>, __uniq_ptr_impl) - (unique_ptr, unique_ptr<T[], D>): Add constexpr to all member - functions. - * include/std/version (__cpp_lib_constexpr_memory): Define new - value for C++23. - * testsuite/20_util/unique_ptr/assign/constexpr.cc: New test. - * testsuite/20_util/unique_ptr/comparison/constexpr.cc: New test. - * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: New test. - * testsuite/20_util/unique_ptr/creation/constexpr.cc: New test. - * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: New test. - * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: - New test. - -2022-04-25 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105375 - * include/std/future (packaged_task): Add deduction guides. - * testsuite/30_threads/packaged_task/cons/deduction.cc: New test. - -2022-04-25 Philipp Fent <fent@in.tum.de> - - * python/libstdcxx/v6/printers.py (StdSpanPrinter._iterator): - Rename as iterator. - (StdInitializerListPrinter): Define new printer. - (build_libstdcxx_dictionary): Register new printer. - * testsuite/libstdc++-prettyprinters/cxx11.cc: Check printer for - initializer_list. - -2022-04-22 Thomas W Rodgers <trodgers@redhat.com> - - PR libstdc++/102994 - * include/bits/atomic_base.h (atomic_flag::notify_one, - notify_all): Remove const qualification. - (__atomic_base::notify_one, notify_all): Likewise. - * include/std/atomic (atomic<bool>::notify_one, notify_all): - Likewise. - (atomic::notify_one, notify_all): Likewise. - (atomic<T*>::notify_one, notify_all): Likewise. - (atomic_notify_one, atomic_notify_all): Likewise. - * testsuite/29_atomics/atomic/wait_notify/102994.cc: Adjust test - to account for change in notify_one/notify_all signature. - -2022-04-21 Patrick Palka <ppalka@redhat.com> - - * include/std/charconv (__from_chars_alnum_to_val_table): - Simplify initialization of __lower/__upper_letters. - (__from_chars_alnum_to_val): Default the template parameter to - false. - * src/c++17/floating_from_chars.cc (starts_with_ci): Don't - assume the uppercase and lowercase letters are contiguous. - (__floating_from_chars_hex): Likewise. - -2022-04-21 Patrick Palka <ppalka@redhat.com> - - PR c++/105297 - PR c++/105322 - * include/std/charconv (__from_chars_alnum_to_val): Make - initializer for __table dependent in an artificial way. - -2022-04-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105324 - * src/c++17/floating_from_chars.cc (buffer_resource::do_allocate): - Remove assertion. - * testsuite/20_util/from_chars/pr105324.cc: New test. - -2022-04-20 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: - Check correct feature test macro. - -2022-04-20 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/93602 - * doc/xml/manual/prerequisites.xml: Document libiconv - workarounds. - * doc/html/manual/setup.html: Regenerate. - * src/Makefile.am (CXXLINK): Add $(LTLIBICONV). - * src/Makefile.in: Regenerate. - -2022-04-19 Patrick Palka <ppalka@redhat.com> - - * src/c++17/floating_to_chars.cc (_GLIBCXX_ASSERTIONS): Don't - define. - (__floating_to_chars_shortest): Add __builtin_unreachable calls to - squelch false-positive -Wmaybe-uninitialized and -Wreturn-type - warnings. - (__floating_to_chars_precision): Likewise. - -2022-04-19 Philipp Fent <fent@in.tum.de> - - * python/libstdcxx/v6/printers.py (StdSpanPrinter): Define. - * testsuite/libstdc++-prettyprinters/cxx20.cc: Test it. - -2022-04-19 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Fix shell operators. - * configure: Regenerate. - -2022-04-18 Patrick Palka <ppalka@redhat.com> - - * include/std/charconv (__from_chars_pow2_base): Manually - unroll the first iteration of the main loop and simplify - accordingly. - -2022-04-15 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/104858 - * include/bits/ranges_algo.h (__minmax_fn): Avoid dereferencing - __first twice at the start. - * testsuite/25_algorithms/minmax/constrained.cc (test06): New test. - -2022-04-15 Patrick Palka <ppalka@redhat.com> - - * include/std/charconv (__from_chars_alnum_to_val_table): Define. - (__from_chars_alnum_to_val): Define. - (__from_chars_binary): Rename to ... - (__from_chars_pow2_base): ... this. Generalize to handle any - power-of-two base using __from_chars_alnum_to_val. - (__from_chars_digit): Optimize digit recognition to a single - test instead of two tests. Use [[__unlikely___]] attribute. - (__from_chars_alpha_to_num): Remove. - (__from_chars_alnum): Use __from_chars_alnum_to_val. Use a - nested loop for the overflow case. Maintain a lower bound - on the number of available bits in the result and use it to - omit the overflow check. - (from_chars): Adjust appropriately. - * src/c++17/floating_from_chars.cc (ascii_to_hexit): Remove. - (__floating_from_chars_hex): Use __from_chars_alnum_to_val - to recognize a hex digit instead. - -2022-04-14 Palmer Dabbelt <palmer@rivosinc.com> - - * acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Force auto to mutex - for RISC-V. - * configure: Regenerate. - -2022-04-14 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/intro.xml: Fix comment. - -2022-04-14 Jonathan Wakely <jwakely@redhat.com> - - * include/precompiled/stdc++.h: Include <stacktrace> and - <stdatomic.h> for C++23. - -2022-04-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105269 - * include/bits/stl_vector.h (__cpp_lib_constexpr_vector): - Define. - * include/c_compatibility/stdatomic.h (__cpp_lib_stdatomic_h): - Define. - * include/std/optional (__cpp_lib_optional): Define new value - for C++23. - (__cpp_lib_monadic_optional): Remove. - * include/std/version (__cpp_lib_constexpr_vector): Define. - (__cpp_lib_stdatomic_h): Define. - (__cpp_lib_optional): Define new value for C++23. - (__cpp_lib_monadic_optional): Remove. - * testsuite/20_util/optional/monadic/and_then.cc: Adjust. - * testsuite/20_util/optional/requirements.cc: Adjust for C++23. - * testsuite/20_util/optional/version.cc: Likewise. - * testsuite/23_containers/vector/cons/constexpr.cc: Check - feature test macro. - * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: - Likewise. - * testsuite/20_util/optional/monadic/version.cc: Removed. - * testsuite/23_containers/vector/requirements/version.cc: New test. - * testsuite/29_atomics/headers/stdatomic.h/version.cc: New test. - -2022-04-12 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Check for mmap. - * config.h.in: Regenerate. - * configure: Regenerate. - -2022-04-12 Jonathan Wakely <jwakely@redhat.com> - - * include/std/stacktrace (basic_stacktrace::current): Reallocate - a smaller container if the unused capacity is larger than the - used size. - -2022-04-12 Jonathan Wakely <jwakely@redhat.com> - - * include/std/stacktrace (basic_stacktrace): Use _Impl::_M_clone - or _Impl::_M_assign to initialize elements in allocated storage. - (basic_stacktrace::_M_clear()): Use _Impl::_M_resize instead of - _Impl::_M_destroy. - (basic_stacktrace::_Impl::_M_destroy()): Replace with ... - (basic_stacktrace::_Impl::_M_resize(size_type, allocator&)): New - function. - (basic_stacktrace::_Impl::_M_push_back): Use _M_xclone. Construct - new element using allocator. - (basic_stacktrace::_Impl::_M_clone): New function. - (basic_stacktrace::_Impl::_M_xclone): New function. - (basic_stacktrace::_Impl::_M_assign): New function. - -2022-04-12 Jonathan Wakely <jwakely@redhat.com> - - * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): - Use nothrow new instead of try block for std::allocator. - (basic_stacktrace::_Impl::_M_deallocate): Use delete for - std::allocator. - -2022-04-12 Jonathan Wakely <jwakely@redhat.com> - - * include/std/stacktrace (basic_stacktrace::current): Replace - calls to _M_reserve and _S_curr_cb with call to _M_prepare. - Check return value of backtrace_simple when max depth given. - (basic_stacktrace::_M_reserve): Remove. - (basic_stacktrace::_S_curr_cb): Remove. - (basic_stacktrace::_M_prepare(size_type)): New function to - reserve initial capacity and return callback. - (basic_stacktrace::_Impl::_M_allocate): Remove check for 0 < n - and remove redundant zeroing of _M_frames and _M_capacity. - (basic_stacktrace::_Impl::_M_push_back): Add [[unlikely]] - attribute. Assign _Impl instead of swapping. - * testsuite/19_diagnostics/stacktrace/current.cc: New test. - -2022-04-11 Jonathan Wakely <jwakely@redhat.com> - - * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): - Change [[unlikely]] attribute to [[likely]]. - -2022-04-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105031 - * include/std/stacktrace (basic_stacktrace::basic_stacktrace): - Fix allocator usage in constructors. - (basic_stacktrace::operator=(const basic_stacktrace&)): Do not - try to reallocate using const allocator. - (basic_stacktrace::operator=(basic_stacktrace&&)): Fix - if-constexpr with non-constant condition. Do not allocate new - storage if allocator propagates. Do not set _M_size if - allocation fails. - (basic_stacktrace::swap(basic_stacktrace&)): Fix typo. Add - assertion that non-propagating allocators are equal. - * testsuite/19_diagnostics/stacktrace/stacktrace.cc: New test. - -2022-04-11 Jonathan Wakely <jwakely@redhat.com> - - * include/std/stacktrace (basic_stacktrace::current): Duplicate - implementation into each overload. Add noinline attribute and - skip current frame. - (basic_stacktrace::max_size()): Call _Impl::_S_max_size. - (basic_stacktrace::_S_curr_cb()): New function defining lambda. - (basic_stacktrace::_Impl::_S_max_size): New function defining - maximum size in terms of allocator and size_type. - (basic_stacktrace::_Impl::_M_allocate): Check against - max_size(). - * testsuite/19_diagnostics/stacktrace/entry.cc: Call function - for non-constexpr checks. Check line number is correct. - -2022-04-11 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/stacktrace/entry.cc: Moved to... - * testsuite/19_diagnostics/stacktrace/entry.cc: ...here. - * testsuite/20_util/stacktrace/synopsis.cc: Moved to... - * testsuite/19_diagnostics/stacktrace/synopsis.cc: ...here. - * testsuite/20_util/stacktrace/version.cc: Moved to... - * testsuite/19_diagnostics/stacktrace/version.cc: ...here. - -2022-04-11 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/bits/fs_path.h (path): Define special - members after path::_Cmpt is complete. - -2022-04-08 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105153 - * include/std/expected - (expected<void,E>::expected(expected<U,G>&&)): Fix constraints. - * testsuite/20_util/expected/cons.cc: Check constructor. - -2022-04-08 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105154 - * include/std/expected (expected<void, E>::swap): Set - _M_has_value to false for objects that previously had a value. - * testsuite/20_util/expected/swap.cc: Fix test to check void - specialization. - -2022-04-08 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105146 - * include/std/expected (bad_expected_access): Move constructor - parameter. - * testsuite/20_util/expected/bad.cc: New test. - -2022-04-07 Hans-Peter Nilsson <hp@axis.com> - - * testsuite/20_util/expected/requirements.cc: Correct minimal-size - test. - -2022-04-02 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/105128 - * include/std/source_location (std::source_location::__impl): Move - definition before using __builtin_ret_type. - -2022-04-01 Jonathan Wakely <jwakely@redhat.com> - - * include/std/utility (unreachable): Define for C++23. - * include/std/version (__cpp_lib_unreachable): Define. - * src/c++11/debug.cc (__glibcxx_assert_fail): Check for valid - arguments. Handle only the function being given. - * testsuite/20_util/unreachable/1.cc: New test. - * testsuite/20_util/unreachable/version.cc: New test. - -2022-04-01 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/bits/fs_fwd.h (copy_file): Remove - incorrect noexcept from declaration. - * include/experimental/bits/fs_path.h (path::begin, path::end): - Add noexcept to declarations, to match definitions. - -2022-04-01 Timm Bäder <tbaeder@redhat.com> - - * include/bits/fs_ops.h: Fix filename in Doxygen comment. - * include/experimental/bits/fs_ops.h: Likewise. - -2022-03-31 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/new_opa.cc (aligned_alloc): Add comment. - -2022-03-29 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/18_support/exception/38732.cc: Disable for C++23. - * testsuite/18_support/headers/exception/synopsis.cc: Likewise. - * testsuite/18_support/unexpected_handler.cc: Likewise. - -2022-03-29 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/compare (_Strong_order) [!__cpp_using_enum]: Add - static data members for _Fp_fmt enumerators. - -2022-03-29 Jonathan Wakely <jwakely@redhat.com> - - * include/std/version (__cpp_lib_variant): Fix conditions to - match <variant>. - (__cpp_lib_expected): Fix condition to match <expected>. - -2022-03-28 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/optional/monadic/and_then.cc: Fix typo. - * testsuite/20_util/optional/monadic/transform.cc: Likewise. - * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise. - * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise. - * testsuite/22_locale/codecvt/in/char/1.cc: Likewise. - * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise. - * testsuite/22_locale/codecvt/out/char/1.cc: Likewise. - * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise. - -2022-03-27 Jonathan Wakely <jwakely@redhat.com> - - * doc/doxygen/user.cfg.in: Add new header. - * include/Makefile.am: Likewise. - * include/Makefile.in: Regenerate. - * include/precompiled/stdc++.h: Add new header. - * include/std/version (__cpp_lib_expected): Define. - * libsupc++/exception [__cplusplus > 202002] (unexpected) - (unexpected_handler, set_unexpected): Do not declare for C++23. - * include/std/expected: New file. - * testsuite/20_util/expected/assign.cc: New test. - * testsuite/20_util/expected/cons.cc: New test. - * testsuite/20_util/expected/illformed_neg.cc: New test. - * testsuite/20_util/expected/observers.cc: New test. - * testsuite/20_util/expected/requirements.cc: New test. - * testsuite/20_util/expected/swap.cc: New test. - * testsuite/20_util/expected/synopsis.cc: New test. - * testsuite/20_util/expected/unexpected.cc: New test. - * testsuite/20_util/expected/version.cc: New test. - -2022-03-25 Jonathan Wakely <jwakely@redhat.com> - - * include/std/bit (bit_cast, byteswap, endian): Add doxygen - comments. - -2022-03-23 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105027 - * include/std/bit (bit_cast): Add constraints. - * testsuite/26_numerics/bit/bit.cast/105027.cc: New test. - -2022-03-23 Jonathan Wakely <jwakely@redhat.com> - - * include/std/version [!_GLIBCXX_HOSTED] - (__cpp_lib_hardware_interference_size): Define for freestanding. - (__cpp_lib_bit_cast): Likewise. - (__cpp_lib_is_layout_compatible): Likewise. - (__cpp_lib_is_pointer_interconvertible): Likewise. - (__cpp_lib_adaptor_iterator_pair_constructor): Do not define for - freestanding. - (__cpp_lib_invoke_r): Likewise. - (__cpp_lib_ios_noreplace): Likewise. - (__cpp_lib_monadic_optional): Likewise. - (__cpp_lib_move_only_function): Likewise. - (__cpp_lib_spanstream): Likewise. - (__cpp_lib_stacktrace): Likewise. - (__cpp_lib_string_contains): Likewise. - (__cpp_lib_string_resize_and_overwrite): Likewise. - (__cpp_lib_to_underlying): Likewise. - -2022-03-23 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105021 - * include/bits/atomic_base.h [!_GLIBCXX_HOSTED]: Do not include - <bits/atomic_wait.h> for freestanding. - -2022-03-22 Hans-Peter Nilsson <hp@axis.com> - - * testsuite/20_util/from_chars/6.cc (test01) [FE_DOWNWARD]: - Conditionalize call to fesetround. - -2022-03-21 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/104990 - * include/bits/locale_facets_nonio.tcc (get): Don't check if do_get - isn't overloaded if __clang__ is defined. - -2022-03-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104242 - * include/std/any (any(T&&)): Revert change to constraints. - * testsuite/20_util/any/cons/104242.cc: New test. - -2022-03-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/92546 - * include/pstl/glue_algorithm_defs.h: Replace <functional> with - <bits/stl_pair.h>. - * include/pstl/utils.h: Replace <iterator> with <type_traits>. - (__pstl::__internal::__except_handler): Use std::__terminate - instead of std::terminate. - * src/c++17/fs_path.cc: Include <array>. - * testsuite/25_algorithms/adjacent_find/constexpr.cc: Include - <functional>. - * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise. - * testsuite/25_algorithms/clamp/constrained.cc: Likewise. - * testsuite/25_algorithms/equal/constrained.cc: Likewise. - * testsuite/25_algorithms/for_each/constrained.cc: Likewise. - * testsuite/25_algorithms/includes/constrained.cc: Likewise. - * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_permutation/constrained.cc: Include - <iterator>. - * testsuite/25_algorithms/is_sorted/constexpr.cc: Include - <functional>. - * testsuite/25_algorithms/is_sorted_until/constexpr.cc: - Likewise. - * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: - Likewise. - * testsuite/25_algorithms/lexicographical_compare/constrained.cc: - Likewise. - * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc: - Include <array>. - * testsuite/25_algorithms/lower_bound/constexpr.cc: Include - <functional>. - * testsuite/25_algorithms/max/constrained.cc: Likewise. - * testsuite/25_algorithms/max_element/constrained.cc: Likewise. - * testsuite/25_algorithms/min/constrained.cc: Likewise. - * testsuite/25_algorithms/min_element/constrained.cc: Likewise. - * testsuite/25_algorithms/minmax_element/constrained.cc: - Likewise. - * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise. - * testsuite/25_algorithms/move/93872.cc: Likewise. - * testsuite/25_algorithms/move_backward/93872.cc: Include - <iterator>. - * testsuite/25_algorithms/nth_element/constexpr.cc: Include - <functional>. - * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise. - * testsuite/25_algorithms/partial_sort_copy/constexpr.cc: - Likewise. - * testsuite/25_algorithms/search/constexpr.cc: Likewise. - * testsuite/25_algorithms/search_n/constrained.cc: Likewise. - * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise. - * testsuite/25_algorithms/set_difference/constrained.cc: - Likewise. - * testsuite/25_algorithms/set_intersection/constexpr.cc: - Likewise. - * testsuite/25_algorithms/set_intersection/constrained.cc: - Likewise. - * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: - Likewise. - * testsuite/25_algorithms/set_union/constexpr.cc: Likewise. - * testsuite/25_algorithms/set_union/constrained.cc: Likewise. - * testsuite/25_algorithms/sort/constexpr.cc: Likewise. - * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise. - * testsuite/25_algorithms/transform/constrained.cc: Likewise. - * testsuite/25_algorithms/unique/constexpr.cc: Likewise. - * testsuite/25_algorithms/unique/constrained.cc: Likewise. - * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise. - * testsuite/std/ranges/adaptors/elements.cc: Include <vector>. - * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise. - * testsuite/std/ranges/adaptors/split.cc: Likewise. - -2022-03-17 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/92546 - * include/bits/fs_path.h (path::make_preferred): Use - handwritten loop instead of std::replace. - -2022-03-17 Jonathan Wakely <jwakely@redhat.com> - - PR middle-end/104966 - * include/bits/locale_facets_nonio.tcc - (__moneypunct_cache::_M_cache): Replace try-catch with RAII and - make all string copies before any stores to *this. - -2022-03-17 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/util/testsuite_character.h: Fix comment. - -2022-03-16 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103407 - * config/abi/pre/gnu.ver: Make version for std::from_chars - depend on HAVE_USELOCALE macro. - * testsuite/util/testsuite_abi.cc (compare_symbols): Treat - std::from_chars for floating-point types as undesignated if - not found in the baseline symbols file. - -2022-03-16 Jonathan Wakely <jwakely@redhat.com> - - * include/std/charconv (__cpp_lib_to_chars): Only define when - both from_chars and to_chars are supported for floating-point - types. - (from_chars, to_chars): Adjust preprocessor conditions guarding - declarations. - * include/std/version (__cpp_lib_to_chars): Adjust condition to - match <charconv> definition. - * src/c++17/floating_from_chars.cc (from_chars_strtod): New - function template. - (from_chars): Simplify preprocessor checks and use - from_chars_strtod when appropriate. - -2022-03-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104875 - * src/c++11/codecvt.cc (read_utf8_code_point): Use char32_t to - hold octets that will be left-shifted. - -2022-03-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104870 - * src/c++17/floating_from_chars.cc: Check __SIZE_WIDTH__ >= 32 - before using fast_float. - -2022-03-10 Detlef Vollmann <dv@vollmann.ch> - - PR libstdc++/104866 - * include/bits/this_thread_sleep.h: Fix order of #endif and - closing brace of namespace. - -2022-03-10 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/compare (_Strong_order::_S_fp_cmp) [__vax__]: - Handle NaN. - -2022-03-10 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/compare (_Strong_ordering::_S_fp_cmp) [__vax__]: Use - <=> comparison. - -2022-03-09 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/104859 - * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): - Be explicit when narrowing the shifted effective_mantissa, - since it may have an integer-class type. - -2022-03-08 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/uses_allocator_args.h: Remove incorrect copyright - notice. - -2022-03-07 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104807 - * include/bits/c++config (__terminate, __glibcxx_assert_fail): - Replace _GLIBCXX_VISIBILITY on function with visibility pragma. - (__is_constant_evaluated): Add visibility pragma. - -2022-03-07 Rasmus Villemoes <rasmus.villemoes@prevas.dk> - - * config/locale/vxworks/ctype_members.cc: Remove <iostream> - include. - -2022-03-05 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/c++config (__glibcxx_assert_fail): Add visibility - attribute. - (__terminate): Likewise. - -2022-03-04 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/compare (strong_order::_S_fp_cmp): Move typedef - inside #if condition. - -2022-03-03 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104748 - * testsuite/std/ranges/adaptors/all.cc: Use non-debug vector for - constexpr test. - -2022-03-03 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/17_intro/names.cc (func): Undef on AIX. - -2022-03-03 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/96526 - * libsupc++/compare (strong_order): Add missing support for - floating-point types. - * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc: - New test. - -2022-03-01 Jonathan Wakely <jwakely@redhat.com> - - PR middle-end/103984 - * include/bits/regex_compiler.h (_BracketMatcher::_M_char): Use - default member initializer. - -2022-02-24 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104602 - * include/std/source_location (source_location::current): Use - deduced type of __builtin_source_location(). - -2022-02-22 Patrick Palka <ppalka@redhat.com> - - * include/bits/ranges_base.h (__detail::__is_initializer_list): - Define. - (viewable_range): Adjust as per P2415R2. - * include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value. - * include/std/ranges (owning_view): Define as per P2415R2. - (enable_borrowed_range<owning_view>): Likewise. - (views::__detail::__can_subrange): Replace with ... - (views::__detail::__can_owning_view): ... this. - (views::_All::_S_noexcept): Sync with operator(). - (views::_All::operator()): Use owning_view instead of subrange - as per P2415R2. - * include/std/version (__cpp_lib_ranges): Adjust value. - * testsuite/std/ranges/adaptors/all.cc (test06): Adjust now that - views::all uses owning_view instead of subrange. - (test08): New test. - * testsuite/std/ranges/adaptors/lazy_split.cc (test09): Adjust - now that rvalue non-view non-borrowed ranges are viewable. - * testsuite/std/ranges/adaptors/split.cc (test06): Likewise. - -2022-02-17 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104559 - * doc/xml/manual/evolution.xml: Document deprecation. - * doc/html/manual/api.html: Regenerate. - * include/bits/stl_bvector.h (insert(const_iterator, const bool&)): - Remove default argument. - (insert(const_iterator)): New overload with deprecated attribute. - * testsuite/23_containers/vector/bool/modifiers/insert/104559.cc: - New test. - -2022-02-17 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Replace - code that call cat->name() on std::error_category objects. - Identify known categories by symbol name and use a hardcoded - name. Print error code values as enumerators where appopriate. - * testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected - name of custom category. Check io_errc and future_errc errors. - -2022-02-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104542 - * include/bits/uses_allocator_args.h (make_obj_using_allocator) - (uninitialized_construct_using_allocator): Add constexpr. - * testsuite/20_util/uses_allocator/make_obj.cc: Check constexpr. - * testsuite/20_util/uses_allocator/uninitialized_construct.cc: New test. - -2022-02-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/100912 - * config/locale/gnu/c_locale.h (__convert_from_v): Use inline - namespace for IEEE128 long double mode. - * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add new symbol - version and export __gnu_cxx_ieee128::__convert_from_v. - * include/bits/locale_facets_nonio.tcc (money_put::__do_put): - Make __ibm128 overload use snprintf directly - * testsuite/util/testsuite_abi.cc: Add new symbol version. - Remove stable IEEE128/LDBL versions. - -2022-02-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103891 - * include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS): - Remove. - * include/std/variant: Check feature test macros instead. - * include/std/version: Likewise. - -2022-02-14 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: - Fix typo. - -2022-02-14 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/floating_to_chars.cc (FLOAT128_TO_CHARS): Depend on - LONG_DOUBLE_ALT128_COMPAT instead of USE_FLOAT128. - -2022-02-11 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/temporary_buffer.cc: Fix dg-warning target - selector. - -2022-02-11 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/monotonic_buffer_resource/allocate.cc: - Ignore -Walloc-larger-than warning. - * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: - Likewise. - * testsuite/29_atomics/atomic/cons/user_pod.cc: Compile with -O1 - to avoid linker error for __atomic_is_lock_free. - -2022-02-10 Thomas Rodgers <rodgert@appliantology.com> - - * include/bits/atomic_wait.h (__waiter_base::_S_do_spin, - __waiter_base::_S_do_spin_v): Change memory order from relaxed - to acquire. - -2022-02-10 Jonathan Wakely <jwakely@redhat.com> - - * include/c_compatibility/stdatomic.h (atomic_fetch_xor): Add - using-declaration. - (atomic_fetch_xor_explicit): Likewise. - * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Check - arithmetic and logical operations for atomic_int. - -2022-02-10 Jonathan Wakely <jwakely@redhat.com> - - * src/filesystem/dir-common.h (_GLIBCXX_HAVE_DIRFD): Undefine - when <dirent.h> is not available. - (_GLIBCXX_HAVE_UNLINKAT): Likewise. - -2022-02-09 Thomas Rodgers <rodgert@appliantology.com> - - PR libstdc++/104442 - * include/bits/atomic_wait.h (__waiter::_M_do_wait_v): Move spin - loop inside do loop so that threads failing the wait, reload - _M_ver. - -2022-02-08 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/fs_dir.cc (_Dir(DIR*, const path&)): Change first - parameter to _Dir_base&&. - * src/filesystem/dir-common.h (_Dir_base(DIR*)): Remove. - * src/filesystem/dir.cc (_Dir(DIR*, const path&)): Change first - parameter to _Dir_base&&. - -2022-02-08 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Add comment about - checking for CAS on correct word size. - -2022-02-08 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/experimental/filesystem/operations/create_directories.cc: - Adjust expected results for Windows. - -2022-02-08 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104161 - * src/c++17/fs_dir.cc (fs::recursive_directory_iterator::__erase): - [i_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Refresh entry._M_type member, - instead of checking for errno values indicating a directory. - * src/c++17/fs_ops.cc (fs::remove_all(const path&)): Use similar - logic to non-throwing overload. - (fs::remove_all(const path&, error_code&)): Add comments. - * src/filesystem/ops-common.h: Likewise. - -2022-02-04 Jonathan Wakely <jwakely@redhat.com> - - * src/filesystem/dir-common.h (_Dir_base::openat): Change return - type to use portable posix::DIR alias. - -2022-02-04 Jonathan Wakely <jwakely@redhat.com> - - * include/c_compatibility/stdatomic.h [__clang__]: Use - #include_next <stdatomic.h>. - -2022-02-04 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/bits/fs_ops.h (fs::copy_file): Remove - noexcept. - (fs::create_directories): Likewise. - (fs::remove_all): Likewise. - * src/filesystem/ops.cc (fs::copy_file): Remove noexcept. - (fs::create_directories): Likewise. - (fs::remove_all): Likewise. - -2022-02-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104161 - * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for dirfd - and unlinkat. - * config.h.in: Regenerate. - * configure: Regenerate. - * include/bits/fs_dir.h (recursive_directory_iterator): Declare - remove_all overloads as friends. - (recursive_directory_iterator::__erase): Declare new member - function. - * include/bits/fs_fwd.h (remove, remove_all): Declare. - * src/c++17/fs_dir.cc (_Dir): Add filename_only parameter to - constructor. Pass file descriptor argument to base constructor. - (_Dir::dir_and_pathname, _Dir::open_subdir, _Dir::do_unlink) - (_Dir::unlink, _Dir::rmdir): Define new member functions. - (directory_iterator): Pass filename_only argument to _Dir - constructor. - (recursive_directory_iterator::_Dir_stack): Adjust constructor - parameters to take a _Dir rvalue instead of creating one. - (_Dir_stack::orig): Add data member for storing original path. - (_Dir_stack::report_error): Define new member function. - (__directory_iterator_nofollow): Move here from dir-common.h and - fix value to be a power of two. - (__directory_iterator_filename_only): Define new constant. - (recursive_directory_iterator): Construct _Dir object and move - into _M_dirs stack. Pass skip_permission_denied argument to first - advance call. - (recursive_directory_iterator::increment): Use _Dir::open_subdir. - (recursive_directory_iterator::__erase): Define new member - function. - * src/c++17/fs_ops.cc (ErrorReporter, do_remove_all): Remove. - (fs::remove_all): Use new recursive_directory_iterator::__erase - member function. - * src/filesystem/dir-common.h (_Dir_base): Add int parameter to - constructor and use openat to implement nofollow semantics. - (_Dir_base::fdcwd, _Dir_base::set_close_on_exec, _Dir_base::openat): - Define new member functions. - (__directory_iterator_nofollow): Move to fs_dir.cc. - * src/filesystem/dir.cc (_Dir): Pass file descriptor argument to - base constructor. - (_Dir::dir_and_pathname, _Dir::open_subdir): Define new member - functions. - (recursive_directory_iterator::_Dir_stack): Adjust constructor - parameters to take a _Dir rvalue instead of creating one. - (recursive_directory_iterator): Check for new nofollow option. - Construct _Dir object and move into _M_dirs stack. Pass - skip_permission_denied argument to first advance call. - (recursive_directory_iterator::increment): Use _Dir::open_subdir. - * src/filesystem/ops.cc (fs::remove_all): Use C++17 remove_all. - -2022-02-04 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/allocator.h: Qualify std::allocator_traits in - deprecated warnings. - * libsupc++/exception (uncaught_exception): Add suggestion to - deprecated warning. - -2022-02-02 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/fs_dir.cc (fs::recursive_directory_iterator::pop): - Add [[maybe_unused]] attribute. - * src/filesystem/dir.cc (fs::recursive_directory_iterator::pop): - Likewise. - -2022-02-02 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/multiset/operators/cmp_c++20.cc: Use - custom comparison function for multiset. - * testsuite/23_containers/set/operators/cmp_c++20.cc: Use custom - comparison function for set. - -2022-02-02 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/boost_concept_check.h (_OutputIteratorConcept): - Change member function to data member of function pointer type. - -2022-02-02 Martin Sebor <msebor@redhat.com> - - PR libstdc++/101831 - * include/std/array (begin): Declare const member function attribute - const. - (end, rbegin, rend, size, max_size, empty, data): Same. - * testsuite/23_containers/array/capacity/empty.cc: Add test cases. - * testsuite/23_containers/array/capacity/max_size.cc: Same. - * testsuite/23_containers/array/capacity/size.cc: Same. - * testsuite/23_containers/array/iterators/begin_end.cc: New test. - -2022-02-02 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/filesystem/iterators/error_reporting.cc: Use - autoconf macro to check whether d_type is present. - * testsuite/experimental/filesystem/iterators/error_reporting.cc: - Likewise. - -2022-02-01 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/filesystem/iterators/97731.cc: New test. - * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: - Check follow_directory_symlink option. - * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc: - Likewise. - -2022-02-01 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/fs_dir.cc (recursive_directory_iterator::increment): - Reset state to past-the-end iterator on error. - (fs::recursive_directory_iterator::pop(error_code&)): Likewise. - (fs::recursive_directory_iterator::pop()): Check _M_dirs before - it might get reset. - * src/filesystem/dir.cc (recursive_directory_iterator): Likewise, - for the TS implementation. - * testsuite/27_io/filesystem/iterators/error_reporting.cc: New test. - * testsuite/experimental/filesystem/iterators/error_reporting.cc: New test. - -2022-02-01 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/fs_fwd.h (filesystem::perms): Fix comment. - -2022-02-01 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104301 - * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Print different messages - for stdio_pure and stdio_posix options. - * configure: Regenerate. - -2022-02-01 Thomas Rodgers <rodgert@appliantology.com> - - * include/bits/atomic_wait.h: Change memory order from - Acquire/Release with relaxed loads to SeqCst+Release for - accesses to the waiter's count. - -2022-01-31 Martin Liska <mliska@suse.cz> - - * acinclude.m4: Detect *_ld_is_mold and use it. - * configure: Regenerate. - -2022-01-30 Hans-Peter Nilsson <hp@axis.com> - - * testsuite/27_io/basic_istream/get/char/lwg3464.cc: Don't run on - simulator targets. - * testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: Likewise. - -2022-01-27 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/100516 - * include/bits/deque.tcc (_M_range_initialize<ForwardIterator>): - Add __builtin_unreachable to loop. - * testsuite/23_containers/deque/100516.cc: New test. - -2022-01-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ranges_base.h (ranges::advance): Avoid signed - overflow. Do nothing if already equal to desired result. - * testsuite/24_iterators/range_operations/advance_overflow.cc: - New test. - -2022-01-27 Martin Liska <mliska@suse.cz> - - PR libstdc++/104259 - * acinclude.m4: Fix typo. - * configure: Regenerate. - -2022-01-25 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104019 - * include/bits/istream.tcc (basic_istream::sentry): Add braces - around try-block. - * include/bits/shared_ptr_base.h (_Sp_counted_array_base::_M_init): - Add pragmas to disable bogus warnings from PR 61596. - -2022-01-25 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104217 - * src/c++17/fs_ops.cc (_GNU_SOURCE): Define. - * src/filesystem/dir.cc (_GNU_SOURCE): Define. - * src/filesystem/ops.cc (_GNU_SOURCE): Define. - -2022-01-25 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104161 - * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for - fdopendir. - * config.h.in: Regenerate. - * configure: Regenerate. - * src/c++17/fs_dir.cc (_Dir): Add nofollow flag to constructor - and pass it to base class constructor. - (directory_iterator): Pass nofollow flag to _Dir constructor. - (fs::recursive_directory_iterator::increment): Likewise. - * src/c++17/fs_ops.cc (do_remove_all): Use nofollow option for - directory_iterator constructor. Move error check outside loop. - * src/filesystem/dir-common.h (_Dir_base): Add nofollow flag to - constructor and when it's set use ::open with O_NOFOLLOW and - O_DIRECTORY. - * src/filesystem/dir.cc (_Dir): Add nofollow flag to constructor - and pass it to base class constructor. - (directory_iterator): Pass nofollow flag to _Dir constructor. - (fs::recursive_directory_iterator::increment): Likewise. - * src/filesystem/ops.cc (remove_all): Use nofollow option for - directory_iterator constructor. Move error check outside loop. - -2022-01-23 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104032 - * include/std/spanstream (basic_spanbuf(basic_spanbuf&&)): Use - mem-initializer for _M_buf. - (basic_spanbuf::Operator=(basic_spanbuf&&)): Fix ill-formed - member access. - * testsuite/27_io/spanstream/2.cc: New test. - -2022-01-23 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/floating_from_chars.cc (USE_STRTOD_FOR_FROM_CHARS): - Define macro for case where std::from_chars is implemented in - terms of strtod, strtof or strtold. - (buffer_resource, valid_fmt, find_end_of_float, pattern) - (from_chars_impl, make_result, reserve_string): Do not define - unless USE_STRTOD_FOR_FROM_CHARS is defined. - (from_chars): Define when at least one of USE_LIB_FAST_FLOAT and - USE_STRTOD_FOR_FROM_CHARS is defined, instead of - _GLIBCXX_HAVE_USELOCALE. Use fast_float for long double when it - is binary64. - -2022-01-23 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104174 - * include/bits/hashtable_policy.h (_Map_base): Add partial - specialization for maps with const key types. - * testsuite/23_containers/unordered_map/104174.cc: New test. - -2022-01-23 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104019 - * include/bits/shared_ptr_base.h (_Sp_counted_base<>::_M_release): - Set members to zero without type punning. - -2022-01-21 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/shared_ptr/cons/array.cc: Fix comment. - -2022-01-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/87193 - PR libstdc++/104019 - * include/bits/alloc_traits.h (__cpp_lib_allocator_traits_is_always_equal): - Define as type long. - * include/bits/allocator.h (__cpp_lib_incomplete_container_elements): - Likewise. - * include/bits/basic_string.h (__cpp_lib_string_udls): Likewise. - * include/bits/chrono.h (__cpp_lib_chrono): Likewise. - (__cpp_lib_chrono_udls): Likewise. - * include/bits/move.h (__cpp_lib_addressof_constexpr): Likewise. - * include/bits/node_handle.h (__cpp_lib_node_extract): Likewise. - * include/bits/range_access.h (__cpp_lib_nonmember_container_access): - Likewise. - * include/bits/shared_ptr.h (__cpp_lib_enable_shared_from_this): - Likewise. - * include/bits/stl_algo.h (__cpp_lib_clamp): Likewise. - (__cpp_lib_sample): Likewise. - * include/bits/stl_algobase.h (__cpp_lib_robust_nonmodifying_seq_ops): - Likewise. - * include/bits/stl_function.h (__cpp_lib_transparent_operators): - Likewise. - * include/bits/stl_iterator.h (__cpp_lib_make_reverse_iterator): - Likewise. - * include/bits/stl_map.h (__cpp_lib_map_try_emplace): - Likewise. - * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup): - Likewise. - * include/bits/unique_ptr.h (__cpp_lib_make_unique): - Likewise. - * include/bits/unordered_map.h (__cpp_lib_unordered_map_try_emplace): - Likewise. - * include/c_global/cmath (__cpp_lib_hypot): Likewise. - * include/c_global/cstddef (__cpp_lib_byte): Likewise. - * include/std/atomic (__cpp_lib_atomic_is_always_lock_free): - Likewise. - * include/std/complex (__cpp_lib_complex_udls): Likewise. - * include/std/filesystem (__cpp_lib_filesystem): Likewise. - * include/std/functional (__cpp_lib_not_fn): Likewise. - (__cpp_lib_boyer_moore_searcher): Likewise. - * include/std/iomanip (__cpp_lib_quoted_string_io): Likewise. - * include/std/mutex (__cpp_lib_scoped_lock): Likewise. - * include/std/numeric (__cpp_lib_gcd_lcm): Likewise. - (__cpp_lib_gcd, __cpp_lib_lcm): Likewise. - * include/std/tuple (__cpp_lib_apply): Likewise. - (__cpp_lib_make_from_tuple): Likewise. - * include/std/type_traits (__cpp_lib_integral_constant_callable) - (__cpp_lib_bool_constant, __cpp_lib_logical_traits) - (__cpp_lib_is_null_pointer, __cpp_lib_transformation_trait_aliases) - (__cpp_lib_result_of_sfinae, __cpp_lib_void_t) - (__cpp_lib_is_swappable, __cpp_lib_is_invocable) - (__cpp_lib_has_unique_object_representations) - (__cpp_lib_is_aggregate): Likewise. - * include/std/version: Likewise. - * libsupc++/new (__cpp_lib_launder): Likewise. - -2022-01-21 Jonathan Wakely <jwakely@redhat.com> - - * include/std/version (__cpp_lib_shared_ptr_arrays): Fix - condition for C++17 definition. - -2022-01-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count): - Add constexpr. - (_Sp_atomic::_M_ptr): Add default member-initializer. - * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: - Check constant initialization. - * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise. - -2022-01-20 Jonathan Wakely <jwakely@redhat.com> - - * src/c++11/cxx11-ios_failure.cc (__constinit): Define as - equivalent attribute for Clang. - * src/c++11/future.cc (__constinit): Likewise. - * src/c++11/system_error.cc (__constinit): Likewise. - * src/c++17/memory_resource.cc (__constinit): Likewise. - -2022-01-20 Jonathan Wakely <jwakely@redhat.com> - - * scripts/testsuite_flags.in: Only add src/filesystem/.libs and - src/libbacktrace/.libs to LDFLAGS if those directories exist. - -2022-01-19 Jonathan Wakely <jwakely@redhat.com> - - * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Remove -gdwarf-4 - from default flags. - * configure: Regenerate. - -2022-01-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104123 - * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Include - <stddef.h>. - -2022-01-19 Jonathan Wakely <jwakely@redhat.com> - - * scripts/testsuite_flags.in: Add src/libbacktrace/.libs to - linker search paths. - * src/Makefile.am: Fix src/debug/libbacktrace build. - * src/Makefile.in: Regenerate. - * src/libbacktrace/Makefile.am: Use per-library CPPFLAGS - variable. Use symlinks for the source files. - * src/libbacktrace/Makefile.in: Regenerate. - -2022-01-19 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd.h (__floating_point_flags): Do - not rely on math_errhandling to expand to a constant expression. - -2022-01-19 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/evolution.xml: Document deprecations. - * doc/xml/manual/status_cxx2017.xml: Update status. - * doc/html/*: Regenerate. - -2022-01-19 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_tempbuf.h (get_temporary_buffer): Change - _GLIBCXX14_DEPRECATED to _GLIBCXX17_DEPRECATED. - -2022-01-19 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_pair.h (_PCC::_DeprConsPair): Remove unused - function. - -2022-01-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104101 - * include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count::lock): - Only use __thread_relax if __cpp_lib_atomic_wait is defined. - -2022-01-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104099 - * include/bits/basic_string.h (basic_string(nullptr_t)): Only - define for C++23. - (operator=(nullptr_t)): Likewise. - * include/bits/cow_string.h: Likewise. - * include/std/string_view (basic_string_view(nullptr_t)): - Likewise. - * testsuite/21_strings/basic_string/cons/char/nullptr.cc: Adjust - expected error. Add examples that become ill-formed in C++23. - * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: - Adjust expected errors. - * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc: - Likewise. - -2022-01-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104098 - * include/bits/stl_iterator.h (reverse_iterator): Check - __cpp_lib_concepts instead of __cplusplus. - -2022-01-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/101124 - * include/bits/stl_pair.h (pair): Adjust constraints on - deprecated constructors accepting literal zero as null pointer - constant. Improve wording of deprecated attribute. - * testsuite/20_util/pair/cons/99957.cc: Check that deprecated - constructors do not cause ambiguities for copyable types. - -2022-01-18 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_function.h (ptr_fun): Fix suggestion for - non-deprecated alternative. - -2022-01-18 Tom Honermann <tom@honermann.net> - - * acinclude.m4: Define config macros if uchar.h provides - c8rtomb() and mbrtoc8(). - * config.h.in: Regenerate. - * configure: Regenerate. - * include/c_compatibility/uchar.h (c8rtomb, mbrtoc8): Define. - * include/c_global/cuchar (c8rtomb, mbrtoc8): Likewise. - * include/c_std/cuchar (c8rtomb, mbrtoc8): Likewise. - * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc: - New test. - * testsuite/21_strings/headers/cuchar/functions_std_fchar8_t.cc: - New test. - -2022-01-18 Jonathan Wakely <jwakely@redhat.com> - - * include/Makefile.am: Install new header. - * include/Makefile.in: Regenerate. - * include/c_compatibility/stdatomic.h: New file. - * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: New test. - -2022-01-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104080 - * src/c++17/fast_float/LOCAL_PATCHES: Update. - * src/c++17/fast_float/fast_float.h (FASTFLOAT_IS_BIG_ENDIAN): - Define in terms of __BYTE_ORDER__. - -2022-01-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104080 - * src/c++17/fast_float/LOCAL_PATCHES: UPDATE. - * src/c++17/fast_float/fast_float.h (round): Use explicit - template argument list for std::min. - -2022-01-18 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/status_cxx2017.xml: Update C++17 status. - * doc/xml/manual/status_cxx2020.xml: Use 12.1 instead of 12 for - upcoming release. - * doc/html/manual/status.html: Regenerate. - -2022-01-18 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): Improve - comments. - * configure: Regenerate. - -2022-01-17 Patrick Palka <ppalka@redhat.com> - - * src/c++17/floating_from_chars.cc: (USE_LIB_FAST_FLOAT): - Conditionally define, and use it to conditionally include - fast_float. - (from_chars): Use fast_float for float and double when - USE_LIB_FAST_FLOAT. - -2022-01-17 Patrick Palka <ppalka@redhat.com> - - * src/c++17/fast_float/LOCAL_PATCHES: Update. - * src/c++17/fast_float/fast_float.h (from_chars_advanced): In - case of over/underflow, return errc::result_out_of_range and don't - modify 'value'. - -2022-01-17 Patrick Palka <ppalka@redhat.com> - - * src/c++17/fast_float/LOCAL_PATCHES: Update. - * src/c++17/fast_float/fast_float.h: Apply local modifications. - -2022-01-17 Patrick Palka <ppalka@redhat.com> - - * src/c++17/fast_float/LOCAL_PATCHES: New file. - * src/c++17/fast_float/MERGE: New file. - * src/c++17/fast_float/README.md: New file, copied from the - fast_float repository. - * src/c++17/fast_float/fast_float.h: New file, an amalgamation - of the fast_float library. - -2022-01-17 Patrick Palka <ppalka@redhat.com> - - * src/c++17/floating_from_chars.cc: Include <bit>. - (ascii_to_hexit, starts_with_ci): Conditionally define. - (__floating_from_chars_hex): Conditionally define. - (from_chars): Use __floating_from_chars_hex for - chars_format::hex parsing of binary32/64 float/double. - (testsuite/20_util/from_chars/7.cc): New test. - * testsuite/20_util/from_chars/7.cc: New file. - -2022-01-17 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): New macro. - * configure.ac: Use GLIBCXX_ENABLE_BACKTRACE. - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/std/stacktrace: New header. - * include/std/version (__cpp_lib_stacktrace): Define. - * Makefile.in: Regenerate. - * config.h.in: Regenerate. - * configure: Regenerate. - * doc/Makefile.in: Regenerate. - * libsupc++/Makefile.in: Regenerate. - * po/Makefile.in: Regenerate. - * python/Makefile.in: Regenerate. - * src/Makefile.am: Regenerate. - * src/Makefile.in: Regenerate. - * src/c++11/Makefile.in: Regenerate. - * src/c++17/Makefile.in: Regenerate. - * src/c++20/Makefile.in: Regenerate. - * src/c++98/Makefile.in: Regenerate. - * src/filesystem/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - * src/libbacktrace/Makefile.am: New file. - * src/libbacktrace/Makefile.in: New file. - * src/libbacktrace/backtrace-rename.h: New file. - * src/libbacktrace/backtrace-supported.h.in: New file. - * src/libbacktrace/config.h.in: New file. - * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): - New proc. - * testsuite/20_util/stacktrace/entry.cc: New test. - * testsuite/20_util/stacktrace/synopsis.cc: New test. - * testsuite/20_util/stacktrace/version.cc: New test. - -2022-01-17 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/status_cxx2020.xml: Use final C++20 option - names. - * doc/html/manual/status.html: Regenerate. - -2022-01-17 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103650 - * include/Makefile.am: Rename LT_OBJDIR and STDC_HEADERS. - * include/Makefile.in: Regenerate. - * testsuite/17_intro/headers/c++1998/103650.cc: New test. - -2022-01-17 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd.h (__floating_point_flags): Do - not rely on the presence of the math_errhandling macro. - -2022-01-17 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/shared_ptr_atomic.h (_Sp_atomic): Add typename - to qualified-id for dependent type. - -2022-01-17 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/status_cxx2020.xml: Update. - * doc/html/manual/status.html: Regenerate. - -2022-01-17 Jonathan Wakely <jwakely@redhat.com> - Thomas Rodgers <trodgers@redhat.com> - - * include/bits/shared_ptr_atomic.h (__cpp_lib_atomic_shared_ptr): - New macro. - (_Sp_atomic): New class template. - (atomic<shared_ptr<T>>, atomic<weak_ptr<T>>): New partial - specializations. - * include/bits/shared_ptr_base.h (__shared_count, __weak_count) - (__shared_ptr, __weak_ptr): Declare _Sp_atomic as a friend. - * include/std/version (__cpp_lib_atomic_shared_ptr): New macro. - * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: New - test. - * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: New test. - -2022-01-15 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd.h: Move feature detection bools - and add __have_avx512bitalg, __have_avx512vbmi2, - __have_avx512vbmi, __have_avx512ifma, __have_avx512cd, - __have_avx512vnni, __have_avx512vpopcntdq. - (__detail::__machine_flags): New function which returns a unique - uint64 depending on relevant -m and -f flags. - (__detail::__odr_helper): New type alias for either an anonymous - type or a type specialized with the __machine_flags number. - (_SimdIntOperators): Change template parameters from _Impl to - _Tp, _Abi because _Impl now has an __odr_helper parameter which - may be _OdrEnforcer from the anonymous namespace, which makes - for a bad base class. - (many): Either add __odr_helper template parameter or mark as - always_inline. - * include/experimental/bits/simd_detail.h: Add defines for - AVX512BITALG, AVX512VBMI2, AVX512VBMI, AVX512IFMA, AVX512CD, - AVX512VNNI, AVX512VPOPCNTDQ, and AVX512VP2INTERSECT. - * include/experimental/bits/simd_builtin.h: Add __odr_helper - template parameter or mark as always_inline. - * include/experimental/bits/simd_fixed_size.h: Ditto. - * include/experimental/bits/simd_math.h: Ditto. - * include/experimental/bits/simd_scalar.h: Ditto. - * include/experimental/bits/simd_neon.h: Add __odr_helper - template parameter. - * include/experimental/bits/simd_ppc.h: Ditto. - * include/experimental/bits/simd_x86.h: Ditto. - -2022-01-14 Uroš Bizjak <ubizjak@gmail.com> - - * testsuite/22_locale/numpunct/members/char/3.cc: - Require pt_PT locale instead of nl_NL. - (test02): Use pt_PT locale instead of nl_NL. - -2022-01-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/91260 - PR libstdc++/91383 - PR libstdc++/95065 - * include/backward/binders.h (bind1st, bind2nd): Add deprecated - attribute. - * include/bits/refwrap.h (_Maybe_unary_or_binary_function): - Disable deprecated warnings for base classes. - (_Reference_wrapper_base): Likewise. - * include/bits/shared_ptr_base.h (_Sp_owner_less): Likewise. - * include/bits/stl_bvector.h (_Bit_iterator_base): Likewise. - * include/bits/stl_function.h (unary_function, binary_function): - Add deprecated attribute. - (unary_negate, not1, binary_negate, not2, ptr_fun) - (pointer_to_unary_function, pointer_to_binary_function) - (mem_fun_t, const_mem_fun_t, mem_fun_ref_t, const_mem_fun_ref_t) - (mem_fun1_t, const_mem_fun1_t, mem_fun_ref1_t) - (const_mem_fun1_ref_t, mem_fun, mem_fun_ref): Add deprecated - attributes. - * include/bits/stl_iterator.h: Disable deprecated warnings for - std::iterator base classes. - * include/bits/stl_iterator_base_types.h (iterator): Add - deprecated attribute. - * include/bits/stl_map.h (map::value_compare): Disable - deprecated warnings for base class. - * include/bits/stl_multimap.h (multimap::value_compare): - Likewise. - * include/bits/stl_raw_storage_iter.h (raw_storage_iterator): - Add deprecated attribute. - * include/bits/stl_tempbuf.h (get_temporary_buffer): Likewise. - * include/bits/stream_iterator.h: Disable deprecated warnings. - * include/bits/streambuf_iterator.h: Likewise. - * include/ext/bitmap_allocator.h: Remove unary_function base - classes. - * include/ext/functional: Disable deprecated warnings. - * include/ext/rope: Likewise. - * include/ext/throw_allocator.h: Likewise. - * include/std/type_traits (result_of): Add deprecated attribute. - * include/tr1/functional: Disable deprecated warnings. - * include/tr1/functional_hash.h: Likewise. - * testsuite/20_util/function_objects/binders/1.cc: Add - -Wno-disable-deprecations. - * testsuite/20_util/function_objects/binders/3113.cc: Likewise. - * testsuite/20_util/function_objects/constexpr.cc: Add - dg-warning. - * testsuite/20_util/raw_storage_iterator/base.cc: Likewise. - * testsuite/20_util/raw_storage_iterator/dr2127.cc: Likewise. - * testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc: - Likewise. - * testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/reference_wrapper/24803.cc: - Likewise. - * testsuite/20_util/reference_wrapper/typedefs.cc: Enable for - C++20 and check for absence of nested types. - * testsuite/20_util/shared_ptr/comparison/less.cc: Remove - std::binary_function base class. - * testsuite/20_util/temporary_buffer.cc: Add dg-warning. - * testsuite/21_strings/basic_string/cons/char/69092.cc: Remove - std::iterator base class. - * testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/24_iterators/insert_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/24_iterators/istream_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/24_iterators/istreambuf_iterator/92285.cc: - Likewise. - * testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc: - Likewise. - * testsuite/25_algorithms/copy/34595.cc: - Likewise. - * testsuite/25_algorithms/minmax/3.cc: Remove std::binary_function - base class. - * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc: - Disable deprecated warnings. - * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Add - dg-warning. - * testsuite/ext/pb_ds/example/priority_queue_erase_if.cc: - Likewise. - * testsuite/ext/pb_ds/example/priority_queue_split_join.cc: - Likewise. - * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc: - Disable deprecated warnings. - * testsuite/tr1/6_containers/hash/requirements/base_classes.cc: - Likewise. - * testsuite/util/regression/trait/erase_if_fn.hpp: Remove - std::unary_function base classes. - * testsuite/util/testsuite_iterators.h (output_iterator_wrapper): - Remove std::iterator base classes. - -2022-01-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/shared_ptr.h (__cpp_lib_shared_ptr_weak_type): - Correct type of macro value. - (shared_ptr): Add additional friend declarations. - (make_shared, allocate_shared): Constrain existing overloads and - remove static_assert. - * include/bits/shared_ptr_base.h (__cpp_lib_smart_ptr_for_overwrite): - New macro. - (_Sp_counted_ptr_inplace<T, Alloc, Lp>): New partial - specialization for use with make_shared_for_overwrite. - (__cpp_lib_shared_ptr_arrays): Update value for C++20. - (_Sp_counted_array_base): New class template. - (_Sp_counted_array): New class template. - (__shared_count(_Tp*&, const _Sp_counted_array_base&, _Init)): - New constructor for allocating shared arrays. - (__shared_ptr(const _Sp_counted_array_base&, _Init)): Likewise. - * include/std/version (__cpp_lib_shared_ptr_weak_type): Correct - type. - (__cpp_lib_shared_ptr_arrays): Update value for C++20. - (__cpp_lib_smart_ptr_for_overwrite): New macro. - * testsuite/20_util/shared_ptr/creation/99006.cc: Adjust - expected errors. - * testsuite/20_util/shared_ptr/creation/array.cc: New test. - * testsuite/20_util/shared_ptr/creation/overwrite.cc: New test. - * testsuite/20_util/shared_ptr/creation/version.cc: New test. - * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Check - feature test macro. Test non-trivial default-initialization. - -2022-01-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_construct.h (_Construct, _Construct_novalue): - Also cast away cv-qualifiers when converting pointer to void. - * testsuite/20_util/allocator/void.cc: Test construct function - with cv-qualified types. - -2022-01-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103992 - * include/bits/stl_iterator.h (common_iterator): Use - std::construct_at instead of placement new. - * testsuite/24_iterators/common_iterator/1.cc: Check copy - construction is usable in constant expressions. - -2022-01-14 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/status_cxx2011.xml: Document new tokens - accepted by std::random_device constructor. - * doc/html/manual/status.html: Regenerate. - -2022-01-12 Patrick Palka <ppalka@redhat.com> - - * testsuite/20_util/to_chars/103955.cc: Add explicit dg-do - directive. - -2022-01-12 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/103955 - * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): - Track the excess precision separately from the effective - precision. Avoid overflow in bounds check by splitting it into - two checks. - (__floating_to_chars_precision): Avoid overflow in bounds checks - similarly. - * testsuite/20_util/to_chars/103955.cc: New test. - -2022-01-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103726 - * include/Makefile.am: Install <source_location> for - freestanding. - * include/Makefile.in: Regenerate. - * include/std/version (__cpp_lib_source_location): Define for - freestanding. - -2022-01-11 Jonathan Wakely <jwakely@redhat.com> - - * include/std/ranges (ranges::lazy_split_view::_InnerIter::end()): - Add neoxcept (LWG 3593). - -2022-01-11 Jonathan Wakely <jwakely@redhat.com> - - * include/std/ranges (ranges::__detail::__box): Add constexpr to - assignment operators (LWG 3572). - * testsuite/std/ranges/adaptors/filter.cc: Check assignment of a - view that uses copyable-box. - -2022-01-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103726 - * include/Makefile.am: Install <coroutine> for freestanding. - * include/Makefile.in: Regenerate. - * include/std/coroutine: Adjust headers and preprocessor - conditions. - (__coroutine_traits_impl): Use concepts when available. - [_GLIBCXX_HOSTED] (hash<coroutine_handle>): Define. - -2022-01-11 Jonathan Wakely <jwakely@redhat.com> - - * include/std/ostream (operator<<(basic_ostream&, charT)): - Use unformatted input if no padding is needed. - (operator<<(basic_ostream<char>&, char)): Likewise. - -2022-01-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103891 - * include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS): - Define. - * include/std/variant (__cpp_lib_variant): Only define C++20 - value when the compiler is known to support conditionally - trivial destructors. - * include/std/version (__cpp_lib_variant): Likewise. - -2022-01-11 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_iterator.h (common_iterator): Add constexpr - to all member functions (LWG 3574). - * testsuite/24_iterators/common_iterator/1.cc: Evaluate some - tests as constant expressions. - * testsuite/24_iterators/common_iterator/2.cc: Likewise. - -2022-01-10 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/77760 - * include/bits/locale_facets_nonio.h (__time_get_state): New struct. - (time_get::_M_extract_via_format): Declare new method with - __time_get_state& as an extra argument. - * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Add - __state argument, set various fields in it while parsing. Handle %j, - %U, %w and %W, fix up handling of %y, %Y and %C, don't adjust tm_hour - for %p immediately. Add a wrapper around the method without the - __state argument for backwards compatibility. - (_M_extract_num): Remove all __len == 4 special cases. - (time_get::do_get_time, time_get::do_get_date, time_get::do_get): Zero - initialize __state, pass it to _M_extract_via_format and finalize it - at the end. - (do_get_year): For 1-2 digit parsed years, map 0-68 to 2000-2068, - 69-99 to 1969-1999. For 3-4 digit parsed years use that as year. - (get): If do_get isn't overloaded from the locale_facets_nonio.tcc - version, don't call do_get but call _M_extract_via_format instead to - pass around state. - * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_extract_via_format - with extra __time_get_state and __time_get_state::_M_finalize_state. - * src/c++98/locale_facets.cc (is_leap, day_of_the_week, - day_of_the_year): New functions in anon namespace. - (mon_yday): New var in anon namespace. - (__time_get_state::_M_finalize_state): Define. - * testsuite/22_locale/time_get/get/char/4.cc: New test. - * testsuite/22_locale/time_get/get/wchar_t/4.cc: New test. - * testsuite/22_locale/time_get/get_year/char/1.cc (test01): Parse 197 - as year 197AD instead of error. - * testsuite/22_locale/time_get/get_year/char/5.cc (test01): Parse 1 as - year 2001 instead of error. - * testsuite/22_locale/time_get/get_year/char/6.cc: New test. - * testsuite/22_locale/time_get/get_year/wchar_t/1.cc (test01): Parse - 197 as year 197AD instead of error. - * testsuite/22_locale/time_get/get_year/wchar_t/5.cc (test01): Parse - 1 as year 2001 instead of error. - * testsuite/22_locale/time_get/get_year/wchar_t/6.cc: New test. - -2022-01-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103866 - * acinclude.m4 (GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS): Do - nothing for freestanding builds. - (GLIBCXX_ENABLE_HOSTED): Define FREESTANDING_FLAGS. - * configure.ac: Do not use AC_LIBTOOL_DLOPEN when configured - with --without-headers. Do not use GCC_HEADER_STDINT for - freestanding builds. - * libsupc++/Makefile.am (HOSTED_CXXFLAGS): Use -ffreestanding - for freestanding builds. - * configure: Regenerate. - * Makefile.in: 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++20/Makefile.in: Regenerate. - * src/c++98/Makefile.in: Regenerate. - * src/filesystem/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - -2022-01-10 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/28_regex/algorithms/regex_replace/char/103664.cc: - Add dg-timeout-factor directive. - * testsuite/28_regex/basic_regex/84110.cc: Likewise. - * testsuite/28_regex/basic_regex/ctors/char/other.cc: Likewise. - * testsuite/28_regex/match_results/102667.cc: Likewise. - -2022-01-10 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/using.xml: Update documentation around default - -std option. - * doc/html/*: Regenerate. - -2022-01-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/100017 - * src/c++17/Makefile.am (AM_CXXFLAGS): Add -nostdinc++. - * src/c++17/Makefile.in: Regenerate. - -2022-01-09 Sandra Loosemore <sandra@codesourcery.com> - - * testsuite/18_support/type_info/constexpr.cc: Add explicit - -fdelete-null-pointer-checks option. - -2022-01-06 Pavel I. Kryukov <pavel.kryukov@phystech.edu> - Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103853 - * include/bits/forward_list.tcc (forward_list::merge): Check for - self-merge. - * testsuite/23_containers/forward_list/operations/merge.cc: New test. - -2022-01-06 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/regex.h (basic_regex, match_results): Qualify - name in friend declaration, to work around Clang bug. - -2022-01-06 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/ext/rope/pthread7-rope.cc: Add dg-timeout-factor. - -2022-01-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103911 - * include/std/charconv (__from_chars_alpha_to_num): Return - char instead of unsigned char. Change invalid return value to - 127 instead of using numeric trait. - (__from_chars_alnum): Fix comment. Do not use std::isdigit. - Change type of variable to char. - -2022-01-05 François Dumont <fdumont@gcc.gnu.org> - - PR libstdc++/68303 - * include/bits/hashtable_policy.h - (_Hashtable_hash_traits<_Hash>): New. - (_Hash_code_base<>::_M_hash_code(const _Hash_node_value<>&)): New. - (_Hashtable_base<>::_M_key_equals): New. - (_Hashtable_base<>::_M_equals): Use latter. - (_Hashtable_base<>::_M_key_equals_tr): New. - (_Hashtable_base<>::_M_equals_tr): Use latter. - * include/bits/hashtable.h - (_Hashtable<>::__small_size_threshold()): New, use _Hashtable_hash_traits. - (_Hashtable<>::find): Loop through elements to look for key if size is lower - than __small_size_threshold(). - (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise. - (_Hashtable<>::_M_insert_unique(_Kt&&, _Args&&, const _NodeGenerator&)): Likewise. - (_Hashtable<>::_M_compute_hash_code(const_iterator, const key_type&)): New. - (_Hashtable<>::_M_emplace(const_iterator, false_type, _Args&&...)): Use latter. - (_Hashtable<>::_M_find_before_node(const key_type&)): New. - (_Hashtable<>::_M_erase(true_type, const key_type&)): Use latter. - (_Hashtable<>::_M_erase(false_type, const key_type&)): Likewise. - * src/c++11/hashtable_c++0x.cc: Include <bits/functional_hash.h>. - * testsuite/util/testsuite_performance.h - (report_performance): Use 9 width to display memory. - * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc: - New performance test case. - -2022-01-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103919 - * include/bits/basic_string.h (basic_string(const T&, size_t, size_t)): - Relax constraints on string_view parameter. - * include/bits/cow_string.h (basic_string(const T&, size_t, size_t)): - Likewise. - * testsuite/21_strings/basic_string/cons/char/103919.cc: New test. - -2022-01-05 Jonathan Wakely <jwakely@redhat.com> - - * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export new symbol for - ARM EABI. - * include/bits/c++config (_GLIBCXX23_CONSTEXPR): Define. - * include/std/version (__cpp_lib_constexpr_typeinfo): Define. - * libsupc++/tinfo.cc: Add #error to ensure non-inline definition - is emitted. - (type_info::__equal): Define alias symbol. - * libsupc++/typeinfo (type_info::before): Combine different - implementations into one. - (type_info::operator==): Likewise. Use address equality for - constant evaluation. Call __equal for targets that require the - definition to be non-inline. - * testsuite/18_support/type_info/constexpr.cc: New test. - -2022-01-05 Jonathan Wakely <jwakely@redhat.com> - - * src/c++11/cxx11-ios_failure.cc (io_error_category): Define - class and virtual functions as 'final'. - (io_category_instance): Use constinit union to make the object - immortal. - * src/c++11/future.cc (future_error_category): Define class and - virtual functions as 'final'. - (future_category_instance): Use constinit union. - -2022-01-05 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Strip - versioned namespace from the type name that is printed. - -2022-01-05 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (StdRegexStatePrinter): New - printer for std::regex NFA states. - -2022-01-05 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/forward_list/operations/1.cc: Fill in - placeholders in comments. - * testsuite/23_containers/forward_list/operations/2.cc: - Likewise. - * testsuite/23_containers/forward_list/operations/3.cc: - Likewise. - * testsuite/23_containers/forward_list/operations/4.cc: - Likewise. - * testsuite/23_containers/forward_list/operations/5.cc: - Likewise. - * testsuite/23_containers/forward_list/operations/6.cc: - Likewise. - * testsuite/23_containers/forward_list/operations/7.cc: - Likewise. - -2022-01-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103848 - * include/bits/stl_deque.h (operator-): Do not use 0 as null - pointer constant. - -2022-01-05 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/alloc_traits.h (allocator_traits<allocator<void>>): - Use std::_Construct for construct. - -2022-01-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103877 - * doc/xml/faq.xml: Add '-x c++' to preprocessor command. - * doc/html/faq.html: Regenerate. - -2022-01-05 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/regex.h (__regex_algo_impl): Change __policy and - __match_mode template parameters to be function parameters. - (regex_match, regex_search): Pass policy and match mode as - function arguments. - * include/bits/regex.tcc (__regex_algo_impl): Change template - parameters to function parameters. - * include/bits/regex_compiler.h (_RegexTranslatorBase): Use - 'if constexpr' for conditions using template parameters. - (_RegexTranslator): Likewise. - * include/bits/regex_executor.tcc (_Executor::_M_handle_accept): - Likewise. - * testsuite/util/testsuite_regex.h (regex_match_debug) - (regex_search_debug): Move template arguments to function - arguments. - -2022-01-05 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/util/testsuite_regex.h (regex_match_debug): Compare - results even if the match failed. - -2022-01-05 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/regex_compiler.tcc: Adjust all calls to - __throw_regex_error. - * include/bits/regex_error.h (__throw_regex_error): Add noreturn - attribute. - * include/bits/regex_scanner.tcc: Likewise. - * src/c++11/regex.cc (desc): New helper function. - (regex_error::regex_error(error_type)): Use desc to get a string - corresponding to the error code. - -Copyright (C) 2022 Free Software Foundation, Inc. +Copyright (C) 2023 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-2022 b/libstdc++-v3/ChangeLog-2022 new file mode 100644 index 0000000000000000000000000000000000000000..77d709a9ce4d7f824be652d4e97a4d6e4f50c76e --- /dev/null +++ b/libstdc++-v3/ChangeLog-2022 @@ -0,0 +1,7211 @@ +2022-12-24 Iain Sandoe <iain@sandoe.co.uk> + + * src/c++20/tzdb.cc (remote_version): Look for the tzdata.zi + file before falling back to system-specific ones on Darwin and + BSD. + +2022-12-24 Iain Sandoe <iain@sandoe.co.uk> + + * testsuite/std/time/tzdb/leap_seconds.cc: Initialize the + override_used test var to false. + +2022-12-23 Eric Botcazou <ebotcazou@adacore.com> + + * acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Substitute CPPFLAGS. + (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Set ac_has_sched_yield and + ac_has_win32_sleep to yes for MinGW. Change HAVE_WIN32_SLEEP + into _GLIBCXX_USE_WIN32_SLEEP. + (GLIBCXX_CHECK_GTHREADS): Add _WIN32_THREADS to compilation flags for + Win32 threads and force _GTHREAD_USE_MUTEX_TIMEDLOCK to 0 for them. + Add -D_WIN32_WINNT=0x0600 to compilation flags if yes was configured + and add it to CPPFLAGS on success. + * config.h.in: Regenerate. + * configure: Likewise. + * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_GET_NPROCS_WIN32): + Define to 1. + * config/os/mingw32/os_defines.h (_GLIBCXX_USE_GET_NPROCS_WIN32): Ditto + * src/c++11/thread.cc (get_nprocs): Provide Win32 implementation if + _GLIBCXX_USE_GET_NPROCS_WIN32 is defined. Replace HAVE_WIN32_SLEEP + with USE_WIN32_SLEEP. + * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: Add + missing conditional compilation. + * testsuite/lib/libstdc++.exp (check_v3_target_sleep): Add support for + _GLIBCXX_USE_WIN32_SLEEP. + (check_v3_target_nprocs): Likewise for _GLIBCXX_USE_GET_NPROCS_WIN32. + +2022-12-23 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdb.cc [__APPLE__] (zoneinfo_dir_override): Add + definition. + +2022-12-23 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdb.cc: Remove static_assert. + +2022-12-23 Arsen Arsenović <arsen@aarsen.me> + Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107792 + PR libstdc++/107778 + * src/experimental/contract.cc (handle_contract_violation): Make + output more readable. + +2022-12-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105730 + * src/c++11/compatibility-condvar.cc (__nothrow_wait_cv::wait): + Access private data member of base class and call its wait + member. + +2022-12-22 Jonathan Wakely <jwakely@redhat.com> + + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/std/chrono (operator<<): Move to new header. + (nonexistent_local_time::_M_make_what_str): Define correctly. + (ambiguous_local_time::_M_make_what_str): Likewise. + * include/bits/chrono_io.h: New file. + * src/c++20/tzdb.cc (operator<<(ostream&, const Rule&)): Use + new ostream output for month and weekday types. + * testsuite/20_util/duration/io.cc: Test std::format support. + * testsuite/std/time/exceptions.cc: Check what() strings. + * testsuite/std/time/syn_c++20.cc: Uncomment local_time_format. + * testsuite/std/time/time_zone/get_info_local.cc: Enable check + for formatted output of local_info objects. + * testsuite/std/time/clock/file/io.cc: New test. + * testsuite/std/time/clock/gps/io.cc: New test. + * testsuite/std/time/clock/system/io.cc: New test. + * testsuite/std/time/clock/tai/io.cc: New test. + * testsuite/std/time/clock/utc/io.cc: New test. + * testsuite/std/time/day/io.cc: New test. + * testsuite/std/time/format.cc: New test. + * testsuite/std/time/hh_mm_ss/io.cc: New test. + * testsuite/std/time/month/io.cc: New test. + * testsuite/std/time/weekday/io.cc: New test. + * testsuite/std/time/year/io.cc: New test. + * testsuite/std/time/year_month_day/io.cc: New test. + +2022-12-22 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (__format::__write_padded_as_spec): New + function. + (__format::__formatter_str, __format::__formatter_int::format) + (formatter<const void*, charT>): Use it. + +2022-12-22 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter) + (StdChronoTimePointPrinter, StdChronoZonedTimePrinter) + (StdChronoCalendarPrinter, StdChronoTimeZonePrinter) + (StdChronoLeapSecondPrinter, StdChronoTzdbPrinter) + (StdChronoTimeZoneRulePrinter): New printers. + +2022-12-22 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): New macro. + * config.h.in: Regenerate. + * config/abi/pre/gnu.ver: Export new symbols. + * configure: Regenerate. + * configure.ac (GLIBCXX_ZONEINFO_DIR): Use new macro. + * include/std/chrono (utc_clock::from_sys): Correct handling + of leap seconds. + (nonexistent_local_time::_M_make_what_str): Define. + (ambiguous_local_time::_M_make_what_str): Define. + (__throw_bad_local_time): Define new function. + (time_zone, tzdb_list, tzdb): Implement all members. + (remote_version, zoned_time, get_leap_second_info): Define. + * include/std/version: Add comment for __cpp_lib_chrono. + * src/c++20/Makefile.am: Add new file. + * src/c++20/Makefile.in: Regenerate. + * src/c++20/tzdb.cc: New file. + * testsuite/lib/libstdc++.exp: Define effective target tzdb. + * testsuite/std/time/clock/file/members.cc: Check file_time + alias and file_clock::now() member. + * testsuite/std/time/clock/gps/1.cc: Likewise for gps_clock. + * testsuite/std/time/clock/tai/1.cc: Likewise for tai_clock. + * testsuite/std/time/syn_c++20.cc: Uncomment everything except + parse. + * testsuite/std/time/clock/utc/leap_second_info.cc: New test. + * testsuite/std/time/exceptions.cc: New test. + * testsuite/std/time/time_zone/get_info_local.cc: New test. + * testsuite/std/time/time_zone/get_info_sys.cc: New test. + * testsuite/std/time/time_zone/requirements.cc: New test. + * testsuite/std/time/tzdb/1.cc: New test. + * testsuite/std/time/tzdb/leap_seconds.cc: New test. + * testsuite/std/time/tzdb_list/1.cc: New test. + * testsuite/std/time/tzdb_list/requirements.cc: New test. + * testsuite/std/time/zoned_time/1.cc: New test. + * testsuite/std/time/zoned_time/custom.cc: New test. + * testsuite/std/time/zoned_time/deduction.cc: New test. + * testsuite/std/time/zoned_time/req_neg.cc: New test. + * testsuite/std/time/zoned_time/requirements.cc: New test. + * testsuite/std/time/zoned_traits.cc: New test. + +2022-12-22 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono.h (__is_duration_v, __is_time_point_v): + New variable templates. + (duration_cast): Add simplified definition for noconv case. + (treat_as_floating_point_v): Add explicit specializations. + (duration::operator%=, floor, ceil, round): Simplify SFINAE + constraints. + +2022-12-22 Jonathan Wakely <jwakely@redhat.com> + + * include/std/chrono: Use nodiscard attribute. + +2022-12-21 Jakub Jelinek <jakub@redhat.com> + + * testsuite/20_util/to_chars/float16_c++23.cc (test): Use 3 argument + std::to_chars if fmt is std::chars_format{}, rather than 4 argument. + * testsuite/20_util/to_chars/float128_c++23.cc (test): Likewise, and + skip second part of testing that requires 5 argument std::to_chars. + +2022-12-19 Arsen Arsenović <arsen@aarsen.me> + + * include/experimental/contract: Lowercase the constants in + contract_violation_continuation_mode. + +2022-12-16 John David Anglin <danglin@gcc.gnu.org> + + * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. + +2022-12-16 Jonathan Wakely <jwakely@redhat.com> + + * include/std/expected (expected): Add monadic operations. + (expected<void, E>): Likewise. + * include/std/version (__cpp_lib_expected): Bump value. + * testsuite/20_util/expected/synopsis.cc: Adjust expected macro + value. + * testsuite/20_util/expected/version.cc: Likewise. + * testsuite/20_util/expected/illformed_neg.cc: Prune additional + errors from ill-formed monadic operations. + * testsuite/20_util/expected/observers.cc: Check error_or. + * testsuite/20_util/expected/monadic.cc: New test. + +2022-12-16 Jonathan Wakely <jwakely@redhat.com> + + * include/std/expected (expected::_M_swap_val_unex): Guard the + correct object. + (expected::swap): Move is_swappable + requirement from static_assert to constraint. + (swap): Likewise. + (operator==): Remove noexcept-specifier. + * testsuite/20_util/expected/swap.cc: Check swapping of + types without non-throwing move constructor. Check constraints + on swap. + * testsuite/20_util/expected/unexpected.cc: Check constraints on + swap. + * testsuite/20_util/expected/equality.cc: New test. + +2022-12-16 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/alloc_traits.h (__allocator_traits_base::__rebind): + Add static assert for rebind requirement. + * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: + Fix invalid rebind member in test allocator. + * testsuite/20_util/allocator_traits/requirements/rebind_neg.cc: + New test. + * testsuite/20_util/scoped_allocator/outermost.cc: Add rebind to + test allocator. + * testsuite/23_containers/forward_list/48101_neg.cc: Prune new + static assert error. + * testsuite/23_containers/unordered_multiset/48101_neg.cc: + Likewise. + * testsuite/23_containers/unordered_set/48101_neg.cc: + Likewise. + * testsuite/23_containers/vector/52591.cc: Fix typo in rebind. + +2022-12-16 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108118 + * include/bits/shared_ptr_base.h (weak_ptr::operator=): + Implement as move-and-swap exactly as specified in the standard. + * testsuite/20_util/weak_ptr/cons/self_move.cc: New test. + +2022-12-15 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/108075 + * config/abi/pre/gnu.ver (CXXABI_1.3.14): Export + _ZTIDF[0-9]*[_bx], _ZTIPDF[0-9]*[_bx] and _ZTIPKDF[0-9]*[_bx]. + * testsuite/util/testsuite_abi.cc (check_version): Handle + CXXABI_1.3.14. + +2022-12-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108097 + * include/std/stacktrace (basic_stracktrace::_Impl): Do not + multiply N by sizeof(value_type) when allocating. + +2022-12-13 Jakub Jelinek <jakub@redhat.com> + + * src/libbacktrace/backtrace-rename.h (backtrace_uncompress_zstd): + Define. + +2022-12-12 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/duration/arithmetic/overflow_c++20.cc: New + test. + +2022-12-12 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108024 + * include/std/format (basic_format_string): Fix constraint. + * testsuite/std/format/format_string.cc: New test. + +2022-12-12 Jonathan Wakely <jwakely@redhat.com> + + * include/std/chrono (hh_mm_ss): Rename __is_unsigned member to + _S_is_unsigned. + * include/std/format (basic_format_context): Rename _Out_ + template parameter to _Out2. + * testsuite/17_intro/names.cc: Add Windows SAL annotation + macros. + +2022-12-12 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/98034 + * include/std/atomic (__cpp_lib_atomic_lock_free_type_aliases): + Define macro. + (atomic_signed_lock_free, atomic_unsigned_lock_free): Define + aliases. + * include/std/version (__cpp_lib_atomic_lock_free_type_aliases): + Define macro. + * testsuite/29_atomics/atomic/lock_free_aliases.cc: New test. + +2022-12-12 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (operator<<): Only output to narrow + ostreams (LWG 3515). + * testsuite/19_diagnostics/stacktrace/synopsis.cc: + +2022-12-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108015 + * include/std/chrono (hh_mm_ss): Remove digit separators. + +2022-12-09 Jonathan Wakely <jwakely@redhat.com> + + * include/ext/pb_ds/detail/type_utils.hpp (PB_DS_STATIC_ASSERT): + Add unused attribute to avoid -Wunused-local-typedef warnings. + * testsuite/17_intro/tag_type_explicit_ctor.cc: Add pragma to + ignore -Wunused-variable warnings + +2022-12-09 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono.h (duration_cast, floor, round, abs, ceil) + (time_point_cast): Add [[nodiscard]] attribute and doxygen + comments. + (treat_as_floating_point): Add doxygen commen. + +2022-12-09 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono.h (duration, time_point): Change 'struct' + to 'class'. + +2022-12-07 Jonathan Wakely <jwakely@redhat.com> + François Dumont <frs.dumont@gmail.com> + + * include/debug/formatter.h [_GLIBCXX_DEBUG_BACKTRACE] + (_Error_formatter::_Error_formatter): Pass error handler to + __glibcxx_backtrace_create_state. Pass 1 for threaded argument. + (_Error_formatter::_S_err): Define empty function. + * src/c++11/debug.cc (_Error_formatter::_M_error): Pass error + handler to __glibcxx_backtrace_full. + +2022-12-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107979 + * testsuite/17_intro/names.cc: Do not check __unused on old + Glibc versions. + +2022-12-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107871 + * include/std/format (_Iter_sink::_M_overflow): Add cast to + size_t. + (_Iter_sink<CharT, contiguous_iterator auto>::_M_make_span): Use + typedef instead of decltype. + * testsuite/std/format/functions/107871.cc: New test. + +2022-12-06 Jonathan Wakely <jwakely@redhat.com> + + * include/std/chrono (chrono::hh_mm_ss): Do not use 64-bit + representations for all four duration members. Reorder members. + (hh_mm_ss::hh_mm_ss()): Define as defaulted. + (hh_mm_ss::hh_mm_ss(Duration)): Delegate to a new private + constructor, instead of calling chrono::abs repeatedly. + * testsuite/std/time/hh_mm_ss/1.cc: Check floating-point + representations. Check default constructor. Check sizes. + +2022-12-06 Jonathan Wakely <jwakely@redhat.com> + + PR c++/106434 + * include/bits/vector.tcc (insert(const_iterator, const T&)): + Add assertion and optimization hint that the iterator for the + insertion point must be non-null. + +2022-12-06 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/std_mutex.h (mutex): Add nodiscard attribute to + try_lock member function. + * include/bits/unique_lock.h (unique_lock): Likewise for + try_lock, try_lock_until, try_lock_for member functions, and + owns_lock and mutex member functions. + * include/std/mutex (recursive_mutex): Likewise for try_lock + member function. + (timed_mutex, recursive_timed_mutex, try_lock): Likewise for + try_lock, try_lock_until, try_lock_for member functions. + (try_lock): Likewise for non-member function. + * include/std/shared_mutex (shared_mutex): Likewise for try_lock + and try_lock_shared member functions. + (shared_timed_mutex): Likewise for try_lock, try_lock_for, + try_lock_shared, try_lock_shared_for, try_lock_until, and + try_lock_shared_until member functions. + (shared_lock): Likewise for try_lock, try_lock, try_lock_for, + try_lock_until, owns_lock, and mutex member functions. + * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc: + Cast discarded value expression to void. + * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. + * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. + * testsuite/30_threads/shared_lock/locking/clock_neg.cc: + Likewise. + * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc: + Likewise. + * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc: + Likewise. + * testsuite/30_threads/try_lock/4.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/60497.cc: Likewise. + * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. + * testsuite/30_threads/unique_lock/locking/clock_neg.cc: + Likewise. + +2022-12-06 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (basic_format_parse_context::next_arg_id): + Only check arg-id is in range during constant evaluation. + * testsuite/std/format/functions/format.cc: Check "{:#Lx}". + * testsuite/std/format/parse_ctx.cc: Adjust expected results for + format-strings using an out-of-range arg-id. + +2022-12-04 Iain Sandoe <iain@sandoe.co.uk> + + * config/os/bsd/darwin/os_defines.h + (_GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC): Limit use of this macro + to OS versions that need it. + +2022-12-04 Iain Sandoe <iain@sandoe.co.uk> + + * config/os/bsd/darwin/os_defines.h (_GLIBCXX_WEAK_DEFINITION): Use the + implementation namespace for the weak attribute. + +2022-12-02 Björn Schäpers <bjoern@hazardy.de> + Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (stacktrace_entry::_S_err_handler): New + static function. + (stacktrace_entry, basic_stacktrace): Pass &_S_err_handler to + all calls to libbacktrace. + +2022-11-29 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107852 + PR libstdc++/106199 + PR libstdc++/100366 + * include/bits/vector.tcc (vector::_M_fill_insert): Copy + _M_start and _M_finish members before allocating. + (vector::_M_default_append): Likewise. + (vector::_M_range_insert): Likewise. + +2022-11-29 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_iterator_base_types.h (__iterator_category): + Add always_inline attribute. + * include/bits/stl_vector.h (assign(Iter, Iter)): Call + _M_assign_aux directly, instead of _M_assign_dispatch. + (insert(const_iterator, Iter, Iter)): Call _M_range_insert + directly instead of _M_insert_dispatch. + +2022-11-29 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format: Rename all variables called __used or + __packed. + * testsuite/17_intro/badnames.cc: Add no_pch options. + * testsuite/17_intro/names.cc: Check __packed, __unused and + __used. + +2022-11-28 François Dumont <fdumont@gcc.gnu.org> + + * testsuite/20_util/function/cons/70692.cc: Adapt dg-error message. + +2022-11-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107801 + * src/c++17/memory_resource.cc (chunk::_M_bytes): Change type + from uint32_t to bitset::size_type. Adjust static assertion. + (__pool_resource::_Pool::replenish): Cast to size_t after + multiplication instead of before. + (__pool_resource::_M_alloc_pools): Ensure both arguments to + std::max have type size_t. + +2022-11-28 Jonathan Wakely <jwakely@redhat.com> + + * include/std/string_view (basic_string_view::copy) Use explicit + template argument for call to std::min<size_t>. + (basic_string_view::substr): Likewise. + +2022-11-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107885 + * libsupc++/hash_bytes.cc (_Hash_bytes): Convert to size_t + instead of implicit integer promotion to 16 bits. + +2022-11-28 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc: + Replace non-ASCII character. + +2022-11-28 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc: + Simplify dg-prune-output pattern. + * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune "::__8". + +2022-11-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107466 + * include/bits/random.h (subtract_with_carry_engine): Use 32-bit + type for default seed. Use 0u as default argument for + subtract_with_carry_engine(result_type) constructor and + seed(result_type) member function. + * include/bits/random.tcc (subtract_with_carry_engine): Use + 32-bit type for default seed and engine used for initial state. + * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc: + New test. + +2022-11-25 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Don't use AC_MSG_RESULT + unless the AC_MSG_CHECKING happened. + * configure: Regenerate. + +2022-11-25 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107850 + * include/bits/erase_if.h (__erase_nodes_if): Use non-const + reference to the container. + * include/experimental/map (erase_if): Likewise. + * include/experimental/set (erase_if): Likewise. + * include/experimental/unordered_map (erase_if): Likewise. + * include/experimental/unordered_set (erase_if): Likewise. + * include/std/map (erase_if): Likewise. + * include/std/set (erase_if): Likewise. + * include/std/unordered_map (erase_if): Likewise. + * include/std/unordered_set (erase_if): Likewise. + * testsuite/23_containers/map/erasure.cc: Check with + const-incorrect predicate. + * testsuite/23_containers/set/erasure.cc: Likewise. + * testsuite/23_containers/unordered_map/erasure.cc: Likewise. + * testsuite/23_containers/unordered_set/erasure.cc: Likewise. + * testsuite/experimental/map/erasure.cc: Likewise. + * testsuite/experimental/set/erasure.cc: Likewise. + * testsuite/experimental/unordered_map/erasure.cc: Likewise. + * testsuite/experimental/unordered_set/erasure.cc: Likewise. + +2022-11-25 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/random.h [three_way_comparison] (operator!=): + Do not define inequality operators when C++20 three way + comparisons are supported. + * include/ext/random [three_way_comparison] (operator!=): + Likewise. + +2022-11-25 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_iterator_base_funcs.h (__distance): + Add always_inline attribute to overload for random + access iterators. + (advance, distance, next, prev): Add always_inline attribute to + inline functions that just forward to another function. + +2022-11-25 Jonathan Wakely <jwakely@redhat.com> + + * doc/html/manual/bugs.html: Regenerate. + * doc/xml/manual/intro.xml: Document LWG 3656 change. + * include/std/bit (__bit_width, bit_width): Return int. + * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: New test. + +2022-11-24 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/106201 + * testsuite/27_io/filesystem/iterators/106201.cc: Improve test. + * testsuite/experimental/filesystem/iterators/106201.cc: New test. + +2022-11-24 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/107468 + * src/c++17/fast_float/MERGE: Adjust for merge from upstream. + * src/c++17/fast_float/fast_float.h: Merge from fast_float + 2ef9abbcf6a11958b6fa685a89d0150022e82e78 commit. + +2022-11-24 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/107815 + * testsuite/20_util/to_chars/float128_c++23.cc (test): Disable + __FLT128_MAX__ test on Solaris. Fix up commented out debugging + printouts. + +2022-11-23 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/107811 + * src/c++17/floating_from_chars.cc (__floating_from_chars_hex): Guard + fast_float uses with #if USE_LIB_FAST_FLOAT and for mantissa_bits and + exponent_bits provide a fallback. + +2022-11-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107814 + * testsuite/experimental/filesystem/iterators/error_reporting.cc: + Use a static buffer with space after it. + +2022-11-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107817 + * include/std/charconv (__from_chars_alnum_to_val): Add + constexpr for C++20. + * include/std/format (__is_digit, __is_xdigit): New functions. + (_Spec::_S_parse_width_or_precision): Use __is_digit. + (__formatter_fp::parse): Use __is_xdigit. + +2022-11-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/106201 + * testsuite/27_io/filesystem/iterators/106201.cc: New test. + +2022-11-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107801 + * src/c++17/memory_resource.cc (pool_sizes): Disable large pools + for targets with 16-bit int. + +2022-11-21 Jonathan Wakely <jwakely@redhat.com> + + * include/std/functional (_Bind_front0): New class template. + (_Bind_front_t): Use _Bind_front0 when there are no bound + arguments. + * testsuite/20_util/function_objects/bind_front/107784.cc: + New test. + +2022-11-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono.h (duration): Check preconditions on + template arguments before using them. + +2022-11-21 Jonathan Wakely <jwakely@redhat.com> + + * include/std/tuple: Add better Doxygen comments. + +2022-11-21 Martin Liska <mliska@suse.cz> + + * src/experimental/Makefile.in: Re-configure. + +2022-11-20 François Dumont <fdumont@gcc.gnu.org> + + * include/std/format: Add std qualification on isxdigit calls. + +2022-11-19 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/range_access.h: Add always_inline attribute to + trivial functions. + +2022-11-19 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format: Fix -Wsign-compare warnings. + +2022-11-19 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ptr_traits.h (pointer_traits::pointer_to): Rename + parameter. + +2022-11-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107649 + * include/std/complex (__complex_proj): Fix requires-clause. + +2022-11-19 Jeff Chapman II <jchapman@lock3software.com> + Andrew Marmaduke <amarmaduke@lock3software.com> + Jason Merrill <jason@redhat.com> + + * acinclude.m4 (glibcxx_SUBDIRS): Add src/experimental. + * include/Makefile.am (experimental_headers): Add contract. + * include/Makefile.in: Regenerate. + * src/Makefile.am (SUBDIRS): Add experimental. + * src/Makefile.in: Regenerate. + * configure: Regenerate. + * src/experimental/contract.cc: New file. + * src/experimental/Makefile.am: New file. + * src/experimental/Makefile.in: New file. + * include/experimental/contract: New file. + +2022-11-17 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107720 + * include/std/format [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT]: + Declare overloads of std::to_chars for the alternative long + double type. + +2022-11-16 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107720 + * include/std/format (__format::_Arg_t): Fix typo in enumerator + name. + (_Arg_value::_S_get): Fix missing semi-colons. + +2022-11-16 Jonathan Wakely <jwakely@redhat.com> + + * include/std/chrono (get_leap_second_info): Optimize. + +2022-11-16 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107712 + * include/std/format (__format::__formatter_int::format): Use + std::toupper when __builtin_toupper isn't available. + (basic_format_arg::handle): Add 'typename'. + * include/std/complex (complex<T>): Add 'typename'. + +2022-11-16 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format [__FLT128_DIG__] (_GLIBCXX_FORMAT_F128): + Only support formatting _Float128 when glibc provides the + functionality needed for accurate std::to_chars. + +2022-11-16 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/time/clock/utc/1.cc: Check handling across leap + second insertion. + +2022-11-16 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/107701 + * include/std/iostream (__ioinit): Adjust comment. + * src/c++98/globals_io.cc: Include "io_base_init.h" here + instead of ... + * src/c++98/ios_init.cc: ... here. + * src/c++98/ios_base_init.h (__ioinit): More comments. + * testsuite/17_intro/static.cc: dg-do run instead of just link. + +2022-11-16 Jakub Jelinek <jakub@redhat.com> + Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107649 + * include/std/complex (__complex_abs, __complex_arg, __complex_cos, + __complex_cosh, __complex_exp, __complex_log, __complex_sin, + __complex_sinh, __complex_sqrt, __complex_tan, __complex_tanh, + __complex_pow): Move __complex__ _Float{16,32,64,128} and + __complex__ decltype(0.0bf16) overloads earlier in the file. + (complex): Fix up requires on the partial specialization for extended + float types. + (__complex_acos, __complex_asin, __complex_atan, __complex_acosh, + __complex_asinh, __complex_atanh): Move + __complex__ _Float{16,32,64,128} and __complex__ decltype(0.0bf16) + overloads earlier in the file. + +2022-11-16 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Make + expansion of std::string in manager name more robust. + +2022-11-16 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (is_specialization_of): Fix + incorrect terminology in docstring and describe arguments. + (FilteringTypePrinter): Add default argument for new parameter, + enhance docstring. + +2022-11-16 François Dumont <fdumont@gcc.gnu.org> + + * python/libstdcxx/v6/printers.py (FilteringTypePrinter): Rename 'match' field + 'template'. Add self.targ1 to specify the first template parameter of the instantiation + to match. + (add_one_type_printer): Add targ1 optional parameter, default to None. + Use gdb.types.get_basic_type to compare the type to recognize and the type + returned from the typedef lookup. + (register_type_printers): Adapt calls to add_one_type_printers. + +2022-11-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/format/functions/format.cc: Do not use + std::make_unsigned_t<__int128>. + +2022-11-15 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (formattable): Only define for C++23/ + * testsuite/std/format/formatter.cc: Moved to... + * testsuite/std/format/formatter/requirements.cc: ...here. + * testsuite/std/format/formatter/concept.cc: New test. + * testsuite/std/format/functions/format.cc: Replace use of + std::formattable in C++20. + +2022-11-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107693 + * include/std/format (_GLIBCXX_FORMAT_F128): Define to 2 when + basic_format_arg needs to use its _M_f128 member. + (__extended_floating_point, __floating_point): Replace with ... + (__formattable_floating_point): New concept. + * testsuite/std/format/functions/format.cc: Check whether + __float128 is supported. Also test _Float128. + +2022-11-15 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/documentation_hacking.xml: Document use of + Markdown for Doxygen comments. Tweak formatting. + * doc/html/manual/documentation_hacking.html: Regenerate. + +2022-11-14 Jonathan Wakely <jwakely@redhat.com> + + * python/Makefile.am (install-data-local): Use mkdirs_p for debug + libdir. + * python/Makefile.in: Regenerate. + +2022-11-14 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> + + * src/Makefile.am (install-debug): Remove use of $(debugdir). + * src/Makefile.in: Regenerate. + +2022-11-13 Jonathan Wakely <jwakely@redhat.com> + + * include/std/chrono (utc_clock, tai_clock, gps_clock): Define. + (clock_time_conversion, clock_cast): Define. + (sys_info, local_info): Define structs for timezone information. + (nonexistent_local_time, ambiguous_local_time): Define + exceptions for invalid times. + (time_zone, time_zone_link, leap_second, zoned_traits, tzdb) + (tzdb_list): Define classes representing time zones. + (get_leap_second_info): Define new function returning leap + second offset for a given time point. + * testsuite/std/time/clock/gps/1.cc: New test. + * testsuite/std/time/clock/tai/1.cc: New test. + * testsuite/std/time/clock/utc/1.cc: New test. + +2022-11-13 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104166 + * include/Makefile.am (std_headers): Add <format>. + * include/Makefile.in: Regenerate. + * include/precompiled/stdc++.h: Add <format>. + * include/std/format: New file. + * python/libstdcxx/v6/printers.py (StdFormatArgsPrinter): New + printer for std::format_args. + * testsuite/std/format/arguments/args.cc: New test. + * testsuite/std/format/error.cc: New test. + * testsuite/std/format/formatter.cc: New test. + * testsuite/std/format/functions/format.cc: New test. + * testsuite/std/format/functions/format_to_n.cc: New test. + * testsuite/std/format/functions/size.cc: New test. + * testsuite/std/format/functions/vformat_to.cc: New test. + * testsuite/std/format/parse_ctx.cc: New test. + * testsuite/std/format/string.cc: New test. + * testsuite/std/format/string_neg.cc: New test. + +2022-11-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/charconv.h (__integer_to_chars_is_unsigned): + New variable template. + (__to_chars_len, __to_chars_10_impl): Use variable template in + assertions to allow unsigned __int128 in strict mode. + * include/std/charconv (__to_chars, __to_chars_16) + (__to_chars_10, __to_chars_8, __to_chars_2): Likewise. + +2022-11-12 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/107636 + * include/std/charconv (to_chars): Fix up powerpc64le _Float128 + overload __extension__ placement. + +2022-11-12 Jonathan Wakely <jwakely@redhat.com> + + * src/Makefile.am: Simplify debug build targets. + * src/Makefile.in: Regenerate. + +2022-11-12 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103755 + * src/c++11/locale-inst-monetary.h: Include new header. + * src/c++11/locale-inst-numeric.h: Likewise. + * src/c++11/locale-inst.cc: Likewise. + (INSTANTIATE_USE_FACET, INSTANTIATE_FACET_ACCESSORS): Move + macro definitions to ... + * src/c++11/facet_inst_macros.h: New file. + +2022-11-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/95048 + * include/experimental/bits/fs_path.h (path::_Cvt::_S_wconvert): + Construct codecvt directly instead of getting it from the + locale. + +2022-11-11 Nathaniel Shead <nathanieloshead@gmail.com> + + PR libstdc++/103295 + * include/bits/basic_string.h (_M_use_local_data): Set active + member to _M_local_buf. + +2022-11-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/95048 + * include/bits/fs_path.h (path::_Codecvt): New class template + that selects the kind of code conversion done. + (path::_Codecvt<wchar_t>): Select based on sizeof(wchar_t). + (_GLIBCXX_CONV_FROM_UTF8): New macro to allow the same code to + be used for Windows and POSIX. + (path::_S_convert(const EcharT*, const EcharT*)): Simplify by + using _Codecvt and _GLIBCXX_CONV_FROM_UTF8 abstractions. + (path::_S_str_convert(basic_string_view<value_type>, const A&)): + Simplify nested conditions. + * include/experimental/bits/fs_path.h (path::_Cvt): Define + nested typedef controlling type of code conversion done. + (path::_Cvt::_S_wconvert): Use new typedef. + (path::string(const A&)): Likewise. + * testsuite/27_io/filesystem/path/construct/95048.cc: New test. + * testsuite/experimental/filesystem/path/construct/95048.cc: New + test. + +2022-11-11 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/tuple/swap.cc (MoveOnly::operator==): Add + const qualifier. + * testsuite/26_numerics/valarray/87641.cc (X::operator==): + Likewise. + +2022-11-11 Jonathan Wakely <jwakely@redhat.com> + + * include/std/charconv (__from_chars_alnum_to_val_table::value): + [!__cpp_inline_variables]: Add non-inline definition. + +2022-11-11 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/experimental/propagate_const/observers/107525.cc: + Use type trait instead of C++17 variable template. + +2022-11-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103755 + * config/abi/pre/gnu.ver: Tighten patterns for facets in the + base version. Add exports for __try_use_facet. + * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use + __try_use_facet instead of has_facet and use_facet. + * include/bits/fstream.tcc (basic_filebuf::basic_filebuf()): + Likewise. + (basic_filebuf::imbue): Likewise. + * include/bits/locale_classes.h (locale, locale::id) + (locale::_Impl): Declare __try_use_facet as a friend. + * include/bits/locale_classes.tcc (__try_use_facet): Define new + function template with special cases for default facets. + (has_facet, use_facet): Call __try_use_facet. + * include/bits/locale_facets.tcc (__try_use_facet): Declare + explicit instantiations. + * include/bits/locale_facets_nonio.tcc (__try_use_facet): + Likewise. + * src/c++11/locale-inst-monetary.h (INSTANTIATE_FACET_ACCESSORS): + Use new macro for facet accessor instantiations. + * src/c++11/locale-inst-numeric.h (INSTANTIATE_FACET_ACCESSORS): + Likewise. + * src/c++11/locale-inst.cc (INSTANTIATE_USE_FACET): Define new + macro for instantiating __try_use_facet and use_facet. + (INSTANTIATE_FACET_ACCESSORS): Define new macro for also + defining has_facet. + * src/c++98/compatibility-ldbl.cc (__try_use_facet): + Instantiate. + * testsuite/22_locale/ctype/is/string/89728_neg.cc: Adjust + expected errors. + +2022-11-10 Jonathan Wakely <jwakely@redhat.com> + + * include/std/concepts (__detail::__destructible_impl) + (__detail::__destructible): New variable templates. + (destructible): Use __detail::__destructible. + * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: + Add more checks for array and reference types. + +2022-11-08 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/18_support/new_nothrow.cc: Add missing noexcept + to operator delete replacements. + * testsuite/20_util/any/cons/92156.cc: Disable + -Winit-list-lifetime warnings from instantiating invalid + specialization of manager function. + * testsuite/20_util/any/modifiers/92156.cc: Likewise. + * testsuite/20_util/default_delete/void_neg.cc: Prune additional + diagnostics. + * testsuite/20_util/headers/memory/synopsis.cc: Add missing + noexcept. + * testsuite/20_util/shared_ptr/cons/void_neg.cc: Prune + additional diagnostic. + * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Add + missing noexcept to operator delete replacements. + * testsuite/21_strings/basic_string/cons/char/103919.cc: + Likewise. + * testsuite/23_containers/map/modifiers/emplace/92300.cc: + Likewise. + * testsuite/23_containers/map/modifiers/insert/92300.cc: + Likewise. + * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: + Add missing noexcept to synopsis declarations. + * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: + Likewise. + * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: + Likewise. + +2022-11-08 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_tempbuf.h (_Temporary_buffer): Disable + warnings about get_temporary_buffer being deprecated. + * include/ext/functional (mem_fun1, mem_fun1_ref): Disable + warnings about mem_fun1_t, const_mem_fun1_t, mem_fun1_ref_t and + const_mem_fun1_ref_t being deprecated. + * include/std/array (__array_traits<T, 0>): Remove artificial + attributes which give warnings about being ignored. + * include/std/spanstream (basic_spanbuf::setbuf): Add assertion + and adjust to avoid narrowing warning. + * libsupc++/exception_ptr.h [!__cpp_rtti && !__cpp_exceptions] + (make_exception_ptr): Add missing inline specifier. + +2022-11-08 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/alloc_traits.h (allocator_traits): Add + always_inline attribute to all member functions. + (__do_alloc_on_copy, __alloc_on_copy, __do_alloc_on_move) + (__alloc_on_move, __do_alloc_on_swap, __alloc_on_swap) + (_Destroy(FwdIter, FwdIter, allocator<T>&)): : Add + always_inline attribute. + * include/bits/allocator.h (allocator): Add always_inline + attribute to all member functions and equality operators. + * include/bits/new_allocator.h (__new_allocator): Likewise. + * include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits): + Likewise. + +2022-11-08 Charles-François Natali <cf.natali@gmail.com> + + PR libstdc++/63746 + * include/bits/fstream.tcc (basic_filbuf::xsputn): Remove + 1024-byte chunking that bypasses the buffer for large writes. + * testsuite/27_io/basic_filebuf/sputn/char/63746.cc: New test. + +2022-11-08 Will Hawkins <whh8b@obs.cr> + Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.h (__str_cat): Add common function + that performs single-allocation string concatenation. + (operator+): Use __str_cat. + * include/bits/basic_string.tcc (operator+): Move to .h and + define inline using __str_cat. + +2022-11-08 Jakub Jelinek <jakub@redhat.com> + + * testsuite/20_util/to_chars/float128_c++23.cc (test): Uncomment + denorm_min test. + +2022-11-08 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/authors.xml: Update the blurb listing my doc + contributions. + +2022-11-08 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/authors.xml: Remove empty author element. + * doc/xml/manual/spine.xml: Likewise. + * doc/html/manual/index.html: Regenerate. + +2022-11-08 Joseph Myers <joseph@codesourcery.com> + + PR libstdc++/107562 + * src/c++17/floating_from_chars.cc (from_chars_impl): Fix syntax + error. + +2022-11-08 Jason Merrill <jason@redhat.com> + Jakub Jelinek <jakub@redhat.com> + + * testsuite/18_support/comparisons/algorithms/fallback.cc: Adjust + asserts. + +2022-11-07 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/107562 + * src/c++17/floating_from_chars.cc (__strtof128): Put __asm before + __attribute__. + * src/c++17/floating_to_chars.cc (__strfromf128): Likewise. + +2022-11-07 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (as_rvalue_view): Define. + (enable_borrowed_range<as_rvalue_view>): Define. + (views::__detail::__can_as_rvalue_view): Define. + (views::_AsRvalue, views::as_rvalue): Define. + * testsuite/std/ranges/adaptors/as_rvalue/1.cc: New test. + +2022-11-07 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (__maybe_const_t): New alias for + __detail::__maybe_const_t. + (__detail::__cartesian_product_is_random_access): Define. + (__detail::__cartesian_product_common_arg): Define. + (__detail::__cartesian_product_is_bidirectional): Define. + (__detail::__cartesian_product_is_common): Define. + (__detail::__cartesian_product_is_sized): Define. + (__detail::__cartesian_is_sized_sentinel): Define. + (__detail::__cartesian_common_arg_end): Define. + (cartesian_product_view): Define. + (cartesian_product_view::_Iterator): Define. + (views::__detail::__can_cartesian_product_view): Define. + (views::_CartesianProduct, views::cartesian_product): Define. + * testsuite/std/ranges/cartesian_product/1.cc: New test. + +2022-11-07 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/107468 + * src/c++17/fast_float/MERGE: Adjust for merge from upstream. + * src/c++17/fast_float/LOCAL_PATCHES: Remove commits that were + upstreamed. + * src/c++17/fast_float/README.md: Merge from fast_float + 662497742fea7055f0e0ee27e5a7ddc382c2c38e commit. + * src/c++17/fast_float/fast_float.h: Likewise. + * testsuite/20_util/from_chars/pr107468.cc: New test. + +2022-11-07 Jakub Jelinek <jakub@redhat.com> + + * include/std/charconv (from_chars, to_chars): Add _Float128 + overfloads if _GLIBCXX_HAVE_FLOAT128_MATH is defined. + * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export + _ZSt8to_charsPcS_DF128_, _ZSt8to_charsPcS_DF128_St12chars_format, + _ZSt8to_charsPcS_DF128_St12chars_formati and + _ZSt10from_charsPKcS0_RDF128_St12chars_format. + * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS): + Define if needed. + (__strtof128): Declare. + (from_chars_impl): Handle _Float128. + (from_chars): New _Float128 overload if USE_STRTOF128_FOR_FROM_CHARS + is define. + * src/c++17/floating_to_chars.cc (__strfromf128): Declare. + (FLOAT128_TO_CHARS): Define even when _Float128 is supported and + wider than long double. + (F128_type): Use _Float128 for that case. + (floating_type_traits): Specialize for F128_type rather than + __float128. + (sprintf_ld): Add length argument. Handle _Float128. + (__floating_to_chars_shortest, __floating_to_chars_precision): + Pass length to sprintf_ld. + (to_chars): Add _Float128 overloads for the F128_type being + _Float128 cases. + * testsuite/20_util/to_chars/float128_c++23.cc: New test. + +2022-11-06 Patrick Palka <ppalka@redhat.com> + + * include/bits/atomic_wait.h (_detail::__platform_wait_alignment): + Declare inline. Remove redundant static specifier. + (__detail::__atomic_spin_count_relax): Declare inline. + (__detail::__atomic_spin_count): Likewise. + * include/bits/regex_automaton.h (__detail::_S_invalid_state_id): + Declare inline for C++17. Declare constexpr. Remove + redundant const and static specifiers. + * include/bits/regex_error.h (regex_constants::error_collate): + Declare inline for C++17 as per P0607R0. + (regex_constants::error_ctype): Likewise. + (regex_constants::error_escape): Likewise. + (regex_constants::error_backref): Likewise. + (regex_constants::error_brack): Likewise. + (regex_constants::error_paren): Likewise. + (regex_constants::error_brace): Likewise. + (regex_constants::error_badbrace): Likewise. + (regex_constants::error_range): Likewise. + (regex_constants::error_space): Likewise. + (regex_constants::error_badrepeat): Likewise. + (regex_constants::error_complexity): Likewise. + (regex_constants::error_stack): Likewise. + * include/ext/concurrence.h (__gnu_cxx::__default_lock_policy): + Likewise. Remove redundant static specifier. + * include/pstl/execution_defs.h (execution::seq): Declare inline + for C++17 as per P0607R0. + (execution::par): Likewise. + (execution::par_unseq): Likewise. + (execution::unseq): Likewise. + +2022-11-06 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/44952 + PR libstdc++/39796 + PR libstdc++/98108 + * include/std/iostream (__ioinit): No longer define here if + the init_priority attribute is usable. + * src/c++98/ios_init.cc (__ioinit): Define here instead if + init_priority is usable, via ... + * src/c++98/ios_base_init.h: ... this new file. + +2022-11-05 Jakob Hasse <0xjakob@users.noreply.github.com> + + PR libstdc++/105387 + * libsupc++/pbase_type_info.cc (__do_catch) [!__cpp_rtti]: Add + check that the thrown type is actually a pointer. + * testsuite/18_support/105387.cc: New test. + * testsuite/18_support/105387_memptr.cc: New test. + +2022-11-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107525 + * include/experimental/propagate_const (operator element_type*()): + Move into base class that can be partially specilized to iompose + constraints. + (operator const element_type*()): Likewise. + * testsuite/experimental/propagate_const/observers/107525.cc: New test. + +2022-11-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107500 + * libsupc++/eh_globals.cc (eh_globals): Remove immortalizing + wrapper. + (__cxxabiv1::__cxa_get_globals_fast): Adjust. + (__cxxabiv1::__cxa_get_globals): Adjust. + +2022-11-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107511 + * libsupc++/eh_alloc.cc (_GNU_SOURCE): Define. + +2022-11-03 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ranges_algobase.h (__detail::__copy_or_move): + Move output iterator. + * testsuite/25_algorithms/copy/constrained.cc: Check copying to + move-only output iterator. + +2022-11-02 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/eh_globals.cc (constant_init::unused): Remove. + * src/c++11/system_error.cc (constant_init::unused): Remove. + * src/c++17/memory_resource.cc (constant_init::unused): Remove. + +2022-11-02 Patrick Palka <ppalka@redhat.com> + + * src/c++17/floating_from_chars.cc (from_chars_impl): In the + ERANGE case, distinguish between a denormal result and true + underflow by checking if the return value is 0. + +2022-11-02 Jonathan Wakely <jwakely@redhat.com> + + * include/std/expected (expected::_M_invalid): Remove. + +2022-11-02 Jonathan Wakely <jwakely@redhat.com> + + * include/std/variant (__variant::_Multi_array::__untag_result): + Use pragma to suppress warning. + +2022-11-02 Jakub Jelinek <jakub@redhat.com> + + * libsupc++/compare (_Strong_order::_Fp_fmt): Add _Bfloat16. + (_Strong_order::_Bfloat16): New static data member. + (_Strong_order::_S_fp_fmt): Return _Bfloat16 for std::bfloat16_t. + +2022-11-02 Jakub Jelinek <jakub@redhat.com> + + * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): Drop const + from unbiased_exponent. Canonicalize denormals such that they have + the leading bit set by shifting effective mantissa up and decreasing + unbiased_exponent. + (__floating_to_chars_shortest): Don't instantiate + __floating_to_chars_hex for float16_t either and use float instead. + * testsuite/20_util/to_chars/float.cc (float_to_chars_test_cases): + Adjust testcases for shortest hex denormals. + * testsuite/20_util/to_chars/double.cc (double_to_chars_test_cases): + Likewise. + +2022-11-01 Jakub Jelinek <jakub@redhat.com> + + * include/std/charconv (__from_chars_float16_t, + __from_chars_bfloat16_t): Declare. + (from_chars): Add _Float16 and __gnu_cxx::__bfloat16_t overloads. + * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export + _ZSt22__from_chars_float16_tPKcS0_RfSt12chars_format and + _ZSt23__from_chars_bfloat16_tPKcS0_RfSt12chars_format. + * src/c++17/floating_from_chars.cc + (fast_float::floating_type_float16_t, + fast_float::floating_type_bfloat16_t): New classes. + (fast_float::binary_format<floating_type_float16_t>, + fast_float::binary_format<floating_type_bfloat16_t>): New + specializations. + (fast_float::to_float<floating_type_float16_t>, + fast_float::to_float<floating_type_bfloat16_t>, + fast_float::to_extended<floating_type_float16_t>, + fast_float::to_extended<floating_type_bfloat16_t>): Likewise. + (fast_float::from_chars_16): New template function. + (__floating_from_chars_hex): Allow instantiation with + fast_float::floating_type_{,b}float16_t. + (from_chars): Formatting fixes for float/double/long double overloads. + (__from_chars_float16_t, __from_chars_bfloat16_t): New functions. + * testsuite/20_util/to_chars/float16_c++23.cc: New test. + +2022-11-01 Jakub Jelinek <jakub@redhat.com> + + * include/std/charconv (__to_chars_float16_t, __to_chars_bfloat16_t): + Declare. + (to_chars): Add _Float16 and __gnu_cxx::__bfloat16_t overloads. + * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export + _ZSt20__to_chars_float16_tPcS_fSt12chars_format and + _ZSt21__to_chars_bfloat16_tPcS_fSt12chars_format. + * src/c++17/floating_to_chars.cc (floating_type_float16_t, + floating_type_bfloat16_t): New types. + (floating_type_traits<floating_type_float16_t>, + floating_type_traits<floating_type_bfloat16_t>, + get_ieee_repr<floating_type_float16_t>, + get_ieee_repr<floating_type_bfloat16_t>, + __handle_special_value<floating_type_float16_t>, + __handle_special_value<floating_type_bfloat16_t>): New specializations. + (floating_to_shortest_scientific): Handle floating_type_float16_t + and floating_type_bfloat16_t like IEEE quad. + (__floating_to_chars_shortest): For floating_type_bfloat16_t call + __floating_to_chars_hex<float> rather than + __floating_to_chars_hex<floating_type_bfloat16_t> to avoid + instantiating the latter. + (__to_chars_float16_t, __to_chars_bfloat16_t): New functions. + +2022-11-01 Jakub Jelinek <jakub@redhat.com> + + * include/std/charconv (from_chars, to_chars): Add _Float{32,64,128} + overloads for cases where those types match {float,double,long double}. + * include/std/istream (basic_istream::operator>>): Add + _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads. + * include/std/ostream (basic_ostream::operator<<): Add + _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads. + * testsuite/20_util/from_chars/8.cc: New test. + * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc (test): + Formatting fixes. + * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: Add + dg-options "-std=gnu++2b". + (test_functions, main): Formatting fixes. + * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: + Add dg-options "-std=gnu++2b". + +2022-10-31 Jakub Jelinek <jakub@redhat.com> + + * include/std/complex (complex::complex converting ctor): For C++23 + use explicit specifier with constant expression. Explicitly cast + both parts to _Tp. + (__complex_abs, __complex_arg, __complex_cos, __complex_cosh, + __complex_exp, __complex_log, __complex_sin, __complex_sinh, + __complex_sqrt, __complex_tan, __complex_tanh, __complex_pow): Add + __complex__ _Float{16,32,64,128} and __complex__ decltype(0.0bf16) + overloads. + (complex<float>::complex converting ctor, + complex<double>::complex converting ctor, + complex<long double>::complex converting ctor): For C++23 implement + as template with explicit specifier with constant expression + and explicit casts. + (__complex_type): New template. + (complex): New partial specialization for types with extended floating + point types. + (__complex_acos, __complex_asin, __complex_atan, __complex_acosh, + __complex_asinh, __complex_atanh): Add __complex__ _Float{16,32,64,128} + and __complex__ decltype(0.0bf16) overloads. + (__complex_proj): Likewise. Add template for complex of extended + floating point types. + * include/bits/cpp_type_traits.h (__is_floating): Specialize for + _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t. + * testsuite/26_numerics/complex/ext_c++23.cc: New test. + +2022-10-31 Jakub Jelinek <jakub@redhat.com> + + * config/os/gnu-linux/os_defines.h (_GLIBCXX_HAVE_FLOAT128_MATH): + Uncomment. + * include/c_global/cmath (nextafter(_Float16, _Float16)): Make it constexpr. + If std::__is_constant_evaluated() call __builtin_nextafterf16. + (nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): Similarly + but call __builtin_nextafterf16b. + * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc (test): Add + static assertions to test constexpr nextafter. + +2022-10-28 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/fs_path.h (path::filename()): Fix dangling + reference. + +2022-10-28 Arsen Arsenović <arsen@aarsen.me> + + * include/std/functional: Make placeholders inline, if possible. + +2022-10-28 Arsen Arsenović <arsen@aarsen.me> + + * configure.ac: Stop generating gstdint.h. + * src/c++11/compatibility-atomic-c++0x.cc: Stop using gstdint.h. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * config.h.in: 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++20/Makefile.in: Regenerate. + * src/c++98/Makefile.in: Regenerate. + * src/filesystem/Makefile.in: Regenerate. + * src/libbacktrace/Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + +2022-10-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107376 + * include/bits/regex_executor.h (_Executor::_Executor): Use same + allocator for _M_cur_results and _M_results. + * include/bits/regex_executor.tcc (_Executor::_M_main_dispatch): + Prevent possibly incorrect allocator propagating to + _M_cur_results. + * testsuite/28_regex/algorithms/regex_match/107376.cc: New test. + +2022-10-26 Marek Polacek <polacek@redhat.com> + + PR c++/106393 + * include/bits/locale_classes.tcc: Add #pragma to disable + -Wdangling-reference with std::use_facet. + +2022-10-21 Arsen Arsenović <arsen@aarsen.me> + + * acinclude.m4: Default hosted to off if building without + headers and without newlib. + * configure: Regenerate. + +2022-10-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/mofunc_impl.h (move_only_function::__param_t): + Use __is_scalar instead of is_trivially_copyable. + * testsuite/20_util/move_only_function/call.cc: Check parameters + involving incomplete types. + +2022-10-20 Patrick Palka <ppalka@redhat.com> + + * include/std/charconv (__detail::__from_chars_alnum_to_val_table): + Redefine as a class template containing the members type, value and + _S_make_table. Don't use a local class as the table type. + (__detail::__table): Remove. + (__detail::__from_chars_alnum_to_val): Adjust after the above. + +2022-10-19 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (views::__detail::__is_repeat_view): Define + and later define a partial specialization. + (views::__detail::__take_of_repeat_view): Declare and later define. + (views::__detail::__drop_of_repeat_view): Likewise. + (views::_Take::operator()): Return a repeat_view if the argument + is a repeat_view as per P2474R2. + (views::_Drop::operator()): Likewise. + (repeat_view): Befriend __take/drop_of_repeat_view. + * testsuite/std/ranges/repeat/1.cc (test04): New test. + +2022-10-19 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/107313 + * include/std/ranges (stride_view::_Iterator::operator-): Fix typo. + * testsuite/std/ranges/adaptors/stride/1.cc (test03): New test. + +2022-10-19 LIU Hao <lh_mouse@126.com> + + * src/c++11/thread.cc (get_nprocs): Add new implementation + for native Windows targets + +2022-10-19 LIU Hao <lh_mouse@126.com> + + * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Use + implementation from mcfgthread if available + * libsupc++/guard.cc (__cxa_guard_acquire, __cxa_guard_release, + __cxa_guard_abort): Use implementations from mcfgthread if + available + * configure: Regenerate + +2022-10-19 Jakub Jelinek <jakub@redhat.com> + + PR c++/106652 + * include/std/limits: Fix a typo, 202202L -> 202002L. + (numeric_limits::<_Float16>::radix, numeric_limits::<_Float32>::radix, + numeric_limits::<_Float64>::radix, numeric_limits::<_Float128>::radix, + numeric_limits::<__gnu_cxx::__bfloat16_t>::radix): Use __FLT_RADIX__ + macro instead of type specific macros. + * include/c_global/cmath (nextafter(_Float16, _Float16)): New + overload. + (nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): + Likewise. + * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc + (test_functions): Uncomment nextafter test. Fix up sph_neumann call. + * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc: New test. + +2022-10-18 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (stride_view): Define. + (stride_view::_Iterator): Define. + (views::__detail::__can_stride_view): Define. + (views::_Stride, views::stride): Define. + * testsuite/std/ranges/adaptors/stride/1.cc: New test. + +2022-10-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/106652 + * include/std/stdfloat: New file. + * include/std/numbers (__glibcxx_numbers): Define and use it + for __float128 explicit instantiations as well as + _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t. + * include/std/atomic (atomic<_Float16>, atomic<_Float32>, + atomic<_Float64>, atomic<_Float128>, atomic<__gnu_cxx::__bfloat16_t>): + New explicit instantiations. + * include/std/type_traits (__is_floating_point_helper<_Float16>, + __is_floating_point_helper<_Float32>, + __is_floating_point_helper<_Float64>, + __is_floating_point_helper<_Float128>, + __is_floating_point_helper<__gnu_cxx::__bfloat16_t>): Likewise. + * include/std/limits (__glibcxx_concat3_, __glibcxx_concat3, + __glibcxx_float_n): Define. + (numeric_limits<_Float16>, numeric_limits<_Float32>, + numeric_limits<_Float64>, numeric_limits<_Float128>, + numeric_limits<__gnu_cxx::__bfloat16_t>): New explicit instantiations. + * include/bits/std_abs.h (abs): New overloads for + _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t. + * include/bits/c++config (_GLIBCXX_LDOUBLE_IS_IEEE_BINARY128): Define + if long double is IEEE quad. + (__gnu_cxx::__bfloat16_t): New using. + * include/c_global/cmath (acos, asin, atan, atan2, ceil, cos, cosh, + exp, fabs, floor, fmod, frexp, ldexp, log, log10, modf, pow, sin, + sinh, sqrt, tan, tanh, fpclassify, isfinite, isinf, isnan, isnormal, + signbit, isgreater, isgreaterequal, isless, islessequal, + islessgreater, isunordered, acosh, asinh, atanh, cbrt, copysign, erf, + erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, + llrint, llround, log1p, log2, logb, lrint, lround, nearbyint, + nextafter, remainder, rint, round, scalbln, scalbn, tgamma, trunc, + lerp): New overloads with _Float{16,32,64,128} or + __gnu_cxx::__bfloat16_t types. + * config/os/gnu-linux/os_defines.h (_GLIBCXX_HAVE_FLOAT128_MATH): + Prepare for definition if glibc 2.26 and later implements *f128 APIs + but comment out the actual definition for now. + * include/ext/type_traits.h (__promote<_Float16>, __promote<_Float32>, + __promote<_Float64>, __promote<_Float128>, + __promote<__gnu_cxx::__bfloat16_t>): New specializations. + * include/Makefile.am (std_headers): Add stdfloat. + * include/Makefile.in: Regenerated. + * include/precompiled/stdc++.h: Include stdfloat. + * testsuite/18_support/headers/stdfloat/types_std.cc: New test. + * testsuite/18_support/headers/limits/synopsis_cxx23.cc: New test. + * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: + New test. + * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: New test. + * testsuite/26_numerics/numbers/4.cc: New test. + * testsuite/29_atomics/atomic_float/requirements_cxx23.cc: New test. + +2022-10-17 Jonathan Wakely <jwakely@redhat.com> + + * include/std/charconv (__cpp_lib_constexpr_charconv): Define to + correct value. + * include/std/version (__cpp_lib_constexpr_charconv): Likewise. + * testsuite/20_util/to_chars/constexpr.cc: Check correct value. + * testsuite/20_util/to_chars/version.cc: Likewise. + +2022-10-15 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/debug.cc (print_raw): Move inside #if block. + +2022-10-15 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/charconv.h (__to_chars_10_impl): Add constexpr + for C++23. Remove 'static' from array. + * include/std/charconv (__cpp_lib_constexpr_charconv): Define. + (__to_chars, __to_chars_16): Remove 'static' from array, add + constexpr. + (__to_chars_10, __to_chars_8, __to_chars_2, __to_chars_i) + (to_chars, __raise_and_add, __from_chars_pow2_base) + (__from_chars_alnum, from_chars): Add constexpr. + (__from_chars_alnum_to_val): Avoid local static during constant + evaluation. Add constexpr. + * include/std/version (__cpp_lib_constexpr_charconv): Define. + * testsuite/20_util/from_chars/constexpr.cc: New test. + * testsuite/20_util/to_chars/constexpr.cc: New test. + * testsuite/20_util/to_chars/version.cc: New test. + +2022-10-15 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_map.h (map::insert(Pair&&)): Use + remove_const_t on argument to __is_pair. + * include/bits/stl_pair.h (__is_pair<const pair<T,U>>): Remove + partial specialization. + * include/bits/uses_allocator_args.h (_Std_pair): Use + remove_cv_t as per LWG 3677. + * testsuite/20_util/uses_allocator/lwg3677.cc: New test. + +2022-10-14 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/eh_alloc.cc [USE_POOL]: New macro. + [!USE_POOL] (__gnu_cxx::__freeres, pool): Do not define. + [_GLIBCXX_EH_POOL_STATIC] (pool::arena): Do not use std::max. + (__cxxabiv1::__cxa_allocate_exception) [!USE_POOL]: Do not use + pool. + (__cxxabiv1::__cxa_free_exception) [!USE_POOL]: Likewise. + (__cxxabiv1::__cxa_allocate_dependent_exception) [!USE_POOL]: + Likewise. + (__cxxabiv1::__cxa_free_dependent_exception) [!USE_POOL]: + Likewise. + +2022-10-14 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/debug.cc (print_raw): Simplify. + (print_word): Print indentation by calling fprintf directly. + (_Error_formatter::_M_error): Print unindented string by calling + fprintf directly. + +2022-10-14 Jonathan Wakely <jwakely@redhat.com> + + * include/std/iostream: Use markdown in Doxygen comment. + +2022-10-12 François Dumont <fdumont@gcc.gnu.org> + + * include/debug/string: Add using _Base::compare. + (__gnu_debug::basic_string<>::compare(const basic_string<>&)): Remove. + (__gnu_debug::basic_string<>::compare(size_type, size_type, const basic_string<>&)): + Remove. + (__gnu_debug::basic_string<>::compare(size_type, size_type, const basic_string<>&, + size_type, size_type)): Remove. + * testsuite/util/testsuite_string.h [_GLIBCXX_TEST_DEBUG_STRING]: Include <debug/string>. + * testsuite/21_strings/basic_string/operations/compare/char/1.cc: Include testsuite_string.h + and use __gnu_test::string. + * testsuite/21_strings/basic_string/operations/compare/char/13650.cc: Likewise. + * testsuite/21_strings/basic_string/operations/compare/char/2.cc: Likewise. + * testsuite/21_strings/basic_string/operations/rfind/char/1.cc: Likewise. + * testsuite/21_strings/basic_string/operations/rfind/char/2.cc: Likewise. + * testsuite/21_strings/basic_string/operations/rfind/char/3.cc: Likewise. + * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc: + Include testsuite_string.h + and use __gnu_test::wstring. + * testsuite/21_strings/basic_string/operations/compare/wchar_t/13650.cc: Likewise. + * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: Likewise. + +2022-10-12 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (repeat_view): Define. + (repeat_view::_Iterator): Define. + (views::__detail::__can_repeat_view): Define. + (views::__detail::__can_bounded_repeat_view): Define. + (views::_Repeat, views::repeat): Define. + * testsuite/std/ranges/repeat/1.cc: New test. + +2022-10-12 Martin Liska <mliska@suse.cz> + + * configure: Regenerate. + +2022-10-11 Jonathan Wakely <jwakely@redhat.com> + + PR bootstrap/107221 + * libsupc++/eh_alloc.cc (pool): Change preprocessor condition + for using __mutex from __GTHREADS to _GLIBCXX_HOSTED. + (pool::allocate): Remove namespace qualification to use + pool::__scoped_lock instead of __gnu_cxx::__scoped_lock. + +2022-10-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/68606 + * Makefile.in: Regenerate. + * acinclude.m4 (GLIBCXX_EMERGENCY_EH_ALLOC): New macro. + * configure: Regenerate. + * configure.ac: Use GLIBCXX_EMERGENCY_EH_ALLOC. + * crossconfig.m4: Check for secure_getenv. + * doc/Makefile.in: Regenerate. + * doc/xml/manual/configure.xml: Document new configure options. + * doc/xml/manual/evolution.xml: Document addition of tunables. + * doc/xml/manual/using_exceptions.xml: Document emergency + buffer and tunables. + * doc/html/*: Regenerate. + * include/Makefile.in: Regenerate. + * libsupc++/Makefile.am: Use EH_POOL_FLAGS. + * libsupc++/Makefile.in: Regenerate. + * libsupc++/eh_alloc.cc (EMERGENCY_OBJ_SIZE): Define in units + of sizeof(void*) not including the ABI's exception header. + (EMERGENCY_OBJ_COUNT): Define as target-independent calculation + based on word size. + (MAX_OBJ_COUNT): Define macro for upper limit on pool size. + (pool) [_GLIBCXX_EH_POOL_STATIC]: Use fixed-size buffer. + (pool::buffer_size_in_bytes): New static member function. + (pool::pool): Parse GLIBCXX_TUNABLES environment variable to set + pool size at runtime. + (pool::in_pool): Use std::less<void*> for total order. + (__freeres) [_GLIBCXX_EH_POOL_STATIC]: Do nothing. + (__cxa_free_exception, __cxa_free_dependent_exception): Add + [[unlikely]] attributes. + * 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++20/Makefile.in: Regenerate. + * src/c++98/Makefile.in: Regenerate. + * src/filesystem/Makefile.in: Regenerate. + * src/libbacktrace/Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + +2022-10-11 Olivier Hainque <hainque@adacore.com> + Olivier Hainque <hainque@adacore.com> + + * configure: Regenerate. + +2022-10-10 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (make_signed, make_unsigned): Remove + constraints on primary template. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: + Undo changes to expected error in C++20 mode. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc: + Likewise. + * testsuite/20_util/make_signed/requirements/uninstantiated.cc: + New test. + * testsuite/20_util/make_unsigned/requirements/uninstantiated.cc: + New test. + +2022-10-10 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (make_signed, make_unsigned): Add + specializations for cv bool. Add requires-clause for C++20 to + improve diagnostics for non-integral, non-enum cases. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: + Check cv bool. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc: + Adjust expected errors for C++20 and later. + * testsuite/lib/prune.exp: Prune "in requirements [with ...]" + lines from diagnostics. + +2022-10-07 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): Add libstdcxx-hosted + enable arg as an alias for hosted-libstdcxx enable arg. + * configure: Regenerate. + +2022-10-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/std_function.h: Include <new> but do not include + <bits/stl_function.h>. + * include/std/functional: Do not include <new>. + +2022-10-07 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/intro.xml: Add role="bold" attribute to + emphasis elements for issue titles. + * doc/html/manual/bugs.html: Regenerate. + +2022-10-05 Jonathan Wakely <jwakely@redhat.com> + + * include/Makefile.in: Regenerate. + +2022-10-05 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/invoke.h (__invoke_r): Check + __has_builtin(__reference_converts_from_temporary) before using + built-in. + +2022-10-04 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/ranges/adaptors/join_with/1.cc: Remove unused + <sstream header. + (test04): Remove constexpr for old std::string ABI and test at + runtime. + +2022-10-04 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (remove_cv): Use __remove_cv built-in. + (remove_reference): Use __remove_reference built-in. + (remove_cvref): Use __remove_cvref built-in. Remove inheritance + for fallback implementation. + +2022-10-04 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/random.h (__is_seed_seq): Replace with ... + (_If_seed_seq_for): ... this. + * include/ext/random: Adjust to use _If_seed_seq_for. + +2022-10-04 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (join_with_view::_Iterator::operator*): + Replace use of std::visit with manual visitation. + (join_with_view::_Iterator::operator++): Likewise. + (join_with_view::_Iterator::operator--): Likewise. + (join_with_view::_Iterator::iter_move): Likewise. + (join_with_view::_Iterator::iter_swap): Likewise. + +2022-10-04 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/25_algorithms/stable_sort/mem_check.cc: Do nto run + for freestanding. + +2022-10-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107139 + * include/std/coroutine: Remove all _GLIBCXXHOSTED preprocessor + conditionals. + +2022-10-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107134 + * include/c_global/cstdint [!_GLIBCXX_HOSTED]: Include + <stdint-gcc.h> directly. + +2022-10-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107135 + * include/bits/functexcept.h [!_GLIBCXX_HOSTED] + (__throw_invalid_argument, __throw_out_of_range) + (__throw_out_of_range_fmt, __throw_runtime_error) + (__throw_overflow_error): Define inline. + * include/std/bitset (_M_copy_from_ptr) [!_GLIBCXX_HOSTED]: + Replace __builtin_abort with __throw_invalid_argument. + +2022-10-04 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges: Include <variant> for C++23. + (__detail::__compatible_joinable_ranges): Define. + (__detail::__bidirectional_common): Define. + (join_with_view): Define. + (join_with_view::_Iterator): Define. + (join_with_view::_Sentinel): Define. + (views::__detail::__can_join_with_view): Define. + (views::_JoinWith, views::join_with): Define. + * testsuite/std/ranges/adaptors/join_with/1.cc: New test. + +2022-10-04 Arsen Arsenović <arsen@aarsen.me> + + * include/std/iostream: Use ///< for inline documentation. + * include/std/limits: Likewise. + * include/experimental/internet: Likewise. + +2022-10-03 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/status_cxx2020.xml: Update C++20 status. + * doc/html/manual/status.html: Regenerate. + +2022-10-03 Arsen Arsenović <arsen@aarsen.me> + + PR libstdc++/103626 + * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: + Require ET hosted. + * testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise. + * testsuite/18_support/new_nothrow.cc: Likewise. + * testsuite/20_util/allocator/105975.cc: Likewise. + * testsuite/20_util/allocator/14176.cc: Likewise. + * testsuite/20_util/allocator/64135.cc: Likewise. + * testsuite/20_util/allocator/89510.cc: Likewise. + * testsuite/20_util/allocator/lwg3190.cc: Likewise. + * testsuite/20_util/allocator/overaligned.cc: Likewise. + * testsuite/20_util/allocator/rebind_c++20.cc: Likewise. + * testsuite/20_util/allocator/requirements/constexpr.cc: + Likewise. + * testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc: + Likewise. + * testsuite/20_util/allocator/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/allocator/requirements/typedefs_c++20.cc: + Likewise. + * testsuite/20_util/allocator/void.cc: Likewise. + * testsuite/20_util/allocator_traits/header-2.cc: Likewise. + * testsuite/20_util/allocator_traits/header.cc: Likewise. + * testsuite/20_util/allocator_traits/members/92878_92947.cc: + Likewise. + * testsuite/20_util/allocator_traits/members/pointers.cc: + Likewise. + * testsuite/20_util/allocator_traits/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/bad_function_call/cons_virtual_derivation.cc: + Likewise. + * testsuite/20_util/bind/42593.cc: Likewise. + * testsuite/20_util/bitset/access/dr396.cc: Likewise. + * testsuite/20_util/bitset/access/to_string.cc: Likewise. + * testsuite/20_util/bitset/cons/16020.cc: Likewise. + * testsuite/20_util/bitset/cons/dr1325-2.cc: Likewise. + * testsuite/20_util/bitset/cons/dr396.cc: Likewise. + * testsuite/20_util/bitset/debug/invalidation/1.cc: Likewise. + * testsuite/20_util/bitset/ext/15361.cc: Likewise. + * testsuite/20_util/bitset/operations/13838.cc: Likewise. + * testsuite/20_util/bitset/operations/96303.cc: Likewise. + * testsuite/20_util/bitset/version.cc: Likewise. + * testsuite/20_util/enable_shared_from_this/56383.cc: Likewise. + * testsuite/20_util/enable_shared_from_this/89303.cc: Likewise. + * testsuite/20_util/enable_shared_from_this/members/assign.cc: + Likewise. + * testsuite/20_util/enable_shared_from_this/members/const.cc: + Likewise. + * testsuite/20_util/enable_shared_from_this/members/reinit.cc: + Likewise. + * testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: + Likewise. + * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: + Likewise. + * testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/forward/1.cc: Likewise. + * testsuite/20_util/forward/1_neg.cc: Likewise. + * testsuite/20_util/function/1.cc: Likewise. + * testsuite/20_util/function/10.cc: Likewise. + * testsuite/20_util/function/2.cc: Likewise. + * testsuite/20_util/function/3.cc: Likewise. + * testsuite/20_util/function/4.cc: Likewise. + * testsuite/20_util/function/43397.cc: Likewise. + * testsuite/20_util/function/48541.cc: Likewise. + * testsuite/20_util/function/5.cc: Likewise. + * testsuite/20_util/function/58569.cc: Likewise. + * testsuite/20_util/function/6.cc: Likewise. + * testsuite/20_util/function/60594.cc: Likewise. + * testsuite/20_util/function/65760.cc: Likewise. + * testsuite/20_util/function/69222.cc: Likewise. + * testsuite/20_util/function/7.cc: Likewise. + * testsuite/20_util/function/77322.cc: Likewise. + * testsuite/20_util/function/8.cc: Likewise. + * testsuite/20_util/function/9.cc: Likewise. + * testsuite/20_util/function/91456.cc: Likewise. + * testsuite/20_util/function/assign/move.cc: Likewise. + * testsuite/20_util/function/assign/move_target.cc: Likewise. + * testsuite/20_util/function/cmp/cmp_neg.cc: Likewise. + * testsuite/20_util/function/cons/55320.cc: Likewise. + * testsuite/20_util/function/cons/57465.cc: Likewise. + * testsuite/20_util/function/cons/72820.cc: Likewise. + * testsuite/20_util/function/cons/addressof.cc: Likewise. + * testsuite/20_util/function/cons/callable.cc: Likewise. + * testsuite/20_util/function/cons/deduction.cc: Likewise. + * testsuite/20_util/function/cons/lwg2774.cc: Likewise. + * testsuite/20_util/function/cons/move.cc: Likewise. + * testsuite/20_util/function/cons/move_target.cc: Likewise. + * testsuite/20_util/function/cons/noexcept.cc: Likewise. + * testsuite/20_util/function/cons/non_copyconstructible.cc: + Likewise. + * testsuite/20_util/function/cons/refqual.cc: Likewise. + * testsuite/20_util/function/cons/70692.cc: Likewise. + * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise. + * testsuite/20_util/function/invoke/forwarding.cc: Likewise. + * testsuite/20_util/function/invoke/move_only.cc: Likewise. + * testsuite/20_util/function/null_pointer_comparisons.cc: + Likewise. + * testsuite/20_util/function/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/function/target_no_rtti.cc: Likewise. + * testsuite/20_util/function_objects/83607.cc: Likewise. + * testsuite/20_util/function_objects/mem_fn/adl.cc: Likewise. + * testsuite/20_util/headers/cstdlib/functions_std.cc: Likewise. + * testsuite/20_util/headers/functional/types_std_c++0x.cc: + Likewise. + * testsuite/20_util/headers/memory/types_std_c++0x.cc: Likewise. + * testsuite/20_util/is_function/35637.cc: Likewise. + * testsuite/20_util/move/1.cc: Likewise. + * testsuite/20_util/move_only_function/call.cc: Likewise. + * testsuite/20_util/move_only_function/cons.cc: Likewise. + * testsuite/20_util/move_only_function/move.cc: Likewise. + * testsuite/20_util/move_only_function/version.cc: Likewise. + * testsuite/20_util/owner_less/cmp.cc: Likewise. + * testsuite/20_util/owner_less/noexcept.cc: Likewise. + * testsuite/20_util/owner_less/void.cc: Likewise. + * testsuite/20_util/pointer_safety/1.cc: Likewise. + * testsuite/20_util/scoped_allocator/65279.cc: Likewise. + * testsuite/20_util/scoped_allocator/69293_neg.cc: Likewise. + * testsuite/20_util/scoped_allocator/construct_pair.cc: + Likewise. + * testsuite/20_util/scoped_allocator/dr2586.cc: Likewise. + * testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: + Likewise. + * testsuite/20_util/shared_ptr/assign/dr541.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/move.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/sfinae.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: + Likewise. + * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: + Likewise. + * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: + Likewise. + * testsuite/20_util/shared_ptr/atomic/1.cc: Likewise. + * testsuite/20_util/shared_ptr/atomic/2.cc: Likewise. + * testsuite/20_util/shared_ptr/casts/1.cc: Likewise. + * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise. + * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise. + * testsuite/20_util/shared_ptr/comparison/42925.cc: Likewise. + * testsuite/20_util/shared_ptr/comparison/86537.cc: Likewise. + * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise. + * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: + Likewise. + * testsuite/20_util/shared_ptr/comparison/dr1401.cc: Likewise. + * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/39405.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/46910.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/51365.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/52924.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/55123.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/58659.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/58839.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/61036.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/79467.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/80229.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/array.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/default.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/lwg2802.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/lwg3548.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/move.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc: + Likewise. + * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: + Likewise. + * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: + Likewise. + * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc: + Likewise. + * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: + Likewise. + * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/36949.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc: + Likewise. + * testsuite/20_util/shared_ptr/creation/58594.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/87278.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/92878_92947.cc: + Likewise. + * testsuite/20_util/shared_ptr/creation/99006.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/make.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/private.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/single_allocation.cc: + Likewise. + * testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc: + Likewise. + * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. + * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise. + * testsuite/20_util/shared_ptr/hash/1.cc: Likewise. + * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise. + * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise. + * testsuite/20_util/shared_ptr/misc/get_deleter.cc: Likewise. + * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise. + * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise. + * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise. + * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: + Likewise. + * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise. + * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise. + * testsuite/20_util/shared_ptr/observers/array.cc: Likewise. + * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise. + * testsuite/20_util/shared_ptr/observers/get.cc: Likewise. + * testsuite/20_util/shared_ptr/observers/owner_before.cc: + Likewise. + * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise. + * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise. + * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc: + Likewise. + * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/20_util/shared_ptr/requirements/weak_type.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/construct_at/95788.cc: + Likewise. + * testsuite/20_util/temporary_buffer.cc: Likewise. + * testsuite/20_util/tuple/48476.cc: Likewise. + * testsuite/20_util/tuple/cons/90700.cc: Likewise. + * testsuite/20_util/tuple/cons/96803.cc: Likewise. + * testsuite/20_util/tuple/cons/allocator_with_any.cc: Likewise. + * testsuite/20_util/tuple/cons/allocators.cc: Likewise. + * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: + Likewise. + * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise. + * testsuite/20_util/tuple/p2321r2.cc: Likewise. + * testsuite/20_util/unique_ptr/creation/92878_92947.cc: + Likewise. + * testsuite/20_util/unique_ptr/creation/array.cc: Likewise. + * testsuite/20_util/unique_ptr/creation/array_neg.cc: Likewise. + * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise. + * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: + Likewise. + * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc: + Likewise. + * testsuite/20_util/unique_ptr/creation/single.cc: Likewise. + * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise. + * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise. + * testsuite/20_util/uses_allocator/uninitialized_construct.cc: + Likewise. + * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise. + * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise. + * testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc: + Likewise. + * testsuite/20_util/weak_ptr/lock/1.cc: Likewise. + * testsuite/20_util/weak_ptr/observers/owner_before.cc: + Likewise. + * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc: + Likewise. + * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/21_strings/basic_string/version.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: + Likewise. + * testsuite/21_strings/c_strings/char/69626.cc: Likewise. + * testsuite/21_strings/char_traits/requirements/version.cc: + Likewise. + * testsuite/23_containers/vector/requirements/version.cc: + Likewise. + * testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/24_iterators/insert_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/24_iterators/istream_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/24_iterators/istreambuf_iterator/92285.cc: Likewise. + * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc: + Likewise. + * testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc: + Likewise. + * testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/25_algorithms/constexpr_macro.cc: Likewise. + * testsuite/25_algorithms/equal/constrained.cc: Likewise. + * testsuite/25_algorithms/headers/cstdlib/functions_std.cc: + Likewise. + * testsuite/25_algorithms/inplace_merge/1.cc: Likewise. + * testsuite/25_algorithms/lexicographical_compare/constrained.cc: + Likewise. + * testsuite/25_algorithms/make_heap/movable.cc: Likewise. + * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise. + * testsuite/25_algorithms/random_shuffle/1.cc: Likewise. + * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise. + * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/sort/35588.cc: Likewise. + * testsuite/25_algorithms/stable_partition/1.cc: Likewise. + * testsuite/25_algorithms/stable_partition/constrained.cc: + Likewise. + * testsuite/25_algorithms/stable_partition/mem_check.cc: + Likewise. + * testsuite/25_algorithms/stable_partition/moveable.cc: + Likewise. + * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/stable_sort/1.cc: Likewise. + * testsuite/26_numerics/complex/2.cc: Likewise. + * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise. + * testsuite/26_numerics/headers/cstdlib/2190.cc: Likewise. + * testsuite/26_numerics/headers/cstdlib/60401.cc: Likewise. + * testsuite/26_numerics/headers/cstdlib/dr2192.cc: Likewise. + * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: Likewise. + * testsuite/26_numerics/headers/cstdlib/dr2735.cc: Likewise. + * testsuite/26_numerics/headers/cstdlib/functions_std.cc: + Likewise. + * testsuite/26_numerics/headers/cstdlib/macros.cc: Likewise. + * testsuite/26_numerics/headers/cstdlib/types_std.cc: Likewise. + * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: + Likewise. + * testsuite/26_numerics/lerp/version.cc: Likewise. + * testsuite/26_numerics/midpoint/version.cc: Likewise. + * testsuite/27_io/basic_syncbuf/2.cc: Likewise. + * testsuite/27_io/basic_syncstream/2.cc: Likewise. + * testsuite/27_io/fpos/14320-1.cc: Likewise. + * testsuite/27_io/fpos/14320-2.cc: Likewise. + * testsuite/27_io/fpos/14320-3.cc: Likewise. + * testsuite/27_io/fpos/14320-4.cc: Likewise. + * testsuite/27_io/spanstream/version.cc: Likewise. + * testsuite/29_atomics/atomic/lwg3220.cc: Likewise. + * testsuite/29_atomics/atomic/operators/51811.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. + * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. + * testsuite/30_threads/barrier/2.cc: Likewise. + * testsuite/30_threads/condition_variable_any/stop_token/2.cc: + Likewise. + * testsuite/30_threads/jthread/version.cc: Likewise. + * testsuite/30_threads/latch/2.cc: Likewise. + * testsuite/30_threads/semaphore/2.cc: Likewise. + * testsuite/30_threads/stop_token/2.cc: Likewise. + * testsuite/abi/pr42230.cc: Likewise. + * testsuite/ext/shared_ptr/1.cc: Likewise. + * testsuite/libstdc++-xmethods/shared_ptr.cc: Likewise. + * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise. + * testsuite/std/ranges/adaptors/p1739.cc: Likewise. + * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise. + * testsuite/std/ranges/p2325.cc: Likewise. + +2022-10-03 Jonathan Wakely <jwakely@redhat.com> + + * include/std/bitset (bitset(const C*, size_type n, C, C)) + [!_GLIBCXX_HOSTED]: Remove std::basic_string dependency. + (_M_copy_from_ptr) [!_GLIBCXX_HOSTED]: Abort instead of + throwing. + +2022-10-03 Arsen Arsenović <arsen@aarsen.me> + + PR libstdc++/103626 + * include/std/bitset [!_GLIBCXX_HOSTED]: Re-enable std::hash. + * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Require ET + hosted. + * testsuite/20_util/bitset/ext/constexpr.cc: Likewise. + +2022-10-03 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103626 + * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): + Also require hosted. + (check_effective_target_hosted): New proc. + +2022-10-03 Arsen Arsenović <arsen@aarsen.me> + Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103626 + * testsuite/17_intro/headers/c++1998/stdc++.cc [!__STDC_HOSTED__]: + Do not include C headers that aren't valid for freestanding. + * testsuite/17_intro/tag_type_explicit_ctor.cc [!__STDC_HOSTED__]: + Do not test tag types that aren't defined for freestanding. + * testsuite/18_support/headers/cstdlib/functions_std.cc: Do not + check for std::getenv and std::system for freestanding. + * testsuite/17_intro/using_namespace_std_exp_neg.cc [!__STDC_HOSTED__]: + Do not test hosted parts of the standard library. + * testsuite/17_intro/using_namespace_std_tr1_neg.cc [!__STDC_HOSTED__]: + Likewise. + * testsuite/20_util/allocator_traits/members/rebind_alloc.cc [!__STDC_HOSTED__]: + Likewise. + * testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc [!HOSTED]: + Likewise. + * testsuite/20_util/headers/bitset/synopsis.cc [!__STDC_HOSTED__]: Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc [!__STDC_HOSTED__]: + Likewise. + * testsuite/20_util/pointer_traits/requirements/typedefs.cc [!__STDC_HOSTED__]: + Likewise. + * testsuite/20_util/tuple/cons/deduction.cc [!__STDC_HOSTED__]: Likewise. + * testsuite/25_algorithms/move/93872.cc [!__STDC_HOSTED__]: Likewise. + * testsuite/std/ranges/adaptors/100577.cc [!__STDC_HOSTED__]: Likewise. + +2022-10-03 Arsen Arsenović <arsen@aarsen.me> + + PR libstdc++/106953 + * include/Makefile.am [!_GLIBCXX_HOSTED]: Remove + install-freestanding-headers, unifying it with the usual + install-headers + * include/Makefile.in: Regenerate. + +2022-10-03 Arsen Arsenović <arsen@aarsen.me> + Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103626 + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/bits/requires_hosted.h: New header. + * include/experimental/algorithm: Include + <bits/requires_hosted.h>. + * include/experimental/any: Likewise. + * include/experimental/array: Likewise. + * include/experimental/buffer: Likewise. + * include/experimental/chrono: Likewise. + * include/experimental/deque: Likewise. + * include/experimental/executor: Likewise. + * include/experimental/filesystem: Likewise. + * include/experimental/forward_list: Likewise. + * include/experimental/functional: Likewise. + * include/experimental/internet: Likewise. + * include/experimental/io_context: Likewise. + * include/experimental/iterator: Likewise. + * include/experimental/list: Likewise. + * include/experimental/map: Likewise. + * include/experimental/memory: Likewise. + * include/experimental/memory_resource: Likewise. + * include/experimental/net: Likewise. + * include/experimental/netfwd: Likewise. + * include/experimental/numeric: Likewise. + * include/experimental/optional: Likewise. + * include/experimental/propagate_const: Likewise. + * include/experimental/random: Likewise. + * include/experimental/ratio: Likewise. + * include/experimental/regex: Likewise. + * include/experimental/scope: Likewise. + * include/experimental/set: Likewise. + * include/experimental/simd: Likewise. + * include/experimental/socket: Likewise. + * include/experimental/source_location: Likewise. + * include/experimental/string: Likewise. + * include/experimental/string_view: Likewise. + * include/experimental/system_error: Likewise. + * include/experimental/timer: Likewise. + * include/experimental/tuple: Likewise. + * include/experimental/unordered_map: Likewise. + * include/experimental/unordered_set: Likewise. + * include/experimental/utility: Likewise. + * include/experimental/vector: Likewise. + * include/std/barrier: Likewise. + * include/std/chrono: Likewise. + * include/std/condition_variable: Likewise. + * include/std/deque: Likewise. + * include/std/execution: Likewise. + * include/std/filesystem: Likewise. + * include/std/forward_list: Likewise. + * include/std/fstream: Likewise. + * include/std/future: Likewise. + * include/std/iomanip: Likewise. + * include/std/ios: Likewise. + * include/std/iosfwd: Likewise. + * include/std/iostream: Likewise. + * include/std/istream: Likewise. + * include/std/latch: Likewise. + * include/std/list: Likewise. + * include/std/locale: Likewise. + * include/std/map: Likewise. + * include/std/memory_resource: Likewise. + * include/std/mutex: Likewise. + * include/std/ostream: Likewise. + * include/std/queue: Likewise. + * include/std/random: Likewise. + * include/std/regex: Likewise. + * include/std/semaphore: Likewise. + * include/std/set: Likewise. + * include/std/shared_mutex: Likewise. + * include/std/spanstream: Likewise. + * include/std/sstream: Likewise. + * include/std/stack: Likewise. + * include/std/stacktrace: Likewise. + * include/std/stop_token: Likewise. + * include/std/streambuf: Likewise. + * include/std/string: Likewise. + * include/std/syncstream: Likewise. + * include/std/system_error: Likewise. + * include/std/thread: Likewise. + * include/std/unordered_map: Likewise. + * include/std/unordered_set: Likewise. + * include/std/valarray: Likewise. + * include/std/vector: Likewise. + * include/tr1/array: Likewise. + * include/tr1/ccomplex: Likewise. + * include/tr1/cctype: Likewise. + * include/tr1/cfenv: Likewise. + * include/tr1/cfloat: Likewise. + * include/tr1/cinttypes: Likewise. + * include/tr1/climits: Likewise. + * include/tr1/cmath: Likewise. + * include/tr1/complex: Likewise. + * include/tr1/complex.h: Likewise. + * include/tr1/cstdarg: Likewise. + * include/tr1/cstdbool: Likewise. + * include/tr1/cstdint: Likewise. + * include/tr1/cstdio: Likewise. + * include/tr1/cstdlib: Likewise. + * include/tr1/ctgmath: Likewise. + * include/tr1/ctime: Likewise. + * include/tr1/ctype.h: Likewise. + * include/tr1/cwchar: Likewise. + * include/tr1/cwctype: Likewise. + * include/tr1/fenv.h: Likewise. + * include/tr1/float.h: Likewise. + * include/tr1/functional: Likewise. + * include/tr1/inttypes.h: Likewise. + * include/tr1/limits.h: Likewise. + * include/tr1/math.h: Likewise. + * include/tr1/memory: Likewise. + * include/tr1/random: Likewise. + * include/tr1/regex: Likewise. + * include/tr1/stdarg.h: Likewise. + * include/tr1/stdbool.h: Likewise. + * include/tr1/stdint.h: Likewise. + * include/tr1/stdio.h: Likewise. + * include/tr1/stdlib.h: Likewise. + * include/tr1/tgmath.h: Likewise. + * include/tr1/tuple: Likewise. + * include/tr1/type_traits: Likewise. + * include/tr1/unordered_map: Likewise. + * include/tr1/unordered_set: Likewise. + * include/tr1/utility: Likewise. + * include/tr1/wchar.h: Likewise. + * include/tr1/wctype.h: Likewise. + * include/c_global/cmath: Likewise. + * include/ext/algorithm: Include <bits/requires_hosted.h>. + * include/ext/bitmap_allocator.h: Likewise. + * include/ext/cmath: Likewise. + * include/ext/codecvt_specializations.h: Likewise. + * include/ext/debug_allocator.h: Likewise. + * include/ext/enc_filebuf.h: Likewise. + * include/ext/extptr_allocator.h: Likewise. + * include/ext/functional: Likewise. + * include/ext/malloc_allocator.h: Likewise. + * include/ext/memory: Likewise. + * include/ext/mt_allocator.h: Likewise. + * include/ext/new_allocator.h: Likewise. + * include/ext/numeric: Likewise. + * include/ext/pod_char_traits.h: Likewise. + * include/ext/pool_allocator.h: Likewise. + * include/ext/random: Likewise. + * include/ext/random.tcc: Likewise. + * include/ext/rb_tree: Likewise. + * include/ext/rc_string_base.h: Likewise. + * include/ext/rope: Likewise. + * include/ext/ropeimpl.h: Likewise. + * include/ext/slist: Likewise. + * include/ext/sso_string_base.h: Likewise. + * include/ext/stdio_filebuf.h: Likewise. + * include/ext/stdio_sync_filebuf.h: Likewise. + * include/ext/string_conversions.h: Likewise. + * include/ext/throw_allocator.h: Likewise. + * include/ext/vstring.h: Likewise. + * include/ext/vstring.tcc: Likewise. + * include/ext/vstring_fwd.h: Likewise. + * include/ext/vstring_util.h: Likewise. + * include/std/charconv: Likewise. + (__cpp_lib_to_chars): Do not define for freestanding. + * include/std/version: Adjust which macros get defined in + freestanding. + * include/ext/pointer.h [!_GLIBCXX_HOSTED]: Omit iostream + functionality from freestanding. + * include/std/algorithm [!_GLIBCXX_HOSTED]: Omit PSTL algos. + * include/std/memory [!_GLIBCXX_HOSTED]: Omit + <bits/stl_tempbuf.h> in freestanding + * include/bits/algorithmfwd.h [!_GLIBCXX_HOSTED]: Omit leftover + random_shuffle and stable_partition definition. + * include/bits/stl_algo.h [!_GLIBCXX_HOSTED]: Omit + random_shuffle and stable_partition from freestanding. + * include/bits/ranges_algo.h [!_GLIBCXX_HOSTED]: Omit + stable_partition from freestanding. + * include/bits/concept_check.h: Remove needless HOSTED check. + * include/std/iterator: Include <bits/ranges_base.h>. + * include/std/numeric (__cpp_lib_parallel_algorithms): Do not + define for freestanding. + * include/std/functional (__cpp_lib_boyer_moore_searcher): + Likewise. + * testsuite/lib/prune.exp: Match error for hosted-only libstdc++ + tests. + +2022-10-03 Jonathan Wakely <jwakely@redhat.com> + Arsen Arsenović <arsen@aarsen.me> + + * include/precompiled/extc++.h [!_GLIBCXX_HOSTED]: Do not + include headers that aren't valid for freestanding. + * include/precompiled/stdc++.h [!_GLIBCXX_HOSTED]: Likewise. + +2022-10-03 Arsen Arsenović <arsen@aarsen.me> + + * configure.ac: Remove any lines that unconditionally include + <stdio.h> from ac_includes_default, when running Autoconf <2.70. + * configure: Regenerate. + +2022-10-03 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103626 + * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): Define _GLIBCXX_HOSTED + to __STDC_HOSTED__ for non-freestanding installations. + * configure: Regenerate. + * include/Makefile.am (${host_builddir}/c++config.h): Adjust + grep pattern. + * include/Makefile.in: Regenerate. + * testsuite/lib/libstdc++.exp (v3-build_support): Use + -fno-freestanding. + * testsuite/libstdc++-abi/abi.exp: Likewise. + +2022-10-03 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: + Change body of unused operator<< overload to throw if called. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: + Likewise. + +2022-10-03 François Dumont <fdumont@gcc.gnu.org> + + * python/libstdcxx/v6/printers.py (Printer.add_version): Do not add version + namespace for __cxx11 symbols. + (add_one_template_type_printer): Likewise. + (add_one_type_printer): Likewise. + (FilteringTypePrinter._recognizer.recognize): Add a workaround for std::string & al + ambiguous typedef matching both std:: and std::__cxx11:: symbols. + * testsuite/libstdc++-prettyprinters/cxx17.cc: Remove obsolete + \#define _GLIBCXX_USE_CXX11_ABI 0. + * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. Adapt test to accept + std::__cxx11::list. + * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. + * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. + * testsuite/libstdc++-prettyprinters/80276.cc: Likewise and remove xfail for c++20 + and debug mode. + * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. + +2022-09-30 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/bitset/access/to_ulong.cc: Construct bitset + from binary literal instead of using stringstream. + +2022-09-30 Jonathan Wakely <jwakely@redhat.com> + + * include/std/bitset (operator>>): Use a simple buffer instead + of std::basic_string. + +2022-09-30 Jonathan Wakely <jwakely@redhat.com> + + * include/std/bitset (_M_copy_from_ptr, _M_copy_from_string) + (_M_copy_to_string): Change access to private. + (_M_copy_from_string(const basic_string&, size_t, size_t)): + Remove. + (_M_copy_to_string(const basic_string&)): Remove. + +2022-09-30 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/bind/ref_neg.cc: Fix dg-prune-output + directive. + +2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * testsuite/20_util/bind/ref_neg.cc: Prune Windows paths too. + +2022-09-30 Arsen Arsenović <arsen@aarsen.me> + + * include/std/bitset: Include <bits/stl_algobase.h>. + +2022-09-29 François Dumont <fdumont@gcc.gnu.org> + + * python/libstdcxx/v6/printers.py (add_one_template_type_printer): Register + printer for types in std::__debug namespace with template parameters in std::__8 + namespace. + +2022-09-29 Patrick Palka <ppalka@redhat.com> + + * include/bits/unique_ptr.h (unique_ptr<_Tp[], _Dp>): Remove + __remove_cv and use __remove_cv_t instead. + +2022-09-29 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (__is_invocable_impl): Check + __has_builtin(__reference_converts_from_temporary) before using + built-in. + +2022-09-28 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/evolution.xml: Document std::bind API + changes. + * doc/xml/manual/intro.xml: Document LWG 2487 status. + * doc/xml/manual/using.xml: Clarify default value of + _GLIBCXX_USE_DEPRECATED. + * doc/html/*: Regenerate. + * include/std/functional (_Bind::operator()(Args&&...) volatile) + (_Bind::operator()(Args&&...) const volatile) + (_Bind_result::operator()(Args&&...) volatile) + (_Bind_result::operator()(Args&&...) const volatile): Replace + with deleted overload for C++20 and later. + * testsuite/20_util/bind/cv_quals.cc: Check for deprecated + warnings in C++17. + * testsuite/20_util/bind/cv_quals_2.cc: Likewise, and check for + ill-formed in C++20. + +2022-09-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/70692 + * include/bits/invoke.h [__cplusplus < 201703] (__invoke_r): + Remove is_invocable and is_convertible constraints. + * include/std/type_traits (__is_invocable_impl::_S_conv): Use + non-deduced context for parameter. + (__is_invocable_impl::_S_test): Remove _Check_noex template + parameter and use deduced noexcept value in its place. Add bool + parameter to detect dangling references. + (__is_invocable_impl::type): Adjust call to _S_test to avoid + deducing unnecessary noexcept property.. + (__is_invocable_impl::__nothrow_type): Rename to ... + (__is_invocable_impl::__nothrow_conv): ... this. Adjust call + to _S_test to deduce noexcept property. + * testsuite/20_util/bind/dangling_ref.cc: New test. + * testsuite/20_util/function/cons/70692.cc: New test. + * testsuite/20_util/function_objects/invoke/dangling_ref.cc: + New test. + * testsuite/20_util/is_invocable/dangling_ref.cc: New test. + * testsuite/30_threads/packaged_task/cons/dangling_ref.cc: + New test. + +2022-09-27 Jonathan Wakely <jwakely@redhat.com> + + PR c++/107049 + * testsuite/20_util/is_convertible/requirements/access.cc: New + test. + +2022-09-27 Jonathan Wakely <jwakely@redhat.com> + + PR c++/106651 + * include/bits/std_function.h (__function_guide_t): New alias + template. + [__cpp_static_call_operator] (__function_guide_static_helper): + New class template. + (function): Use __function_guide_t in deduction guide. + * include/std/future (packaged_task): Use __function_guide_t in + deduction guide. + * testsuite/20_util/function/cons/deduction_c++23.cc: New test. + * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc: + New test. + +2022-09-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ptr_traits.h (__ptr_traits_elem) [__cpp_concepts]: + Also define the __ptr_traits_elem class template for the + concepts case. + (pointer_traits<Ptr>): Remove constrained partial + specialization. + * testsuite/20_util/pointer_traits/lwg3545.cc: Check for + ambiguitiy with program-defined partial specialization. + +2022-09-26 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (is_convertible, is_convertible_v): + Define using new built-in. + (is_nothrow_convertible is_nothrow_convertible_v): Likewise. + +2022-09-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107037 + * include/std/bitset (_Base_bitset::_M_do_reset): Use + preprocessor conditional around non-C++03 code. + * testsuite/20_util/bitset/107037.cc: New test. + +2022-09-24 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/alloc_traits.h (allocator_traits::is_always_equal): + Only instantiate is_empty if needed. + * include/bits/ptr_traits.h (__ptr_traits_impl::difference_type) + (__ptr_traits_impl::rebind): Use __detected_or. + * include/experimental/type_traits (is_same_v): Add a partial + specialization instead of instantiating the std::is_same class + template. + (detected_t): Redefine in terms of detected_or_t. + (is_detected, is_detected_v): Redefine in terms of detected_t. + * include/std/type_traits [__cpp_concepts] (__detected_or): Add + new definition using concepts. + (__detector::value_t): Rename to __is_detected. + * testsuite/17_intro/names.cc: Check value_t isn't used. + +2022-09-23 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/is_assignable/requirements/access.cc: + New test. + +2022-09-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/91456 + * include/std/type_traits (__is_nothrow_invocable_lib): Remove. + (__is_invocable_impl::__nothrow_type): New member type which + checks if the conversion can throw. + (__is_nt_invocable_impl): Replace class template with alias + template to __is_nt_invocable_impl::__nothrow_type. + * testsuite/20_util/is_nothrow_invocable/91456.cc: New test. + * testsuite/20_util/is_nothrow_convertible/value.cc: Remove + macro used by value_ext.cc test. + * testsuite/20_util/is_nothrow_convertible/value_ext.cc: Remove + test for non-standard __is_nothrow_invocable_lib trait. + +2022-09-23 Marek Polacek <polacek@redhat.com> + + PR c++/106784 + * include/std/type_traits: Rename __is_nothrow_convertible to + __is_nothrow_convertible_lib. + * testsuite/20_util/is_nothrow_convertible/value_ext.cc: Likewise. + +2022-09-23 Jonathan Wakely <jwakely@redhat.com> + + * include/std/bitset (operator>>): Do not copy for N==0. + * testsuite/20_util/bitset/io/input.cc: Add comment. + +2022-09-23 Jonathan Wakely <jwakely@redhat.com> + + * include/debug/bitset (__debug::bitset): Add constexpr to all + member functions. + (operator&, operator|, operator^): Add inline and constexpr. + (operator>>, operator<<): Add inline. + * testsuite/20_util/bitset/access/constexpr.cc: Only check using + constexpr std::string for the cxx11 ABI. + * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise. + * testsuite/20_util/headers/bitset/synopsis.cc: Check constexpr + for C++23. + +2022-09-23 Jonathan Wakely <jwakely@redhat.com> + + * include/std/bitset (bitset::_M_copy_to_string): Find set bits + instead of iterating over individual bits. + +2022-09-22 Jonathan Wakely <jwakely@redhat.com> + + * include/std/bitset (bitset): Add constexpr for C++23. Guard + members using std::string with _GLIBCXX_HOSTED. + * include/std/version (__cpp_lib_constexpr_bitset): Define. + * testsuite/20_util/bitset/access/constexpr.cc: New test. + * testsuite/20_util/bitset/cons/constexpr_c++23.cc: New test. + * testsuite/20_util/bitset/count/constexpr.cc: New test. + * testsuite/20_util/bitset/ext/constexpr.cc: New test. + * testsuite/20_util/bitset/operations/constexpr_c++23.cc: New test. + * testsuite/20_util/bitset/version.cc: New test. + +2022-09-22 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/bitset/18604.cc: Moved to... + * testsuite/20_util/bitset/18604.cc: ...here. + * testsuite/23_containers/bitset/45713.cc: Moved to... + * testsuite/20_util/bitset/45713.cc: ...here. + * testsuite/23_containers/bitset/to_string/dr396.cc: Moved to... + * testsuite/20_util/bitset/access/dr396.cc: ...here. + * testsuite/23_containers/bitset/to_string/1.cc: Moved to... + * testsuite/20_util/bitset/access/to_string.cc: ...here. + * testsuite/23_containers/bitset/to_ullong/1.cc: Moved to... + * testsuite/20_util/bitset/access/to_ullong.cc: ...here. + * testsuite/23_containers/bitset/to_ulong/1.cc: Moved to... + * testsuite/20_util/bitset/access/to_ulong.cc: ...here. + * testsuite/23_containers/bitset/cons/1.cc: Moved to... + * testsuite/20_util/bitset/cons/1.cc: ...here. + * testsuite/23_containers/bitset/cons/16020.cc: Moved to... + * testsuite/20_util/bitset/cons/16020.cc: ...here. + * testsuite/23_containers/bitset/cons/2.cc: Moved to... + * testsuite/20_util/bitset/cons/2.cc: ...here. + * testsuite/23_containers/bitset/cons/3.cc: Moved to... + * testsuite/20_util/bitset/cons/3.cc: ...here. + * testsuite/23_containers/bitset/cons/38244.cc: Moved to... + * testsuite/20_util/bitset/cons/38244.cc: ...here. + * testsuite/23_containers/bitset/cons/50268.cc: Moved to... + * testsuite/20_util/bitset/cons/50268.cc: ...here. + * testsuite/23_containers/bitset/cons/6282.cc: Moved to... + * testsuite/20_util/bitset/cons/6282.cc: ...here. + * testsuite/23_containers/bitset/cons/constexpr.cc: Moved to... + * testsuite/20_util/bitset/cons/constexpr.cc: ...here. + * testsuite/23_containers/bitset/cons/dr1325-1.cc: Moved to... + * testsuite/20_util/bitset/cons/dr1325-1.cc: ...here. + * testsuite/23_containers/bitset/cons/dr1325-2.cc: Moved to... + * testsuite/20_util/bitset/cons/dr1325-2.cc: ...here. + * testsuite/23_containers/bitset/cons/dr396.cc: Moved to... + * testsuite/20_util/bitset/cons/dr396.cc: ...here. + * testsuite/23_containers/bitset/debug/invalidation/1.cc: Moved to... + * testsuite/20_util/bitset/debug/invalidation/1.cc: ...here. + * testsuite/23_containers/bitset/ext/15361.cc: Moved to... + * testsuite/20_util/bitset/ext/15361.cc: ...here. + * testsuite/23_containers/bitset/hash/1.cc: Moved to... + * testsuite/20_util/bitset/hash/1.cc: ...here. + * testsuite/23_containers/bitset/input/1.cc: Moved to... + * testsuite/20_util/bitset/io/input.cc: ...here. + * testsuite/23_containers/bitset/count/6124.cc: Moved to... + * testsuite/20_util/bitset/observers/6124.cc: ...here. + * testsuite/23_containers/bitset/all/1.cc: Moved to... + * testsuite/20_util/bitset/observers/all.cc: ...here. + * testsuite/23_containers/bitset/test/1.cc: Moved to... + * testsuite/20_util/bitset/observers/test.cc: ...here. + * testsuite/23_containers/bitset/operations/1.cc: Moved to... + * testsuite/20_util/bitset/operations/1.cc: ...here. + * testsuite/23_containers/bitset/operations/13838.cc: Moved to... + * testsuite/20_util/bitset/operations/13838.cc: ...here. + * testsuite/23_containers/bitset/operations/2.cc: Moved to... + * testsuite/20_util/bitset/operations/2.cc: ...here. + * testsuite/23_containers/bitset/operations/96303.cc: Moved to... + * testsuite/20_util/bitset/operations/96303.cc: ...here. + * testsuite/23_containers/bitset/operations/constexpr-2.cc: Moved to... + * testsuite/20_util/bitset/operations/constexpr-2.cc: ...here. + * testsuite/23_containers/bitset/operations/constexpr.cc: Moved to... + * testsuite/20_util/bitset/operations/constexpr.cc: ...here. + * testsuite/23_containers/bitset/requirements/constexpr_functions.cc: Moved to... + * testsuite/20_util/bitset/requirements/constexpr_functions.cc: ...here. + * testsuite/23_containers/bitset/requirements/explicit_instantiation/1.cc: Moved to... + * testsuite/20_util/bitset/requirements/explicit_instantiation/1.cc: ...here. + * testsuite/23_containers/bitset/requirements/explicit_instantiation/1_c++0x.cc: Moved to... + * testsuite/20_util/bitset/requirements/explicit_instantiation/1_c++0x.cc: ...here. + * testsuite/23_containers/headers/bitset/synopsis.cc: Moved to... + * testsuite/20_util/headers/bitset/synopsis.cc: ...here. + +2022-09-22 François Dumont <fdumont@gcc.gnu.org> + + * python/libstdcxx/v6/printers.py: Remove ptinter registration for non-existing + types std::__debug::unique_ptr, std::__debug::stack, std::__debug::queue, + std::__debug::priority_queue. + +2022-09-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/91456 + * testsuite/20_util/function/91456.cc: Add comment with PR + number. + * testsuite/20_util/is_invocable/91456.cc: Likewise. Replace + std::function checks with std::is_invocable_r checks. + +2022-09-21 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove + unnecessary main function. + * 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. + +2022-09-21 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/headers/memory/synopsis.cc: Add declarations + from C++11 and later. + +2022-09-21 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/documentation_hacking.xml: Remove trailing + whitespace. + * doc/xml/manual/policy_data_structures.xml: Likewise. + +2022-09-21 Jonathan Wakely <jwakely@redhat.com> + + * include/c_compatibility/stdlib.h [!_GLIBCXX_HOSTED]: Add + using-declaration for _Exit. + +2022-09-21 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/18_support/uncaught_exception/14026.cc: Qualify + call to std::abort. + +2022-09-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ranges_base.h: Include <initializer_list>. + +2022-09-20 Jonathan Wakely <jwakely@redhat.com> + + * include/c_global/cstdlib [!_GLIBCXX_HOSTED] (quick_exit): Fix + missing space. + +2022-09-16 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/106953 + * include/backward/auto_ptr.h [!_GLIBCXX_HOSTED]: Do not define + shared_ptr members. + * include/bits/alloc_traits.h [!_GLIBCXX_HOSTED]: Do not declare + std::allocator_traits<std::allocator<T>> specializations for + freestanding. + * include/bits/memoryfwd.h [!_GLIBCXX_HOSTED] (allocator): Do + not declare for freestanding. + * include/bits/stl_algo.h [!_GLIBCXX_HOSTED] (stable_partition): + Do not define for freestanding. + [!_GLIBCXX_HOSTED] (merge, stable_sort): Do not use temporary + buffers for freestanding. + * include/bits/stl_algobase.h [!_GLIBCXX_HOSTED]: Do not declare + streambuf iterators and overloaded algorithms using them. + * include/bits/stl_uninitialized.h [!_GLIBCXX_HOSTED]: Do not + define specialized overloads for std::allocator. + * include/bits/unique_ptr.h [!_GLIBCXX_HOSTED] (make_unique) + (make_unique_for_overwrite, operator<<): Do not define for + freestanding. + * include/c_global/cstdlib [!_GLIBCXX_HOSTED] (_Exit): Declare. + Use _GLIBCXX_NOTHROW instead of throw(). + * include/debug/assertions.h [!_GLIBCXX_HOSTED]: Ignore + _GLIBCXX_DEBUG for freestanding. + * include/debug/debug.h [!_GLIBCXX_DEBUG]: Likewise. + * include/std/bit [!_GLIBCXX_HOSTED]: Do not use the custom + __int_traits if <ext/numeric_traits.h> is available. + * include/std/functional [!_GLIBCXX_HOSTED]: Do not include + headers that aren't valid for freestanding. + (boyer_moore_searcher, boyer_moore_horspool_searcher): Do not + define for freestanding. + * include/std/iterator [!_GLIBCXX_HOSTED]: Do not include + headers that aren't valid for freestanding. + * include/std/memory [!_GLIBCXX_HOSTED]: Likewise. + * include/std/ranges [!_GLIBCXX_HOSTED] (istream_view): Do not + define for freestanding. + (views::__detail::__is_basic_string_view) [!_GLIBCXX_HOSTED]: + Do not define partial specialization for freestanding. + +2022-09-16 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/alloc_traits.h (__alloc_swap) + (__shrink_to_fit_aux): Move here, from ... + * include/bits/allocator.h: ... here. + * include/ext/alloc_traits.h: Do not include allocator.h. + +2022-09-16 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_algo.h: Include <bits/stl_algobase.h>. + * include/bits/stl_tempbuf.h: Include headers for __try and + __catch macros, std::pair, and __gnu_cxx::__numeric_traits. + * include/bits/stream_iterator.h: Include <iosfwd> and headers + for std::addressof and std::iterator. + * include/bits/streambuf_iterator.h: Include header for + std::iterator. + * include/std/iterator: Do not include <iosfwd>. + +2022-09-16 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: + Store value with non-zero padding bits after construction. + +2022-09-16 Jonathan Wakely <jwakely@redhat.com> + + * include/tr1/random.h (__detail::_Adaptor::_BEngine): Remove. + (__detail::_Adaptor::_M_g): Make public. + (__detail::_Adaptor<_Engine*, _Dist>): Remove partial + specialization. + (variate_generate::_Value): New helper to simplify handling of + _Engine* and _Engine& template arguments. + (variate_generate::engine_value_type): Define to underlying + engine type, not adapted type. + (variate_generate::engine()): Return underlying engine instead + of adaptor. + * testsuite/tr1/5_numerical_facilities/random/variate_generator/37986.cc: + Fix comment. + * testsuite/tr1/5_numerical_facilities/random/variate_generator/requirements/typedefs.cc: + Check member typedefs have the correct types. + +2022-09-16 Jonathan Wakely <jwakely@redhat.com> + + * include/debug/formatter.h [_GLIBCXX_DEBUG_BACKTRACE] + (_Error_formatter): Use 0 as null pointer constant. + +2022-09-16 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/allocator.h (__alloc_neq): Remove. + * include/bits/stl_list.h (list::_M_check_equal_allocators): + Compare allocators directly, without __alloc_neq. + +2022-09-16 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/user.cfg.in (PREDEFINED): Remove __allocator_base. + * include/bits/allocator.h: Fix nesting of Doxygen commands. + +2022-09-16 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/abi.xml: Document GLIBCXX_3.4.30 and + GLIBCXX_3.4.31 versions. + * doc/html/manual/abi.html: Regenerate. + +2022-09-15 Jonathan Wakely <jwakely@redhat.com> + + * include/std/memory: Do not include <bits/stl_algobase.h>. + +2022-09-15 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_PRE_LOCK): + Replace with ... + (_GLIBCXX_TSAN_MUTEX_TRY_LOCK): ... this, add try_lock flag. + (_GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED): New macro using + try_lock_failed flag + (_GLIBCXX_TSAN_MUTEX_POST_LOCK): Rename to ... + (_GLIBCXX_TSAN_MUTEX_LOCKED): ... this. + (_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK): Remove invalid flag. + (_GLIBCXX_TSAN_MUTEX_POST_UNLOCK): Remove invalid flag. + (_Sp_atomic::_Atomic_count::lock): Use new macros. + +2022-09-15 Patrick Palka <ppalka@redhat.com> + + * include/bits/ranges_algo.h (__adjacent_find_fn, adjacent_find): + Move to ... + * include/bits/ranges_util.h: ... here. + * include/std/ranges (chunk_by_view): Define. + (chunk_by_view::_Iterator): Define. + (__detail::__can_chunk_by_view): Define. + (_ChunkBy, chunk_by): Define. + * testsuite/std/ranges/adaptors/chunk_by/1.cc: New test. + +2022-09-15 François Dumont <fdumont@gcc.gnu.org> + + * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc: + Adapt dg-prune-output to _GLIBCXX_INLINE_VERSION mode. + +2022-09-15 François Dumont <fdumont@gcc.gnu.org> + + * config/abi/pre/gnu-versioned-namespace.ver: Remove obsolete std::__detail::__8 + symbols. + +2022-09-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_DESTROY) + (_GLIBCXX_TSAN_MUTEX_PRE_LOCK, _GLIBCXX_TSAN_MUTEX_POST_LOCK) + (_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK, _GLIBCXX_TSAN_MUTEX_POST_UNLOCK) + (_GLIBCXX_TSAN_MUTEX_PRE_SIGNAL, _GLIBCXX_TSAN_MUTEX_POST_SIGNAL): + Define macros for TSan annotation functions. + (_Sp_atomic::_Atomic_count): Add annotations. + +2022-09-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_tempbuf.h: Include <new>. + +2022-09-14 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/17_intro/names.cc: Explain why poison pragma can't + be used. + +2022-09-14 Jonathan Wakely <jwakely@redhat.com> + + * include/std/future + (_State_baseV2::__setter(exception_ptr&, promise&)): Add + assertion for LWG 2276 precondition. + * testsuite/30_threads/promise/members/set_exception_neg.cc: + New test. + +2022-09-14 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/intro.xml: Document LWG 1203. + * doc/html/*: Regenerate. + +2022-09-14 Philipp Fent <fent@in.tum.de> + + * python/libstdcxx/v6/printers.py (access_streambuf_ptrs): + New helper function. + (StdStringBufPrinter, StdStringStreamPrinter): New printers. + (build_libstdcxx_dictionary): Register stringstream printers. + * testsuite/libstdc++-prettyprinters/debug.cc: Check string + streams. + * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. + * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. + +2022-09-13 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (__detail::__slide_caches_nothing): Define. + (__detail::__slide_caches_last): Define. + (__detail::__slide_caches_first): Define. + (slide_view): Define. + (enable_borrowed_range<slide_view>): Define. + (slide_view::_Iterator): Define. + (slide_view::_Sentinel): Define. + (views::__detail::__can_slide_view): Define. + (views::_Slide, views::slide): Define. + * testsuite/std/ranges/adaptors/slide/1.cc: New test. + +2022-09-13 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (__detail::__div_ceil): Define. + (chunk_view): Define. + (chunk_view::_OuterIter): Define. + (chunk_view::_OuterIter::value_type): Define. + (chunk_view::_InnerIter): Define. + (chunk_view<_Vp>): Define partial specialization for forward + ranges. + (enable_borrowed_range<chunk_view>): Define. + (chunk_view<_Vp>::_Iterator): Define. + (views::__detail::__can_chunk_view): Define. + (views::_Chunk, views::chunk): Define. + * testsuite/std/ranges/adaptors/chunk/1.cc: New test. + +2022-09-13 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (join_view::_Iterator::_M_satisfy): + Adjust resetting _M_inner as per LWG 3569. + (join_view::_Iterator::_M_inner): Wrap in std::optional + as per LWG 3569. + (join_view::_Iterator::_Iterator): Relax constraints as + per LWG 3569. + (join_view::_Iterator::operator*): Adjust as per LWG 3569. + (join_view::_Iterator::operator->): Likewise. + (join_view::_Iterator::operator++): Likewise. + (join_view::_Iterator::operator--): Likewise. + (join_view::_Iterator::iter_move): Likewise. + (join_view::_Iterator::iter_swap): Likewise. + * testsuite/std/ranges/adaptors/join.cc (test14): New test. + +2022-09-13 Patrick Palka <ppalka@redhat.com> + + * include/debug/safe_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS): + Add parentheses to avoid -Wparentheses warning. + +2022-09-12 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/106320 + * testsuite/std/ranges/adaptors/join.cc (test13): New test. + +2022-09-12 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Fix + comments. + * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: + Likewise. + +2022-09-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105329 + * acinclude.m4 (libtool_VERSION): Change to 6:31:0. + * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Don't export + std::basic_string methods with name length of 15. + (GLIBCXX_3.4.31): Export std::basic_string::_M_replace_cold. + * testsuite/util/testsuite_abi.cc (check_version): Handle + GLIBCXX_3.4.31. + * include/bits/basic_string.h (std::basic_string::_M_replace_cold): + Declare. + * include/bits/basic_string.tcc (std::basic_string::_M_replace_cold): + Define and export even for C++20. + (std::basic_string::_M_replace): Use __builtin_expect, outline + the overlapping case to _M_replace_cold. + * configure: Regenerated. + +2022-09-09 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/atomic_base.h (__atomic_impl::__compare_exchange): + Rename __weak to __is_weak. + * testsuite/17_intro/names.cc: Add __weak and __strong. + +2022-09-09 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/106803 + * include/std/ranges (views::_ZipTransform::operator()): Correct + return type in the empty case. + (views::_AdjacentTransform::operator()): Likewise. + +2022-09-09 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/106798 + * include/std/ranges (adjacent_view::_Iterator::_Iterator): Fix + typo. + * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): New test. + +2022-09-09 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/106766 + * include/std/ranges (zip_view::_Iterator::operator-): Use + __to_unsigned_like instead of make_unsigned_t. + (zip_view::_Sentinel::operator-): Likewise. + * testsuite/std/ranges/zip/1.cc (test04): New test. + +2022-09-08 François Dumont <fdumont@gcc.gnu.org> + + * testsuite/util/testsuite_performance.h (__gnu_test::MallocInfo): New. + (__gnu_test::malloc_info): New, replace mallinfo on current platform + supporting it and use mallinfo2 when glibc >= 2.33. + +2022-09-08 Jonathan Wakely <jwakely@redhat.com> + + PR c++/106838 + * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc: + Prune additional errors from front-end. + * testsuite/20_util/is_move_constructible/incomplete_neg.cc: + Likewise. + * testsuite/20_util/is_nothrow_swappable/incomplete_neg.cc: + Likewise. + * testsuite/20_util/is_nothrow_swappable_with/incomplete_neg.cc: + Likewise. + * testsuite/20_util/is_swappable_with/incomplete_neg.cc: + Likewise. + +2022-09-08 Jonathan Wakely <jwakely@redhat.com> + + * include/c_global/cstddef (byte): Add always_inline attribute + to all operator overloads. + (to_integer): Add always_inline attribute. + +2022-09-08 Thomas Rodgers <trodgers@redhat.com> + Jakub Jelinek <jakub@redhat.com> + Jonathan Wakely <jwakely@redhat.com> + + * include/bits/atomic_base.h (__atomic_impl::__maybe_has_padding): + New function. + (__atomic_impl::clear_padding): Likewise. + (__atomic_impl::__compare_exchange): Likewise. + (__atomic_impl::compare_exchange_weak): Delegate to + __compare_exchange. + (__atomic_impl::compare_exchange_strong): Likewise. + * include/std/atomic (atomic<T>::atomic(T)): Clear padding when + possible in a constexpr function. + (atomic::store): Clear padding. + (atomic::exchange): Likewise. + (atomic::compare_exchange_weak): Use __compare_exchange. + (atomic::compare_exchange_strong): Likewise. + * testsuite/29_atomics/atomic/compare_exchange_padding.cc: New + test. + * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: + New test. + +2022-09-08 Jonathan Wakely <jwakely@redhat.com> + + * include/std/system_error (__adl_only::make_error_code): Add + deleted function. + (__adl_only::make_error_condition): Likewise. + (error_code::error_code(ErrorCodeEnum)): Add using-declaration + for deleted function. + (error_condition::error_condition(ErrorConditionEnum)): + Likewise. + * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: New test. + * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: New test. + +2022-09-07 Jonathan Wakely <jwakely@redhat.com> + + * include/std/barrier: Add missing runtime exception. + +2022-09-07 Patrick Palka <ppalka@redhat.com> + + * include/std/type_traits (is_reference): Make the primary + template derive from false_type. Define two partial + specializations that derive from true_type. + +2022-09-07 Patrick Palka <ppalka@redhat.com> + + * include/std/type_traits (__is_void_helper): Remove. + (is_void): Make the primary template derive from false_type, + and define four explicit specializations that derive from + true_type. + (__is_null_pointer_helper, is_null_pointer): Likewise. + +2022-09-07 Jason Merrill <jason@redhat.com> + + * libsupc++/dyncast.cc (__dynamic_cast): Avoid virtual function + call in simple success case. + +2022-09-06 Philipp Fent <fent@in.tum.de> + + * testsuite/libstdc++-prettyprinters/48362.cc: Fix expected + tuple indices. + * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise. + +2022-09-05 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (__success_type, __failure_type): Move + definitions later in the file. + +2022-09-05 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (is_trivial_v, is_trivially_copyable_v) + (is_standard_layout_v, is_pod_v, is_literal_type_v): Use + built-in instead of class template. + (is_same_v): Add partial specialization for true case. + +2022-09-02 Patrick Palka <ppalka@redhat.com> + + * include/std/tuple (tuple::_UseOtherCtor): Use ::type when + deriving from __and_, __or_ or __not_. + * include/std/type_traits (negation): Likewise. + (is_unsigned): Likewise. + (__is_implicitly_default_constructible): Likewise. + (is_trivially_destructible): Likewise. + (__is_nt_invocable_impl): Likewise. + +2022-09-02 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (is_constructible_v) + (is_default_constructible_v, is_copy_constructible_v) + (is_move_constructible_v): Define using __is_constructible. + (is_assignable_v, is_copy_assignable_v, is_move_assignable_v): + Define using __is_assignable. + (is_trivially_constructible_v) + (is_trivially_default_constructible_v) + (is_trivially_copy_constructible_v) + (is_trivially_move_constructible_v): Define using + __is_trivially_constructible. + (is_trivially_assignable_v, is_trivially_copy_assignable_v) + (is_trivially_move_assignable_v): Define using + __is_trivially_assignable. + (is_nothrow_constructible_v) + (is_nothrow_default_constructible_v) + (is_nothrow_copy_constructible_v) + (is_nothrow_move_constructible_v): Define using + __is_nothrow_constructible. + (is_nothrow_assignable_v, is_nothrow_copy_assignable_v) + (is_nothrow_move_assignable_v): Define using + __is_nothrow_assignable. + +2022-09-02 Patrick Palka <ppalka@redhat.com> + + * include/std/type_traits (__or_, __and_, __not_): Redefine as a + class template instead of as an alias template. + * testsuite/20_util/logical_traits/requirements/short_circuit.cc: + Add more tests for conjunction and disjunction. Add corresponding + tests for __and_ and __or_. + +2022-09-01 Jonathan Wakely <jwakely@redhat.com> + + * include/std/ranges (adjacent_transform_view::_Iterator): Add + typename keyword before dependent qualified-id. + +2022-09-01 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (__is_referenceable): Remove. + (__add_lvalue_reference_helper, __add_rvalue_reference_helper): + Use __void_t instead of __is_referenceable. + (__add_pointer_helper): Likewise. + (add_pointer): Add partial specializations for reference types. + +2022-09-01 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (__is_constructible_impl): Replace + class template with alias template. + (is_default_constructible, is_nothrow_constructible) + (is_nothrow_constructible): Simplify base-specifier. + (__is_copy_constructible_impl, __is_move_constructible_impl) + (__is_nothrow_copy_constructible_impl) + (__is_nothrow_move_constructible_impl): Remove class templates. + (is_copy_constructible, is_move_constructible) + (is_nothrow_constructible, is_nothrow_default_constructible) + (is_nothrow_copy_constructible, is_nothrow_move_constructible): + Adjust base-specifiers to use __is_constructible_impl. + (__is_copy_assignable_impl, __is_move_assignable_impl) + (__is_nt_copy_assignable_impl, __is_nt_move_assignable_impl): + Remove class templates. + (__is_assignable_impl): New alias template. + (is_assignable, is_copy_assignable, is_move_assignable): + Adjust base-specifiers to use new alias template. + (is_nothrow_copy_assignable, is_nothrow_move_assignable): + Adjust base-specifiers to use existing alias template. + (__is_trivially_constructible_impl): New alias template. + (is_trivially_constructible, is_trivially_default_constructible) + (is_trivially_copy_constructible) + (is_trivially_move_constructible): Adjust base-specifiers to use + new alias template. + (__is_trivially_assignable_impl): New alias template. + (is_trivially_assignable, is_trivially_copy_assignable) + (is_trivially_move_assignable): Adjust base-specifier to use + new alias template. + (__add_lval_ref_t, __add_rval_ref_t): New alias templates. + (add_lvalue_reference, add_rvalue_reference): Use new alias + templates. + +2022-09-01 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (__decay_selector): Add partial + specializations for array types. Only check for function types + when not dealing with an array. + (decay): Add partial specializations for reference types. + +2022-09-01 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (is_lvalue_reference_v) + (is_rvalue_reference_v, is_reference_v, is_const_v) + (is_volatile_v): Define using partial specializations instead + of instantiating class templates. + +2022-09-01 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (is_enum_v, is_class_v, is_union_v) + (is_empty_v, is_polymoprhic_v, is_abstract_v, is_final_v) + (is_base_of_v, is_aggregate_v): Use built-in directly instead of + instantiating class template. + +2022-09-01 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (is_scoped_enum): Remove workaround. + +2022-09-01 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (__detail::__unarize): Define. + (adjacent_view::_Iterator): Befriend adjacent_transform_view. + (adjacent_transform_view): Define. + (adjacent_transform_view::_Iterator): Define. + (adjacent_transform_view::_Sentinel): Define. + (views::__detail::__can_adjacent_transform_view): Define. + (views::_AdjacentTransform): Define. + (views::adjacent_transform): Define. + (views::pairwise_transform): Define. + * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: New test. + +2022-09-01 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (__is_array_known_bounds): Add partial + specialization instead of using std::extent. + (__is_array_unknown_bounds): Likewise. + (extent): Add partial specializations to stop recursion after + the result is found. + (is_array_v): Add partial specializations instead of + instantiating the class template. + (rank_v, extent_v): Likewise. + (is_bounded_array_v, is_unbounded_array_v): Likewise. + (is_bounded_array, is_unbounded_array): Define in terms of the + variable templates. + +2022-08-31 Patrick Palka <ppalka@redhat.com> + + * include/bits/ranges_base.h (__advance_fn::operator()): Add + parentheses in assert condition to avoid -Wparentheses warning. + * include/std/ranges: (take_view::take_view): Uglify 'base'. + (take_while_view::take_while_view): Likewise. + (elements_view::elements_view): Likewise. + (views::_Zip::operator()): Adjust position of [[nodiscard]] for + compatibility with -fconcepts-ts. + (zip_transform_view::_Sentinel): Uglify 'OtherConst'. + (views::_ZipTransform::operator()): Adjust position of + [[nodiscard]] for compatibilty with -fconcepts-ts. + +2022-08-31 Martin Liska <mliska@suse.cz> + + * configure: Regenerate. + * crossconfig.m4: Remove deprecated ports. + +2022-08-31 François Dumont <fdumont@gcc.gnu.org> + + * include/debug/debug.h: Use nullptr rather than '0' in checks in post-C++11. + * include/debug/string: Likewise. + * testsuite/21_strings/basic_string/operations/ends_with/char.cc: Use __gnu_test::string. + * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc: Likewise. + * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc: Likewise. + * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc: Likewise. + * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc: Likewise. + * testsuite/21_strings/basic_string/operations/starts_with/char.cc: Likewise.. + +2022-08-31 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (adjacent_view): Define. + (enable_borrowed_range<adjacent_view>): Define. + (__detail::__repeated_tuple): Define. + (adjacent_view::_Iterator): Define. + (adjacent_view::_Sentinel): Define. + (views::__detail::__can_adjacent_view): Define. + (views::_Adjacent): Define. + (views::adjacent): Define. + (views::pairwise): Define. + * testsuite/std/ranges/adaptors/adjacent/1.cc: New test. + +2022-08-31 François Dumont <fdumont@gcc.gnu.org> + + * include/debug/formatter.h + [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_state): Declare. + [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_create_state): Declare. + [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full_callback): Define. + [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_error_callback): Define. + [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full_func): Define. + [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full): Declare. + [_GLIBCXX_HAVE_STACKTRACE](_Error_formatter::_M_backtrace_state): New. + [_GLIBCXX_HAVE_STACKTRACE](_Error_formatter::_M_backtrace_full): New. + * src/c++11/debug.cc [_GLIBCXX_HAVE_STACKTRACE](print_backtrace): New. + (_Error_formatter::_M_error()): Adapt. + * src/libbacktrace/Makefile.am: Add backtrace.c. + * src/libbacktrace/Makefile.in: Regenerate. + * src/libbacktrace/backtrace-rename.h (backtrace_full): New. + * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: New test. + * doc/xml/manual/debug_mode.xml: Document _GLIBCXX_DEBUG_BACKTRACE. + * doc/xml/manual/using.xml: Likewise. + +2022-08-31 Patrick Palka <ppalka@redhat.com> + + * testsuite/20_util/logical_traits/requirements/short_circuit.cc: New test. + +2022-08-31 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/refwrap.h (reference_wrapper::operator()): Add + noexcept-specifier and use __invoke_result instead of result_of. + * testsuite/20_util/reference_wrapper/invoke-noexcept.cc: New test. + +2022-08-31 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/reference_wrapper/invoke-2.cc: Improve + comments. + * testsuite/20_util/reference_wrapper/invoke-3.cc: Likewise. + * testsuite/20_util/reference_wrapper/invoke.cc: Likewise. + +2022-08-31 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.h (basic_string): Add nodiscard + attribute to all relevant functions. + * include/std/string_view (basic_string_view): Likewise. + * testsuite/21_strings/basic_string/capacity/1.cc: Cast unused + results to void. + * testsuite/21_strings/basic_string/capacity/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string/cons/char/self_move.cc: + Likewise. + * testsuite/21_strings/basic_string/element_access/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string/element_access/char/21674.cc: + Likewise. + * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc: + Likewise. + * testsuite/21_strings/basic_string/lwg2758.cc: Likewise. + * testsuite/21_strings/basic_string/lwg2946.cc: Likewise. + * testsuite/21_strings/basic_string/operations/contains/nonnull.cc: + Add -Wno-unused-result to options. + * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc: + Likewise. + * testsuite/21_strings/basic_string/operators/char/1.cc: Cast + unused results to void. + * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/capacity/1.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/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: + Likewise. + Add -Wno-unused-result to options. + * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc: + Likewise. + * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Cast + unused results to void. + * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: + Likewise. + * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: + Likewise. + +2022-08-27 Patrick Palka <ppalka@redhat.com> + + * testsuite/20_util/logical_traits/requirements/base_classes.cc: New test. + +2022-08-26 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (zip_view::_Iterator::operator<): Remove + as per LWG 3692. + (zip_view::_Iterator::operator>): Likewise. + (zip_view::_Iterator::operator<=): Likewise. + (zip_view::_Iterator::operator>=): Likewise. + (zip_view::_Iterator::operator<=>): Remove three_way_comparable + constraint as per LWG 3692. + (zip_transform_view::_Iterator): Ditto as per LWG 3702. + +2022-08-26 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (zip_view::_Iterator): Befriend + zip_transform_view. + (__detail::__range_iter_cat): Define. + (zip_transform_view): Define. + (zip_transform_view::_Iterator): Define. + (zip_transform_view::_Sentinel): Define. + (views::__detail::__can_zip_transform_view): Define. + (views::_ZipTransform): Define. + (views::zip_transform): Define. + * testsuite/std/ranges/zip_transform/1.cc: New test. + +2022-08-26 Patrick Palka <ppalka@redhat.com> + + * include/std/type_traits (enable_if, __enable_if_t): Define them + earlier. + (__detail::__first_t): Define. + (__detail::__or_fn, __detail::__and_fn): Declare. + (__or_, __and_): Redefine as alias templates in terms of __or_fn + and __and_fn. + (__not_): Redefine as an alias template. + (__detail::__disjunction_impl, __detail::__conjunction_impl): + Define. + (conjuction, disjunction): Redefine in terms of __disjunction_impl + and __conjunction_impl. + +2022-08-26 Jonathan Wakely <jwakely@redhat.com> + + * include/std/system_error (error_code::_Check): New alias + template for constructor SFINAE constraint. + (error_code::error_code(ErrorCodeEnum)): Use it. + (error_code::operator=(ErrorCodeEnum)): Remove. + (error_condition::_Check): New alias template for constraint. + (error_condition::error_condition(ErrorConditionEnum)): Use it. + (error_condition::operator=(ErrorConditionEnum)): Remove. + * testsuite/19_diagnostics/error_code/cons/1.cc: Check + constructor taking user-defined error enum. + * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise. + +2022-08-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.h (starts_with, ends_with, contains): + Add nonnull attribute. + * include/bits/cow_string.h (starts_with, ends_with, contains): + Likewise. + * include/std/string_view (starts_with, ends_with, contains): + Likewise. + * testsuite/21_strings/basic_string/operations/contains/nonnull.cc + * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc + * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc + * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc + * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc + * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc + +2022-08-25 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (lazy_split_view::_OuterIter::_M_current): + Remove redundant comment. + (lazy_split_view::_M_current): Likewise. + (common_view::common_view): Remove commented out view-converting + constructor as per LWG3405. + (elements_view::_Iterator::_Iterator): Uglify 'current' and 'i'. + +2022-08-24 Patrick Palka <ppalka@redhat.com> + + * include/bits/ranges_algo.h (__min_fn, min): Move to ... + * include/bits/ranges_util.h: ... here, in order to avoid + including all of ranges_algo.h from <ranges>. + * include/std/ranges (__detail::__zip_is_common): Define for + C++23 as per P2321R2. + (__detail::__tuple_or_pair): Likewise. + (__detail::__tuple_or_pair_t): Likewise. + (__detail::__tuple_transform): Likewise. + (__detail::__tuple_for_each): Likewise. + (zip_view): Likewise. + (enable_borrowed_range<zip_view>): Likewise. + (__detail::__all_random_access): Likewise. + (__detail::__all_bidirectional): Likewise. + (__detail::__all_forward): Likewise. + (__detail::__zip_view_iter_cat): Likewise. + (zip_view::_Iterator): Likewise. + (zip_view::_Sentinel): Likewise. + * testsuite/std/ranges/zip/1.cc: New test. + +2022-08-24 Jonathan Wakely <jwakely@redhat.com> + + Revert: + 2022-08-24 Will Hawkins <whh8b@obs.cr> + + * include/bits/basic_string.h (operator+(const string&, const char*)): + Remove naive implementation. + * include/bits/basic_string.tcc (operator+(const string&, const char*)): + Add single-allocation implementation. + +2022-08-24 Patrick Palka <ppalka@redhat.com> + + * include/bits/stl_pair.h (pair::swap const): Add non-standard + is_swappable_v constraints. + * include/std/tuple (tuple::swap const): Likewise. + * testsuite/20_util/tuple/cons/noexcept_specs.cc: Correct some + asserts in C++23 mode. + +2022-08-24 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_algo.h (__stable_sort): Cast size to + iterator's difference type. + * testsuite/25_algorithms/stable_sort/4.cc: New test. + +2022-08-24 Will Hawkins <whh8b@obs.cr> + + * include/bits/basic_string.h (operator+(const string&, const char*)): + Remove naive implementation. + * include/bits/basic_string.tcc (operator+(const string&, const char*)): + Add single-allocation implementation. + +2022-08-24 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/duration_cast/rounding.cc: Check abs with + non-reduced duration. + +2022-08-23 Patrick Palka <ppalka@redhat.com> + + * include/bits/stl_bvector.h (_Bit_reference::operator=): Define + const overload for C++23 as per P2321R2. + * include/bits/stl_pair.h (pair::swap): Likewise. + (pair::pair): Define additional converting constructors for + C++23 as per P2321R2. + (pair::operator=): Define const overloads for C++23 as per + P2321R2. + (swap): Define overload taking const pair& for C++23 as per + P2321R2. + (basic_common_reference): Define partial specialization for + pair for C++23 as per P2321R2. + (common_type): Likewise. + * include/bits/uses_allocator_args.h + (uses_allocator_construction_args): Define additional pair + overloads for C++23 as per P2321R2. + * include/std/tuple (_Tuple_impl::_Tuple_impl): Define + additional converting constructors for C++23 as per P2321R2. + (_Tuple_impl::_M_assign): Define const overloads for C++23 + as per P2321R2. + (_Tuple_impl::_M_swap): Likewise. + (tuple::__constructible): Define as a convenient renaming of + _TCC<true>::__constructible. + (tuple::__convertible): As above but for _TCC<true>::__convertible. + (tuple::tuple): Define additional converting constructors for + C++23 as per P2321R2. + (tuple::operator=): Define const overloads for C++23 as per + P2321R2. + (tuple::swap): Likewise. + (basic_common_reference): Define partial specialization for + tuple for C++23 as per P2321R2. + (common_type): Likewise. + * testsuite/20_util/pair/p2321r2.cc: New test. + * testsuite/20_util/tuple/p2321r2.cc: New test. + * testsuite/23_containers/vector/bool/element_access/1.cc: New test. + +2022-08-23 Patrick Palka <ppalka@redhat.com> + + * include/std/tuple (_TupleConstraints::__convertible): Define. + (_TupleConstraints::__constructible): Define. + (_TupleConstraints::__is_explicitly_constructible): Redefine this + in terms of __convertible and __constructible. + (_TupleConstraints::__is_implicitly_constructible): Likewise. + +2022-08-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/106589 + * include/std/variant (__do_visit): Handle is_void<R> for zero + argument case. + * testsuite/20_util/variant/visit_r.cc: Check std::visit<void>(v). + +2022-08-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105678 + * doc/xml/manual/using.xml: Document -lstdc++_libbacktrace + requirement for using std::stacktrace. Also adjust -frtti and + -fexceptions to document non-default (i.e. negative) forms. + * doc/html/*: Regenerate. + +2022-08-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/106695 + * include/bits/std_thread.h (thread::_State_impl): Forward + individual arguments to _Invoker constructor. + (thread::_Invoker): Add constructor. Delete copies. + * include/std/future (__future_base::_Deferred_state): Forward + individual arguments to _Invoker constructor. + (__future_base::_Async_state_impl): Likewise. + * testsuite/30_threads/async/106695.cc: New test. + * testsuite/30_threads/thread/106695.cc: New test. + +2022-08-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/106607 + * include/bits/regex_compiler.tcc (_Compiler::_M_cur_int_value): + Use built-ins to check for integer overflow in back-reference + number. + * testsuite/28_regex/basic_regex/106607.cc: New test. + +2022-08-17 Keef Aragon <keef.aragon@konscious.net> + + * libsupc++/eh_alloc.cc (pool::free): Inverse comparison. + +2022-08-08 François Dumont <fdumont@gcc.gnu.org> + + * include/debug/formatter.h (__singular_value_init): New _Iterator_state enum entry. + (_Parameter<>(const _Safe_iterator<>&, const char*, _Is_iterator)): Check if iterator + parameter is value-initialized. + (_Parameter<>(const _Safe_local_iterator<>&, const char*, _Is_iterator)): Likewise. + * include/debug/safe_iterator.h (_Safe_iterator<>::_M_value_initialized()): New. Adapt + checks. + * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_M_value_initialized()): New. + Adapt checks. + * src/c++11/debug.cc (_Safe_iterator_base::_M_reset): Do not reset _M_version. + (print_field(PrintContext&, const _Parameter&, const char*)): Adapt state_names. + * testsuite/23_containers/deque/debug/iterator1_neg.cc: New test. + * testsuite/23_containers/deque/debug/iterator2_neg.cc: New test. + * testsuite/23_containers/forward_list/debug/iterator1_neg.cc: New test. + * testsuite/23_containers/forward_list/debug/iterator2_neg.cc: New test. + * testsuite/23_containers/forward_list/debug/iterator3_neg.cc: New test. + +2022-08-05 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/scope (__cpp_lib_experimental_scope): + Define. + * testsuite/experimental/scopeguard/uniqueres.cc: Check macro. + +2022-08-05 Jonathan Wakely <jwakely@redhat.com> + + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/experimental/scope: New file. + * testsuite/experimental/scopeguard/uniqueres.cc: New test. + * testsuite/experimental/scopeguard/exit.cc: New test. + +2022-08-04 Jonathan Wakely <jwakely@redhat.com> + + * include/std/string_view (basic_string_view(Range&&)): Add + explicit as per P2499R0. + * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: + Adjust implicit conversions. Check implicit conversions fail. + * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: + Likewise. + +2022-08-04 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/fs_dir.h (directory_iterator): Add comparison + with std::default_sentinel_t. Remove redundant operator!= for + C++20. + * (recursive_directory_iterator): Likewise. + * include/bits/iterator_concepts.h [!__cpp_lib_concepts] + (default_sentinel_t, default_sentinel): Define even if concepts + are not supported. + * include/bits/regex.h (regex_iterator): Add comparison with + std::default_sentinel_t. Remove redundant operator!= for C++20. + (regex_token_iterator): Likewise. + (regex_token_iterator::_M_end_of_seq()): Add noexcept. + * testsuite/27_io/filesystem/iterators/lwg3719.cc: New test. + * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc: + New test. + * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc: + New test. + +2022-08-04 Jonathan Wakely <jwakely@redhat.com> + + * include/std/expected (unexpected::_M_val): Rename to _M_unex. + (bad_expected_access::_M_val): Likewise. + +2022-08-04 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ios_base.h (__cpp_lib_ios_noreplace): Update + value to 202207L. + * include/std/version (__cpp_lib_ios_noreplace): Likewise. + * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: Check + for new value. + * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: + Likewise. + +2022-08-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/106183 + * include/bits/atomic_wait.h (__waiter_pool_base::_M_notify): + Move increment of _M_ver here. + [!_GLIBCXX_HAVE_PLATFORM_WAIT]: Lock mutex around increment. + Use relaxed memory order and always notify all waiters. + (__waiter_base::_M_do_wait) [!_GLIBCXX_HAVE_PLATFORM_WAIT]: + Check value again after locking mutex. + (__waiter_base::_M_notify): Remove increment of _M_ver. + +2022-08-04 Ulrich Drepper <drepper@gmail.com> + + * python/libstdcxx/v6/printers.py (class StdTuplePrinter): Use + zero-based indeces just like std:get takes. + +2022-07-29 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104443 + * include/bits/stl_iterator.h (common_iterator::operator->): + Change return type to just auto. + +2022-07-26 Thomas Rodgers <trodgers@redhat.com> + + * include/bits/atomic_wait.h (__atomic_spin): Merge spin loops. + +2022-07-20 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/100823 + * include/bits/stl_iterator.h (common_iterator): Define + destructor, copy constructor and move constructor as trivial + when the underlying types allow. + * testsuite/24_iterators/common_iterator/100823.cc: Check + triviality of special members. + +2022-07-20 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/100823 + * include/bits/stl_iterator.h (common_iterator): Define move + constructor and move assignment operator. + (common_iterator::_M_assign): New function implementing + assignment. + (common_iterator::operator=): Use _M_assign. + (common_iterator::_S_valueless): New constant. + * testsuite/24_iterators/common_iterator/100823.cc: New test. + +2022-07-20 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_iterator.h (common_iterator): Fix incorrect + uses of is_nothrow_assignable_v. Fix inconsistent constraints on + friend declaration. Do not move argument in copy constructor. + * testsuite/24_iterators/common_iterator/1.cc: Check for + noexcept constructibnle/assignable. + +2022-07-19 François Dumont <fdumont@gcc.gnu.org> + + * include/debug/debug.h [_GLIBCXX_DEBUG](__glibcxx_requires_string): Define + using _GLIBCXX_DEBUG_PEDASSERT. + [_GLIBCXX_DEBUG](__glibcxx_requires_string_len): Likewise. + * include/debug/macros.h + (__glibcxx_check_string, __glibcxx_check_string_len): Move... + * include/debug/string + (__glibcxx_check_string, __glibcxx_check_string_len): ...here. And define depending + on _GLIBCXX_DEBUG_PEDANTIC no matter if _GLIBCXX_DEBUG is defined. + Add using of std::string find, rfind, find_first_of, find_last_of, find_first_not_of + and find_last_not_of. Remove debug implementations having no debug assertion. + * testsuite/util/testsuite_string.h: New file. Provides __gnu_test::string and + __gnu_test::wtring which definition depends on _GLIBCXX_DEBUG. + * testsuite/21_strings/basic_string/debug/find1_neg.cc: New test case. + * testsuite/21_strings/basic_string/debug/find2_neg.cc: New test case. + * testsuite/21_strings/basic_string/operations/find/char/1.cc: + Include <testsuite_string.h> and use __gnu_test::string. + * testsuite/21_strings/basic_string/operations/find/char/2.cc: Likewise. + * testsuite/21_strings/basic_string/operations/find/char/3.cc: Likewise. + * testsuite/21_strings/basic_string/operations/find/char/4.cc: Likewise. + * testsuite/21_strings/basic_string/operations/find/char/5.cc: Likewise. + * testsuite/21_strings/basic_string/operations/find/char/6.cc: Likewise. + * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc: + Include <testsuite_string.h> and use __gnu_test::wstring. + * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc: Likewise. + * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc: Likewise. + * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc: Likewise. + * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: Likewise. + * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: Likewise. + +2022-07-19 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (__cpp_lib_reference_from_temporary) + (reference_constructs_from_temporary) + (reference_converts_from_temporary): Only define when the + built-ins are available. + +2022-07-19 Marco Falke <falke.marco@gmail.com> + + * include/std/charconv (__from_chars_alnum_to_val): Replace + implicit conversion from int to unsigned char with explicit + cast. + +2022-07-19 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * configure: Regnerate. + * configure.ac (newlib, *-rtems*): Remove HAVE_POLL. + +2022-07-18 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/stl_algo.h + (__merge_adaptive): Adapt to merge only when buffer is large enough.. + (__merge_adaptive_resize): New, adapt merge when buffer is too small. + (__inplace_merge): Adapt, use latter. + (__stable_sort_adaptive): Adapt to sort only when buffer is large enough. + (__stable_sort_adaptive_resize): New, adapt sort when buffer is too small. + (__stable_sort): Adapt, use latter. + +2022-07-15 Marek Polacek <polacek@redhat.com> + + PR c++/104477 + * include/std/type_traits (reference_constructs_from_temporary, + reference_converts_from_temporary): New class templates. + (reference_constructs_from_temporary_v, + reference_converts_from_temporary_v): New variable templates. + (__cpp_lib_reference_from_temporary): Define for C++23. + * include/std/version (__cpp_lib_reference_from_temporary): Define for + C++23. + * testsuite/20_util/variable_templates_for_traits.cc: Test + reference_constructs_from_temporary_v and + reference_converts_from_temporary_v. + * testsuite/20_util/reference_from_temporary/value.cc: New test. + * testsuite/20_util/reference_from_temporary/value2.cc: New test. + * testsuite/20_util/reference_from_temporary/version.cc: New test. + +2022-07-12 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/106248 + * include/std/istream [C++17] (operator>>(istream&, char*)): + Set eofbit if we stopped extracting at EOF. + * testsuite/27_io/basic_istream/extractors_character/char/pr106248.cc: + New test. + * testsuite/27_io/basic_istream/extractors_character/wchar_t/pr106248.cc: + New test. + +2022-07-12 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_iterator.h (__iter_to_alloc_t): Replace + add_const_t with const-qualifier. + * include/bits/utility.h (tuple_element<N, cv T>): Likewise for + all cv-qualifiers. + * include/std/type_traits (add_const, add_volatile): Replace + typedef-declaration with using-declaration. + (add_cv): Replace add_const and add_volatile with cv-qualifiers. + * include/std/variant (variant_alternative<N, cv T>): Replace + add_const_t, add_volatile_t and add_cv_t etc. with cv-qualifiers. + +2022-07-09 François Dumont <fdumont@gcc.gnu.org> + + * include/std/string: Remove obsolete comment about char_traits.h including + stl_algobase.h. + +2022-07-07 Jonathan Wakely <jwakely@redhat.com> + + PR c++/89074 + * include/bits/char_traits.h (__gnu_cxx::char_traits::move): + Remove workaround for front-end bug. + +2022-07-05 Alexandre Oliva <oliva@adacore.com> + + * testsuite/util/testsuite_fs.h (nonexistent_path): Explain + why we need the typecast. + +2022-07-05 Alexandre Oliva <oliva@adacore.com> + + * testsuite/util/testsuite_fs.h (nonexistent_path): Convert + the getpid result to an integral type. + +2022-07-01 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/106162 + * include/Makefile.am (largefile-config.h): Add + stamp-${host_alias} prerequisite. + * include/Makefile.in: Regenerate. + +2022-07-01 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/fs_ops.h: Add nodiscard to all pure functions. + * include/experimental/bits/fs_ops.h: Likewise. + * testsuite/27_io/filesystem/operations/all.cc: Do not discard + results of absolute and canonical. + * testsuite/27_io/filesystem/operations/absolute.cc: Cast + discarded result to void. + * testsuite/27_io/filesystem/operations/canonical.cc: Likewise. + * testsuite/27_io/filesystem/operations/exists.cc: Likewise. + * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise. + * testsuite/27_io/filesystem/operations/read_symlink.cc: + Likewise. + * testsuite/27_io/filesystem/operations/status.cc: Likewise. + * testsuite/27_io/filesystem/operations/symlink_status.cc: + Likewise. + * testsuite/27_io/filesystem/operations/temp_directory_path.cc: + Likewise. + * testsuite/experimental/filesystem/operations/canonical.cc: + Likewise. + * testsuite/experimental/filesystem/operations/exists.cc: + Likewise. + * testsuite/experimental/filesystem/operations/is_empty.cc: + Likewise. + * testsuite/experimental/filesystem/operations/read_symlink.cc: + Likewise. + * testsuite/experimental/filesystem/operations/temp_directory_path.cc: + Likewise. + +2022-07-01 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * configure: Regnerate. + * configure.ac (newlib, *-rtems*): Enable TLS support for all RTEMS + targets except bfin, lm32, mips, moxie, or1k, and v850. + For all RTEMS targets, define HAVE_ALIGNED_ALLOC, HAVE_AT_QUICK_EXIT, + HAVE_LINK, HAVE_POLL, HAVE_QUICK_EXIT, HAVE_READLINK, HAVE_SETENV, + HAVE_SLEEP, HAVE_SOCKATMARK, HAVE_STRERROR_L, HAVE_SYMLINK, + HAVE_TRUNCATE, and HAVE_USLEEP. + * crossconfig.m4 (*-rtems*): Remove. + +2022-06-30 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/utility.h: Fix comment typos. + +2022-06-30 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fs_ops.cc (fs::temp_directory_path()): Include path + in exception. + (fs::temp_directory_path(error_code&)): Rearrange to more + closely match the structure of the first overload. + * src/filesystem/ops.cc (fs::temp_directory_path): Likewise. + * testsuite/27_io/filesystem/operations/temp_directory_path.cc: + Check that exception contains the path. + * testsuite/experimental/filesystem/operations/temp_directory_path.cc: + Likewise. + +2022-06-30 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/88881 + * src/filesystem/ops.cc (has_trailing_slash): New helper + function. + (fs::status): Strip trailing slashes. + (fs::symlink_status): Likewise. + * testsuite/experimental/filesystem/operations/temp_directory_path.cc: + Clean the environment before each test and use TMP instead of + TMPDIR so the test passes on Windows. + +2022-06-28 Jonathan Wakely <jwakely@redhat.com> + + * src/filesystem/dir-common.h (_Dir_base::_At_path): + Use char_type consistently for paths. + +2022-06-28 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fs_dir.cc (_Dir::dir_and_pathname):: Replace with + current() returning _At_path. + (_Dir::_Dir, _Dir::open_subdir, _Dir::do_unlink): Adjust. + * src/filesystem/dir-common.h (_Dir_base::_At_path): New class. + (_Dir_base::_Dir_Base, _Dir_base::openat): Use _At_path. + * src/filesystem/dir.cc (_Dir::dir_and_pathname): Replace with + current() returning _At_path. + (_Dir::_Dir, _Dir::open_subdir): Adjust. + +2022-06-28 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fs_dir.cc (_Dir::_Dir) [!_GLIBCXX_HAVE_OPENAT]: + Always store pathname if we don't have openat or unlinkat, + because the full path is needed to open sub-directories and + remove entries. + +2022-06-28 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/from_chars/4.cc: Only use log2 if C99 math + functions are available. + +2022-06-27 Alexandre Oliva <oliva@adacore.com> + + * testsuite/20_util/to_chars/long_double.cc: Use cmath + long double overloads for nexttoward and ldexp. + +2022-06-27 Alexandre Oliva <oliva@adacore.com> + + * testsuite/experimental/simd/standard_abi_usable.cc: Require + cmath support. + * testsuite/experimental/simd/standard_abi_usable_2.cc: + Likewise. + +2022-06-27 Alexandre Oliva <oliva@adacore.com> + + * testsuite/26_numerics/complex/proj.cc: Skip test in the + circumstances in which the implementation of proj is known to + be broken. + +2022-06-27 Alexandre Oliva <oliva@adacore.com> + + * src/c++17/fs_dir.cc (dir_and_pathname): Use dirfd if + _GLIBCXX_HAVE_OPENAT. + +2022-06-27 Alexandre Oliva <oliva@adacore.com> + + * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc + (test06): Don't create symlinks when NO_SYMLINKS is defined. + +2022-06-27 Alexandre Oliva <oliva@adacore.com> + + * testsuite/lib/dg-options.exp (add_options_for_net_ts): + Add -Wl,--gc-sections for RTEMS targets. + * testsuite/experimental/net/timer/waitable/dest.cc: Link-time + xfail on RTEMS. + * testsuite/experimental/net/timer/waitable/ops.cc: Likewise. + * testsuite/experimental/net/internet/resolver/ops/lookup.cc: + Execution-time xfail on RTEMS. + * testsuite/experimental/net/internet/resolver/ops/reverse.cc: + Likewise. + +2022-06-27 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/ext/mt_allocator/22309_thread.cc: Include <string>. + +2022-06-27 Joel Brobecker <brobecker@adacore.com> + Jonathan Wakely <jwakely@redhat.com> + + * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): + Always include a counter in the filename returned. + +2022-06-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/move_only_function.h (_Never_valueless_alt): + Define partial specialization for std::move_only_function. + +2022-06-27 Jonathan Wakely <jwakely@redhat.com> + + * include/std/variant (_Build_FUN::_S_fun): Define fallback case + as deleted. + (__accepted_index, _Extra_visit_slot_needed): Replace class + templates with variable templates. + +2022-06-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/fs_path.h (__is_path_iter_src): Replace class + template with variable template. + +2022-06-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono.h (is_clock_v): Define to false. + (is_clock_v<T>): Define partial specialization for true cases. + (is_clock): Define in terms of is_clock_v. + +2022-06-24 Xi Ruoyao <xry111@xry111.site> + + * scripts/extract_symvers.in: Use grep -E instead of egrep. + * scripts/run_doxygen: Likewise. + +2022-06-24 Alexandre Oliva <oliva@adacore.com> + + * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for + openat. + * configure, config.h.in: Rebuilt. + * src/filesystem/dir-common.h (openat): Use ::openat if + _GLIBCXX_HAVE_OPENAT. + * src/filesystem/dir.cc (dir_and_pathname): Use dirfd if + _GLIBCXX_HAVE_OPENAT. + +2022-06-24 Alexandre Oliva <oliva@adacore.com> + + * testsuite/27_io/filesystem/operations/rename.cc: xfail on + rtems. + * testsuite/experimental/filesystem/operations/rename.cc: + Likewise. + +2022-06-24 Alexandre Oliva <oliva@adacore.com> + + * testsuite/util/testsuite_fs.h (NO_LAST_WRITE_TIME): Define + when appropriate. + * testsuite/lib/libstdc++.exp + (check_v3_target_fs_last_write_time): New. + * testsuite/lib/dg-options.exp (dg-require-target-fs-lwt): + New. + * testsuite/27_io/filesystem/operations/last_write_time.cc: + Skip the test if the features are unavailable. + * testsuite/experimental/filesystem/operations/last_write_time.cc: + Likewise. + +2022-06-24 Alexandre Oliva <oliva@adacore.com> + + * testsuite/util/testsuite_fs.h (NO_SPACE): Define if + appropriate. + * testsuite/lib/libstdc++.exp (check_v3_target_fs_space): New. + * testsuite/lib/dg-options.exp (dg-require-target-fs-space): + New. + * testsuite/27_io/filesystem/operations/space.cc: Require + target-fs-space. + * testsuite/experimental/filesystem/operations/space.cc: + Likewise. + +2022-06-24 Alexandre Oliva <oliva@adacore.com> + + * testsuite/util/testsuite_fs.h (NO_SYMLINKS): Define on + mingw and when create_symlink is a dummy. + * testsuite/27_io/filesystem/operations/symlink_status.cc: + Drop mingw xfail. + (test01, test02): Don't create symlinks when NO_SYMLINKS is + defined. + * testsuite/27_io/filesystem/operations/canonical.cc (test03): + Likewise. + * testsuite/27_io/filesystem/operations/copy.cc (test02): + Likewise. + * testsuite/27_io/filesystem/operations/create_directories.cc + (test04): Likewise. + * testsuite/27_io/filesystem/operations/create_directory.cc + (test01): Likewise. + * testsuite/27_io/filesystem/operations/permissions.cc + (test03, test04): Likewise. + * testsuite/27_io/filesystem/operations/remove.cc (test01): + Likewise. + * testsuite/27_io/filesystem/operations/remove_all.cc (test01): + Likewise. + * testsuite/27_io/filesystem/operations/rename.cc + (test_symlinks): Likewise. + * testsuite/27_io/filesystem/operations/weakly_canonical.cc + (test01): Likewise. + * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc + (test06): Likewise. + * testsuite/experimental/filesystem/operations/copy.cc + (test01): Likewise. + * testsuite/experimental/filesystem/operations/create_directories.cc + (test04): Likewise. + * testsuite/experimental/filesystem/operations/create_directory.cc + (test01): Likewise. + * testsuite/experimental/filesystem/operations/permissions.cc + (test03, test04): Likewise. + * testsuite/experimental/filesystem/operations/remove.cc + (test01): Likewise. + * testsuite/experimental/filesystem/operations/remove_all.cc + (test01): Likewise. + * testsuite/experimental/filesystem/operations/rename.cc + (test01): Likewise. + * testsuite/lib/libstdc++.exp + (v3_check_preprocessor_condition): Add optional inc parameter. + Add it to the test program after include bits/c++config.h. + (check_v3_target_fs_symlinks): New. + * testsuite/lib/dg-options.exp + (dg-require-target-fs-symlinks): New. + * testsuite/27_io/filesystem/operations/read_symlink.cc: + Replace mingw xfail with require target-fs-symlinks. + * testsuite/experimental/filesystem/operations/read_symlink.cc: + Likewise. + +2022-06-24 Alexandre Oliva <oliva@adacore.com> + + * testsuite/27_io/filesystem/operations/copy.cc (test02): + Select TO after creating FROM. + (test03, test04): Likewise. + * testsuite/experimental/filesystem/operations/copy.cc + (test02, test03, test04): Likewise. + +2022-06-24 Alexandre Oliva <oliva@adacore.com> + + * testsuite/30_threads/thread/native_handle/cancel.cc: Add an + explicit cancellation point in case sleep_for lacks one. + +2022-06-24 Alexandre Oliva <oliva@adacore.com> + + * testsuite/lib/dg-options.exp (add_options_for_net_ts): Add + -lbsd for RTEMS targets. + +2022-06-23 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/filesystem/iterators/error_reporting.cc: Use + rmdir to remove directories. + * testsuite/experimental/filesystem/iterators/error_reporting.cc: + Likewise. + +2022-06-23 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/26_numerics/random/random_device/entropy.cc: Use + numeric_limits<unsigned>::digits. + +2022-06-22 Alexandre Oliva <oliva@adacore.com> + + * libsupc++/eh_globals.cc [!_GLIBCXX_HAVE_TLS] + (__eh_globals_init::~__eh_globals_init): Clear _S_init first. + +2022-06-22 Alexandre Oliva <oliva@adacore.com> + + * testsuite/30_threads/this_thread/60421.cc (test02): Call + sched_yield. + +2022-06-22 Alexandre Oliva <oliva@adacore.com> + + * testsuite/20_util/to_chars/long_double.cc: Require cmath. + +2022-06-22 Alexandre Oliva <oliva@adacore.com> + + * testsuite/23_containers/bitset/cons/dr1325-2.cc: Work around + global struct bitset. + * testsuite/23_containers/bitset/ext/15361.cc: Likewise. + * testsuite/23_containers/bitset/input/1.cc: Likewise. + * testsuite/23_containers/bitset/to_string/1.cc: Likewise. + * testsuite/23_containers/bitset/to_string/dr396.cc: Likewise. + +2022-06-17 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/21_strings/basic_string/cons/char/105995.cc: Add + missing #include. + +2022-06-16 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105995 + * include/bits/basic_string.h (_M_use_local_data): Initialize + the entire SSO buffer. + * testsuite/21_strings/basic_string/cons/char/105995.cc: New test. + +2022-06-16 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/101482 + * include/ext/vstring.h (operator==): Always check lengths + before comparing. + +2022-06-15 François Dumont <fdumont@gcc.gnu.org> + + PR libstdc++/105717 + * include/bits/hashtable_policy.h (_ConvertToValueType): New. + * include/bits/hashtable.h (_Hashtable<>::_M_insert_unique_aux): New. + (_Hashtable<>::_M_insert(_Arg&&, const _NodeGenerator&, true_type)): Use latters. + (_Hashtable<>::_M_insert(_Arg&&, const _NodeGenerator&, false_type)): Likewise. + (_Hashtable(_InputIterator, _InputIterator, size_type, const _Hash&, const _Equal&, + const allocator_type&, true_type)): Use this.insert range. + (_Hashtable(_InputIterator, _InputIterator, size_type, const _Hash&, const _Equal&, + const allocator_type&, false_type)): Use _M_insert. + * testsuite/23_containers/unordered_map/cons/56112.cc: Check how many times conversion + is done. + * testsuite/23_containers/unordered_map/insert/105717.cc: New test. + * testsuite/23_containers/unordered_set/insert/105717.cc: New test. + +2022-06-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/62187 + * include/bits/basic_string.h (operator==): Always compare + lengths before checking string contents. + [!__cpp_lib_three_way_comparison] (operator==, operator!=): + Reorder arguments. + +2022-06-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/59048 + * include/bits/basic_string.h (compare): Define inline. + * include/bits/basic_string.tcc (compare): Remove out-of-line + definitions. + * include/bits/cow_string.h (compare): Define inline. + * testsuite/21_strings/basic_string/operations/compare/char/3.cc: + New test. + +2022-06-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/new_allocator.h: Fix indentation. + * include/ext/malloc_allocator.h: Likewise. + +2022-06-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105957 + * include/bits/allocator.h (allocator::allocate): Check for + overflow in constexpr allocation. + * testsuite/20_util/allocator/105975.cc: New test. + +2022-06-13 Mark Mentovai <mark@mentovai.com> + + * include/experimental/bits/fs_path.h (__detail::__null_terminated): + Rename to __nul_terminated to avoid colliding with a macro in + Apple's SDK. + +2022-06-13 Jonathan Wakely <jwakely@redhat.com> + + * include/std/atomic (__atomic_val_t): Use __type_identity_t + instead of atomic<T>::value_type, as per LWG 3220. + * testsuite/29_atomics/atomic/lwg3220.cc: New test. + +2022-06-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105844 + * include/experimental/numeric (experimental::gcd): Simplify + assertions. Use __abs_r instead of __absu. + (experimental::lcm): Likewise. Remove use of __detail::__lcm so + overflow can be detected. + * include/std/numeric (__detail::__absu): Rename to __abs_r and + change to allow signed result type, so overflow can be detected. + (__detail::__lcm): Remove. + (gcd): Simplify assertions. Use __abs_r instead of __absu. + (lcm): Likewise. Remove use of __detail::__lcm so overflow can + be detected. + * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error lines. + * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. + * testsuite/26_numerics/gcd/105844.cc: New test. + * testsuite/26_numerics/lcm/105844.cc: New test. + +2022-06-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105880 + * libsupc++/eh_globals.cc (eh_globals): Ensure constant init and + prevent destruction during termination. + (__eh_globals_init::_M_init): Replace with static member _S_init. + (__cxxabiv1::__cxa_get_globals_fast): Update. + (__cxxabiv1::__cxa_get_globals): Likewise. + +2022-06-10 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.h (__hash_str_base): New class + template. + (hash<basic_string<C, char_traits<C>, A>>): Define partial + specialization for each of the standard character types. + (hash<string>, hash<wstring>, hash<u8string>, hash<u16string>) + (hash<u32string>): Remove explicit specializations. + * include/std/string (__hash_string_base): Remove class + template. + (hash<pmr::string>, hash<pmr::wstring>, hash<pmr::u8string>) + (hash<pmr::u16string>, hash<pmr::u32string>): Remove explicit + specializations. + * testsuite/21_strings/basic_string/hash/hash.cc: Test with + custom allocators. + * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: + Likewise. + +2022-05-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105671 + * include/std/sstream (basic_stringbuf::_M_high_mark): Add + always_inline attribute. + +2022-05-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105681 + * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp: + Limit ga_sizes array to values that fit in size_t. + * include/ext/random [__SIZE_WIDTH < 32] (sfmt86243) + (sfmt86243_64, sfmt132049, sfmt132049_64, sfmt216091) + (sfmt216091_64): Do not declare. + +2022-05-26 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Make + lookup for ios_errc and future_errc check versioned namespace. + (StdAtomicPrinter): Strip versioned namespace from typename. + +2022-05-26 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/Makefile.am: Add new source file. + * src/c++11/Makefile.in: Regenerate. + * src/c++11/cxx11-ios_failure.cc (iostream_category): + Move to ... + * src/c++11/ios_errcat.cc: New file. + * testsuite/27_io/ios_base/failure/error_code.cc: Check that + std::iostream_category() is defined and used for std::io_errc. + +2022-05-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_iterator.h (counted_iterator::operator++(int)): + Add 'constexpr' as per LWG 3643. + * testsuite/24_iterators/counted_iterator/lwg3643.cc: New test. + +2022-05-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/functional_hash.h (__is_fast_hash): Add doxygen + comment. + * include/bits/hashtable.h: Do not include <bits/stl_function.h> + here. + * include/bits/hashtable_policy.h: Include <bits/stl_pair.h> and + <bits/functional_hash.h>. + * include/bits/unordered_map.h: Include required headers. + * include/bits/unordered_set.h: Likewise. + * include/std/unordered_map: Do not include headers for indirect + dependencies. + * include/std/unordered_set: Likewise. + +2022-05-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ranges_algobase.h: Do not include + <bits/stl_iterator_base_types.h>. + * include/std/string: Likewise. + * include/std/variant: Likewise. + +2022-05-26 Nathan Sidwell <nathan@acm.org> + + * include/bits/hashtable.h: Include required headers. + * include/bits/hashtable_policy.h: Likewise. + * include/bits/stl_heap.h: Likewise. + * include/bits/stl_iterator_base_funcs.h: Likewise. + +2022-05-26 François Dumont <fdumont@gcc.gnu.org> + + * python/libstdcxx/v6/printers.py (StdSpanPrinter.__init__): + Strip typename from version namespace. + +2022-05-26 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (SharedPointerPrinter): Strip + versioned namespace from the template argument too. + +2022-05-26 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string/modifiers/pop_back/char.cc: + ...here. + * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string/modifiers/swap/wchar_t/constexpr.cc: + Moved to... + * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string/modifiers/swap/char/constexpr.cc: + Moved to... + * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc: + ...here. + * testsuite/21_strings/basic_string/operations/contains/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string/operations/contains/char.cc: + ...here. + * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string/operations/data/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string/operations/data/char.cc: + ...here. + * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string/operations/data/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string/operations/ends_with/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string/operations/ends_with/char.cc: + ...here. + * testsuite/21_strings/basic_string/operations/ends_with/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string/operations/starts_with/char.cc: + ...here. + * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string/operations/substr/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string/operations/substr/char.cc: + ...here. + * testsuite/21_strings/basic_string/operations/substr/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string/operations/substr/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string/range_access/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string/range_access/char.cc: + ...here. + * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string/range_access/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char.cc: + ...here. + * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char.cc: + ...here. + * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/modifiers/swap/char.cc: + ...here. + * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/operations/contains/char.cc: + ...here. + * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string_view/operations/data/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/operations/data/char.cc: + ...here. + * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/operations/data/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string_view/operations/ends_with/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc: + ...here. + * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string_view/operations/starts_with/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc: + ...here. + * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/operations/substr/char.cc: + ...here. + * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string_view/range_access/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/range_access/char.cc: + ...here. + * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/range_access/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char.cc: + ...here. + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t.cc: + ...here. + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t.cc: + ...here. + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t.cc: + ...here. + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/1.cc: + Moved to... + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc: + ...here. + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t.cc: + ...here. + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char.cc: + ...here. + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t.cc: + ...here. + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t.cc: + ...here. + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t.cc: + ...here. + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/int.cc: + ...here. + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t.cc: + ...here. + * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char/1.cc: + Moved to... + * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char.cc: + ...here. + * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t/1.cc: + Moved to... + * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t.cc: + ...here. + * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t/1.cc: + Moved to... + * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t.cc: + ...here. + * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char8_t/1.cc: + Moved to... + * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char8_t.cc: + ...here. + * testsuite/21_strings/char_traits/requirements/explicit_instantiation/short/1.cc: + Moved to... + * testsuite/21_strings/char_traits/requirements/explicit_instantiation/short.cc: + ...here. + * testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t/1.cc: + Moved to... + * testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t.cc: + ...here. + +2022-05-26 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/duration/requirements/explicit_instantiation/explicit_instantiation.cc: + Moved to... + * testsuite/20_util/duration/requirements/explicit_instantiation.cc: ...here. + * testsuite/20_util/time_point/requirements/explicit_instantiation/explicit_instantiation.cc: + Moved to... + * testsuite/20_util/time_point/requirements/explicit_instantiation.cc: ...here. + * testsuite/20_util/unique_ptr/requirements/explicit_instantiation/explicit_instantiation.cc: + Moved to... + * testsuite/20_util/unique_ptr/requirements/explicit_instantiation.cc: ...here. + +2022-05-25 Jason Merrill <jason@redhat.com> + + * testsuite/20_util/function_objects/constexpr_searcher.cc: Add + constexpr. + +2022-05-20 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc: + Run fewer iterations for simulator targets. + * testsuite/26_numerics/random/binomial_distribution/operators/values.cc: + Likewise. + * testsuite/26_numerics/random/discrete_distribution/operators/values.cc: + Likewise. + * testsuite/26_numerics/random/geometric_distribution/operators/values.cc: + Likewise. + * testsuite/26_numerics/random/negative_binomial_distribution/operators/values.cc: + Likewise. + * testsuite/26_numerics/random/poisson_distribution/operators/values.cc: + Likewise. + * testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc: + Likewise. + +2022-05-19 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/char_traits.h: Only include <cstdint> when + necessary. + * include/std/stacktrace: Use __UINTPTR_TYPE__ instead of + uintptr_t. + * src/c++11/cow-stdexcept.cc: Include <stdint.h>. + * src/c++17/floating_to_chars.cc: Likewise. + * testsuite/20_util/assume_aligned/1.cc: Include <cstdint>. + * testsuite/20_util/assume_aligned/3.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. + +2022-05-19 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.h: Do not include <ext/atomicity.h> + here. + * include/bits/cow_string.h: Include it here. + +2022-05-19 Jonathan Wakely <jwakely@redhat.com> + + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/bits/memory_resource.h: New file. + * include/std/deque: Include <bits/memory_resource.h>. + * include/std/forward_list: Likewise. + * include/std/list: Likewise. + * include/std/map: Likewise. + * include/std/memory_resource (pmr::memory_resource): Move to + new <bits/memory_resource.h> header. + (pmr::polymorphic_allocator): Likewise. + * include/std/regex: Likewise. + * include/std/set: Likewise. + * include/std/stacktrace: Likewise. + * include/std/string: Likewise. + * include/std/unordered_map: Likewise. + * include/std/unordered_set: Likewise. + * include/std/vector: Likewise. + * testsuite/21_strings/basic_string/types/pmr_typedefs.cc: + Remove <memory_resource> header and check construction. + * testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise. + * testsuite/23_containers/forward_list/pmr_typedefs.cc: + Likewise. + * testsuite/23_containers/list/pmr_typedefs.cc: Likewise. + * testsuite/23_containers/map/pmr_typedefs.cc: Likewise. + * testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise. + * testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise. + * testsuite/23_containers/set/pmr_typedefs.cc: Likewise. + * testsuite/23_containers/unordered_map/pmr_typedefs.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/pmr_typedefs.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/pmr_typedefs.cc: + Likewise. + * testsuite/23_containers/unordered_set/pmr_typedefs.cc: + Likewise. + * testsuite/23_containers/vector/pmr_typedefs.cc: Likewise. + * testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise. + +2022-05-19 Jonathan Wakely <jwakely@redhat.com> + + * include/std/memory_resource (polymorphic_allocator): Add + non-template equality operator, as proposed for LWG 3683. + * testsuite/20_util/polymorphic_allocator/lwg3683.cc: New test. + +2022-05-17 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/memory_resource.cc (set_default_resource): Use + memory_order_acq_rel. + (get_default_resource): Use memory_order_acquire. + +2022-05-17 Jonathan Wakely <jwakely@redhat.com> + + * include/std/memory_resource (new_delete_resource): Add + nodiscard, returns_nonnull and const attributes. + (null_memory_resource): Likewise. + (set_default_resource, get_default_resource): Add returns_nonnull + attribute. + (memory_resource::is_equal): Add nodiscard attribute. + (operator==, operator!=): Likewise. + +2022-05-17 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ios_base.h (io_category): Add const and nodiscard + attributes. + (make_error_code, make_error_condition): Add nodiscard. + * include/std/future (future_category): Add const and nodiscard. + (make_error_code, make_error_condition): Add nodiscard. + * include/std/system_error (generic_category system_category): + Add nodiscard. Replace _GLIBCXX_CONST with C++11 attribute. + (error_code::value, error_code::category, error_code::operator bool) + (error_condition::value, error_condition::category) + (error_condition::operator bool, make_error_code) + (make_error_condition, operator==, operator!=, operator<=>): Add + nodiscard. + +2022-05-17 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/expected/synopsis.cc: Skip for versioned + namespace. + * testsuite/27_io/headers/iosfwd/synopsis.cc: Likewise. + +2022-05-17 Jonathan Wakely <jwakely@redhat.com> + + * src/Makefile.am [ENABLE_SYMVERS_GNU_NAMESPACE] (cxx11_sources): + Do not build the compatibility*-c++0x.cc objects. + * src/Makefile.in: Regenerate. + * src/c++11/compatibility-c++0x.cc [_GLIBCXX_INLINE_VERSION]: + Refuse to build for the versioned namespace. + * src/c++11/compatibility-chrono.cc: Likewise. + * src/c++11/compatibility-condvar.cc: Likewise. + * src/c++11/compatibility-thread-c++0x.cc: Likewise. + * src/c++11/chrono.cc (system_clock, steady_clock): + Use macros to define in inline namespace _V2, matching the + declarations in <system_error>. + * src/c++11/system_error.cc (system_category, generic_category): + Likewise. + +2022-05-16 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/prerequisites.xml: Fix attributes for external + hyperlink. + * doc/html/manual/setup.html: Regenerate. + +2022-05-16 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/status_cxx2023.xml: Update with gcc-12 support. + * doc/html/*: Regenerate. + +2022-05-16 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/intro.xml: Include new chapter. + * doc/xml/manual/status_cxx2020.xml: Tweak release numbers. + * doc/xml/manual/status_cxx2023.xml: New file. + * doc/html/*: Regenerate. + +2022-05-16 Jonathan Wakely <jwakely@redhat.com> + + * doc/html/manual/status.html: Regenerate. + * doc/xml/manual/status_cxx2020.xml: Fix supported version for + C++20 bit operations. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/std_thread.h (thread::_State, thread::_State_ptr): + Declare as private unless _GLIBCXX_THREAD_IMPL is defined. + * src/c++11/thread.cc (_GLIBCXX_THREAD_IMPL): Define. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * include/std/future (launch): Make operators noexcept. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/user.cfg.in (PREDEFINED): Replace __exception_ptr + with "__unspecified__". + * libsupc++/exception_ptr.h: Improve doxygen docs. + (__exception_ptr::swap): Also declare in namespace std. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/nested_exception.h (throw_with_nested) [C++17]: Use + if-constexpr instead of tag dispatching. + (rethrow_if_nested) [C++17]: Likewise. + (rethrow_if_nested) [!__cpp_rtti]: Do not use dynamic_cast if it + would require RTTI. + * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc: + New test. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/user.cfg.in (PREDEFINED): Define + _GTHREAD_USE_MUTEX_TIMEDLOCK macro. + * include/bits/std_mutex.h (mutex, lock_guard): Use @since and + @headerfile. + * include/bits/unique_lock.h (unique_lock): Likewise. + * include/std/mutex (recursive_mutex, timed_mutex) + (recursive_timed_mutex, scoped_lock): Likewise. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/user.cfg.in (PREDEFINED): Define + _GLIBCXX23_CONSTEXPR macro. + * include/backward/auto_ptr.h (auto_ptr): Use @deprecated. + * include/bits/unique_ptr.h (default_delete): Use @since and + @headerfile. + * include/std/scoped_allocator: Remove @ingroup from @file + block. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/std_thread.h (thread, thread::id): Improve + doxygen docs. + * include/std/future: Likewise. + * include/std/thread (jthread): Likewise. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ostream_insert.h: Mark helper functions as + undocumented by Doxygen. + * include/bits/stl_algo.h: Use markdown for formatting and mark + helper functions as undocumented. + * include/bits/stl_numeric.h: Likewise. + * include/bits/stl_pair.h (pair): Add @headerfile. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/user.cfg.in (PREDEFINED): Define __allocator_base + so that Doxygen shows the right base-class for std::allocator. + * include/bits/alloc_traits.h: Improve doxygen docs. + * include/bits/allocator.h: Likewise. + * include/bits/new_allocator.h: Likewise. + * include/ext/new_allocator.h: Likewise. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/user.cfg.in (PREDEFINED): Define macro + _GLIBCXX_DOXYGEN_ONLY to expand its argument. + * include/bits/c++config (_GLIBCXX_DOXYGEN_ONLY): Define. + * include/bits/regex.h: Improve doxygen docs. + * include/bits/regex_constants.h: Likewise. + * include/bits/regex_error.h: Likewise. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * include/std/atomic: Suppress doxygen docs for + implementation details. + * include/bits/atomic_base.h: Likewise. + * include/bits/shared_ptr_atomic.h: Use markdown. Fix grouping + so that std::atomic is not added to the pointer abstractions + group. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * include/std/system_error: Improve doxygen comments. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ptr_traits.h: Add some doxygen comments. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/user.cfg.in (PREDEFINED): Expand new macros to + nothing. + * include/bits/c++config (_GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE) + (_GLIBCXX_END_INLINE_ABI_NAMESPACE): Define new macros. + * include/bits/algorithmfwd.h (_V2::__rotate): Use new macros + for the namespace. + * include/bits/chrono.h (chrono::_V2::system_clock): Likewise. + * include/bits/stl_algo.h (_V2::__rotate): Likewise. + * include/std/condition_variable (_V2::condition_variable_any): + Likewise. + * include/std/system_error (_V2::error_category): Likewise. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/mofunc_impl.h: Fix doxygen command. + +2022-05-13 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/user.cfg.in (GROUP_NESTED_COMPOUNDS): Set to NO. + (CLASS_DIAGRAMS): Remove obsolete option. + +2022-05-12 Jonathan Wakely <jwakely@redhat.com> + + * config/locale/dragonfly/numeric_members.cc: Remove whitespace. + * config/locale/gnu/numeric_members.cc: Likewise. + * include/bits/locale_facets_nonio.h: Likewise. + * libsupc++/typeinfo: Likewise. + +2022-05-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105284 + * include/std/iosfwd: Add declarations for <spanstream> class + templates and typedefs. + * include/std/spanstream (basic_spanbuf, basic_ispanstream) + (basic_ospanstream, basic_spanstream): Remove default template + arguments. + * testsuite/27_io/headers/iosfwd/synopsis.cc: Add <spanstream> + declarations. + * testsuite/27_io/headers/iosfwd/types.cc: Check <spanstream> + default arguments. + +2022-05-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105284 + * include/std/iosfwd: Add declarations for <synstream> class + templates and typedefs. + * include/std/syncstream (basic_syncbuf, basic_osyncstream): + Remove default template arguments. + * testsuite/27_io/headers/iosfwd/synopsis.cc: New test. + * testsuite/27_io/headers/iosfwd/types.cc: New test. + +2022-05-06 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/random.tcc (operator==): Only check + normal_distribution::_M_saved_available once. + * testsuite/26_numerics/random/normal_distribution/operators/equal.cc: + Check equality after state changes. + * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error + lineno. + +2022-05-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105502 + * include/bits/random.tcc + (operator>>(basic_istream<C,T>&, normal_distribution<R>&)): + Update state when __state_avail is false. + * testsuite/26_numerics/random/normal_distribution/operators/serialize.cc: + Check that deserialized object equals serialized one. + +2022-05-06 Alexandre Oliva <oliva@adacore.com> + + * include/experimental/bits/simd.h [__ALTIVEC__]: Require VSX + for double, long long, and 64-bit long intrinsic types. + [__ALTIVEC__] (__intrinsic_type): Mention 128-bit in + preexisting long double diagnostic, adjust no-VSX double + diagnostic to cover 64-bit long double as well. + +2022-05-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104731 + * testsuite/27_io/filesystem/iterators/error_reporting.cc: + Use a trailing char array as storage for dirent::d_name. + +2022-05-06 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace: Do not include <cxxabi.h>. + (__cxa_demangle): Declare. + +2022-05-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/99871 + * include/bits/specfun.h: Use visibility attribute on namespace, + instead of pragma push/pop. + * libsupc++/compare: Likewise. + * libsupc++/exception: Likewise. + * libsupc++/exception.h: Likewise. + * libsupc++/exception_ptr.h: Likewise. + * libsupc++/initializer_list: Likewise. + * libsupc++/nested_exception.h: Likewise. + +2022-05-06 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/test.xml: Remove requirement for copyright and + GPL notice in tests. + * doc/html/manual/test.html: Regenerate. + +2022-05-05 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/memory_resource [!__cpp_rtti] + (__resource_adaptor_imp::do_is_equal): Do not use dynamic_cast + when RTTI is disabled. + * testsuite/17_intro/freestanding.cc: Require RTTI. + * testsuite/18_support/exception/38732.cc: Likewise. + * testsuite/18_support/exception_ptr/rethrow_exception.cc: + Likewise. + * testsuite/18_support/nested_exception/68139.cc: Likewise. + * testsuite/18_support/nested_exception/rethrow_if_nested.cc: + Likewise. + * testsuite/18_support/type_info/103240.cc: Likewise. + * testsuite/18_support/type_info/fundamental.cc: Likewise. + * testsuite/18_support/type_info/hash_code.cc: Likewise. + * testsuite/20_util/any/assign/emplace.cc: Likewise. + * testsuite/20_util/any/cons/in_place.cc: Likewise. + * testsuite/20_util/any/misc/any_cast.cc: Likewise. + * testsuite/20_util/any/observers/type.cc: Likewise. + * testsuite/20_util/function/1.cc: Likewise. + * testsuite/20_util/function/2.cc: Likewise. + * testsuite/20_util/function/3.cc: Likewise. + * testsuite/20_util/function/4.cc: Likewise. + * testsuite/20_util/function/5.cc: Likewise. + * testsuite/20_util/function/6.cc: Likewise. + * testsuite/20_util/function/7.cc: Likewise. + * testsuite/20_util/function/8.cc: Likewise. + * testsuite/20_util/polymorphic_allocator/resource.cc: Likewise. + * testsuite/20_util/shared_ptr/casts/1.cc: Likewise. + * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: + Likewise. + * testsuite/20_util/shared_ptr/misc/get_deleter.cc: Likewise. + * testsuite/20_util/typeindex/comparison_operators.cc: Likewise. + * testsuite/20_util/typeindex/comparison_operators_c++20.cc: + Likewise. + * testsuite/20_util/typeindex/hash.cc: Likewise. + * testsuite/20_util/typeindex/hash_code.cc: Likewise. + * testsuite/20_util/typeindex/name.cc: Likewise. + * testsuite/22_locale/ctype/is/string/89728_neg.cc: Likewise. + * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc: + Likewise. + * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: + Likewise. + * testsuite/22_locale/locale/13630.cc: Check type without using + RTTI. + * testsuite/23_containers/array/requirements/non_default_constructible.cc: + Require RTTI. + * testsuite/27_io/basic_ostream/emit/1.cc: Likewise. + * testsuite/27_io/fpos/14320-1.cc: Check type without using RTTI. + * testsuite/27_io/fpos/mbstate_t/12065.cc: Require RTTI. + * testsuite/27_io/ios_base/failure/dual_abi.cc: Likewise. + * testsuite/experimental/any/misc/any_cast.cc: Likewise. + * testsuite/experimental/any/observers/type.cc: Likewise. + * testsuite/experimental/memory_resource/resource_adaptor.cc: + Likewise. + * testsuite/lib/libstdc++.exp (check_effective_target_rtti): + Define new proc. + * testsuite/tr1/3_function_objects/function/1.cc: Likewise. + * testsuite/tr1/3_function_objects/function/2.cc: Likewise. + * testsuite/tr1/3_function_objects/function/3.cc: Likewise. + * testsuite/tr1/3_function_objects/function/4.cc: Likewise. + * testsuite/tr1/3_function_objects/function/5.cc: Likewise. + * testsuite/tr1/3_function_objects/function/6.cc: Likewise. + * testsuite/tr1/3_function_objects/function/7.cc: Likewise. + * testsuite/tr1/3_function_objects/function/8.cc: Likewise. + * testsuite/tr2/bases/value.cc: Likewise. + * testsuite/tr2/direct_bases/value.cc: Likewise. + * testsuite/util/exception/safety.h [!__cpp_rtti]: Don't print + types without RTTI. + +2022-05-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104719 + * include/std/array (array::size(), array::max_size()) + (array::empty(), array::data()): Add always_inline attribute. + +2022-05-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104719 + * include/std/array (__array_traits::_S_ref): Remove. + (__array_traits::_S_ptr): Remove. + (__array_traits<T, 0>::_Type): Define operator[] and operator T* + to provide an array-like API. + (array::_AT_Type): Remove public typeef. + (array::operator[], array::at, array::front, array::back): Use + index operator to access _M_elems instead of _S_ref. + (array::data): Use implicit conversion from _M_elems to pointer. + (swap(array&, array&)): Use __enable_if_t helper. + (get<I>): Use index operator to access _M_elems. + * testsuite/23_containers/array/tuple_interface/get_neg.cc: + Adjust dg-error line numbers. + +2022-05-03 Alexandre Oliva <oliva@adacore.com> + + PR c++/105324 + * testsuite/20_util/from_chars/pr105324.cc: Guard test body + with conditional for floating-point overloads of from_char. + +2022-05-02 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/103911 + * src/c++17/floating_from_chars.cc (find_end_of_float): Accept + two delimeters for the exponent part in the form of a possibly + NULL string of length two. Don't use std::tolower. + (pattern): Adjust calls to find_end_of_float accordingly. + +2022-05-02 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/105441 + * src/c++17/floating_from_chars.cc (__floating_from_chars_hex): + Also accept 'P' as the start of the exponent. + * testsuite/20_util/from_chars/7.cc: Add corresponding testcase. + +2022-04-29 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105417 + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: + Regenerate. + * src/c++11/compatibility-ldbl-alt128.cc [_GLIBCXX_USE_DUAL_ABI]: + Define __gnu_ieee128::num_get<C>::_M_extract_int[abi:cxx11]<I> + symbols as aliases for corresponding symbols without abi-tag. + +2022-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * 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. + +2022-04-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/99290 + * src/c++17/fs_ops.cc (fs::copy): Pass error_code to + directory_iterator constructor, and check on each iteration. + * src/filesystem/ops.cc (fs::copy): Likewise. + * testsuite/27_io/filesystem/operations/copy.cc: Check for + errors during recursion. + * testsuite/experimental/filesystem/operations/copy.cc: + Likewise. + +2022-04-28 François Dumont <fdumont@gcc.gnu.org> + + * config/abi/pre/gnu-versioned-namespace.ver: Remove + std::random_device::* pattern. + +2022-04-27 Jakub Jelinek <jakub@redhat.com> + + * 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/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/powerpc-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. + +2022-04-27 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (SharedPointerPrinter): Add + support for atomic<shared_ptr<T>> and atomic<weak_ptr<T>>. + (StdAtomicPrinter): New printer. + (build_libstdcxx_dictionary): Register new printer. + * testsuite/libstdc++-prettyprinters/cxx11.cc: Test std::atomic. + * testsuite/libstdc++-prettyprinters/cxx20.cc: Test atomic smart + pointers. + +2022-04-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/shared_ptr_atomic.h (atomic<shared_ptr>): Add + constructor for constant initialization from nullptr_t. + * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: + Check for new constructor. + +2022-04-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/fs_path.h (hash<filesystem::path>): Define. + * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: + Check std::hash specialization. + +2022-04-25 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define + conditionally. + * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory): + Define for C++23. + (default_delete, default_delete<T[]>, __uniq_ptr_impl) + (unique_ptr, unique_ptr<T[], D>): Add constexpr to all member + functions. + * include/std/version (__cpp_lib_constexpr_memory): Define new + value for C++23. + * testsuite/20_util/unique_ptr/assign/constexpr.cc: New test. + * testsuite/20_util/unique_ptr/comparison/constexpr.cc: New test. + * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: New test. + * testsuite/20_util/unique_ptr/creation/constexpr.cc: New test. + * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: New test. + * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: + New test. + +2022-04-25 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105375 + * include/std/future (packaged_task): Add deduction guides. + * testsuite/30_threads/packaged_task/cons/deduction.cc: New test. + +2022-04-25 Philipp Fent <fent@in.tum.de> + + * python/libstdcxx/v6/printers.py (StdSpanPrinter._iterator): + Rename as iterator. + (StdInitializerListPrinter): Define new printer. + (build_libstdcxx_dictionary): Register new printer. + * testsuite/libstdc++-prettyprinters/cxx11.cc: Check printer for + initializer_list. + +2022-04-22 Thomas W Rodgers <trodgers@redhat.com> + + PR libstdc++/102994 + * include/bits/atomic_base.h (atomic_flag::notify_one, + notify_all): Remove const qualification. + (__atomic_base::notify_one, notify_all): Likewise. + * include/std/atomic (atomic<bool>::notify_one, notify_all): + Likewise. + (atomic::notify_one, notify_all): Likewise. + (atomic<T*>::notify_one, notify_all): Likewise. + (atomic_notify_one, atomic_notify_all): Likewise. + * testsuite/29_atomics/atomic/wait_notify/102994.cc: Adjust test + to account for change in notify_one/notify_all signature. + +2022-04-21 Patrick Palka <ppalka@redhat.com> + + * include/std/charconv (__from_chars_alnum_to_val_table): + Simplify initialization of __lower/__upper_letters. + (__from_chars_alnum_to_val): Default the template parameter to + false. + * src/c++17/floating_from_chars.cc (starts_with_ci): Don't + assume the uppercase and lowercase letters are contiguous. + (__floating_from_chars_hex): Likewise. + +2022-04-21 Patrick Palka <ppalka@redhat.com> + + PR c++/105297 + PR c++/105322 + * include/std/charconv (__from_chars_alnum_to_val): Make + initializer for __table dependent in an artificial way. + +2022-04-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105324 + * src/c++17/floating_from_chars.cc (buffer_resource::do_allocate): + Remove assertion. + * testsuite/20_util/from_chars/pr105324.cc: New test. + +2022-04-20 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: + Check correct feature test macro. + +2022-04-20 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/93602 + * doc/xml/manual/prerequisites.xml: Document libiconv + workarounds. + * doc/html/manual/setup.html: Regenerate. + * src/Makefile.am (CXXLINK): Add $(LTLIBICONV). + * src/Makefile.in: Regenerate. + +2022-04-19 Patrick Palka <ppalka@redhat.com> + + * src/c++17/floating_to_chars.cc (_GLIBCXX_ASSERTIONS): Don't + define. + (__floating_to_chars_shortest): Add __builtin_unreachable calls to + squelch false-positive -Wmaybe-uninitialized and -Wreturn-type + warnings. + (__floating_to_chars_precision): Likewise. + +2022-04-19 Philipp Fent <fent@in.tum.de> + + * python/libstdcxx/v6/printers.py (StdSpanPrinter): Define. + * testsuite/libstdc++-prettyprinters/cxx20.cc: Test it. + +2022-04-19 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Fix shell operators. + * configure: Regenerate. + +2022-04-18 Patrick Palka <ppalka@redhat.com> + + * include/std/charconv (__from_chars_pow2_base): Manually + unroll the first iteration of the main loop and simplify + accordingly. + +2022-04-15 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/104858 + * include/bits/ranges_algo.h (__minmax_fn): Avoid dereferencing + __first twice at the start. + * testsuite/25_algorithms/minmax/constrained.cc (test06): New test. + +2022-04-15 Patrick Palka <ppalka@redhat.com> + + * include/std/charconv (__from_chars_alnum_to_val_table): Define. + (__from_chars_alnum_to_val): Define. + (__from_chars_binary): Rename to ... + (__from_chars_pow2_base): ... this. Generalize to handle any + power-of-two base using __from_chars_alnum_to_val. + (__from_chars_digit): Optimize digit recognition to a single + test instead of two tests. Use [[__unlikely___]] attribute. + (__from_chars_alpha_to_num): Remove. + (__from_chars_alnum): Use __from_chars_alnum_to_val. Use a + nested loop for the overflow case. Maintain a lower bound + on the number of available bits in the result and use it to + omit the overflow check. + (from_chars): Adjust appropriately. + * src/c++17/floating_from_chars.cc (ascii_to_hexit): Remove. + (__floating_from_chars_hex): Use __from_chars_alnum_to_val + to recognize a hex digit instead. + +2022-04-14 Palmer Dabbelt <palmer@rivosinc.com> + + * acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Force auto to mutex + for RISC-V. + * configure: Regenerate. + +2022-04-14 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/intro.xml: Fix comment. + +2022-04-14 Jonathan Wakely <jwakely@redhat.com> + + * include/precompiled/stdc++.h: Include <stacktrace> and + <stdatomic.h> for C++23. + +2022-04-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105269 + * include/bits/stl_vector.h (__cpp_lib_constexpr_vector): + Define. + * include/c_compatibility/stdatomic.h (__cpp_lib_stdatomic_h): + Define. + * include/std/optional (__cpp_lib_optional): Define new value + for C++23. + (__cpp_lib_monadic_optional): Remove. + * include/std/version (__cpp_lib_constexpr_vector): Define. + (__cpp_lib_stdatomic_h): Define. + (__cpp_lib_optional): Define new value for C++23. + (__cpp_lib_monadic_optional): Remove. + * testsuite/20_util/optional/monadic/and_then.cc: Adjust. + * testsuite/20_util/optional/requirements.cc: Adjust for C++23. + * testsuite/20_util/optional/version.cc: Likewise. + * testsuite/23_containers/vector/cons/constexpr.cc: Check + feature test macro. + * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: + Likewise. + * testsuite/20_util/optional/monadic/version.cc: Removed. + * testsuite/23_containers/vector/requirements/version.cc: New test. + * testsuite/29_atomics/headers/stdatomic.h/version.cc: New test. + +2022-04-12 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Check for mmap. + * config.h.in: Regenerate. + * configure: Regenerate. + +2022-04-12 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace::current): Reallocate + a smaller container if the unused capacity is larger than the + used size. + +2022-04-12 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace): Use _Impl::_M_clone + or _Impl::_M_assign to initialize elements in allocated storage. + (basic_stacktrace::_M_clear()): Use _Impl::_M_resize instead of + _Impl::_M_destroy. + (basic_stacktrace::_Impl::_M_destroy()): Replace with ... + (basic_stacktrace::_Impl::_M_resize(size_type, allocator&)): New + function. + (basic_stacktrace::_Impl::_M_push_back): Use _M_xclone. Construct + new element using allocator. + (basic_stacktrace::_Impl::_M_clone): New function. + (basic_stacktrace::_Impl::_M_xclone): New function. + (basic_stacktrace::_Impl::_M_assign): New function. + +2022-04-12 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): + Use nothrow new instead of try block for std::allocator. + (basic_stacktrace::_Impl::_M_deallocate): Use delete for + std::allocator. + +2022-04-12 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace::current): Replace + calls to _M_reserve and _S_curr_cb with call to _M_prepare. + Check return value of backtrace_simple when max depth given. + (basic_stacktrace::_M_reserve): Remove. + (basic_stacktrace::_S_curr_cb): Remove. + (basic_stacktrace::_M_prepare(size_type)): New function to + reserve initial capacity and return callback. + (basic_stacktrace::_Impl::_M_allocate): Remove check for 0 < n + and remove redundant zeroing of _M_frames and _M_capacity. + (basic_stacktrace::_Impl::_M_push_back): Add [[unlikely]] + attribute. Assign _Impl instead of swapping. + * testsuite/19_diagnostics/stacktrace/current.cc: New test. + +2022-04-11 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): + Change [[unlikely]] attribute to [[likely]]. + +2022-04-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105031 + * include/std/stacktrace (basic_stacktrace::basic_stacktrace): + Fix allocator usage in constructors. + (basic_stacktrace::operator=(const basic_stacktrace&)): Do not + try to reallocate using const allocator. + (basic_stacktrace::operator=(basic_stacktrace&&)): Fix + if-constexpr with non-constant condition. Do not allocate new + storage if allocator propagates. Do not set _M_size if + allocation fails. + (basic_stacktrace::swap(basic_stacktrace&)): Fix typo. Add + assertion that non-propagating allocators are equal. + * testsuite/19_diagnostics/stacktrace/stacktrace.cc: New test. + +2022-04-11 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace::current): Duplicate + implementation into each overload. Add noinline attribute and + skip current frame. + (basic_stacktrace::max_size()): Call _Impl::_S_max_size. + (basic_stacktrace::_S_curr_cb()): New function defining lambda. + (basic_stacktrace::_Impl::_S_max_size): New function defining + maximum size in terms of allocator and size_type. + (basic_stacktrace::_Impl::_M_allocate): Check against + max_size(). + * testsuite/19_diagnostics/stacktrace/entry.cc: Call function + for non-constexpr checks. Check line number is correct. + +2022-04-11 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/stacktrace/entry.cc: Moved to... + * testsuite/19_diagnostics/stacktrace/entry.cc: ...here. + * testsuite/20_util/stacktrace/synopsis.cc: Moved to... + * testsuite/19_diagnostics/stacktrace/synopsis.cc: ...here. + * testsuite/20_util/stacktrace/version.cc: Moved to... + * testsuite/19_diagnostics/stacktrace/version.cc: ...here. + +2022-04-11 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/bits/fs_path.h (path): Define special + members after path::_Cmpt is complete. + +2022-04-08 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105153 + * include/std/expected + (expected<void,E>::expected(expected<U,G>&&)): Fix constraints. + * testsuite/20_util/expected/cons.cc: Check constructor. + +2022-04-08 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105154 + * include/std/expected (expected<void, E>::swap): Set + _M_has_value to false for objects that previously had a value. + * testsuite/20_util/expected/swap.cc: Fix test to check void + specialization. + +2022-04-08 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105146 + * include/std/expected (bad_expected_access): Move constructor + parameter. + * testsuite/20_util/expected/bad.cc: New test. + +2022-04-07 Hans-Peter Nilsson <hp@axis.com> + + * testsuite/20_util/expected/requirements.cc: Correct minimal-size + test. + +2022-04-02 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/105128 + * include/std/source_location (std::source_location::__impl): Move + definition before using __builtin_ret_type. + +2022-04-01 Jonathan Wakely <jwakely@redhat.com> + + * include/std/utility (unreachable): Define for C++23. + * include/std/version (__cpp_lib_unreachable): Define. + * src/c++11/debug.cc (__glibcxx_assert_fail): Check for valid + arguments. Handle only the function being given. + * testsuite/20_util/unreachable/1.cc: New test. + * testsuite/20_util/unreachable/version.cc: New test. + +2022-04-01 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/bits/fs_fwd.h (copy_file): Remove + incorrect noexcept from declaration. + * include/experimental/bits/fs_path.h (path::begin, path::end): + Add noexcept to declarations, to match definitions. + +2022-04-01 Timm Bäder <tbaeder@redhat.com> + + * include/bits/fs_ops.h: Fix filename in Doxygen comment. + * include/experimental/bits/fs_ops.h: Likewise. + +2022-03-31 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/new_opa.cc (aligned_alloc): Add comment. + +2022-03-29 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/18_support/exception/38732.cc: Disable for C++23. + * testsuite/18_support/headers/exception/synopsis.cc: Likewise. + * testsuite/18_support/unexpected_handler.cc: Likewise. + +2022-03-29 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/compare (_Strong_order) [!__cpp_using_enum]: Add + static data members for _Fp_fmt enumerators. + +2022-03-29 Jonathan Wakely <jwakely@redhat.com> + + * include/std/version (__cpp_lib_variant): Fix conditions to + match <variant>. + (__cpp_lib_expected): Fix condition to match <expected>. + +2022-03-28 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/optional/monadic/and_then.cc: Fix typo. + * testsuite/20_util/optional/monadic/transform.cc: Likewise. + * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise. + * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise. + * testsuite/22_locale/codecvt/in/char/1.cc: Likewise. + * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise. + * testsuite/22_locale/codecvt/out/char/1.cc: Likewise. + * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise. + +2022-03-27 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/user.cfg.in: Add new header. + * include/Makefile.am: Likewise. + * include/Makefile.in: Regenerate. + * include/precompiled/stdc++.h: Add new header. + * include/std/version (__cpp_lib_expected): Define. + * libsupc++/exception [__cplusplus > 202002] (unexpected) + (unexpected_handler, set_unexpected): Do not declare for C++23. + * include/std/expected: New file. + * testsuite/20_util/expected/assign.cc: New test. + * testsuite/20_util/expected/cons.cc: New test. + * testsuite/20_util/expected/illformed_neg.cc: New test. + * testsuite/20_util/expected/observers.cc: New test. + * testsuite/20_util/expected/requirements.cc: New test. + * testsuite/20_util/expected/swap.cc: New test. + * testsuite/20_util/expected/synopsis.cc: New test. + * testsuite/20_util/expected/unexpected.cc: New test. + * testsuite/20_util/expected/version.cc: New test. + +2022-03-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/bit (bit_cast, byteswap, endian): Add doxygen + comments. + +2022-03-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105027 + * include/std/bit (bit_cast): Add constraints. + * testsuite/26_numerics/bit/bit.cast/105027.cc: New test. + +2022-03-23 Jonathan Wakely <jwakely@redhat.com> + + * include/std/version [!_GLIBCXX_HOSTED] + (__cpp_lib_hardware_interference_size): Define for freestanding. + (__cpp_lib_bit_cast): Likewise. + (__cpp_lib_is_layout_compatible): Likewise. + (__cpp_lib_is_pointer_interconvertible): Likewise. + (__cpp_lib_adaptor_iterator_pair_constructor): Do not define for + freestanding. + (__cpp_lib_invoke_r): Likewise. + (__cpp_lib_ios_noreplace): Likewise. + (__cpp_lib_monadic_optional): Likewise. + (__cpp_lib_move_only_function): Likewise. + (__cpp_lib_spanstream): Likewise. + (__cpp_lib_stacktrace): Likewise. + (__cpp_lib_string_contains): Likewise. + (__cpp_lib_string_resize_and_overwrite): Likewise. + (__cpp_lib_to_underlying): Likewise. + +2022-03-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105021 + * include/bits/atomic_base.h [!_GLIBCXX_HOSTED]: Do not include + <bits/atomic_wait.h> for freestanding. + +2022-03-22 Hans-Peter Nilsson <hp@axis.com> + + * testsuite/20_util/from_chars/6.cc (test01) [FE_DOWNWARD]: + Conditionalize call to fesetround. + +2022-03-21 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/104990 + * include/bits/locale_facets_nonio.tcc (get): Don't check if do_get + isn't overloaded if __clang__ is defined. + +2022-03-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104242 + * include/std/any (any(T&&)): Revert change to constraints. + * testsuite/20_util/any/cons/104242.cc: New test. + +2022-03-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/92546 + * include/pstl/glue_algorithm_defs.h: Replace <functional> with + <bits/stl_pair.h>. + * include/pstl/utils.h: Replace <iterator> with <type_traits>. + (__pstl::__internal::__except_handler): Use std::__terminate + instead of std::terminate. + * src/c++17/fs_path.cc: Include <array>. + * testsuite/25_algorithms/adjacent_find/constexpr.cc: Include + <functional>. + * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise. + * testsuite/25_algorithms/clamp/constrained.cc: Likewise. + * testsuite/25_algorithms/equal/constrained.cc: Likewise. + * testsuite/25_algorithms/for_each/constrained.cc: Likewise. + * testsuite/25_algorithms/includes/constrained.cc: Likewise. + * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise. + * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise. + * testsuite/25_algorithms/is_permutation/constrained.cc: Include + <iterator>. + * testsuite/25_algorithms/is_sorted/constexpr.cc: Include + <functional>. + * testsuite/25_algorithms/is_sorted_until/constexpr.cc: + Likewise. + * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: + Likewise. + * testsuite/25_algorithms/lexicographical_compare/constrained.cc: + Likewise. + * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc: + Include <array>. + * testsuite/25_algorithms/lower_bound/constexpr.cc: Include + <functional>. + * testsuite/25_algorithms/max/constrained.cc: Likewise. + * testsuite/25_algorithms/max_element/constrained.cc: Likewise. + * testsuite/25_algorithms/min/constrained.cc: Likewise. + * testsuite/25_algorithms/min_element/constrained.cc: Likewise. + * testsuite/25_algorithms/minmax_element/constrained.cc: + Likewise. + * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise. + * testsuite/25_algorithms/move/93872.cc: Likewise. + * testsuite/25_algorithms/move_backward/93872.cc: Include + <iterator>. + * testsuite/25_algorithms/nth_element/constexpr.cc: Include + <functional>. + * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise. + * testsuite/25_algorithms/partial_sort_copy/constexpr.cc: + Likewise. + * testsuite/25_algorithms/search/constexpr.cc: Likewise. + * testsuite/25_algorithms/search_n/constrained.cc: Likewise. + * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise. + * testsuite/25_algorithms/set_difference/constrained.cc: + Likewise. + * testsuite/25_algorithms/set_intersection/constexpr.cc: + Likewise. + * testsuite/25_algorithms/set_intersection/constrained.cc: + Likewise. + * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: + Likewise. + * testsuite/25_algorithms/set_union/constexpr.cc: Likewise. + * testsuite/25_algorithms/set_union/constrained.cc: Likewise. + * testsuite/25_algorithms/sort/constexpr.cc: Likewise. + * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise. + * testsuite/25_algorithms/transform/constrained.cc: Likewise. + * testsuite/25_algorithms/unique/constexpr.cc: Likewise. + * testsuite/25_algorithms/unique/constrained.cc: Likewise. + * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise. + * testsuite/std/ranges/adaptors/elements.cc: Include <vector>. + * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise. + * testsuite/std/ranges/adaptors/split.cc: Likewise. + +2022-03-17 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/92546 + * include/bits/fs_path.h (path::make_preferred): Use + handwritten loop instead of std::replace. + +2022-03-17 Jonathan Wakely <jwakely@redhat.com> + + PR middle-end/104966 + * include/bits/locale_facets_nonio.tcc + (__moneypunct_cache::_M_cache): Replace try-catch with RAII and + make all string copies before any stores to *this. + +2022-03-17 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/util/testsuite_character.h: Fix comment. + +2022-03-16 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103407 + * config/abi/pre/gnu.ver: Make version for std::from_chars + depend on HAVE_USELOCALE macro. + * testsuite/util/testsuite_abi.cc (compare_symbols): Treat + std::from_chars for floating-point types as undesignated if + not found in the baseline symbols file. + +2022-03-16 Jonathan Wakely <jwakely@redhat.com> + + * include/std/charconv (__cpp_lib_to_chars): Only define when + both from_chars and to_chars are supported for floating-point + types. + (from_chars, to_chars): Adjust preprocessor conditions guarding + declarations. + * include/std/version (__cpp_lib_to_chars): Adjust condition to + match <charconv> definition. + * src/c++17/floating_from_chars.cc (from_chars_strtod): New + function template. + (from_chars): Simplify preprocessor checks and use + from_chars_strtod when appropriate. + +2022-03-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104875 + * src/c++11/codecvt.cc (read_utf8_code_point): Use char32_t to + hold octets that will be left-shifted. + +2022-03-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104870 + * src/c++17/floating_from_chars.cc: Check __SIZE_WIDTH__ >= 32 + before using fast_float. + +2022-03-10 Detlef Vollmann <dv@vollmann.ch> + + PR libstdc++/104866 + * include/bits/this_thread_sleep.h: Fix order of #endif and + closing brace of namespace. + +2022-03-10 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/compare (_Strong_order::_S_fp_cmp) [__vax__]: + Handle NaN. + +2022-03-10 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/compare (_Strong_ordering::_S_fp_cmp) [__vax__]: Use + <=> comparison. + +2022-03-09 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/104859 + * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): + Be explicit when narrowing the shifted effective_mantissa, + since it may have an integer-class type. + +2022-03-08 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/uses_allocator_args.h: Remove incorrect copyright + notice. + +2022-03-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104807 + * include/bits/c++config (__terminate, __glibcxx_assert_fail): + Replace _GLIBCXX_VISIBILITY on function with visibility pragma. + (__is_constant_evaluated): Add visibility pragma. + +2022-03-07 Rasmus Villemoes <rasmus.villemoes@prevas.dk> + + * config/locale/vxworks/ctype_members.cc: Remove <iostream> + include. + +2022-03-05 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/c++config (__glibcxx_assert_fail): Add visibility + attribute. + (__terminate): Likewise. + +2022-03-04 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/compare (strong_order::_S_fp_cmp): Move typedef + inside #if condition. + +2022-03-03 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104748 + * testsuite/std/ranges/adaptors/all.cc: Use non-debug vector for + constexpr test. + +2022-03-03 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/17_intro/names.cc (func): Undef on AIX. + +2022-03-03 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/96526 + * libsupc++/compare (strong_order): Add missing support for + floating-point types. + * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc: + New test. + +2022-03-01 Jonathan Wakely <jwakely@redhat.com> + + PR middle-end/103984 + * include/bits/regex_compiler.h (_BracketMatcher::_M_char): Use + default member initializer. + +2022-02-24 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104602 + * include/std/source_location (source_location::current): Use + deduced type of __builtin_source_location(). + +2022-02-22 Patrick Palka <ppalka@redhat.com> + + * include/bits/ranges_base.h (__detail::__is_initializer_list): + Define. + (viewable_range): Adjust as per P2415R2. + * include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value. + * include/std/ranges (owning_view): Define as per P2415R2. + (enable_borrowed_range<owning_view>): Likewise. + (views::__detail::__can_subrange): Replace with ... + (views::__detail::__can_owning_view): ... this. + (views::_All::_S_noexcept): Sync with operator(). + (views::_All::operator()): Use owning_view instead of subrange + as per P2415R2. + * include/std/version (__cpp_lib_ranges): Adjust value. + * testsuite/std/ranges/adaptors/all.cc (test06): Adjust now that + views::all uses owning_view instead of subrange. + (test08): New test. + * testsuite/std/ranges/adaptors/lazy_split.cc (test09): Adjust + now that rvalue non-view non-borrowed ranges are viewable. + * testsuite/std/ranges/adaptors/split.cc (test06): Likewise. + +2022-02-17 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104559 + * doc/xml/manual/evolution.xml: Document deprecation. + * doc/html/manual/api.html: Regenerate. + * include/bits/stl_bvector.h (insert(const_iterator, const bool&)): + Remove default argument. + (insert(const_iterator)): New overload with deprecated attribute. + * testsuite/23_containers/vector/bool/modifiers/insert/104559.cc: + New test. + +2022-02-17 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Replace + code that call cat->name() on std::error_category objects. + Identify known categories by symbol name and use a hardcoded + name. Print error code values as enumerators where appopriate. + * testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected + name of custom category. Check io_errc and future_errc errors. + +2022-02-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104542 + * include/bits/uses_allocator_args.h (make_obj_using_allocator) + (uninitialized_construct_using_allocator): Add constexpr. + * testsuite/20_util/uses_allocator/make_obj.cc: Check constexpr. + * testsuite/20_util/uses_allocator/uninitialized_construct.cc: New test. + +2022-02-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/100912 + * config/locale/gnu/c_locale.h (__convert_from_v): Use inline + namespace for IEEE128 long double mode. + * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add new symbol + version and export __gnu_cxx_ieee128::__convert_from_v. + * include/bits/locale_facets_nonio.tcc (money_put::__do_put): + Make __ibm128 overload use snprintf directly + * testsuite/util/testsuite_abi.cc: Add new symbol version. + Remove stable IEEE128/LDBL versions. + +2022-02-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103891 + * include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS): + Remove. + * include/std/variant: Check feature test macros instead. + * include/std/version: Likewise. + +2022-02-14 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: + Fix typo. + +2022-02-14 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/floating_to_chars.cc (FLOAT128_TO_CHARS): Depend on + LONG_DOUBLE_ALT128_COMPAT instead of USE_FLOAT128. + +2022-02-11 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/temporary_buffer.cc: Fix dg-warning target + selector. + +2022-02-11 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/monotonic_buffer_resource/allocate.cc: + Ignore -Walloc-larger-than warning. + * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: + Likewise. + * testsuite/29_atomics/atomic/cons/user_pod.cc: Compile with -O1 + to avoid linker error for __atomic_is_lock_free. + +2022-02-10 Thomas Rodgers <rodgert@appliantology.com> + + * include/bits/atomic_wait.h (__waiter_base::_S_do_spin, + __waiter_base::_S_do_spin_v): Change memory order from relaxed + to acquire. + +2022-02-10 Jonathan Wakely <jwakely@redhat.com> + + * include/c_compatibility/stdatomic.h (atomic_fetch_xor): Add + using-declaration. + (atomic_fetch_xor_explicit): Likewise. + * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Check + arithmetic and logical operations for atomic_int. + +2022-02-10 Jonathan Wakely <jwakely@redhat.com> + + * src/filesystem/dir-common.h (_GLIBCXX_HAVE_DIRFD): Undefine + when <dirent.h> is not available. + (_GLIBCXX_HAVE_UNLINKAT): Likewise. + +2022-02-09 Thomas Rodgers <rodgert@appliantology.com> + + PR libstdc++/104442 + * include/bits/atomic_wait.h (__waiter::_M_do_wait_v): Move spin + loop inside do loop so that threads failing the wait, reload + _M_ver. + +2022-02-08 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fs_dir.cc (_Dir(DIR*, const path&)): Change first + parameter to _Dir_base&&. + * src/filesystem/dir-common.h (_Dir_base(DIR*)): Remove. + * src/filesystem/dir.cc (_Dir(DIR*, const path&)): Change first + parameter to _Dir_base&&. + +2022-02-08 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Add comment about + checking for CAS on correct word size. + +2022-02-08 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/experimental/filesystem/operations/create_directories.cc: + Adjust expected results for Windows. + +2022-02-08 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104161 + * src/c++17/fs_dir.cc (fs::recursive_directory_iterator::__erase): + [i_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Refresh entry._M_type member, + instead of checking for errno values indicating a directory. + * src/c++17/fs_ops.cc (fs::remove_all(const path&)): Use similar + logic to non-throwing overload. + (fs::remove_all(const path&, error_code&)): Add comments. + * src/filesystem/ops-common.h: Likewise. + +2022-02-04 Jonathan Wakely <jwakely@redhat.com> + + * src/filesystem/dir-common.h (_Dir_base::openat): Change return + type to use portable posix::DIR alias. + +2022-02-04 Jonathan Wakely <jwakely@redhat.com> + + * include/c_compatibility/stdatomic.h [__clang__]: Use + #include_next <stdatomic.h>. + +2022-02-04 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/bits/fs_ops.h (fs::copy_file): Remove + noexcept. + (fs::create_directories): Likewise. + (fs::remove_all): Likewise. + * src/filesystem/ops.cc (fs::copy_file): Remove noexcept. + (fs::create_directories): Likewise. + (fs::remove_all): Likewise. + +2022-02-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104161 + * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for dirfd + and unlinkat. + * config.h.in: Regenerate. + * configure: Regenerate. + * include/bits/fs_dir.h (recursive_directory_iterator): Declare + remove_all overloads as friends. + (recursive_directory_iterator::__erase): Declare new member + function. + * include/bits/fs_fwd.h (remove, remove_all): Declare. + * src/c++17/fs_dir.cc (_Dir): Add filename_only parameter to + constructor. Pass file descriptor argument to base constructor. + (_Dir::dir_and_pathname, _Dir::open_subdir, _Dir::do_unlink) + (_Dir::unlink, _Dir::rmdir): Define new member functions. + (directory_iterator): Pass filename_only argument to _Dir + constructor. + (recursive_directory_iterator::_Dir_stack): Adjust constructor + parameters to take a _Dir rvalue instead of creating one. + (_Dir_stack::orig): Add data member for storing original path. + (_Dir_stack::report_error): Define new member function. + (__directory_iterator_nofollow): Move here from dir-common.h and + fix value to be a power of two. + (__directory_iterator_filename_only): Define new constant. + (recursive_directory_iterator): Construct _Dir object and move + into _M_dirs stack. Pass skip_permission_denied argument to first + advance call. + (recursive_directory_iterator::increment): Use _Dir::open_subdir. + (recursive_directory_iterator::__erase): Define new member + function. + * src/c++17/fs_ops.cc (ErrorReporter, do_remove_all): Remove. + (fs::remove_all): Use new recursive_directory_iterator::__erase + member function. + * src/filesystem/dir-common.h (_Dir_base): Add int parameter to + constructor and use openat to implement nofollow semantics. + (_Dir_base::fdcwd, _Dir_base::set_close_on_exec, _Dir_base::openat): + Define new member functions. + (__directory_iterator_nofollow): Move to fs_dir.cc. + * src/filesystem/dir.cc (_Dir): Pass file descriptor argument to + base constructor. + (_Dir::dir_and_pathname, _Dir::open_subdir): Define new member + functions. + (recursive_directory_iterator::_Dir_stack): Adjust constructor + parameters to take a _Dir rvalue instead of creating one. + (recursive_directory_iterator): Check for new nofollow option. + Construct _Dir object and move into _M_dirs stack. Pass + skip_permission_denied argument to first advance call. + (recursive_directory_iterator::increment): Use _Dir::open_subdir. + * src/filesystem/ops.cc (fs::remove_all): Use C++17 remove_all. + +2022-02-04 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/allocator.h: Qualify std::allocator_traits in + deprecated warnings. + * libsupc++/exception (uncaught_exception): Add suggestion to + deprecated warning. + +2022-02-02 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fs_dir.cc (fs::recursive_directory_iterator::pop): + Add [[maybe_unused]] attribute. + * src/filesystem/dir.cc (fs::recursive_directory_iterator::pop): + Likewise. + +2022-02-02 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/multiset/operators/cmp_c++20.cc: Use + custom comparison function for multiset. + * testsuite/23_containers/set/operators/cmp_c++20.cc: Use custom + comparison function for set. + +2022-02-02 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/boost_concept_check.h (_OutputIteratorConcept): + Change member function to data member of function pointer type. + +2022-02-02 Martin Sebor <msebor@redhat.com> + + PR libstdc++/101831 + * include/std/array (begin): Declare const member function attribute + const. + (end, rbegin, rend, size, max_size, empty, data): Same. + * testsuite/23_containers/array/capacity/empty.cc: Add test cases. + * testsuite/23_containers/array/capacity/max_size.cc: Same. + * testsuite/23_containers/array/capacity/size.cc: Same. + * testsuite/23_containers/array/iterators/begin_end.cc: New test. + +2022-02-02 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/filesystem/iterators/error_reporting.cc: Use + autoconf macro to check whether d_type is present. + * testsuite/experimental/filesystem/iterators/error_reporting.cc: + Likewise. + +2022-02-01 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/filesystem/iterators/97731.cc: New test. + * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: + Check follow_directory_symlink option. + * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc: + Likewise. + +2022-02-01 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fs_dir.cc (recursive_directory_iterator::increment): + Reset state to past-the-end iterator on error. + (fs::recursive_directory_iterator::pop(error_code&)): Likewise. + (fs::recursive_directory_iterator::pop()): Check _M_dirs before + it might get reset. + * src/filesystem/dir.cc (recursive_directory_iterator): Likewise, + for the TS implementation. + * testsuite/27_io/filesystem/iterators/error_reporting.cc: New test. + * testsuite/experimental/filesystem/iterators/error_reporting.cc: New test. + +2022-02-01 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/fs_fwd.h (filesystem::perms): Fix comment. + +2022-02-01 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104301 + * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Print different messages + for stdio_pure and stdio_posix options. + * configure: Regenerate. + +2022-02-01 Thomas Rodgers <rodgert@appliantology.com> + + * include/bits/atomic_wait.h: Change memory order from + Acquire/Release with relaxed loads to SeqCst+Release for + accesses to the waiter's count. + +2022-01-31 Martin Liska <mliska@suse.cz> + + * acinclude.m4: Detect *_ld_is_mold and use it. + * configure: Regenerate. + +2022-01-30 Hans-Peter Nilsson <hp@axis.com> + + * testsuite/27_io/basic_istream/get/char/lwg3464.cc: Don't run on + simulator targets. + * testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: Likewise. + +2022-01-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/100516 + * include/bits/deque.tcc (_M_range_initialize<ForwardIterator>): + Add __builtin_unreachable to loop. + * testsuite/23_containers/deque/100516.cc: New test. + +2022-01-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ranges_base.h (ranges::advance): Avoid signed + overflow. Do nothing if already equal to desired result. + * testsuite/24_iterators/range_operations/advance_overflow.cc: + New test. + +2022-01-27 Martin Liska <mliska@suse.cz> + + PR libstdc++/104259 + * acinclude.m4: Fix typo. + * configure: Regenerate. + +2022-01-25 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104019 + * include/bits/istream.tcc (basic_istream::sentry): Add braces + around try-block. + * include/bits/shared_ptr_base.h (_Sp_counted_array_base::_M_init): + Add pragmas to disable bogus warnings from PR 61596. + +2022-01-25 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104217 + * src/c++17/fs_ops.cc (_GNU_SOURCE): Define. + * src/filesystem/dir.cc (_GNU_SOURCE): Define. + * src/filesystem/ops.cc (_GNU_SOURCE): Define. + +2022-01-25 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104161 + * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for + fdopendir. + * config.h.in: Regenerate. + * configure: Regenerate. + * src/c++17/fs_dir.cc (_Dir): Add nofollow flag to constructor + and pass it to base class constructor. + (directory_iterator): Pass nofollow flag to _Dir constructor. + (fs::recursive_directory_iterator::increment): Likewise. + * src/c++17/fs_ops.cc (do_remove_all): Use nofollow option for + directory_iterator constructor. Move error check outside loop. + * src/filesystem/dir-common.h (_Dir_base): Add nofollow flag to + constructor and when it's set use ::open with O_NOFOLLOW and + O_DIRECTORY. + * src/filesystem/dir.cc (_Dir): Add nofollow flag to constructor + and pass it to base class constructor. + (directory_iterator): Pass nofollow flag to _Dir constructor. + (fs::recursive_directory_iterator::increment): Likewise. + * src/filesystem/ops.cc (remove_all): Use nofollow option for + directory_iterator constructor. Move error check outside loop. + +2022-01-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104032 + * include/std/spanstream (basic_spanbuf(basic_spanbuf&&)): Use + mem-initializer for _M_buf. + (basic_spanbuf::Operator=(basic_spanbuf&&)): Fix ill-formed + member access. + * testsuite/27_io/spanstream/2.cc: New test. + +2022-01-23 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/floating_from_chars.cc (USE_STRTOD_FOR_FROM_CHARS): + Define macro for case where std::from_chars is implemented in + terms of strtod, strtof or strtold. + (buffer_resource, valid_fmt, find_end_of_float, pattern) + (from_chars_impl, make_result, reserve_string): Do not define + unless USE_STRTOD_FOR_FROM_CHARS is defined. + (from_chars): Define when at least one of USE_LIB_FAST_FLOAT and + USE_STRTOD_FOR_FROM_CHARS is defined, instead of + _GLIBCXX_HAVE_USELOCALE. Use fast_float for long double when it + is binary64. + +2022-01-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104174 + * include/bits/hashtable_policy.h (_Map_base): Add partial + specialization for maps with const key types. + * testsuite/23_containers/unordered_map/104174.cc: New test. + +2022-01-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104019 + * include/bits/shared_ptr_base.h (_Sp_counted_base<>::_M_release): + Set members to zero without type punning. + +2022-01-21 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/shared_ptr/cons/array.cc: Fix comment. + +2022-01-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/87193 + PR libstdc++/104019 + * include/bits/alloc_traits.h (__cpp_lib_allocator_traits_is_always_equal): + Define as type long. + * include/bits/allocator.h (__cpp_lib_incomplete_container_elements): + Likewise. + * include/bits/basic_string.h (__cpp_lib_string_udls): Likewise. + * include/bits/chrono.h (__cpp_lib_chrono): Likewise. + (__cpp_lib_chrono_udls): Likewise. + * include/bits/move.h (__cpp_lib_addressof_constexpr): Likewise. + * include/bits/node_handle.h (__cpp_lib_node_extract): Likewise. + * include/bits/range_access.h (__cpp_lib_nonmember_container_access): + Likewise. + * include/bits/shared_ptr.h (__cpp_lib_enable_shared_from_this): + Likewise. + * include/bits/stl_algo.h (__cpp_lib_clamp): Likewise. + (__cpp_lib_sample): Likewise. + * include/bits/stl_algobase.h (__cpp_lib_robust_nonmodifying_seq_ops): + Likewise. + * include/bits/stl_function.h (__cpp_lib_transparent_operators): + Likewise. + * include/bits/stl_iterator.h (__cpp_lib_make_reverse_iterator): + Likewise. + * include/bits/stl_map.h (__cpp_lib_map_try_emplace): + Likewise. + * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup): + Likewise. + * include/bits/unique_ptr.h (__cpp_lib_make_unique): + Likewise. + * include/bits/unordered_map.h (__cpp_lib_unordered_map_try_emplace): + Likewise. + * include/c_global/cmath (__cpp_lib_hypot): Likewise. + * include/c_global/cstddef (__cpp_lib_byte): Likewise. + * include/std/atomic (__cpp_lib_atomic_is_always_lock_free): + Likewise. + * include/std/complex (__cpp_lib_complex_udls): Likewise. + * include/std/filesystem (__cpp_lib_filesystem): Likewise. + * include/std/functional (__cpp_lib_not_fn): Likewise. + (__cpp_lib_boyer_moore_searcher): Likewise. + * include/std/iomanip (__cpp_lib_quoted_string_io): Likewise. + * include/std/mutex (__cpp_lib_scoped_lock): Likewise. + * include/std/numeric (__cpp_lib_gcd_lcm): Likewise. + (__cpp_lib_gcd, __cpp_lib_lcm): Likewise. + * include/std/tuple (__cpp_lib_apply): Likewise. + (__cpp_lib_make_from_tuple): Likewise. + * include/std/type_traits (__cpp_lib_integral_constant_callable) + (__cpp_lib_bool_constant, __cpp_lib_logical_traits) + (__cpp_lib_is_null_pointer, __cpp_lib_transformation_trait_aliases) + (__cpp_lib_result_of_sfinae, __cpp_lib_void_t) + (__cpp_lib_is_swappable, __cpp_lib_is_invocable) + (__cpp_lib_has_unique_object_representations) + (__cpp_lib_is_aggregate): Likewise. + * include/std/version: Likewise. + * libsupc++/new (__cpp_lib_launder): Likewise. + +2022-01-21 Jonathan Wakely <jwakely@redhat.com> + + * include/std/version (__cpp_lib_shared_ptr_arrays): Fix + condition for C++17 definition. + +2022-01-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count): + Add constexpr. + (_Sp_atomic::_M_ptr): Add default member-initializer. + * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: + Check constant initialization. + * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise. + +2022-01-20 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/cxx11-ios_failure.cc (__constinit): Define as + equivalent attribute for Clang. + * src/c++11/future.cc (__constinit): Likewise. + * src/c++11/system_error.cc (__constinit): Likewise. + * src/c++17/memory_resource.cc (__constinit): Likewise. + +2022-01-20 Jonathan Wakely <jwakely@redhat.com> + + * scripts/testsuite_flags.in: Only add src/filesystem/.libs and + src/libbacktrace/.libs to LDFLAGS if those directories exist. + +2022-01-19 Jonathan Wakely <jwakely@redhat.com> + + * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Remove -gdwarf-4 + from default flags. + * configure: Regenerate. + +2022-01-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104123 + * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Include + <stddef.h>. + +2022-01-19 Jonathan Wakely <jwakely@redhat.com> + + * scripts/testsuite_flags.in: Add src/libbacktrace/.libs to + linker search paths. + * src/Makefile.am: Fix src/debug/libbacktrace build. + * src/Makefile.in: Regenerate. + * src/libbacktrace/Makefile.am: Use per-library CPPFLAGS + variable. Use symlinks for the source files. + * src/libbacktrace/Makefile.in: Regenerate. + +2022-01-19 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd.h (__floating_point_flags): Do + not rely on math_errhandling to expand to a constant expression. + +2022-01-19 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/evolution.xml: Document deprecations. + * doc/xml/manual/status_cxx2017.xml: Update status. + * doc/html/*: Regenerate. + +2022-01-19 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_tempbuf.h (get_temporary_buffer): Change + _GLIBCXX14_DEPRECATED to _GLIBCXX17_DEPRECATED. + +2022-01-19 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_pair.h (_PCC::_DeprConsPair): Remove unused + function. + +2022-01-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104101 + * include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count::lock): + Only use __thread_relax if __cpp_lib_atomic_wait is defined. + +2022-01-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104099 + * include/bits/basic_string.h (basic_string(nullptr_t)): Only + define for C++23. + (operator=(nullptr_t)): Likewise. + * include/bits/cow_string.h: Likewise. + * include/std/string_view (basic_string_view(nullptr_t)): + Likewise. + * testsuite/21_strings/basic_string/cons/char/nullptr.cc: Adjust + expected error. Add examples that become ill-formed in C++23. + * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: + Adjust expected errors. + * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc: + Likewise. + +2022-01-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104098 + * include/bits/stl_iterator.h (reverse_iterator): Check + __cpp_lib_concepts instead of __cplusplus. + +2022-01-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/101124 + * include/bits/stl_pair.h (pair): Adjust constraints on + deprecated constructors accepting literal zero as null pointer + constant. Improve wording of deprecated attribute. + * testsuite/20_util/pair/cons/99957.cc: Check that deprecated + constructors do not cause ambiguities for copyable types. + +2022-01-18 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_function.h (ptr_fun): Fix suggestion for + non-deprecated alternative. + +2022-01-18 Tom Honermann <tom@honermann.net> + + * acinclude.m4: Define config macros if uchar.h provides + c8rtomb() and mbrtoc8(). + * config.h.in: Regenerate. + * configure: Regenerate. + * include/c_compatibility/uchar.h (c8rtomb, mbrtoc8): Define. + * include/c_global/cuchar (c8rtomb, mbrtoc8): Likewise. + * include/c_std/cuchar (c8rtomb, mbrtoc8): Likewise. + * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc: + New test. + * testsuite/21_strings/headers/cuchar/functions_std_fchar8_t.cc: + New test. + +2022-01-18 Jonathan Wakely <jwakely@redhat.com> + + * include/Makefile.am: Install new header. + * include/Makefile.in: Regenerate. + * include/c_compatibility/stdatomic.h: New file. + * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: New test. + +2022-01-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104080 + * src/c++17/fast_float/LOCAL_PATCHES: Update. + * src/c++17/fast_float/fast_float.h (FASTFLOAT_IS_BIG_ENDIAN): + Define in terms of __BYTE_ORDER__. + +2022-01-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104080 + * src/c++17/fast_float/LOCAL_PATCHES: UPDATE. + * src/c++17/fast_float/fast_float.h (round): Use explicit + template argument list for std::min. + +2022-01-18 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/status_cxx2017.xml: Update C++17 status. + * doc/xml/manual/status_cxx2020.xml: Use 12.1 instead of 12 for + upcoming release. + * doc/html/manual/status.html: Regenerate. + +2022-01-18 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): Improve + comments. + * configure: Regenerate. + +2022-01-17 Patrick Palka <ppalka@redhat.com> + + * src/c++17/floating_from_chars.cc: (USE_LIB_FAST_FLOAT): + Conditionally define, and use it to conditionally include + fast_float. + (from_chars): Use fast_float for float and double when + USE_LIB_FAST_FLOAT. + +2022-01-17 Patrick Palka <ppalka@redhat.com> + + * src/c++17/fast_float/LOCAL_PATCHES: Update. + * src/c++17/fast_float/fast_float.h (from_chars_advanced): In + case of over/underflow, return errc::result_out_of_range and don't + modify 'value'. + +2022-01-17 Patrick Palka <ppalka@redhat.com> + + * src/c++17/fast_float/LOCAL_PATCHES: Update. + * src/c++17/fast_float/fast_float.h: Apply local modifications. + +2022-01-17 Patrick Palka <ppalka@redhat.com> + + * src/c++17/fast_float/LOCAL_PATCHES: New file. + * src/c++17/fast_float/MERGE: New file. + * src/c++17/fast_float/README.md: New file, copied from the + fast_float repository. + * src/c++17/fast_float/fast_float.h: New file, an amalgamation + of the fast_float library. + +2022-01-17 Patrick Palka <ppalka@redhat.com> + + * src/c++17/floating_from_chars.cc: Include <bit>. + (ascii_to_hexit, starts_with_ci): Conditionally define. + (__floating_from_chars_hex): Conditionally define. + (from_chars): Use __floating_from_chars_hex for + chars_format::hex parsing of binary32/64 float/double. + (testsuite/20_util/from_chars/7.cc): New test. + * testsuite/20_util/from_chars/7.cc: New file. + +2022-01-17 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): New macro. + * configure.ac: Use GLIBCXX_ENABLE_BACKTRACE. + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/std/stacktrace: New header. + * include/std/version (__cpp_lib_stacktrace): Define. + * Makefile.in: Regenerate. + * config.h.in: Regenerate. + * configure: Regenerate. + * doc/Makefile.in: Regenerate. + * libsupc++/Makefile.in: Regenerate. + * po/Makefile.in: Regenerate. + * python/Makefile.in: Regenerate. + * src/Makefile.am: Regenerate. + * src/Makefile.in: Regenerate. + * src/c++11/Makefile.in: Regenerate. + * src/c++17/Makefile.in: Regenerate. + * src/c++20/Makefile.in: Regenerate. + * src/c++98/Makefile.in: Regenerate. + * src/filesystem/Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + * src/libbacktrace/Makefile.am: New file. + * src/libbacktrace/Makefile.in: New file. + * src/libbacktrace/backtrace-rename.h: New file. + * src/libbacktrace/backtrace-supported.h.in: New file. + * src/libbacktrace/config.h.in: New file. + * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): + New proc. + * testsuite/20_util/stacktrace/entry.cc: New test. + * testsuite/20_util/stacktrace/synopsis.cc: New test. + * testsuite/20_util/stacktrace/version.cc: New test. + +2022-01-17 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/status_cxx2020.xml: Use final C++20 option + names. + * doc/html/manual/status.html: Regenerate. + +2022-01-17 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103650 + * include/Makefile.am: Rename LT_OBJDIR and STDC_HEADERS. + * include/Makefile.in: Regenerate. + * testsuite/17_intro/headers/c++1998/103650.cc: New test. + +2022-01-17 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd.h (__floating_point_flags): Do + not rely on the presence of the math_errhandling macro. + +2022-01-17 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/shared_ptr_atomic.h (_Sp_atomic): Add typename + to qualified-id for dependent type. + +2022-01-17 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/status_cxx2020.xml: Update. + * doc/html/manual/status.html: Regenerate. + +2022-01-17 Jonathan Wakely <jwakely@redhat.com> + Thomas Rodgers <trodgers@redhat.com> + + * include/bits/shared_ptr_atomic.h (__cpp_lib_atomic_shared_ptr): + New macro. + (_Sp_atomic): New class template. + (atomic<shared_ptr<T>>, atomic<weak_ptr<T>>): New partial + specializations. + * include/bits/shared_ptr_base.h (__shared_count, __weak_count) + (__shared_ptr, __weak_ptr): Declare _Sp_atomic as a friend. + * include/std/version (__cpp_lib_atomic_shared_ptr): New macro. + * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: New + test. + * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: New test. + +2022-01-15 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd.h: Move feature detection bools + and add __have_avx512bitalg, __have_avx512vbmi2, + __have_avx512vbmi, __have_avx512ifma, __have_avx512cd, + __have_avx512vnni, __have_avx512vpopcntdq. + (__detail::__machine_flags): New function which returns a unique + uint64 depending on relevant -m and -f flags. + (__detail::__odr_helper): New type alias for either an anonymous + type or a type specialized with the __machine_flags number. + (_SimdIntOperators): Change template parameters from _Impl to + _Tp, _Abi because _Impl now has an __odr_helper parameter which + may be _OdrEnforcer from the anonymous namespace, which makes + for a bad base class. + (many): Either add __odr_helper template parameter or mark as + always_inline. + * include/experimental/bits/simd_detail.h: Add defines for + AVX512BITALG, AVX512VBMI2, AVX512VBMI, AVX512IFMA, AVX512CD, + AVX512VNNI, AVX512VPOPCNTDQ, and AVX512VP2INTERSECT. + * include/experimental/bits/simd_builtin.h: Add __odr_helper + template parameter or mark as always_inline. + * include/experimental/bits/simd_fixed_size.h: Ditto. + * include/experimental/bits/simd_math.h: Ditto. + * include/experimental/bits/simd_scalar.h: Ditto. + * include/experimental/bits/simd_neon.h: Add __odr_helper + template parameter. + * include/experimental/bits/simd_ppc.h: Ditto. + * include/experimental/bits/simd_x86.h: Ditto. + +2022-01-14 Uroš Bizjak <ubizjak@gmail.com> + + * testsuite/22_locale/numpunct/members/char/3.cc: + Require pt_PT locale instead of nl_NL. + (test02): Use pt_PT locale instead of nl_NL. + +2022-01-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/91260 + PR libstdc++/91383 + PR libstdc++/95065 + * include/backward/binders.h (bind1st, bind2nd): Add deprecated + attribute. + * include/bits/refwrap.h (_Maybe_unary_or_binary_function): + Disable deprecated warnings for base classes. + (_Reference_wrapper_base): Likewise. + * include/bits/shared_ptr_base.h (_Sp_owner_less): Likewise. + * include/bits/stl_bvector.h (_Bit_iterator_base): Likewise. + * include/bits/stl_function.h (unary_function, binary_function): + Add deprecated attribute. + (unary_negate, not1, binary_negate, not2, ptr_fun) + (pointer_to_unary_function, pointer_to_binary_function) + (mem_fun_t, const_mem_fun_t, mem_fun_ref_t, const_mem_fun_ref_t) + (mem_fun1_t, const_mem_fun1_t, mem_fun_ref1_t) + (const_mem_fun1_ref_t, mem_fun, mem_fun_ref): Add deprecated + attributes. + * include/bits/stl_iterator.h: Disable deprecated warnings for + std::iterator base classes. + * include/bits/stl_iterator_base_types.h (iterator): Add + deprecated attribute. + * include/bits/stl_map.h (map::value_compare): Disable + deprecated warnings for base class. + * include/bits/stl_multimap.h (multimap::value_compare): + Likewise. + * include/bits/stl_raw_storage_iter.h (raw_storage_iterator): + Add deprecated attribute. + * include/bits/stl_tempbuf.h (get_temporary_buffer): Likewise. + * include/bits/stream_iterator.h: Disable deprecated warnings. + * include/bits/streambuf_iterator.h: Likewise. + * include/ext/bitmap_allocator.h: Remove unary_function base + classes. + * include/ext/functional: Disable deprecated warnings. + * include/ext/rope: Likewise. + * include/ext/throw_allocator.h: Likewise. + * include/std/type_traits (result_of): Add deprecated attribute. + * include/tr1/functional: Disable deprecated warnings. + * include/tr1/functional_hash.h: Likewise. + * testsuite/20_util/function_objects/binders/1.cc: Add + -Wno-disable-deprecations. + * testsuite/20_util/function_objects/binders/3113.cc: Likewise. + * testsuite/20_util/function_objects/constexpr.cc: Add + dg-warning. + * testsuite/20_util/raw_storage_iterator/base.cc: Likewise. + * testsuite/20_util/raw_storage_iterator/dr2127.cc: Likewise. + * testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc: + Likewise. + * testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/reference_wrapper/24803.cc: + Likewise. + * testsuite/20_util/reference_wrapper/typedefs.cc: Enable for + C++20 and check for absence of nested types. + * testsuite/20_util/shared_ptr/comparison/less.cc: Remove + std::binary_function base class. + * testsuite/20_util/temporary_buffer.cc: Add dg-warning. + * testsuite/21_strings/basic_string/cons/char/69092.cc: Remove + std::iterator base class. + * testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/24_iterators/insert_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/24_iterators/istream_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/24_iterators/istreambuf_iterator/92285.cc: + Likewise. + * testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc: + Likewise. + * testsuite/25_algorithms/copy/34595.cc: + Likewise. + * testsuite/25_algorithms/minmax/3.cc: Remove std::binary_function + base class. + * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc: + Disable deprecated warnings. + * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc: + Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Add + dg-warning. + * testsuite/ext/pb_ds/example/priority_queue_erase_if.cc: + Likewise. + * testsuite/ext/pb_ds/example/priority_queue_split_join.cc: + Likewise. + * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc: + Disable deprecated warnings. + * testsuite/tr1/6_containers/hash/requirements/base_classes.cc: + Likewise. + * testsuite/util/regression/trait/erase_if_fn.hpp: Remove + std::unary_function base classes. + * testsuite/util/testsuite_iterators.h (output_iterator_wrapper): + Remove std::iterator base classes. + +2022-01-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/shared_ptr.h (__cpp_lib_shared_ptr_weak_type): + Correct type of macro value. + (shared_ptr): Add additional friend declarations. + (make_shared, allocate_shared): Constrain existing overloads and + remove static_assert. + * include/bits/shared_ptr_base.h (__cpp_lib_smart_ptr_for_overwrite): + New macro. + (_Sp_counted_ptr_inplace<T, Alloc, Lp>): New partial + specialization for use with make_shared_for_overwrite. + (__cpp_lib_shared_ptr_arrays): Update value for C++20. + (_Sp_counted_array_base): New class template. + (_Sp_counted_array): New class template. + (__shared_count(_Tp*&, const _Sp_counted_array_base&, _Init)): + New constructor for allocating shared arrays. + (__shared_ptr(const _Sp_counted_array_base&, _Init)): Likewise. + * include/std/version (__cpp_lib_shared_ptr_weak_type): Correct + type. + (__cpp_lib_shared_ptr_arrays): Update value for C++20. + (__cpp_lib_smart_ptr_for_overwrite): New macro. + * testsuite/20_util/shared_ptr/creation/99006.cc: Adjust + expected errors. + * testsuite/20_util/shared_ptr/creation/array.cc: New test. + * testsuite/20_util/shared_ptr/creation/overwrite.cc: New test. + * testsuite/20_util/shared_ptr/creation/version.cc: New test. + * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Check + feature test macro. Test non-trivial default-initialization. + +2022-01-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_construct.h (_Construct, _Construct_novalue): + Also cast away cv-qualifiers when converting pointer to void. + * testsuite/20_util/allocator/void.cc: Test construct function + with cv-qualified types. + +2022-01-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103992 + * include/bits/stl_iterator.h (common_iterator): Use + std::construct_at instead of placement new. + * testsuite/24_iterators/common_iterator/1.cc: Check copy + construction is usable in constant expressions. + +2022-01-14 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/status_cxx2011.xml: Document new tokens + accepted by std::random_device constructor. + * doc/html/manual/status.html: Regenerate. + +2022-01-12 Patrick Palka <ppalka@redhat.com> + + * testsuite/20_util/to_chars/103955.cc: Add explicit dg-do + directive. + +2022-01-12 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/103955 + * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): + Track the excess precision separately from the effective + precision. Avoid overflow in bounds check by splitting it into + two checks. + (__floating_to_chars_precision): Avoid overflow in bounds checks + similarly. + * testsuite/20_util/to_chars/103955.cc: New test. + +2022-01-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103726 + * include/Makefile.am: Install <source_location> for + freestanding. + * include/Makefile.in: Regenerate. + * include/std/version (__cpp_lib_source_location): Define for + freestanding. + +2022-01-11 Jonathan Wakely <jwakely@redhat.com> + + * include/std/ranges (ranges::lazy_split_view::_InnerIter::end()): + Add neoxcept (LWG 3593). + +2022-01-11 Jonathan Wakely <jwakely@redhat.com> + + * include/std/ranges (ranges::__detail::__box): Add constexpr to + assignment operators (LWG 3572). + * testsuite/std/ranges/adaptors/filter.cc: Check assignment of a + view that uses copyable-box. + +2022-01-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103726 + * include/Makefile.am: Install <coroutine> for freestanding. + * include/Makefile.in: Regenerate. + * include/std/coroutine: Adjust headers and preprocessor + conditions. + (__coroutine_traits_impl): Use concepts when available. + [_GLIBCXX_HOSTED] (hash<coroutine_handle>): Define. + +2022-01-11 Jonathan Wakely <jwakely@redhat.com> + + * include/std/ostream (operator<<(basic_ostream&, charT)): + Use unformatted input if no padding is needed. + (operator<<(basic_ostream<char>&, char)): Likewise. + +2022-01-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103891 + * include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS): + Define. + * include/std/variant (__cpp_lib_variant): Only define C++20 + value when the compiler is known to support conditionally + trivial destructors. + * include/std/version (__cpp_lib_variant): Likewise. + +2022-01-11 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_iterator.h (common_iterator): Add constexpr + to all member functions (LWG 3574). + * testsuite/24_iterators/common_iterator/1.cc: Evaluate some + tests as constant expressions. + * testsuite/24_iterators/common_iterator/2.cc: Likewise. + +2022-01-10 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/77760 + * include/bits/locale_facets_nonio.h (__time_get_state): New struct. + (time_get::_M_extract_via_format): Declare new method with + __time_get_state& as an extra argument. + * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Add + __state argument, set various fields in it while parsing. Handle %j, + %U, %w and %W, fix up handling of %y, %Y and %C, don't adjust tm_hour + for %p immediately. Add a wrapper around the method without the + __state argument for backwards compatibility. + (_M_extract_num): Remove all __len == 4 special cases. + (time_get::do_get_time, time_get::do_get_date, time_get::do_get): Zero + initialize __state, pass it to _M_extract_via_format and finalize it + at the end. + (do_get_year): For 1-2 digit parsed years, map 0-68 to 2000-2068, + 69-99 to 1969-1999. For 3-4 digit parsed years use that as year. + (get): If do_get isn't overloaded from the locale_facets_nonio.tcc + version, don't call do_get but call _M_extract_via_format instead to + pass around state. + * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_extract_via_format + with extra __time_get_state and __time_get_state::_M_finalize_state. + * src/c++98/locale_facets.cc (is_leap, day_of_the_week, + day_of_the_year): New functions in anon namespace. + (mon_yday): New var in anon namespace. + (__time_get_state::_M_finalize_state): Define. + * testsuite/22_locale/time_get/get/char/4.cc: New test. + * testsuite/22_locale/time_get/get/wchar_t/4.cc: New test. + * testsuite/22_locale/time_get/get_year/char/1.cc (test01): Parse 197 + as year 197AD instead of error. + * testsuite/22_locale/time_get/get_year/char/5.cc (test01): Parse 1 as + year 2001 instead of error. + * testsuite/22_locale/time_get/get_year/char/6.cc: New test. + * testsuite/22_locale/time_get/get_year/wchar_t/1.cc (test01): Parse + 197 as year 197AD instead of error. + * testsuite/22_locale/time_get/get_year/wchar_t/5.cc (test01): Parse + 1 as year 2001 instead of error. + * testsuite/22_locale/time_get/get_year/wchar_t/6.cc: New test. + +2022-01-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103866 + * acinclude.m4 (GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS): Do + nothing for freestanding builds. + (GLIBCXX_ENABLE_HOSTED): Define FREESTANDING_FLAGS. + * configure.ac: Do not use AC_LIBTOOL_DLOPEN when configured + with --without-headers. Do not use GCC_HEADER_STDINT for + freestanding builds. + * libsupc++/Makefile.am (HOSTED_CXXFLAGS): Use -ffreestanding + for freestanding builds. + * configure: Regenerate. + * Makefile.in: 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++20/Makefile.in: Regenerate. + * src/c++98/Makefile.in: Regenerate. + * src/filesystem/Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + +2022-01-10 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/28_regex/algorithms/regex_replace/char/103664.cc: + Add dg-timeout-factor directive. + * testsuite/28_regex/basic_regex/84110.cc: Likewise. + * testsuite/28_regex/basic_regex/ctors/char/other.cc: Likewise. + * testsuite/28_regex/match_results/102667.cc: Likewise. + +2022-01-10 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/using.xml: Update documentation around default + -std option. + * doc/html/*: Regenerate. + +2022-01-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/100017 + * src/c++17/Makefile.am (AM_CXXFLAGS): Add -nostdinc++. + * src/c++17/Makefile.in: Regenerate. + +2022-01-09 Sandra Loosemore <sandra@codesourcery.com> + + * testsuite/18_support/type_info/constexpr.cc: Add explicit + -fdelete-null-pointer-checks option. + +2022-01-06 Pavel I. Kryukov <pavel.kryukov@phystech.edu> + Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103853 + * include/bits/forward_list.tcc (forward_list::merge): Check for + self-merge. + * testsuite/23_containers/forward_list/operations/merge.cc: New test. + +2022-01-06 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/regex.h (basic_regex, match_results): Qualify + name in friend declaration, to work around Clang bug. + +2022-01-06 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/ext/rope/pthread7-rope.cc: Add dg-timeout-factor. + +2022-01-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103911 + * include/std/charconv (__from_chars_alpha_to_num): Return + char instead of unsigned char. Change invalid return value to + 127 instead of using numeric trait. + (__from_chars_alnum): Fix comment. Do not use std::isdigit. + Change type of variable to char. + +2022-01-05 François Dumont <fdumont@gcc.gnu.org> + + PR libstdc++/68303 + * include/bits/hashtable_policy.h + (_Hashtable_hash_traits<_Hash>): New. + (_Hash_code_base<>::_M_hash_code(const _Hash_node_value<>&)): New. + (_Hashtable_base<>::_M_key_equals): New. + (_Hashtable_base<>::_M_equals): Use latter. + (_Hashtable_base<>::_M_key_equals_tr): New. + (_Hashtable_base<>::_M_equals_tr): Use latter. + * include/bits/hashtable.h + (_Hashtable<>::__small_size_threshold()): New, use _Hashtable_hash_traits. + (_Hashtable<>::find): Loop through elements to look for key if size is lower + than __small_size_threshold(). + (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise. + (_Hashtable<>::_M_insert_unique(_Kt&&, _Args&&, const _NodeGenerator&)): Likewise. + (_Hashtable<>::_M_compute_hash_code(const_iterator, const key_type&)): New. + (_Hashtable<>::_M_emplace(const_iterator, false_type, _Args&&...)): Use latter. + (_Hashtable<>::_M_find_before_node(const key_type&)): New. + (_Hashtable<>::_M_erase(true_type, const key_type&)): Use latter. + (_Hashtable<>::_M_erase(false_type, const key_type&)): Likewise. + * src/c++11/hashtable_c++0x.cc: Include <bits/functional_hash.h>. + * testsuite/util/testsuite_performance.h + (report_performance): Use 9 width to display memory. + * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc: + New performance test case. + +2022-01-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103919 + * include/bits/basic_string.h (basic_string(const T&, size_t, size_t)): + Relax constraints on string_view parameter. + * include/bits/cow_string.h (basic_string(const T&, size_t, size_t)): + Likewise. + * testsuite/21_strings/basic_string/cons/char/103919.cc: New test. + +2022-01-05 Jonathan Wakely <jwakely@redhat.com> + + * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export new symbol for + ARM EABI. + * include/bits/c++config (_GLIBCXX23_CONSTEXPR): Define. + * include/std/version (__cpp_lib_constexpr_typeinfo): Define. + * libsupc++/tinfo.cc: Add #error to ensure non-inline definition + is emitted. + (type_info::__equal): Define alias symbol. + * libsupc++/typeinfo (type_info::before): Combine different + implementations into one. + (type_info::operator==): Likewise. Use address equality for + constant evaluation. Call __equal for targets that require the + definition to be non-inline. + * testsuite/18_support/type_info/constexpr.cc: New test. + +2022-01-05 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/cxx11-ios_failure.cc (io_error_category): Define + class and virtual functions as 'final'. + (io_category_instance): Use constinit union to make the object + immortal. + * src/c++11/future.cc (future_error_category): Define class and + virtual functions as 'final'. + (future_category_instance): Use constinit union. + +2022-01-05 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Strip + versioned namespace from the type name that is printed. + +2022-01-05 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (StdRegexStatePrinter): New + printer for std::regex NFA states. + +2022-01-05 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/forward_list/operations/1.cc: Fill in + placeholders in comments. + * testsuite/23_containers/forward_list/operations/2.cc: + Likewise. + * testsuite/23_containers/forward_list/operations/3.cc: + Likewise. + * testsuite/23_containers/forward_list/operations/4.cc: + Likewise. + * testsuite/23_containers/forward_list/operations/5.cc: + Likewise. + * testsuite/23_containers/forward_list/operations/6.cc: + Likewise. + * testsuite/23_containers/forward_list/operations/7.cc: + Likewise. + +2022-01-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103848 + * include/bits/stl_deque.h (operator-): Do not use 0 as null + pointer constant. + +2022-01-05 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/alloc_traits.h (allocator_traits<allocator<void>>): + Use std::_Construct for construct. + +2022-01-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103877 + * doc/xml/faq.xml: Add '-x c++' to preprocessor command. + * doc/html/faq.html: Regenerate. + +2022-01-05 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/regex.h (__regex_algo_impl): Change __policy and + __match_mode template parameters to be function parameters. + (regex_match, regex_search): Pass policy and match mode as + function arguments. + * include/bits/regex.tcc (__regex_algo_impl): Change template + parameters to function parameters. + * include/bits/regex_compiler.h (_RegexTranslatorBase): Use + 'if constexpr' for conditions using template parameters. + (_RegexTranslator): Likewise. + * include/bits/regex_executor.tcc (_Executor::_M_handle_accept): + Likewise. + * testsuite/util/testsuite_regex.h (regex_match_debug) + (regex_search_debug): Move template arguments to function + arguments. + +2022-01-05 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/util/testsuite_regex.h (regex_match_debug): Compare + results even if the match failed. + +2022-01-05 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/regex_compiler.tcc: Adjust all calls to + __throw_regex_error. + * include/bits/regex_error.h (__throw_regex_error): Add noreturn + attribute. + * include/bits/regex_scanner.tcc: Likewise. + * src/c++11/regex.cc (desc): New helper function. + (regex_error::regex_error(error_type)): Use desc to get a string + corresponding to the error code. + + +Copyright (C) 2022 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved.