]> granicus.if.org Git - apache/commitdiff
Merge r1229134, r1229136:
authorStefan Fritsch <sf@apache.org>
Mon, 9 Jan 2012 13:18:26 +0000 (13:18 +0000)
committerStefan Fritsch <sf@apache.org>
Mon, 9 Jan 2012 13:18:26 +0000 (13:18 +0000)
Rename ap_func_attr_* macros to AP_FN_ATTR_*
Add macro for attribute alloc_size on newer gcc's

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1229139 13f79535-47bb-0310-9956-ffa450edef68

include/ap_config.h
include/http_protocol.h
include/http_request.h
include/httpd.h
include/util_cookies.h
include/util_filter.h
include/util_script.h

index 1a22329bf9d903b5cf4ae9c8c12f5d787cdda523..7c6a795b05c45e909ca13e7df726b6f796f2f29e 100644 (file)
 #define __has_attribute(x) 0
 #endif
 #if (defined(__GNUC__) && __GNUC__ >= 4) || __has_attribute(sentinel)
-#define ap_func_attr_sentinel __attribute__((sentinel))
+#define AP_FN_ATTR_SENTINEL __attribute__((sentinel))
 #else
-#define ap_func_attr_sentinel
+#define AP_FN_ATTR_SENTINEL
 #endif
 
 #if ( defined(__GNUC__) &&                                        \
       (__GNUC__ >= 4 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 4))) \
     || __has_attribute(warn_unused_result)
-#define ap_func_attr_warn_unused_result   __attribute__((warn_unused_result))
+#define AP_FN_ATTR_WARN_UNUSED_RESULT   __attribute__((warn_unused_result))
 #else
-#define ap_func_attr_warn_unused_result
+#define AP_FN_ATTR_WARN_UNUSED_RESULT
+#endif
+
+#if ( defined(__GNUC__) &&                                        \
+      (__GNUC__ >= 4 && __GNUC_MINOR__ >= 3))                     \
+    || __has_attribute(alloc_size)
+#define AP_FN_ATTR_ALLOC_SIZE(x)     __attribute__((alloc_size(x)))
+#define AP_FN_ATTR_ALLOC_SIZE2(x,y)  __attribute__((alloc_size(x,y)))
+#else
+#define AP_FN_ATTR_ALLOC_SIZE(x)
+#define AP_FN_ATTR_ALLOC_SIZE2(x,y)
 #endif
 
 #endif /* AP_CONFIG_H */
index 377b8f1248c36bdc4fb5554aa81c56a8d95f7d81..d0d1f27ae2a65ec4a3d3487f446bc32a1740edd3 100644 (file)
@@ -355,7 +355,7 @@ static APR_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,...)
-                       ap_func_attr_sentinel;
+                       AP_FN_ATTR_SENTINEL;
 
 /**
  * Output data to the client in a printf format
index e2e4e6ebf2bf5e0e70a6a7851ba382337c0f9055..a81e7538b2d089227ee8d0021970c08ad9d05ce6 100644 (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, ...)
-                 ap_func_attr_sentinel;
+                 AP_FN_ATTR_SENTINEL;
 
 /**
  * Add one or more methods to the list permitted to access the resource.
index 987d2978fe7ae132168231a5037f621f7c0eb180..a55c5117dffd7a306748fc6a055f9bf9b8352ae4 100644 (file)
@@ -2136,7 +2136,9 @@ AP_DECLARE(void) ap_abort_on_oom(void) __attribute__((noreturn));
  * @return pointer to the allocated memory
  * @note ap_malloc may be implemented as a macro
  */
-AP_DECLARE(void *) ap_malloc(size_t size) __attribute__((malloc));
+AP_DECLARE(void *) ap_malloc(size_t size)
+                    __attribute__((malloc))
+                    AP_FN_ATTR_ALLOC_SIZE(1);
 
 /**
  * Wrapper for calloc() that calls ap_abort_on_oom() if out of memory
@@ -2145,7 +2147,9 @@ AP_DECLARE(void *) ap_malloc(size_t size) __attribute__((malloc));
  * @return pointer to the allocated memory
  * @note ap_calloc may be implemented as a macro
  */
-AP_DECLARE(void *) ap_calloc(size_t nelem, size_t size) __attribute__((malloc));
+AP_DECLARE(void *) ap_calloc(size_t nelem, size_t size)
+                   __attribute__((malloc))
+                   AP_FN_ATTR_ALLOC_SIZE2(1,2);
 
 /**
  * Wrapper for realloc() that calls ap_abort_on_oom() if out of memory
@@ -2155,7 +2159,8 @@ AP_DECLARE(void *) ap_calloc(size_t nelem, size_t size) __attribute__((malloc));
  * @note ap_realloc may be implemented as a macro
  */
 AP_DECLARE(void *) ap_realloc(void *ptr, size_t size)
-                   ap_func_attr_warn_unused_result;
+                   AP_FN_ATTR_WARN_UNUSED_RESULT
+                   AP_FN_ATTR_ALLOC_SIZE(2);
 
 
 #define AP_NORESTART APR_OS_START_USEERR + 1
index c424dc045d9d233d3cd5eb6470a713687b2c99db..51f8facbc7095204bd73bae978d2ea0bc1a21044 100644 (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, ...)
-                         ap_func_attr_sentinel;
+                         AP_FN_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, ...)
-                         ap_func_attr_sentinel;
+                         AP_FN_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, ...)
-                         ap_func_attr_sentinel;
+                         AP_FN_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, ...)
-                         ap_func_attr_sentinel;
+                         AP_FN_ATTR_SENTINEL;
 
 /**
  * Read a cookie called name, placing its value in val.
index cc2a0f76e3ccb488d590f7e9ff5498a0983fa472..ebe8de463779e5a819182c842b953a72a55707d3 100644 (file)
@@ -568,7 +568,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,
                                             ...)
-                                ap_func_attr_sentinel;
+                                AP_FN_ATTR_SENTINEL;
 
 /**
  * Output data to the filter in printf format
index 9643657c948229ab8ceb4e4ca607003ad8c180c0..3566bd38253b3a3b2322c3fd96576c6cc940fdd3 100644 (file)
@@ -155,7 +155,7 @@ AP_DECLARE_NONSTD(int) ap_scan_script_header_err_strs(request_rec *r,
                                                       char *buffer,
                                                       const char **termch,
                                                       int *termarg, ...)
-                       ap_func_attr_sentinel;
+                       AP_FN_ATTR_SENTINEL;
 
 /**
  * Read headers strings from a script, ensuring that the output is valid.  If
@@ -178,7 +178,7 @@ AP_DECLARE_NONSTD(int) ap_scan_script_header_err_strs_ex(request_rec *r,
                                                          int module_index,
                                                          const char **termch,
                                                          int *termarg, ...)
-                       ap_func_attr_sentinel;
+                       AP_FN_ATTR_SENTINEL;
 
 
 /**