Detect if the installed gcc version supports the warn_unused_result attribute.

Reported by mvanbaak via IRC -dev.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.1
Tilghman Lesher 17 years ago
parent 5791b6680d
commit 4522c60ec8

1242
configure vendored

File diff suppressed because it is too large Load Diff

@ -441,6 +441,7 @@ AST_GCC_ATTRIBUTE(unused)
AST_GCC_ATTRIBUTE(always_inline)
AST_GCC_ATTRIBUTE(deprecated)
AST_GCC_ATTRIBUTE(sentinel)
AST_GCC_ATTRIBUTE(warn_unused_result)
AC_MSG_CHECKING(for -ffunction-sections support)
saved_CFLAGS="${CFLAGS}"

@ -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

@ -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 */

@ -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);

@ -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

Loading…
Cancel
Save