From 057011dd1273d23330ad8b6a56c85467387f0c11 Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Sat, 29 Oct 2016 17:31:41 +0300 Subject: [PATCH] Fix 'replacement operator delete cannot be inline' GCC warning (Cygwin) (fix commits 83e0a2c, 3379238) This commit also eliminates "operator delete is missing exception specification throw()" compiler warning. * gc_cpp.cc (operator delete): Define unconditionally (i.e. for Cygwin too). * include/gc_cpp.h [__CYGWIN__]: Do not include "new" header. * include/gc_cpp.h [__CYGWIN__] (operator delete): Remove (as replacement function 'operator delete' cannot be declared 'inline'). --- gc_cpp.cc | 8 +++----- include/gc_cpp.h | 8 -------- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/gc_cpp.cc b/gc_cpp.cc index 8718f5a1..6f25e336 100644 --- a/gc_cpp.cc +++ b/gc_cpp.cc @@ -49,11 +49,9 @@ built-in "new" and "delete". return GC_MALLOC_UNCOLLECTABLE(size); } -# if !defined(__CYGWIN__) - void operator delete(void* obj) GC_DECL_DELETE_THROW { - GC_FREE(obj); - } -# endif // !__CYGWIN__ + void operator delete(void* obj) GC_DECL_DELETE_THROW { + GC_FREE(obj); + } # ifdef GC_OPERATOR_NEW_ARRAY void* operator new[](size_t size) GC_DECL_NEW_THROW { diff --git a/include/gc_cpp.h b/include/gc_cpp.h index 9110633f..ea0e9705 100644 --- a/include/gc_cpp.h +++ b/include/gc_cpp.h @@ -487,12 +487,4 @@ inline void* operator new(size_t size, GC_NS_QUALIFY(GCPlacement) gcp, } #endif // GC_OPERATOR_NEW_ARRAY -#if defined(__CYGWIN__) -# include // for delete throw() - inline void operator delete(void* p) - { - GC_FREE(p); - } -#endif // __CYGWIN__ - #endif /* GC_CPP_H */ -- 2.50.0