Followup-For: Bug #836934
Control: found -1 1:1.2.4-1.1
Control: retitle -1 frobtads: FTBFS with C++14 on i386: error: exception 
cleanup for this placement new selects non-placement operator delete

Hi,

this is still reproducible on i386 (and armhf, too, so probably a 32-bit 
problem):

g++ -DHAVE_CONFIG_H -I. -I/build/frobtads-1.2.4/.  -DFROBTADS -DTC_TARGET_T3 
-DTADSNET  -DOS_DECLARATIVE_TLS  -DVMGLOB_VARS  -D_M_IX86_64 -DRUNFAST 
-I/build/frobtads-1.2.4/./src -I/build/frobtads-1.2.4/./tads2 
-I/build/frobtads-1.2.4/./tads3 -I/build/frobtads-1.2.4/./tads3/unix  
-DT3_INC_DIR=\"/usr/share/frobtads/tads3/include\" 
-DT3_LIB_DIR=\"/usr/share/frobtads/tads3/lib\" 
-DT3_RES_DIR=\"/usr/share/frobtads/tads3/res\" -DT3_LOG_FILE=\"/tmp/frob.log\" 
-I/build/frobtads-1.2.4/./src -I/build/frobtads-1.2.4/./tads2 
-I/build/frobtads-1.2.4/./src -I/build/frobtads-1.2.4/./tads3 
-I/build/frobtads-1.2.4/./tads3/test -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 
-fdebug-prefix-map=/build/frobtads-1.2.4=. -fstack-protector-strong -Wformat 
-Werror=format-security -fno-strict-aliasing -pthread -c -o tads3/tcprs.o 
/build/frobtads-1.2.4/./tads3/tcprs.cpp
In file included from /build/frobtads-1.2.4/./tads3/tcprs.cpp:39:
/build/frobtads-1.2.4/./tads3/vmbignum.h: In static member function 'static 
vm_obj_id_t CVmObjBigNum::create(int, const bignum_t<prec>*)':
/build/frobtads-1.2.4/./tads3/vmbignum.h:585:45: error: exception cleanup for 
this placement new selects non-placement operator delete [-fpermissive]
  585 |         new (vmg_ id) CVmObjBigNum(vmg_ prec);
      |                                             ^
<built-in>: note: 'void operator delete(void*, unsigned int)' is a usual 
(non-placement) deallocation function in C++14 (or with -fsized-deallocation)
/build/frobtads-1.2.4/./tads3/vmbignum.h: In static member function 'static 
vm_obj_id_t CVmObjBigNum::create(int, const bignum_t<prec>&)':
/build/frobtads-1.2.4/./tads3/vmbignum.h:596:45: error: exception cleanup for 
this placement new selects non-placement operator delete [-fpermissive]
  596 |         new (vmg_ id) CVmObjBigNum(vmg_ prec);
      |                                             ^
<built-in>: note: 'void operator delete(void*, unsigned int)' is a usual 
(non-placement) deallocation function in C++14 (or with -fsized-deallocation)
/build/frobtads-1.2.4/./tads3/vmbignum.h: In member function 'virtual void 
CVmMetaclassBigNum::create_for_image_load(vm_obj_id_t)':
/build/frobtads-1.2.4/./tads3/vmbignum.h:1640:36: error: exception cleanup for 
this placement new selects non-placement operator delete [-fpermissive]
 1640 |         new (vmg_ id) CVmObjBigNum();
      |                                    ^
<built-in>: note: 'void operator delete(void*, unsigned int)' is a usual 
(non-placement) deallocation function in C++14 (or with -fsized-deallocation)
/build/frobtads-1.2.4/./tads3/vmbignum.h: In member function 'virtual void 
CVmMetaclassBigNum::create_for_restore(vm_obj_id_t)':
/build/frobtads-1.2.4/./tads3/vmbignum.h:1647:36: error: exception cleanup for 
this placement new selects non-placement operator delete [-fpermissive]
 1647 |         new (vmg_ id) CVmObjBigNum();
      |                                    ^
<built-in>: note: 'void operator delete(void*, unsigned int)' is a usual 
(non-placement) deallocation function in C++14 (or with -fsized-deallocation)
make[2]: *** [Makefile:10276: tads3/tcprs.o] Error 1
make[2]: Leaving directory '/build/frobtads-1.2.4/obj-i686-linux-gnu'
make[1]: *** [Makefile:3854: all] Error 2
make[1]: Leaving directory '/build/frobtads-1.2.4/obj-i686-linux-gnu'
make: *** [/usr/share/cdbs/1/class/makefile.mk:77: debian/stamp-makefile-build] 
Error 2


Andreas

Reply via email to