diff options
Diffstat (limited to 'src/google/tcmalloc.h.in')
-rw-r--r-- | src/google/tcmalloc.h.in | 61 |
1 files changed, 43 insertions, 18 deletions
diff --git a/src/google/tcmalloc.h.in b/src/google/tcmalloc.h.in index f49b190..4937c62 100644 --- a/src/google/tcmalloc.h.in +++ b/src/google/tcmalloc.h.in @@ -42,37 +42,62 @@ # define __THROW /* __THROW is just an optimization, so ok to make it "" */ #endif +// Define the version number so folks can check against it +#define TC_VERSION_MAJOR @TC_VERSION_MAJOR@ +#define TC_VERSION_MINOR @TC_VERSION_MINOR@ +#define TC_VERSION_PATCH "@TC_VERSION_PATCH@" +#define TC_VERSION_STRING "google-perftools @TC_VERSION_MAJOR@.@TC_VERSION_MINOR@@TC_VERSION_PATCH@" + #include <stdlib.h> // for struct mallinfo, if it's defined +// Annoying stuff for windows -- makes sure clients can import these functions +#ifndef PERFTOOLS_DLL_DECL +# ifdef _WIN32 +# define PERFTOOLS_DLL_DECL __declspec(dllimport) +# else +# define PERFTOOLS_DLL_DECL +# endif +#endif + #ifdef __cplusplus #include <new> // for nothrow_t extern "C" { #endif - void* tc_malloc(size_t size) __THROW; - void tc_free(void* ptr) __THROW; - void* tc_realloc(void* ptr, size_t size) __THROW; - void* tc_calloc(size_t nmemb, size_t size) __THROW; - void tc_cfree(void* ptr) __THROW; + // Returns a human-readable version string. If major, minor, + // and/or patch are not NULL, they are set to the major version, + // minor version, and patch-code (a string, usually ""). + PERFTOOLS_DLL_DECL const char* tc_version(int* major, int* minor, + const char** patch) __THROW; + + PERFTOOLS_DLL_DECL void* tc_malloc(size_t size) __THROW; + PERFTOOLS_DLL_DECL void tc_free(void* ptr) __THROW; + PERFTOOLS_DLL_DECL void* tc_realloc(void* ptr, size_t size) __THROW; + PERFTOOLS_DLL_DECL void* tc_calloc(size_t nmemb, size_t size) __THROW; + PERFTOOLS_DLL_DECL void tc_cfree(void* ptr) __THROW; - void* tc_memalign(size_t __alignment, size_t __size) __THROW; - int tc_posix_memalign(void** ptr, size_t align, size_t size) __THROW; - void* tc_valloc(size_t __size) __THROW; - void* tc_pvalloc(size_t __size) __THROW; + PERFTOOLS_DLL_DECL void* tc_memalign(size_t __alignment, + size_t __size) __THROW; + PERFTOOLS_DLL_DECL int tc_posix_memalign(void** ptr, + size_t align, size_t size) __THROW; + PERFTOOLS_DLL_DECL void* tc_valloc(size_t __size) __THROW; + PERFTOOLS_DLL_DECL void* tc_pvalloc(size_t __size) __THROW; - void tc_malloc_stats(void) __THROW; - int tc_mallopt(int cmd, int value) __THROW; + PERFTOOLS_DLL_DECL void tc_malloc_stats(void) __THROW; + PERFTOOLS_DLL_DECL int tc_mallopt(int cmd, int value) __THROW; #if @ac_cv_have_struct_mallinfo@ - struct mallinfo tc_mallinfo(void) __THROW; + PERFTOOLS_DLL_DECL struct mallinfo tc_mallinfo(void) __THROW; #endif #ifdef __cplusplus - void* tc_new(size_t size); - void tc_delete(void* p) __THROW; - void* tc_newarray(size_t size); - void tc_deletearray(void* p) __THROW; + PERFTOOLS_DLL_DECL void* tc_new(size_t size); + PERFTOOLS_DLL_DECL void tc_delete(void* p) __THROW; + PERFTOOLS_DLL_DECL void* tc_newarray(size_t size); + PERFTOOLS_DLL_DECL void tc_deletearray(void* p) __THROW; - void* tc_new_nothrow(size_t size, const std::nothrow_t&) __THROW; - void* tc_newarray_nothrow(size_t size, const std::nothrow_t&) __THROW; + PERFTOOLS_DLL_DECL void* tc_new_nothrow(size_t size, + const std::nothrow_t&) __THROW; + PERFTOOLS_DLL_DECL void* tc_newarray_nothrow(size_t size, + const std::nothrow_t&) __THROW; } #endif |