|
20 | 20 | #endif |
21 | 21 | #ifdef HAS_PPPORT_H |
22 | 22 | # define NEED_PL_signals |
| 23 | +# define NEED_newRV_noinc |
23 | 24 | # define NEED_sv_2pv_flags |
24 | 25 | # include "ppport.h" |
25 | 26 | # include "threads.h" |
|
35 | 36 | # endif |
36 | 37 | #endif |
37 | 38 |
|
| 39 | +#if PERL_VERSION < 28 |
| 40 | +#define thread_locale_init() |
| 41 | +#define thread_locale_term() |
| 42 | +#endif |
| 43 | + |
38 | 44 | #ifndef CLANG_DIAG_IGNORE |
39 | 45 | # define CLANG_DIAG_IGNORE(x) |
40 | 46 | # define CLANG_DIAG_RESTORE |
41 | 47 | #endif |
42 | 48 | #ifndef CLANG_DIAG_IGNORE_STMT |
43 | 49 | # define CLANG_DIAG_IGNORE_STMT(x) CLANG_DIAG_IGNORE(x) NOOP |
44 | 50 | # define CLANG_DIAG_RESTORE_STMT CLANG_DIAG_RESTORE NOOP |
| 51 | +# define CLANG_DIAG_IGNORE_DECL(x) CLANG_DIAG_IGNORE(x) dNOOP |
| 52 | +# define CLANG_DIAG_RESTORE_DECL CLANG_DIAG_RESTORE dNOOP |
45 | 53 | #endif |
46 | 54 |
|
47 | 55 | #ifdef USE_ITHREADS |
@@ -141,9 +149,9 @@ typedef struct { |
141 | 149 | IV page_size; |
142 | 150 | } my_pool_t; |
143 | 151 |
|
144 | | -#define dMY_POOL \ |
145 | | - SV *my_pool_sv = *hv_fetch(PL_modglobal, MY_POOL_KEY, \ |
146 | | - sizeof(MY_POOL_KEY)-1, TRUE); \ |
| 152 | +#define dMY_POOL \ |
| 153 | + SV *my_pool_sv = *hv_fetch(PL_modglobal, MY_POOL_KEY, \ |
| 154 | + sizeof(MY_POOL_KEY)-1, TRUE); \ |
147 | 155 | my_pool_t *my_poolp = INT2PTR(my_pool_t*, SvUV(my_pool_sv)) |
148 | 156 |
|
149 | 157 | #define MY_POOL_set \ |
@@ -1046,10 +1054,10 @@ S_ithread_create( |
1046 | 1054 | MUTEX_UNLOCK(&my_pool->create_destruct_mutex); |
1047 | 1055 | return (thread); |
1048 | 1056 |
|
1049 | | - CLANG_DIAG_IGNORE(-Wthread-safety) |
| 1057 | + CLANG_DIAG_IGNORE_STMT(-Wthread-safety); |
1050 | 1058 | /* warning: mutex 'thread->mutex' is not held on every path through here [-Wthread-safety-analysis] */ |
1051 | 1059 | } |
1052 | | -CLANG_DIAG_RESTORE |
| 1060 | +CLANG_DIAG_RESTORE_DECL; |
1053 | 1061 |
|
1054 | 1062 | #endif /* USE_ITHREADS */ |
1055 | 1063 |
|
@@ -1852,7 +1860,6 @@ BOOT: |
1852 | 1860 | SV *my_pool_sv = *hv_fetch(PL_modglobal, MY_POOL_KEY, |
1853 | 1861 | sizeof(MY_POOL_KEY)-1, TRUE); |
1854 | 1862 | my_pool_t *my_poolp = (my_pool_t*)SvPVX(newSV(sizeof(my_pool_t)-1)); |
1855 | | - |
1856 | 1863 | MY_CXT_INIT; |
1857 | 1864 |
|
1858 | 1865 | Zero(my_poolp, 1, my_pool_t); |
|
0 commit comments