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
