From f8d815e19f925c7122f4bf4ead01b0111336866a Mon Sep 17 00:00:00 2001 From: "David M. Lee" Date: Tue, 18 Sep 2012 15:50:35 +0000 Subject: 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 --- include/asterisk/autoconfig.h.in | 13 ++++++++----- include/asterisk/utils.h | 3 ++- 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'include/asterisk') diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in index dfeea6bfd..9288cce54 100644 --- a/include/asterisk/autoconfig.h.in +++ b/include/asterisk/autoconfig.h.in @@ -845,19 +845,19 @@ /* Define to 1 if you have the `strtoq' function. */ #undef HAVE_STRTOQ -/* Define to 1 if `ifr_ifru.ifru_hwaddr' is member of `struct ifreq'. */ +/* Define to 1 if `ifr_ifru.ifru_hwaddr' is a member of `struct ifreq'. */ #undef HAVE_STRUCT_IFREQ_IFR_IFRU_IFRU_HWADDR -/* Define to 1 if `uid' is member of `struct sockpeercred'. */ +/* Define to 1 if `uid' is a member of `struct sockpeercred'. */ #undef HAVE_STRUCT_SOCKPEERCRED_UID -/* Define to 1 if `st_blksize' is member of `struct stat'. */ +/* Define to 1 if `st_blksize' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BLKSIZE -/* Define to 1 if `cr_uid' is member of `struct ucred'. */ +/* Define to 1 if `cr_uid' is a member of `struct ucred'. */ #undef HAVE_STRUCT_UCRED_CR_UID -/* Define to 1 if `uid' is member of `struct ucred'. */ +/* Define to 1 if `uid' is a member of `struct ucred'. */ #undef HAVE_STRUCT_UCRED_UID /* Define to 1 if you have the mISDN Supplemental Services library. */ @@ -1135,6 +1135,9 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME +/* Define to the home page for this package. */ +#undef PACKAGE_URL + /* Define to the version of this package. */ #undef PACKAGE_VERSION 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 */ -- cgit v1.2.3