gecko-dev/memory/mozalloc
Nathan Froyd b47e23e17a Bug 1411613 - mark certain allocation functions as non-throwing; r=glandium
glibc marks various allocation functions as `throw()`.  This addition
hasn't been a problem until we tried to enable C++17, where clang
started complaining that we were redeclaring functions with mismatched
exception specifications.  Peculiarly, glibc declares virtually
everything we redeclare as `throw()`, but clang only complains about the
mismatches for a particular subset of functions.

The approach taken in this patch is to add another potentially defined
macro to malloc_decls.h, `NOTHROW_MALLOC_DECL`.  This macro works
exactly like `MALLOC_DECL`, except that clients can define
`NOTHROW_MALLOC_DECL` to add appropriate `throw()` specifiers when
declaring functions at global scope, and thereby avoid mismatched
exception specifications.

Differential Revision: https://phabricator.services.mozilla.com/D44045

--HG--
extra : moz-landing-system : lando
2019-09-04 23:40:15 +00:00
..
cxxalloc.cpp Bug 1559379 - Export C++ allocation functions from mozglue on all platforms. r=froydnj 2019-06-27 22:07:42 +00:00
cxxalloc.h Bug 1559379 - Export C++ allocation functions from mozglue on all platforms. r=froydnj 2019-06-27 22:07:42 +00:00
moz.build Bug 1547519 - Fix jemalloc redirections for MinGW build r=glandium 2019-09-04 02:40:08 +00:00
mozalloc.cpp
mozalloc.h Bug 1411613 - mark certain allocation functions as non-throwing; r=glandium 2019-09-04 23:40:15 +00:00
mozalloc_abort.cpp
mozalloc_abort.h
mozalloc_oom.cpp
mozalloc_oom.h
msvc_raise_wrappers.cpp
throw_gcc.h
winheap.cpp