Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gap for openSUSE:Factory checked in 
at 2025-06-23 16:07:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gap (Old)
 and      /work/SRC/openSUSE:Factory/.gap.new.7067 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gap"

Mon Jun 23 16:07:03 2025 rev:6 rq:1287747 version:4.14.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/gap/gap.changes  2025-02-17 21:40:27.971409357 
+0100
+++ /work/SRC/openSUSE:Factory/.gap.new.7067/gap.changes        2025-06-23 
16:07:04.299877898 +0200
@@ -1,0 +2,5 @@
+Sun Jun 22 19:48:05 UTC 2025 - Jan Engelhardt <jeng...@inai.de>
+
+- Add gcc15.patch
+
+-------------------------------------------------------------------

New:
----
  gcc15.patch

----------(New B)----------
  New:
- Add gcc15.patch
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gap.spec ++++++
--- /var/tmp/diff_new_pack.Wug7Ol/_old  2025-06-23 16:07:05.443925476 +0200
+++ /var/tmp/diff_new_pack.Wug7Ol/_new  2025-06-23 16:07:05.447925643 +0200
@@ -27,6 +27,7 @@
 Source:         
https://github.com/gap-system/gap/releases/download/v%version/gap-%version-core.tar.gz
 Source2:        macros.gap
 Source3:        %name-rpmlintrc
+Patch1:         gcc15.patch
 BuildRequires:  gcc-c++
 %if 0%{?suse_version}
 BuildRequires:  fdupes
@@ -262,7 +263,7 @@
 This subpackage will pull in all optional packages of the GAP distribution.
 
 %prep
-%autosetup
+%autosetup -p1
 echo "This package causes installation of optional GAP packages" >FULL.txt
 
 %build

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.Wug7Ol/_old  2025-06-23 16:07:05.495927639 +0200
+++ /var/tmp/diff_new_pack.Wug7Ol/_new  2025-06-23 16:07:05.499927805 +0200
@@ -1,5 +1,5 @@
-mtime: 1739136670
-commit: dd359d0a5f3ed2bf4e291d4bb58c34cacb84491a66627fc9ef19f04c27cae586
+mtime: 1750621697
+commit: 2a883813bedef83448213fd380128e9edf531a34e7f5577fd45b35b3f0f2b21d
 url: https://src.opensuse.org/jengelh/gap
 revision: master
 

++++++ build.specials.obscpio ++++++

++++++ gcc15.patch ++++++
>From e080de9a6b37e806dcd7b4814926a1b59b64d2cc Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jeng...@inai.de>
Date: Wed, 18 Jun 2025 06:07:10 +0200
Subject: [PATCH] Stop using declarators with unspecified arguments
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
References: https://github.com/gap-system/gap/pull/6010

GCC 15/-std=c23:

```
src/bool.c:332:22: error: passing argument 1 of 'InitHandlerFunc' from 
incompatible pointer type [-Wincompatible-pointer-types]
  332 |     InitHandlerFunc( ReturnTrue1, "src/bool.c:ReturnTrue1" );
[   19s] src/calls.h:416:30: note: expected ‘ObjFunc’ {aka ‘struct OpaqueBag * 
(*)(void)’} but argument is of type ‘struct OpaqueBag * (*)(struct OpaqueBag *, 
struct OpaqueBag *)’
```

Declarators with unspecified arguments `int f();` got socially
deprecated with C89; since then, one can write `f(void)` for actual
zero-argument functions, and `f(T, ...)` for varargs functions.

C23 finally yanked declarators with unspecified arguments.

Different pointer types may have different size. So you can't have
one pointer type for "all kinds of functions" in plain C. Nor C++ for
that matter; some use of templates/RTTI would be necessary (possibly
hidden in something like std::any, but still).

Or rely on platform-specific extensions, e.g. POSIX>=2001 guarantees
that sizeof(void*) >= sizeof(any function pointer) and that
conversion is meaningful; this is effectively mandated by the
presence of dlsym(). For Windows, sizeof(FARPROC) >= sizeof(afp),
effectively mandated by GetProcAddress().

Fixes: #5857 #6009
---
 src/common.h | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/src/common.h b/src/common.h
index 3932c3020..02818f567 100644
--- a/src/common.h
+++ b/src/common.h
@@ -161,12 +161,7 @@ typedef Bag Obj;
 **
 **  'ObjFunc' is the type of a function returning an object.
 */
-#pragma GCC diagnostic push
-#ifndef __cplusplus
-#pragma GCC diagnostic ignored "-Wstrict-prototypes"
-#endif
-typedef Obj (* ObjFunc) (/*arguments*/);
-#pragma GCC diagnostic pop
+typedef void * ObjFunc;
 
 typedef Obj (* ObjFunc_0ARGS) (Obj self);
 typedef Obj (* ObjFunc_1ARGS) (Obj self, Obj a1);
-- 
2.49.0

Reply via email to