[gcc r17-2032] Daily bump.
GCC Administrator
gccadmin@gcc.gnu.org
Wed Jul 1 00:17:14 GMT 2026
https://gcc.gnu.org/g:5191ec4842d14792fde780ea2fdace97f22cf4d8
commit r17-2032-g5191ec4842d14792fde780ea2fdace97f22cf4d8
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date: Wed Jul 1 00:16:44 2026 +0000
Daily bump.
Diff:
---
gcc/ChangeLog | 666 ++++++++++++++++++++++++++++++++++++++++++++++++
gcc/DATESTAMP | 2 +-
gcc/c-family/ChangeLog | 12 +
gcc/c/ChangeLog | 10 +
gcc/cobol/ChangeLog | 98 +++++++
gcc/cp/ChangeLog | 8 +
gcc/fortran/ChangeLog | 24 ++
gcc/testsuite/ChangeLog | 263 +++++++++++++++++++
include/ChangeLog | 4 +
libcpp/ChangeLog | 9 +
libgcobol/ChangeLog | 24 ++
libgomp/ChangeLog | 93 +++++++
libstdc++-v3/ChangeLog | 56 ++++
13 files changed, 1268 insertions(+), 1 deletion(-)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 987ac63dd440..e525eba8c957 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,669 @@
+2026-06-30 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/55212
+ * config/sh/predicates.md (simple_mem_operand):
+ Use 'satisfies_constraint_Sra'.
+ (post_inc_mem, pre_dec_mem): Use 'satisfies_constraint_Rab'.
+ * config/sh/constraints.md (Rab, Rai, Sgb): New constraints.
+ (Sua, Sdd, Snd, Ssd, Sbv, Sra, Ara, Add): Use Rab and Rai constraints.
+ * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): Reject
+ GBR addresses when hard-llcs atomic mode is enabled.
+
+2026-06-30 Abhishek Kaushik <abhishek.kaushik@arm.com>
+
+ * config/aarch64/aarch64.cc: Include gimple-fold.h.
+ (aarch64_try_widen_mult_by_pow2): New function.
+ (aarch64_instruction_selection): Call it for conversion assignments.
+
+2026-06-30 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/125961
+ * tree-ssa-phiopt.cc (factor_out_conditional_operation): Use
+ remove_phi_node instead of gsi_remove for the phi node.
+ (factor_out_conditional_load): Likewise.
+
+2026-06-30 Karl Meakin <karl.meakin@arm.com>
+
+ * config/aarch64/aarch64-acle-builtins.h
+ (TYPES_neon_reinterpret1, TYPES_neon_reinterpret,
+ TYPES_neon_reinterpretq1, TYPES_neon_reinterpretq,
+ neon_reinterpret, neon_reinterpretq): New type lists.
+ * config/aarch64/aarch64-builtins.cc (VREINTERPRET_BUILTIN2,
+ VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS,
+ VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1,
+ VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN): Delete macros.
+ (AARCH64_SIMD_VREINTERPRET_BUILTINS): Delete enum member.
+ (aarch64_init_simd_intrinsics): Delete function.
+ (init_arm_neon_builtins): Delete call to
+ `aarch64_init_simd_intrinsics`.
+ (aarch64_general_fold_builtin): Delete case for
+ `AARCH64_SIMD_VREINTERPRET_BUILTINS`.
+ * config/aarch64/aarch64-neon-builtins-base.cc (struct
+ gimple_reinterpret): New struct.
+ (vreinterpret, vreinterpretq): New function bases.
+ * config/aarch64/aarch64-neon-builtins-base.def (vreinterpret,
+ vreinterpretq): New function groups.
+
+2026-06-30 Karl Meakin <karl.meakin@arm.com>
+
+ * config/aarch64/aarch64-simd-pragma-builtins.def (vext_mf8,
+ vextq_mf8, vrev64_mf8, vrev64q_mf8, vrev32_mf8, vrev32q_mf8,
+ vrev16_mf8, vrev16q_mf8, vtrn1_mf8, vtrn1q_mf8, vtrn2_mf8,
+ vtrn2q_mf8, vtrn_mf8, vtrnq_mf8, vuzp1_mf8, vuzp1q_mf8,
+ vuzp2_mf8, vuzp2q_mf8, vuzp_mf8, vuzpq_mf8, vzip1_mf8,
+ vzip1q_mf8, vzip2_mf8, vzip2q_mf8, vzip_mf8, vzipq_mf8):
+ Delete functions.
+ * config/aarch64/aarch64-sve-builtins-shapes.cc (parse_type):
+ Handle `D` or `Q` followed by `x1,x2,x3,x4` to mean tuple
+ types.
+ * config/aarch64/aarch64-acle-builtins.h (TYPES_bh_poly,
+ TYPES_bhs_neon, TYPES_neon_rev16, TYPES_neon_rev32,
+ TYPES_neon_rev64): New type lists.
+ (bh_poly, bhs_neon, neon_rev16, neon_rev32, neon_rev64):
+ Likewise.
+ * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_types):
+ Remove `static` qualifier.
+ * config/aarch64/aarch64-builtins.h (aarch64_simd_tuple_types):
+ New declaration.
+ * config/aarch64/aarch64-neon-builtins-base.cc (build_tuple_get,
+ build_tuple_set): New functions.
+ (class gimple_permute, class gimple_permute_pair): New classes.
+ (ext_mask, rev_mask, trn_mask, uzp_mask, zip_mask): New
+ functions.
+ (vext, vextq, vrev16, vrev16q, vrev32, vrev32q, vtrn1, vtrn1q,
+ btrn2, vtrn2q, vtrn, vtrnq, vuzp1, vuzp1q, vuzp2, vuzp2q, vuzp,
+ vuzpq, vzip1, vzip1q, vzip2, vzip2q, vzip, vzipq): New function
+ bases.
+ * config/aarch64/aarch64-neon-builtins-base.def (vext, vextq,
+ vrev16, vrev16q, vrev32, vrev32q, vrev64, vrev64q, vtrn,
+ vtrn1, vtrn1q, vtrn2, vtrn2q, vtrnq, vuzp, vuzp1, vuzp1q,
+ vuzp2, vuzp2q, vuzpq, vzip, vzip1, vzip1q, vzip2, vzip2q,
+ vzipq): New function groups.
+ * config/aarch64/aarch64-simd-builtins.def (zip1, zip2, uzp1,
+ uzp2, trn1, trn2): Delete builtin functions.
+ * config/aarch64/arm_neon.h (vext_f16, vext_f32, vext_f64,
+ vext_p8, vext_p16, vext_p64, vext_s8, vext_s16, vext_s32,
+ vext_s64, vext_u8, vext_u16, vext_u32, vext_u64, vextq_f16,
+ vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_p64,
+ vextq_s8, vextq_s16, vextq_s32, vextq_s64, vextq_u8,
+ vextq_u16, vextq_u32, vextq_u64, vrev16_p8, vrev16_s8,
+ vrev16_u8, vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8,
+ vrev32_p16, vrev32_s8, vrev32_s16, vrev32_u8, vrev32_u16,
+ vrev32q_p8, vrev32q_p16, vrev32q_s8, vrev32q_s16, vrev32q_u8,
+ vrev32q_u16, vrev64_f16, vrev64_f32, vrev64_p8, vrev64_p16,
+ vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
+ vrev64_u32, vrev64q_f16, vrev64q_f32, vrev64q_p8, vrev64q_p16,
+ vrev64q_s8, vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16,
+ vrev64q_u32, vtrn1_f16, vtrn1_f32, vtrn1_p8, vtrn1_p16,
+ vtrn1_s8, vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16,
+ vtrn1_u32, vtrn1q_f16, vtrn1q_f32, vtrn1q_f64, vtrn1q_p8,
+ vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32, vtrn1q_s64,
+ vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_p64, vtrn1q_u64,
+ vtrn2_f16, vtrn2_f32, vtrn2_p8, vtrn2_p16, vtrn2_s8,
+ vtrn2_s16, vtrn2_s32, vtrn2_u8, vtrn2_u16, vtrn2_u32,
+ vtrn2q_f16, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
+ vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8,
+ vtrn2q_u16, vtrn2q_u32, vtrn2q_u64, vtrn2q_p64, vtrn_f16,
+ vtrn_f32, vtrn_p8, vtrn_p16, vtrn_s8, vtrn_s16, vtrn_s32,
+ vtrn_u8, vtrn_u16, vtrn_u32, vtrnq_f16, vtrnq_f32, vtrnq_p8,
+ vtrnq_p16, vtrnq_s8, vtrnq_s16, vtrnq_s32, vtrnq_u8,
+ vtrnq_u16, vtrnq_u32, vuzp1_f16, vuzp1_f32, vuzp1_p8,
+ vuzp1_p16, vuzp1_s8, vuzp1_s16, vuzp1_s32, vuzp1_u8,
+ vuzp1_u16, vuzp1_u32, vuzp1q_f16, vuzp1q_f32, vuzp1q_f64,
+ vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
+ vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64,
+ vuzp1q_p64, vuzp2_f16, vuzp2_f32, vuzp2_p8, vuzp2_p16,
+ vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8, vuzp2_u16,
+ vuzp2_u32, vuzp2q_f16, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8,
+ vuzp2q_p16, vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64,
+ vuzp2q_u8, vuzp2q_u16, vuzp2q_u32, vuzp2q_u64, vuzp2q_p64,
+ vzip1_f16, vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
+ vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32,
+ vzip1q_f16, vzip1q_f32, vzip1q_f64, vzip1q_p8, vzip1q_p16,
+ vzip1q_s8, vzip1q_s16, vzip1q_s32, vzip1q_s64, vzip1q_u8,
+ vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip1q_p64, vzip2_f16,
+ vzip2_f32, vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16,
+ vzip2_s32, vzip2_u8, vzip2_u16, vzip2_u32, vzip2q_f16,
+ vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16, vzip2q_s8,
+ vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
+ vzip2q_u32, vzip2q_u64, vzip2q_p64): Delete functions.
+
+2026-06-30 Karl Meakin <karl.meakin@arm.com>
+
+ * config/aarch64/aarch64.md (UNSPEC_BSL): Delete unspec.
+ * config/aarch64/aarch64-simd-pragma-builtins.def (vbsl_mf8,
+ vbslq_mf8): Delete functions.
+ * config/aarch64/aarch64-neon-builtins-base.cc (build_cast): New
+ function.
+ (class gimple_not_rhs, class gimple_bsl, class gimple_rbit,
+ class gimple_eor3, class gimple_bcax, class gimple_rax1, class
+ gimple_xar, class gimple_ifn): New classes.
+ (vand, vandq, vbic, vbicq, vbsl, vbslq, veor, veorq, vmvn,
+ vmvnq, vorn, vornq, vorr, vorrq, vrbit, vrbitq, vbcaxq, veor3q,
+ vrax1q, vxarq, vcls, vclsq, vclz, vclzq, vcnt, vcntq): New
+ function bases.
+ * config/aarch64/aarch64-neon-builtins-shapes.cc (shift): New function.
+ * config/aarch64/aarch64-builtins.cc
+ (aarch64_types_bsl_p_qualifiers,
+ aarch64_types_bsl_s_qualifiers,
+ aarch64_types_bsl_u_qualifiers): Delete unused qualifiers.
+ * config/aarch64/aarch64-simd.md
+ (@aarch64_rbit<mode><vczle><vczbe>): Add `@` modifier so that
+ it is callable from `aarch64-neon-builtins-base.cc`.
+ * config/aarch64/aarch64-acle-builtins.h (TYPES_b_neon,
+ TYPES_b_poly): New type lists.
+ * config/aarch64/aarch64-neon-builtins-base.def (vand, vandq,
+ vbic, vbicq, vbsl, vbslq, veor, veorq, vmvn, vmvnq, vorn,
+ vornq, vorr, vorrq, vrbit, vrbitq, vbcaxq, veor3q, vrax1q,
+ vxarq, vcls, vclsq, vclz, vclzq, vcnt, vcntq): New function
+ groups.
+ * config/aarch64/aarch64-simd-builtins.def (clrsb, clz, ctz,
+ popcount, rbit, simd_bsl): Delete builtin functions.
+ * config/aarch64/arm_neon.h (vbsl_f16, vbsl_f32, vbsl_f64,
+ vbsl_p8, vbsl_p16, vbsl_p64, vbsl_s8, vbsl_s16, vbsl_s32,
+ vbsl_s64, vbsl_u8, vbsl_u16, vbsl_u32, vbsl_u64, vbslq_f16,
+ vbslq_f32, vbslq_f64, vbslq_p8, vbslq_p16, vbslq_s8,
+ vbslq_s16, vbslq_p64, vbslq_s32, vbslq_s64, vbslq_u8,
+ vbslq_u16, vbslq_u32, vbslq_u64, vcls_s8, vcls_s16, vcls_s32,
+ vclsq_s8, vclsq_s16, vclsq_s32, vcls_u8, vcls_u16, vcls_u32,
+ vclsq_u8, vclsq_u16, vclsq_u32, vclz_s8, vclz_s16, vclz_s32,
+ vclz_u8, vclz_u16, vclz_u32, vclzq_s8, vclzq_s16, vclzq_s32,
+ vclzq_u8, vclzq_u16, vclzq_u32, vcnt_p8, vcnt_s8, vcnt_u8,
+ vcntq_p8, vcntq_s8, vcntq_u8, vrbit_p8, vrbit_s8, vrbit_u8,
+ vrbitq_p8, vrbitq_s8, vrbitq_u8, veor3q_u8, veor3q_u16,
+ veor3q_u32, veor3q_u64, veor3q_s8, veor3q_s16, veor3q_s32,
+ veor3q_s64, vrax1q_u64, vxarq_u64, vbcaxq_u8, vbcaxq_u16,
+ vbcaxq_u32, vbcaxq_u64, vbcaxq_s8, vbcaxq_s16, vbcaxq_s32,
+ vbcaxq_s64): Delete functions.
+
+2026-06-30 Karl Meakin <karlwfmeakin@gmail.com>
+
+ * config/aarch64/aarch64-simd-pragma-builtins.def (
+ vcopy_lane_mf8, vcopyq_lane_mf8, vcopy_laneq_mf8,
+ vcopyq_laneq_mf8, vdup_lane_mf8, vdupq_lane_mf8,
+ vdup_laneq_mf8, vdupq_laneq_mf8, vset_lane_mf8,
+ vsetq_lane_mf8): Delete entries.
+ * config/aarch64/aarch64-builtins.cc
+ (AARCH64_SIMD_VGET_LOW_BUILTINS,
+ AARCH64_SIMD_VGET_HIGH_BUILTINS, VGET_LOW_BUILTIN,
+ VGET_HIGH_BUILTIN): Delete macros.
+ (enum aarch64_builtins): Delete
+ `AARCH64_SIMD_BUILTIN_LANE_CHECK`.
+ (aarch64_init_simd_builtin_functions): Delete code that
+ registers `__builtin_aarch64_im_lane_boundsi`.
+ (aarch64_pragma_builtins_checker::check): Delete cases for
+ `UNSPEC_DUP_LANE`, `UNSPEC_GET_LANE` and `UNSPEC_VEC_COPY`.
+ (aarch64_simd_expand_builtin): Delete case for
+ `AARCH64_SIMD_BUILTIN_LANE_CHECK`.
+ (aarch64_expand_pragma_builtin): Delete cases for
+ `UNSPEC_DUP_LANE` and `UNSPEC_VEC_COPY`.
+ (aarch64_general_fold_builtin): Delete cases for
+ `AARCH64_SIMD_VGET_LOW_BUILTINS`,
+ `AARCH64_SIMD_VGET_HIGH_BUILTINS` and
+ `AARCH64_SIMD_BUILTIN_LANE_CHECK`.
+ (aarch64_gimple_fold_pragma_builtin): Delete cases for
+ `UNSPEC_DUP_LANE` and `UNSPEC_VEC_COPY`.
+ (aarch64_general_gimple_fold_builtin): Delete cases for
+ `AARCH64_SIMD_BUILTIN_LANE_CHECK`.
+ * config/aarch64/aarch64.md (UNSPEC_DUP_LANE): Delete unspec.
+ * config/aarch64/aarch64-neon-builtins-shapes.cc (range, lane):
+ New functions.
+ (struct neon_shape): Add new fields for additional checks, and
+ call them in `check()`.
+ * config/aarch64/aarch64-acle-builtins.cc
+ (gimple_folder::force_val, gimple_folder::assign): New
+ functions.
+ * config/aarch64/aarch64-acle-builtins.h (TYPES_all_neon,
+ TYPES_bhsd_neon, TYPES_neon_copy_lane): New type lists.
+ * config/aarch64/iterators.md (VALL_F16_NO_V2Q): Add `V4BF` and `V8BF`.
+ * config/aarch64/aarch64-neon-builtins-base.def (vget_lane,
+ vgetq_lane, vget_high, vget_low, vset_lane, vsetq_lane,
+ vdup_lane, vdupq_lane, vdup_laneq, vdupq_laneq, vcopy_lane,
+ vcopy_laneq, vcopyq_lane, vcopyq_laneq): New function groups.
+ * config/aarch64/aarch64-neon-builtins-base.cc (build_lane_get,
+ build_lane_set, build_vec_dup): New functions.
+ (struct gimple_get_lane, struct gimple_get_half, struct
+ gimple_set_lane, struct gimple_copy_lane, struct gimple_dup,
+ struct gimple_dup_lane): New structs.
+ (vget_lane, vgetq_lane, vset_lane, vsetq_lane, vcopy_lane,
+ vcopyq_lane, vcopy_laneq, vcopyq_laneq, vdup_lane, vdupq_lane,
+ vdupq_lane, vdupq_laneq): New function bases.
+ * config/aarch64/arm_neon.h (__aarch64_vdup_lane_p8,
+ __aarch64_vdup_lane_p16, __aarch64_vdup_lane_p64,
+ __aarch64_vdup_lane_s8, __aarch64_vdup_lane_s16,
+ __aarch64_vdup_lane_s32, __aarch64_vdup_lane_s64,
+ __aarch64_vdup_lane_u8, __aarch64_vdup_lane_u16,
+ __aarch64_vdup_lane_u32, __aarch64_vdup_lane_u64,
+ __aarch64_vdup_laneq_p8, __aarch64_vdup_laneq_p16,
+ __aarch64_vdup_laneq_p64, __aarch64_vdup_laneq_s8,
+ __aarch64_vdup_laneq_s16, __aarch64_vdup_laneq_s32,
+ __aarch64_vdup_laneq_s64, __aarch64_vdup_laneq_u8,
+ __aarch64_vdup_laneq_u16, __aarch64_vdup_laneq_u32,
+ __aarch64_vdup_laneq_u64, __aarch64_vdupq_lane_p8,
+ __aarch64_vdupq_lane_p16, __aarch64_vdupq_lane_p64,
+ __aarch64_vdupq_lane_s8, __aarch64_vdupq_lane_s16,
+ __aarch64_vdupq_lane_s32, __aarch64_vdupq_lane_s64,
+ __aarch64_vdupq_lane_u8, __aarch64_vdupq_lane_u16,
+ __aarch64_vdupq_lane_u32, __aarch64_vdupq_lane_u64,
+ __aarch64_vdupq_laneq_p8, __aarch64_vdupq_laneq_p16,
+ __aarch64_vdupq_laneq_p64, __aarch64_vdupq_laneq_s8,
+ __aarch64_vdupq_laneq_s16, __aarch64_vdupq_laneq_s32,
+ __aarch64_vdupq_laneq_s64, __aarch64_vdupq_laneq_u8,
+ __aarch64_vdupq_laneq_u16, __aarch64_vdupq_laneq_u32,
+ __aarch64_vdupq_laneq_u64, __AARCH64_LANE_CHECK,
+ __aarch64_vget_lane_any, __aarch64_vset_lane_any): Delete
+ macros.
+ (vget_lane_f16, vget_lane_f32, vget_lane_f64, vget_lane_p8,
+ vget_lane_p16, vget_lane_p64, vget_lane_s8, vget_lane_s16,
+ vget_lane_s32, vget_lane_s64, vget_lane_u8, vget_lane_u16,
+ vget_lane_u32, vget_lane_u64, vgetq_lane_f16, vgetq_lane_f32,
+ vgetq_lane_f64, vgetq_lane_p8, vgetq_lane_p16, vgetq_lane_p64,
+ vgetq_lane_s8, vgetq_lane_s16, vgetq_lane_s32, vgetq_lane_s64,
+ vgetq_lane_u8, vgetq_lane_u16, vgetq_lane_u32, vgetq_lane_u64,
+ vset_lane_f16, vset_lane_f32, vset_lane_f64, vset_lane_p8,
+ vset_lane_p16, vset_lane_p64, vset_lane_s8, vset_lane_s16,
+ vset_lane_s32, vset_lane_s64, vset_lane_u8, vset_lane_u16,
+ vset_lane_u32, vset_lane_u64, vsetq_lane_f16, vsetq_lane_f32,
+ vsetq_lane_f64, vsetq_lane_p8, vsetq_lane_p16, vsetq_lane_p64,
+ vsetq_lane_s8, vsetq_lane_s16, vsetq_lane_s32, vsetq_lane_s64,
+ vsetq_lane_u8, vsetq_lane_u16, vsetq_lane_u32, vsetq_lane_u64,
+ vcopy_lane_f32, vcopy_lane_f64, vcopy_lane_p8, vcopy_lane_p16,
+ vcopy_lane_p64, vcopy_lane_s8, vcopy_lane_s16, vcopy_lane_s32,
+ vcopy_lane_s64, vcopy_lane_u8, vcopy_lane_u16, vcopy_lane_u32,
+ vcopy_lane_u64, vcopy_laneq_f32, vcopy_laneq_f64,
+ vcopy_laneq_p8, vcopy_laneq_p16, vcopy_laneq_p64,
+ vcopy_laneq_s8, vcopy_laneq_s16, vcopy_laneq_s32,
+ vcopy_laneq_s64, vcopy_laneq_u8, vcopy_laneq_u16,
+ vcopy_laneq_u32, vcopy_laneq_u64, vcopyq_lane_f32,
+ vcopyq_lane_f64, vcopyq_lane_p8, vcopyq_lane_p16,
+ vcopyq_lane_p64, vcopyq_lane_s8, vcopyq_lane_s16,
+ vcopyq_lane_s32, vcopyq_lane_s64, vcopyq_lane_u8,
+ vcopyq_lane_u16, vcopyq_lane_u32, vcopyq_lane_u64,
+ vcopyq_laneq_f32, vcopyq_laneq_f64, vcopyq_laneq_p8,
+ vcopyq_laneq_p16, vcopyq_laneq_p64, vcopyq_laneq_s8,
+ vcopyq_laneq_s16, vcopyq_laneq_s32, vcopyq_laneq_s64,
+ vcopyq_laneq_u8, vcopyq_laneq_u16, vcopyq_laneq_u32,
+ vcopyq_laneq_u64, vdup_lane_f16, vdup_lane_f32, vdup_lane_f64,
+ vdup_lane_p8, vdup_lane_p16, vdup_lane_p64, vdup_lane_s8,
+ vdup_lane_s16, vdup_lane_s32, vdup_lane_s64, vdup_lane_u8,
+ vdup_lane_u16, vdup_lane_u32, vdup_lane_u64, vdup_laneq_f16,
+ vdup_laneq_f32, vdup_laneq_f64, vdup_laneq_p8, vdup_laneq_p16,
+ vdup_laneq_p64, vdup_laneq_s8, vdup_laneq_s16, vdup_laneq_s32,
+ vdup_laneq_s64, vdup_laneq_u8, vdup_laneq_u16, vdup_laneq_u32,
+ vdup_laneq_u64, vdupq_lane_f16, vdupq_lane_f32,
+ vdupq_lane_f64, vdupq_lane_p8, vdupq_lane_p16, vdupq_lane_p64,
+ vdupq_lane_s8, vdupq_lane_s16, vdupq_lane_s32, vdupq_lane_s64,
+ vdupq_lane_u8, vdupq_lane_u16, vdupq_lane_u32, vdupq_lane_u64,
+ vdupq_laneq_f16, vdupq_laneq_f32, vdupq_laneq_f64,
+ vdupq_laneq_p8, vdupq_laneq_p16, vdupq_laneq_p64,
+ vdupq_laneq_s8, vdupq_laneq_s16, vdupq_laneq_s32,
+ vdupq_laneq_s64, vdupq_laneq_u8, vdupq_laneq_u16,
+ vdupq_laneq_u32, vdupq_laneq_u64, vmulq_lane_f64,
+ vset_lane_bf16, vsetq_lane_bf16, vget_lane_bf16,
+ vgetq_lane_bf16, vdup_lane_bf16, vdup_laneq_bf16,
+ vdupq_lane_bf16, vdupq_laneq_bf16, vcopy_lane_bf16,
+ vcopyq_lane_bf16, vcopy_laneq_bf16, vcopyq_laneq_bf16): Delete
+ functions.
+
+2026-06-30 Karl Meakin <karlwfmeakin@gmail.com>
+
+ * config/aarch64/aarch64-simd-builtins.def (combine): Delete
+ function declarations.
+ * config/aarch64/aarch64-simd-pragma-builtins.def (vcombine_mf8,
+ vcreate_mf8, vdup_n_mf8, vdupq_n_mf8, vmov_n_mf8,
+ vmovq_n_mf8,): Delete entries.
+ (aarch64_expand_pragma_builtin): Delete cases for
+ `UNSPEC_COMBINE` and `UNSPEC_VCREATE`.
+ (aarch64_fold_combine): Delete function.
+ (aarch64_gimple_fold_pragma_builtin): Delete cases for
+ `UNSPEC_COMBINE` and `UNSPEC_VCREATE`.
+ (aarch64_general_gimple_fold_builtin): Delete cases for
+ `vcombine`.
+ * config/aarch64/aarch64.md (UNSPEC_COMBINE): Delete unspec.
+ * config/aarch64/aarch64-builtins.cc
+ (aarch64_expand_pragma_builtin): Delete cases for
+ `UNSPEC_COMBINE` and `UNSPEC_VCREATE`.
+ (aarch64_fold_combine): Delete function.
+ (aarch64_gimple_fold_pragma_builtin): Delete cases for
+ `UNSPEC_COMBINE` and `UNSPEC_VCREATE`.
+ (aarch64_general_gimple_fold_builtin): Delete cases for
+ `combine`.
+ * config/aarch64/aarch64-acle-builtins.cc
+ (gimple_folder::force_val, gimple_folder::assign): New
+ functions.
+ * config/aarch64/aarch64-acle-builtins.h (TYPES_all_neon,
+ TYPES_bhsd_neon): New type lists.
+ * config/aarch64/aarch64-neon-builtins-base.def (vcreate,
+ vcombine, vdup_n, vdupq_n, vmov_n, vmovq_n): New function groups.
+ * config/aarch64/aarch64-neon-builtins-base.cc (build_vec_dup): New function.
+ (struct gimple_create, struct gimple_combine, struct struct
+ gimple_dup): New structs.
+ (vcreate, vcombine, vdup_n, vdupq_n, vmov_n, vmovq_n): New
+ function bases.
+ * config/aarch64/arm_neon.h (vcreate_s8, vcreate_s16,
+ vcreate_s32, vcreate_s64, vcreate_f16, vcreate_f32,
+ vcreate_u8, vcreate_u16, vcreate_u32, vcreate_u64,
+ vcreate_f64, vcreate_p8, vcreate_p16, vcreate_p64,
+ vcombine_s8, vcombine_s16, vcombine_s32, vcombine_s64,
+ vcombine_f16, vcombine_f32, vcombine_u8, vcombine_u16,
+ vcombine_u32, vcombine_u64, vcombine_f64, vcombine_p8,
+ vcombine_p16, vcombine_p64, vdup_n_f16, vdup_n_f32,
+ vdup_n_f64, vdup_n_p8, vdup_n_p16, vdup_n_p64, vdup_n_s8,
+ vdup_n_s16, vdup_n_s32, vdup_n_s64, vdup_n_u8, vdup_n_u16,
+ vdup_n_u32, vdup_n_u64, vdupq_n_f16, vdupq_n_f32, vdupq_n_f64,
+ vdupq_n_p8, vdupq_n_p16, vdupq_n_p64, vdupq_n_s8, vdupq_n_s16,
+ vdupq_n_s32, vdupq_n_s64, vdupq_n_u8, vdupq_n_u16,
+ vdupq_n_u32, vdupq_n_u64, vmov_n_f16, vmov_n_f32, vmov_n_f64,
+ vmov_n_p8, vmov_n_p16, vmov_n_p64, vmov_n_s8, vmov_n_s16,
+ vmov_n_s32, vmov_n_s64, vmov_n_u8, vmov_n_u16, vmov_n_u32,
+ vmov_n_u64, vmovq_n_f16, vmovq_n_f32, vmovq_n_f64, vmovq_n_p8,
+ vmovq_n_p16, vmovq_n_p64, vmovq_n_s8, vmovq_n_s16,
+ vmovq_n_s32, vmovq_n_s64, vmovq_n_u8, vmovq_n_u16,
+ vmovq_n_u32, vmovq_n_u64, vcreate_bf16, vcombine_bf16,
+ vdup_n_bf16, vdupq_n_bf16): Delete functions.
+
+2026-06-30 Karl Meakin <karl.meakin@arm.com>
+
+ * config/aarch64/aarch64-neon-builtins-base.cc: New file.
+ * config/aarch64/aarch64-neon-builtins-base.def: New file.
+ * config/aarch64/aarch64-neon-builtins-base.h: New file.
+ * config/aarch64/aarch64-neon-builtins-functions.h: New file.
+ * config/aarch64/aarch64-neon-builtins-shapes.cc: New file.
+ * config/aarch64/aarch64-neon-builtins-shapes.h: New file.
+ * config/aarch64/aarch64-neon-builtins.def: New file.
+ * config.gcc (extra_headers, extra_objs): Add new files and
+ reformat for readability.
+ * config/aarch64/t-aarch64: Add recipes for new files.
+ * config/aarch64/aarch64-protos.h (handle_arm_neon_h): Rename to
+ `init_arm_neon_builtins`.
+ * config/aarch64/aarch64-builtins.cc (handle_arm_neon_h): Likewise.
+ * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Call
+ `aarch64_acle::handle_arm_neon_h`.
+ * config/aarch64/aarch64-acle-builtins.cc (TYPES_*): Move to
+ aarch64-acle-builtins.h
+ (NONSTREAMING_SVE, SVE_AND_SME, SSVE): Likewise.
+ (neon_function_groups): New variable.
+ (arm_neon_h_handled): Likewise.
+ (handle_arm_neon_h): New function.
+ * config/aarch64/aarch64-sve-builtins-shapes.cc:
+ (gimple_folder::fold): Allow folding if `TARGET_SVE` is
+ false but `TARGET_SIMD` is true.
+ * config/aarch64/aarch64-sve-builtins.def (p8, p16, p64, 128):
+ New type suffixes.
+ * config/aarch64/aarch64-acle-builtins.h (enum
+ handle_pragma_index): New enum member `arm_neon_handle`.
+ (enum type_class_index): New enum member `TYPE_poly`.
+ (TYPES_*): Moved from `aarch64-acle-builtins.cc`.
+ (NONSTREAMING_SVE, SVE_AND_SME, SSVE): Likewise.
+ * config/aarch64/arm_neon.h (vadd_s8, vadd_s16, vadd_s32,
+ vadd_f32, vadd_f64, vadd_u8, vadd_u16, vadd_u32, vadd_s64,
+ vadd_u64, vaddq_s8, vaddq_s16, vaddq_s32, vaddq_s64,
+ vaddq_f32, vaddq_f64, vaddq_u8, vaddq_u16, vaddq_u32,
+ vaddq_u64, vadd_f16, vaddq_f16, vadd_p8, vadd_p16, vadd_p64,
+ vaddq_p8, vaddq_p16, vaddq_p64, vaddq_p128, vaddd_u64,
+ vaddd_s64): Delete function definitions.
+
+2026-06-30 Karl Meakin <karl.meakin@arm.com>
+
+ * config.gcc (target_gtfiles): Rename
+ `aarch64-sve-builtins.{h,cc}` to
+ `aarch64-acle-builtins.{h,cc}`.
+ * config/aarch64/t-aarch64: Likewise.
+ * config/aarch64/aarch64-sve-builtins.h: Move to...
+ * config/aarch64/aarch64-acle-builtins.h: ...here.
+ * config/aarch64/aarch64-sve-builtins.cc: Move to...
+ * config/aarch64/aarch64-acle-builtins.cc: ...here.
+ * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Rename
+ namespace `aarch64_sve` to `aarch64_acle`.
+ (aarch64_resolve_overloaded_builtin): Likewise.
+ (aarch64_check_builtin_call): Likewise.
+ * config/aarch64/aarch64-protos.h: Likewise.
+ * config/aarch64/aarch64-sve-builtins-base.cc: Likewise.
+ * config/aarch64/aarch64-sve-builtins-base.h: Likewise.
+ * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
+ * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
+ * config/aarch64/aarch64-sve-builtins-shapes.h: Likewise.
+ * config/aarch64/aarch64-sve-builtins-sme.cc: Likewise.
+ * config/aarch64/aarch64-sve-builtins-sme.h: Likewise.
+ * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
+ * config/aarch64/aarch64-sve-builtins-sve2.h: Likewise.
+ * config/aarch64/aarch64.cc: Likewise.
+
+2026-06-30 Karl Meakin <karl.meakin@arm.com>
+
+ * config.gcc: Reformat lists over several lines.
+
+2026-06-30 Jeff Law <jeffrey.law@oss.qualcomm.com>
+
+ * config/riscv/riscv.cc (synthesize_ior_xor): If we must synthesize a
+ constant and Zbb is enabled, try both C and ~C to see which is cheaper.
+ (synthesize_and): Likewise.
+
+2026-06-30 Jim Lin <jim@andestech.com>
+
+ PR target/125853
+ * common/config/riscv/riscv-common.cc (riscv_multi_lib_info_t::parse):
+ Remove the path parameter and compare multi_lib_info->path against
+ "." instead.
+ (riscv_compute_multilib): Update caller.
+
+2026-06-30 Jim Tsung-Chun Lin <jim@andestech.com>
+
+ Backported from master:
+ 2026-06-15 Jim Tsung-Chun Lin <jim@andestech.com>
+
+ * common/config/riscv/riscv-common.cc (riscv_select_multilib):
+ Don't set riscv_no_matched_multi_lib here; let the caller own
+ the flag.
+ (riscv_compute_multilib): Drop the early return that accepted
+ the generic-matched multilib_dir; always run the smart matcher
+ and set riscv_no_matched_multi_lib when it finds no candidate.
+
+2026-06-30 Mark Zhuang <zhuangqiubin@linux.spacemit.com>
+
+ * config/riscv/riscv-ext-spacemit.def (xsmtvdotii): New extension.
+ * config/riscv/riscv-ext.opt: Regenerate.
+ * config/riscv/riscv-cores.def (RISCV_TUNE): Add spacemit-a100.
+ (RISCV_CORE): Add spacemit-a100.
+ * doc/riscv-ext.texi: Regenerate.
+ * doc/riscv-mcpu.texi: Regenerate.
+ * doc/riscv-mtune.texi: Regenerate.
+
+2026-06-30 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-alias.h (pt_solution::vars_contains_auto): New.
+ (ptr_deref_may_alias_auto_p): Declare.
+ (pt_solution_includes_auto): Likewise.
+ * tree-ssa-structalias.cc (set_uids_in_ptset): Record auto
+ variables.
+ (pt_solution_includes_auto): New function.
+ (ipa_escaped_pt): Adjust.
+ * tree-ssa-alias.cc (ptr_deref_may_alias_auto_p): New function.
+
+2026-06-30 Christopher Bazley <chris.bazley@arm.com>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ * tree.cc (build_vector_from_ctor): Rename variables and
+ refactor assignments.
+
+2026-06-30 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-loop-ivopts.cc (rewrite_use_address): Always
+ avoid TARGET_MEM_REF with a base of zero.
+ * tree-ssa-sccvn.cc (vn_reference_maybe_forwprop_address): Do
+ not forward TARGET_MEM_REF addresses.
+
+2026-06-30 Alfie Richards <alfie.richards@arm.com>
+
+ PR target/125838
+ * config/aarch64/aarch64.cc (aarch64_fntype_abi): Fall back to
+ AAPCS for preserve_none variadic calls.
+
+2026-06-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/126032
+ * gimple-ssa-warn-access.cc (maybe_warn_for_bound): Fixup
+ diagnostic string.
+
+2026-06-30 Chung-Lin Tang <cltang@baylibre.com>
+
+ * gimplify.cc (enum gimplify_omp_var_data):
+ Add GOVD_USES_ALLOCATORS_ALLOCATOR.
+ (gimplify_bind_expr): Diagnose missing uses_allocators clause.
+ (omp_get_attachment): Add GOMP_MAP_USES_ALLOCATORS cases.
+ (omp_group_base): Likewise.
+ (gimplify_scan_omp_clauses): Handle uses_allocators.
+ (gimplify_adjust_omp_clauses_1): Handle GOVD_USES_ALLOCATORS_ALLOCATOR.
+ * omp-low.cc (scan_sharing_clauses): Check if ALLOCATE clause in target
+ region has containing USES_ALLOCATORS clause.
+ Add OMP_CLAUSE_USES_ALLOCATORS cases.
+ (lower_omp_target): Add OMP_CLAUSE_USES_ALLOCATORS cases.
+ * tree-pretty-print.cc (dump_omp_clause): Handle GOMP_MAP_USES_ALLOCATORS.
+
+2026-06-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/126008
+ * tree-ssa-loop-ivopts.cc (alloc_iv): Revert last change.
+ * tree-ssa-address.cc (add_to_parts): Use unsigned arithmetic
+ to accumulate to base.
+
+2026-06-30 Christopher Bazley <chris.bazley@arm.com>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ * poly-int.h (can_div_away_from_zero_p):
+ Exit early if |a| <= |b| instead of calling
+ can_div_trunc_p and returning false if it
+ returned false.
+
+2026-06-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/126034
+ * tree-vect-stmts.cc (vectorizable_load): Elide dead else if.
+
+2026-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/126030
+ * config/i386/sse.md (avx512vl_<code><mode>v4hi2_mask_store_1):
+ Use a single output pattern instead of conditionally returning
+ the same string based on a condition.
+
+2026-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/125837
+ * doc/invoke.texi (Wc++29-extensions): Document.
+
+2026-06-30 Avinash Jayakar <avinashd@linux.ibm.com>
+ Surya Kumari Jangala <jskumari@linux.ibm.com>
+
+ * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Add logic to
+ handle __builtin_ppc_atomic_cas_local.
+ * config/rs6000/rs6000-builtins.def: New builtins for
+ __builtin_ppc_atomic_cas_local with types.
+ * config/rs6000/rs6000-c.cc (altivec_build_resolved_builtin): Handle
+ builtins with up to 6 arguments.
+ * config/rs6000/rs6000-overload.def: Overload builtin for signed/unsiged
+ char, short, int, long, __int128.
+ * config/rs6000/rs6000-protos.h (rs6000_expand_atomic_compare_and_swap): Add
+ additional parameter 'local' to the prototype.
+ * config/rs6000/rs6000.cc (emit_load_locked): Add new parameter. Pass new
+ parameter to generate load-locked instruction.
+ (rs6000_expand_atomic_compare_and_swap): Add new parameter. Call
+ emit_load_locked() with additional parameter value of EH bit.
+ (rs6000_expand_atomic_exchange): Pass EH value 0 to emit_load_locked().
+ (rs6000_expand_atomic_op): Likewise.
+ * config/rs6000/sync.md (load_locked<mode>): Add new operand in RTL template.
+ Specify EH bit in the larx instruction.
+ (load_locked<QHI:mode>_si): Likewise.
+ (load_lockedpti): Likewise.
+ (load_lockedti): Add new operand in RTL template. Pass EH bit to
+ gen_load_lockedpti().
+ (atomic_compare_and_swap<mode>): Pass new parameter 'false' to
+ rs6000_expand_atomic_compare_and_swap.
+ (atomic_compare_and_swap_local<mode>): New define_expand.
+ * doc/extend.texi: Add documentation for new builtin.
+
+2026-06-30 Avinash Jayakar <avinashd@linux.ibm.com>
+
+ Revert:
+ 2026-06-30 Avinash Jayakar <avinashd@linux.ibm.com>
+ Surya Kumari Jangala <jskumari@linux.ibm.com>
+
+ * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Add logic to
+ handle __builtin_ppc_atomic_cas_local.
+ * config/rs6000/rs6000-builtins.def: New builtins for
+ __builtin_ppc_atomic_cas_local with types.
+ * config/rs6000/rs6000-c.cc (altivec_build_resolved_builtin): Handle
+ builtins with up to 6 arguments.
+ * config/rs6000/rs6000-overload.def: Overload builtin for signed/unsiged
+ char, short, int, long, __int128.
+ * config/rs6000/rs6000-protos.h (rs6000_expand_atomic_compare_and_swap): Add
+ additional parameter 'local' to the prototype.
+ * config/rs6000/rs6000.cc (emit_load_locked): Add new parameter. Pass new
+ parameter to generate load-locked instruction.
+ (rs6000_expand_atomic_compare_and_swap): Add new parameter. Call
+ emit_load_locked() with additional parameter value of EH bit.
+ (rs6000_expand_atomic_exchange): Pass EH value 0 to emit_load_locked().
+ (rs6000_expand_atomic_op): Likewise.
+ * config/rs6000/sync.md (load_locked<mode>): Add new operand in RTL template.
+ Specify EH bit in the larx instruction.
+ (load_locked<QHI:mode>_si): Likewise.
+ (load_lockedpti): Likewise.
+ (load_lockedti): Add new operand in RTL template. Pass EH bit to
+ gen_load_lockedpti().
+ (atomic_compare_and_swap<mode>): Pass new parameter 'false' to
+ rs6000_expand_atomic_compare_and_swap.
+ (atomic_compare_and_swap_local<mode>): New define_expand.
+ * doc/extend.texi: Add documentation for new builtin.
+
+2026-06-30 Avinash Jayakar <avinashd@linux.ibm.com>
+ Surya Kumari Jangala <jskumari@linux.ibm.com>
+
+ * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Add logic to
+ handle __builtin_ppc_atomic_cas_local.
+ * config/rs6000/rs6000-builtins.def: New builtins for
+ __builtin_ppc_atomic_cas_local with types.
+ * config/rs6000/rs6000-c.cc (altivec_build_resolved_builtin): Handle
+ builtins with up to 6 arguments.
+ * config/rs6000/rs6000-overload.def: Overload builtin for signed/unsiged
+ char, short, int, long, __int128.
+ * config/rs6000/rs6000-protos.h (rs6000_expand_atomic_compare_and_swap): Add
+ additional parameter 'local' to the prototype.
+ * config/rs6000/rs6000.cc (emit_load_locked): Add new parameter. Pass new
+ parameter to generate load-locked instruction.
+ (rs6000_expand_atomic_compare_and_swap): Add new parameter. Call
+ emit_load_locked() with additional parameter value of EH bit.
+ (rs6000_expand_atomic_exchange): Pass EH value 0 to emit_load_locked().
+ (rs6000_expand_atomic_op): Likewise.
+ * config/rs6000/sync.md (load_locked<mode>): Add new operand in RTL template.
+ Specify EH bit in the larx instruction.
+ (load_locked<QHI:mode>_si): Likewise.
+ (load_lockedpti): Likewise.
+ (load_lockedti): Add new operand in RTL template. Pass EH bit to
+ gen_load_lockedpti().
+ (atomic_compare_and_swap<mode>): Pass new parameter 'false' to
+ rs6000_expand_atomic_compare_and_swap.
+ (atomic_compare_and_swap_local<mode>): New define_expand.
+ * doc/extend.texi: Add documentation for new builtin.
+
+2026-06-30 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/loongarch.md
+ (@stack_protect_combined_set_normal_<mode>): Replace `st.d'
+ with `st.<d>', reject stptr.d on LA32 with enabled attribute.
+ (@stack_protect_combined_test_internal_<mode>): Replace `ld.d'
+ with `ld.<d>', reject ldptr.d on LA32 with enabled attribute.
+ (@stack_protect_combined_set_extreme_<mode>): Rename to ...
+ (stack_protect_combined_set_extreme): ... here. Force DImode.
+ Add TARGET_ABI_LP64 as the condition.
+ (stack_protect_combined_set): Adapt for the change of
+ stack_protect_combined_set_extreme.
+
+2026-06-30 Robin Dapp <robin.dapp@oss.qualcomm.com>
+
+ PR target/125994
+ * config/riscv/riscv.cc (riscv_support_vector_misalignment):
+ Handle scalar modes.
+
2026-06-29 Jeff Law <jeffrey.law@oss.qualcomm.com>
* config/riscv/riscv.cc (synthesize_and): Use srliw to handle
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 264735f723d9..e74af993156c 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20260630
+20260701
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index a9acbf0ab83e..9fa5a27dbc73 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,15 @@
+2026-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/125837
+ * c.opt.urls: Regenerate.
+
+2026-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/125837
+ * c.opt (Wc++29-extensions): New option.
+ * c-cppbuiltin.cc (c_cpp_builtins): Change __cpp_pp_embed value for
+ C++29.
+
2026-06-24 Paul-Antoine Arras <parras@baylibre.com>
* c-omp.cc (c_finish_omp_barrier): Pass GOMP_BARRIER_EXPLICIT to
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index b39d3217f990..b0b84638689a 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,13 @@
+2026-06-30 Chung-Lin Tang <cltang@baylibre.com>
+
+ * c-typeck.cc (c_finish_omp_clauses): Fix comments.
+
+2026-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/125935
+ * c-decl.cc (c_init_decl_processing): Use "bool" rather than "_Bool"
+ as the name of boolean_type_node for C23+.
+
2026-06-28 Kevin Stefanov <kevinstefanov15@gmail.com>
PR middle-end/125274
diff --git a/gcc/cobol/ChangeLog b/gcc/cobol/ChangeLog
index 8ddee6e1c064..ec832f76323a 100644
--- a/gcc/cobol/ChangeLog
+++ b/gcc/cobol/ChangeLog
@@ -1,3 +1,101 @@
+2026-06-30 Robert Dubner <rdubner@symas.com>
+
+ * compare.cc (alpha_compare_figconst): Make the code endian-agnostic.
+ (alpha_compare): Likewise.
+ (numeric_alpha_compare): Likewise.
+ (float_compare): Force proper data comparisons.
+ * genapi.cc (parser_goto): Use improved get_binary_value() routine.
+ (parser_perform_times): Likewise.
+ (internal_perform_through_times): Likewise.
+ (parser_display_internal): Set formal parameter to const.
+ (program_end_stuff): Use get_binary_value().
+ (parser_relop_long): Likewise.
+ (parser_see_stop_run): Likewise.
+ (parser_perform): Set formal parameter to const.
+ (parser_perform_inline_times): Use new get_binary_value().
+ (parser_file_write): Likewise.
+ (parser_file_start): Likewise.
+ (handle_gg_trim): Endian.
+ (parser_trim): Likewise.
+ (field_increment): Use new get_binary_value().
+ (parser_lsearch_start): Likewise.
+ (parser_release): Set formal parameter to const.
+ (parser_match_exception): Use new get_binary_value().
+ (parser_field_attr_set): Set formal parameter to const.
+ * genapi.h (parser_display_internal): Likewise.
+ (parser_perform_times): Likewise.
+ (parser_perform): Likewise.
+ (parser_goto): Likewise.
+ (parser_field_attr_set): Likewise.
+ (parser_file_start): Likewise.
+ (parser_release): Likewise.
+ * gengen.cc (gg_assign): Comment.
+ * genmath.cc (fast_add): New get_binary_value; address aliasing.
+ (fast_subtract): Likewise.
+ (fast_multiply): Likewise.
+ (fast_divide): Likewise.
+ * genutil.cc (get_scaled_rdigits): Set formal parameter to const.
+ (get_scaled_digits): Set formal parameter to const.
+ (get_integer_value): Improved data conversion; make local static.
+ (CHECK_FOR_FRACTIONAL_DIGITS): Moved here from genutil.h.
+ (giv_helper): New get_integer_value helper routine.
+ (get_and_check_refstart_and_reflen): get_binary_value and aliasing.
+ (get_depending_on_value_from_odo): Set some variables to const.
+ (get_data_offset): Use new get_integer_value() routine.
+ (digit): Eliminate as part of improved get_binary_value() conversion.
+ (num_disp_dive): Likewise.
+ (pd_dive): Likewise.
+ (get_pd_value): Likewise.
+ (get_binary_value_tree): Likewise.
+ (get_binary_value): New binary conversion routines.
+ (field_is_super_clean): Likewise.
+ (refer_is_working_storage): Likewise.
+ (is_working_storage): Likewise.
+ (refer_refmod_length): Likewise.
+ (binary_from_FldNumericBin5): Likewise.
+ (binary_from_FldLiteralN): Likewise.
+ (binary_from_FldNumericBinary): Likewise.
+ (binary_from_FldNumericDisplay): Likewise.
+ (binary_from_numdisp): Likewise.
+ (binary_from_comp_3): Likewise.
+ (b_from_c3): Likewise.
+ (binary_from_comp_6): Likewise.
+ (binary_from_FldPacked): Likewise.
+ (binary_from_FldFloat): Likewise.
+ (get_location): Avoid aliasing.
+ (safe_cast): Likewise.
+ (attribute_bit_clear): Set formal parameter to const.
+ (attribute_bit_get): Likewise.
+ (attribute_bit_set): Likewise.
+ (round_this_value): New routine for COBOL rounding.
+ * genutil.h (get_scaled_rdigits): Set formal parameter to const.
+ (get_scaled_digits): Set formal parameter to const.
+ (get_binary_value): Modified declaration.
+ (get_binary_value_tree): Eliminate.
+ (CHECK_FOR_FRACTIONAL_DIGITS): Move to genutil.cc.
+ (get_integer_value): Eliminated declaration.
+ (field_is_super_clean): New declaration.
+ (refer_is_working_storage): Changed to is_working_storage().
+ (is_working_storage): Eliminated.
+ (get_location): New declaration for field_t * overload.
+ (safe_cast): New declaration.
+ (attribute_bit_clear): Set formal parameter to const.
+ (attribute_bit_get): Likewise.
+ (attribute_bit_set): Likewise.
+ * move.cc (copy_little_endian_into_place): Changed to
+ copy_native_into_place().
+ (copy_native_into_place): Endian awareness.
+ (mh_little_endian): Change name to mh_to_binary.
+ (mh_to_binary): Endian awareness.
+ (move_helper): Use mh_to_binary.
+ * parse.y: Comment out code pending a bug fix.
+ * parse_ante.h (cbl_field_t::blank_initial): Endian awareness.
+ * show_parse.h: Make a variable const.
+ * structs.cc (member): Set formal parameter to const.
+ * structs.h (member): Likewise.
+ * util.cc (binary_initial): Endian awareness.
+ (cbl_field_t::encode_numeric): Endian and aliasing awareness.
+
2026-06-25 Robert Dubner <rdubner@symas.com>
* gengen.cc (gg_abs): Use fold_build1().
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index cd2ff735e802..696c180c2e38 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,11 @@
+2026-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/126007
+ * tree.cc (eligible_special_member_function_p): New function.
+ (implicit_lifetime_type_p): Use true instead of 1 in function comment.
+ Add some further comments. Use eligible_special_member_function_p
+ instead of !DECL_DELETED_FN.
+
2026-06-29 Georg-Johann Lay <avr@gjlay.de>
* mangle.cc (mangle_ctor_vtbl_for_type): Fix production in comment.
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index db8d2c0f545b..7692846a6295 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,27 @@
+2026-06-30 Paul Thomas <pault@gcc.gnu.org>
+ Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/121972
+ * decl.cc (gfc_get_pdt_instance): A PDT that has a derived type
+ component, which has allocatable components, must be marked as
+ having allocatable components.
+ * resolve.cc (gfc_resolve_ref): Initialize last_pdt from the base
+ symbol's declared type when the expression type is not a PDT.
+
+2026-06-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/121972
+ * resolve.cc (gfc_resolve_finalizers): Fix linked-list tail-pointer
+ bug that dropped all but the first two finalizers from a derived
+ type's finalizer list when three or more matched.
+
+2026-06-30 Chung-Lin Tang <cltang@baylibre.com>
+
+ * trans-array.cc (gfc_conv_array_initializer): Always set PURPOSE
+ when building constructor for get_initialized_tmp_var, adjust test
+ to use integer_zerop instead of != NULL_TREE.
+ * trans-openmp.cc (gfc_trans_omp_clauses): Handle uses_allocators.
+
2026-06-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/84622
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8425e5618c4b..8f3fd16d0bf6 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,266 @@
+2026-06-30 Abhishek Kaushik <abhishek.kaushik@arm.com>
+
+ * gcc.target/aarch64/sbfiz-widen-mult-1.c: New test.
+
+2026-06-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.target/i386/bt-cmov-1.c (scan-assembler-times): Simplify
+ patterns. Allow for Solaris as syntax.
+
+2026-06-30 Paul Thomas <pault@gcc.gnu.org>
+ Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/121972
+ * gfortran.dg/pdt_86.f03: Add tree dump for counts of frees and
+ mallocs (41 & 31 respectively).
+ * gfortran.dg/pdt_86_reduced.f90: New test to check that the
+ non-PDT version of the leak has gone.
+
+2026-06-30 Robert Dubner <rdubner@symas.com>
+
+ * cobol.dg/group2/ALLOCATE_Rule_8_OPTION_INITIALIZE_with_figconst.cob: Removed.
+ * cobol.dg/group2/ALLOCATE_Rule_8_OPTION_INITIALIZE_with_figconst.out: Removed.
+
+2026-06-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/121972
+ * gfortran.dg/pdt_70.f03: Add a matrix finalizer and update the
+ check of the value of 'flag'.
+
+2026-06-30 Paul-Antoine Arras <parras@baylibre.com>
+
+ * c-c++-common/gomp/atomic-builtins-1.c: Skip test when sync_int_128 is
+ available.
+ * lib/target-supports.exp (check_effective_target_sync_int_128): Return
+ 1 for targets that do not emit a call to __atomic_compare_exchange_16.
+
+2026-06-30 Karl Meakin <karl.meakin@arm.com>
+
+ * gcc.target/aarch64/neon/vreinterpret.c: New test.
+
+2026-06-30 Karl Meakin <karl.meakin@arm.com>
+
+ * gcc.target/aarch64/neon/vext.c: New test.
+ * gcc.target/aarch64/neon/vrev.c: New test.
+ * gcc.target/aarch64/neon/vtrn.c: New test.
+ * gcc.target/aarch64/neon/vuzp.c: New test.
+ * gcc.target/aarch64/neon/vzip.c: New test.
+
+2026-06-30 Karl Meakin <karl.meakin@arm.com>
+
+ * gcc.target/aarch64/neon/vand.c: New test.
+ * gcc.target/aarch64/neon/vbcax.c: New test.
+ * gcc.target/aarch64/neon/vbic.c: New test.
+ * gcc.target/aarch64/neon/vbsl.c: New test.
+ * gcc.target/aarch64/neon/vcls.c: New test.
+ * gcc.target/aarch64/neon/vclz.c: New test.
+ * gcc.target/aarch64/neon/vcnt.c: New test.
+ * gcc.target/aarch64/neon/veor.c: New test.
+ * gcc.target/aarch64/neon/veor3.c: New test.
+ * gcc.target/aarch64/neon/vmvn.c: New test.
+ * gcc.target/aarch64/neon/vorn.c: New test.
+ * gcc.target/aarch64/neon/vorr.c: New test.
+ * gcc.target/aarch64/neon/vrax1.c: New test.
+ * gcc.target/aarch64/neon/vrbit.c: New test.
+ * gcc.target/aarch64/neon/vxar.c: New test.
+ * gcc.target/aarch64/sme/inlining_10.c: Replace `call_vbsl` with
+ `call_vhadd` since `vbsl` is no longer implemented as an
+ `always_inline` function.
+ * gcc.target/aarch64/sme/inlining_11.c: Likewise.
+ * gcc.target/aarch64/target_attr_10.c: Fix expected error message.
+
+2026-06-30 Karl Meakin <karlwfmeakin@gmail.com>
+
+ * gcc.target/aarch64/simd/mf8_data_2.c: Fix test.
+ * gcc.target/aarch64/simd/fold_to_highpart_6.c: Fix test.
+ * g++.target/aarch64/lane-bound-1.C: Fix test.
+ * gcc.target/aarch64/advsimd-intrinsics/bf16_vect_copy_lane_1.c:
+ Fix test.
+ * gcc.target/aarch64/lane-bound-3.c: Fix test.
+ * gcc.target/aarch64/pr113573.c: Fix test.
+ * gcc.target/aarch64/simd/vset_lane_s16_const_1.c: Fix test.
+ * gcc.target/aarch64/advsimd-intrinsics/vcopy_lane_bf16_indices_1.c,
+ gcc.target/aarch64/advsimd-intrinsics/vcopy_lane_bf16_indices_2.c,
+ gcc.target/aarch64/advsimd-intrinsics/vcopy_laneq_bf16_indices_1.c,
+ gcc.target/aarch64/advsimd-intrinsics/vcopy_laneq_bf16_indices_2.c,
+ gcc.target/aarch64/advsimd-intrinsics/vcopyq_lane_bf16_indices_1.c,
+ gcc.target/aarch64/advsimd-intrinsics/vcopyq_lane_bf16_indices_2.c,
+ gcc.target/aarch64/advsimd-intrinsics/vcopyq_laneq_bf16_indices_1.c,
+ gcc.target/aarch64/advsimd-intrinsics/vcopyq_laneq_bf16_indices_2.c: Replace with...
+ gcc.target/aarch64/advsimd-intrinsics/vcopy_lane_indices.c: ...this.
+ * gcc.target/aarch64/simd/vget_lane_f32_indices_1.c,
+ gcc.target/aarch64/simd/vget_lane_f64_indices_1.c,
+ gcc.target/aarch64/simd/vget_lane_p16_indices_1.c,
+ gcc.target/aarch64/simd/vget_lane_p8_indices_1.c,
+ gcc.target/aarch64/simd/vget_lane_s16_indices_1.c,
+ gcc.target/aarch64/simd/vget_lane_s32_indices_1.c,
+ gcc.target/aarch64/simd/vget_lane_s64_indices_1.c,
+ gcc.target/aarch64/simd/vget_lane_s8_indices_1.c,
+ gcc.target/aarch64/simd/vget_lane_u16_indices_1.c,
+ gcc.target/aarch64/simd/vget_lane_u32_indices_1.c,
+ gcc.target/aarch64/simd/vget_lane_u64_indices_1.c,
+ gcc.target/aarch64/simd/vget_lane_u8_indices_1.c,
+ gcc.target/aarch64/simd/vgetq_lane_f32_indices_1.c,
+ gcc.target/aarch64/simd/vgetq_lane_f64_indices_1.c,
+ gcc.target/aarch64/simd/vgetq_lane_p16_indices_1.c,
+ gcc.target/aarch64/simd/vgetq_lane_p8_indices_1.c,
+ gcc.target/aarch64/simd/vgetq_lane_s16_indices_1.c,
+ gcc.target/aarch64/simd/vgetq_lane_s32_indices_1.c,
+ gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c,
+ gcc.target/aarch64/simd/vgetq_lane_s8_indices_1.c,
+ gcc.target/aarch64/simd/vgetq_lane_u16_indices_1.c,
+ gcc.target/aarch64/simd/vgetq_lane_u32_indices_1.c,
+ gcc.target/aarch64/simd/vgetq_lane_u64_indices_1.c,
+ gcc.target/aarch64/simd/vgetq_lane_u8_indices_1.c: Replace with...
+ * gcc.target/aarch64/simd/vget_lane_indices.c: ...this.
+ * gcc.target/aarch64/neon/arm_neon_test.h(VEC_LEN): New macro.
+ * gcc.target/aarch64/neon/vcopy_lane.c: New test.
+ * gcc.target/aarch64/neon/vdup_lane.c: New test.
+ * gcc.target/aarch64/neon/vget_lane.c: New test.
+ * gcc.target/aarch64/neon/vset_lane.c: New test.
+ * gcc.target/aarch64/advsimd-intrinsics/vcopy_lane_indices.c: New file.
+ * gcc.target/aarch64/neon/vget_high.c: New file.
+ * gcc.target/aarch64/neon/vget_low.c: New file.
+
+2026-06-30 Karl Meakin <karlwfmeakin@gmail.com>
+
+ * gcc.target/aarch64/advsimd-intrinsics/bf16_dup.c: Fix test.
+ * gcc.target/aarch64/vmov_n_1.c: Fix test.
+ * gcc.target/aarch64/neon/vcombine.c: New test.
+ * gcc.target/aarch64/neon/vcreate.c: New test.
+ * gcc.target/aarch64/neon/vdup.c: New test.
+ * gcc.target/aarch64/neon/vmov_n.c: New test.
+
+2026-06-30 Karl Meakin <karl.meakin@arm.com>
+
+ * g++.target/aarch64/pr103147-6.C: Fix tests.
+ * g++.target/aarch64/pr117048.C: Fix tests.
+ * gcc.target/aarch64/pr103147-6.c: Fix tests.
+ * gcc.target/aarch64/neon/aarch64-neon.exp: New test.
+ * gcc.target/aarch64/neon/arm_neon_test.h: New test.
+ * gcc.target/aarch64/neon/vadd.c: New test.
+
+2026-06-30 Jeff Law <jeffrey.law@oss.qualcomm.com>
+
+ * gcc.target/riscv/and-synthesis-2.c: New test.
+
+2026-06-30 Jim Tsung-Chun Lin <jim@andestech.com>
+
+ Backported from master:
+ 2026-06-15 Jim Tsung-Chun Lin <jim@andestech.com>
+
+ * gcc.target/riscv/multilib.exp: New test.
+
+2026-06-30 Mark Zhuang <zhuangqiubin@linux.spacemit.com>
+
+ * gcc.target/riscv/mcpu-spacemit-a100.c: New test.
+
+2026-06-30 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * g++.dg/gomp/deprecate-2.C: Remove obsolete 'dg-excess-errors'.
+
+2026-06-30 Alfie Richards <alfie.richards@arm.com>
+
+ PR target/125838
+ * gcc.target/aarch64/preserve_none_5.c: Update to use AAPCS.
+
+2026-06-30 Chung-Lin Tang <cltang@baylibre.com>
+
+ * c-c++-common/gomp/uses_allocators-1.c: Adjust test, and move to
+ ../../libgomp/testsuite/libgomp.c-c++-common/uses_allocators-1.c
+ * c-c++-common/gomp/uses_allocators-2.c: Move to
+ ../../libgomp/testsuite/libgomp.c-c++-common/uses_allocators-2.c
+ * c-c++-common/gomp/uses_allocators-4.c: Adjust test, and move to
+ ../../libgomp/testsuite/libgomp.c-c++-common/uses_allocators-4.c
+ * c-c++-common/gomp/uses_allocators-7.c: Move to
+ ../../libgomp/testsuite/libgomp.c-c++-common/uses_allocators-7.c
+ * c-c++-common/gomp/uses_allocators-8.c: Move to
+ ../../libgomp/testsuite/libgomp.c-c++-common/uses_allocators-8.c
+ * gcc.dg/gomp/deprecate-2.c: Adjust test.
+ * gfortran.dg/gomp/allocate-1.f90: Likewise.
+ * gfortran.dg/gomp/scope-6.f90: Likewise.
+ * g++.dg/gomp/uses_allocators-1.C: Move to
+ ../../libgomp/testsuite/libgomp.c++/uses_allocators-1.C.
+
+2026-06-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/126008
+ * gcc.dg/torture/pr126008.c: New testcase.
+
+2026-06-30 Christopher Bazley <chris.bazley@arm.com>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.dg/plugin/poly-int-tests.h: New test cases.
+
+2026-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/126007
+ * g++.dg/ext/is_implicit_lifetime3.C: New test.
+
+2026-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/125935
+ * gcc.dg/debug/dwarf2/pr125935-1.c: New test.
+ * gcc.dg/debug/dwarf2/pr125935-2.c: New test.
+ * gcc.dg/debug/dwarf2/pr125935-3.c: New test.
+ * gcc.dg/debug/ctf/ctf-bitfields-3.c: Expect bool rather than _Bool.
+ * gcc.dg/Warray-bounds-65.c: Expect bool in diagnostics instead of
+ _Bool.
+ * gcc.dg/Wbad-function-cast-1.c: Likewise.
+
+2026-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/125837
+ * g++.dg/cpp29/feat-cxx29.C (__cpp_pp_embed): Expect 202606L
+ rather than 202502L.
+ * c-c++-common/cpp/embed-18.c: Adjust expected diagnostics.
+ * g++.dg/cpp/embed-30.C: New test.
+ * g++.dg/cpp/embed-31.C: New test.
+ * g++.dg/cpp/embed-32.C: New test.
+
+2026-06-30 Avinash Jayakar <avinashd@linux.ibm.com>
+ Surya Kumari Jangala <jskumari@linux.ibm.com>
+
+ * gcc.target/powerpc/acmp-tst-32bit.c: New test.
+ * gcc.target/powerpc/acmp-tst.c: New test.
+ * gcc.target/powerpc/acmp-tst-indexed.c: New test.
+
+2026-06-30 Avinash Jayakar <avinashd@linux.ibm.com>
+
+ Revert:
+ 2026-06-30 Avinash Jayakar <avinashd@linux.ibm.com>
+ Surya Kumari Jangala <jskumari@linux.ibm.com>
+
+ * gcc.target/powerpc/acmp-tst-32bit.c: New test.
+ * gcc.target/powerpc/acmp-tst.c: New test.
+ * gcc.target/powerpc/acmp-tst-indexed.c: New test.
+
+2026-06-30 Avinash Jayakar <avinashd@linux.ibm.com>
+ Surya Kumari Jangala <jskumari@linux.ibm.com>
+
+ * gcc.target/powerpc/acmp-tst-32bit.c: New test.
+ * gcc.target/powerpc/acmp-tst.c: New test.
+ * gcc.target/powerpc/acmp-tst-indexed.c: New test.
+
+2026-06-30 Xi Ruoyao <xry111@xry111.site>
+
+ * gcc.target/loongarch/ssp-ilp32.c: New test.
+
+2026-06-30 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/55212
+ * gcc.target/sh/torture/pr55212-c464-3.c: New.
+
+2026-06-30 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/55212
+ * gcc.target/sh/torture/pr55212-c421.c
+
+2026-06-30 Robin Dapp <robin.dapp@oss.qualcomm.com>
+
+ PR target/125994
+ * gcc.target/riscv/rvv/autovec/pr125994.c: New test.
+
2026-06-29 Jeff Law <jeffrey.law@oss.qualcomm.com>
* gcc.target/riscv/and-synthesis-1.c: New test.
diff --git a/include/ChangeLog b/include/ChangeLog
index 9ea24ca9e961..3d1d042b881c 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2026-06-30 Chung-Lin Tang <cltang@baylibre.com>
+
+ * gomp-constants.h (enum gomp_map_kind): Add GOMP_MAP_USES_ALLOCATORS.
+
2026-06-24 Paul-Antoine Arras <parras@baylibre.com>
* gomp-constants.h (GOMP_BARRIER_IMPLICIT_PARALLEL): New macro.
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 37639a8fc7ff..b6fc83c4458b 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,12 @@
+2026-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/125837
+ * include/cpplib.h: Implement C++29 P3540R3 - #embed offset parameter.
+ (enum cpp_warning_reason): Add CPP_W_CXX29_EXTENSIONS.
+ * directives.cc (EMBED_PARAMS): Add OFFSET.
+ (enum embed_param_kind): Change NUM_EMBED_STD_PARAMS.
+ (_cpp_parse_embed_params): Handle offset parameter for C++.
+
2026-06-29 Pietro Monteiro <pietro@sociotechnical.xyz>
PR bootstrap/103459
diff --git a/libgcobol/ChangeLog b/libgcobol/ChangeLog
index 1e328e757eab..071664954db3 100644
--- a/libgcobol/ChangeLog
+++ b/libgcobol/ChangeLog
@@ -1,3 +1,27 @@
+2026-06-30 Robert Dubner <rdubner@symas.com>
+
+ * charmaps.h (class charmap_t): Return uint8_t instead of uint32_t
+ when possible to avoid endian problems.
+ (class cbl_iconv_t): Formatting.
+ * inspect.cc (normalize_id): Return endian agnostic uint8_t.
+ (normalize_id_sbc): Use endian agnostic uint8_t.
+ * libgcobol-fp.h: Add cppcheck-suppress.
+ * libgcobol.cc (native_to_binary_signed): New conversion.
+ (native_to_binary_unsigned): New name.
+ (big_endian_to_binary_unsigned): Endian-aware conversion.
+ (big_endian_to_binary_signed): Likewise.
+ (get_binary_value_local): Likewise.
+ (binary_to_big_endian): Likewise.
+ (binary_to_little_endian): Changed name.
+ (binary_to_native_binary): New name; new conversion.
+ (int128_to_field): Use new routine.
+ * libgcobol.h (__gg__mabort): Create COBOL_BIG_ENDIAN and
+ COBOL_LITTLE_ENDIAN macros.
+ (defined): Likewise.
+ (COBOL_BIG_ENDIAN): Likewise.
+ (COBOL_LITTLE_ENDIAN): Likewise.
+ * stringbin.cc (packed_from_combined): Endian awareness.
+
2026-06-29 Pietro Monteiro <pietro@sociotechnical.xyz>
PR bootstrap/103459
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 44f80885ce80..bb54d5d3afc5 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,96 @@
+2026-06-30 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * config.h.in: Regenerate.
+ * configure.ac [x$libgomp_cv_have_sync_builtins = xno]: Fix check.
+ * configure: Regenerate.
+ * allocator.c (omp_init_allocator, gomp_map_omp_init_allocator)
+ [!HAVE_SYNC_BUILTINS]: Fix build.
+ * testsuite/libgomp.c-c++-common/uses_allocators-2.c: Fix for C++ testing.
+ * testsuite/libgomp.c-c++-common/uses_allocators-9.c: Likewise.
+ * testsuite/libgomp.fortran/dep-uses-allocators.f90: Remove
+ obsolete "sorry, unimplemented: [...]" diagnostic check.
+ * testsuite/libgomp.fortran/uses_allocators-7.f90: XFAIL one
+ 'scan-tree-dump-times' check.
+
+2026-06-30 Chung-Lin Tang <cltang@baylibre.com>
+
+ * allocator.c (struct omp_allocator_data): Always enable 'memkind' field
+ for configurations with offloading. Adjust comments assuming
+ HAVE_SYNC_BUILTINS for all offload host/accelerators.
+ (gomp_init_allocator_data): New function, created from omp_init_allocator
+ logic.
+ (omp_init_allocator): Adjust to use gomp_init_allocator_data.
+ (gomp_map_omp_init_allocator): New function to call
+ gomp_init_allocator_data for uses_allocators clauses.
+ * config/gcn/allocator.c (gcn_memspace_validate): Add comments.
+ * config/nvptx/allocator.c (nvptx_memspace_alloc): Add PTX >= v4.1
+ preprocessor symbol check.
+ (nvptx_memspace_calloc): Likewise.
+ (nvptx_memspace_free): Likewise.
+ (nvptx_memspace_realloc): Likewise.
+ (nvptx_memspace_validate): Add comments.
+ * configure.ac: Require offload hosts and accelerator targets to support
+ __sync_* builtins.
+ * configure: Regenerate.
+ * libgomp-plugin.h (GOMP_OFFLOAD_memspace_validate): New declaration.
+ * libgomp.h (gomp_omp_allocator_data_size): New declaration.
+ (memspace_validate_func): New plugin hook in struct gomp_device_descr.
+ (gomp_map_omp_init_allocator): New declaration.
+ * oacc-host.c (host_dispatch): Init .memspace_validate_func = NULL.
+ * plugin/plugin-gcn.c (GOMP_OFFLOAD_memspace_validate): New function.
+ * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memspace_validate): New function.
+ * target.c (gomp_map_vars_internal): Implement GOMP_MAP_USES_ALLOCATORS
+ map kind.
+ (calculate_firstprivate_requirements): Likewise.
+ (copy_firstprivate_data): Likewise.
+ (gomp_load_plugin_for_device): Add DLSYM_OPT of memspace_validate_func
+ hook.
+ * testsuite/libgomp.c++/uses_allocators-1.C: Moved from
+ ../gcc/testsuite/g++.dg/gomp/uses_allocators-1.C.
+ * testsuite/libgomp.c-c++-common/uses_allocators-1.c: Moved from
+ ../gcc/testsuite/c-c++-common/gomp/uses_allocators-1.c.
+ * testsuite/libgomp.c-c++-common/uses_allocators-2.c: Moved from
+ ../gcc/testsuite/c-c++-common/gomp/uses_allocators-2.c.
+ * testsuite/libgomp.c-c++-common/uses_allocators-4.c: Moved from
+ ../gcc/testsuite/c-c++-common/gomp/uses_allocators-4.c.
+ * testsuite/libgomp.c-c++-common/uses_allocators-7.c: Moved from
+ ../gcc/testsuite/c-c++-common/gomp/uses_allocators-7.c.
+ * testsuite/libgomp.c-c++-common/uses_allocators-8.c: Moved from
+ ../gcc/testsuite/c-c++-common/gomp/uses_allocators-8.c.
+ * testsuite/libgomp.c-c++-common/uses_allocators-3.c: New test.
+ * testsuite/libgomp.c-c++-common/uses_allocators-5.c: New test.
+ * testsuite/libgomp.c-c++-common/uses_allocators-6.c: New test.
+ * testsuite/libgomp.c-c++-common/uses_allocators-9.c: New test.
+ * testsuite/libgomp.fortran/uses_allocators-1.f90: New test.
+ * testsuite/libgomp.fortran/uses_allocators-2.f90:
+ Rename from uses_allocators_1.f90.
+ * testsuite/libgomp.fortran/uses_allocators-3.f90:
+ Rename from uses_allocators_2.f90.
+ * testsuite/libgomp.fortran/uses_allocators-4.f90: New test.
+ * testsuite/libgomp.fortran/uses_allocators-5.f90: New test.
+ * testsuite/libgomp.fortran/uses_allocators-6.f90: New test.
+ * testsuite/libgomp.fortran/uses_allocators-7.f90: Adjust test.
+ * testsuite/libgomp.fortran/uses_allocators-8.f90: New test.
+ * testsuite/libgomp.fortran/uses_allocators_1.f90:
+ Renamed to uses_allocators-2.f90 and deleted.
+ * testsuite/libgomp.fortran/uses_allocators_2.f90:
+ Renamed to uses_allocators-3.f90 and deleted.
+ * testsuite/libgomp.c++/c++.exp (check_effective_target_c): Add.
+ (check_effective_target_c++): Add.
+ * testsuite/libgomp.c/c.exp (check_effective_target_c): Add.
+ (check_effective_target_c++): Add.
+
+2026-06-30 Thomas Schwinge <tschwinge@baylibre.com>
+
+ PR libgomp/125877
+ * config/linux/numa.c (gomp_get_numa_distance): Gracefully handle
+ failure to open Linux sysfs file for NUMA node.
+
+2026-06-30 Thomas Schwinge <tschwinge@baylibre.com>
+
+ PR libgomp/125877
+ * plugin/plugin-nvptx.c (nvptx_open_device): Initialize 'numa_node'.
+
2026-06-29 Pietro Monteiro <pietro@sociotechnical.xyz>
PR bootstrap/103459
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 30f54a48299e..bcecd1f9561b 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,59 @@
+2026-06-30 Adam Wood <adam.wood@mines.sdsmt.edu>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++17/fs_ops.cc: Include <winioctl.h> for
+ FSCTL_GET_REPARSE_POINT. Include <ntdef.h> for
+ REPARSE_DATA_BUFFER.
+ (windows_create_symlink): New helper function for
+ fs::create_symlink and fs::create_directory_symlink.
+ (fs::create_directory_symlink): Call windows_create_symlink on
+ Windows.
+ (fs::create_symlink): Call windows_create_symlink on Windows.
+ (auto_win_file_handle::auto_win_file_handle): Add follow_symlink
+ parameter to control whether the handle should open the symlink
+ or the target, with a default value of true.
+ (windows_read_symlink_handle): New helper function
+ for fs::read_symlink.
+ (fs::read_symlink): Call windows_read_symlink_handle on Windows.
+ (fs::remove): Call RemoveDirectoryW only for directories, and
+ DeleteFileW for regular files, but attempt both for symlinks.
+ (fs::remove_all): Return immediately if path is empty.
+ Check if path points to a symlink, and if so, remove the
+ symlink using fs::remove.
+ * src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
+ (S_IFLNK, S_ISLNK): Define.
+ (__detail::__open_for_stat): New helper function for stat and
+ lstat.
+ (__detail::FileType): New enum type.
+ (__detail::__check_handle_type): New helper function for stat
+ and lstat.
+ (__detail::__is_handle_symlink): New helper function for
+ fs::read_symlink.
+ (__detail::__stat_windows): New helper function for stat and
+ lstat.
+ (__gnu_posix::stat, __gnu_posix::lstat): Use __stat_windows to
+ properly follow or not follow symlinks, and check if file is a
+ symlink.
+ * testsuite/27_io/filesystem/operations/canonical.cc (test03):
+ Use fs::create_directory_symlink instead of fs::create_symlink.
+ Check if NO_SYMLINKS or _GLIBCXX_FILESYSTEM_IS_WINDOWS instead
+ of just checking NO_SYMLINKS when defining baz.
+ * testsuite/27_io/filesystem/operations/copy.cc (test02):
+ Create a symlink to temporary file instead of ".". Use
+ fs::exists(symlink_status()) instead of fs::exists for symlinks.
+ * testsuite/27_io/filesystem/operations/weakly_canonical.cc
+ (test01): Use fs::create_directory_symlink instead of
+ fs::create_symlink. Wrap statements that test a dotdot after a
+ symlink in an ifndef _GLIBCXX_FILESYSTEM_IS_WINDOWS.
+ * testsuite/util/testsuite_fs.h: Do not define NO_SYMLINKS on
+ Windows.
+
+2026-06-30 Adam Wood <adam.wood@mines.sdsmt.edu>
+
+ * testsuite/27_io/filesystem/operations/remove.cc: Check that
+ fs::remove deletes symlink instead of target.
+ * testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
+
2026-06-29 Jonathan Wakely <jwakely@redhat.com>
* include/bits/chrono_io.h: Fix comment typo.
More information about the Libstdc++-cvs
mailing list