public inbox for libstdc++-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-3763] Daily bump.
@ 2023-09-07  0:17 GCC Administrator
  0 siblings, 0 replies; only message in thread
From: GCC Administrator @ 2023-09-07  0:17 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

https://gcc.gnu.org/g:a134b6ce8e5c589f8c1b58cdf124cd4a916b0e8c

commit r14-3763-ga134b6ce8e5c589f8c1b58cdf124cd4a916b0e8c
Author: GCC Administrator <gccadmin@gcc.gnu.org>
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  <iant@golang.org>
+
+	PR go/111310
+	* godump.cc (go_format_type): Handle BITINT_TYPE.
+
+2023-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/102989
+	* tree.cc (build_one_cst, build_minus_one_cst): Handle BITINT_TYPE
+	like INTEGER_TYPE.
+
+2023-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	PR c/102989
+	* glimits.h (BITINT_MAXWIDTH): Define if __BITINT_MAXWIDTH__ is
+	predefined.
+
+2023-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	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  <juzhe.zhong@rivai.ai>
+
+	PR target/111296
+	* config/riscv/riscv.cc (riscv_modes_tieable_p): Fix incorrect mode
+	tieable for RVV modes.
+
+2023-09-06  Juzhe-Zhong  <juzhe.zhong@rivai.ai>
+
+	PR target/111295
+	* config/riscv/riscv-vsetvl.cc (insert_vsetvl): Bug fix.
+
+2023-09-06  Juzhe-Zhong  <juzhe.zhong@rivai.ai>
+
+	* config/riscv/riscv-vector-switch.def (VLS_ENTRY): Remove TARGET_64BIT
+
+2023-09-06  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+
+	* 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  <lehua.ding@rivai.ai>
+
+	PR target/111232
+	* config/riscv/autovec-opt.md (@pred_single_widen_mul<any_extend:su><mode>):
+	Delete.
+	(*pred_widen_mulsu<mode>): Delete.
+	(*pred_single_widen_mul<mode>): Delete.
+	(*dual_widen_<any_widen_binop:optab><any_extend:su><mode>):
+	Add new combine patterns.
+	(*single_widen_sub<any_extend:su><mode>): Ditto.
+	(*single_widen_add<any_extend:su><mode>): Ditto.
+	(*single_widen_mult<any_extend:su><mode>): Ditto.
+	(*dual_widen_mulsu<mode>): Ditto.
+	(*dual_widen_mulus<mode>): Ditto.
+	(*dual_widen_<optab><mode>): Ditto.
+	(*single_widen_add<mode>): Ditto.
+	(*single_widen_sub<mode>): Ditto.
+	(*single_widen_mult<mode>): Ditto.
+	* config/riscv/autovec.md (<optab><mode>3):
+	Change define_expand to define_insn_and_split.
+	(<optab><mode>2): Ditto.
+	(abs<mode>2): Ditto.
+	(smul<mode>3_highpart): Ditto.
+	(umul<mode>3_highpart): Ditto.
+
+2023-09-06  Lehua Ding  <lehua.ding@rivai.ai>
+
+	* 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  <lehua.ding@rivai.ai>
+
+	* 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  <lehua.ding@rivai.ai>
+
+	* 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  <lehua.ding@rivai.ai>
+
+	* config/riscv/autovec-opt.md (*cond_<optab><mode>):
+	Add sqrt + vcond_mask combine pattern.
+	* config/riscv/autovec.md (<optab><mode>2):
+	Change define_expand to define_insn_and_split.
+
+2023-09-06  Jason Merrill  <jason@redhat.com>
+
+	* common.opt: Update -fabi-version=19.
+
+2023-09-06  Tsukasa OI  <research_trasio@irq.a4lg.com>
+
+	* config/riscv/zicond.md: Add closing parent to a comment.
+
+2023-09-06  Tsukasa OI  <research_trasio@irq.a4lg.com>
+
+	* config/riscv/riscv.cc (riscv_expand_conditional_move): Force
+	large constant cons/alt into a register.
+
 2023-09-05  Christoph Müllner  <christoph.muellner@vrull.eu>
 
 	* 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  <dmalcolm@redhat.com>
+
+	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  <dmalcolm@redhat.com>
+
+	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  <dmalcolm@redhat.com>
+
+	* 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  <priour.be@gmail.com>
 
 	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  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	PR c/102989
+	* c-ubsan.cc (ubsan_instrument_shift): Use UBSAN_PRINT_FORCE_INT
+	for type0 type descriptor.
+
+2023-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+	* 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  <jakub@redhat.com>
 
 	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  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	* 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  <tobias@codesourcery.com>
 
 	* 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  <jason@redhat.com>
+
+	* class.cc (check_subobject_offset): Check
+	same_type_ignoring_top_level_qualifiers_p.
+
 2023-09-05  Marek Polacek  <polacek@redhat.com>
 
 	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  <iant@golang.org>
+
+	PR go/111310
+	* gcc.misc-tests/godump-1.c: Add _BitInt test cases.
+
+2023-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	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  <juzhe.zhong@rivai.ai>
+
+	PR target/111296
+	* g++.target/riscv/rvv/base/pr111296.C: New test.
+
+2023-09-06  Juzhe-Zhong  <juzhe.zhong@rivai.ai>
+
+	PR target/111295
+	* gcc.target/riscv/rvv/autovec/pr111295.c: New test.
+
+2023-09-06  Juzhe-Zhong  <juzhe.zhong@rivai.ai>
+
+	* 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  <dmalcolm@redhat.com>
+
+	PR analyzer/105899
+	* c-c++-common/analyzer/strstr-1.c: New test.
+
+2023-09-06  David Malcolm  <dmalcolm@redhat.com>
+
+	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 <string.h> 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  <dmalcolm@redhat.com>
+
+	* gcc.dg/plugin/analyzer_cpython_plugin.c: Pass ctxt to
+	zero_fill_region.
+
+2023-09-06  Pan Li  <pan2.li@intel.com>
+
+	* gcc.target/riscv/rvv/intrisinc-vrgatherei16.c: Moved to...
+	* gcc.target/riscv/rvv/base/intrisinc-vrgatherei16.c: ...here.
+
+2023-09-06  Christoph Müllner  <christoph.muellner@vrull.eu>
+
+	* gcc.target/riscv/xtheadbb-li-rotr.c: Don't run for RV32.
+
+2023-09-06  Lehua Ding  <lehua.ding@rivai.ai>
+
+	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  <lehua.ding@rivai.ai>
+
+	* gcc.target/riscv/rvv/base/abi-call-variant_cc.c: New test.
+
+2023-09-06  Lehua Ding  <lehua.ding@rivai.ai>
+
+	* 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  <lehua.ding@rivai.ai>
+
+	* 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  <jakub@redhat.com>
+
+	* 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  <lehua.ding@rivai.ai>
+
+	* 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  <jason@redhat.com>
+
+	* g++.dg/abi/no_unique_address8.C: New test.
+	* g++.dg/abi/no_unique_address8a.C: New test.
+
+2023-09-06  Tsukasa OI  <research_trasio@irq.a4lg.com>
+
+	* 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  <christoph.muellner@vrull.eu>
 
 	* 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  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	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  <amodra@gmail.com>
 
 	* 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  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	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  <jakub@redhat.com>
+
+	PR c/102989
+	* soft-fp/bitintpow10.h: New file.
+
 2023-09-05  Yang Yujie  <yangyujie@loongson.cn>
 
 	* 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  <jwakely@redhat.com>
+
+	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
+	for freestanding.
+	* configure: Regenerate.
+
 2023-09-04  Christophe Lyon  <christophe.lyon@linaro.org>
 
 	PR libstdc++/111238

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-09-07  0:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-07  0:17 [gcc r14-3763] Daily bump GCC Administrator

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).