|
10 | 10 | * AV *av2 = MUTABLE_AV(sv); <== GOOD: it may warn |
11 | 11 | */ |
12 | 12 |
|
13 | | -#ifndef MUTABLE_PTR |
14 | | -# if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) |
15 | | -# define MUTABLE_PTR(p) ({ void *_p = (p); _p; }) |
16 | | -# else |
17 | | -# define MUTABLE_PTR(p) ((void *) (p)) |
18 | | -# endif |
19 | | -#endif |
20 | | - |
21 | | -#ifndef MUTABLE_AV |
22 | | -# define MUTABLE_AV(p) ((AV *)MUTABLE_PTR(p)) |
23 | | -#endif |
24 | | -#ifndef MUTABLE_CV |
25 | | -# define MUTABLE_CV(p) ((CV *)MUTABLE_PTR(p)) |
26 | | -#endif |
27 | | -#ifndef MUTABLE_GV |
28 | | -# define MUTABLE_GV(p) ((GV *)MUTABLE_PTR(p)) |
29 | | -#endif |
30 | | -#ifndef MUTABLE_HV |
31 | | -# define MUTABLE_HV(p) ((HV *)MUTABLE_PTR(p)) |
32 | | -#endif |
33 | | -#ifndef MUTABLE_IO |
34 | | -# define MUTABLE_IO(p) ((IO *)MUTABLE_PTR(p)) |
35 | | -#endif |
36 | | -#ifndef MUTABLE_SV |
37 | | -# define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p)) |
38 | | -#endif |
39 | | - |
40 | | -#ifndef SvPVx_nolen_const |
41 | | -# if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) |
42 | | -# define SvPVx_nolen_const(sv) ({SV *_sv = (sv); SvPV_nolen_const(_sv); }) |
43 | | -# else |
44 | | -# define SvPVx_nolen_const(sv) (SvPV_nolen_const(sv)) |
45 | | -# endif |
46 | | -#endif |
47 | | - |
48 | | -#ifndef PERL_ARGS_ASSERT_CK_WARNER |
49 | | -static void Perl_ck_warner(pTHX_ U32 err, const char* pat, ...); |
50 | | - |
51 | | -# ifdef vwarner |
52 | | -static |
53 | | -void |
54 | | -Perl_ck_warner(pTHX_ U32 err, const char* pat, ...) |
55 | | -{ |
56 | | - va_list args; |
57 | | - |
58 | | - PERL_UNUSED_ARG(err); |
59 | | - if (ckWARN(err)) { |
60 | | - va_list args; |
61 | | - va_start(args, pat); |
62 | | - vwarner(err, pat, &args); |
63 | | - va_end(args); |
64 | | - } |
65 | | -} |
66 | | -# else |
67 | | -/* yes this replicates my_warner */ |
68 | | -static |
69 | | -void |
70 | | -Perl_ck_warner(pTHX_ U32 err, const char* pat, ...) |
71 | | -{ |
72 | | - SV *sv; |
73 | | - va_list args; |
74 | | - |
75 | | - PERL_UNUSED_ARG(err); |
76 | | - |
77 | | - va_start(args, pat); |
78 | | - sv = vnewSVpvf(pat, &args); |
79 | | - va_end(args); |
80 | | - sv_2mortal(sv); |
81 | | - warn("%s", SvPV_nolen(sv)); |
82 | | -} |
83 | | -# endif |
84 | | -#endif |
85 | | - |
86 | 13 | #if PERL_VERSION_LT(5,15,4) |
87 | 14 | # define ISA_VERSION_OBJ(v) (sv_isobject(v) && sv_derived_from(v,"version")) |
88 | 15 | #else |
89 | 16 | # define ISA_VERSION_OBJ(v) (sv_isobject(v) && sv_derived_from_pvn(v,"version",7,0)) |
90 | 17 | #endif |
91 | 18 |
|
92 | | -#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE |
93 | | -#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params) |
94 | | - |
95 | | -/* prototype to pass -Wmissing-prototypes */ |
96 | | -STATIC void |
97 | | -S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params); |
98 | | - |
99 | | -STATIC void |
100 | | -S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params) |
101 | | -{ |
102 | | - const GV *const gv = CvGV(cv); |
103 | | - |
104 | | - PERL_ARGS_ASSERT_CROAK_XS_USAGE; |
105 | | - |
106 | | - if (gv) { |
107 | | - const char *const gvname = GvNAME(gv); |
108 | | - const HV *const stash = GvSTASH(gv); |
109 | | - const char *const hvname = stash ? HvNAME(stash) : NULL; |
110 | | - |
111 | | - if (hvname) |
112 | | - Perl_croak_nocontext("Usage: %s::%s(%s)", hvname, gvname, params); |
113 | | - else |
114 | | - Perl_croak_nocontext("Usage: %s(%s)", gvname, params); |
115 | | - } else { |
116 | | - /* Pants. I don't think that it should be possible to get here. */ |
117 | | - Perl_croak_nocontext("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params); |
118 | | - } |
119 | | -} |
120 | | - |
121 | | -#ifdef PERL_IMPLICIT_CONTEXT |
122 | | -#define croak_xs_usage(a,b) S_croak_xs_usage(aTHX_ a,b) |
123 | | -#else |
124 | | -#define croak_xs_usage S_croak_xs_usage |
125 | | -#endif |
126 | | - |
127 | | -#endif |
128 | | - |
129 | 19 | #if PERL_VERSION_GE(5,9,0) && !defined(PERL_CORE) |
130 | 20 |
|
131 | 21 | # define VUTIL_REPLACE_CORE 1 |
@@ -222,29 +112,6 @@ const char * Perl_prescan_version(pTHX_ const char *s, bool strict, const char** |
222 | 112 | #endif |
223 | 113 |
|
224 | 114 |
|
225 | | -#if PERL_VERSION_LT(5,27,9) |
226 | | -# define LC_NUMERIC_LOCK(cond) |
227 | | -# define LC_NUMERIC_UNLOCK |
228 | | -# if PERL_VERSION_LT(5,19,0) |
229 | | -# undef STORE_LC_NUMERIC_SET_STANDARD |
230 | | -# undef RESTORE_LC_NUMERIC |
231 | | -# undef DECLARATION_FOR_LC_NUMERIC_MANIPULATION |
232 | | -# ifdef USE_LOCALE |
233 | | -# define DECLARATION_FOR_LC_NUMERIC_MANIPULATION char *loc |
234 | | -# define STORE_NUMERIC_SET_STANDARD()\ |
235 | | - loc = savepv(setlocale(LC_NUMERIC, NULL)); \ |
236 | | - SAVEFREEPV(loc); \ |
237 | | - setlocale(LC_NUMERIC, "C"); |
238 | | -# define RESTORE_LC_NUMERIC()\ |
239 | | - setlocale(LC_NUMERIC, loc); |
240 | | -# else |
241 | | -# define DECLARATION_FOR_LC_NUMERIC_MANIPULATION |
242 | | -# define STORE_LC_NUMERIC_SET_STANDARD() |
243 | | -# define RESTORE_LC_NUMERIC() |
244 | | -# endif |
245 | | -# endif |
246 | | -#endif |
247 | | - |
248 | 115 | #ifndef LOCK_NUMERIC_STANDARD |
249 | 116 | # define LOCK_NUMERIC_STANDARD() |
250 | 117 | #endif |
|
0 commit comments