When compiling with -std=c++14 (the default for gcc 6.0+), the sized deallocation operator must be defined to prevent undefined symbols when linking.
winsup/cygwin/ChangeLog: cxx.cc (operator delete(void *p, size_t)): Define. Signed-off-by: Peter Foley <pefol...@pefoley.com> --- winsup/cygwin/cxx.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/winsup/cygwin/cxx.cc b/winsup/cygwin/cxx.cc index 0faeaf7..df7491b 100644 --- a/winsup/cygwin/cxx.cc +++ b/winsup/cygwin/cxx.cc @@ -29,6 +29,11 @@ operator delete (void *p) { free (p); } +void +operator delete (void *p, size_t) +{ + ::operator delete(p); +} void * operator new[] (std::size_t s) -- 2.7.4