]> granicus.if.org Git - gc/commitdiff
Fix 'replacement operator delete cannot be inline' GCC warning (Cygwin)
authorIvan Maidanski <ivmai@mail.ru>
Sat, 29 Oct 2016 14:31:41 +0000 (17:31 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 8 Nov 2016 20:55:27 +0000 (23:55 +0300)
(Cherry-pick commit 057011d from 'release-7_6' branch.)

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
include/gc_cpp.h

index 0f6c9d2b1dde78681ec9109caf8691fd69d8ac0e..bf880c082ab96d5a1bb9bc6b40041d6eaf678d33 100644 (file)
--- a/gc_cpp.cc
+++ b/gc_cpp.cc
@@ -47,11 +47,9 @@ void* operator new( size_t size ) GC_DECL_NEW_THROW {
   return GC_MALLOC_UNCOLLECTABLE(size);
 }
 
-#if !defined(__CYGWIN__)
-  void operator delete( void* obj ) GC_DECL_DELETE_THROW {
+  void operator delete(void* obj) GC_DECL_DELETE_THROW {
     GC_FREE(obj);
   }
-#endif /* !__CYGWIN__ */
 
 #ifdef GC_OPERATOR_NEW_ARRAY
   void* operator new[]( size_t size ) GC_DECL_NEW_THROW {
index 0302439df4984bb04ccbfaf847c7bc2bd2d7bf37..2e4aa1b4f5e63e21be26ca8fba8b2199eaf36bae 100644 (file)
@@ -425,12 +425,4 @@ inline void* operator new( size_t size, GC_NS_QUALIFY(GCPlacement) gcp,
   }
 #endif /* GC_OPERATOR_NEW_ARRAY */
 
-#if defined(__CYGWIN__)
-# include <new> // for delete throw()
-  inline void operator delete(void *p)
-  {
-    GC_FREE(p);
-  }
-#endif
-
 #endif /* GC_CPP_H */