From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id 916313858C66; Thu, 7 Sep 2023 00:17:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 916313858C66 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1694045876; bh=9aQx+OI7gTuVgwcCwC3rNzU/alhb5bji/g/QEFWDHPc=; h=From:To:Subject:Date:From; b=rS2YElsQPEahIguVePnaMAEQhBhfgUE+WGz4BO4qv5Fl+4RIKjdxrB4WV6mGEiyYu 2PtVXCTojVxSQVmIm+ltDZs2P78yK7OdYeDsQ8bb0wAQAX9dzwlJFQ70yuo1ihjBcP 6qz05By90RXr0Hdi1oszSJE9WuJnM+gyLAoi+lKw= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" From: GCC Administrator To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r14-3763] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: e4775af423a590947a10429b9fa889f5d3d41d40 X-Git-Newrev: a134b6ce8e5c589f8c1b58cdf124cd4a916b0e8c Message-Id: <20230907001756.916313858C66@sourceware.org> Date: Thu, 7 Sep 2023 00:17:56 +0000 (GMT) List-Id: https://gcc.gnu.org/g:a134b6ce8e5c589f8c1b58cdf124cd4a916b0e8c commit r14-3763-ga134b6ce8e5c589f8c1b58cdf124cd4a916b0e8c Author: GCC Administrator Date: Thu Sep 7 00:17:36 2023 +0000 Daily bump. Diff: --- gcc/ChangeLog | 310 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/analyzer/ChangeLog | 29 +++++ gcc/c-family/ChangeLog | 52 ++++++++ gcc/c/ChangeLog | 44 +++++++ gcc/cp/ChangeLog | 5 + gcc/testsuite/ChangeLog | 268 +++++++++++++++++++++++++++++++++++++++++ libcpp/ChangeLog | 12 ++ libgcc/ChangeLog | 66 +++++++++++ libstdc++-v3/ChangeLog | 6 + 10 files changed, 793 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 08705e1aafef..1797b17a7e99 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,313 @@ +2023-09-06 Ian Lance Taylor + + PR go/111310 + * godump.cc (go_format_type): Handle BITINT_TYPE. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * tree.cc (build_one_cst, build_minus_one_cst): Handle BITINT_TYPE + like INTEGER_TYPE. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * gimple-lower-bitint.cc (bitint_large_huge::if_then_else, + bitint_large_huge::if_then_if_then_else): Use make_single_succ_edge + rather than make_edge, initialize bb->count. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * doc/libgcc.texi (Bit-precise integer arithmetic functions): + Document general rules for _BitInt support library functions + and document __mulbitint3 and __divmodbitint4. + (Conversion functions): Document __fix{s,d,x,t}fbitint, + __floatbitint{s,d,x,t,h,b}f, __bid_fix{s,d,t}dbitint and + __bid_floatbitint{s,d,t}d. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * glimits.h (BITINT_MAXWIDTH): Define if __BITINT_MAXWIDTH__ is + predefined. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * internal-fn.cc (expand_ubsan_result_store): Add LHS, MODE and + DO_ERROR arguments. For non-mode precision BITINT_TYPE results + check if all padding bits up to mode precision are zeros or sign + bit copies and if not, jump to DO_ERROR. + (expand_addsub_overflow, expand_neg_overflow, expand_mul_overflow): + Adjust expand_ubsan_result_store callers. + * ubsan.cc: Include target.h and langhooks.h. + (ubsan_encode_value): Pass BITINT_TYPE values which fit into pointer + size converted to pointer sized integer, pass BITINT_TYPE values + which fit into TImode (if supported) or DImode as those integer types + or otherwise for now punt (pass 0). + (ubsan_type_descriptor): Handle BITINT_TYPE. For pstyle of + UBSAN_PRINT_FORCE_INT use TK_Integer (0x0000) mode with a + TImode/DImode precision rather than TK_Unknown used otherwise for + large/huge BITINT_TYPEs. + (instrument_si_overflow): Instrument BITINT_TYPE operations even when + they don't have mode precision. + * ubsan.h (enum ubsan_print_style): New enumerator. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * config/i386/i386.cc (classify_argument): Handle BITINT_TYPE. + (ix86_bitint_type_info): New function. + (TARGET_C_BITINT_TYPE_INFO): Redefine. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * Makefile.in (OBJS): Add gimple-lower-bitint.o. + * passes.def: Add pass_lower_bitint after pass_lower_complex and + pass_lower_bitint_O0 after pass_lower_complex_O0. + * tree-pass.h (PROP_gimple_lbitint): Define. + (make_pass_lower_bitint_O0, make_pass_lower_bitint): Declare. + * gimple-lower-bitint.h: New file. + * tree-ssa-live.h (struct _var_map): Add bitint member. + (init_var_map): Adjust declaration. + (region_contains_p): Handle map->bitint like map->outofssa_p. + * tree-ssa-live.cc (init_var_map): Add BITINT argument, initialize + map->bitint and set map->outofssa_p to false if it is non-NULL. + * tree-ssa-coalesce.cc: Include gimple-lower-bitint.h. + (build_ssa_conflict_graph): Call build_bitint_stmt_ssa_conflicts if + map->bitint. + (create_coalesce_list_for_region): For map->bitint ignore SSA_NAMEs + not in that bitmap, and allow res without default def. + (compute_optimized_partition_bases): In map->bitint mode try hard to + coalesce any SSA_NAMEs with the same size. + (coalesce_bitint): New function. + (coalesce_ssa_name): In map->bitint mode, or map->bitmap into + used_in_copies and call coalesce_bitint. + * gimple-lower-bitint.cc: New file. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * tree.def (BITINT_TYPE): New type. + * tree.h (TREE_CHECK6, TREE_NOT_CHECK6): Define. + (NUMERICAL_TYPE_CHECK, INTEGRAL_TYPE_P): Include + BITINT_TYPE. + (BITINT_TYPE_P): Define. + (CONSTRUCTOR_BITFIELD_P): Return true even for BLKmode bit-fields if + they have BITINT_TYPE type. + (tree_check6, tree_not_check6): New inline functions. + (any_integral_type_check): Include BITINT_TYPE. + (build_bitint_type): Declare. + * tree.cc (tree_code_size, wide_int_to_tree_1, cache_integer_cst, + build_zero_cst, type_hash_canon_hash, type_cache_hasher::equal, + type_hash_canon): Handle BITINT_TYPE. + (bitint_type_cache): New variable. + (build_bitint_type): New function. + (signed_or_unsigned_type_for, verify_type_variant, verify_type): + Handle BITINT_TYPE. + (tree_cc_finalize): Free bitint_type_cache. + * builtins.cc (type_to_class): Handle BITINT_TYPE. + (fold_builtin_unordered_cmp): Handle BITINT_TYPE like INTEGER_TYPE. + * cfgexpand.cc (expand_debug_expr): Punt on BLKmode BITINT_TYPE + INTEGER_CSTs. + * convert.cc (convert_to_pointer_1, convert_to_real_1, + convert_to_complex_1): Handle BITINT_TYPE like INTEGER_TYPE. + (convert_to_integer_1): Likewise. For BITINT_TYPE don't check + GET_MODE_PRECISION (TYPE_MODE (type)). + * doc/generic.texi (BITINT_TYPE): Document. + * doc/tm.texi.in (TARGET_C_BITINT_TYPE_INFO): New. + * doc/tm.texi: Regenerated. + * dwarf2out.cc (base_type_die, is_base_type, modified_type_die, + gen_type_die_with_usage): Handle BITINT_TYPE. + (rtl_for_decl_init): Punt on BLKmode BITINT_TYPE INTEGER_CSTs or + handle those which fit into shwi. + * expr.cc (expand_expr_real_1): Define EXTEND_BITINT macro, reduce + to bitfield precision reads from BITINT_TYPE vars, parameters or + memory locations. Expand large/huge BITINT_TYPE INTEGER_CSTs into + memory. + * fold-const.cc (fold_convert_loc, make_range_step): Handle + BITINT_TYPE. + (extract_muldiv_1): For BITINT_TYPE use TYPE_PRECISION rather than + GET_MODE_SIZE (SCALAR_INT_TYPE_MODE). + (native_encode_int, native_interpret_int, native_interpret_expr): + Handle BITINT_TYPE. + * gimple-expr.cc (useless_type_conversion_p): Make BITINT_TYPE + to some other integral type or vice versa conversions non-useless. + * gimple-fold.cc (gimple_fold_builtin_memset): Punt for BITINT_TYPE. + (clear_padding_unit): Mention in comment that _BitInt types don't need + to fit either. + (clear_padding_bitint_needs_padding_p): New function. + (clear_padding_type_may_have_padding_p): Handle BITINT_TYPE. + (clear_padding_type): Likewise. + * internal-fn.cc (expand_mul_overflow): For unsigned non-mode + precision operands force pos_neg? to 1. + (expand_MULBITINT, expand_DIVMODBITINT, expand_FLOATTOBITINT, + expand_BITINTTOFLOAT): New functions. + * internal-fn.def (MULBITINT, DIVMODBITINT, FLOATTOBITINT, + BITINTTOFLOAT): New internal functions. + * internal-fn.h (expand_MULBITINT, expand_DIVMODBITINT, + expand_FLOATTOBITINT, expand_BITINTTOFLOAT): Declare. + * match.pd (non-equality compare simplifications from fold_binary): + Punt if TYPE_MODE (arg1_type) is BLKmode. + * pretty-print.h (pp_wide_int): Handle printing of large precision + wide_ints which would buffer overflow digit_buffer. + * stor-layout.cc (finish_bitfield_representative): For bit-fields + with BITINT_TYPE, prefer representatives with precisions in + multiple of limb precision. + (layout_type): Handle BITINT_TYPE. Handle COMPLEX_TYPE with BLKmode + element type and assert it is BITINT_TYPE. + * target.def (bitint_type_info): New C target hook. + * target.h (struct bitint_info): New type. + * targhooks.cc (default_bitint_type_info): New function. + * targhooks.h (default_bitint_type_info): Declare. + * tree-pretty-print.cc (dump_generic_node): Handle BITINT_TYPE. + Handle printing large wide_ints which would buffer overflow + digit_buffer. + * tree-ssa-sccvn.cc: Include target.h. + (eliminate_dom_walker::eliminate_stmt): Punt for large/huge + BITINT_TYPE. + * tree-switch-conversion.cc (jump_table_cluster::emit): For more than + 64-bit BITINT_TYPE subtract low bound from expression and cast to + 64-bit integer type both the controlling expression and case labels. + * typeclass.h (enum type_class): Add bitint_type_class enumerator. + * varasm.cc (output_constant): Handle BITINT_TYPE INTEGER_CSTs. + * vr-values.cc (check_for_binary_op_overflow): Use widest2_int rather + than widest_int. + (simplify_using_ranges::simplify_internal_call_using_ranges): Use + unsigned_type_for rather than build_nonstandard_integer_type. + +2023-09-06 Juzhe-Zhong + + PR target/111296 + * config/riscv/riscv.cc (riscv_modes_tieable_p): Fix incorrect mode + tieable for RVV modes. + +2023-09-06 Juzhe-Zhong + + PR target/111295 + * config/riscv/riscv-vsetvl.cc (insert_vsetvl): Bug fix. + +2023-09-06 Juzhe-Zhong + + * config/riscv/riscv-vector-switch.def (VLS_ENTRY): Remove TARGET_64BIT + +2023-09-06 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.cc (xtensa_expand_scc): + Add code for particular constants (only 0 and INT_MIN for now) + for EQ/NE boolean evaluation in SImode. + * config/xtensa/xtensa.md (*eqne_INT_MIN): Remove because its + implementation has been integrated into the above. + +2023-09-06 Lehua Ding + + PR target/111232 + * config/riscv/autovec-opt.md (@pred_single_widen_mul): + Delete. + (*pred_widen_mulsu): Delete. + (*pred_single_widen_mul): Delete. + (*dual_widen_): + Add new combine patterns. + (*single_widen_sub): Ditto. + (*single_widen_add): Ditto. + (*single_widen_mult): Ditto. + (*dual_widen_mulsu): Ditto. + (*dual_widen_mulus): Ditto. + (*dual_widen_): Ditto. + (*single_widen_add): Ditto. + (*single_widen_sub): Ditto. + (*single_widen_mult): Ditto. + * config/riscv/autovec.md (3): + Change define_expand to define_insn_and_split. + (2): Ditto. + (abs2): Ditto. + (smul3_highpart): Ditto. + (umul3_highpart): Ditto. + +2023-09-06 Lehua Ding + + * config/riscv/riscv-protos.h (riscv_declare_function_name): Add protos. + (riscv_asm_output_alias): Ditto. + (riscv_asm_output_external): Ditto. + * config/riscv/riscv.cc (riscv_asm_output_variant_cc): + Output .variant_cc directive for vector function. + (riscv_declare_function_name): Ditto. + (riscv_asm_output_alias): Ditto. + (riscv_asm_output_external): Ditto. + * config/riscv/riscv.h (ASM_DECLARE_FUNCTION_NAME): + Implement ASM_DECLARE_FUNCTION_NAME. + (ASM_OUTPUT_DEF_FROM_DECLS): Implement ASM_OUTPUT_DEF_FROM_DECLS. + (ASM_OUTPUT_EXTERNAL): Implement ASM_OUTPUT_EXTERNAL. + +2023-09-06 Lehua Ding + + * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls): Pass riscv_cc. + * config/riscv/riscv.cc (struct riscv_frame_info): Add new fileds. + (riscv_frame_info::reset): Reset new fileds. + (riscv_call_tls_get_addr): Pass riscv_cc. + (riscv_function_arg): Return riscv_cc for call patterm. + (get_riscv_cc): New function return riscv_cc from rtl call_insn. + (riscv_insn_callee_abi): Implement TARGET_INSN_CALLEE_ABI. + (riscv_save_reg_p): Add vector callee-saved check. + (riscv_stack_align): Add vector save area comment. + (riscv_compute_frame_info): Ditto. + (riscv_restore_reg): Update for type change. + (riscv_for_each_saved_v_reg): New function save vector registers. + (riscv_first_stack_step): Handle funciton with vector callee-saved registers. + (riscv_expand_prologue): Ditto. + (riscv_expand_epilogue): Ditto. + (riscv_output_mi_thunk): Pass riscv_cc. + (TARGET_INSN_CALLEE_ABI): Implement TARGET_INSN_CALLEE_ABI. + * config/riscv/riscv.h (get_riscv_cc): Export get_riscv_cc function. + * config/riscv/riscv.md: Add CALLEE_CC operand for call pattern. + +2023-09-06 Lehua Ding + + * config/riscv/riscv-protos.h (builtin_type_p): New function for checking vector type. + * config/riscv/riscv-vector-builtins.cc (builtin_type_p): Ditto. + * config/riscv/riscv.cc (struct riscv_arg_info): New fields. + (riscv_init_cumulative_args): Setup variant_cc field. + (riscv_vector_type_p): New function for checking vector type. + (riscv_hard_regno_nregs): Hoist declare. + (riscv_get_vector_arg): Subroutine of riscv_get_arg_info. + (riscv_get_arg_info): Support vector cc. + (riscv_function_arg_advance): Update cum. + (riscv_pass_by_reference): Handle vector args. + (riscv_v_abi): New function return vector abi. + (riscv_return_value_is_vector_type_p): New function for check vector arguments. + (riscv_arguments_is_vector_type_p): New function for check vector returns. + (riscv_fntype_abi): Implement TARGET_FNTYPE_ABI. + (TARGET_FNTYPE_ABI): Implement TARGET_FNTYPE_ABI. + * config/riscv/riscv.h (GCC_RISCV_H): Define macros for vector abi. + (MAX_ARGS_IN_VECTOR_REGISTERS): Ditto. + (MAX_ARGS_IN_MASK_REGISTERS): Ditto. + (V_ARG_FIRST): Ditto. + (V_ARG_LAST): Ditto. + (enum riscv_cc): Define all RISCV_CC variants. + * config/riscv/riscv.opt: Add --param=riscv-vector-abi. + +2023-09-06 Lehua Ding + + * config/riscv/autovec-opt.md (*cond_): + Add sqrt + vcond_mask combine pattern. + * config/riscv/autovec.md (2): + Change define_expand to define_insn_and_split. + +2023-09-06 Jason Merrill + + * common.opt: Update -fabi-version=19. + +2023-09-06 Tsukasa OI + + * config/riscv/zicond.md: Add closing parent to a comment. + +2023-09-06 Tsukasa OI + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Force + large constant cons/alt into a register. + 2023-09-05 Christoph Müllner * config/riscv/riscv.cc (riscv_build_integer_1): Don't diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 5fa6158d6b7c..11df268bc047 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20230906 +20230907 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index c9277bf9581b..12c8578aeb89 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,32 @@ +2023-09-06 David Malcolm + + PR analyzer/105899 + * kf.cc (class kf_strstr): New. + (kf_strstr::impl_call_post): New. + (register_known_functions): Register it. + +2023-09-06 David Malcolm + + PR analyzer/105899 + * kf.cc (class kf_strncpy): New. + (kf_strncpy::impl_call_post): New. + (register_known_functions): Register it. + * region-model.cc (region_model::read_bytes): Handle unknown + number of bytes. + +2023-09-06 David Malcolm + + * kf.cc (kf_calloc::impl_call_pre): Pass ctxt to zero_fill_region. + (kf_memset::impl_call_pre): Move responsibility for calling + check_region_for_write to fill_region. + * region-model.cc (region_model::on_assignment): Pass ctxt to + zero_fill_region. + (region_model::fill_region): Add "ctxt" param, using it to call + check_region_for_write. + (region_model::zero_fill_region): Likewise. + * region-model.h (region_model::fill_region): Add "ctxt" param. + (region_model::zero_fill_region): Likewise. + 2023-09-01 benjamin priour PR analyzer/105948 diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 3559e4ca089d..61720c19400b 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,55 @@ +2023-09-06 Jakub Jelinek + + PR c/102989 + * c-attribs.cc (type_valid_for_vector_size): Reject vector types + with BITINT_TYPE elements even if they have mode precision and + suitable size. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * c-common.cc (c_common_reswords): Add _BitInt as keyword. + (unsafe_conversion_p): Handle BITINT_TYPE like INTEGER_TYPE. + (c_common_signed_or_unsigned_type): Handle BITINT_TYPE. + (c_common_truthvalue_conversion, c_common_get_alias_set, + check_builtin_function_arguments): Handle BITINT_TYPE like + INTEGER_TYPE. + (sync_resolve_size): Add ORIG_FORMAT argument. If + FETCH && !ORIG_FORMAT, type is BITINT_TYPE, return -1 if size isn't + one of 1, 2, 4, 8 or 16 or if it is 16 but TImode is not supported. + (atomic_bitint_fetch_using_cas_loop): New function. + (resolve_overloaded_builtin): Adjust sync_resolve_size caller. If + -1 is returned, use atomic_bitint_fetch_using_cas_loop to lower it. + Formatting fix. + (keyword_begins_type_specifier): Handle RID_BITINT. + * c-common.h (enum rid): Add RID_BITINT enumerator. + * c-cppbuiltin.cc (c_cpp_builtins): For C call + targetm.c.bitint_type_info and predefine __BITINT_MAXWIDTH__ + and for -fbuilding-libgcc also __LIBGCC_BITINT_LIMB_WIDTH__ and + __LIBGCC_BITINT_ORDER__ macros if _BitInt is supported. + * c-lex.cc (interpret_integer): Handle CPP_N_BITINT. + * c-pretty-print.cc (c_pretty_printer::simple_type_specifier, + c_pretty_printer::direct_abstract_declarator, + c_pretty_printer::direct_declarator, c_pretty_printer::declarator): + Handle BITINT_TYPE. + (pp_c_integer_constant): Handle printing of large precision wide_ints + which would buffer overflow digit_buffer. + * c-warn.cc (conversion_warning, warnings_for_convert_and_check, + warnings_for_convert_and_check): Handle BITINT_TYPE like + INTEGER_TYPE. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * c-ubsan.cc (ubsan_instrument_shift): Use UBSAN_PRINT_FORCE_INT + for type0 type descriptor. + +2023-09-06 Jakub Jelinek + + * c-lex.cc (interpret_float): For C diagnostics on FN and FNx suffixes + append " before C2X" to diagnostics text and follow behavior of + pedwarn_c11. + 2023-09-01 Jakub Jelinek PR c++/111069 diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index b43d96a4f24b..32d133b07631 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,47 @@ +2023-09-06 Jakub Jelinek + + PR c/102989 + * c-decl.cc (finish_declspecs): Emit pedwarn_c11 on _BitInt. + * c-typeck.cc (c_common_type): Emit sorry for common type between + _Complex integer and larger _BitInt and return the _Complex integer. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * c-convert.cc (c_convert): Handle BITINT_TYPE like INTEGER_TYPE. + * c-decl.cc (check_bitfield_type_and_width): Allow BITINT_TYPE + bit-fields. + (finish_struct): Prefer to use BITINT_TYPE for BITINT_TYPE bit-fields + if possible. + (declspecs_add_type): Formatting fixes. Handle cts_bitint. Adjust + for added union in *specs. Handle RID_BITINT. + (finish_declspecs): Handle cts_bitint. Adjust for added union + in *specs. + * c-parser.cc (c_keyword_starts_typename, c_token_starts_declspecs, + c_parser_declspecs, c_parser_gnu_attribute_any_word): Handle + RID_BITINT. + (c_parser_omp_clause_schedule): Handle BITINT_TYPE like INTEGER_TYPE. + * c-tree.h (enum c_typespec_keyword): Mention _BitInt in comment. + Add cts_bitint enumerator. + (struct c_declspecs): Move int_n_idx and floatn_nx_idx into a union + and add bitint_prec there as well. + * c-typeck.cc (c_common_type, comptypes_internal): + Handle BITINT_TYPE. + (perform_integral_promotions): Promote BITINT_TYPE bit-fields to + their declared type. + (build_array_ref, build_unary_op, build_conditional_expr, + build_c_cast, convert_for_assignment, digest_init, build_binary_op): + Handle BITINT_TYPE. + * c-fold.cc (c_fully_fold_internal): Handle BITINT_TYPE like + INTEGER_TYPE. + * c-aux-info.cc (gen_type): Handle BITINT_TYPE. + +2023-09-06 Jakub Jelinek + + * c-decl.cc (declspecs_add_type): Use pedwarn_c11 rather than pedwarn + for _FloatN{,x} diagnostics and append " before C2X" to the diagnostic + text. + 2023-09-05 Tobias Burnus * c-parser.cc (c_parser_omp_clause_allocate): Handle diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 1d97cc9416d8..c2dcca12af65 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2023-09-06 Jason Merrill + + * class.cc (check_subobject_offset): Check + same_type_ignoring_top_level_qualifiers_p. + 2023-09-05 Marek Polacek PR c++/91483 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6e086b180de6..2251e6fb739d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,271 @@ +2023-09-06 Ian Lance Taylor + + PR go/111310 + * gcc.misc-tests/godump-1.c: Add _BitInt test cases. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * gcc.dg/bitint-2.c (foo): Add tests for constexpr var or enumerator + arguments of _BitInt. + * gcc.dg/bitint-31.c: Remove forgotten 0 &&. + * gcc.dg/bitint-32.c: New test. + * gcc.dg/bitint-33.c: New test. + * gcc.dg/bitint-34.c: New test. + * gcc.dg/bitint-35.c: New test. + * gcc.dg/bitint-36.c: New test. + * gcc.dg/fixed-point/bitint-1.c: New test. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * gcc.dg/torture/bitint-21.c (main): Add tests for -1 for signed only, + -1 + epsilon, another (-1, 0) range value and -0. + * gcc.dg/torture/bitint-22.c (main): Likewise. + * gcc.dg/bitint-28.c: New test. + * gcc.dg/bitint-29.c: New test. + * gcc.dg/bitint-30.c: New test. + * gcc.dg/bitint-31.c: New test. + * gcc.dg/dfp/bitint-1.c (main): Add tests for -1 for signed only, + -1 + epsilon and -0. + * gcc.dg/dfp/bitint-2.c (main): Likewise. + * gcc.dg/dfp/bitint-3.c (main): Likewise. + * gcc.dg/dfp/bitint-7.c: New test. + * gcc.dg/dfp/bitint-8.c: New test. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * gcc.dg/bitint-19.c: New test. + * gcc.dg/bitint-20.c: New test. + * gcc.dg/bitint-21.c: New test. + * gcc.dg/bitint-22.c: New test. + * gcc.dg/bitint-23.c: New test. + * gcc.dg/bitint-24.c: New test. + * gcc.dg/bitint-25.c: New test. + * gcc.dg/bitint-26.c: New test. + * gcc.dg/bitint-27.c: New test. + * g++.dg/ext/bitint1.C: New test. + * g++.dg/ext/bitint2.C: New test. + * g++.dg/ext/bitint3.C: New test. + * g++.dg/ext/bitint4.C: New test. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * gcc.dg/torture/bitint-20.c: New test. + * gcc.dg/torture/bitint-21.c: New test. + * gcc.dg/torture/bitint-22.c: New test. + * gcc.dg/torture/bitint-23.c: New test. + * gcc.dg/torture/bitint-24.c: New test. + * gcc.dg/torture/bitint-25.c: New test. + * gcc.dg/torture/bitint-26.c: New test. + * gcc.dg/torture/bitint-27.c: New test. + * gcc.dg/torture/bitint-28.c: New test. + * gcc.dg/torture/bitint-29.c: New test. + * gcc.dg/torture/bitint-30.c: New test. + * gcc.dg/torture/bitint-31.c: New test. + * gcc.dg/torture/bitint-32.c: New test. + * gcc.dg/torture/bitint-33.c: New test. + * gcc.dg/torture/bitint-34.c: New test. + * gcc.dg/torture/bitint-35.c: New test. + * gcc.dg/torture/bitint-36.c: New test. + * gcc.dg/torture/bitint-37.c: New test. + * gcc.dg/torture/bitint-38.c: New test. + * gcc.dg/torture/bitint-39.c: New test. + * gcc.dg/torture/bitint-40.c: New test. + * gcc.dg/torture/bitint-41.c: New test. + * gcc.dg/torture/bitint-42.c: New test. + * gcc.dg/atomic/stdatomic-bitint-1.c: New test. + * gcc.dg/atomic/stdatomic-bitint-2.c: New test. + * gcc.dg/dfp/bitint-1.c: New test. + * gcc.dg/dfp/bitint-2.c: New test. + * gcc.dg/dfp/bitint-3.c: New test. + * gcc.dg/dfp/bitint-4.c: New test. + * gcc.dg/dfp/bitint-5.c: New test. + * gcc.dg/dfp/bitint-6.c: New test. + * gcc.dg/ubsan/bitint-1.c: New test. + * gcc.dg/ubsan/bitint-2.c: New test. + * gcc.dg/ubsan/bitint-3.c: New test. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * lib/target-supports.exp (check_effective_target_bitint, + check_effective_target_bitint128, check_effective_target_bitint575): + New effective targets. + * gcc.dg/bitint-1.c: New test. + * gcc.dg/bitint-2.c: New test. + * gcc.dg/bitint-3.c: New test. + * gcc.dg/bitint-4.c: New test. + * gcc.dg/bitint-5.c: New test. + * gcc.dg/bitint-6.c: New test. + * gcc.dg/bitint-7.c: New test. + * gcc.dg/bitint-8.c: New test. + * gcc.dg/bitint-9.c: New test. + * gcc.dg/bitint-10.c: New test. + * gcc.dg/bitint-11.c: New test. + * gcc.dg/bitint-12.c: New test. + * gcc.dg/bitint-13.c: New test. + * gcc.dg/bitint-14.c: New test. + * gcc.dg/bitint-15.c: New test. + * gcc.dg/bitint-16.c: New test. + * gcc.dg/bitint-17.c: New test. + * gcc.dg/bitint-18.c: New test. + * gcc.dg/torture/bitint-1.c: New test. + * gcc.dg/torture/bitint-2.c: New test. + * gcc.dg/torture/bitint-3.c: New test. + * gcc.dg/torture/bitint-4.c: New test. + * gcc.dg/torture/bitint-5.c: New test. + * gcc.dg/torture/bitint-6.c: New test. + * gcc.dg/torture/bitint-7.c: New test. + * gcc.dg/torture/bitint-8.c: New test. + * gcc.dg/torture/bitint-9.c: New test. + * gcc.dg/torture/bitint-10.c: New test. + * gcc.dg/torture/bitint-11.c: New test. + * gcc.dg/torture/bitint-12.c: New test. + * gcc.dg/torture/bitint-13.c: New test. + * gcc.dg/torture/bitint-14.c: New test. + * gcc.dg/torture/bitint-15.c: New test. + * gcc.dg/torture/bitint-16.c: New test. + * gcc.dg/torture/bitint-17.c: New test. + * gcc.dg/torture/bitint-18.c: New test. + * gcc.dg/torture/bitint-19.c: New test. + +2023-09-06 Juzhe-Zhong + + PR target/111296 + * g++.target/riscv/rvv/base/pr111296.C: New test. + +2023-09-06 Juzhe-Zhong + + PR target/111295 + * gcc.target/riscv/rvv/autovec/pr111295.c: New test. + +2023-09-06 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/partial/slp-9.c: Adapt test. + * gcc.target/riscv/rvv/autovec/zve32f_zvl1024b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32f_zvl2048b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32f_zvl256b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32f_zvl4096b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32f_zvl512b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x_zvl1024b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x_zvl2048b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x_zvl256b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x_zvl4096b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x_zvl512b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64d-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64f-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64x-1.c: Ditto. + +2023-09-06 David Malcolm + + PR analyzer/105899 + * c-c++-common/analyzer/strstr-1.c: New test. + +2023-09-06 David Malcolm + + PR analyzer/105899 + * c-c++-common/analyzer/null-terminated-strings-2.c: New test. + * c-c++-common/analyzer/overlapping-buffers.c: Update dg-bogus + directives to avoid clashing with note from that might + happen to have the same line number. Add strpncpy test coverage. + * c-c++-common/analyzer/strncpy-1.c: New test. + * gcc.dg/analyzer/null-terminated-strings-1.c + (test_filled_nonzero): New. + (void test_filled_zero): New. + (test_filled_symbolic): New. + +2023-09-06 David Malcolm + + * gcc.dg/plugin/analyzer_cpython_plugin.c: Pass ctxt to + zero_fill_region. + +2023-09-06 Pan Li + + * gcc.target/riscv/rvv/intrisinc-vrgatherei16.c: Moved to... + * gcc.target/riscv/rvv/base/intrisinc-vrgatherei16.c: ...here. + +2023-09-06 Christoph Müllner + + * gcc.target/riscv/xtheadbb-li-rotr.c: Don't run for RV32. + +2023-09-06 Lehua Ding + + PR target/111232 + * gcc.target/riscv/rvv/autovec/widen/widen-4.c: Add more testcases. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/pr111232.c: New test. + +2023-09-06 Lehua Ding + + * gcc.target/riscv/rvv/base/abi-call-variant_cc.c: New test. + +2023-09-06 Lehua Ding + + * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-1.c: New test. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-2.c: New test. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-save-restore.c: New test. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-zcmp.c: New test. + * gcc.target/riscv/rvv/base/abi-callee-saved-1.c: New test. + * gcc.target/riscv/rvv/base/abi-callee-saved-2-save-restore.c: New test. + * gcc.target/riscv/rvv/base/abi-callee-saved-2-zcmp.c: New test. + * gcc.target/riscv/rvv/base/abi-callee-saved-2.c: New test. + +2023-09-06 Lehua Ding + + * gcc.target/riscv/rvv/base/abi-call-args-1-run.c: New test. + * gcc.target/riscv/rvv/base/abi-call-args-1.c: New test. + * gcc.target/riscv/rvv/base/abi-call-args-2-run.c: New test. + * gcc.target/riscv/rvv/base/abi-call-args-2.c: New test. + * gcc.target/riscv/rvv/base/abi-call-args-3-run.c: New test. + * gcc.target/riscv/rvv/base/abi-call-args-3.c: New test. + * gcc.target/riscv/rvv/base/abi-call-args-4-run.c: New test. + * gcc.target/riscv/rvv/base/abi-call-args-4.c: New test. + * gcc.target/riscv/rvv/base/abi-call-error-1.c: New test. + * gcc.target/riscv/rvv/base/abi-call-return-run.c: New test. + * gcc.target/riscv/rvv/base/abi-call-return.c: New test. + +2023-09-06 Jakub Jelinek + + * gcc.dg/c11-floatn-1.c: New test. + * gcc.dg/c11-floatn-2.c: New test. + * gcc.dg/c11-floatn-3.c: New test. + * gcc.dg/c11-floatn-4.c: New test. + * gcc.dg/c11-floatn-5.c: New test. + * gcc.dg/c11-floatn-6.c: New test. + * gcc.dg/c11-floatn-7.c: New test. + * gcc.dg/c11-floatn-8.c: New test. + * gcc.dg/c2x-floatn-1.c: New test. + * gcc.dg/c2x-floatn-2.c: New test. + * gcc.dg/c2x-floatn-3.c: New test. + * gcc.dg/c2x-floatn-4.c: New test. + * gcc.dg/c2x-floatn-5.c: New test. + * gcc.dg/c2x-floatn-6.c: New test. + * gcc.dg/c2x-floatn-7.c: New test. + * gcc.dg/c2x-floatn-8.c: New test. + +2023-09-06 Lehua Ding + + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-2.c: New test. + +2023-09-06 Jason Merrill + + * g++.dg/abi/no_unique_address8.C: New test. + * g++.dg/abi/no_unique_address8a.C: New test. + +2023-09-06 Tsukasa OI + + * gcc.target/riscv/zicond-ice-2.c: New test. This is based on + an ICE at libat_lock_n func on gcc/libatomic/config/posix/lock.c + but heavily minimized. + 2023-09-05 Christoph Müllner * gcc.target/riscv/xtheadbb-li-rotr.c: New tests. diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 6197e498a93e..9897dcf07327 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,15 @@ +2023-09-06 Jakub Jelinek + + PR c/102989 + * expr.cc (cpp_classify_number): Diagnose wb literal suffixes + for -pedantic* before C2X or -Wc11-c2x-compat. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * expr.cc (interpret_int_suffix): Handle wb and WB suffixes. + * include/cpplib.h (CPP_N_BITINT): Define. + 2023-08-07 Alan Modra * configure: Regenerate. diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 867a6f115dea..25561ad0f7be 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,69 @@ +2023-09-06 Jakub Jelinek + + PR c/102989 + * libgcc2.c (bitint_negate): Add function comment. + * soft-fp/bitint.h (bitint_negate): Add function comment. + (FP_TO_BITINT, FP_FROM_BITINT): Add comment explaining the macros. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * config/aarch64/t-softfp (softfp_extras): Use += rather than :=. + * config/i386/64/t-softfp (softfp_extras): Likewise. + * config/i386/libgcc-glibc.ver (GCC_14.0.0): Export _BitInt support + routines. + * config/i386/t-softfp (softfp_extras): Add fixxfbitint and + bf, hf and xf mode floatbitint. + (CFLAGS-floatbitintbf.c, CFLAGS-floatbitinthf.c): Add -msse2. + * config/riscv/t-softfp32 (softfp_extras): Use += rather than :=. + * config/rs6000/t-e500v1-fp (softfp_extras): Likewise. + * config/rs6000/t-e500v2-fp (softfp_extras): Likewise. + * config/t-softfp (softfp_floatbitint_funcs): New. + (softfp_bid_list): New. + (softfp_func_list): Add sf and df mode from and to _BitInt libcalls. + (softfp_bid_file_list): New. + (LIB2ADD_ST): Add $(softfp_bid_file_list). + * config/t-softfp-sfdftf (softfp_extras): Add fixtfbitint and + floatbitinttf. + * config/t-softfp-tf (softfp_extras): Likewise. + * libgcc2.c (bitint_reduce_prec): New inline function. + (BITINT_INC, BITINT_END): Define. + (bitint_mul_1, bitint_addmul_1): New helper functions. + (__mulbitint3): New function. + (bitint_negate, bitint_submul_1): New helper functions. + (__divmodbitint4): New function. + * libgcc2.h (LIBGCC2_UNITS_PER_WORD): When building _BitInt support + libcalls, redefine depending on __LIBGCC_BITINT_LIMB_WIDTH__. + (__mulbitint3, __divmodbitint4): Declare. + * libgcc-std.ver.in (GCC_14.0.0): Export _BitInt support routines. + * Makefile.in (lib2funcs): Add _mulbitint3. + (LIB2_DIVMOD_FUNCS): Add _divmodbitint4. + * soft-fp/bitint.h: New file. + * soft-fp/fixdfbitint.c: New file. + * soft-fp/fixsfbitint.c: New file. + * soft-fp/fixtfbitint.c: New file. + * soft-fp/fixxfbitint.c: New file. + * soft-fp/floatbitintbf.c: New file. + * soft-fp/floatbitintdf.c: New file. + * soft-fp/floatbitinthf.c: New file. + * soft-fp/floatbitintsf.c: New file. + * soft-fp/floatbitinttf.c: New file. + * soft-fp/floatbitintxf.c: New file. + * soft-fp/op-common.h (_FP_FROM_INT): Add support for rsize up to + 4 * _FP_W_TYPE_SIZE rather than just 2 * _FP_W_TYPE_SIZE. + * soft-fp/bitintpow10.c: New file. + * soft-fp/fixsdbitint.c: New file. + * soft-fp/fixddbitint.c: New file. + * soft-fp/fixtdbitint.c: New file. + * soft-fp/floatbitintsd.c: New file. + * soft-fp/floatbitintdd.c: New file. + * soft-fp/floatbitinttd.c: New file. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * soft-fp/bitintpow10.h: New file. + 2023-09-05 Yang Yujie * config.host: add loongarch*-elf target. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 3cdb26b52a7f..8f7b01e05631 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2023-09-06 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default + for freestanding. + * configure: Regenerate. + 2023-09-04 Christophe Lyon PR libstdc++/111238