diff options
author | David M. Lee <dlee@digium.com> | 2012-09-18 15:50:35 +0000 |
---|---|---|
committer | David M. Lee <dlee@digium.com> | 2012-09-18 15:50:35 +0000 |
commit | f8d815e19f925c7122f4bf4ead01b0111336866a (patch) | |
tree | b289596496e0461f1a5d44ec85f2ae305e66b4a5 /include/asterisk/utils.h | |
parent | b0f01e5a6f871f42ded30d77984b32aeb05817a6 (diff) |
Add -fnested-functions compile flag, if needed.
In order to use nested functions on some versions of GCC (e.g. GCC on OS X),
the -fnested-functions flag must be passed to the compiler. This patch adds
detection logic to ./configure to add the flag if necessary. It also adds
a comment to utils.h as to why the nested function needs a prototype.
(closes issue ASTERISK-20399)
Reported by: David M. Lee
Review: https://reviewboard.asterisk.org/r/2102/
........
Merged revisions 373119 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/utils.h')
-rw-r--r-- | include/asterisk/utils.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h index 014a62ec5..e28e33267 100644 --- a/include/asterisk/utils.h +++ b/include/asterisk/utils.h @@ -919,8 +919,9 @@ char *ast_utils_which(const char *binary, char *fullpath, size_t fullpath_size); * \endcode */ #define RAII_VAR(vartype, varname, initval, dtor) \ + /* Prototype needed due to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36774 */ \ auto void _dtor_ ## varname (vartype * v); \ - auto void _dtor_ ## varname (vartype * v) { dtor(*v); } \ + void _dtor_ ## varname (vartype * v) { dtor(*v); } \ vartype varname __attribute__((cleanup(_dtor_ ## varname))) = (initval) #endif /* _ASTERISK_UTILS_H */ |