Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gcc15 for openSUSE:Factory checked in at 2026-03-11 20:51:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gcc15 (Old) and /work/SRC/openSUSE:Factory/.gcc15.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc15" Wed Mar 11 20:51:05 2026 rev:21 rq:1337991 version:15.2.1+git10776 Changes: -------- --- /work/SRC/openSUSE:Factory/gcc15/gcc15.changes 2026-02-20 17:40:55.527138832 +0100 +++ /work/SRC/openSUSE:Factory/.gcc15.new.8177/gcc15.changes 2026-03-11 20:51:43.981105843 +0100 @@ -1,0 +2,7 @@ +Tue Mar 3 12:01:24 UTC 2026 - Richard Biener <[email protected]> + +- Update gcc15-Wtime_t-conversion.patch to allow conversions to/from + uint32_t. Filter out -Wtime_t-conversion from flags to build + D target library files. + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-aarch64-gcc15-bootstrap.spec ++++++ --- /var/tmp/diff_new_pack.pFpRRP/_old 2026-03-11 20:51:45.569170243 +0100 +++ /var/tmp/diff_new_pack.pFpRRP/_new 2026-03-11 20:51:45.573170406 +0100 @@ -383,6 +383,8 @@ case $add_flag in # Filter out -Werror=return-type for D (only valid for C and C++) -Werror=return-type) ;; + # Likewise -Wtime_t-conversion + -Wtime_t-conversion) ;; *) optflags_d+=" $add_flag" ;; esac fi cross-aarch64-gcc15.spec: same change cross-amdgcn-gcc15.spec: same change cross-arm-gcc15.spec: same change cross-arm-none-gcc15-bootstrap.spec: same change cross-arm-none-gcc15.spec: same change cross-avr-gcc15-bootstrap.spec: same change cross-avr-gcc15.spec: same change cross-bpf-gcc15.spec: same change cross-hppa-gcc15-bootstrap.spec: same change cross-hppa-gcc15.spec: same change cross-loongarch64-gcc15-bootstrap.spec: same change cross-loongarch64-gcc15.spec: same change cross-nvptx-gcc15.spec: same change cross-ppc64-gcc15.spec: same change cross-ppc64le-gcc15-bootstrap.spec: same change cross-ppc64le-gcc15.spec: same change cross-pru-gcc15-bootstrap.spec: same change cross-pru-gcc15.spec: same change cross-riscv64-elf-gcc15-bootstrap.spec: same change cross-riscv64-elf-gcc15.spec: same change cross-riscv64-gcc15-bootstrap.spec: same change cross-riscv64-gcc15.spec: same change cross-rx-gcc15-bootstrap.spec: same change cross-rx-gcc15.spec: same change cross-s390x-gcc15-bootstrap.spec: same change cross-s390x-gcc15.spec: same change cross-x86_64-gcc15.spec: same change gcc15-testresults.spec: same change ++++++ gcc15.spec ++++++ --- /var/tmp/diff_new_pack.pFpRRP/_old 2026-03-11 20:51:46.781219396 +0100 +++ /var/tmp/diff_new_pack.pFpRRP/_new 2026-03-11 20:51:46.785219558 +0100 @@ -1269,7 +1269,7 @@ Requires: libquadmath%{libquadmath_sover} >= %{version}-%{release} %description -n libquadmath%{libquadmath_sover}-devel%{libdevel_suffix} -The libquadmatah runtime library development files. +The libquadmath runtime library development files. %package -n libquadmath%{libquadmath_sover}-devel%{libdevel_suffix}-32bit Summary: The GNU Fortran Compiler Quadmath Runtime Library Development Files @@ -1278,7 +1278,7 @@ Requires: libquadmath%{libquadmath_sover}-32bit >= %{version}-%{release} %description -n libquadmath%{libquadmath_sover}-devel%{libdevel_suffix}-32bit -The libquadmatah runtime library development files. +The libquadmath runtime library development files. %package -n libquadmath%{libquadmath_sover}-devel%{libdevel_suffix}-64bit Summary: The GNU Fortran Compiler Quadmath Runtime Library Development Files @@ -1287,7 +1287,7 @@ Requires: libquadmath%{libquadmath_sover}-64bit >= %{version}-%{release} %description -n libquadmath%{libquadmath_sover}-devel%{libdevel_suffix}-64bit -The libquadmatah runtime library development files. +The libquadmath runtime library development files. %package -n libitm%{libitm_sover}%{libitm_suffix} Summary: The GNU Compiler Transactional Memory Runtime Library @@ -2530,6 +2530,8 @@ case $add_flag in # Filter out -Werror=return-type for D (only valid for C and C++) -Werror=return-type) ;; + # Likewise -Wtime_t-conversion + -Wtime_t-conversion) ;; *) optflags_d+=" $add_flag" ;; esac fi ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.pFpRRP/_old 2026-03-11 20:51:46.893223938 +0100 +++ /var/tmp/diff_new_pack.pFpRRP/_new 2026-03-11 20:51:46.901224262 +0100 @@ -1,5 +1,5 @@ -mtime: 1771422420 -commit: ac90145de764f03c22860d05f8b917a8bd7002b85f9637ef033afd983f189181 +mtime: 1773152023 +commit: 1beb09f96f32d3b0b012e740679c4aaf23d249960c24dbb4d680d1c7b13eda43 url: https://src.opensuse.org/gcc/gcc15.git revision: main ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-03-10 15:13:58.000000000 +0100 @@ -0,0 +1 @@ +.osc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pre_checkin.sh new/pre_checkin.sh --- old/pre_checkin.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/pre_checkin.sh 2026-03-10 15:13:58.000000000 +0100 @@ -0,0 +1,31 @@ +#!/bin/bash +# This script is called automatically during autobuild checkin. + +case $0 in + \./*) + here=$PWD + ;; + */*) + here=${0%/*} + ;; + *) + here=$PWD + ;; +esac +case ${here##*/} in + gcc*.*) + # Handle maintainance projects with .$REPO suffix + suffix=${here##*/} + suffix=${suffix%%\.*} + set ${suffix#gcc} + ;; + gcc-*) + suffix=${here##*/} + set ${suffix#*-}- + ;; + gcc[0-9]*) + suffix=${here##*/} + set ${suffix#gcc} + ;; +esac +. ${here}/change_spec ++++++ gcc.spec.in ++++++ --- /var/tmp/diff_new_pack.pFpRRP/_old 2026-03-11 20:51:47.217237078 +0100 +++ /var/tmp/diff_new_pack.pFpRRP/_new 2026-03-11 20:51:47.221237240 +0100 @@ -830,7 +830,7 @@ Requires: libquadmath%{libquadmath_sover}@variant@ >= %{version}-%{release} %description -n libquadmath%{libquadmath_sover}-devel%{libdevel_suffix}@variant@ -The libquadmatah runtime library development files. +The libquadmath runtime library development files. # PACKAGE-END # PACKAGE-BEGIN @@ -1449,6 +1449,8 @@ case $add_flag in # Filter out -Werror=return-type for D (only valid for C and C++) -Werror=return-type) ;; + # Likewise -Wtime_t-conversion + -Wtime_t-conversion) ;; *) optflags_d+=" $add_flag" ;; esac fi ++++++ gcc15-Wtime_t-conversion.patch ++++++ --- /var/tmp/diff_new_pack.pFpRRP/_old 2026-03-11 20:51:47.237237889 +0100 +++ /var/tmp/diff_new_pack.pFpRRP/_new 2026-03-11 20:51:47.245238214 +0100 @@ -1,4 +1,4 @@ -From a95f47d38935765a38c65ee7ddda73ff7b438979 Mon Sep 17 00:00:00 2001 +From 35344d5a9209c58b4c28589d0f43b95c6d5f7c0d Mon Sep 17 00:00:00 2001 From: Richard Biener <[email protected]> Date: Thu, 26 Jun 2025 10:14:54 +0200 Subject: [PATCH] c/96570 - diagnostics for conversions to/from time_t @@ -18,6 +18,9 @@ that would be safe on targets. This get's hard for long vs. long long then, esp. if typedefs are involved. +This now accepts uint32_t as a type sufficient to hold all +important bits of 64bit time_t. + Any known problematic constructs out in the wild we'd like to have test coverage for? @@ -36,15 +39,15 @@ * c-c++-common/Wtime_t-1.c: New testcase. --- - gcc/c-family/c-warn.cc | 30 +++++++++- + gcc/c-family/c-warn.cc | 36 ++++++++++- gcc/c-family/c.opt | 4 ++ gcc/doc/invoke.texi | 6 ++ gcc/testsuite/c-c++-common/Wtime_t-1.c | 83 ++++++++++++++++++++++++++ - 4 files changed, 122 insertions(+), 1 deletion(-) + 4 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/c-c++-common/Wtime_t-1.c diff --git a/gcc/c-family/c-warn.cc b/gcc/c-family/c-warn.cc -index d547b08f55d..0ee86a65e88 100644 +index d547b08f55d..956807ac707 100644 --- a/gcc/c-family/c-warn.cc +++ b/gcc/c-family/c-warn.cc @@ -1394,6 +1394,17 @@ conversion_warning (location_t loc, tree type, tree expr, tree result) @@ -65,7 +68,7 @@ /* Produce warnings after a conversion. RESULT is the result of converting EXPR to TYPE. This is a helper function for convert_and_check and cp_convert_and_check. */ -@@ -1506,7 +1517,24 @@ warnings_for_convert_and_check (location_t loc, tree type, tree expr, +@@ -1506,7 +1517,30 @@ warnings_for_convert_and_check (location_t loc, tree type, tree expr, exprtype, type, expr); } else @@ -78,15 +81,21 @@ + ; + else if (is_time_t (TREE_TYPE (expr)) + && INTEGRAL_TYPE_P (type) -+ && TYPE_PRECISION (type) < TYPE_PRECISION (TREE_TYPE (expr))) ++ && TYPE_PRECISION (type) < TYPE_PRECISION (TREE_TYPE (expr)) ++ /* A conversion to uint32_t or larger is OK. */ ++ && (TYPE_PRECISION (type) + TYPE_UNSIGNED (type) <= 32)) + warning_at (loc, OPT_Wtime_t_conversion, -+ "conversion from %<time_t%> to %qT loses precision", type); ++ "conversion from %<time_t%> to %qT loses too much " ++ "precision", type); + else if (is_time_t (type) + && INTEGRAL_TYPE_P (TREE_TYPE (expr)) -+ && TYPE_PRECISION (type) > TYPE_PRECISION (TREE_TYPE (expr))) ++ && TYPE_PRECISION (type) > TYPE_PRECISION (TREE_TYPE (expr)) ++ /* A conversion from uint32_t or larger is OK. */ ++ && (TYPE_PRECISION (TREE_TYPE (expr)) ++ + TYPE_UNSIGNED (TREE_TYPE (expr)) <= 32)) + warning_at (loc, OPT_Wtime_t_conversion, -+ "source %qE of conversion to %<time_t%> lacks precision", -+ expr); ++ "source %qE with type %qT of conversion to %<time_t%> " ++ "lacks precision", expr, TREE_TYPE (expr)); + } } @@ -125,7 +134,7 @@ @item -Wdangling-else diff --git a/gcc/testsuite/c-c++-common/Wtime_t-1.c b/gcc/testsuite/c-c++-common/Wtime_t-1.c new file mode 100644 -index 00000000000..8193bd3d01f +index 00000000000..dc9471ae366 --- /dev/null +++ b/gcc/testsuite/c-c++-common/Wtime_t-1.c @@ -0,0 +1,83 @@ @@ -166,34 +175,34 @@ + us = t; /* { dg-warning "conversion" } */ + ss = t; /* { dg-warning "conversion" } */ + si = t; /* { dg-warning "conversion" } */ -+ ui = t; /* { dg-warning "conversion" } */ ++ ui = t; /* { dg-bogus "conversion" } */ + sl = t; /* { dg-warning "conversion" } */ -+ ul = t; /* { dg-warning "conversion" } */ -+ ull = t; /* { dg-warning "sign" } */ ++ ul = t; /* { dg-bogus "conversion" } */ ++ ull = t; /* { dg-bogus "conversion" } */ + t = uc; /* { dg-warning "conversion" } */ + t = sc; /* { dg-warning "conversion" } */ + t = si; /* { dg-warning "conversion" } */ -+ t = ui; /* { dg-warning "conversion" } */ ++ t = ui; /* { dg-bogus "conversion" } */ + t = sl; /* { dg-warning "conversion" } */ -+ t = ul; /* { dg-warning "conversion" } */ ++ t = ul; /* { dg-bogus "conversion" } */ + fuc (t); /* { dg-warning "conversion" } */ + fuc (t); /* { dg-warning "conversion" } */ + fsc (t); /* { dg-warning "conversion" } */ + fsc (t); /* { dg-warning "conversion" } */ + si = ft(t); /* { dg-warning "conversion" } */ -+ ui = ft(t); /* { dg-warning "conversion" } */ ++ ui = ft(t); /* { dg-bogus "conversion" } */ + sl = ft(t); /* { dg-warning "conversion" } */ -+ ul = ft(t); /* { dg-warning "conversion" } */ -+ ful(t); /* { dg-warning "conversion" } */ ++ ul = ft(t); /* { dg-bogus "conversion" } */ ++ ful(t); /* { dg-bogus "conversion" } */ + fsl(t); /* { dg-warning "conversion" } */ + t = fsi(si); /* { dg-warning "conversion" } */ -+ t = fui(ui); /* { dg-warning "conversion" } */ ++ t = fui(ui); /* { dg-bogus "conversion" } */ + t = fsl(sl); /* { dg-warning "conversion" } */ -+ t = ful(sl); /* { dg-warning "conversion" } */ -+ ull = ft(t); /* { dg-warning "sign" } */ ++ t = ful(sl); /* { dg-bogus "conversion" } */ ++ ull = ft(t); /* { dg-bogus "conversion" } */ + -+ fsi (t); /* { dg-warning "sign" } */ -+ fui (t); /* { dg-warning "sign" } */ ++ fsi (t); /* { dg-warning "conversion" } */ ++ fui (t); /* { dg-bogus "conversion" } */ + fsi (t); /* { dg-warning "conversion" } */ + t = ft(t); + sll = ft(t);
