Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package redeclipse for openSUSE:Factory 
checked in at 2026-08-11 17:17:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/redeclipse (Old)
 and      /work/SRC/openSUSE:Factory/.redeclipse.new.17972 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "redeclipse"

Tue Aug 11 17:17:46 2026 rev:8 rq:1370658 version:2.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/redeclipse/redeclipse.changes    2022-08-05 
19:52:41.301717096 +0200
+++ /work/SRC/openSUSE:Factory/.redeclipse.new.17972/redeclipse.changes 
2026-08-11 17:19:15.159426363 +0200
@@ -1,0 +2,5 @@
+Tue Aug  4 08:11:00 UTC 2026 - Bernhard Wiedemann <[email protected]>
+
+- Add redeclipse-gcc16-placement-new.patch to fix build with gcc16
+
+-------------------------------------------------------------------

New:
----
  redeclipse-gcc16-placement-new.patch

----------(New B)----------
  New:
- Add redeclipse-gcc16-placement-new.patch to fix build with gcc16
----------(New E)----------

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

Other differences:
------------------
++++++ redeclipse.spec ++++++
--- /var/tmp/diff_new_pack.0RQ9yw/_old  2026-08-11 17:19:20.979672131 +0200
+++ /var/tmp/diff_new_pack.0RQ9yw/_new  2026-08-11 17:19:20.979672131 +0200
@@ -27,6 +27,8 @@
 
 Patch0:         windowed-by-default.patch
 Patch1:         system_sqlite.patch
+# PATCH-FIX-UPSTREAM redeclipse-gcc16-placement-new.patch -- do not redefine 
the standard placement new/delete operators, which breaks the build with gcc16
+Patch2:         redeclipse-gcc16-placement-new.patch
 
 BuildRequires:  discord-rpc-devel
 BuildRequires:  ed

++++++ redeclipse-gcc16-placement-new.patch ++++++
>From 4b3e197fe1067b984b2757184dfa2958c812b19f Mon Sep 17 00:00:00 2001
From: "Bernhard M. Wiedemann" <[email protected]>
Date: Tue, 4 Aug 2026 09:59:42 +0200
Subject: [PATCH] Do not redefine the standard placement new/delete operators

tools.h defined the placement forms of operator new/delete itself
instead of pulling them in from <new>.  That only works as long as no
standard library header defining them has been included before.

As of GCC 16, libstdc++ includes <new> from <bits/stl_iterator.h>,
which cube.h drags in via <math.h> -> <cmath>, so the definitions in
tools.h now collide with the ones from the standard library and the
build fails:

  In file included from shared/cube.h:57:
  shared/tools.h:38:14: error: redefinition of 'void* operator new(size_t, 
void*)'
     38 | inline void *operator new(size_t, void *p) { return p; }
        |              ^~~~~~~~
  /usr/include/c++/16/new:168:7: note: 'void* operator new(std::size_t, void*)' 
previously defined here

Include <new> and drop the hand-written definitions.  The standard
ones are inline and behave identically - and, unlike ours, are
constexpr where the standard requires it.  The custom
operator new(size_t, bool) overloads are not affected.
---
 src/shared/tools.h | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/shared/tools.h b/src/shared/tools.h
index 66b03c7..3abc1e1 100644
--- a/src/shared/tools.h
+++ b/src/shared/tools.h
@@ -3,6 +3,8 @@
 #ifndef _TOOLS_H
 #define _TOOLS_H
 
+#include <new> // for the placement forms of operator new/delete
+
 #ifdef NULL
 #undef NULL
 #endif
@@ -35,10 +37,6 @@ typedef unsigned long long int ullong;
 
 void *operator new(size_t, bool);
 void *operator new[](size_t, bool);
-inline void *operator new(size_t, void *p) { return p; }
-inline void *operator new[](size_t, void *p) { return p; }
-inline void operator delete(void *, void *) {}
-inline void operator delete[](void *, void *) {}
 
 #ifdef swap
 #undef swap

Reply via email to