Bug 1407601 Revert to the previous behavior in MozGrMalloc.h for Linux, and add extern C to correct Solaris build break r?baku
MozReview-Commit-ID: GP6N6pcqQp
--- a/gfx/graphite2/src/MozGrMalloc.h
+++ b/gfx/graphite2/src/MozGrMalloc.h
@@ -7,24 +7,38 @@
#define MOZ_GR_MALLOC_H
// Override malloc() and friends to call moz_xmalloc() etc, so that we get
// predictable, safe OOM crashes rather than relying on the code to handle
// allocation failures reliably.
#include "mozilla/mozalloc.h"
-inline void* malloc(size_t size)
+#if defined(XP_LINUX)
+
+#define malloc moz_xmalloc
+#define calloc moz_xcalloc
+#define realloc moz_xrealloc
+
+#else
+
+// extern "C" is needed for the Solaris build, while the inline
+// functions are needed for the MinGW build. They break gcc 5.4.0
+// on Linux however, so keep the old #define's above for Linux
+
+extern "C" inline void* malloc(size_t size)
{
return moz_xmalloc(size);
}
-inline void* calloc(size_t nmemb, size_t size)
+extern "C" inline void* calloc(size_t nmemb, size_t size)
{
return moz_xcalloc(nmemb, size);
}
-inline void* realloc(void *ptr, size_t size)
+extern "C" inline void* realloc(void *ptr, size_t size)
{
return moz_xrealloc(ptr, size);
}
+#endif // defined(XP_LINUX)
+
#endif // MOZ_GR_MALLOC_H