diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-19 17:55:34 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-19 17:55:34 +0000 |
commit | ab6a6c0cf07f19ca93d5ce72475990d5fff5833d (patch) | |
tree | f91de7248a352ef848d455669b556c6580848a79 /include | |
parent | a0ace4c2a1a228175a677a44812445b18578b073 (diff) |
Detect if the installed gcc version supports the warn_unused_result attribute.
Reported by mvanbaak via IRC -dev.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@123988 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r-- | include/asterisk/autoconfig.h.in | 4 | ||||
-rw-r--r-- | include/asterisk/compiler.h | 6 | ||||
-rw-r--r-- | include/asterisk/logger.h | 4 | ||||
-rw-r--r-- | include/asterisk/sched.h | 12 |
4 files changed, 18 insertions, 8 deletions
diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in index 99aa3ca2a..564b01117 100644 --- a/include/asterisk/autoconfig.h.in +++ b/include/asterisk/autoconfig.h.in @@ -113,6 +113,10 @@ /* Define to 1 if your GCC C compiler supports the 'unused' attribute. */ #undef HAVE_ATTRIBUTE_unused +/* Define to 1 if your GCC C compiler supports the 'warn_unused_result' + attribute. */ +#undef HAVE_ATTRIBUTE_warn_unused_result + /* Define this to indicate the ${BKTR_DESCRIP} library */ #undef HAVE_BKTR diff --git a/include/asterisk/compiler.h b/include/asterisk/compiler.h index 12b8ee728..b6575d000 100644 --- a/include/asterisk/compiler.h +++ b/include/asterisk/compiler.h @@ -59,4 +59,10 @@ #define attribute_sentinel #endif +#ifdef HAVE_ATTRIBUTE_warn_unused_result +#define attribute_warn_unused_result __attribute__((warn_unused_result)) +#else +#define attribute_warn_unused_result +#endif + #endif /* _ASTERISK_COMPILER_H */ diff --git a/include/asterisk/logger.h b/include/asterisk/logger.h index cb7818091..45407e81d 100644 --- a/include/asterisk/logger.h +++ b/include/asterisk/logger.h @@ -83,8 +83,8 @@ void __ast_verbose(const char *file, int line, const char *func, const char *fmt void ast_child_verbose(int level, const char *fmt, ...) __attribute__ ((format (printf, 2, 3))); -int ast_register_verbose(void (*verboser)(const char *string)) __attribute__((warn_unused_result)); -int ast_unregister_verbose(void (*verboser)(const char *string)) __attribute__((warn_unused_result)); +int ast_register_verbose(void (*verboser)(const char *string)) attribute_warn_unused_result; +int ast_unregister_verbose(void (*verboser)(const char *string)) attribute_warn_unused_result; void ast_console_puts(const char *string); diff --git a/include/asterisk/sched.h b/include/asterisk/sched.h index 526c0d90d..8177d4991 100644 --- a/include/asterisk/sched.h +++ b/include/asterisk/sched.h @@ -149,7 +149,7 @@ char *ast_sched_report(struct sched_context *con, char *buf, int bufsiz, struct * \param data data to pass to the callback * \return Returns a schedule item ID on success, -1 on failure */ -int ast_sched_add(struct sched_context *con, int when, ast_sched_cb callback, const void *data) __attribute__((warn_unused_result)); +int ast_sched_add(struct sched_context *con, int when, ast_sched_cb callback, const void *data) attribute_warn_unused_result; /*! * \brief replace a scheduler entry @@ -162,7 +162,7 @@ int ast_sched_add(struct sched_context *con, int when, ast_sched_cb callback, co * \retval -1 failure * \retval otherwise, returns scheduled item ID */ -int ast_sched_replace(int old_id, struct sched_context *con, int when, ast_sched_cb callback, const void *data) __attribute__((warn_unused_result)); +int ast_sched_replace(int old_id, struct sched_context *con, int when, ast_sched_cb callback, const void *data) attribute_warn_unused_result; /*!Adds a scheduled event with rescheduling support * \param con Scheduler context to add @@ -177,7 +177,7 @@ int ast_sched_replace(int old_id, struct sched_context *con, int when, ast_sched * If callback returns 0, no further events will be re-scheduled * \return Returns a schedule item ID on success, -1 on failure */ -int ast_sched_add_variable(struct sched_context *con, int when, ast_sched_cb callback, const void *data, int variable) __attribute__((warn_unused_result)); +int ast_sched_add_variable(struct sched_context *con, int when, ast_sched_cb callback, const void *data, int variable) attribute_warn_unused_result; /*! * \brief replace a scheduler entry @@ -190,7 +190,7 @@ int ast_sched_add_variable(struct sched_context *con, int when, ast_sched_cb cal * \retval -1 failure * \retval otherwise, returns scheduled item ID */ -int ast_sched_replace_variable(int old_id, struct sched_context *con, int when, ast_sched_cb callback, const void *data, int variable) __attribute__((warn_unused_result)); +int ast_sched_replace_variable(int old_id, struct sched_context *con, int when, ast_sched_cb callback, const void *data, int variable) attribute_warn_unused_result; /*! \brief Find a sched structure and return the data field associated with it. @@ -210,7 +210,7 @@ const void *ast_sched_find_data(struct sched_context *con, int id); * \param id ID of the scheduled item to delete * \return Returns 0 on success, -1 on failure */ -int ast_sched_del(struct sched_context *con, int id) __attribute__((warn_unused_result)); +int ast_sched_del(struct sched_context *con, int id) attribute_warn_unused_result; /*! \brief Determines number of seconds until the next outstanding event to take place * Determine the number of seconds until the next outstanding event @@ -221,7 +221,7 @@ int ast_sched_del(struct sched_context *con, int id) __attribute__((warn_unused_ * \return Returns "-1" if there is nothing there are no scheduled events * (and thus the poll should not timeout) */ -int ast_sched_wait(struct sched_context *con) __attribute__((warn_unused_result)); +int ast_sched_wait(struct sched_context *con) attribute_warn_unused_result; /*! \brief Runs the queue * \param con Scheduling context to run |