diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2013-06-11 21:55:13 -0700 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2013-06-11 23:27:33 -0700 |
commit | 8b5370313dcc00a45ea5c3e8b4c497bc00fd8e13 (patch) | |
tree | 15e8a4841af992e17794f26fc7991ed40c35bd51 /src/poison.hpp | |
parent | 8c6072df499ef9068346fbe8313b63dbba1e4e82 (diff) | |
download | tmwa-8b5370313dcc00a45ea5c3e8b4c497bc00fd8e13.tar.gz tmwa-8b5370313dcc00a45ea5c3e8b4c497bc00fd8e13.tar.bz2 tmwa-8b5370313dcc00a45ea5c3e8b4c497bc00fd8e13.tar.xz tmwa-8b5370313dcc00a45ea5c3e8b4c497bc00fd8e13.zip |
Allegedly remove all manual memory management
Diffstat (limited to 'src/poison.hpp')
-rw-r--r-- | src/poison.hpp | 57 |
1 files changed, 55 insertions, 2 deletions
diff --git a/src/poison.hpp b/src/poison.hpp index d196bc6..46e6d65 100644 --- a/src/poison.hpp +++ b/src/poison.hpp @@ -5,7 +5,6 @@ // TODO fill in as they are removed from source code: // double (use a fixed class) #pragma GCC poison float -// mem* and str* from <string.h>, in favor of <algorithm> // Local time is forbidden. #pragma GCC poison timelocal // timegm @@ -15,11 +14,65 @@ #pragma GCC poison time // TimeT::now() or gettick() +// Avoid manual allocations. // Use some sort of managed container, or at least dumb_ptr -#if 0 + +// new is needed when resetting unique_ptr. +// No it isn't. It doesn't matter if it's a little more verbose; it's cleaner. +//#define really_new1 new +// delete is needed for unique_ptr's deleter. +#define really_delete1 delete + +#pragma GCC poison new +#pragma GCC poison delete + #pragma GCC poison malloc #pragma GCC poison calloc #pragma GCC poison realloc #pragma GCC poison free + #pragma GCC poison strdup +#pragma GCC poison strndup + +// complete list of glibc whose results may need to be free()d +// not believed to be used +#pragma GCC poison posix_memalign +#pragma GCC poison aligned_alloc +#pragma GCC poison memalign +#pragma GCC poison valloc +#pragma GCC poison pvalloc + +#pragma GCC poison asprintf +#pragma GCC poison vasprintf + +#pragma GCC poison canonicalize_file_name + +#pragma GCC poison cfree + +#pragma GCC poison open_memstream +#pragma GCC poison open_wmemstream + +// *scanf %ms is done very carefully. +//#pragma GCC poison scanf +//#pragma GCC poison fscanf +//#pragma GCC poison sscanf +//#pragma GCC poison vscanf +//#pragma GCC poison vsscanf +//#pragma GCC poison vfscanf + +#pragma GCC poison getcwd +#pragma GCC poison get_current_dir_name + +#pragma GCC poison malloc_get_state + +#pragma GCC poison realpath + +#pragma GCC poison tempnam + +#pragma GCC poison wcsdup + +#if 0 +#pragma GCC poison memcpy +#pragma GCC poison memmove +#pragma GCC poison memset #endif |