summaryrefslogtreecommitdiffstats
path: root/memcache-gcc5.patch
blob: 31c1b0ce4af545ceacf5fce0c572e403826e8131 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
diff -ru memcache-3.0.8.old/memcache_pool.c memcache-3.0.8/memcache_pool.c
--- memcache-3.0.8.old/memcache_pool.c	2013-04-08 04:12:54.000000000 +0200
+++ memcache-3.0.8/memcache_pool.c	2015-02-09 15:26:43.678369270 +0100
@@ -40,7 +40,7 @@
 
 ZEND_DECLARE_MODULE_GLOBALS(memcache)
 
-inline void mmc_buffer_alloc(mmc_buffer_t *buffer, unsigned int size)  /*
+MMC_POOL_INLINE void mmc_buffer_alloc(mmc_buffer_t *buffer, unsigned int size)  /*
 	ensures space for an additional size bytes {{{ */
 {
 	register size_t newlen;
@@ -48,7 +48,7 @@
 }
 /* }}} */
 
-inline void mmc_buffer_free(mmc_buffer_t *buffer)  /* {{{ */
+MMC_POOL_INLINE void mmc_buffer_free(mmc_buffer_t *buffer)  /* {{{ */
 {
 	if (buffer->value.c != NULL) {
 		smart_str_free(&(buffer->value));
@@ -1676,7 +1676,7 @@
 }
 /* }}} */
 
-inline int mmc_prepare_key_ex(const char *key, unsigned int key_len, char *result, unsigned int *result_len)  /* {{{ */
+MMC_POOL_INLINE int mmc_prepare_key_ex(const char *key, unsigned int key_len, char *result, unsigned int *result_len)  /* {{{ */
 {
 	unsigned int i;
 	if (key_len == 0) {
@@ -1694,7 +1694,7 @@
 }
 /* }}} */
 
-inline int mmc_prepare_key(zval *key, char *result, unsigned int *result_len)  /* {{{ */
+MMC_POOL_INLINE int mmc_prepare_key(zval *key, char *result, unsigned int *result_len)  /* {{{ */
 {
 	if (Z_TYPE_P(key) == IS_STRING) {
 		return mmc_prepare_key_ex(Z_STRVAL_P(key), Z_STRLEN_P(key), result, result_len);
diff -ru memcache-3.0.8.old/memcache_pool.h memcache-3.0.8/memcache_pool.h
--- memcache-3.0.8.old/memcache_pool.h	2013-04-08 04:12:54.000000000 +0200
+++ memcache-3.0.8/memcache_pool.h	2015-02-09 15:26:05.303142526 +0100
@@ -135,8 +135,15 @@
 #define mmc_buffer_release(b) memset((b), 0, sizeof(*(b)))
 #define mmc_buffer_reset(b) (b)->value.len = (b)->idx = 0
 
-inline void mmc_buffer_alloc(mmc_buffer_t *, unsigned int);
-inline void mmc_buffer_free(mmc_buffer_t *);
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
+/* see https://gcc.gnu.org/gcc-5/porting_to.html */
+#define MMC_POOL_INLINE extern inline
+#else
+#define MMC_POOL_INLINE inline
+#endif
+
+MMC_POOL_INLINE void mmc_buffer_alloc(mmc_buffer_t *, unsigned int);
+MMC_POOL_INLINE void mmc_buffer_free(mmc_buffer_t *);
 
 /* stream handlers */
 typedef struct mmc_stream mmc_stream_t;
@@ -391,8 +398,8 @@
 double timeval_to_double(struct timeval tv);
 struct timeval double_to_timeval(double sec);
 
-inline int mmc_prepare_key_ex(const char *, unsigned int, char *, unsigned int *);
-inline int mmc_prepare_key(zval *, char *, unsigned int *);
+MMC_POOL_INLINE int mmc_prepare_key_ex(const char *, unsigned int, char *, unsigned int *);
+MMC_POOL_INLINE int mmc_prepare_key(zval *, char *, unsigned int *);
 
 #define mmc_str_left(h, n, hlen, nlen) ((hlen) >= (nlen) ? memcmp((h), (n), (nlen)) == 0 : 0)
 
diff -ru memcache-3.0.8.old/memcache_queue.h memcache-3.0.8/memcache_queue.h
--- memcache-3.0.8.old/memcache_queue.h	2013-04-08 04:12:54.000000000 +0200
+++ memcache-3.0.8/memcache_queue.h	2015-02-09 15:24:23.309539885 +0100
@@ -39,6 +39,9 @@
 
 #ifdef PHP_WIN32
 #define MMC_QUEUE_INLINE
+#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
+/* see https://gcc.gnu.org/gcc-5/porting_to.html */
+#define MMC_QUEUE_INLINE extern inline
 #else
 #define MMC_QUEUE_INLINE inline
 #endif