[gcc r16-3732] Daily bump.
GCC Administrator
gccadmin@gcc.gnu.org
Wed Sep 10 00:23:09 GMT 2025
https://gcc.gnu.org/g:45e5b65be26d376bb8e219cd4cad24b21b725014
commit r16-3732-g45e5b65be26d376bb8e219cd4cad24b21b725014
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date: Wed Sep 10 00:22:24 2025 +0000
Daily bump.
Diff:
---
gcc/ChangeLog | 88 ++++++++
gcc/DATESTAMP | 2 +-
gcc/ada/ChangeLog | 558 ++++++++++++++++++++++++++++++++++++++++++++++++
gcc/cp/ChangeLog | 49 +++++
gcc/fortran/ChangeLog | 34 +++
gcc/testsuite/ChangeLog | 118 ++++++++++
libstdc++-v3/ChangeLog | 13 ++
7 files changed, 861 insertions(+), 1 deletion(-)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bd85e1abff99..2a445e7352b1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,91 @@
+2025-09-09 Andrew Stubbs <ams@baylibre.com>
+
+ * config/gcn/gcn-devices.def: Correct the Max ISA VGPRs counts for
+ GFX10 and GFX11 devices.
+ * config/gcn/gcn.cc (gcn_hsa_declare_function_name): Remove the wave64
+ VGPR count fudge.
+
+2025-09-09 Andrew Stubbs <ams@baylibre.com>
+
+ * config/gcn/gcn.cc (gcn_expand_builtin_1): Enable the "mode" parameter
+ and ensure that "target" is a register for most of the builtins.
+
+2025-09-09 David Faust <david.faust@oracle.com>
+
+ PR debug/121411
+ * dwarf2ctf.cc (ctf_get_AT_data_member_location) Use AT_unsigned
+ when fetching AT_bit_offset and AT_data_member_location. Simplify.
+ (ctf_die_bitsize): Return unsigned HOST_WIDE_INT instead of
+ uint32_t.
+ (gen_ctf_base_type, gen_ctf_sou_type, gen_ctf_enumeration_type):
+ Adapt accordingly.
+
+2025-09-09 Paul-Antoine Arras <parras@baylibre.com>
+
+ * config/riscv/autovec-opt.md (*vfwsub_vf_<mode>): New pattern to
+ combine float_extend + vec_duplicate + vfwsub.vv into vfwsub.vf.
+
+2025-09-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/121678
+ * tree.cc (staticp): Handle REALPART_EXPR and IMAGPART_EXPR.
+
+2025-09-09 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/invoke.texi (Warning Options): Note that an option
+ enabled by -Wextra is for C and ObjC only.
+
+2025-09-09 Paul-Antoine Arras <parras@baylibre.com>
+
+ * config/riscv/autovec-opt.md (*vfwadd_wf_<mode>): New pattern to
+ combine float_extend + vec_duplicate + vfadd.vv into vfwadd.wf.
+ * config/riscv/vector.md
+ (@pred_single_widen_<plus_minus:optab><mode>_scalar): Swap and reorder
+ operands to match the RTL emitted by expand.
+
+2025-09-09 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ Revert:
+ 2025-07-11 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * config/aarch64/aarch64-simd.md (*bcaxqdi4): New
+ define_insn_and_split.
+
+2025-09-09 Tamar Christina <tamar.christina@arm.com>
+
+ Revert:
+ 2025-09-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121829
+ * tree-vect-loop-manip.cc (vect_remove_forwarder): New
+ function.
+ (slpeel_tree_duplicate_loop_to_edge_cfg): Use it.
+
+2025-09-09 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121861
+ * config/i386/i386.cc (ix86_optab_supported_p): Drop
+ !flag_trapping_math check for floor_optab, ceil_optab and
+ btrunc_optab.
+
+2025-09-09 liuhongt <hongtao.liu@intel.com>
+
+ * config/i386/i386-expand.cc (expand_vec_perm_vpermil): Extend
+ to handle V8SImode.
+ * config/i386/i386.cc (avx_vpermilp_parallel): Extend to
+ handle vector integer modes with same vector size and same
+ component size.
+ * config/i386/sse.md
+ (<sse2_avx_avx512f>_vpermilp<mode><mask_name>): Ditto.
+ (V48_AVX): New mode iterator.
+ (ssefltmodesuffix): Extend for V16SI/V8DI/V16SF/V8DF.
+
+2025-09-09 liuhongt <hongtao.liu@intel.com>
+
+ * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
+ Check permutation index for vec_perm, don't count it if we
+ know it's not a cross-lane permutation.
+
2025-09-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/107997
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 757870bca1ac..240fc076c6a7 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20250909
+20250910
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 063d6a73db8b..d80538b30cd2 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,561 @@
+2025-09-09 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Eq): Check for warning about call to
+ the abstract equality function of a component type, for both array
+ and record enclosing types.
+ (Warn_On_Abstract_Equality_For_Component): New procedure to issue
+ a warning when an abstract equality function of a component type
+ will be called and result in Program_Error.
+
+2025-09-09 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch5.adb (Make_Call): Mark generated nodes as coming from source.
+
+2025-09-09 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch3.adb (Analyze_Incomplete_Type_Decl): Remove incorrect
+ comment.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * ghost.adb (Is_OK_Pragma): Use the
+ Suppressed_Ghost_Policy_Check_Pragma list for ignoring certain
+ pragmas.
+ * sem_prag.ads (Suppressed_Ghost_Policy_Check_Pragma): New variable
+ to store the pragmas that could be ignored when checking for
+ consitant ghost policy.
+
+2025-09-09 Tonu Naks <naks@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * libgnat/s-crtl.ads (read, write): remove import
+ * libgnat/s-crtl__mingw.adb: body for windows
+ * libgnat/s-crtl.adb: body for all the other targets
+ * Makefile.rtl: configure s-crtl.adb/libgnat/s-crtl__mingw.adb
+ * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Alphabetize.
+ (GNATBIND_OBJS): Add ada/libgnat/s-crtl.o.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * contracts.adb: Use the In_Codegen function instead.
+ * exp_ch3.adb: Likewise.
+ * exp_ch5.adb: Likewise.
+ * exp_ch6.adb: Likewise.
+ * exp_ch7.adb: Likewise.
+ * exp_ch9.adb: Likewise.
+ * exp_disp.adb: Likewise.
+ * exp_util.adb: Likewise.
+ * freeze.adb: Likewise.
+ * ghost.adb: Likewise.
+ * inline.adb: Likewise.
+ * repinfo.adb: Likewise.
+ * sem_ch10.adb: Likewise.
+ * sem_ch13.adb: Likewise.
+ * sem_ch3.adb: Likewise.
+ * sem_ch6.adb: Likewise.
+ * sem_elab.adb: Likewise.
+ * sem_res.adb: Likewise.
+ * sem_util.adb (Predicates_Ignored_In_Codegen): Add new function for
+ the Predicates_Ignored property.
+ (Predicates_Enabled): Use Predicates_Ignored_In_Codegen instead.
+ * sem_util.ads (Predicates_Ignored_In_Codegen): New function.
+ (Is_Ignored_In_Codegen): Add documentation on how _In_Codegen
+ functions should be used.
+
+2025-09-09 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch3.adb (Copy_And_Swap): Improve comments.
+
+2025-09-09 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.adb (Needs_One_Actual): Add support for untagged record
+ types when the sources are compiled with Core Extensions allowed.
+
+2025-09-09 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch3.adb (Find_Type_Name): Fix comment.
+
+2025-09-09 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch3.adb (Check_Nonoverridable_Aspects): Remove if statement.
+
+2025-09-09 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch3.adb (Check_Nonoverridable_Aspects): Improve documentation
+ comment.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * ghost.adb (Check_Ghost_Completion): Add location info
+ to the policy messages.
+ (Check_Ghost_Policy): Likwise.
+
+2025-09-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_attr.adb (Rewrite_Attribute_Proc_Call): Add new parameter
+ to calls to Create_Extra_Formals.
+ (Expand_N_Attribute_Reference): Ditto.
+ * exp_ch3.adb (Expand_Freeze_Record_Type): Ditto.
+ * exp_ch6.adb (Expand_Call_Helper): Ditto.
+ * exp_disp.adb (Expand_Dispatching_Call): Ditto.
+ * freeze.adb (Check_Itype): Ditto.
+ (Freeze_Expression): Ditto.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Ditto.
+ (Create_Extra_Formals): Add new formal, and use it to determine
+ if the creation of the extra formals can be deferred. Add the
+ new parameter to calls to Create_Extra_Formals.
+ (Is_Unsupported_Extra_Actuals_Call): Adjust the code to improve
+ its performance when the result is known.
+ (Is_Unsupported_Extra_Formals_Entity): Ditto. Add new formal
+ * sem_ch6.ads (Create_Extra_Formals): Add new formal.
+ (Is_Unsupported_Extra_Formals_Entity): Ditto.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): Indicate an out of
+ bounds index error also in the case of a missing index.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Definitions): Create a temporary
+ pragma for the non-task and access type cases.
+
+2025-09-09 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch7.adb (New_Private_Type): Remove useless statements.
+
+2025-09-09 Denis Mazzucato <mazzucato@adacore.com>
+
+ * targparm.adb (Get_Target_Parameters): Address type declaration doesn't
+ ends anymore with a semicolon.
+ * libgnat/a-cdlili.ads: Replace Preelaborable_Initialization.
+ * libgnat/a-cidlli.ads: Likewise.
+ * libgnat/a-cihama.ads: Likewise.
+ * libgnat/a-cihase.ads: Likewise.
+ * libgnat/a-cimutr.ads: Likewise.
+ * libgnat/a-ciorma.ads: Likewise.
+ * libgnat/a-ciormu.ads: Likewise.
+ * libgnat/a-ciorse.ads: Likewise.
+ * libgnat/a-cohama.ads: Likewise.
+ * libgnat/a-cohase.ads: Likewise.
+ * libgnat/a-coinho.ads: Likewise.
+ * libgnat/a-coinho__shared.ads: Likewise.
+ * libgnat/a-coinve.ads: Likewise.
+ * libgnat/a-comutr.ads: Likewise.
+ * libgnat/a-convec.ads: Likewise.
+ * libgnat/a-coorma.ads: Likewise.
+ * libgnat/a-coormu.ads: Likewise.
+ * libgnat/a-coorse.ads: Likewise.
+ * libgnat/a-crdlli.ads: Likewise.
+ * libgnat/a-except.ads: Likewise.
+ * libgnat/a-finali.ads: Likewise.
+ * libgnat/a-ngcoty.ads: Likewise.
+ * libgnat/a-strbou.ads: Likewise.
+ * libgnat/a-stream.ads: Likewise.
+ * libgnat/a-strmap.ads: Likewise.
+ * libgnat/a-strunb.ads: Likewise.
+ * libgnat/a-strunb__shared.ads: Likewise.
+ * libgnat/a-ststio.ads: Likewise.
+ * libgnat/a-stwibo.ads: Likewise.
+ * libgnat/a-stwima.ads: Likewise.
+ * libgnat/a-stwiun.ads: Likewise.
+ * libgnat/a-stwiun__shared.ads: Likewise.
+ * libgnat/a-stzbou.ads: Likewise.
+ * libgnat/a-stzmap.ads: Likewise.
+ * libgnat/a-stzunb.ads: Likewise.
+ * libgnat/a-stzunb__shared.ads: Likewise.
+ * libgnat/a-tags.ads: Likewise.
+ * libgnat/i-cstrin.ads: Likewise.
+ * libgnat/s-stopoo.ads: Likewise.
+ * libgnat/s-stposu.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-gnu.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-loongarch.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-arm.ads: Likewise.
+ * libgnat/system-rtems.ads: Likewise.
+ * libgnat/system-solaris-sparc.ads: Likewise.
+ * libgnat/system-solaris-x86.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-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-ppc-kernel.ads: Likewise.
+ * libgnat/system-vxworks7-ppc-rtp-smp.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_64-kernel.ads: Likewise.
+ * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
+
+2025-09-09 Marc Poulhiès <poulhies@adacore.com>
+
+ * s-pack.adb.tmpl: Typo fix in comment.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Set Mark_Ghost_Code individually
+ based on the semantics of each pragma.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * ghost.adb (Mark_Ghost_Declaration_Or_Body): Mark ghost
+ entity explicitly as ignored or checked.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * ghost.adb (Check_Ghost_Policy): ignore ghost policy changes
+ within instantiation statements.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * ghost.adb (Check_Ghost_Policy): Use the policy in affect for
+ the identifier at the current moment instead of the region
+ around it when checking a policy change for a procedure call.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * ghost.adb (Mark_And_Set_Ghost_Declaration): apply the
+ ghost policy and level from the declaration only if the declaration
+ has an explicit ghost aspect/pragma.
+
+2025-09-09 Denis Mazzucato <mazzucato@adacore.com>
+
+ * sem_ch13.adb (Check_Nonoverridable_Aspect_Subprograms): Add the new
+ legality check in Check_Nonoverridable_Aspect_Subprograms for
+ nonoverridable aspects to check whether the denoted subprograms satisfy
+ MR 13.1.1(18.4/6), otherwise we emit an error. Fix spacing.
+ * sem_ch6.adb (New_Overloaded_Entity): Set Is_Primitive flag
+ for inherited primitives, and filter out homonym candidates without a
+ function specification as parents.
+
+2025-09-09 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Check_Interrupt_Or_Attach_Handler): Refine test for
+ protected procedures; fix typo in comment.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * ghost.adb (Is_OK_Pragma): mark the context of ignored ghost
+ pragmas as OK.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * ghost.adb (Assertion_Level_From_Arg): Ensure that assertion level
+ is stored as the entity for its reference.
+ (Enables_Ghostness): Derive the result from whether or not the
+ an argument indicated an assertion level.
+ * tbuild.adb (Make_Assertion_Level): ensure that assertion levels
+ have a standard scope.
+
+2025-09-09 Piotr Trojanek <trojanek@adacore.com>
+
+ * checks.adb (Make_Bignum_Block): Check restriction No_Secondary_Stack.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * sem_util.adb (Policy_In_Effect): Add special handling
+ for Runtime and Static values.
+
+2025-09-09 Denis Mazzucato <mazzucato@adacore.com>
+
+ * exp_ch3.adb (Init_Formals): Remove the check on Global_No_Tasking.
+ * sem.adb: Fix typo.
+
+2025-09-09 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_aggr.adb (Build_Container_Aggr_Code.To_Int): Replace existing
+ conditional expression with call to Expr_Value.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): add default
+ assertion level to assertion aspects.
+ * sem_prag.adb (Analyze_Pragma): Likewise.
+
+2025-09-09 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * exp_ch6.adb (Check_BIP_Actuals, Process_Node): Disable checks.
+
+2025-09-09 Javier Miranda <miranda@adacore.com>
+
+ * aspects.ads (Aspect_Unsigned_Base_Range): New aspect.
+ * checks.adb (Determine_Range): Handle types with unsigned base range aspect.
+ (Enable_Overflow_Check): ditto
+ (Apply_Arithmetic_Overflow_Strict): ditto
+ * debug.adb (d_o): Document new usage.
+ * einfo.ads (Has_Unsigned_Base_Range_Aspect): New flag.
+ * exp_attr.adb (Expand_N_Attribute_Reference): No action since
+ it has been already handled at this stage.
+ * exp_ch4.adb (Expand_N_Op_Add): Generate aritmetic overflow check on
+ unsigned base range type operands.
+ (Expand_N_Op_Subtract): ditto
+ (Expand_N_Op_Multiply): ditto
+ (Expand_N_Op_Minus): ditto
+ * gen_il-fields.ads (Has_Unsigned_Base_Range_Aspect): New flag.
+ * gen_il-gen-gen_entities.adb (Has_Unsigned_Base_Range_Aspect): New flag.
+ * gen_il-internals.adb (Has_Unsigned_Base_Range_Aspect): New flag.
+ * gnat1drv.adb (Adjust_Global_Switches): Handle -gnatd_o
+ * par-prag.adb (Pragma_Unsigned_Base_Range): No action since it will
+ be entirely handled by the semantic analyzer.
+ * rtsfind.ads (RE_Id): Add RE_Uns_[Add|Subtract|Multiply]_With_ Ovflo_Check
+ * sem_attr.ads (Attribute_Unsigned_Base_Range): Added to the set of
+ implementation defined attributes.
+ * sem_attr.adb (Analyze_Attribute): Analyze attribute Unsigned_Base_Range.
+ (Eval_Attribute): Evaluate attribute Unsigned_Base_Range.
+ * sem_ch13.adb (Analyze_One_Aspect): Defer checks for this aspect to
+ the analysis of the corresponding pragma.
+ * sem_ch3.ads (Unsigned_Base_Range_Type_Declaration): New subprogram.
+ * sem_ch3.adb (Build_Derived_Numeric_Type): Inherit flag
+ Has_Unsigned_Base_Range_Aspect.
+ (Unsigned_Base_Range_Type_Declaration): New subprogram.
+ (Has_Pragma_Unsigned_Base_Range): New subprogram.
+ * sem_prag.adb (Analyze_Pragma): Handle Pragma_Unsigned_Base_Range.
+ * snames.adb-tmpl (Get_Pragma_Id): Handle Name_Unsigned_Base_Range.
+ (Is_Pragma_Name): ditto.
+ * snames.ads-tmpl (Name_Unsigned_Base_Range): New name.
+ (Attribute_Unsigned_Base_Range): New attribute.
+ (Pragma_Unsigned_Base_Range): New pragma.
+ * libgnat/s-aridou.ads (Add_With_Ovflo_Check): New routine for Double_Uns.
+ (Subtract_With_Ovflo_Check): ditto.
+ (Multiply_With_Ovflo_Check): ditto.
+ * libgnat/s-aridou.adb (Add_With_Ovflo_Check): ditto.
+ (Subtract_With_Ovflo_Check): ditto.
+ (Multiply_With_Ovflo_Check): ditto.
+ * libgnat/s-arit64.ads (Uns_Add_With_Ovflo_Check64): New subprogram.
+ (Uns_Subtract_With_Ovflo_Check64): ditto.
+ (Uns_Multiply_With_Ovflo_Check64): ditto.
+ * libgnat/s-arit64.adb (Uns_Add_With_Ovflo_Check64): New subprogram.
+ (Uns_Subtract_With_Ovflo_Check64): ditto.
+ (Uns_Multiply_With_Ovflo_Check64): ditto.
+ * libgnat/s-arit128.ads (Uns_Add_With_Ovflo_Check128): New subprogram.
+ (Uns_Subtract_With_Ovflo_Check128): ditto.
+ (Uns_Multiply_With_Ovflo_Check128): ditto.
+ * libgnat/s-arit128.adb (Uns_Add_With_Ovflo_Check128): New subprogram.
+ (Uns_Subtract_With_Ovflo_Check128): ditto.
+ (Uns_Multiply_With_Ovflo_Check128): ditto.
+ * doc/gnat_rm/gnat_language_extensions.rst: Document unsigned
+ base range.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2025-09-09 Viljar Indus <indus@adacore.com>
+
+ * atree.adb (Mark_New_Ghost_Node): Store the assertion level on the
+ entity.
+ * contracts.adb (Analyze_Package_Contract): Add support for multiple
+ pragma Initial_Condition orginating from multiple assertion levels.
+ * cstand.adb (Make_Assertion_Level_Definition): New function that
+ creates a new Assertion_Level and adds it to the Assertion_Levels
+ table.
+ (Create_Standard): Add definitions for assertion levels defined in
+ Standard.
+ (Print_Standard): Add assertion level pragmas do the output.
+ * exp_ch6.adb (Check_Subprogram_Variant): Add support for multiple
+ Subprogram_Variant pragmas created by assertion levels.
+ * einfo.ads: add info for the new nodes and attributes.
+ * exp_prag.adb (Consequence_Error): Fix error message string
+ corruption caused by another call to the internal strings during
+ the call to Make_Procedure_Call_Statement.
+ (Expand_Pragma_Initial_Condition): Ensure all ghost related
+ attributes are copied to the new pragma.
+ (Expand_Pragma_Loop_Variant): Likewise.
+ (Expand_Pragma_Subprogram_Variant). Likewise. Additionally
+ create a new Subprogram_Variant function for each pragma associated
+ with an assertion level.
+ * exp_util.adb (Add_DIC_Check): Ensure all ghost related attributes
+ are copied to the new pragma.
+ (Build_DIC_Procedure_Body): Add support for mutliple DIC pragmas
+ created from assertion levels.
+ * gen_il-fields.ads:
+ (Aspect_Ghost_Assertion_Level): New field.
+ (Original_Aspect): New field.
+ (Original_Pragma): New field.
+ (Pragma_Ghost_Assertion_Level): New field.
+ (Child_Levels): New field.
+ (Ghost_Assertion_Level): New field.
+ (Parent_Levels): New field.
+ * gen_il-gen-gen_entities.adb:
+ Add Ghost_Assertion_Level field for all entities
+ Add new E_Assertion_Level entity for storing assertion levels.
+ * gen_il-gen-gen_nodes.adb:
+ Add Aspect_Ghost_Assertion_Level for N_Aspect to store the
+ assertion level associated with the aspect.
+ Add Original_Aspect to store the original aspect where the aspect
+ that was transformed from an aspect with an assertion level
+ origninated from.
+ Add Pragma_Ghost_Assertion_Level and Original_Pragma to store
+ the same information for N_Prama nodes.
+ * gen_il-types.ads: Add new entity kind E_Assertion_Level
+ * ghost.adb (Assertion_Level_Error_Msg): Create constant for
+ error messages using the same main error message.
+ (Ghost_Policy_Error_Msg): Likewise.
+ (Assertion_Level_To_Name): New subprogram.
+ (Check_Valid_Ghost_Declaration): New subprogram.
+ (Get_Ghost_Aspect): New subprogram.
+ (Get_Ghost_Assertion_Level): New subprogram.
+ (Ghost_Policy_In_Effect): New subprogram.
+ (Install_Ghost_Region): New subprogram.
+ (Mark_And_Set_Ghost_Region): New subprogram.
+ (Mark_Ghost_Declaration_Or_Body): Add new argument for assertion
+ levels.
+ (Check_Ghost_Completion): Update ghost policy calculation with
+ assertion levels. Refactor error message.
+ (Is_OK_Statement): Add new checks for valid assertion policies and
+ assertion levels.
+ (Is_OK_Pragma): Refactor the calculation of valid ghost pragmas.
+ (Check_Ghost_Policy): Make the checks ghost region based.
+ (Check_Ghost_Context): Refactor the order of checks.
+ (Check_Ghost_Formal_Procedure_Or_Package): Relax the checks for
+ overriding procedures. Now only ignored subprograms cannot be
+ overridden by checked or non-ghost subprograms.
+ (Check_Ghost_Primitive): Relax conditions for primitve operations.
+ Now only checked primitive subprograms are considered invalid for
+ ignored tagged types. Add assertion level compatibility checks.
+ (Check_Ghost_Refinement): Relax conditions for ghost refinements.
+ Add assertion level compatibility checks for refinements.
+ (Install_Ghost_Region): Store the current region and the assertion
+ for that region in the ghost config.
+ (Enables_Ghostness): Refactor implementation to support assertion
+ levels.
+ (Is_Subject_To_Ghost): Simplify implementation.
+ (Mark_And_Set_Ghost_Assignment): Refactor implementation.
+ (Mark_And_Set_Ghost_Body): Add support for assertion levels.
+ (Mark_And_Set_Ghost_Completion): Likewise.
+ (Mark_And_Set_Ghost_Declaration): Likwise.
+ (Mark_And_Set_Ghost_Instantiation): Likwise.
+ (Mark_And_Set_Ghost_Procedure_Call): Refactor implementation.
+ (Mark_Ghost_Declaration_Or_Body): Add support for assertion levels.
+ (Set_Ghost_Mode): Likwise.
+ * ghost.ads (Assertion_Level_From_Arg): New subprogram.
+ (Install_Ghost_Region): Add argument Level for assertrion levels.
+ (Is_Assertion_Level_Dependent): New subprogram.
+ * lib-xref.ads: Add new mapping for E_Assertion_Level entities.
+ * opt.ads (Ghost_Config_Type): Add new members Ghost_Assertion_Mode
+ and Current_Region to the structure.
+ * par-prag.adb (Prag): Add new pragma name Assertion_Level.
+ * rtsfind.adb (Load_RTU): Update the arguments for the call to
+ Install_Ghost_Region.
+ * sem.adb (Do_Analyze): Likewise.
+ * sem_ch13.adb (Convert_Aspect_With_Assertion_Levels): New
+ subprogram.
+ (Make_Aitem_Pragma): Copy ghost mode attributes from the aspect to
+ the pragma.
+ (Analyze_Aspect_Specifications): Convert aspects that have an
+ assertion level association in the aspects without the association
+ and the original supported syntax and with the assertion level
+ stored on the aspect node.
+ Updated duplicate detection to avoid duplicates being called on
+ aspects with assertion levels that orginated from the same aspect.
+ * sem_prag.adb (Apply_Check_Policy): New subprogram.
+ (Get_Applicable_Policy): New subprogram.
+ (Mark_Is_Checked): New subprogram.
+ (Mark_Is_Disabled): New subprogram.
+ (Mark_Is_Ignored): New subprgram.
+ (Check_Arg_Is_One_Of): Remove versions that had a specific number
+ of arguments and replace them with a list one.
+ (Create_Pragma_Without_Assertion_Level): New subprogram.
+ (Assertion_Level_Pragma_Comes_From_Source): New subprogram.
+ (Analyze_Pragma): Replace aspects that have an assertion level
+ with aspects without them where the level is stored on the pragma
+ node.
+ (Abstract_State): Add support for assertion levels in ghost
+ Abstract_State pragmas.
+ (Assert): Update argument handling for Assert like pragmas.
+ (Assertion_Level): Add a new section to support the analysis of
+ pragma Assertion_Level.
+ (Assertion_Policy): Add support for setting the policy for assertion
+ levels.
+ (Check): Update argument handling. Update the assertion policy
+ application process.
+ (Check_Policy): Add support for assertion levels. Add check_policy
+ pragmas for assertion_level dependencis also to the stack of
+ known Check_Policy pragmas.
+ (Default_Initial_Condition): Reject the use of DIC with assertion
+ levels. Update duplication checks.
+ (Ghost): Add support for assertion levels. Fix issue where
+ assertion levels with Ghost => False were treated as ghost.
+ (Predicate): Update the policy handling of Ghost_Predicate.
+ (Analyze_Refined_State_In_Decl_Part): Create a new ghost region
+ for analyzing Refined_State.
+ (Check_Applicable_Policy): Refactor the implementation. Break it
+ down to Get_Applicable_Policy and Apply_Check_Policy.
+ (Check_Kind): Removed. Replaced by Get_Applicable_Policy and
+ Apply_Check_Policy.
+ (Initialize): Initialize the table storing all know assertion
+ levels.
+ * sem_prag.ads (Find_Assertion_Level): New subprogram.
+ (Insert_Assertion_Level): New subprogram.
+ (Check_Applicable_Policy): Add new argument Level.
+ (Check_Kind): Removed. Merged with Get_Applicable_Policy.
+ (Get_Assertion_Level): New subprogram.
+ (Is_Valid_Assertion_Level): New subprogram.
+ * sem_util.adb (Copy_Assertion_Policy_Attributes): New function
+ for copying the ghost related attributes from one pragma to
+ another.
+ (Copy_Subprogram_Spec): Additionally copy the level from the spec.
+ (Depends_On_Level): New function for checking if one level depends
+ on another level.
+ (From_Same_Aspect): New function for checking whether the aspects
+ orignate from the same original aspect.
+ (From_Same_Pragma): New function for checking whether the pragmas
+ originate from the same original aspect or pragma.
+ (Get_Subprogram_Entity): Avoid crash when being called when the
+ entity has not been set for the subprogram.
+ (Has_Assertion_Level_Argument): New function for checking whether
+ the aspect or a pragma has an argument that is using an assertion
+ level association.
+ (Policy_In_Effect): add an additional argument for the level that
+ should be checked along with the assertion name.
+ * sem_util.ads (Copy_Assertion_Policy_Attributes): New function.
+ (Depends_On_Level): Likewise.
+ (From_Same_Aspect): Likewise.
+ (From_Same_Pragma): Likewise.
+ (Has_Assertion_Level_Argument): Likewise.
+ (Is_Same_Or_Depends_On_Level): Likewise.
+ (Policy_In_Effect): Add new argument Level.
+ * sinfo.ads: Add documentation for all the new attributes that
+ were added to the nodes and entities.
+ * snames.ads-tmpl: Add new entries for Name_Assertion_Level,
+ Name_uDefault_Assertion_Level and Pragma_Assertion_Level.
+ * stand.ads: Add new entities for the predefined assertion levels.
+ (Standard_Level_Static): Definition for the predefined Static
+ level that is always ignored.
+ (Standard_Level_Runtime): Defintion for the predefined Runtime
+ level that is always checked.
+ (Standard_Level_Default): Definition for the implicit Default
+ level that is given for ghost entities that were not associated
+ with an assertion level (e.g. Ghost => True).
+ * tbuild.adb (Make_Assertion_Level): New function for constructin
+ an assertion level.
+ * tbuild.ads (Make_Assertion_Level): Likewise.
+
2025-08-04 Viljar Indus <indus@adacore.com>
* contracts.adb: Use Is_Ignored_In_Codegen instead of just
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 28a80d0edc22..a86e2c215416 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,52 @@
+2025-09-09 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/99682
+ PR c++/121808
+ * module.cc (class module_state): Add comment to 'parent'.
+ (module_state::check_not_purview): Rename to...
+ (module_state::check_circular_import): ...this. Only handle
+ interface dependencies, adjust diagnostic message.
+ (module_state::read_imports): Use new function. Pass location
+ of import as from_loc instead of the module location.
+ (module_state::do_import): Set module_p when importing the
+ primary interface for the current module.
+ (import_module): Split out check for imports in own unit.
+ Remove incorrect assertion.
+ (preprocess_module): Don't overwrite module-decl location with
+ later import.
+
+2025-09-09 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * module.cc (this_module): New function.
+ (import_entity_module): Use it.
+ (trees_out::decl_node): Likewise.
+ (get_module): Likewise.
+ (module_state::check_not_purview): Likewise.
+ (module_state::read_imports): Likewise.
+ (module_state::read_using_directives): Likewise.
+ (module_state::read_initial): Likewise.
+ (get_import_bitmap): Likewise.
+ (module_may_redeclare): Likewise.
+ (direct_import): Likewise.
+ (declare_module): Likewise.
+ (name_pending_imports): Likewise.
+ (preprocess_module): Likewise.
+ (finish_module_processing): Likewise.
+ (late_finish_module): Likewise.
+
+2025-09-09 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/121779
+ * tree.cc (build_min_non_dep_op_overload): Handle comparison
+ operator expressions rewritten from a <=> that returns a
+ non-class type.
+
+2025-09-09 Matthias Kretz <m.kretz@gsi.de>
+
+ PR c++/121801
+ * mangle.cc (write_real_cst): Handle 16-bit real and assert
+ that reals have 16 bits or a multiple of 32 bits.
+
2025-09-07 H.J. Lu <hjl.tools@gmail.com>
PR c++/107393
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index ef751fb87e84..fb3cbc3223b8 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,37 @@
+2025-09-09 Harald Anlauf <anlauf@gmx.de>
+
+ * trans-intrinsic.cc (conv_intrinsic_fstat_lstat_stat_sub): Init
+ some variables.
+
+2025-09-09 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/82480
+ * check.cc (error_unsupported_kind): Helper function to report an
+ unsupported kind of an argument.
+ (check_minrange4): Helper function to report if an integer variable
+ does not have a decimal range of at least four.
+ (gfc_check_fstat): Adjust checks for generalization of instrinsic
+ function FSTAT.
+ (gfc_check_fstat_sub): Likewise for subroutine FSTAT.
+ (gfc_check_stat): Likewise for functio STAT.
+ (gfc_check_stat_sub): Likewise for subroutine STAT.
+ * intrinsic.texi: Document generalized versions of intrinsics
+ STAT/LSTAT/FSTAT.
+ * iresolve.cc (gfc_resolve_stat): STAT function result shall have
+ the same kind as the VALUES argument.
+ (gfc_resolve_lstat): Likewise for LSTAT.
+ (gfc_resolve_fstat): Likewise for FSTAT.
+ (gfc_resolve_stat_sub): Resolve proper library subroutine for STAT.
+ (gfc_resolve_lstat_sub): Likewise for LSTAT.
+ * trans-decl.cc (gfc_build_intrinsic_function_decls): Declare
+ fndecls for required subroutines in runtine library.
+ * trans-intrinsic.cc (conv_intrinsic_fstat_lstat_stat_sub): Emit
+ runtime wrapper code for the library functions, taking care of
+ possible kind conversion of the optional STATUS argument of the
+ subroutine versions of the intrinsics.
+ (gfc_conv_intrinsic_subroutine): Use it.
+ * trans.h (GTY): Declare prototypes.
+
2025-09-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/84008
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d80bd20c57bd..9a960dc33cee 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,121 @@
+2025-09-09 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/99682
+ PR c++/121808
+ * g++.dg/modules/circ-1_c.C: Adjust diagnostic.
+ * g++.dg/modules/mod-decl-1.C: Likewise.
+ * g++.dg/modules/mod-decl-2_b.C: Likewise.
+ * g++.dg/modules/pr99174.H: Likewise.
+ * g++.dg/modules/import-3_a.C: New test.
+ * g++.dg/modules/import-3_b.C: New test.
+ * g++.dg/modules/import-3_c.C: New test.
+ * g++.dg/modules/mod-decl-9.C: New test.
+ * g++.dg/modules/part-10_a.C: New test.
+ * g++.dg/modules/part-10_b.C: New test.
+ * g++.dg/modules/part-10_c.C: New test.
+ * g++.dg/modules/part-10_d.C: New test.
+
+2025-09-09 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR testsuite/121872
+ * g++.dg/modules/default-arg-4_b.C: Change run to compile.
+
+2025-09-09 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/121779
+ * g++.dg/lookup/operator-8.C: Remove outdated comment about
+ this test failing.
+ * g++.dg/lookup/operator-8a.C: New test.
+
+2025-09-09 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/82480
+ * gfortran.dg/stat_3.f90: Extend argument checking.
+ * gfortran.dg/stat_4.f90: New test.
+
+2025-09-09 David Faust <david.faust@oracle.com>
+
+ PR debug/121411
+ * gcc.dg/debug/ctf/ctf-struct-3.c: New test.
+
+2025-09-09 Paul-Antoine Arras <parras@baylibre.com>
+
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-1-f16.c: Add vfwsub.vf.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-1-f32.c: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-2-f16.c: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-2-f32.c: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-3-f16.c: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-3-f32.c: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-4-f16.c: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-4-f32.c: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf_binop.h
+ (DEF_VF_BINOP_WIDEN_CASE_0, DEF_VF_BINOP_WIDEN_CASE_1): Swap operands.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf_binop_widen_run.h: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf_vfwsub-run-1-f16.c: New test.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf_vfwsub-run-1-f32.c: New test.
+
+2025-09-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/121678
+ * g++.dg/ext/pr121678.C: New test.
+ * gcc.dg/pr121678.c: New test.
+
+2025-09-09 Paul-Antoine Arras <parras@baylibre.com>
+
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-1-f16.c: Add vfwadd.wf.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-1-f32.c: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-2-f16.c: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-2-f32.c: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-3-f16.c: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-3-f32.c: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-4-f16.c: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf-4-f32.c: Likewise.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf_binop.h: Add support for single
+ widening variants.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf_binop_widen_run.h: Add support
+ for single widening variants.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf_vfwadd-run-2-f16.c: New test.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vf_vfwadd-run-2-f32.c: New test.
+
+2025-09-09 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ Revert:
+ 2025-09-09 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * gcc.target/aarch64/simd/bcax_d.c: Add tests for DImode arguments.
+
+2025-09-09 Tamar Christina <tamar.christina@arm.com>
+
+ Revert:
+ 2025-09-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121829
+ * gcc.dg/torture/pr121829.c: New testcase.
+
+2025-09-09 Matthias Kretz <m.kretz@gsi.de>
+
+ PR c++/121801
+ * g++.dg/abi/pr121801.C: New test.
+
+2025-09-09 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121861
+ * gcc.target/i386/pr121861-1a.c: New file.
+ * gcc.target/i386/pr121861-1b.c: Likewise.
+
+2025-09-09 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx256_avoid_vec_perm-3.c: New test.
+ * gcc.target/i386/avx256_avoid_vec_perm-4.c: New test.
+ * gcc.target/i386/avx512bw-vpalignr-4.c: Adjust testcase.
+ * gcc.target/i386/avx512vl-vpalignr-4.c: Ditto.
+
+2025-09-09 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx256_avoid_vec_perm.c: Adjust testcase.
+ * gcc.target/i386/avx256_avoid_vec_perm-2.c: New test.
+ * gcc.target/i386/avx256_avoid_vec_perm-5.c: New test.
+
2025-09-08 Eric Botcazou <ebotcazou@adacore.com>
PR ada/121532
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index b9efabd35648..1948f39fec3a 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,16 @@
+2025-09-09 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/type_traits (_CwFixedValue::_S_type): Rename to
+ __type.
+ (constant_wrapper): Rename template parameter in declaration to
+ match later definition.
+
+2025-09-09 Arsen Arsenović <arsen@aarsen.me>
+
+ * doc/xml/manual/using_exceptions.xml: Replace "Tunables" link
+ with one that does not have an anchor.
+ * doc/html/manual/using_exceptions.html: Regenerate.
+
2025-09-08 Jonathan Wakely <jwakely@redhat.com>
* include/std/type_traits (constant_wrapper): Rename template
More information about the Libstdc++-cvs
mailing list