Avoid "`sentinel' attribute directive ignored" warning with gcc 3.x

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1134906 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Stefan Fritsch
2011-06-12 10:40:17 +00:00
parent e97995c4c7
commit 20633f6349
6 changed files with 18 additions and 11 deletions

View File

@ -173,4 +173,13 @@
#define AP_HAVE_DESIGNATED_INITIALIZER
#endif
#ifndef __has_attribute /* check for supported attributes on clang */
#define __has_attribute(x) 0
#endif
#if (defined(__GNUC__) && __GNUC__ >= 4) || __has_attribute(sentinel)
#define ap_func_attr_sentinel __attribute__((sentinel))
#else
#define ap_func_attr_sentinel
#endif
#endif /* AP_CONFIG_H */

View File

@ -346,7 +346,7 @@ static inline int ap_rputs(const char *str, request_rec *r)
* @return The number of bytes sent
*/
AP_DECLARE_NONSTD(int) ap_rvputs(request_rec *r,...)
__attribute__((sentinel));
ap_func_attr_sentinel;
/**
* Output data to the client in a printf format

View File

@ -285,7 +285,7 @@ AP_DECLARE(void) ap_update_mtime(request_rec *r, apr_time_t dependency_mtime);
* @return None.
*/
AP_DECLARE(void) ap_allow_methods(request_rec *r, int reset, ...)
__attribute__((sentinel));
ap_func_attr_sentinel;
/**
* Add one or more methods to the list permitted to access the resource.

View File

@ -68,7 +68,7 @@ typedef struct {
AP_DECLARE(apr_status_t) ap_cookie_write(request_rec * r, const char *name,
const char *val, const char *attrs,
long maxage, ...)
__attribute__((sentinel));
ap_func_attr_sentinel;
/**
* Write an RFC2965 compliant cookie.
@ -85,7 +85,7 @@ AP_DECLARE(apr_status_t) ap_cookie_write(request_rec * r, const char *name,
AP_DECLARE(apr_status_t) ap_cookie_write2(request_rec * r, const char *name2,
const char *val, const char *attrs2,
long maxage, ...)
__attribute__((sentinel));
ap_func_attr_sentinel;
/**
* Remove an RFC2109 compliant cookie.
@ -99,7 +99,7 @@ AP_DECLARE(apr_status_t) ap_cookie_write2(request_rec * r, const char *name2,
*/
AP_DECLARE(apr_status_t) ap_cookie_remove(request_rec * r, const char *name,
const char *attrs, ...)
__attribute__((sentinel));
ap_func_attr_sentinel;
/**
* Remove an RFC2965 compliant cookie.
@ -113,7 +113,7 @@ AP_DECLARE(apr_status_t) ap_cookie_remove(request_rec * r, const char *name,
*/
AP_DECLARE(apr_status_t) ap_cookie_remove2(request_rec * r, const char *name2,
const char *attrs2, ...)
__attribute__((sentinel));
ap_func_attr_sentinel;
/**
* Read a cookie called name, placing its value in val.

View File

@ -547,10 +547,7 @@ AP_DECLARE(apr_status_t) ap_fflush(ap_filter_t *f, apr_bucket_brigade *bb);
AP_DECLARE_NONSTD(apr_status_t) ap_fputstrs(ap_filter_t *f,
apr_bucket_brigade *bb,
...)
#if defined(__GNUC__) && __GNUC__ >= 4
__attribute__((sentinel))
#endif
;
ap_func_attr_sentinel;
/**
* Output data to the filter in printf format

View File

@ -27,6 +27,7 @@
#define APACHE_UTIL_SCRIPT_H
#include "apr_buckets.h"
#include "ap_config.h"
#ifdef __cplusplus
extern "C" {
@ -123,7 +124,7 @@ AP_DECLARE_NONSTD(int) ap_scan_script_header_err_strs(request_rec *r,
char *buffer,
const char **termch,
int *termarg, ...)
__attribute__((sentinel));
ap_func_attr_sentinel;
/**
* Read headers output from a script, ensuring that the output is valid. If