Codebase list libmultidimensional-perl / fa72177
[ Debian Janitor ] New upstream snapshot. Debian Janitor 2 years ago
9 changed file(s) with 7329 addition(s) and 4548 deletion(s). Raw diff Collapse all Expand all
00 Revision history for multidimensional
1
2 0.014 2021-08-24 23:24:06+00:00 UTC
13
24 0.014 2018-04-26 22:35:46+01:00 Europe/London
35 - Only use Lexical::SealRequireHints before perl 5.12
0 # This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.012.
0 # This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.017.
11 Changes
22 LICENSE
33 MANIFEST
33 "Dagfinn Ilmari Manns\u00e5ker <ilmari@ilmari.org>"
44 ],
55 "dynamic_config" : 1,
6 "generated_by" : "Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010",
6 "generated_by" : "Dist::Zilla version 6.017, CPAN::Meta::Converter version 2.150010",
77 "license" : [
88 "perl_5"
99 ],
7777 }
7878 },
7979 "release_status" : "stable",
80 "resources" : {
81 "homepage" : "https://github.com/ilmari/multidimensional",
82 "repository" : {
83 "type" : "git",
84 "url" : "https://github.com/ilmari/multidimensional.git",
85 "web" : "https://github.com/ilmari/multidimensional"
86 }
87 },
8880 "version" : "0.014",
8981 "x_Dist_Zilla" : {
9082 "perl" : {
91 "version" : "5.026000"
83 "version" : "5.032001"
9284 },
9385 "plugins" : [
9486 {
10395 "changelog" : "Changes"
10496 },
10597 "Dist::Zilla::Role::Git::Repo" : {
106 "git_version" : "2.17.0",
98 "git_version" : "2.33.0",
10799 "repo_root" : "."
108100 }
109101 },
110102 "name" : "@Git/Check",
111 "version" : "2.043"
103 "version" : "2.047"
112104 },
113105 {
114106 "class" : "Dist::Zilla::Plugin::Git::Commit",
115107 "config" : {
116108 "Dist::Zilla::Plugin::Git::Commit" : {
117109 "add_files_in" : [],
118 "commit_msg" : "v%v%n%n%c"
110 "commit_msg" : "v%V%n%n%c",
111 "signoff" : 0
119112 },
120113 "Dist::Zilla::Role::Git::DirtyFiles" : {
121114 "allow_dirty" : [],
123116 "changelog" : "Changes"
124117 },
125118 "Dist::Zilla::Role::Git::Repo" : {
126 "git_version" : "2.17.0",
119 "git_version" : "2.33.0",
127120 "repo_root" : "."
128121 },
129122 "Dist::Zilla::Role::Git::StringFormatter" : {
131124 }
132125 },
133126 "name" : "@Git/Commit",
134 "version" : "2.043"
127 "version" : "2.047"
135128 },
136129 {
137130 "class" : "Dist::Zilla::Plugin::Git::Tag",
141134 "changelog" : "Changes",
142135 "signed" : 0,
143136 "tag" : "v0.014",
144 "tag_format" : "v%v",
145 "tag_message" : "v%v"
137 "tag_format" : "v%V",
138 "tag_message" : "v%V"
146139 },
147140 "Dist::Zilla::Role::Git::Repo" : {
148 "git_version" : "2.17.0",
141 "git_version" : "2.33.0",
149142 "repo_root" : "."
150143 },
151144 "Dist::Zilla::Role::Git::StringFormatter" : {
153146 }
154147 },
155148 "name" : "@Git/Tag",
156 "version" : "2.043"
149 "version" : "2.047"
157150 },
158151 {
159152 "class" : "Dist::Zilla::Plugin::Git::Push",
165158 "remotes_must_exist" : 1
166159 },
167160 "Dist::Zilla::Role::Git::Repo" : {
168 "git_version" : "2.17.0",
161 "git_version" : "2.33.0",
169162 "repo_root" : "."
170163 }
171164 },
172165 "name" : "@Git/Push",
173 "version" : "2.043"
166 "version" : "2.047"
174167 },
175168 {
176169 "class" : "Dist::Zilla::Plugin::Git::NextVersion",
181174 "version_regexp" : "(?^:^v(.+)$)"
182175 },
183176 "Dist::Zilla::Role::Git::Repo" : {
184 "git_version" : "2.17.0",
177 "git_version" : "2.33.0",
185178 "repo_root" : "."
186179 }
187180 },
188181 "name" : "Git::NextVersion",
189 "version" : "2.043"
182 "version" : "2.047"
190183 },
191184 {
192185 "class" : "Dist::Zilla::Plugin::Git::Contributors",
193186 "config" : {
194187 "Dist::Zilla::Plugin::Git::Contributors" : {
195 "git_version" : "2.17.0",
188 "git_version" : "2.33.0",
196189 "include_authors" : 0,
197190 "include_releaser" : 1,
198191 "order_by" : "name",
200193 }
201194 },
202195 "name" : "Git::Contributors",
203 "version" : "0.034"
196 "version" : "0.036"
204197 },
205198 {
206199 "class" : "Dist::Zilla::Plugin::Git::GatherDir",
221214 }
222215 },
223216 "name" : "Git::GatherDir",
224 "version" : "2.043"
217 "version" : "2.047"
225218 },
226219 {
227220 "class" : "Dist::Zilla::Plugin::PodWeaver",
235228 {
236229 "class" : "Pod::Weaver::Plugin::EnsurePod5",
237230 "name" : "@CorePrep/EnsurePod5",
238 "version" : "4.015"
231 "version" : "4.018"
239232 },
240233 {
241234 "class" : "Pod::Weaver::Plugin::H1Nester",
242235 "name" : "@CorePrep/H1Nester",
243 "version" : "4.015"
236 "version" : "4.018"
244237 },
245238 {
246239 "class" : "Pod::Weaver::Plugin::SingleEncoding",
247240 "name" : "@Default/SingleEncoding",
248 "version" : "4.015"
241 "version" : "4.018"
249242 },
250243 {
251244 "class" : "Pod::Weaver::Section::Name",
252245 "name" : "@Default/Name",
253 "version" : "4.015"
246 "version" : "4.018"
254247 },
255248 {
256249 "class" : "Pod::Weaver::Section::Version",
257250 "name" : "@Default/Version",
258 "version" : "4.015"
251 "version" : "4.018"
259252 },
260253 {
261254 "class" : "Pod::Weaver::Section::Region",
262255 "name" : "@Default/prelude",
263 "version" : "4.015"
256 "version" : "4.018"
264257 },
265258 {
266259 "class" : "Pod::Weaver::Section::Generic",
267260 "name" : "SYNOPSIS",
268 "version" : "4.015"
261 "version" : "4.018"
269262 },
270263 {
271264 "class" : "Pod::Weaver::Section::Generic",
272265 "name" : "DESCRIPTION",
273 "version" : "4.015"
266 "version" : "4.018"
274267 },
275268 {
276269 "class" : "Pod::Weaver::Section::Generic",
277270 "name" : "OVERVIEW",
278 "version" : "4.015"
271 "version" : "4.018"
279272 },
280273 {
281274 "class" : "Pod::Weaver::Section::Collect",
282275 "name" : "ATTRIBUTES",
283 "version" : "4.015"
276 "version" : "4.018"
284277 },
285278 {
286279 "class" : "Pod::Weaver::Section::Collect",
287280 "name" : "METHODS",
288 "version" : "4.015"
281 "version" : "4.018"
289282 },
290283 {
291284 "class" : "Pod::Weaver::Section::Collect",
292285 "name" : "FUNCTIONS",
293 "version" : "4.015"
286 "version" : "4.018"
294287 },
295288 {
296289 "class" : "Pod::Weaver::Section::Leftovers",
297290 "name" : "@Default/Leftovers",
298 "version" : "4.015"
291 "version" : "4.018"
299292 },
300293 {
301294 "class" : "Pod::Weaver::Section::Region",
302295 "name" : "@Default/postlude",
303 "version" : "4.015"
296 "version" : "4.018"
304297 },
305298 {
306299 "class" : "Pod::Weaver::Section::Authors",
307300 "name" : "@Default/Authors",
308 "version" : "4.015"
301 "version" : "4.018"
309302 },
310303 {
311304 "class" : "Pod::Weaver::Section::Legal",
312305 "name" : "@Default/Legal",
313 "version" : "4.015"
306 "version" : "4.018"
314307 }
315308 ]
316309 }
321314 {
322315 "class" : "Dist::Zilla::Plugin::PkgVersion",
323316 "name" : "PkgVersion",
324 "version" : "6.012"
317 "version" : "6.017"
325318 },
326319 {
327320 "class" : "Dist::Zilla::Plugin::PPPort",
332325 "class" : "Dist::Zilla::Plugin::DynamicPrereqs",
333326 "config" : {
334327 "Dist::Zilla::Role::ModuleMetadata" : {
335 "Module::Metadata" : "1.000033",
336 "version" : "0.004"
328 "Module::Metadata" : "1.000037",
329 "version" : "0.006"
337330 }
338331 },
339332 "name" : "DynamicPrereqs",
340 "version" : "0.034"
333 "version" : "0.039"
341334 },
342335 {
343336 "class" : "Dist::Zilla::Plugin::DynamicPrereqs",
344337 "config" : {
345338 "Dist::Zilla::Role::ModuleMetadata" : {
346 "Module::Metadata" : "1.000033",
347 "version" : "0.004"
339 "Module::Metadata" : "1.000037",
340 "version" : "0.006"
348341 }
349342 },
350343 "name" : "LSRH",
351 "version" : "0.034"
352 },
353 {
354 "class" : "Dist::Zilla::Plugin::PruneCruft",
355 "name" : "@Starter/PruneCruft",
356 "version" : "6.012"
357 },
358 {
359 "class" : "Dist::Zilla::Plugin::ManifestSkip",
360 "name" : "@Starter/ManifestSkip",
361 "version" : "6.012"
362 },
363 {
364 "class" : "Dist::Zilla::Plugin::MetaConfig",
365 "name" : "@Starter/MetaConfig",
366 "version" : "6.012"
367 },
368 {
369 "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
370 "config" : {
371 "Dist::Zilla::Plugin::MetaProvides::Package" : {
372 "finder_objects" : [
373 {
374 "class" : "Dist::Zilla::Plugin::FinderCode",
375 "name" : "@Starter/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
376 "version" : "6.012"
377 }
378 ],
379 "include_underscores" : 0
380 },
381 "Dist::Zilla::Role::MetaProvider::Provider" : {
382 "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
383 "inherit_missing" : 1,
384 "inherit_version" : 1,
385 "meta_noindex" : 1
386 },
387 "Dist::Zilla::Role::ModuleMetadata" : {
388 "Module::Metadata" : "1.000033",
389 "version" : "0.004"
390 }
391 },
392 "name" : "@Starter/MetaProvides::Package",
393 "version" : "2.004003"
394 },
395 {
396 "class" : "Dist::Zilla::Plugin::MetaNoIndex",
397 "name" : "@Starter/MetaNoIndex",
398 "version" : "6.012"
344 "version" : "0.039"
399345 },
400346 {
401347 "class" : "Dist::Zilla::Plugin::MetaYAML",
402348 "name" : "@Starter/MetaYAML",
403 "version" : "6.012"
349 "version" : "6.017"
404350 },
405351 {
406352 "class" : "Dist::Zilla::Plugin::MetaJSON",
407353 "name" : "@Starter/MetaJSON",
408 "version" : "6.012"
354 "version" : "6.017"
409355 },
410356 {
411357 "class" : "Dist::Zilla::Plugin::License",
412358 "name" : "@Starter/License",
413 "version" : "6.012"
359 "version" : "6.017"
414360 },
415361 {
416362 "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
423369 "version" : "0.163250"
424370 },
425371 {
426 "class" : "Dist::Zilla::Plugin::ExecDir",
427 "name" : "@Starter/ExecDir",
428 "version" : "6.012"
429 },
430 {
431 "class" : "Dist::Zilla::Plugin::ShareDir",
432 "name" : "@Starter/ShareDir",
433 "version" : "6.012"
434 },
435 {
436372 "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
437373 "name" : "@Starter/PodSyntaxTests",
438 "version" : "6.012"
374 "version" : "6.017"
439375 },
440376 {
441377 "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
442378 "name" : "@Starter/Test::ReportPrereqs",
443 "version" : "0.027"
379 "version" : "0.028"
444380 },
445381 {
446382 "class" : "Dist::Zilla::Plugin::Test::Compile",
473409 }
474410 },
475411 "name" : "@Starter/MakeMaker",
476 "version" : "6.012"
412 "version" : "6.017"
477413 },
478414 {
479415 "class" : "Dist::Zilla::Plugin::Manifest",
480416 "name" : "@Starter/Manifest",
481 "version" : "6.012"
417 "version" : "6.017"
418 },
419 {
420 "class" : "Dist::Zilla::Plugin::PruneCruft",
421 "name" : "@Starter/PruneCruft",
422 "version" : "6.017"
423 },
424 {
425 "class" : "Dist::Zilla::Plugin::ManifestSkip",
426 "name" : "@Starter/ManifestSkip",
427 "version" : "6.017"
428 },
429 {
430 "class" : "Dist::Zilla::Plugin::RunExtraTests",
431 "config" : {
432 "Dist::Zilla::Role::TestRunner" : {
433 "default_jobs" : 1
434 }
435 },
436 "name" : "@Starter/RunExtraTests",
437 "version" : "0.029"
482438 },
483439 {
484440 "class" : "Dist::Zilla::Plugin::TestRelease",
485441 "name" : "@Starter/TestRelease",
486 "version" : "6.012"
487 },
488 {
489 "class" : "Dist::Zilla::Plugin::RunExtraTests",
490 "config" : {
491 "Dist::Zilla::Role::TestRunner" : {
492 "default_jobs" : 1
493 }
494 },
495 "name" : "@Starter/RunExtraTests",
496 "version" : "0.029"
442 "version" : "6.017"
497443 },
498444 {
499445 "class" : "Dist::Zilla::Plugin::ConfirmRelease",
500446 "name" : "@Starter/ConfirmRelease",
501 "version" : "6.012"
447 "version" : "6.017"
502448 },
503449 {
504450 "class" : "Dist::Zilla::Plugin::UploadToCPAN",
505451 "name" : "@Starter/UploadToCPAN",
506 "version" : "6.012"
452 "version" : "6.017"
453 },
454 {
455 "class" : "Dist::Zilla::Plugin::MetaConfig",
456 "name" : "@Starter/MetaConfig",
457 "version" : "6.017"
458 },
459 {
460 "class" : "Dist::Zilla::Plugin::MetaNoIndex",
461 "name" : "@Starter/MetaNoIndex",
462 "version" : "6.017"
463 },
464 {
465 "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
466 "config" : {
467 "Dist::Zilla::Plugin::MetaProvides::Package" : {
468 "finder_objects" : [
469 {
470 "class" : "Dist::Zilla::Plugin::FinderCode",
471 "name" : "@Starter/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
472 "version" : "6.017"
473 }
474 ],
475 "include_underscores" : 0
476 },
477 "Dist::Zilla::Role::MetaProvider::Provider" : {
478 "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
479 "inherit_missing" : 1,
480 "inherit_version" : 1,
481 "meta_noindex" : 1
482 },
483 "Dist::Zilla::Role::ModuleMetadata" : {
484 "Module::Metadata" : "1.000037",
485 "version" : "0.006"
486 }
487 },
488 "name" : "@Starter/MetaProvides::Package",
489 "version" : "2.004003"
490 },
491 {
492 "class" : "Dist::Zilla::Plugin::ShareDir",
493 "name" : "@Starter/ShareDir",
494 "version" : "6.017"
495 },
496 {
497 "class" : "Dist::Zilla::Plugin::ExecDir",
498 "name" : "@Starter/ExecDir",
499 "version" : "6.017"
507500 },
508501 {
509502 "class" : "Dist::Zilla::Plugin::Prereqs",
514507 }
515508 },
516509 "name" : "BuildRequires",
517 "version" : "6.012"
510 "version" : "6.017"
518511 },
519512 {
520513 "class" : "Dist::Zilla::Plugin::Prereqs",
525518 }
526519 },
527520 "name" : "ConfigureRequires",
528 "version" : "6.012"
521 "version" : "6.017"
529522 },
530523 {
531524 "class" : "Dist::Zilla::Plugin::CheckChangesHasContent",
535528 {
536529 "class" : "Dist::Zilla::Plugin::AutoPrereqs",
537530 "name" : "AutoPrereqs",
538 "version" : "6.012"
531 "version" : "6.017"
539532 },
540533 {
541534 "class" : "Dist::Zilla::Plugin::PodCoverageTests",
542535 "name" : "PodCoverageTests",
543 "version" : "6.012"
536 "version" : "6.017"
544537 },
545538 {
546539 "class" : "Dist::Zilla::Plugin::NextRelease",
547540 "name" : "NextRelease",
548 "version" : "6.012"
541 "version" : "6.017"
549542 },
550543 {
551544 "class" : "Dist::Zilla::Plugin::GithubMeta",
552545 "name" : "GithubMeta",
553 "version" : "0.54"
546 "version" : "0.58"
554547 },
555548 {
556549 "class" : "Dist::Zilla::Plugin::Git::Commit",
557550 "config" : {
558551 "Dist::Zilla::Plugin::Git::Commit" : {
559552 "add_files_in" : [],
560 "commit_msg" : "v%v%n%n%c"
553 "commit_msg" : "v%V%n%n%c",
554 "signoff" : 0
561555 },
562556 "Dist::Zilla::Role::Git::DirtyFiles" : {
563557 "allow_dirty" : [
568562 "changelog" : "Changes"
569563 },
570564 "Dist::Zilla::Role::Git::Repo" : {
571 "git_version" : "2.17.0",
565 "git_version" : "2.33.0",
572566 "repo_root" : "."
573567 },
574568 "Dist::Zilla::Role::Git::StringFormatter" : {
576570 }
577571 },
578572 "name" : "Git::Commit",
579 "version" : "2.043"
573 "version" : "2.047"
580574 },
581575 {
582576 "class" : "Dist::Zilla::Plugin::Git::Push",
588582 "remotes_must_exist" : 1
589583 },
590584 "Dist::Zilla::Role::Git::Repo" : {
591 "git_version" : "2.17.0",
585 "git_version" : "2.33.0",
592586 "repo_root" : "."
593587 }
594588 },
595589 "name" : "Git::Push",
596 "version" : "2.043"
590 "version" : "2.047"
597591 },
598592 {
599593 "class" : "Dist::Zilla::Plugin::FinderCode",
600594 "name" : ":InstallModules",
601 "version" : "6.012"
595 "version" : "6.017"
602596 },
603597 {
604598 "class" : "Dist::Zilla::Plugin::FinderCode",
605599 "name" : ":IncModules",
606 "version" : "6.012"
600 "version" : "6.017"
607601 },
608602 {
609603 "class" : "Dist::Zilla::Plugin::FinderCode",
610604 "name" : ":TestFiles",
611 "version" : "6.012"
605 "version" : "6.017"
612606 },
613607 {
614608 "class" : "Dist::Zilla::Plugin::FinderCode",
615609 "name" : ":ExtraTestFiles",
616 "version" : "6.012"
610 "version" : "6.017"
617611 },
618612 {
619613 "class" : "Dist::Zilla::Plugin::FinderCode",
620614 "name" : ":ExecFiles",
621 "version" : "6.012"
615 "version" : "6.017"
622616 },
623617 {
624618 "class" : "Dist::Zilla::Plugin::FinderCode",
625619 "name" : ":PerlExecFiles",
626 "version" : "6.012"
620 "version" : "6.017"
627621 },
628622 {
629623 "class" : "Dist::Zilla::Plugin::FinderCode",
630624 "name" : ":ShareFiles",
631 "version" : "6.012"
625 "version" : "6.017"
632626 },
633627 {
634628 "class" : "Dist::Zilla::Plugin::FinderCode",
635629 "name" : ":MainModule",
636 "version" : "6.012"
630 "version" : "6.017"
637631 },
638632 {
639633 "class" : "Dist::Zilla::Plugin::FinderCode",
640634 "name" : ":AllFiles",
641 "version" : "6.012"
635 "version" : "6.017"
642636 },
643637 {
644638 "class" : "Dist::Zilla::Plugin::FinderCode",
645639 "name" : ":NoFiles",
646 "version" : "6.012"
640 "version" : "6.017"
647641 },
648642 {
649643 "class" : "Dist::Zilla::Plugin::FinderCode",
650644 "name" : "@Starter/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
651 "version" : "6.012"
645 "version" : "6.017"
652646 }
653647 ],
654648 "zilla" : {
656650 "config" : {
657651 "is_trial" : 0
658652 },
659 "version" : "6.012"
653 "version" : "6.017"
660654 }
661655 },
662656 "x_contributors" : [
664658 "Jan Dubois <jand@activestate.com>",
665659 "Olivier Mengu\u00e9 <dolmen@cpan.org>"
666660 ],
667 "x_generated_by_perl" : "v5.26.0",
668 "x_serialization_backend" : "Cpanel::JSON::XS version 3.0233"
661 "x_generated_by_perl" : "v5.32.1",
662 "x_serialization_backend" : "Cpanel::JSON::XS version 4.26",
663 "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later"
669664 }
670665
+127
-127
META.yml less more
1212 ExtUtils::Depends: '0'
1313 ExtUtils::MakeMaker: '0'
1414 dynamic_config: 1
15 generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010'
15 generated_by: 'Dist::Zilla version 6.017, CPAN::Meta::Converter version 2.150010'
1616 license: perl
1717 meta-spec:
1818 url: http://module-build.sourceforge.net/META-spec-v1.4.html
3737 perl: '5.008001'
3838 strict: '0'
3939 warnings: '0'
40 resources:
41 homepage: https://github.com/ilmari/multidimensional
42 repository: https://github.com/ilmari/multidimensional.git
4340 version: '0.014'
4441 x_Dist_Zilla:
4542 perl:
46 version: '5.026000'
43 version: '5.032001'
4744 plugins:
4845 -
4946 class: Dist::Zilla::Plugin::Git::Check
5552 allow_dirty_match: []
5653 changelog: Changes
5754 Dist::Zilla::Role::Git::Repo:
58 git_version: 2.17.0
55 git_version: 2.33.0
5956 repo_root: .
6057 name: '@Git/Check'
61 version: '2.043'
58 version: '2.047'
6259 -
6360 class: Dist::Zilla::Plugin::Git::Commit
6461 config:
6562 Dist::Zilla::Plugin::Git::Commit:
6663 add_files_in: []
67 commit_msg: v%v%n%n%c
64 commit_msg: v%V%n%n%c
65 signoff: 0
6866 Dist::Zilla::Role::Git::DirtyFiles:
6967 allow_dirty: []
7068 allow_dirty_match: []
7169 changelog: Changes
7270 Dist::Zilla::Role::Git::Repo:
73 git_version: 2.17.0
71 git_version: 2.33.0
7472 repo_root: .
7573 Dist::Zilla::Role::Git::StringFormatter:
7674 time_zone: local
7775 name: '@Git/Commit'
78 version: '2.043'
76 version: '2.047'
7977 -
8078 class: Dist::Zilla::Plugin::Git::Tag
8179 config:
8482 changelog: Changes
8583 signed: 0
8684 tag: v0.014
87 tag_format: v%v
88 tag_message: v%v
89 Dist::Zilla::Role::Git::Repo:
90 git_version: 2.17.0
85 tag_format: v%V
86 tag_message: v%V
87 Dist::Zilla::Role::Git::Repo:
88 git_version: 2.33.0
9189 repo_root: .
9290 Dist::Zilla::Role::Git::StringFormatter:
9391 time_zone: local
9492 name: '@Git/Tag'
95 version: '2.043'
93 version: '2.047'
9694 -
9795 class: Dist::Zilla::Plugin::Git::Push
9896 config:
10199 - origin
102100 remotes_must_exist: 1
103101 Dist::Zilla::Role::Git::Repo:
104 git_version: 2.17.0
102 git_version: 2.33.0
105103 repo_root: .
106104 name: '@Git/Push'
107 version: '2.043'
105 version: '2.047'
108106 -
109107 class: Dist::Zilla::Plugin::Git::NextVersion
110108 config:
113111 version_by_branch: 0
114112 version_regexp: (?^:^v(.+)$)
115113 Dist::Zilla::Role::Git::Repo:
116 git_version: 2.17.0
114 git_version: 2.33.0
117115 repo_root: .
118116 name: Git::NextVersion
119 version: '2.043'
117 version: '2.047'
120118 -
121119 class: Dist::Zilla::Plugin::Git::Contributors
122120 config:
123121 Dist::Zilla::Plugin::Git::Contributors:
124 git_version: 2.17.0
122 git_version: 2.33.0
125123 include_authors: 0
126124 include_releaser: 1
127125 order_by: name
128126 paths: []
129127 name: Git::Contributors
130 version: '0.034'
128 version: '0.036'
131129 -
132130 class: Dist::Zilla::Plugin::Git::GatherDir
133131 config:
143141 Dist::Zilla::Plugin::Git::GatherDir:
144142 include_untracked: 0
145143 name: Git::GatherDir
146 version: '2.043'
144 version: '2.047'
147145 -
148146 class: Dist::Zilla::Plugin::PodWeaver
149147 config:
155153 -
156154 class: Pod::Weaver::Plugin::EnsurePod5
157155 name: '@CorePrep/EnsurePod5'
158 version: '4.015'
156 version: '4.018'
159157 -
160158 class: Pod::Weaver::Plugin::H1Nester
161159 name: '@CorePrep/H1Nester'
162 version: '4.015'
160 version: '4.018'
163161 -
164162 class: Pod::Weaver::Plugin::SingleEncoding
165163 name: '@Default/SingleEncoding'
166 version: '4.015'
164 version: '4.018'
167165 -
168166 class: Pod::Weaver::Section::Name
169167 name: '@Default/Name'
170 version: '4.015'
168 version: '4.018'
171169 -
172170 class: Pod::Weaver::Section::Version
173171 name: '@Default/Version'
174 version: '4.015'
172 version: '4.018'
175173 -
176174 class: Pod::Weaver::Section::Region
177175 name: '@Default/prelude'
178 version: '4.015'
176 version: '4.018'
179177 -
180178 class: Pod::Weaver::Section::Generic
181179 name: SYNOPSIS
182 version: '4.015'
180 version: '4.018'
183181 -
184182 class: Pod::Weaver::Section::Generic
185183 name: DESCRIPTION
186 version: '4.015'
184 version: '4.018'
187185 -
188186 class: Pod::Weaver::Section::Generic
189187 name: OVERVIEW
190 version: '4.015'
188 version: '4.018'
191189 -
192190 class: Pod::Weaver::Section::Collect
193191 name: ATTRIBUTES
194 version: '4.015'
192 version: '4.018'
195193 -
196194 class: Pod::Weaver::Section::Collect
197195 name: METHODS
198 version: '4.015'
196 version: '4.018'
199197 -
200198 class: Pod::Weaver::Section::Collect
201199 name: FUNCTIONS
202 version: '4.015'
200 version: '4.018'
203201 -
204202 class: Pod::Weaver::Section::Leftovers
205203 name: '@Default/Leftovers'
206 version: '4.015'
204 version: '4.018'
207205 -
208206 class: Pod::Weaver::Section::Region
209207 name: '@Default/postlude'
210 version: '4.015'
208 version: '4.018'
211209 -
212210 class: Pod::Weaver::Section::Authors
213211 name: '@Default/Authors'
214 version: '4.015'
212 version: '4.018'
215213 -
216214 class: Pod::Weaver::Section::Legal
217215 name: '@Default/Legal'
218 version: '4.015'
216 version: '4.018'
219217 name: PodWeaver
220218 version: '4.008'
221219 -
222220 class: Dist::Zilla::Plugin::PkgVersion
223221 name: PkgVersion
224 version: '6.012'
222 version: '6.017'
225223 -
226224 class: Dist::Zilla::Plugin::PPPort
227225 name: PPPort
230228 class: Dist::Zilla::Plugin::DynamicPrereqs
231229 config:
232230 Dist::Zilla::Role::ModuleMetadata:
233 Module::Metadata: '1.000033'
234 version: '0.004'
231 Module::Metadata: '1.000037'
232 version: '0.006'
235233 name: DynamicPrereqs
236 version: '0.034'
234 version: '0.039'
237235 -
238236 class: Dist::Zilla::Plugin::DynamicPrereqs
239237 config:
240238 Dist::Zilla::Role::ModuleMetadata:
241 Module::Metadata: '1.000033'
242 version: '0.004'
239 Module::Metadata: '1.000037'
240 version: '0.006'
243241 name: LSRH
244 version: '0.034'
245 -
246 class: Dist::Zilla::Plugin::PruneCruft
247 name: '@Starter/PruneCruft'
248 version: '6.012'
249 -
250 class: Dist::Zilla::Plugin::ManifestSkip
251 name: '@Starter/ManifestSkip'
252 version: '6.012'
253 -
254 class: Dist::Zilla::Plugin::MetaConfig
255 name: '@Starter/MetaConfig'
256 version: '6.012'
257 -
258 class: Dist::Zilla::Plugin::MetaProvides::Package
259 config:
260 Dist::Zilla::Plugin::MetaProvides::Package:
261 finder_objects:
262 -
263 class: Dist::Zilla::Plugin::FinderCode
264 name: '@Starter/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
265 version: '6.012'
266 include_underscores: 0
267 Dist::Zilla::Role::MetaProvider::Provider:
268 $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002004'
269 inherit_missing: '1'
270 inherit_version: '1'
271 meta_noindex: '1'
272 Dist::Zilla::Role::ModuleMetadata:
273 Module::Metadata: '1.000033'
274 version: '0.004'
275 name: '@Starter/MetaProvides::Package'
276 version: '2.004003'
277 -
278 class: Dist::Zilla::Plugin::MetaNoIndex
279 name: '@Starter/MetaNoIndex'
280 version: '6.012'
242 version: '0.039'
281243 -
282244 class: Dist::Zilla::Plugin::MetaYAML
283245 name: '@Starter/MetaYAML'
284 version: '6.012'
246 version: '6.017'
285247 -
286248 class: Dist::Zilla::Plugin::MetaJSON
287249 name: '@Starter/MetaJSON'
288 version: '6.012'
250 version: '6.017'
289251 -
290252 class: Dist::Zilla::Plugin::License
291253 name: '@Starter/License'
292 version: '6.012'
254 version: '6.017'
293255 -
294256 class: Dist::Zilla::Plugin::ReadmeAnyFromPod
295257 config:
298260 name: '@Starter/ReadmeAnyFromPod'
299261 version: '0.163250'
300262 -
301 class: Dist::Zilla::Plugin::ExecDir
302 name: '@Starter/ExecDir'
303 version: '6.012'
304 -
305 class: Dist::Zilla::Plugin::ShareDir
306 name: '@Starter/ShareDir'
307 version: '6.012'
308 -
309263 class: Dist::Zilla::Plugin::PodSyntaxTests
310264 name: '@Starter/PodSyntaxTests'
311 version: '6.012'
265 version: '6.017'
312266 -
313267 class: Dist::Zilla::Plugin::Test::ReportPrereqs
314268 name: '@Starter/Test::ReportPrereqs'
315 version: '0.027'
269 version: '0.028'
316270 -
317271 class: Dist::Zilla::Plugin::Test::Compile
318272 config:
337291 Dist::Zilla::Role::TestRunner:
338292 default_jobs: 1
339293 name: '@Starter/MakeMaker'
340 version: '6.012'
294 version: '6.017'
341295 -
342296 class: Dist::Zilla::Plugin::Manifest
343297 name: '@Starter/Manifest'
344 version: '6.012'
345 -
346 class: Dist::Zilla::Plugin::TestRelease
347 name: '@Starter/TestRelease'
348 version: '6.012'
298 version: '6.017'
299 -
300 class: Dist::Zilla::Plugin::PruneCruft
301 name: '@Starter/PruneCruft'
302 version: '6.017'
303 -
304 class: Dist::Zilla::Plugin::ManifestSkip
305 name: '@Starter/ManifestSkip'
306 version: '6.017'
349307 -
350308 class: Dist::Zilla::Plugin::RunExtraTests
351309 config:
354312 name: '@Starter/RunExtraTests'
355313 version: '0.029'
356314 -
315 class: Dist::Zilla::Plugin::TestRelease
316 name: '@Starter/TestRelease'
317 version: '6.017'
318 -
357319 class: Dist::Zilla::Plugin::ConfirmRelease
358320 name: '@Starter/ConfirmRelease'
359 version: '6.012'
321 version: '6.017'
360322 -
361323 class: Dist::Zilla::Plugin::UploadToCPAN
362324 name: '@Starter/UploadToCPAN'
363 version: '6.012'
325 version: '6.017'
326 -
327 class: Dist::Zilla::Plugin::MetaConfig
328 name: '@Starter/MetaConfig'
329 version: '6.017'
330 -
331 class: Dist::Zilla::Plugin::MetaNoIndex
332 name: '@Starter/MetaNoIndex'
333 version: '6.017'
334 -
335 class: Dist::Zilla::Plugin::MetaProvides::Package
336 config:
337 Dist::Zilla::Plugin::MetaProvides::Package:
338 finder_objects:
339 -
340 class: Dist::Zilla::Plugin::FinderCode
341 name: '@Starter/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
342 version: '6.017'
343 include_underscores: 0
344 Dist::Zilla::Role::MetaProvider::Provider:
345 $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002004'
346 inherit_missing: '1'
347 inherit_version: '1'
348 meta_noindex: '1'
349 Dist::Zilla::Role::ModuleMetadata:
350 Module::Metadata: '1.000037'
351 version: '0.006'
352 name: '@Starter/MetaProvides::Package'
353 version: '2.004003'
354 -
355 class: Dist::Zilla::Plugin::ShareDir
356 name: '@Starter/ShareDir'
357 version: '6.017'
358 -
359 class: Dist::Zilla::Plugin::ExecDir
360 name: '@Starter/ExecDir'
361 version: '6.017'
364362 -
365363 class: Dist::Zilla::Plugin::Prereqs
366364 config:
368366 phase: build
369367 type: requires
370368 name: BuildRequires
371 version: '6.012'
369 version: '6.017'
372370 -
373371 class: Dist::Zilla::Plugin::Prereqs
374372 config:
376374 phase: configure
377375 type: requires
378376 name: ConfigureRequires
379 version: '6.012'
377 version: '6.017'
380378 -
381379 class: Dist::Zilla::Plugin::CheckChangesHasContent
382380 name: CheckChangesHasContent
384382 -
385383 class: Dist::Zilla::Plugin::AutoPrereqs
386384 name: AutoPrereqs
387 version: '6.012'
385 version: '6.017'
388386 -
389387 class: Dist::Zilla::Plugin::PodCoverageTests
390388 name: PodCoverageTests
391 version: '6.012'
389 version: '6.017'
392390 -
393391 class: Dist::Zilla::Plugin::NextRelease
394392 name: NextRelease
395 version: '6.012'
393 version: '6.017'
396394 -
397395 class: Dist::Zilla::Plugin::GithubMeta
398396 name: GithubMeta
399 version: '0.54'
397 version: '0.58'
400398 -
401399 class: Dist::Zilla::Plugin::Git::Commit
402400 config:
403401 Dist::Zilla::Plugin::Git::Commit:
404402 add_files_in: []
405 commit_msg: v%v%n%n%c
403 commit_msg: v%V%n%n%c
404 signoff: 0
406405 Dist::Zilla::Role::Git::DirtyFiles:
407406 allow_dirty:
408407 - Changes
410409 allow_dirty_match: []
411410 changelog: Changes
412411 Dist::Zilla::Role::Git::Repo:
413 git_version: 2.17.0
412 git_version: 2.33.0
414413 repo_root: .
415414 Dist::Zilla::Role::Git::StringFormatter:
416415 time_zone: local
417416 name: Git::Commit
418 version: '2.043'
417 version: '2.047'
419418 -
420419 class: Dist::Zilla::Plugin::Git::Push
421420 config:
424423 - origin
425424 remotes_must_exist: 1
426425 Dist::Zilla::Role::Git::Repo:
427 git_version: 2.17.0
426 git_version: 2.33.0
428427 repo_root: .
429428 name: Git::Push
430 version: '2.043'
429 version: '2.047'
431430 -
432431 class: Dist::Zilla::Plugin::FinderCode
433432 name: ':InstallModules'
434 version: '6.012'
433 version: '6.017'
435434 -
436435 class: Dist::Zilla::Plugin::FinderCode
437436 name: ':IncModules'
438 version: '6.012'
437 version: '6.017'
439438 -
440439 class: Dist::Zilla::Plugin::FinderCode
441440 name: ':TestFiles'
442 version: '6.012'
441 version: '6.017'
443442 -
444443 class: Dist::Zilla::Plugin::FinderCode
445444 name: ':ExtraTestFiles'
446 version: '6.012'
445 version: '6.017'
447446 -
448447 class: Dist::Zilla::Plugin::FinderCode
449448 name: ':ExecFiles'
450 version: '6.012'
449 version: '6.017'
451450 -
452451 class: Dist::Zilla::Plugin::FinderCode
453452 name: ':PerlExecFiles'
454 version: '6.012'
453 version: '6.017'
455454 -
456455 class: Dist::Zilla::Plugin::FinderCode
457456 name: ':ShareFiles'
458 version: '6.012'
457 version: '6.017'
459458 -
460459 class: Dist::Zilla::Plugin::FinderCode
461460 name: ':MainModule'
462 version: '6.012'
461 version: '6.017'
463462 -
464463 class: Dist::Zilla::Plugin::FinderCode
465464 name: ':AllFiles'
466 version: '6.012'
465 version: '6.017'
467466 -
468467 class: Dist::Zilla::Plugin::FinderCode
469468 name: ':NoFiles'
470 version: '6.012'
469 version: '6.017'
471470 -
472471 class: Dist::Zilla::Plugin::FinderCode
473472 name: '@Starter/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
474 version: '6.012'
473 version: '6.017'
475474 zilla:
476475 class: Dist::Zilla::Dist::Builder
477476 config:
478477 is_trial: '0'
479 version: '6.012'
478 version: '6.017'
480479 x_contributors:
481480 - 'Florian Ragwitz <rafl@debian.org>'
482481 - 'Jan Dubois <jand@activestate.com>'
483482 - 'Olivier Mengué <dolmen@cpan.org>'
484 x_generated_by_perl: v5.26.0
485 x_serialization_backend: 'YAML::Tiny version 1.70'
483 x_generated_by_perl: v5.32.1
484 x_serialization_backend: 'YAML::Tiny version 1.73'
485 x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later'
0 # This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.012.
0 # This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.017.
11 use strict;
22 use warnings;
33
5353 "warnings" => 0
5454 );
5555
56 # inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.034
56 # inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.039
5757 use ExtUtils::Depends;
5858 %WriteMakefileArgs = (
5959 %WriteMakefileArgs,
6363 )->get_makefile_vars,
6464 );
6565
66 # inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.034
66 # inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.039
6767 if ("$]" < 5.012) {
6868 requires('Lexical::SealRequireHints', 0.005)
6969 }
8181
8282 WriteMakefile(%WriteMakefileArgs);
8383
84 # inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.034
84 # inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.039
8585 sub _add_prereq {
8686 my ($mm_key, $module, $version_or_range) = @_;
8787 $version_or_range ||= 0;
8989 if exists $WriteMakefileArgs{$mm_key}{$module}
9090 and $WriteMakefileArgs{$mm_key}{$module} ne '0'
9191 and $WriteMakefileArgs{$mm_key}{$module} ne $version_or_range;
92 warn "$module already exists in FallbackPrereqs (at version $WriteMakefileArgs{$mm_key}{$module}) -- need to do a sane metamerge!"
92 warn "$module already exists in FallbackPrereqs (at version $FallbackPrereqs{$module}) -- need to do a sane metamerge!"
9393 if exists $FallbackPrereqs{$module} and $FallbackPrereqs{$module} ne '0'
9494 and $FallbackPrereqs{$module} ne $version_or_range;
9595 $WriteMakefileArgs{$mm_key}{$module} = $FallbackPrereqs{$module} = $version_or_range;
0 libmultidimensional-perl (0.014-2) UNRELEASED; urgency=medium
0 libmultidimensional-perl (0.014+git20200501.1.41b2e74-1) UNRELEASED; urgency=medium
11
22 [ gregor herrmann ]
33 * debian/control: update Build-Depends for cross builds.
1212 [ gregor herrmann ]
1313 * Update 'DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow' to '=+all'.
1414
15 -- gregor herrmann <gregoa@debian.org> Fri, 21 Feb 2020 17:57:42 +0100
15 [ Debian Janitor ]
16 * New upstream snapshot.
17
18 -- gregor herrmann <gregoa@debian.org> Tue, 24 Aug 2021 23:24:17 -0000
1619
1720 libmultidimensional-perl (0.014-1) unstable; urgency=medium
1821
1818 );
1919
2020
21 sub unimport { $^H |= 0x20000; $^H{__PACKAGE__.'/disabled'} = 1 }
21 sub unimport {
22 $^H |= 0x20000; # HINT_LOCALIZE_HH, to make %^H lexical on 5.8
23 $^H{__PACKAGE__.'/disabled'} = 1;
24 }
2225
2326
2427 sub import { delete $^H{__PACKAGE__.'/disabled'} }
+7037
-4259
ppport.h less more
33 /*
44 ----------------------------------------------------------------------
55
6 ppport.h -- Perl/Pollution/Portability Version 3.42
7
8 Automatically created by Devel::PPPort running under perl 5.026000.
6 ppport.h -- Perl/Pollution/Portability Version 3.57
7
8 Automatically created by Devel::PPPort running under perl 5.032001.
99
1010 Do NOT edit this file directly! -- Edit PPPort_pm.PL and the
1111 includes in parts/inc/ instead.
2020
2121 =head1 NAME
2222
23 ppport.h - Perl/Pollution/Portability version 3.42
23 ppport.h - Perl/Pollution/Portability version 3.57
2424
2525 =head1 SYNOPSIS
2626
5555 =head1 COMPATIBILITY
5656
5757 This version of F<ppport.h> is designed to support operation with Perl
58 installations back to 5.003, and has been tested up to 5.20.
58 installations back to 5.003_07, and has been tested up to 5.31.6.
5959
6060 =head1 OPTIONS
6161
9696
9797 Tell F<ppport.h> to check for compatibility with the given
9898 Perl version. The default is to check for compatibility with Perl
99 version 5.003. You can use this option to reduce the output
99 version 5.003_07. You can use this option to reduce the output
100100 of F<ppport.h> if you intend to be backward compatible only
101101 down to a certain Perl version.
102102
216216
217217 Function / Variable Static Request Global Request
218218 -----------------------------------------------------------------------------------------
219 PL_parser NEED_PL_parser NEED_PL_parser_GLOBAL
220 PL_signals NEED_PL_signals NEED_PL_signals_GLOBAL
221 SvRX() NEED_SvRX NEED_SvRX_GLOBAL
222219 caller_cx() NEED_caller_cx NEED_caller_cx_GLOBAL
223220 croak_xs_usage() NEED_croak_xs_usage NEED_croak_xs_usage_GLOBAL
224221 die_sv() NEED_die_sv NEED_die_sv_GLOBAL
228225 grok_number() NEED_grok_number NEED_grok_number_GLOBAL
229226 grok_numeric_radix() NEED_grok_numeric_radix NEED_grok_numeric_radix_GLOBAL
230227 grok_oct() NEED_grok_oct NEED_grok_oct_GLOBAL
231 gv_fetchpvn_flags() NEED_gv_fetchpvn_flags NEED_gv_fetchpvn_flags_GLOBAL
232228 load_module() NEED_load_module NEED_load_module_GLOBAL
233229 mess() NEED_mess NEED_mess_GLOBAL
234230 mess_nocontext() NEED_mess_nocontext NEED_mess_nocontext_GLOBAL
238234 my_sprintf() NEED_my_sprintf NEED_my_sprintf_GLOBAL
239235 my_strlcat() NEED_my_strlcat NEED_my_strlcat_GLOBAL
240236 my_strlcpy() NEED_my_strlcpy NEED_my_strlcpy_GLOBAL
237 my_strnlen() NEED_my_strnlen NEED_my_strnlen_GLOBAL
241238 newCONSTSUB() NEED_newCONSTSUB NEED_newCONSTSUB_GLOBAL
242 newRV_noinc() NEED_newRV_noinc NEED_newRV_noinc_GLOBAL
243 newSV_type() NEED_newSV_type NEED_newSV_type_GLOBAL
244 newSVpvn_flags() NEED_newSVpvn_flags NEED_newSVpvn_flags_GLOBAL
245239 newSVpvn_share() NEED_newSVpvn_share NEED_newSVpvn_share_GLOBAL
240 PL_parser NEED_PL_parser NEED_PL_parser_GLOBAL
241 PL_signals NEED_PL_signals NEED_PL_signals_GLOBAL
246242 pv_display() NEED_pv_display NEED_pv_display_GLOBAL
247243 pv_escape() NEED_pv_escape NEED_pv_escape_GLOBAL
248244 pv_pretty() NEED_pv_pretty NEED_pv_pretty_GLOBAL
249 sv_2pv_flags() NEED_sv_2pv_flags NEED_sv_2pv_flags_GLOBAL
250 sv_2pvbyte() NEED_sv_2pvbyte NEED_sv_2pvbyte_GLOBAL
251245 sv_catpvf_mg() NEED_sv_catpvf_mg NEED_sv_catpvf_mg_GLOBAL
252246 sv_catpvf_mg_nocontext() NEED_sv_catpvf_mg_nocontext NEED_sv_catpvf_mg_nocontext_GLOBAL
253 sv_pvn_force_flags() NEED_sv_pvn_force_flags NEED_sv_pvn_force_flags_GLOBAL
254247 sv_setpvf_mg() NEED_sv_setpvf_mg NEED_sv_setpvf_mg_GLOBAL
255248 sv_setpvf_mg_nocontext() NEED_sv_setpvf_mg_nocontext NEED_sv_setpvf_mg_nocontext_GLOBAL
256249 sv_unmagicext() NEED_sv_unmagicext NEED_sv_unmagicext_GLOBAL
250 utf8_to_uvchr_buf() NEED_utf8_to_uvchr_buf NEED_utf8_to_uvchr_buf_GLOBAL
257251 vload_module() NEED_vload_module NEED_vload_module_GLOBAL
258252 vmess() NEED_vmess NEED_vmess_GLOBAL
259 vnewSVpvf() NEED_vnewSVpvf NEED_vnewSVpvf_GLOBAL
260253 warner() NEED_warner NEED_warner_GLOBAL
261254
262255 To avoid namespace conflicts, you can change the namespace of the
328321
329322 =head1 BUGS
330323
324 Some of the suggested edits and/or generated patches may not compile as-is
325 without tweaking manually. This is generally due to the need for an extra
326 parameter to be added to the call to prevent buffer overflow.
327
331328 If this version of F<ppport.h> is causing failure during
332329 the compilation of this module, please check if newer versions
333330 of either this module or C<Devel::PPPort> are available on CPAN
383380
384381 =cut
385382
383 # These are tools that must be included in ppport.h. It doesn't work if given
384 # a .pl suffix
385
386 sub format_version
387 {
388 # Given an input version that is acceptable to parse_version(), return a
389 # string of the standard representation of it.
390
391 my($r,$v,$s) = parse_version(shift);
392
393 if ($r < 5 || ($r == 5 && $v < 6)) {
394 my $ver = sprintf "%d.%03d", $r, $v;
395 $s > 0 and $ver .= sprintf "_%02d", $s;
396
397 return $ver;
398 }
399
400 return sprintf "%d.%d.%d", $r, $v, $s;
401 }
402
403 sub parse_version
404 {
405 # Returns a triplet, (5, major, minor) from the input, treated as a string,
406 # which can be in any of several typical formats.
407
408 my $ver = shift;
409 $ver = "" unless defined $ver;
410
411 my($r,$v,$s);
412
413 if ( ($r, $v, $s) = $ver =~ /^(5)(\d{3})(\d{3})$/ # 5029010, from the file
414 # names in our
415 # parts/base/ and
416 # parts/todo directories
417 or ($r, $v, $s) = $ver =~ /^(\d+)\.(\d+)\.(\d+)$/ # 5.25.7
418 or ($r, $v, $s) = $ver =~ /^(\d+)\.(\d{3})(\d{3})$/ # 5.025008, from the
419 # output of $]
420 or ($r, $v, $s) = $ver =~ /^(\d+)\.(\d{1,3})()$/ # 5.24, 5.004
421 or ($r, $v, $s) = $ver =~ /^(\d+)\.(00[1-5])_?(\d{2})$/ # 5.003_07
422 ) {
423
424 $s = 0 unless $s;
425
426 die "Only Perl 5 is supported '$ver'\n" if $r != 5;
427 die "Invalid version number: $ver\n" if $v >= 1000 || $s >= 1000;
428 return (5, 0 + $v, 0 + $s);
429 }
430
431 # For some safety, don't assume something is a version number if it has a
432 # literal dot as one of the three characters. This will have to be fixed
433 # when we reach 5.46
434 if ($ver !~ /\./ && (($r, $v, $s) = $ver =~ /^(.)(.)(.)$/)) # vstring 5.25.7
435 {
436 $r = ord $r;
437 $v = ord $v;
438 $s = ord $s;
439
440 die "Only Perl 5 is supported '$ver'\n" if $r != 5;
441 return (5, $v, $s);
442 }
443
444 my $mesg = "";
445 $mesg = ". (In 5.00x_yz, x must be 1-5.)" if $ver =~ /_/;
446 die "Invalid version number format: '$ver'$mesg\n";
447 }
448
449 sub int_parse_version
450 {
451 # Returns integer 7 digit human-readable version, suitable for use in file
452 # names in parts/todo parts/base.
453
454 return 0 + join "", map { sprintf("%03d", $_) } parse_version(shift);
455 }
456
457 sub ivers # Shorter name for int_parse_version
458 {
459 return int_parse_version(shift);
460 }
461
462 sub format_version_line
463 {
464 # Returns a floating point representation of the input version
465
466 my $version = int_parse_version(shift);
467 $version =~ s/^5\B/5./;
468 return $version;
469 }
470
471 sub dictionary_order($$) # Sort caselessly, ignoring punct
472 {
473 my ($lc_a, $lc_b);
474 my ($squeezed_a, $squeezed_b);
475 my ($valid_a, $valid_b); # Meaning valid for all releases
476
477 # On early perls, the implicit pass by reference doesn't work, so we have
478 # to use the globals to initialize.
479 if ("$]" < "5.006" ) {
480 $valid_a = $a; $valid_b = $b;
481 }
482 else {
483 ($valid_a, $valid_b) = @_;
484 }
485
486 $lc_a = lc $valid_a;
487 $lc_b = lc $valid_b;
488
489 $squeezed_a = $lc_a;
490 $squeezed_a =~ s/[\W_]//g; # No punct, including no underscore
491 $squeezed_b = $lc_b;
492 $squeezed_b =~ s/[\W_]//g;
493
494 return( $squeezed_a cmp $squeezed_b
495 or $lc_a cmp $lc_b
496 or $valid_a cmp $valid_b);
497 }
498
499 sub sort_api_lines # Sort lines of the form flags|return|name|args...
500 # by 'name'
501 {
502 $a =~ / ^ [^|]* \| [^|]* \| (\w+) /x; # 3rd field '|' is sep
503 my $a_name = $1;
504 $b =~ / ^ [^|]* \| [^|]* \| (\w+) /x;
505 my $b_name = $1;
506 return dictionary_order($a_name, $b_name);
507 }
508
509 1;
510
386511 use strict;
512
513 BEGIN { require warnings if "$]" > '5.006' }
387514
388515 # Disable broken TRIE-optimization
389516 BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if "$]" >= 5.009004 && "$]" <= 5.009005 }
390517
391 my $VERSION = 3.42;
518 my $VERSION = 3.57;
392519
393520 my %opt = (
394521 quiet => 0,
433560 usage() if $opt{help};
434561 strip() if $opt{strip};
435562
436 if (exists $opt{'compat-version'}) {
437 my($r,$v,$s) = eval { parse_version($opt{'compat-version'}) };
438 if ($@) {
439 die "Invalid version number format: '$opt{'compat-version'}'\n";
440 }
441 die "Only Perl 5 is supported\n" if $r != 5;
442 die "Invalid version number: $opt{'compat-version'}\n" if $v >= 1000 || $s >= 1000;
443 $opt{'compat-version'} = sprintf "%d.%03d%03d", $r, $v, $s;
444 }
445 else {
446 $opt{'compat-version'} = 5;
447 }
448
563 $opt{'compat-version'} = 5.003_07 unless exists $opt{'compat-version'};
564 $opt{'compat-version'} = int_parse_version($opt{'compat-version'});
565
566 my $int_min_perl = int_parse_version(5.003_07);
567
568 # Each element of this hash looks something like:
569 # 'Poison' => {
570 # 'base' => '5.008000',
571 # 'provided' => 1,
572 # 'todo' => '5.003007'
573 # },
449574 my %API = map { /^(\w+)\|([^|]*)\|([^|]*)\|(\w*)$/
450575 ? ( $1 => {
451576 ($2 ? ( base => $2 ) : ()),
452577 ($3 ? ( todo => $3 ) : ()),
453578 (index($4, 'v') >= 0 ? ( varargs => 1 ) : ()),
454579 (index($4, 'p') >= 0 ? ( provided => 1 ) : ()),
455 (index($4, 'n') >= 0 ? ( nothxarg => 1 ) : ()),
580 (index($4, 'n') >= 0 ? ( noTHXarg => 1 ) : ()),
581 (index($4, 'c') >= 0 ? ( core_only => 1 ) : ()),
582 (index($4, 'd') >= 0 ? ( deprecated => 1 ) : ()),
583 (index($4, 'i') >= 0 ? ( inaccessible => 1 ) : ()),
584 (index($4, 'x') >= 0 ? ( experimental => 1 ) : ()),
585 (index($4, 'u') >= 0 ? ( undocumented => 1 ) : ()),
586 (index($4, 'o') >= 0 ? ( ppport_fnc => 1 ) : ()),
587 (index($4, 'V') >= 0 ? ( unverified => 1 ) : ()),
456588 } )
457589 : die "invalid spec: $_" } qw(
458 AvFILLp|5.004050||p
459 AvFILL|||
460 BhkDISABLE||5.024000|
461 BhkENABLE||5.024000|
462 BhkENTRY_set||5.024000|
463 BhkENTRY|||
464 BhkFLAGS|||
465 CALL_BLOCK_HOOKS|||
466 CLASS|||n
467 CPERLscope|5.005000||p
468 CX_CURPAD_SAVE|||
469 CX_CURPAD_SV|||
470 C_ARRAY_END|5.013002||p
471 C_ARRAY_LENGTH|5.008001||p
472 CopFILEAV|5.006000||p
473 CopFILEGV_set|5.006000||p
474 CopFILEGV|5.006000||p
475 CopFILESV|5.006000||p
476 CopFILE_set|5.006000||p
477 CopFILE|5.006000||p
478 CopSTASHPV_set|5.006000||p
479 CopSTASHPV|5.006000||p
480 CopSTASH_eq|5.006000||p
481 CopSTASH_set|5.006000||p
482 CopSTASH|5.006000||p
483 CopyD|5.009002|5.004050|p
484 Copy|||
485 CvPADLIST||5.008001|
486 CvSTASH|||
487 CvWEAKOUTSIDE|||
488 DECLARATION_FOR_LC_NUMERIC_MANIPULATION||5.021010|n
489 DEFSV_set|5.010001||p
490 DEFSV|5.004050||p
491 DO_UTF8||5.006000|
492 END_EXTERN_C|5.005000||p
493 ENTER|||
494 ERRSV|5.004050||p
495 EXTEND|||
496 EXTERN_C|5.005000||p
497 F0convert|||n
498 FREETMPS|||
499 GIMME_V||5.004000|n
500 GIMME|||n
501 GROK_NUMERIC_RADIX|5.007002||p
502 G_ARRAY|||
503 G_DISCARD|||
504 G_EVAL|||
505 G_METHOD|5.006001||p
506 G_NOARGS|||
507 G_SCALAR|||
508 G_VOID||5.004000|
509 GetVars|||
510 GvAV|||
511 GvCV|||
512 GvHV|||
513 GvSV|||
514 Gv_AMupdate||5.011000|
515 HEf_SVKEY|5.003070||p
516 HeHASH||5.003070|
517 HeKEY||5.003070|
518 HeKLEN||5.003070|
519 HePV||5.004000|
520 HeSVKEY_force||5.003070|
521 HeSVKEY_set||5.004000|
522 HeSVKEY||5.003070|
590 abort_execution|5.025010||Viu
591 add_above_Latin1_folds|5.021001||Viu
592 add_cp_to_invlist|5.013011||Viu
593 add_data|5.005000||nViu
594 add_multi_match|5.021004||Viu
595 _add_range_to_invlist|5.016000||cViu
596 add_utf16_textfilter|5.011001||Viu
597 adjust_size_and_find_bucket|5.019003||nViu
598 advance_one_LB|5.023007||Viu
599 advance_one_SB|5.021009||Viu
600 advance_one_WB|5.021009||Viu
601 alloccopstash|5.017001|5.017001|x
602 alloc_LOGOP|5.025004||xViu
603 allocmy|5.008001||Viu
604 amagic_call|5.003007|5.003007|u
605 amagic_cmp|5.009003||Viu
606 amagic_cmp_locale|5.009003||Viu
607 amagic_deref_call|5.013007|5.013007|u
608 amagic_i_ncmp|5.009003||Viu
609 amagic_is_enabled|5.015008||Viu
610 amagic_ncmp|5.009003||Viu
611 _aMY_CXT|5.009000|5.009000|p
612 aMY_CXT_|5.009000|5.009000|p
613 aMY_CXT|5.009000|5.009000|p
614 anonymise_cv_maybe|5.013003||Viu
615 any_dup|5.006000||Vu
616 ao|5.005000||Viu
617 _append_range_to_invlist|5.013010||Viu
618 append_utf8_from_native_byte|5.019004||ncViu
619 apply|5.003007||Viu
620 apply_attrs|5.006000||Viu
621 apply_attrs_my|5.007003||Viu
622 apply_attrs_string|5.006001|5.006001|xu
623 ARCHNAME|5.004000|5.004000|
624 argvout_final|5.029006||Viu
625 ASCII_TO_NEED|5.019004||ndcVu
626 __ASSERT_|5.019007|5.008008|p
627 assert_uft8_cache_coherent|5.013003||Viu
628 assignment_type|5.021005||Viu
629 atfork_lock|5.007002|5.007002|nu
630 atfork_unlock|5.007002|5.007002|nu
631 aTHX_|5.006000|5.003007|p
632 aTHX|5.006000|5.003007|p
633 aTHXR_||5.003007|pou
634 aTHXR||5.003007|pou
635 av_arylen_p|5.009003|5.009003|u
636 av_clear|5.003007|5.003007|
637 av_create_and_push|5.009005|5.009005|x
638 av_create_and_unshift_one|5.009005|5.009005|x
639 av_delete|5.006000|5.006000|
640 av_exists|5.006000|5.006000|
641 av_extend|5.003007|5.003007|
642 av_extend_guts|5.017004||Viu
643 av_fetch|5.003007|5.003007|
644 av_fill|5.003007|5.003007|
645 AvFILL|5.003007|5.003007|
646 AvFILLp|5.004005|5.003007|poV
647 av_iter_p|5.011000|5.011000|u
648 av_len|5.003007|5.003007|
649 av_make|5.003007|5.003007|
650 av_nonelem|5.027009||Viu
651 av_pop|5.003007|5.003007|
652 av_push|5.003007|5.003007|
653 av_reify|5.004004||cViu
654 av_shift|5.003007|5.003007|
655 av_store|5.003007|5.003007|
656 av_tindex|5.017009|5.003007|p
657 av_top_index|5.017009|5.003007|p
658 av_undef|5.003007|5.003007|
659 av_unshift|5.003007|5.003007|
660 ax|5.003007|5.003007|
661 backup_one_GCB|5.025003||Viu
662 backup_one_LB|5.023007||Viu
663 backup_one_SB|5.021009||Viu
664 backup_one_WB|5.021009||Viu
665 bad_type_gv|5.019002||Viu
666 bad_type_pv|5.016000||Viu
667 BhkDISABLE|||x
668 BhkENABLE|||x
669 BhkENTRY_set|||x
670 BhkENTRY|||xi
671 BhkFLAGS|||xi
672 BIN|5.003007|5.003007|
673 bind_match|5.003007||Viu
674 block_end|5.004000|5.004000|
675 block_gimme|5.004000|5.004000|u
676 blockhook_register|5.013003|5.013003|x
677 block_start|5.004000|5.004000|
678 BOM_UTF8|5.025005|5.003007|p
679 boolSV|5.004000|5.003007|p
680 boot_core_mro|5.009005||Viu
681 boot_core_PerlIO|5.007002||Viu
682 boot_core_UNIVERSAL|5.003007||Viu
683 _byte_dump_string|5.025006||cViu
684 BYTEORDER|5.003007|5.003007|
685 bytes_cmp_utf8|5.013007|5.013007|
686 bytes_from_utf8|5.007001|5.007001|x
687 bytes_from_utf8_loc|5.027001|5.027001|nxu
688 bytes_to_utf8|5.006001|5.006001|x
689 call_argv|5.006000|5.003007|p
690 call_atexit|5.006000|5.006000|u
691 CALL_BLOCK_HOOKS|||xi
692 CALL_CHECKER_REQUIRE_GV|5.021004|5.021004|
693 caller_cx|5.013005|5.006000|p
694 call_list|5.004000|5.004000|u
695 call_method|5.006000|5.003007|p
696 calloc|5.007002|5.007002|n
697 call_pv|5.006000|5.003007|p
698 call_sv|5.006000|5.003007|p
699 cando|5.003007||Viu
700 C_ARRAY_END|5.013002|5.003007|p
701 C_ARRAY_LENGTH|5.008001|5.003007|p
702 CASTFLAGS|5.003007|5.003007|
703 cast_i32|5.006000|5.006000|nu
704 cast_iv|5.006000|5.006000|nu
705 cast_ulong|5.006000|5.006000|nu
706 cast_uv|5.006000|5.006000|nu
707 category_name|5.027008||nViu
708 cBOOL|5.013000|5.003007|p
709 change_engine_size|5.029004||Viu
710 CHARBITS|5.011002|5.011002|
711 checkcomma|5.003007||Viu
712 check_locale_boundary_crossing|5.015006||Viu
713 check_type_and_open|5.009003||Viu
714 check_uni|5.003007||Viu
715 check_utf8_print|5.013009||Viu
716 ck_entersub_args_core|||iu
717 ck_entersub_args_list|5.013006|5.013006|
718 ck_entersub_args_proto|5.013006|5.013006|
719 ck_entersub_args_proto_or_list|5.013006|5.013006|
720 ckWARN2|5.006000|5.006000|
721 ckWARN2_d|5.006000|5.006000|
722 ckWARN3|5.007003|5.007003|
723 ckWARN3_d|5.007003|5.007003|
724 ckWARN4|5.007003|5.007003|
725 ckWARN4_d|5.007003|5.007003|
726 ckWARN|5.006000|5.003007|p
727 ckwarn|5.009003|5.009003|u
728 ckwarn_common|5.011001||Viu
729 ckWARN_d|5.006000|5.006000|
730 ckwarn_d|5.009003|5.009003|u
731 ck_warner|5.011001|5.011001|vu
732 ck_warner_d|5.011001|5.011001|vu
733 CLASS||5.003007|
734 clear_defarray|5.023008|5.023008|u
735 CLEAR_ERRSV|5.025007|5.025007|
736 clear_placeholders|5.009004||xViu
737 clear_special_blocks|5.021003||Viu
738 clone_params_del|5.013002|5.013002|nu
739 clone_params_new|5.013002|5.013002|nu
740 closest_cop|5.007002||Viu
741 cntrl_to_mnemonic|5.021004||ncViu
742 compute_EXACTish|5.017003||nViu
743 construct_ahocorasick_from_trie|5.021001||Viu
744 cop_fetch_label|5.015001|5.015001|x
745 CopFILE|5.006000||pVu
746 CopFILEAV|5.006000||pVu
747 CopFILEGV|5.006000||pVu
748 CopFILEGV_set|5.006000||pVu
749 CopFILE_set|5.006000||pVu
750 CopFILESV|5.006000||pVu
751 cop_free|5.006000||Viu
752 cophh_2hv|5.013007|5.013007|x
753 cophh_copy|5.013007|5.013007|x
754 cophh_delete_pv|5.013007|5.013007|x
755 cophh_delete_pvn|5.013007|5.013007|x
756 cophh_delete_pvs|5.013007|5.013007|x
757 cophh_delete_sv|5.013007|5.013007|x
758 cophh_fetch_pv|5.013007|5.013007|x
759 cophh_fetch_pvn|5.013007|5.013007|x
760 cophh_fetch_pvs|5.013007|5.013007|x
761 cophh_fetch_sv|5.013007|5.013007|x
762 cophh_free|5.013007|5.013007|x
763 COPHH_KEY_UTF8|5.013007|5.013007|
764 cophh_new_empty|5.013007|5.013007|x
765 cophh_store_pv|5.013007|5.013007|x
766 cophh_store_pvn|5.013007|5.013007|x
767 cophh_store_pvs|5.013007|5.013007|x
768 cophh_store_sv|5.013007|5.013007|x
769 cop_hints_2hv|5.013007|5.013007|
770 cop_hints_fetch_pv|5.013007|5.013007|
771 cop_hints_fetch_pvn|5.013007|5.013007|
772 cop_hints_fetch_pvs|5.013007|5.013007|
773 cop_hints_fetch_sv|5.013007|5.013007|
774 CopLABEL|5.009005|5.009005|
775 CopLABEL_len|5.016000|5.016000|
776 CopLABEL_len_flags|5.016000|5.016000|
777 CopSTASH|5.006000||pVu
778 CopSTASH_eq|5.006000||pVu
779 CopSTASHPV|5.006000||pVu
780 CopSTASHPV_set|5.006000||pVu
781 CopSTASH_set|5.006000||pVu
782 cop_store_label|5.015001|5.015001|x
783 Copy|5.003007|5.003007|
784 CopyD|5.009002|5.003007|p
785 core_prototype|5.015002||Vi
786 coresub_op|5.015003||Viu
787 CPERLscope|5.005000||pVu
788 CPPLAST|5.006000|5.006000|
789 CPPMINUS|5.003007|5.003007|
790 CPPRUN|5.006000|5.006000|
791 CPPSTDIN|5.003007|5.003007|
792 create_eval_scope|5.009004||xViu
793 croak|5.006000|5.003007|v
794 croak_caller|5.025004||vnViu
795 croak_memory_wrap|5.017006|5.003007|pnu
796 croak_nocontext|5.006000||pvnVu
797 croak_no_mem|5.017006||nViu
798 croak_no_modify|5.013003|5.003007|pn
799 croak_popstack|5.017008||ncViu
800 croak_sv|5.013001|5.003007|p
801 croak_xs_usage|5.010001|5.003007|pn
802 cr_textfilter|5.006000||Viu
803 csighandler1|||nu
804 csighandler3|||nu
805 csighandler|||nu
806 current_re_engine|5.017001||cViu
807 curse|5.013009||Viu
808 custom_op_desc|5.007003|5.007003|d
809 custom_op_get_field|5.019006||cViu
810 custom_op_name|5.007003|5.007003|d
811 custom_op_register|5.013007|5.013007|
812 cv_ckproto_len_flags|5.015004||xcViu
813 cv_clone|5.003007|5.003007|
814 cv_clone_into|5.017004||Viu
815 cv_const_sv|5.003007|5.003007|n
816 cv_const_sv_or_av|5.019003||nViu
817 CvDEPTH|5.003007|5.003007|nu
818 cv_dump|5.006000||Vi
819 cv_forget_slab|5.017002||Vi
820 cv_get_call_checker|5.013006|5.013006|
821 cv_get_call_checker_flags|5.027003|5.027003|
822 CvGV|5.003007|5.003007|u
823 cvgv_from_hek|||ciu
824 cvgv_set|5.013003||cViu
825 cv_name|5.021005|5.021005|
826 CV_NAME_NOTQUAL|5.021005|5.021005|
827 CvPADLIST|5.008001|5.008001|x
828 cv_set_call_checker|5.013006|5.013006|
829 cv_set_call_checker_flags|5.021004|5.021004|
830 CvSTASH|5.003007|5.003007|
831 cvstash_set|5.013007||cViu
832 cv_undef|5.003007|5.003007|
833 cv_undef_flags|5.021004||Viu
834 CvWEAKOUTSIDE|||i
835 CX_CURPAD_SAVE|||i
836 CX_CURPAD_SV|||i
837 cx_dump|5.005000|5.005000|u
838 cx_dup|5.007003|5.007003|u
839 cxinc|5.003007|5.003007|u
840 cx_popblock|5.023008|5.023008|xu
841 cx_popeval|5.023008|5.023008|xu
842 cx_popformat|5.023008|5.023008|xu
843 cx_popgiven|5.027008|5.027008|xu
844 cx_poploop|5.023008|5.023008|xu
845 cx_popsub|5.023008|5.023008|xu
846 cx_popsub_args|5.023008|5.023008|xu
847 cx_popsub_common|5.023008|5.023008|xu
848 cx_popwhen|5.027008|5.027008|xu
849 cx_pushblock|5.023008|5.023008|xu
850 cx_pusheval|5.023008|5.023008|xu
851 cx_pushformat|5.023008|5.023008|xu
852 cx_pushgiven|5.027008|5.027008|xu
853 cx_pushloop_for|5.023008|5.023008|xu
854 cx_pushloop_plain|5.023008|5.023008|xu
855 cx_pushsub|5.023008|5.023008|xu
856 cx_pushwhen|5.027008|5.027008|xu
857 cx_topblock|5.023008|5.023008|xu
858 dAX|5.007002|5.003007|p
859 dAXMARK|5.009003|5.003007|p
860 deb|5.007003|5.007003|vu
861 deb_curcv|5.007002||Viu
862 deb_nocontext|5.007003|5.007003|vnu
863 debop|5.005000|5.005000|u
864 debprof|5.005000||Viu
865 debprofdump|5.005000|5.005000|u
866 debstack|5.007003|5.007003|u
867 deb_stack_all|5.008001||Viu
868 deb_stack_n|5.008001||Viu
869 debstackptrs|5.007003|5.007003|u
870 debug_start_match|5.009004||Viu
871 DECLARATION_FOR_LC_NUMERIC_MANIPULATION|5.021010|5.021010|
872 defelem_target|5.019002||Viu
873 DEFSV|5.004005|5.003007|poVu
874 DEFSV_set|5.010001||pVu
875 delete_eval_scope|5.009004||xViu
876 delimcpy|5.004000|5.004000|nu
877 delimcpy_no_escape|5.025005||nViu
878 del_sv|5.005000||Viu
879 despatch_signals|5.007001|5.007001|u
880 destroy_matcher|5.027008||Viu
881 die|5.006000|5.003007|v
882 die_nocontext|5.006000||vnVu
883 die_sv|5.013001|5.003007|p
884 die_unwind|5.013001||Viu
885 dirp_dup|5.013007|5.013007|u
886 dITEMS|5.007002|5.003007|p
887 div128|5.005000||Viu
888 djSP|||i
889 dMARK|5.003007|5.003007|
890 dMULTICALL|5.009003|5.009003|
891 dMY_CXT|5.009000|5.009000|p
892 dMY_CXT_SV|5.007003||poVu
893 dNOOP|5.006000|5.003007|poVu
894 do_aexec5|5.006000||Viu
895 do_aexec|||iu
896 do_aspawn|5.008000||Vu
897 do_binmode|5.004005|5.004005|du
898 docatch|5.005000||Vi
899 do_chomp|5.003007||Viu
900 do_close|5.003007|5.003007|u
901 do_delete_local|5.011000||Viu
902 do_dump_pad|5.008001||Vi
903 do_eof|5.003007||Viu
904 does_utf8_overflow|5.025006||nViu
905 doeval_compile|5.023008||Viu
906 do_exec3|5.006000||Viu
907 do_exec|5.003007||Viu
908 dofile|5.005003||Viu
909 dofindlabel|5.003007||Viu
910 doform|5.005000||Viu
911 do_gv_dump|5.006000|5.006000|u
912 do_gvgv_dump|5.006000|5.006000|u
913 do_hv_dump|5.006000|5.006000|u
914 doing_taint|5.008001|5.008001|nu
915 do_ipcctl|5.003007||Viu
916 do_ipcget|5.003007||Viu
917 do_join|5.003007|5.003007|u
918 do_magic_dump|5.006000|5.006000|u
919 do_msgrcv|5.003007||Viu
920 do_msgsnd|5.003007||Viu
921 do_ncmp|5.015001||Viu
922 do_oddball|5.006000||Viu
923 dooneliner|5.006000||Viu
924 do_op_dump|5.006000|5.006000|u
925 do_open|5.003007|5.003007|u
926 do_open6|5.019010||xViu
927 do_open9|5.006000|5.006000|du
928 do_openn|5.007001|5.007001|u
929 doopen_pm|5.008001||Viu
930 do_open_raw|5.019010||xViu
931 doparseform|5.005000||Viu
932 do_pmop_dump|5.006000|5.006000|u
933 dopoptoeval|5.003007||Viu
934 dopoptogivenfor|5.027008||Viu
935 dopoptolabel|5.005000||Viu
936 dopoptoloop|5.005000||Viu
937 dopoptosub_at|5.005000||Viu
938 dopoptowhen|5.027008||Viu
939 do_print|5.003007||Viu
940 do_readline|5.003007||Viu
941 doref|5.009003|5.009003|u
942 dORIGMARK|5.003007|5.003007|
943 do_seek|5.003007||Viu
944 do_semop|5.003007||Viu
945 do_shmio|5.003007||Viu
946 do_smartmatch|5.027008||Viu
947 do_spawn|5.008000||Vu
948 do_spawn_nowait|5.008000||Vu
949 do_sprintf|5.003007|5.003007|u
950 do_sv_dump|5.006000|5.006000|u
951 do_sysseek|5.004000||Viu
952 do_tell|5.003007||Viu
953 do_trans|5.003007||Viu
954 do_trans_complex|5.006001||Viu
955 do_trans_count|5.006001||Viu
956 do_trans_count_invmap|5.031006||Viu
957 do_trans_invmap|5.031006||Viu
958 do_trans_simple|5.006001||Viu
959 DOUBLEINFBYTES|5.023000|5.023000|
960 DOUBLEKIND|5.021006|5.021006|
961 DOUBLEMANTBITS|5.023000|5.023000|
962 DOUBLENANBYTES|5.023000|5.023000|
963 DOUBLESIZE|5.005000|5.005000|
964 dounwind|5.003007|5.003007|u
965 DO_UTF8|5.006000|5.006000|
966 do_vecget|5.006000||Viu
967 do_vecset|5.003007||Viu
968 do_vop|5.003007||Viu
969 dowantarray|5.003007|5.003007|u
970 drand48_init_r|||nciu
971 drand48_r|||nciu
972 dSAVEDERRNO|||i
973 dSAVE_ERRNO|||i
974 dSP|5.003007|5.003007|
975 dTHR|5.004005|5.003007|p
976 dTHX|5.003007|5.003007|p
977 dTHXa|5.006000||pVu
978 dTHXoa|5.006000||pVu
979 dTHXR||5.003007|pou
980 dtrace_probe_call|||ciu
981 dtrace_probe_load|||ciu
982 dtrace_probe_op|||ciu
983 dtrace_probe_phase|||ciu
984 dump_all|5.006000|5.006000|
985 dump_all_perl|5.011000||Viu
986 dump_c_backtrace|5.021001||V
987 dump_eval|5.006000|5.006000|u
988 dump_exec_pos|5.009004||Viu
989 dump_form|5.006000|5.006000|u
990 dump_indent|5.006000|5.006000|vu
991 dump_mstats|5.003007||Vu
992 dump_packsubs|5.006000|5.006000|
993 dump_packsubs_perl|5.011000||Viu
994 dump_regex_sets_structures|5.025006||Viu
995 dump_sub|5.006000|5.006000|u
996 dump_sub_perl|5.011000||Viu
997 dump_sv_child|5.009003||Viu
998 dump_trie|5.009004||Viu
999 dump_trie_interim_list|5.009004||Viu
1000 dump_trie_interim_table|5.009004||Viu
1001 dumpuntil|5.005000||Viu
1002 dump_vindent|5.006000|5.006000|u
1003 dUNDERBAR|5.009002|5.003007|p
1004 dup_attrlist|5.006000||Viu
1005 dup_warnings|||ciu
1006 dVAR|5.009003|5.003007|p
1007 dXCPT|5.009002|5.003007|p
1008 dXSARGS|5.003007|5.003007|
1009 dXSI32|5.003007|5.003007|V
1010 dXSTARG|5.006000|5.003007|poVu
1011 edit_distance|5.023008||nViu
1012 emulate_cop_io|||xciu
1013 emulate_setlocale|5.027009||nViu
1014 END_EXTERN_C|5.005000|5.003007|poVu
1015 ENTER|5.003007|5.003007|
1016 ENTER_with_name|5.011002|5.011002|
1017 ERRSV|5.004005|5.003007|p
1018 eval_pv|5.006000|5.003007|p
1019 eval_sv|5.006000|5.003007|p
1020 exec_failed|5.009004||Viu
1021 expect_number|5.007001||Viu
1022 EXTEND|5.003007|5.003007|
1023 EXTERN_C|5.005000|5.003007|poVu
1024 F0convert|5.009003||nViu
1025 fbm_compile|5.005000|5.005000|
1026 fbm_instr|5.005000|5.005000|
1027 filter_add|5.003007|5.003007|
1028 filter_del|5.003007|5.003007|u
1029 filter_gets|5.005000||Viu
1030 filter_read|5.003007|5.003007|
1031 finalize_op|5.015002||Viu
1032 finalize_optree|5.015002||Vi
1033 find_and_forget_pmops|5.009005||Viu
1034 find_array_subscript|5.009004||Viu
1035 find_beginning|5.005000||Viu
1036 find_byclass|5.006000||Viu
1037 find_default_stash|5.019004||Viu
1038 find_first_differing_byte_pos|||nViu
1039 find_hash_subscript|5.009004||Viu
1040 find_in_my_stash|5.006001||Viu
1041 find_lexical_cv|5.019001||Viu
1042 find_next_masked|5.027009||nViu
1043 find_runcv|5.008001|5.008001|
1044 find_runcv_where|5.017002||Viu
1045 find_rundefsv|5.013002|5.013002|
1046 find_rundefsvoffset|5.009002|5.009002|d
1047 find_script|5.004005||Viu
1048 find_span_end|5.027009||nViu
1049 find_span_end_mask|5.027009||nViu
1050 find_uninit_var|5.009002||xVi
1051 first_symbol|5.009003||nViu
1052 fixup_errno_string|5.019007||Viu
1053 fold_constants|5.003007||Viu
1054 foldEQ|5.013002|5.013002|n
1055 foldEQ_latin1|5.013008|5.013008|nu
1056 foldEQ_latin1_s2_folded|5.029007||nViu
1057 foldEQ_locale|5.013002|5.013002|n
1058 foldEQ_utf8|5.013002|5.007003|p
1059 foldEQ_utf8_flags|5.013010||cVu
1060 forbid_setid|5.005000||Viu
1061 force_ident|5.003007||Viu
1062 force_ident_maybe_lex|5.017004||Viu
1063 force_list|5.003007||Viu
1064 force_next|5.003007||Viu
1065 _force_out_malformed_utf8_message|5.025009||cVu
1066 force_strict_version|5.011004||Viu
1067 force_version|5.005000||Viu
1068 force_word|5.003007||Viu
1069 forget_pmop|5.017007||Viu
1070 form|5.006000|5.004000|v
1071 form_alien_digit_msg|||ciu
1072 form_cp_too_large_msg|||ciu
1073 form_nocontext|5.006000||vnVu
1074 fp_dup|5.007003|5.007003|u
1075 fprintf_nocontext|5.006000||vndVu
1076 free_c_backtrace|5.021001||Vi
1077 free_global_struct|5.009003||Vu
1078 free_tied_hv_pool|5.008001||Viu
1079 FREETMPS|5.003007|5.003007|
1080 free_tmps|5.003007|5.003007|u
1081 G_ARRAY|5.003007|5.003007|
1082 G_DISCARD|5.003007|5.003007|
1083 gen_constant_list|5.003007||Viu
1084 get_and_check_backslash_N_name|5.017006||cViu
1085 get_and_check_backslash_N_name_wrapper|5.029009||Viu
1086 get_ANYOF_cp_list_for_ssc|5.019005||Viu
1087 get_ANYOFM_contents|5.027009||Viu
1088 get_aux_mg|5.011000||Viu
1089 get_av|5.006000|5.003007|p
1090 get_c_backtrace|5.021001||Vi
1091 get_c_backtrace_dump|5.021001||V
1092 get_context|5.006000|5.006000|nu
1093 get_cv|5.006000|5.003007|p
1094 get_cvn_flags|5.009005|5.003007|p
1095 get_cvs|5.011000||pVu
1096 getcwd_sv|5.007002|5.007002|
1097 get_db_sub|||iu
1098 get_debug_opts|5.008001||Viu
1099 getenv_len|5.006000||Viu
1100 get_hash_seed|5.008001||Viu
1101 get_hv|5.006000|5.003007|p
1102 get_invlist_iter_addr|5.015001||nViu
1103 get_invlist_offset_addr|5.019002||nViu
1104 get_invlist_previous_index_addr|5.017004||nViu
1105 get_mstats|5.006000||Vu
1106 get_no_modify|5.005000||Viu
1107 get_num|5.008001||Viu
1108 get_opargs|5.005000||Viu
1109 get_op_descs|5.005000|5.005000|u
1110 get_op_names|5.005000|5.005000|u
1111 get_ppaddr|5.006000|5.006000|u
1112 get_re_arg|||xciu
1113 _get_regclass_nonbitmap_data|5.019009||cViu
1114 get_regex_charset_name|5.031004||nViu
1115 get_sv|5.006000|5.003007|p
1116 GetVars|5.006000||Vu
1117 get_vtbl|5.005003|5.005003|u
1118 G_EVAL|5.003007|5.003007|
1119 GIMME|5.003007|5.003007|
1120 GIMME_V|5.004000|5.004000|
1121 gimme_V|5.031005|5.031005|xu
1122 glob_2number|5.009004||Viu
1123 glob_assign_glob|5.009004||Viu
1124 G_METHOD|5.006001|5.003007|p
1125 G_METHOD_NAMED|5.019002|5.019002|
1126 G_NOARGS|5.003007|5.003007|
1127 gp_dup|5.007003|5.007003|u
1128 gp_free|5.003007|5.003007|u
1129 gp_ref|5.003007|5.003007|u
1130 G_RETHROW|5.031002|5.003007|p
1131 grok_atoUV|5.021010||ncVi
1132 grok_bin|5.007003|5.003007|p
1133 grok_bin_oct_hex|||cVu
1134 grok_bslash_c|5.013001||cViu
1135 grok_bslash_N|5.017003||Viu
1136 grok_bslash_o|5.013003||cViu
1137 grok_bslash_x|5.017002||cViu
1138 grok_hex|5.007003|5.003007|p
1139 grok_infnan|5.021004|5.021004|
1140 grok_number|5.007002|5.003007|p
1141 grok_number_flags|5.021002|5.021002|
1142 GROK_NUMERIC_RADIX|5.007002|5.003007|p
1143 grok_numeric_radix|5.007002|5.003007|p
1144 grok_oct|5.007003|5.003007|p
1145 group_end|5.007003||Viu
1146 G_SCALAR|5.003007|5.003007|
1147 GV_ADD|5.003007|5.003007|
1148 gv_add_by_type|5.011000|5.011000|u
1149 GV_ADDMG|5.015003|5.015003|
1150 GV_ADDMULTI|5.003007|5.003007|
1151 Gv_AMupdate|5.011000|5.011000|u
1152 gv_autoload4|5.004000|5.004000|u
1153 gv_autoload_pv|5.015004|5.015004|u
1154 gv_autoload_pvn|5.015004|5.015004|u
1155 gv_autoload_sv|5.015004|5.015004|u
1156 GvAV|5.003007|5.003007|
1157 gv_AVadd|5.003007|5.003007|u
1158 gv_check|5.003007|5.003007|u
1159 gv_const_sv|5.009003|5.009003|
1160 GvCV|5.003007|5.003007|
1161 gv_dump|5.006000|5.006000|u
1162 gv_efullname3|5.003007|5.003007|u
1163 gv_efullname4|5.006001|5.006001|u
1164 gv_efullname|5.003007|5.003007|du
1165 gv_fetchfile|5.003007|5.003007|u
1166 gv_fetchfile_flags|5.009005|5.009005|u
1167 gv_fetchmeth|5.003007|5.003007|
1168 gv_fetchmeth_autoload|5.007003|5.007003|
1169 gv_fetchmeth_internal|5.021007||Viu
1170 gv_fetchmethod|5.003007|5.003007|
1171 gv_fetchmethod_autoload|5.004000|5.004000|
1172 gv_fetchmethod_pv_flags|5.015004|5.015004|xu
1173 gv_fetchmethod_pvn_flags|5.015004|5.015004|xu
1174 gv_fetchmethod_sv_flags|5.015004|5.015004|xu
1175 gv_fetchmeth_pv|5.015004|5.015004|
1176 gv_fetchmeth_pv_autoload|5.015004|5.015004|
1177 gv_fetchmeth_pvn|5.015004|5.015004|
1178 gv_fetchmeth_pvn_autoload|5.015004|5.015004|
1179 gv_fetchmeth_sv|5.015004|5.015004|
1180 gv_fetchmeth_sv_autoload|5.015004|5.015004|
1181 gv_fetchpv|5.003007|5.003007|u
1182 gv_fetchpvn_flags|5.009002|5.003007|pu
1183 gv_fetchpvs|5.009004||pVu
1184 gv_fetchsv|5.009002|5.003007|pu
1185 gv_fullname3|5.003007|5.003007|u
1186 gv_fullname4|5.006001|5.006001|u
1187 gv_fullname|5.003007|5.003007|du
1188 gv_handler|5.007001|5.007001|u
1189 GvHV|5.003007|5.003007|
1190 gv_HVadd|5.003007|5.003007|u
1191 gv_init|5.003007|5.003007|
1192 gv_init_pv|5.015004|5.015004|
1193 gv_init_pvn|5.015004|5.003007|p
1194 gv_init_sv|5.015004|5.015004|
1195 gv_init_svtype|5.015004||Viu
1196 gv_IOadd|5.003007|5.003007|u
1197 gv_is_in_main|5.019004||Viu
1198 gv_magicalize|5.019004||Viu
1199 gv_magicalize_isa|5.013005||Viu
1200 gv_name_set|5.009004|5.009004|u
1201 GV_NOADD_MASK|5.009005|5.003007|poVu
1202 GV_NOADD_NOINIT|5.009003|5.009003|
1203 GV_NOEXPAND|5.009003|5.009003|
1204 GV_NOINIT|5.004005|5.004005|
1205 G_VOID|5.004000|5.004000|
1206 gv_override|5.019006||Viu
1207 gv_setref|5.021005||Viu
1208 gv_stashpv|5.003007|5.003007|
1209 gv_stashpvn|5.003007|5.003007|p
1210 gv_stashpvn_internal|5.021004||Viu
1211 gv_stashpvs|5.009003|5.003007|p
1212 gv_stashsv|5.003007|5.003007|
1213 gv_stashsvpvn_cached|5.021004||Viu
1214 GV_SUPER|5.017004|5.017004|
1215 GvSV|5.003007|5.003007|
1216 gv_SVadd|||u
1217 GvSVn|5.009003||pVu
1218 gv_try_downgrade|5.011002||xcVi
1219 handle_named_backref|5.023008||Viu
1220 handle_possible_posix|5.023008||Viu
1221 handle_regex_sets|5.017009||Viu
1222 handle_user_defined_property|5.029008||cViu
1223 he_dup|5.007003|5.007003|u
1224 HEf_SVKEY|5.003007|5.003007|p
1225 HeHASH|5.003007|5.003007|
1226 hek_dup|5.009000|5.009000|u
1227 HeKEY|5.003007|5.003007|
1228 HeKLEN|5.003007|5.003007|
1229 HePV|5.004000|5.004000|
1230 HeSVKEY|5.003007|5.003007|
1231 HeSVKEY_force|5.003007|5.003007|
1232 HeSVKEY_set|5.004000|5.004000|
5231233 HeUTF8|5.010001|5.008000|p
524 HeVAL||5.003070|
525 HvENAMELEN||5.015004|
526 HvENAMEUTF8||5.015004|
527 HvENAME||5.013007|
528 HvNAMELEN_get|5.009003||p
529 HvNAMELEN||5.015004|
530 HvNAMEUTF8||5.015004|
531 HvNAME_get|5.009003||p
532 HvNAME|||
533 INT2PTR|5.006000||p
534 IN_LOCALE_COMPILETIME|5.007002||p
535 IN_LOCALE_RUNTIME|5.007002||p
536 IN_LOCALE|5.007002||p
537 IN_PERL_COMPILETIME|5.008001||p
538 IS_NUMBER_GREATER_THAN_UV_MAX|5.007002||p
539 IS_NUMBER_INFINITY|5.007002||p
540 IS_NUMBER_IN_UV|5.007002||p
541 IS_NUMBER_NAN|5.007003||p
542 IS_NUMBER_NEG|5.007002||p
543 IS_NUMBER_NOT_INT|5.007002||p
544 IVSIZE|5.006000||p
545 IVTYPE|5.006000||p
546 IVdf|5.006000||p
547 LEAVE|||
548 LINKLIST||5.013006|
549 LVRET|||
550 MARK|||
551 MULTICALL||5.024000|
552 MUTABLE_PTR|5.010001||p
553 MUTABLE_SV|5.010001||p
554 MY_CXT_CLONE|5.009002||p
555 MY_CXT_INIT|5.007003||p
556 MY_CXT|5.007003||p
557 MoveD|5.009002|5.004050|p
558 Move|||
559 NOOP|5.005000||p
560 NUM2PTR|5.006000||p
561 NVTYPE|5.006000||p
562 NVef|5.006001||p
563 NVff|5.006001||p
564 NVgf|5.006001||p
565 Newxc|5.009003||p
566 Newxz|5.009003||p
567 Newx|5.009003||p
568 Nullav|||
569 Nullch|||
570 Nullcv|||
571 Nullhv|||
572 Nullsv|||
573 OP_CLASS||5.013007|
574 OP_DESC||5.007003|
575 OP_NAME||5.007003|
576 OP_TYPE_IS_OR_WAS||5.019010|
577 OP_TYPE_IS||5.019007|
578 ORIGMARK|||
579 OpHAS_SIBLING|5.021007||p
580 OpLASTSIB_set|5.021011||p
581 OpMAYBESIB_set|5.021011||p
582 OpMORESIB_set|5.021011||p
583 OpSIBLING|5.021007||p
584 PAD_BASE_SV|||
585 PAD_CLONE_VARS|||
586 PAD_COMPNAME_FLAGS|||
587 PAD_COMPNAME_GEN_set|||
588 PAD_COMPNAME_GEN|||
589 PAD_COMPNAME_OURSTASH|||
590 PAD_COMPNAME_PV|||
591 PAD_COMPNAME_TYPE|||
592 PAD_RESTORE_LOCAL|||
593 PAD_SAVE_LOCAL|||
594 PAD_SAVE_SETNULLPAD|||
595 PAD_SETSV|||
596 PAD_SET_CUR_NOSAVE|||
597 PAD_SET_CUR|||
598 PAD_SVl|||
599 PAD_SV|||
600 PERLIO_FUNCS_CAST|5.009003||p
601 PERLIO_FUNCS_DECL|5.009003||p
602 PERL_ABS|5.008001||p
603 PERL_ARGS_ASSERT_CROAK_XS_USAGE|||p
604 PERL_BCDVERSION|5.024000||p
605 PERL_GCC_BRACE_GROUPS_FORBIDDEN|5.008001||p
606 PERL_HASH|5.003070||p
607 PERL_INT_MAX|5.003070||p
608 PERL_INT_MIN|5.003070||p
609 PERL_LONG_MAX|5.003070||p
610 PERL_LONG_MIN|5.003070||p
611 PERL_MAGIC_arylen|5.007002||p
612 PERL_MAGIC_backref|5.007002||p
613 PERL_MAGIC_bm|5.007002||p
614 PERL_MAGIC_collxfrm|5.007002||p
615 PERL_MAGIC_dbfile|5.007002||p
616 PERL_MAGIC_dbline|5.007002||p
617 PERL_MAGIC_defelem|5.007002||p
618 PERL_MAGIC_envelem|5.007002||p
619 PERL_MAGIC_env|5.007002||p
620 PERL_MAGIC_ext|5.007002||p
621 PERL_MAGIC_fm|5.007002||p
622 PERL_MAGIC_glob|5.024000||p
623 PERL_MAGIC_isaelem|5.007002||p
624 PERL_MAGIC_isa|5.007002||p
625 PERL_MAGIC_mutex|5.024000||p
626 PERL_MAGIC_nkeys|5.007002||p
627 PERL_MAGIC_overload_elem|5.024000||p
628 PERL_MAGIC_overload_table|5.007002||p
629 PERL_MAGIC_overload|5.024000||p
630 PERL_MAGIC_pos|5.007002||p
631 PERL_MAGIC_qr|5.007002||p
632 PERL_MAGIC_regdata|5.007002||p
633 PERL_MAGIC_regdatum|5.007002||p
634 PERL_MAGIC_regex_global|5.007002||p
635 PERL_MAGIC_shared_scalar|5.007003||p
636 PERL_MAGIC_shared|5.007003||p
637 PERL_MAGIC_sigelem|5.007002||p
638 PERL_MAGIC_sig|5.007002||p
639 PERL_MAGIC_substr|5.007002||p
640 PERL_MAGIC_sv|5.007002||p
641 PERL_MAGIC_taint|5.007002||p
642 PERL_MAGIC_tiedelem|5.007002||p
643 PERL_MAGIC_tiedscalar|5.007002||p
644 PERL_MAGIC_tied|5.007002||p
645 PERL_MAGIC_utf8|5.008001||p
646 PERL_MAGIC_uvar_elem|5.007003||p
647 PERL_MAGIC_uvar|5.007002||p
648 PERL_MAGIC_vec|5.007002||p
649 PERL_MAGIC_vstring|5.008001||p
650 PERL_PV_ESCAPE_ALL|5.009004||p
651 PERL_PV_ESCAPE_FIRSTCHAR|5.009004||p
652 PERL_PV_ESCAPE_NOBACKSLASH|5.009004||p
653 PERL_PV_ESCAPE_NOCLEAR|5.009004||p
654 PERL_PV_ESCAPE_QUOTE|5.009004||p
655 PERL_PV_ESCAPE_RE|5.009005||p
656 PERL_PV_ESCAPE_UNI_DETECT|5.009004||p
657 PERL_PV_ESCAPE_UNI|5.009004||p
658 PERL_PV_PRETTY_DUMP|5.009004||p
659 PERL_PV_PRETTY_ELLIPSES|5.010000||p
660 PERL_PV_PRETTY_LTGT|5.009004||p
661 PERL_PV_PRETTY_NOCLEAR|5.010000||p
662 PERL_PV_PRETTY_QUOTE|5.009004||p
663 PERL_PV_PRETTY_REGPROP|5.009004||p
664 PERL_QUAD_MAX|5.003070||p
665 PERL_QUAD_MIN|5.003070||p
666 PERL_REVISION|5.006000||p
667 PERL_SCAN_ALLOW_UNDERSCORES|5.007003||p
668 PERL_SCAN_DISALLOW_PREFIX|5.007003||p
669 PERL_SCAN_GREATER_THAN_UV_MAX|5.007003||p
670 PERL_SCAN_SILENT_ILLDIGIT|5.008001||p
671 PERL_SHORT_MAX|5.003070||p
672 PERL_SHORT_MIN|5.003070||p
673 PERL_SIGNALS_UNSAFE_FLAG|5.008001||p
674 PERL_SUBVERSION|5.006000||p
675 PERL_SYS_INIT3||5.006000|
676 PERL_SYS_INIT|||
677 PERL_SYS_TERM||5.024000|
678 PERL_UCHAR_MAX|5.003070||p
679 PERL_UCHAR_MIN|5.003070||p
680 PERL_UINT_MAX|5.003070||p
681 PERL_UINT_MIN|5.003070||p
682 PERL_ULONG_MAX|5.003070||p
683 PERL_ULONG_MIN|5.003070||p
684 PERL_UNUSED_ARG|5.009003||p
685 PERL_UNUSED_CONTEXT|5.009004||p
686 PERL_UNUSED_DECL|5.007002||p
687 PERL_UNUSED_RESULT|5.021001||p
688 PERL_UNUSED_VAR|5.007002||p
689 PERL_UQUAD_MAX|5.003070||p
690 PERL_UQUAD_MIN|5.003070||p
691 PERL_USE_GCC_BRACE_GROUPS|5.009004||p
692 PERL_USHORT_MAX|5.003070||p
693 PERL_USHORT_MIN|5.003070||p
694 PERL_VERSION|5.006000||p
695 PL_DBsignal|5.005000||p
696 PL_DBsingle|||pn
697 PL_DBsub|||pn
698 PL_DBtrace|||pn
699 PL_Sv|5.005000||p
700 PL_bufend|5.024000||p
701 PL_bufptr|5.024000||p
702 PL_check||5.006000|
703 PL_compiling|5.004050||p
704 PL_comppad_name||5.017004|
705 PL_comppad||5.008001|
706 PL_copline|5.024000||p
707 PL_curcop|5.004050||p
708 PL_curpad||5.005000|
709 PL_curstash|5.004050||p
710 PL_debstash|5.004050||p
711 PL_defgv|5.004050||p
712 PL_diehook|5.004050||p
713 PL_dirty|5.004050||p
714 PL_dowarn|||pn
715 PL_errgv|5.004050||p
716 PL_error_count|5.024000||p
717 PL_expect|5.024000||p
718 PL_hexdigit|5.005000||p
719 PL_hints|5.005000||p
720 PL_in_my_stash|5.024000||p
721 PL_in_my|5.024000||p
722 PL_keyword_plugin||5.011002|
723 PL_last_in_gv|||n
724 PL_laststatval|5.005000||p
725 PL_lex_state|5.024000||p
726 PL_lex_stuff|5.024000||p
727 PL_linestr|5.024000||p
728 PL_modglobal||5.005000|n
729 PL_na|5.004050||pn
730 PL_no_modify|5.006000||p
731 PL_ofsgv|||n
732 PL_opfreehook||5.011000|n
733 PL_parser|5.009005||p
734 PL_peepp||5.007003|n
735 PL_perl_destruct_level|5.004050||p
736 PL_perldb|5.004050||p
737 PL_ppaddr|5.006000||p
738 PL_rpeepp||5.013005|n
739 PL_rsfp_filters|5.024000||p
740 PL_rsfp|5.024000||p
741 PL_rs|||n
742 PL_signals|5.008001||p
743 PL_stack_base|5.004050||p
744 PL_stack_sp|5.004050||p
745 PL_statcache|5.005000||p
746 PL_stdingv|5.004050||p
747 PL_sv_arenaroot|5.004050||p
748 PL_sv_no|5.004050||pn
749 PL_sv_undef|5.004050||pn
750 PL_sv_yes|5.004050||pn
751 PL_tainted|5.004050||p
752 PL_tainting|5.004050||p
753 PL_tokenbuf|5.024000||p
754 POP_MULTICALL||5.024000|
755 POPi|||n
756 POPl|||n
757 POPn|||n
758 POPpbytex||5.007001|n
759 POPpx||5.005030|n
760 POPp|||n
761 POPs|||n
762 POPul||5.006000|n
763 POPu||5.004000|n
764 PTR2IV|5.006000||p
765 PTR2NV|5.006000||p
766 PTR2UV|5.006000||p
767 PTR2nat|5.009003||p
768 PTR2ul|5.007001||p
769 PTRV|5.006000||p
770 PUSHMARK|||
771 PUSH_MULTICALL||5.024000|
772 PUSHi|||
773 PUSHmortal|5.009002||p
774 PUSHn|||
775 PUSHp|||
776 PUSHs|||
777 PUSHu|5.004000||p
778 PUTBACK|||
779 PadARRAY||5.024000|
780 PadMAX||5.024000|
781 PadlistARRAY||5.024000|
782 PadlistMAX||5.024000|
783 PadlistNAMESARRAY||5.024000|
784 PadlistNAMESMAX||5.024000|
785 PadlistNAMES||5.024000|
786 PadlistREFCNT||5.017004|
787 PadnameIsOUR|||
788 PadnameIsSTATE|||
789 PadnameLEN||5.024000|
790 PadnameOURSTASH|||
791 PadnameOUTER|||
792 PadnamePV||5.024000|
793 PadnameREFCNT_dec||5.024000|
794 PadnameREFCNT||5.024000|
795 PadnameSV||5.024000|
796 PadnameTYPE|||
797 PadnameUTF8||5.021007|
798 PadnamelistARRAY||5.024000|
799 PadnamelistMAX||5.024000|
800 PadnamelistREFCNT_dec||5.024000|
801 PadnamelistREFCNT||5.024000|
802 PerlIO_clearerr||5.007003|
803 PerlIO_close||5.007003|
804 PerlIO_context_layers||5.009004|
805 PerlIO_eof||5.007003|
806 PerlIO_error||5.007003|
807 PerlIO_fileno||5.007003|
808 PerlIO_fill||5.007003|
809 PerlIO_flush||5.007003|
810 PerlIO_get_base||5.007003|
811 PerlIO_get_bufsiz||5.007003|
812 PerlIO_get_cnt||5.007003|
813 PerlIO_get_ptr||5.007003|
814 PerlIO_read||5.007003|
815 PerlIO_restore_errno|||
816 PerlIO_save_errno|||
817 PerlIO_seek||5.007003|
818 PerlIO_set_cnt||5.007003|
819 PerlIO_set_ptrcnt||5.007003|
820 PerlIO_setlinebuf||5.007003|
821 PerlIO_stderr||5.007003|
822 PerlIO_stdin||5.007003|
823 PerlIO_stdout||5.007003|
824 PerlIO_tell||5.007003|
825 PerlIO_unread||5.007003|
826 PerlIO_write||5.007003|
827 PoisonFree|5.009004||p
828 PoisonNew|5.009004||p
829 PoisonWith|5.009004||p
830 Poison|5.008000||p
831 READ_XDIGIT||5.017006|
832 RESTORE_LC_NUMERIC||5.024000|
833 RETVAL|||n
834 Renewc|||
835 Renew|||
836 SAVECLEARSV|||
837 SAVECOMPPAD|||
838 SAVEPADSV|||
839 SAVETMPS|||
840 SAVE_DEFSV|5.004050||p
841 SPAGAIN|||
842 SP|||
843 START_EXTERN_C|5.005000||p
844 START_MY_CXT|5.007003||p
845 STMT_END|||p
846 STMT_START|||p
847 STORE_LC_NUMERIC_FORCE_TO_UNDERLYING||5.024000|
848 STORE_LC_NUMERIC_SET_TO_NEEDED||5.024000|
849 STR_WITH_LEN|5.009003||p
850 ST|||
851 SV_CONST_RETURN|5.009003||p
852 SV_COW_DROP_PV|5.008001||p
853 SV_COW_SHARED_HASH_KEYS|5.009005||p
854 SV_GMAGIC|5.007002||p
855 SV_HAS_TRAILING_NUL|5.009004||p
856 SV_IMMEDIATE_UNREF|5.007001||p
857 SV_MUTABLE_RETURN|5.009003||p
858 SV_NOSTEAL|5.009002||p
859 SV_SMAGIC|5.009003||p
860 SV_UTF8_NO_ENCODING|5.008001||p
861 SVfARG|5.009005||p
862 SVf_UTF8|5.006000||p
863 SVf|5.006000||p
864 SVt_INVLIST||5.019002|
865 SVt_IV|||
866 SVt_NULL|||
867 SVt_NV|||
868 SVt_PVAV|||
869 SVt_PVCV|||
870 SVt_PVFM|||
871 SVt_PVGV|||
872 SVt_PVHV|||
873 SVt_PVIO|||
874 SVt_PVIV|||
875 SVt_PVLV|||
876 SVt_PVMG|||
877 SVt_PVNV|||
878 SVt_PV|||
879 SVt_REGEXP||5.011000|
880 Safefree|||
881 Slab_Alloc|||
882 Slab_Free|||
883 Slab_to_ro|||
884 Slab_to_rw|||
885 StructCopy|||
886 SvCUR_set|||
887 SvCUR|||
888 SvEND|||
889 SvGAMAGIC||5.006001|
890 SvGETMAGIC|5.004050||p
891 SvGROW|||
892 SvIOK_UV||5.006000|
893 SvIOK_notUV||5.006000|
894 SvIOK_off|||
895 SvIOK_only_UV||5.006000|
896 SvIOK_only|||
897 SvIOK_on|||
898 SvIOKp|||
899 SvIOK|||
900 SvIVX|||
901 SvIV_nomg|5.009001||p
902 SvIV_set|||
903 SvIVx|||
904 SvIV|||
905 SvIsCOW_shared_hash||5.008003|
906 SvIsCOW||5.008003|
907 SvLEN_set|||
908 SvLEN|||
909 SvLOCK||5.007003|
910 SvMAGIC_set|5.009003||p
911 SvNIOK_off|||
912 SvNIOKp|||
913 SvNIOK|||
914 SvNOK_off|||
915 SvNOK_only|||
916 SvNOK_on|||
917 SvNOKp|||
918 SvNOK|||
919 SvNVX|||
920 SvNV_nomg||5.013002|
921 SvNV_set|||
922 SvNVx|||
923 SvNV|||
924 SvOK|||
925 SvOOK_offset||5.011000|
926 SvOOK|||
927 SvPOK_off|||
928 SvPOK_only_UTF8||5.006000|
929 SvPOK_only|||
930 SvPOK_on|||
931 SvPOKp|||
932 SvPOK|||
933 SvPVX_const|5.009003||p
934 SvPVX_mutable|5.009003||p
935 SvPVX|||
936 SvPV_const|5.009003||p
937 SvPV_flags_const_nolen|5.009003||p
938 SvPV_flags_const|5.009003||p
939 SvPV_flags_mutable|5.009003||p
940 SvPV_flags|5.007002||p
941 SvPV_force_flags_mutable|5.009003||p
942 SvPV_force_flags_nolen|5.009003||p
943 SvPV_force_flags|5.007002||p
944 SvPV_force_mutable|5.009003||p
945 SvPV_force_nolen|5.009003||p
946 SvPV_force_nomg_nolen|5.009003||p
947 SvPV_force_nomg|5.007002||p
948 SvPV_force|||p
949 SvPV_mutable|5.009003||p
950 SvPV_nolen_const|5.009003||p
951 SvPV_nolen|5.006000||p
952 SvPV_nomg_const_nolen|5.009003||p
953 SvPV_nomg_const|5.009003||p
954 SvPV_nomg_nolen|5.013007||p
955 SvPV_nomg|5.007002||p
956 SvPV_renew|5.009003||p
957 SvPV_set|||
958 SvPVbyte_force||5.009002|
959 SvPVbyte_nolen||5.006000|
960 SvPVbytex_force||5.006000|
961 SvPVbytex||5.006000|
962 SvPVbyte|5.006000||p
963 SvPVutf8_force||5.006000|
964 SvPVutf8_nolen||5.006000|
965 SvPVutf8x_force||5.006000|
966 SvPVutf8x||5.006000|
967 SvPVutf8||5.006000|
968 SvPVx|||
969 SvPV|||
970 SvREFCNT_dec_NN||5.017007|
971 SvREFCNT_dec|||
972 SvREFCNT_inc_NN|5.009004||p
973 SvREFCNT_inc_simple_NN|5.009004||p
974 SvREFCNT_inc_simple_void_NN|5.009004||p
975 SvREFCNT_inc_simple_void|5.009004||p
976 SvREFCNT_inc_simple|5.009004||p
977 SvREFCNT_inc_void_NN|5.009004||p
978 SvREFCNT_inc_void|5.009004||p
979 SvREFCNT_inc|||p
980 SvREFCNT|||
981 SvROK_off|||
982 SvROK_on|||
983 SvROK|||
984 SvRV_set|5.009003||p
985 SvRV|||
986 SvRXOK|5.009005||p
987 SvRX|5.009005||p
988 SvSETMAGIC|||
989 SvSHARED_HASH|5.009003||p
990 SvSHARE||5.007003|
991 SvSTASH_set|5.009003||p
992 SvSTASH|||
993 SvSetMagicSV_nosteal||5.004000|
994 SvSetMagicSV||5.004000|
995 SvSetSV_nosteal||5.004000|
996 SvSetSV|||
997 SvTAINTED_off||5.004000|
998 SvTAINTED_on||5.004000|
999 SvTAINTED||5.004000|
1000 SvTAINT|||
1001 SvTHINKFIRST|||
1002 SvTRUE_nomg||5.013006|
1003 SvTRUE|||
1004 SvTYPE|||
1005 SvUNLOCK||5.007003|
1234 HeVAL|5.003007|5.003007|
1235 hfree_next_entry|||iu
1236 hsplit|5.005000||Viu
1237 hv_assert|5.008009|5.008009|
1238 hv_auxinit|5.009003||Viu
1239 hv_auxinit_internal|5.019010||nViu
1240 hv_backreferences_p|||xiu
1241 hv_bucket_ratio|5.025003|5.025003|x
1242 hv_clear|5.003007|5.003007|
1243 hv_clear_placeholders|5.009001|5.009001|
1244 hv_common|5.010000|5.010000|u
1245 hv_common_key_len|5.010000|5.010000|u
1246 hv_copy_hints_hv|5.009004|5.009004|
1247 hv_delayfree_ent|5.004000|5.004000|u
1248 hv_delete|5.003007|5.003007|
1249 hv_delete_common|5.009001||xViu
1250 hv_delete_ent|5.003007|5.003007|
1251 hv_eiter_p|5.009003|5.009003|u
1252 hv_eiter_set|5.009003|5.009003|u
1253 HvENAME|5.013007|5.013007|
1254 hv_ename_add|5.013007||Vi
1255 hv_ename_delete|5.013007||Vi
1256 HvENAMELEN|5.015004|5.015004|
1257 HvENAMEUTF8|5.015004|5.015004|
1258 hv_exists|5.003007|5.003007|
1259 hv_exists_ent|5.003007|5.003007|
1260 hv_fetch|5.003007|5.003007|
1261 hv_fetch_ent|5.003007|5.003007|
1262 hv_fetchs|5.009003|5.003007|p
1263 HvFILL|5.003007|5.003007|
1264 hv_fill|5.013002|5.013002|
1265 hv_free_ent|5.004000|5.004000|u
1266 hv_free_ent_ret|5.015000||Viu
1267 hv_free_entries|5.027002||Viu
1268 hv_iterinit|5.003007|5.003007|
1269 hv_iterkey|5.003007|5.003007|
1270 hv_iterkeysv|5.003007|5.003007|
1271 hv_iternext|5.003007|5.003007|
1272 hv_iternext_flags|5.008000|5.008000|x
1273 hv_iternextsv|5.003007|5.003007|
1274 HV_ITERNEXT_WANTPLACEHOLDERS|5.008000|5.008000|
1275 hv_iterval|5.003007|5.003007|
1276 hv_kill_backrefs|||xiu
1277 hv_ksplit|5.003007|5.003007|u
1278 hv_magic|5.003007|5.003007|
1279 hv_magic_check|5.006000||nViu
1280 HvNAME|5.003007|5.003007|
1281 HvNAME_get|5.009003||pVu
1282 HvNAMELEN|5.015004|5.015004|
1283 HvNAMELEN_get|5.009003||pVu
1284 hv_name_set|5.009003|5.009003|u
1285 HvNAMEUTF8|5.015004|5.015004|
1286 hv_notallowed|5.008000||Viu
1287 hv_placeholders_get|5.009003|5.009003|u
1288 hv_placeholders_p|||ciu
1289 hv_placeholders_set|5.009003|5.009003|u
1290 hv_pushkv|5.027003||Viu
1291 hv_rand_set|5.018000|5.018000|u
1292 hv_riter_p|5.009003|5.009003|u
1293 hv_riter_set|5.009003|5.009003|u
1294 hv_scalar|5.009001|5.009001|
1295 hv_store|5.003007|5.003007|
1296 hv_store_ent|5.003007|5.003007|
1297 hv_store_flags|5.008000|5.008000|xu
1298 hv_stores|5.009004|5.003007|p
1299 hv_undef|5.003007|5.003007|
1300 hv_undef_flags|||ciu
1301 I16SIZE|5.006000|5.006000|
1302 I16TYPE|5.006000|5.006000|
1303 I32SIZE|5.006000|5.006000|
1304 I32TYPE|5.006000|5.006000|
1305 I8SIZE|5.006000|5.006000|
1306 I8TYPE|5.006000|5.006000|
1307 ibcmp|5.003007|5.003007|
1308 ibcmp_locale|5.004000|5.004000|
1309 ibcmp_utf8|5.007003|5.007003|u
1310 incline|5.005000||Viu
1311 incpush|5.005000||Viu
1312 incpush_if_exists|5.009003||Viu
1313 incpush_use_sep|5.011000||Viu
1314 ingroup|5.003007||Viu
1315 init_argv_symbols|5.007003||Viu
1316 init_constants|5.017003||Viu
1317 init_dbargs|||iu
1318 init_debugger|5.005000||Viu
1319 init_global_struct|5.009003||Vu
1320 init_i18nl10n|5.006000||cVu
1321 init_i18nl14n|5.006000||dcVu
1322 initialize_invlist_guts|5.029002||Viu
1323 init_ids|5.005000||Viu
1324 init_interp|5.005000||Viu
1325 init_main_stash|5.005000||Viu
1326 init_named_cv|5.027010||cViu
1327 init_perllib|5.005000||Viu
1328 init_postdump_symbols|5.005000||Viu
1329 init_predump_symbols|5.005000||Viu
1330 init_stacks|5.005000|5.005000|u
1331 init_tm|5.007002|5.007002|u
1332 init_uniprops|5.027011||Viu
1333 IN_LOCALE|5.007002|5.004000|p
1334 IN_LOCALE_COMPILETIME|5.007002|5.004000|p
1335 IN_LOCALE_RUNTIME|5.007002|5.004000|p
1336 IN_PERL_COMPILETIME|5.008001|5.003007|poVu
1337 inplace_aassign|5.015003||Viu
1338 instr|5.003007|5.003007|n
1339 INT2PTR|5.006000|5.003007|p
1340 intro_my|5.004000|5.004000|
1341 INTSIZE|5.003007|5.003007|
1342 intuit_method|5.005000||Viu
1343 intuit_more|5.003007||Viu
1344 _inverse_folds|5.027011||cViu
1345 invert|5.003007||Viu
1346 invlist_array|5.013010||nViu
1347 _invlist_array_init|5.015001||nViu
1348 invlist_clear|5.023009||Viu
1349 invlist_clone|5.015001||cViu
1350 _invlist_contains_cp|5.017003||nViu
1351 invlist_contents|5.023008||Viu
1352 _invlist_dump|5.019003||cViu
1353 _invlistEQ|5.023006||cViu
1354 invlist_extend|5.013010||Viu
1355 invlist_highest|5.017002||nViu
1356 _invlist_intersection|5.015001||Viu
1357 _invlist_intersection_maybe_complement_2nd|5.015008||cViu
1358 _invlist_invert|5.015001||cViu
1359 invlist_is_iterating|5.017008||nViu
1360 invlist_iterfinish|5.017008||nViu
1361 invlist_iterinit|5.015001||nViu
1362 invlist_iternext|5.015001||nViu
1363 _invlist_len|5.017004||nViu
1364 invlist_lowest|||nxViu
1365 invlist_max|5.013010||nViu
1366 invlist_previous_index|5.017004||nViu
1367 invlist_replace_list_destroys_src|5.023009||Viu
1368 _invlist_search|5.017003||ncViu
1369 invlist_set_len|5.013010||Viu
1370 invlist_set_previous_index|5.017004||nViu
1371 _invlist_subtract|5.015001||Viu
1372 invlist_trim|5.013010||nViu
1373 _invlist_union|5.015001||cVu
1374 _invlist_union_maybe_complement_2nd|5.015008||cViu
1375 invmap_dump|5.031006||Viu
1376 invoke_exception_hook|5.013001||Viu
1377 io_close|5.003007||Viu
1378 isALNUM|5.003007|5.003007|p
1379 isALNUM_A|5.031003|5.003007|p
1380 isALNUMC|5.006000|5.003007|p
1381 isALNUMC_A|5.013006|5.003007|p
1382 isALNUMC_L1|5.013006|5.003007|p
1383 isALNUMC_LC|5.006000|5.006000|
1384 isALNUMC_LC_uvchr|5.017007|5.017007|
1385 isALNUM_LC|5.004000|5.004000|
1386 isALNUM_LC_uvchr|5.007001|5.007001|
1387 isa_lookup|5.005000||Viu
1388 isALPHA|5.003007|5.003007|p
1389 isALPHA_A|5.013006|5.003007|p
1390 isALPHA_L1|5.013006|5.003007|p
1391 isALPHA_LC|5.004000|5.004000|
1392 isALPHA_LC_utf8_safe|5.025009|5.006000|p
1393 isALPHA_LC_uvchr|5.007001|5.007001|
1394 isALPHANUMERIC|5.017008|5.003007|p
1395 isALPHANUMERIC_A|5.017008|5.003007|p
1396 isALPHANUMERIC_L1|5.017008|5.003007|p
1397 isALPHANUMERIC_LC|5.017008|5.004000|p
1398 isALPHANUMERIC_LC_utf8_safe|5.025009|5.006000|p
1399 isALPHANUMERIC_LC_uvchr|5.017008|5.017008|
1400 isALPHANUMERIC_utf8|5.031005|5.031005|
1401 isALPHANUMERIC_utf8_safe|5.025009|5.006000|p
1402 isALPHANUMERIC_uvchr|5.023009|5.006000|p
1403 isALPHA_utf8|5.031005|5.031005|
1404 isALPHA_utf8_safe|5.025009|5.006000|p
1405 isALPHA_uvchr|5.023009|5.006000|p
1406 is_an_int|5.005000||Viu
1407 isASCII|5.006000|5.003007|p
1408 isASCII_A|5.013006|5.003007|p
1409 isASCII_L1|5.015004|5.003007|p
1410 isASCII_LC|5.015008|5.003007|p
1411 isASCII_LC_utf8_safe|5.025009|5.025009|
1412 isASCII_LC_uvchr|5.017007|5.017007|
1413 is_ascii_string|5.011000|5.011000|n
1414 isASCII_utf8|5.031005|5.031005|
1415 isASCII_utf8_safe|5.025009|5.003007|p
1416 isASCII_uvchr|5.023009|5.003007|p
1417 isBLANK|5.006001|5.003007|p
1418 isBLANK_A|5.013006|5.003007|p
1419 isBLANK_L1|5.013006|5.003007|p
1420 isBLANK_LC|5.006001|5.003007|p
1421 isBLANK_LC_utf8_safe|5.025009|5.006000|p
1422 isBLANK_LC_uvchr|5.017007|5.017007|
1423 isBLANK_utf8|5.031005|5.031005|
1424 isBLANK_utf8_safe|5.025009|5.006000|p
1425 isBLANK_uvchr|5.023009|5.006000|p
1426 isC9_STRICT_UTF8_CHAR|5.025005|5.025005|n
1427 is_c9strict_utf8_string|5.025006|5.025006|n
1428 is_c9strict_utf8_string_loc|5.025006|5.025006|n
1429 is_c9strict_utf8_string_loclen|5.025006|5.025006|n
1430 isCNTRL|5.006000|5.003007|p
1431 isCNTRL_A|5.013006|5.003007|p
1432 isCNTRL_L1|5.013006|5.003007|p
1433 isCNTRL_LC|5.006000|5.006000|
1434 isCNTRL_LC_utf8_safe|5.025009|5.006000|p
1435 isCNTRL_LC_uvchr|5.007001|5.007001|
1436 isCNTRL_utf8|5.031005|5.031005|
1437 isCNTRL_utf8_safe|5.025009|5.006000|p
1438 isCNTRL_uvchr|5.023009|5.006000|p
1439 _is_cur_LC_category_utf8|5.021001||cVu
1440 isDIGIT|5.003007|5.003007|p
1441 isDIGIT_A|5.013006|5.003007|p
1442 isDIGIT_L1|5.013006|5.003007|p
1443 isDIGIT_LC|5.004000|5.004000|
1444 isDIGIT_LC_utf8_safe|5.025009|5.006000|p
1445 isDIGIT_LC_uvchr|5.007001|5.007001|
1446 isDIGIT_utf8|5.031005|5.031005|
1447 isDIGIT_utf8_safe|5.025009|5.006000|p
1448 isDIGIT_uvchr|5.023009|5.006000|p
1449 isFF_OVERLONG|5.025007||nViu
1450 isFOO_lc|5.017007||cViu
1451 isFOO_utf8_lc|5.017008||Viu
1452 isGCB|5.021009||Viu
1453 isGRAPH|5.006000|5.003007|p
1454 isGRAPH_A|5.013006|5.003007|p
1455 is_grapheme|||Viu
1456 isGRAPH_L1|5.013006|5.003007|p
1457 isGRAPH_LC|5.006000|5.006000|
1458 isGRAPH_LC_utf8_safe|5.025009|5.006000|p
1459 isGRAPH_LC_uvchr|5.007001|5.007001|
1460 isGRAPH_utf8|5.031005|5.031005|
1461 isGRAPH_utf8_safe|5.025009|5.006000|p
1462 isGRAPH_uvchr|5.023009|5.006000|p
1463 isGV_with_GP|5.009004||pVu
1464 is_handle_constructor|5.006000||nViu
1465 isIDCONT|5.017008|5.003007|p
1466 isIDCONT_A|5.017008|5.003007|p
1467 isIDCONT_L1|5.017008|5.003007|p
1468 isIDCONT_LC|5.017008|5.004000|p
1469 isIDCONT_LC_utf8_safe|5.025009|5.006000|p
1470 isIDCONT_LC_uvchr|5.017008|5.017008|
1471 isIDCONT_utf8|5.031005|5.031005|
1472 isIDCONT_utf8_safe|5.025009|5.006000|p
1473 isIDCONT_uvchr|5.023009|5.006000|p
1474 isIDFIRST|5.003007|5.003007|p
1475 isIDFIRST_A|5.013006|5.003007|p
1476 isIDFIRST_L1|5.013006|5.003007|p
1477 isIDFIRST_LC|5.004000|5.004000|p
1478 isIDFIRST_LC_utf8_safe|5.025009|5.006000|p
1479 isIDFIRST_LC_uvchr|5.007001|5.007001|
1480 isIDFIRST_utf8|5.031005|5.031005|
1481 isIDFIRST_utf8_safe|5.025009|5.006000|p
1482 isIDFIRST_uvchr|5.023009|5.006000|p
1483 isinfnan|5.021004|5.021004|n
1484 isinfnansv|5.021005||Vi
1485 _is_in_locale_category|5.021001||cViu
1486 is_invariant_string|5.021007|5.011000|pn
1487 is_invlist|5.029002||nViu
1488 isLB|5.023007||Viu
1489 isLOWER|5.003007|5.003007|p
1490 isLOWER_A|5.013006|5.003007|p
1491 isLOWER_L1|5.013006|5.003007|p
1492 isLOWER_LC|5.004000|5.004000|
1493 isLOWER_LC_utf8_safe|5.025009|5.006000|p
1494 isLOWER_LC_uvchr|5.007001|5.007001|
1495 isLOWER_utf8|5.031005|5.031005|
1496 isLOWER_utf8_safe|5.025009|5.006000|p
1497 isLOWER_uvchr|5.023009|5.006000|p
1498 is_lvalue_sub|5.007001|5.007001|u
1499 IS_NUMBER_GREATER_THAN_UV_MAX|5.007002|5.003007|p
1500 IS_NUMBER_INFINITY|5.007002|5.003007|p
1501 IS_NUMBER_IN_UV|5.007002|5.003007|p
1502 IS_NUMBER_NAN|5.007003|5.003007|p
1503 IS_NUMBER_NEG|5.007002|5.003007|p
1504 IS_NUMBER_NOT_INT|5.007002|5.003007|p
1505 isOCTAL|5.013005|5.003007|p
1506 isOCTAL_A|5.013006|5.003007|p
1507 isOCTAL_L1|5.013006|5.003007|p
1508 isPRINT|5.004000|5.003007|p
1509 isPRINT_A|5.013006|5.003007|p
1510 isPRINT_L1|5.013006|5.003007|p
1511 isPRINT_LC|5.004000|5.004000|
1512 isPRINT_LC_utf8_safe|5.025009|5.006000|p
1513 isPRINT_LC_uvchr|5.007001|5.007001|
1514 isPRINT_utf8|5.031005|5.031005|
1515 isPRINT_utf8_safe|5.025009|5.006000|p
1516 isPRINT_uvchr|5.023009|5.006000|p
1517 isPSXSPC|5.006001|5.003007|p
1518 isPSXSPC_A|5.013006|5.003007|p
1519 isPSXSPC_L1|5.013006|5.003007|p
1520 isPSXSPC_LC|5.006001|5.006001|
1521 isPSXSPC_LC_utf8_safe|5.025009|5.006000|p
1522 isPSXSPC_LC_uvchr|5.017007|5.017007|
1523 isPSXSPC_utf8|5.031005|5.031005|
1524 isPSXSPC_utf8_safe|5.025009|5.006000|p
1525 isPSXSPC_uvchr|5.023009|5.006000|p
1526 isPUNCT|5.006000|5.003007|p
1527 isPUNCT_A|5.013006|5.003007|p
1528 isPUNCT_L1|5.013006|5.003007|p
1529 isPUNCT_LC|5.006000|5.006000|
1530 isPUNCT_LC_utf8_safe|5.025009|5.006000|p
1531 isPUNCT_LC_uvchr|5.007001|5.007001|
1532 isPUNCT_utf8|5.031005|5.031005|
1533 isPUNCT_utf8_safe|5.025009|5.006000|p
1534 isPUNCT_uvchr|5.023009|5.006000|p
1535 IS_SAFE_SYSCALL|5.019004|5.019004|
1536 is_safe_syscall|5.019004|5.019004|
1537 isSB|5.021009||Viu
1538 isSCRIPT_RUN|5.027008||cVi
1539 isSPACE|5.003007|5.003007|p
1540 isSPACE_A|5.013006|5.003007|p
1541 isSPACE_L1|5.013006|5.003007|p
1542 isSPACE_LC|5.004000|5.004000|
1543 isSPACE_LC_utf8_safe|5.025009|5.006000|p
1544 isSPACE_LC_uvchr|5.007001|5.007001|
1545 isSPACE_utf8|5.031005|5.031005|
1546 isSPACE_utf8_safe|5.025009|5.006000|p
1547 isSPACE_uvchr|5.023009|5.006000|p
1548 is_ssc_worth_it|5.021005||nViu
1549 isSTRICT_UTF8_CHAR|5.025005|5.025005|n
1550 is_strict_utf8_string|5.025006|5.025006|n
1551 is_strict_utf8_string_loc|5.025006|5.025006|n
1552 is_strict_utf8_string_loclen|5.025006|5.025006|n
1553 _is_uni_FOO|5.017008||cVu
1554 _is_uni_perl_idcont|5.017008||cVu
1555 _is_uni_perl_idstart|5.017007||cVu
1556 isUPPER|5.003007|5.003007|p
1557 isUPPER_A|5.013006|5.003007|p
1558 isUPPER_L1|5.013006|5.003007|p
1559 isUPPER_LC|5.004000|5.004000|
1560 isUPPER_LC_utf8_safe|5.025009|5.006000|p
1561 isUPPER_LC_uvchr|5.007001|5.007001|
1562 isUPPER_utf8|5.031005|5.031005|
1563 isUPPER_utf8_safe|5.025009|5.006000|p
1564 isUPPER_uvchr|5.023009|5.006000|p
1565 is_utf8_char|5.006000|5.006000|nd
1566 isUTF8_CHAR|5.021001|5.006001|pn
1567 is_utf8_char_buf|5.015008|5.015008|n
1568 isUTF8_CHAR_flags|5.025005|5.025005|
1569 is_utf8_char_helper|5.031004||ncVu
1570 is_utf8_common|5.009003||Viu
1571 is_utf8_cp_above_31_bits|5.025005||nViu
1572 is_utf8_fixed_width_buf_flags|5.025006|5.025006|n
1573 is_utf8_fixed_width_buf_loc_flags|5.025006|5.025006|n
1574 is_utf8_fixed_width_buf_loclen_flags|5.025006|5.025006|n
1575 _is_utf8_FOO|5.031006||cVu
1576 is_utf8_invariant_string|5.025005|5.011000|pn
1577 is_utf8_invariant_string_loc|5.027001|5.027001|n
1578 is_utf8_non_invariant_string|5.027007||ncVi
1579 is_utf8_overlong_given_start_byte_ok|5.025006||nViu
1580 _is_utf8_perl_idcont|5.031006||cVu
1581 _is_utf8_perl_idstart|5.031006||cVu
1582 is_utf8_string|5.006001|5.006001|n
1583 is_utf8_string_flags|5.025006|5.025006|n
1584 is_utf8_string_loc|5.008001|5.008001|n
1585 is_utf8_string_loc_flags|5.025006|5.025006|n
1586 is_utf8_string_loclen|5.009003|5.009003|n
1587 is_utf8_string_loclen_flags|5.025006|5.025006|n
1588 is_utf8_valid_partial_char|5.025005|5.025005|n
1589 is_utf8_valid_partial_char_flags|5.025005|5.025005|n
1590 isWB|5.021009||Viu
1591 isWORDCHAR|5.013006|5.003007|p
1592 isWORDCHAR_A|5.013006|5.003007|p
1593 isWORDCHAR_L1|5.013006|5.003007|p
1594 isWORDCHAR_LC|5.017007|5.004000|p
1595 isWORDCHAR_LC_utf8_safe|5.025009|5.006000|p
1596 isWORDCHAR_LC_uvchr|5.017007|5.017007|
1597 isWORDCHAR_utf8|5.031005|5.031005|
1598 isWORDCHAR_utf8_safe|5.025009|5.006000|p
1599 isWORDCHAR_uvchr|5.023009|5.006000|p
1600 isXDIGIT|5.006000|5.003007|p
1601 isXDIGIT_A|5.013006|5.003007|p
1602 isXDIGIT_L1|5.013006|5.003007|p
1603 isXDIGIT_LC|5.017007|5.003007|p
1604 isXDIGIT_LC_utf8_safe|5.025009|5.006000|p
1605 isXDIGIT_LC_uvchr|5.017007|5.017007|
1606 isXDIGIT_utf8|5.031005|5.031005|
1607 isXDIGIT_utf8_safe|5.025009|5.006000|p
1608 isXDIGIT_uvchr|5.023009|5.006000|p
1609 items|5.003007|5.003007|V
1610 IVdf|5.006000|5.003007|p
1611 IVSIZE|5.006000|5.003007|p
1612 IVTYPE|5.006000|5.003007|p
1613 ix|5.003007|5.003007|V
1614 jmaybe|5.003007||Viu
1615 join_exact|5.009004||Viu
1616 keyword|5.003007||Viu
1617 keyword_plugin_standard|||iu
1618 LATIN1_TO_NATIVE|5.019004|5.003007|p
1619 LEAVE|5.003007|5.003007|
1620 leave_adjust_stacks|5.023008|5.023008|xu
1621 leave_scope|5.003007|5.003007|u
1622 LEAVE_with_name|5.011002|5.011002|
1623 lex_bufutf8|5.011002|5.011002|x
1624 lex_discard_to|5.011002|5.011002|x
1625 lex_grow_linestr|5.011002|5.011002|x
1626 LEX_KEEP_PREVIOUS|5.011002|5.011002|
1627 lex_next_chunk|5.011002|5.011002|x
1628 lex_peek_unichar|5.011002|5.011002|x
1629 lex_read_space|5.011002|5.011002|x
1630 lex_read_to|5.011002|5.011002|x
1631 lex_read_unichar|5.011002|5.011002|x
1632 lex_start|5.009005|5.009005|x
1633 lex_stuff_pv|5.013006|5.013006|x
1634 lex_stuff_pvn|5.011002|5.011002|x
1635 lex_stuff_pvs|5.013005|5.013005|x
1636 lex_stuff_sv|5.011002|5.011002|x
1637 LEX_STUFF_UTF8|5.011002|5.011002|
1638 lex_unstuff|5.011002|5.011002|x
1639 LIKELY|5.009004|5.003007|p
1640 LINKLIST|5.013006|5.013006|
1641 list|5.003007||Viu
1642 listkids|5.003007||Viu
1643 load_module|5.006000|5.003007|pv
1644 load_module_nocontext|5.006000||vnVu
1645 localize|5.003007||Viu
1646 LONGDBLINFBYTES|5.023000|5.023000|
1647 LONGDBLMANTBITS|5.023000|5.023000|
1648 LONGDBLNANBYTES|5.023000|5.023000|
1649 LONGSIZE|5.004000|5.003007|
1650 looks_like_bool|5.027008||Viu
1651 looks_like_number|5.003007|5.003007|
1652 lop|5.005000||Viu
1653 lossless_NV_to_IV|5.031001||nViu
1654 LSEEKSIZE|5.006000|5.006000|
1655 LVRET|||i
1656 magic_clear_all_env|5.004001||Viu
1657 magic_cleararylen_p|5.017002||Viu
1658 magic_clearenv|5.003007||Viu
1659 magic_clearhint|5.009004||Vi
1660 magic_clearhints|5.011000||Vi
1661 magic_clearisa|5.010001||Viu
1662 magic_clearpack|5.003007||Viu
1663 magic_clearsig|5.003007||Viu
1664 magic_copycallchecker|5.017000||Viu
1665 magic_dump|5.006000|5.006000|u
1666 magic_existspack|5.003007||Viu
1667 magic_freearylen_p|5.009003||Viu
1668 magic_freeovrld|5.007001||Viu
1669 magic_get|5.003007||Viu
1670 magic_getarylen|5.003007||Viu
1671 magic_getdebugvar|5.021005||Viu
1672 magic_getdefelem|5.004000||Viu
1673 magic_getnkeys|5.004005||Viu
1674 magic_getpack|5.003007||Viu
1675 magic_getpos|5.003007||Viu
1676 magic_getsig|5.003007||Viu
1677 magic_getsubstr|5.004005||Viu
1678 magic_gettaint|5.003007||Viu
1679 magic_getuvar|5.003007||Viu
1680 magic_getvec|5.004005||Viu
1681 magic_killbackrefs|5.006000||Viu
1682 magic_methcall1|5.013001||Viu
1683 magic_methcall|||vi
1684 magic_methpack|5.005000||Viu
1685 magic_nextpack|5.003007||Viu
1686 magic_regdata_cnt|5.006000||Viu
1687 magic_regdatum_get|5.006000||Viu
1688 magic_regdatum_set|5.006001||Viu
1689 magic_scalarpack|5.009001||Viu
1690 magic_set|5.003007||Viu
1691 magic_set_all_env|5.004004||Viu
1692 magic_setarylen|5.003007||Viu
1693 magic_setcollxfrm|5.004000||Viu
1694 magic_setdbline|5.003007||Viu
1695 magic_setdebugvar|5.021005||Viu
1696 magic_setdefelem|5.004000||Viu
1697 magic_setenv|5.003007||Viu
1698 magic_sethint|5.009004||Vi
1699 magic_setisa|5.003007||Viu
1700 magic_setlvref|5.021005||Viu
1701 magic_setmglob|5.003007||Viu
1702 magic_setnkeys|5.003007||Viu
1703 magic_setnonelem|5.027009||Viu
1704 magic_setpack|5.003007||Viu
1705 magic_setpos|5.003007||Viu
1706 magic_setregexp|5.008001||Viu
1707 magic_setsig|5.003007||Viu
1708 magic_setsubstr|5.003007||Viu
1709 magic_settaint|5.003007||Viu
1710 magic_setutf8|5.008001||Viu
1711 magic_setuvar|5.003007||Viu
1712 magic_setvec|5.003007||Viu
1713 magic_sizepack|5.005000||Viu
1714 magic_wipepack|5.003007||Viu
1715 make_exactf_invlist|5.031006||Viu
1716 make_matcher|5.027008||Viu
1717 make_trie|5.009002||Viu
1718 malloc|5.007002|5.007002|n
1719 malloced_size|5.005000||nViu
1720 malloc_good_size|5.010001||nViu
1721 MARK|5.003007|5.003007|
1722 markstack_grow|5.021001|5.021001|u
1723 matcher_matches_sv|5.027008||Viu
1724 maybe_multimagic_gv|5.019004||Viu
1725 mayberelocate|5.015006||Viu
1726 measure_struct|5.007003||Viu
1727 memCHRs||5.003007|p
1728 mem_collxfrm|5.003007||dViu
1729 _mem_collxfrm|5.025002||Viu
1730 memEQ|5.004000|5.003007|p
1731 memEQs|5.009005|5.003007|p
1732 mem_log_alloc|5.024000||nViu
1733 mem_log_common|5.010001||nViu
1734 mem_log_free|5.024000||nViu
1735 mem_log_realloc|5.024000||nViu
1736 memNE|5.004000|5.003007|p
1737 memNEs|5.009005|5.003007|p
1738 mess|5.006000|5.004000|pv
1739 mess_alloc|5.005000||Viu
1740 mess_nocontext|5.006000||pvnVu
1741 mess_sv|5.013001|5.004000|p
1742 mfree|5.007002|5.007002|nu
1743 mg_clear|5.003007|5.003007|
1744 mg_copy|5.003007|5.003007|
1745 mg_dup|5.007003|5.007003|u
1746 mg_find|5.003007|5.003007|n
1747 mg_findext|5.013008|5.003007|pn
1748 mg_find_mglob|5.019002||cViu
1749 mg_free|5.003007|5.003007|
1750 mg_freeext|5.027004|5.027004|
1751 mg_free_type|5.013006|5.013006|
1752 mg_get|5.003007|5.003007|
1753 mg_length|5.005000|5.005000|d
1754 mg_localize|5.009003||Vi
1755 mg_magical|5.003007|5.003007|n
1756 mg_set|5.003007|5.003007|
1757 mg_size|5.005000|5.005000|u
1758 mini_mktime|5.007002|5.007002|nu
1759 minus_v|5.015006||Viu
1760 missingterm|5.005000||Viu
1761 mode_from_discipline|5.006000||Viu
1762 modkids|5.003007||Viu
1763 more_bodies|||iu
1764 more_sv|5.009004||Viu
1765 moreswitches|5.003007|5.003007|u
1766 Move|5.003007|5.003007|
1767 MoveD|5.009002|5.003007|p
1768 move_proto_attr|5.019005||Viu
1769 mPUSHi|5.009002|5.003007|p
1770 mPUSHn|5.009002|5.003007|p
1771 mPUSHp|5.009002|5.003007|p
1772 mPUSHs|5.010001|5.003007|p
1773 mPUSHu|5.009002|5.003007|p
1774 mro_clean_isarev|5.013007||Viu
1775 mro_gather_and_rename|5.013007||Viu
1776 mro_get_from_name|5.010001|5.010001|u
1777 mro_get_linear_isa|5.009005|5.009005|
1778 mro_get_linear_isa_dfs|5.009005||Vi
1779 mro_get_private_data|5.010001|5.010001|
1780 mro_isa_changed_in|5.009005||Vi
1781 mro_meta_dup|5.009005||Viu
1782 mro_meta_init|||ciu
1783 mro_method_changed_in|5.009005|5.009005|
1784 mro_package_moved|5.013006||Vi
1785 mro_register|5.010001|5.010001|
1786 mro_set_mro|5.010001|5.010001|u
1787 mro_set_private_data|5.010001|5.010001|
1788 mul128|5.005000||Viu
1789 MULTICALL|5.009003|5.009003|
1790 multiconcat_stringify|5.027006||cViu
1791 multideref_stringify|5.021009||cViu
1792 MUTABLE_PTR|5.010001||pVu
1793 MUTABLE_SV|5.010001||pVu
1794 mXPUSHi|5.009002|5.003007|p
1795 mXPUSHn|5.009002|5.003007|p
1796 mXPUSHp|5.009002|5.003007|p
1797 mXPUSHs|5.010001|5.003007|p
1798 mXPUSHu|5.009002|5.003007|p
1799 my_atof2|||cu
1800 my_atof3|5.029000||cVu
1801 my_atof|5.006000|5.006000|u
1802 my_attrs|5.006000||Viu
1803 my_bytes_to_utf8|5.021009||nViu
1804 my_chsize|5.003007||Vu
1805 my_clearenv|5.009003||Viu
1806 MY_CXT|5.009000|5.009000|p
1807 MY_CXT_CLONE|5.009002|5.009000|p
1808 my_cxt_index|||u
1809 MY_CXT_INIT|5.009000|5.009000|p
1810 my_cxt_init|5.009000|5.009000|u
1811 my_dirfd|5.009005|5.009005|nu
1812 my_exit|5.003007|5.003007|
1813 my_exit_jump|5.005000||Viu
1814 my_failure_exit|5.004000|5.004000|u
1815 my_fflush_all|5.006000|5.006000|u
1816 my_fork|5.007003|5.007003|nu
1817 my_kid|5.006000||Viu
1818 my_lstat_flags|5.013003||cViu
1819 my_lstat|||u
1820 my_memrchr|5.027006||nViu
1821 my_mkostemp_cloexec|||niu
1822 my_mkostemp|||niu
1823 my_mkstemp_cloexec|||niu
1824 my_mkstemp|||niu
1825 my_nl_langinfo|5.027006||nViu
1826 my_pclose|5.003007|5.003007|u
1827 my_popen|5.003007|5.003007|u
1828 my_popen_list|5.007001|5.007001|u
1829 my_setenv|5.003007|5.003007|
1830 my_snprintf|5.009004|5.003007|pvn
1831 my_socketpair|5.007003|5.007003|nu
1832 my_sprintf|5.009003|5.003007|pnd
1833 my_stat_flags|5.013003||cViu
1834 my_stat|||u
1835 my_strerror|5.021001||Viu
1836 my_strftime|5.007002|5.007002|u
1837 my_strlcat|5.009004|5.003007|pn
1838 my_strlcpy|5.009004|5.003007|pn
1839 my_strnlen|5.027006|5.003007|pn
1840 my_strtod|5.029010|5.029010|n
1841 my_unexec|5.003007||Viu
1842 my_vsnprintf|5.009004|5.009004|n
1843 NATIVE_TO_LATIN1|5.019004|5.003007|p
1844 NATIVE_TO_NEED|5.019004||ndcVu
1845 NATIVE_TO_UNI|5.007001|5.003007|p
1846 need_utf8|5.009003||nViu
1847 newANONATTRSUB|5.006000|5.006000|u
1848 newANONHASH|5.003007|5.003007|u
1849 newANONLIST|5.003007|5.003007|u
1850 newANONSUB|5.003007|5.003007|u
1851 newASSIGNOP|5.003007|5.003007|
1852 newATTRSUB|5.006000|5.006000|u
1853 newATTRSUB_x|5.019008||cVi
1854 newAV|5.003007|5.003007|
1855 newAVREF|5.003007|5.003007|u
1856 newBINOP|5.003007|5.003007|
1857 new_collate|5.006000||Viu
1858 newCONDOP|5.003007|5.003007|
1859 new_constant|||iu
1860 newCONSTSUB|5.004005|5.003007|p
1861 newCONSTSUB_flags|5.015006|5.015006|
1862 new_ctype|5.006000||Viu
1863 newCVREF|5.003007|5.003007|u
1864 newDEFSVOP|5.021006|5.021006|
1865 newFORM|5.003007|5.003007|u
1866 newFOROP|5.013007|5.013007|
1867 newGIVENOP|5.009003|5.009003|
1868 newGIVWHENOP|5.027008||Viu
1869 newGP|||xiu
1870 newGVgen|5.003007|5.003007|u
1871 newGVgen_flags|5.015004|5.015004|u
1872 newGVOP|5.003007|5.003007|
1873 newGVREF|5.003007|5.003007|u
1874 new_he|5.005000||Viu
1875 newHV|5.003007|5.003007|
1876 newHVhv|5.005000|5.005000|u
1877 newHVREF|5.003007|5.003007|u
1878 _new_invlist|5.013010||cViu
1879 _new_invlist_C_array|5.015008||cViu
1880 newIO|5.003007|5.003007|u
1881 newLISTOP|5.003007|5.003007|
1882 newLOGOP|5.003007|5.003007|
1883 new_logop|5.005000||Viu
1884 newLOOPEX|5.003007|5.003007|
1885 newLOOPOP|5.003007|5.003007|
1886 newMETHOP|5.021005|5.021005|
1887 newMETHOP_internal|5.021005||Viu
1888 newMETHOP_named|5.021005|5.021005|
1889 new_msg_hv|5.027009||Viu
1890 newMYSUB|5.017004|5.017004|u
1891 newNULLLIST|5.003007|5.003007|
1892 new_numeric|5.006000||Viu
1893 newOP|5.003007|5.003007|
1894 newPADNAMELIST|5.021007|5.021007|nx
1895 newPADNAMEouter|5.021007|5.021007|nx
1896 newPADNAMEpvn|5.021007|5.021007|nx
1897 newPADOP|5.006000||V
1898 newPMOP|5.003007|5.003007|
1899 newPROG|5.003007|5.003007|u
1900 newPVOP|5.003007|5.003007|
1901 newRANGE|5.003007|5.003007|
1902 new_regcurly|5.027001||nViu
1903 newRV|5.003007|5.003007|u
1904 newRV_inc|5.004000|5.003007|p
1905 newRV_noinc|5.004000|5.003007|p
1906 newSLICEOP|5.003007|5.003007|
1907 new_stackinfo|5.005000|5.005000|u
1908 newSTATEOP|5.003007|5.003007|
1909 newSTUB|5.017001||Viu
1910 newSUB|5.003007|5.003007|u
1911 newSV|5.003007|5.003007|
1912 newSVavdefelem|5.019004||Viu
1913 newSVhek|5.009003|5.009003|
1914 newSViv|5.003007|5.003007|
1915 newSVnv|5.006000|5.003007|
1916 newSVOP|5.003007|5.003007|
1917 newSVpadname|5.017004|5.017004|x
1918 newSVpv|5.003007|5.003007|
1919 newSVpvf|5.006000|5.004000|v
1920 newSVpvf_nocontext|5.006000||vnVu
1921 newSVpvn|5.004005|5.003007|p
1922 newSVpvn_flags|5.010001|5.003007|p
1923 newSVpvn_share|5.007001|5.003007|p
1924 newSVpvn_utf8|5.010001|5.003007|p
1925 newSVpvs|5.009003|5.003007|p
1926 newSVpvs_flags|5.010001|5.003007|p
1927 newSVpv_share|5.013006|5.013006|
1928 newSVpvs_share|5.009003|5.003007|p
1929 newSVREF|5.003007|5.003007|u
1930 newSVrv|5.003007|5.003007|
1931 newSVsv|5.003007|5.003007|
1932 newSVsv_flags|5.029009|5.003007|pu
1933 newSVsv_nomg|5.029009|5.003007|p
1934 newSV_type|5.009005|5.003007|p
1935 newSVuv|5.006000|5.003007|p
1936 newUNOP|5.003007|5.003007|
1937 newUNOP_AUX|5.021007|5.021007|
1938 new_version|5.009000|5.009000|
1939 new_warnings_bitfield|||xciu
1940 newWHENOP|5.027008|5.027008|
1941 newWHILEOP|5.013007|5.013007|
1942 Newx|5.009003|5.003007|p
1943 Newxc|5.009003|5.003007|p
1944 newXS|5.006000|5.006000|
1945 newXS_deffile|5.021006||cViu
1946 newXS_flags|5.009004|5.009004|xu
1947 newXS_len_flags|5.015006||Vi
1948 newXSproto|5.006000|5.006000|
1949 Newxz|5.009003|5.003007|p
1950 nextargv|5.003007||Viu
1951 nextchar|5.005000||Viu
1952 next_symbol|5.007003||Viu
1953 ninstr|5.003007|5.003007|n
1954 no_bareword_allowed|5.005004||Viu
1955 no_fh_allowed|5.003007||Viu
1956 no_op|5.003007||Viu
1957 NOOP|5.005000|5.003007|poVu
1958 noperl_die|5.021006||vnViu
1959 not_a_number|5.005000||Viu
1960 nothreadhook|5.008000|5.008000|
1961 notify_parser_that_changed_to_utf8|5.025010||Viu
1962 not_incrementable|5.021002||Viu
1963 nuke_stacks|5.005000||Viu
1964 Nullav|5.003007|5.003007|d
1965 Nullch|5.003007|5.003007|
1966 Nullcv|5.003007|5.003007|d
1967 Nullhv|5.003007|5.003007|d
1968 Nullsv|5.003007|5.003007|
1969 NUM2PTR|5.006000||pVu
1970 num_overflow|5.009001||nViu
1971 NVef|5.006001|5.003007|p
1972 NVff|5.006001|5.003007|p
1973 NVgf|5.006001|5.003007|p
1974 NVMANTBITS|5.023000|5.023000|
1975 NVSIZE|5.006001|5.006001|
1976 NVTYPE|5.006000|5.003007|p
1977 oopsAV|5.003007||Viu
1978 oopsHV|5.003007||Viu
1979 op_append_elem|5.013006|5.013006|
1980 op_append_list|5.013006|5.013006|
1981 OP_CLASS|5.013007|5.013007|
1982 op_class|5.025010|5.025010|
1983 op_clear|5.006000||cViu
1984 op_contextualize|5.013006|5.013006|
1985 op_convert_list|5.021006|5.021006|
1986 OP_DESC|5.007003|5.007003|
1987 op_dump|5.006000|5.006000|
1988 openn_cleanup|5.019010||Viu
1989 openn_setup|5.019010||Viu
1990 open_script|5.005000||Viu
1991 OPf_KIDS|5.003007|5.003007|
1992 op_free|5.003007|5.003007|
1993 OpHAS_SIBLING|5.021007|5.003007|p
1994 op_integerize|5.015003||Viu
1995 OpLASTSIB_set|5.021011|5.003007|p
1996 op_linklist|5.013006|5.013006|
1997 op_lvalue|5.013007|5.013007|x
1998 op_lvalue_flags|||ciu
1999 OpMAYBESIB_set|5.021011|5.003007|p
2000 opmethod_stash|5.021007||Viu
2001 OpMORESIB_set|5.021011|5.003007|p
2002 OP_NAME|5.007003|5.007003|
2003 op_null|5.007002|5.007002|
2004 op_parent|5.025001|5.025001|n
2005 OPpEARLY_CV|5.006000|5.006000|
2006 OPpENTERSUB_AMPER|5.003007|5.003007|
2007 op_prepend_elem|5.013006|5.013006|
2008 op_refcnt_dec|||xiu
2009 op_refcnt_inc|||xiu
2010 op_refcnt_lock|5.009002|5.009002|u
2011 op_refcnt_unlock|5.009002|5.009002|u
2012 op_relocate_sv|5.021005||Viu
2013 op_scope|5.013007|5.013007|x
2014 OpSIBLING|5.021007|5.003007|p
2015 op_sibling_splice|5.021002|5.021002|n
2016 opslab_force_free|5.017002||Viu
2017 opslab_free|5.017002||Viu
2018 opslab_free_nopad|5.017002||Viu
2019 op_std_init|5.015003||Viu
2020 optimize_op|5.027006||Viu
2021 optimize_optree|5.027006||Vi
2022 OP_TYPE_IS|5.019007|5.019007|
2023 OP_TYPE_IS_OR_WAS|5.019010|5.019010|
2024 op_unscope|5.017003||xViu
2025 ORIGMARK|5.003007|5.003007|
2026 OSNAME|5.003007|5.003007|
2027 OSVERS|5.007002|5.007002|
2028 output_non_portable|||Viu
2029 output_posix_warnings|5.029005||Viu
2030 package|5.003007||Viu
2031 package_version|5.011001||Viu
2032 pack_cat|||
2033 packlist|5.008001|5.008001|
2034 pack_rec|5.008001||Viu
2035 packWARN|5.007003||pVu
2036 pad_add_anon|5.008001|5.008001|
2037 pad_add_name_pv|5.015001|5.015001|
2038 pad_add_name_pvn|5.015001|5.015001|
2039 pad_add_name_pvs|5.015001|5.015001|
2040 pad_add_name_sv|5.015001|5.015001|
2041 pad_add_weakref|5.021007||Viu
2042 pad_alloc|5.003007|5.003007|x
2043 pad_alloc_name|5.015001||Vi
2044 PadARRAY|5.017004|5.017004|x
2045 PAD_BASE_SV|||i
2046 pad_block_start|5.008001||Vi
2047 pad_check_dup|5.008001||Vi
2048 PAD_CLONE_VARS|||i
2049 PAD_COMPNAME_FLAGS|||i
2050 PAD_COMPNAME_GEN|||i
2051 PAD_COMPNAME_GEN_set|||i
2052 PAD_COMPNAME_OURSTASH|||i
2053 PAD_COMPNAME_PV|||i
2054 pad_compname_type|||
2055 PAD_COMPNAME_TYPE|||i
2056 pad_findlex|5.005000||Vi
2057 pad_findmy_pv|5.015001|5.015001|
2058 pad_findmy_pvn|5.015001|5.015001|
2059 pad_findmy_pvs|5.015001|5.015001|
2060 pad_findmy_sv|5.015001|5.015001|
2061 pad_fixup_inner_anons|5.008001||Vi
2062 pad_free|5.003007||Vi
2063 pad_leavemy|5.003007||Vi
2064 PadlistARRAY|5.017004|5.017004|x
2065 padlist_dup|5.013002||Vi
2066 PadlistMAX|5.017004|5.017004|x
2067 PadlistNAMES|5.017004|5.017004|x
2068 PadlistNAMESARRAY|5.017004|5.017004|x
2069 PadlistNAMESMAX|5.017004|5.017004|x
2070 PadlistREFCNT|5.017004|5.017004|x
2071 padlist_store|5.017004||Viu
2072 PadMAX|5.017004|5.017004|x
2073 padname_dup|5.021007||Vi
2074 padname_free|||ciu
2075 PadnameIN_SCOPE|5.031004||nViu
2076 PadnameIsOUR|||i
2077 PadnameIsSTATE|||i
2078 PadnameLEN|5.017004|5.017004|x
2079 PadnamelistARRAY|5.017004|5.017004|x
2080 padnamelist_dup|5.021007||Vi
2081 padnamelist_fetch|5.021007|5.021007|nx
2082 padnamelist_free|||ciu
2083 PadnamelistMAX|5.017004|5.017004|x
2084 PadnamelistREFCNT|5.021007|5.021007|x
2085 PadnamelistREFCNT_dec|5.021007|5.021007|x
2086 padnamelist_store|5.021007|5.021007|x
2087 PadnameOURSTASH|||i
2088 PadnameOUTER|||i
2089 PadnamePV|5.017004|5.017004|x
2090 PadnameREFCNT|5.021007|5.021007|x
2091 PadnameREFCNT_dec|5.021007|5.021007|x
2092 PadnameSV|5.017004|5.017004|x
2093 PADNAMEt_OUTER|5.021007|5.021007|
2094 PadnameTYPE|||i
2095 PadnameUTF8|5.017004|5.017004|x
2096 pad_new|5.008001|5.008001|
2097 pad_push|5.008001||cVi
2098 pad_reset|5.003007||Vi
2099 PAD_RESTORE_LOCAL|||i
2100 PAD_SAVE_LOCAL|||i
2101 PAD_SAVE_SETNULLPAD|||i
2102 PAD_SET_CUR|||i
2103 PAD_SET_CUR_NOSAVE|||i
2104 pad_setsv|5.008001|5.008001|
2105 PAD_SETSV|||i
2106 pad_sv|5.003007||V
2107 PAD_SV|||i
2108 PAD_SVl|||i
2109 pad_swipe|5.003007||Vi
2110 pad_tidy|5.008001|5.008001|x
2111 parse_arithexpr|5.013008|5.013008|x
2112 parse_barestmt|5.013007|5.013007|x
2113 parse_block|5.013007|5.013007|x
2114 parse_body|5.006000||Viu
2115 parse_fullexpr|5.013008|5.013008|x
2116 parse_fullstmt|5.013005|5.013005|x
2117 parse_gv_stash_name|5.019004||Viu
2118 parse_ident|5.017010||Viu
2119 parse_label|5.013007|5.013007|x
2120 parse_listexpr|5.013008|5.013008|x
2121 parse_lparen_question_flags|5.017009||Viu
2122 PARSE_OPTIONAL|5.013007|5.013007|
2123 parser_dup|5.009000|5.009000|u
2124 parser_free|5.009005||Viu
2125 parser_free_nexttoke_ops|5.017006||Viu
2126 parse_stmtseq|5.013006|5.013006|x
2127 parse_subsignature|5.031003|5.031003|x
2128 parse_termexpr|5.013008|5.013008|x
2129 parse_unicode_opts|5.008001||Viu
2130 parse_uniprop_string|5.027011||cViu
2131 path_is_searchable|5.019001||nViu
2132 peep|5.003007||Viu
2133 pending_ident|5.017004||Viu
2134 PERL_ABS|5.008001|5.003007|p
2135 perl_alloc|5.003007|5.003007|n
2136 perl_alloc_using|5.006000||nVu
2137 PERL_BCDVERSION||5.003007|pou
2138 perl_clone|5.006000||nV
2139 perl_clone_using|5.006000||nVu
2140 perl_construct|5.003007|5.003007|n
2141 Perl_custom_op_xop|5.013007||V
2142 perl_destruct|5.007003|5.007003|n
2143 Perl_eval_pv||5.003007|ou
2144 Perl_eval_sv||5.003007|ou
2145 PERL_EXIT_ABORT|5.019003|5.019003|
2146 PERL_EXIT_DESTRUCT_END|5.007003|5.007003|
2147 PERL_EXIT_EXPECTED|5.006000|5.006000|
2148 PERL_EXIT_WARN|5.019003|5.019003|
2149 perl_free|5.003007|5.003007|n
2150 PERL_HASH|5.003007|5.003007|p
2151 PERL_INT_MAX|5.003007|5.003007|p
2152 PERL_INT_MIN|5.003007|5.003007|p
2153 PerlIO_apply_layers|5.007001|5.007001|
2154 PerlIO_binmode|5.007001|5.007001|
2155 PerlIO_canset_cnt|5.003007|5.003007|n
2156 PerlIO_clearerr|5.007003|5.007003|
2157 PerlIO_close|5.007003|5.007003|
2158 PerlIO_context_layers|5.009004|5.009004|u
2159 PerlIO_debug|5.007001|5.007001|
2160 PerlIO_eof|5.007003|5.007003|
2161 PerlIO_error|5.007003|5.007003|
2162 PerlIO_exportFILE|5.003007|5.003007|n
2163 PerlIO_fast_gets|5.003007|5.003007|n
2164 PerlIO_fdopen|5.003007|5.003007|n
2165 PerlIO_fileno|5.007003|5.007003|
2166 PerlIO_fill|5.007003|5.007003|u
2167 PerlIO_findFILE|5.003007|5.003007|n
2168 PerlIO_flush|5.007003|5.007003|
2169 PERLIO_FUNCS_CAST|5.009003||pVu
2170 PERLIO_FUNCS_DECL|5.009003||pVu
2171 PerlIO_get_base|5.007003|5.007003|
2172 PerlIO_get_bufsiz|5.007003|5.007003|
2173 PerlIO_getc|5.003007|5.003007|n
2174 PerlIO_get_cnt|5.007003|5.007003|
2175 PerlIO_getpos|5.003007|5.003007|n
2176 PerlIO_get_ptr|5.007003|5.007003|
2177 PerlIO_has_base|5.003007|5.003007|n
2178 PerlIO_has_cntptr|5.003007|5.003007|n
2179 PerlIO_importFILE|5.003007|5.003007|n
2180 PerlIO_open|5.003007|5.003007|n
2181 PerlIO_printf|5.006000|5.003007|
2182 PerlIO_putc|5.003007|5.003007|n
2183 PerlIO_puts|5.003007|5.003007|n
2184 PerlIO_read|5.007003|5.007003|
2185 PerlIO_releaseFILE|5.003007|5.003007|n
2186 PerlIO_reopen|5.003007|5.003007|
2187 PerlIO_restore_errno|5.021006||cViu
2188 PerlIO_rewind|5.003007|5.003007|n
2189 PerlIO_save_errno|5.021006||cViu
2190 PerlIO_seek|5.007003|5.007003|
2191 PerlIO_set_cnt|5.007003|5.007003|
2192 PerlIO_setlinebuf|5.007003|5.007003|
2193 PerlIO_setpos|5.003007|5.003007|n
2194 PerlIO_set_ptrcnt|5.007003|5.007003|
2195 PerlIO_stderr|5.007003|5.007003|
2196 PerlIO_stdin|5.007003|5.007003|
2197 PerlIO_stdout|5.007003|5.007003|
2198 PerlIO_stdoutf|5.006000|5.003007|
2199 PerlIO_tell|5.007003|5.007003|
2200 PerlIO_ungetc|5.003007|5.003007|n
2201 PerlIO_unread|5.007003|5.007003|u
2202 PerlIO_vprintf|5.003007|5.003007|n
2203 PerlIO_write|5.007003|5.007003|
2204 Perl_langinfo|5.027004|5.027004|n
2205 PerlLIO_dup2_cloexec|5.027008||Viu
2206 PerlLIO_dup_cloexec|5.027008||Viu
2207 PerlLIO_open3_cloexec|5.027008||Viu
2208 PerlLIO_open_cloexec|5.027008||Viu
2209 PERL_LOADMOD_DENY|5.006000|5.003007|
2210 PERL_LOADMOD_IMPORT_OPS|5.006000|5.003007|
2211 PERL_LOADMOD_NOIMPORT|5.006000|5.003007|
2212 PERL_LONG_MAX|5.003007|5.003007|p
2213 PERL_LONG_MIN|5.003007|5.003007|p
2214 PERL_MAGIC_arylen|5.007002|5.003007|p
2215 PERL_MAGIC_arylen_p|5.009003|5.009003|
2216 PERL_MAGIC_backref|5.007002|5.003007|p
2217 PERL_MAGIC_bm|5.007002|5.003007|p
2218 PERL_MAGIC_checkcall|5.013006|5.013006|
2219 PERL_MAGIC_collxfrm|5.007002|5.003007|p
2220 PERL_MAGIC_dbfile|5.007002|5.003007|p
2221 PERL_MAGIC_dbline|5.007002|5.003007|p
2222 PERL_MAGIC_debugvar|5.021005|5.021005|
2223 PERL_MAGIC_defelem|5.007002|5.003007|p
2224 PERL_MAGIC_env|5.007002|5.003007|p
2225 PERL_MAGIC_envelem|5.007002|5.003007|p
2226 PERL_MAGIC_ext|5.007002|5.003007|p
2227 PERL_MAGIC_fm|5.007002|5.003007|p
2228 PERL_MAGIC_glob||5.003007|pou
2229 PERL_MAGIC_hints|5.009004|5.009004|
2230 PERL_MAGIC_hintselem|5.009004|5.009004|
2231 PERL_MAGIC_isa|5.007002|5.003007|p
2232 PERL_MAGIC_isaelem|5.007002|5.003007|p
2233 PERL_MAGIC_lvref|5.021005|5.021005|
2234 PERL_MAGIC_mutex||5.003007|pou
2235 PERL_MAGIC_nkeys|5.007002|5.003007|p
2236 PERL_MAGIC_nonelem|5.027009|5.027009|
2237 PERL_MAGIC_overload||5.003007|pou
2238 PERL_MAGIC_overload_elem||5.003007|pou
2239 PERL_MAGIC_overload_table|5.007002|5.003007|p
2240 PERL_MAGIC_pos|5.007002|5.003007|p
2241 PERL_MAGIC_qr|5.007002|5.003007|p
2242 PERL_MAGIC_regdata|5.007002|5.003007|p
2243 PERL_MAGIC_regdatum|5.007002|5.003007|p
2244 PERL_MAGIC_regex_global|5.007002|5.003007|p
2245 PERL_MAGIC_rhash|5.009003|5.009003|
2246 PERL_MAGIC_shared|5.007003|5.003007|p
2247 PERL_MAGIC_shared_scalar|5.007003|5.003007|p
2248 PERL_MAGIC_sig|5.007002|5.003007|p
2249 PERL_MAGIC_sigelem|5.007002|5.003007|p
2250 PERL_MAGIC_substr|5.007002|5.003007|p
2251 PERL_MAGIC_sv|5.007002|5.003007|p
2252 PERL_MAGIC_symtab|5.009003|5.009003|
2253 PERL_MAGIC_taint|5.007002|5.003007|p
2254 PERL_MAGIC_tied|5.007002|5.003007|p
2255 PERL_MAGIC_tiedelem|5.007002|5.003007|p
2256 PERL_MAGIC_tiedscalar|5.007002|5.003007|p
2257 PERL_MAGIC_utf8|5.008001|5.003007|p
2258 PERL_MAGIC_uvar|5.007002|5.003007|p
2259 PERL_MAGIC_uvar_elem|5.007003|5.003007|p
2260 PERL_MAGIC_vec|5.007002|5.003007|p
2261 PERL_MAGIC_vstring|5.008001|5.003007|p
2262 perl_parse|5.006000|5.006000|n
2263 PerlProc_pipe_cloexec|5.027008||Viu
2264 PERL_PV_ESCAPE_ALL|5.009004|5.003007|p
2265 PERL_PV_ESCAPE_FIRSTCHAR|5.009004|5.003007|p
2266 PERL_PV_ESCAPE_NOBACKSLASH|5.009004|5.003007|p
2267 PERL_PV_ESCAPE_NOCLEAR|5.009004|5.003007|p
2268 PERL_PV_ESCAPE_NONASCII|5.013009|5.013009|
2269 PERL_PV_ESCAPE_QUOTE|5.009004|5.003007|p
2270 PERL_PV_ESCAPE_RE|5.009005|5.003007|p
2271 PERL_PV_ESCAPE_UNI|5.009004|5.003007|p
2272 PERL_PV_ESCAPE_UNI_DETECT|5.009004|5.003007|p
2273 PERL_PV_PRETTY_DUMP|5.009004|5.003007|poVu
2274 PERL_PV_PRETTY_ELLIPSES|5.010000|5.003007|p
2275 PERL_PV_PRETTY_LTGT|5.009004|5.003007|p
2276 PERL_PV_PRETTY_NOCLEAR|5.010000|5.003007|poVu
2277 PERL_PV_PRETTY_QUOTE|5.009004|5.003007|p
2278 PERL_PV_PRETTY_REGPROP|5.009004|5.003007|poVu
2279 PERL_QUAD_MAX|5.003007|5.003007|p
2280 PERL_QUAD_MIN|5.003007|5.003007|p
2281 PERL_REVISION|5.006000|5.003007|p
2282 perl_run|5.003007|5.003007|n
2283 PERL_SCAN_ALLOW_UNDERSCORES|5.007003|5.003007|p
2284 PERL_SCAN_DISALLOW_PREFIX|5.007003|5.003007|p
2285 PERL_SCAN_GREATER_THAN_UV_MAX|5.007003|5.003007|p
2286 PERL_SCAN_SILENT_ILLDIGIT|5.008001|5.003007|p
2287 PERL_SCAN_TRAILING|5.021002|5.021002|
2288 Perl_setlocale|5.027002|5.027002|n
2289 PERL_SHORT_MAX|5.003007|5.003007|p
2290 PERL_SHORT_MIN|5.003007|5.003007|p
2291 PERL_SIGNALS_UNSAFE_FLAG|5.008001|5.003007|poVu
2292 Perl_signbit|5.009005|5.009005|nx
2293 PerlSock_accept_cloexec|5.027008||Viu
2294 PerlSock_socket_cloexec|5.027008||Viu
2295 PerlSock_socketpair_cloexec|5.027008||Viu
2296 PERL_SUBVERSION|5.006000|5.003007|p
2297 PERL_SYS_INIT3|5.006000|5.006000|
2298 PERL_SYS_INIT|5.003007|5.003007|
2299 PERL_SYS_TERM|5.003007|5.003007|
2300 PERL_UCHAR_MAX|5.003007|5.003007|p
2301 PERL_UCHAR_MIN|5.003007|5.003007|p
2302 PERL_UINT_MAX|5.003007|5.003007|p
2303 PERL_UINT_MIN|5.003007|5.003007|poVu
2304 PERL_ULONG_MAX|5.003007|5.003007|p
2305 PERL_ULONG_MIN|5.003007|5.003007|p
2306 PERL_UNUSED_ARG|5.009003||pVu
2307 PERL_UNUSED_CONTEXT|5.009004|5.003007|poVu
2308 PERL_UNUSED_DECL|5.007002|5.003007|poVu
2309 PERL_UNUSED_RESULT|5.021001||pVu
2310 PERL_UNUSED_VAR|5.007002||pVu
2311 PERL_UQUAD_MAX|5.003007|5.003007|p
2312 PERL_UQUAD_MIN|5.003007|5.003007|p
2313 PERL_USE_GCC_BRACE_GROUPS|5.009004|5.004000|poVu
2314 PERL_USHORT_MAX|5.003007|5.003007|p
2315 PERL_USHORT_MIN|5.003007|5.003007|p
2316 PERL_VERSION|5.006000|5.003007|p
2317 perly_sighandler|||nu
2318 pidgone|5.003007||Viu
2319 PL_bufend||5.003007|pou
2320 PL_bufptr||5.003007|pou
2321 PL_check|5.009003|5.006000|
2322 PL_compiling|5.004005|5.003007|poVu
2323 PL_comppad|5.008001|5.008001|x
2324 PL_comppad_name|5.017004|5.017004|x
2325 PL_copline||5.003007|pou
2326 PL_curcop|5.004005|5.003007|p
2327 PL_curpad|5.005000|5.005000|x
2328 PL_curstash|5.004005|5.003007|p
2329 PL_DBsignal|5.005000|5.003007|poVu
2330 PL_DBsingle|5.004005|5.003007|poV
2331 PL_DBsub|5.004005|5.003007|poV
2332 PL_DBtrace|5.005000|5.003007|poV
2333 PL_debstash|5.004005|5.003007|poVu
2334 PL_defgv|5.004005|5.003007|p
2335 PL_diehook|5.004005|5.003007|poVu
2336 PL_dirty|5.004005|5.003007|poVu
2337 PL_dowarn|5.004005|5.003007|poV
2338 PL_errgv|5.004005|5.003007|p
2339 PL_error_count||5.003007|pou
2340 PL_exit_flags|5.006000|5.006000|
2341 PL_expect||5.003007|pou
2342 PL_hexdigit|5.005000|5.003007|poVu
2343 PL_hints|5.005000|5.003007|poVu
2344 PL_in_my||5.003007|pou
2345 PL_in_my_stash||5.005000|pou
2346 PL_keyword_plugin|5.011002|5.011002|x
2347 PL_last_in_gv|||i
2348 PL_laststatval|5.005000|5.003007|poVu
2349 PL_lex_state||5.003007|pou
2350 PL_lex_stuff||5.003007|pou
2351 PL_linestr||5.003007|pou
2352 PL_mess_sv|5.005000|5.004000|poVu
2353 PL_modglobal|5.005000|5.005000|
2354 PL_na|5.004005|5.003007|p
2355 PL_no_modify|5.006000|5.003007|poVu
2356 PL_ofsgv|||i
2357 PL_opfreehook|5.011000|5.011000|
2358 PL_parser|5.009005|5.003007|p
2359 PL_peepp|5.007003|5.007003|
2360 PL_perldb|5.004005|5.003007|poVu
2361 PL_perl_destruct_level|5.004005|5.003007|p
2362 PL_phase|5.013007|5.013007|
2363 PL_ppaddr|5.006000|5.003007|poVu
2364 PL_rpeepp|5.013005|5.013005|
2365 PL_rsfp||5.003007|pou
2366 PL_rsfp_filters||5.003007|pou
2367 PL_rs|||i
2368 PL_runops|5.006000|5.006000|
2369 PL_signals|5.008001||pVu
2370 PL_stack_base|5.004005|5.003007|poVu
2371 PL_stack_sp|5.004005|5.003007|poVu
2372 PL_statcache|5.005000|5.003007|poVu
2373 PL_stdingv|5.004005|5.003007|poVu
2374 PL_Sv|5.005000|5.003007|poVu
2375 PL_sv_arenaroot|5.004005|5.003007|poVu
2376 PL_sv_no|5.004005|5.003007|p
2377 PL_sv_undef|5.004005|5.003007|p
2378 PL_sv_yes|5.004005|5.003007|p
2379 PL_sv_zero|5.027003|5.027003|
2380 PL_tainted|5.004005|5.003007|poVu
2381 PL_tainting|5.004005|5.003007|poVu
2382 PL_tokenbuf||5.003007|pou
2383 PL_Xpv|5.005000|5.003007|poVu
2384 pm_description|5.009004||Viu
2385 pmop_dump|5.006000|5.006000|u
2386 pmruntime|5.003007||Viu
2387 pmtrans|5.003007||Viu
2388 _pMY_CXT|5.007003|5.009000|pV
2389 pMY_CXT_|5.007003|5.009000|pV
2390 pMY_CXT|5.009000|5.009000|p
2391 Poison|5.008000|5.003007|p
2392 PoisonFree|5.009004|5.003007|p
2393 PoisonNew|5.009004|5.003007|p
2394 PoisonWith|5.009004|5.003007|p
2395 POPi|5.003007|5.003007|
2396 POPl|5.003007|5.003007|
2397 POPMARK|||ciu
2398 POP_MULTICALL|5.009003|5.009003|
2399 POPn|5.006000|5.003007|
2400 POPp|5.003007|5.003007|
2401 POPpbytex|5.007001|5.007001|
2402 POPpx|5.005003|5.005003|
2403 POPs|5.003007|5.003007|
2404 pop_scope|5.003007|5.003007|u
2405 POPu|5.004000|5.004000|
2406 POPul|5.006000|5.006000|
2407 populate_ANYOF_from_invlist|5.019005||Viu
2408 populate_isa|||viu
2409 pregcomp|5.009005|5.009005|u
2410 pregexec|5.003007|5.003007|u
2411 pregfree2|5.011000|5.011000|u
2412 pregfree|5.003007|5.003007|u
2413 prescan_version|5.011004|5.011004|
2414 printbuf|5.009004||Viu
2415 print_bytes_for_locale|5.027002||Viu
2416 print_collxfrm_input_and_return|5.025004||Viu
2417 printf_nocontext|5.007001|5.007001|vndu
2418 PRIVLIB|5.003007|5.003007|
2419 process_special_blocks|5.009005||Viu
2420 pTHX|5.006000|5.003007|p
2421 pTHX_|5.006000|5.003007|pV
2422 PTR2IV|5.006000|5.003007|p
2423 PTR2nat|5.009003||pVu
2424 PTR2NV|5.006000|5.003007|p
2425 PTR2ul|5.007001||pVu
2426 PTR2UV|5.006000|5.003007|p
2427 ptr_hash|5.017010||nViu
2428 PTRSIZE|5.005000|5.005000|
2429 ptr_table_clear|5.009005|5.009005|du
2430 ptr_table_fetch|5.009005|5.009005|u
2431 ptr_table_find|5.009004||nViu
2432 ptr_table_free|5.009005|5.009005|u
2433 ptr_table_new|5.009005|5.009005|u
2434 ptr_table_split|5.009005|5.009005|u
2435 ptr_table_store|5.009005|5.009005|u
2436 PTRV|5.006000|5.003007|poVu
2437 PUSHi|5.003007|5.003007|
2438 PUSHMARK|5.003007|5.003007|
2439 PUSHmortal|5.009002|5.003007|p
2440 PUSH_MULTICALL|5.011000|5.011000|
2441 PUSHn|5.006000|5.003007|
2442 PUSHp|5.003007|5.003007|
2443 PUSHs|5.003007|5.003007|
2444 push_scope|5.003007|5.003007|u
2445 PUSHu|5.004000|5.003007|p
2446 PUTBACK|5.003007|5.003007|
2447 put_charclass_bitmap_innards|5.021004||Viu
2448 put_charclass_bitmap_innards_common|5.023008||Viu
2449 put_charclass_bitmap_innards_invlist|5.023008||Viu
2450 put_code_point|5.021004||Viu
2451 put_range|5.019009||Viu
2452 pv_display|5.006000|5.003007|p
2453 pv_escape|5.009004|5.003007|p
2454 pv_pretty|5.009004|5.003007|p
2455 pv_uni_display|5.007003|5.007003|
2456 qerror|5.006000||cViu
2457 quadmath_format_needed|5.021004||nVi
2458 quadmath_format_valid|||nVi
2459 RANDBITS|5.003007|5.003007|
2460 READ_XDIGIT|5.017006|5.017006|
2461 realloc|5.007002|5.007002|n
2462 ReANY|||ncu
2463 re_compile|5.009005|5.009005|u
2464 re_croak2|||iu
2465 re_dup_guts|5.011000|5.011000|u
2466 reentrant_free|5.010000|5.010000|u
2467 reentrant_init|5.010000|5.010000|u
2468 reentrant_retry|5.010000|5.010000|vnu
2469 reentrant_size|5.010000|5.010000|u
2470 re_exec_indentf|5.023009||vViu
2471 ref|5.003007||Vu
2472 ref_array_or_hash|5.027008||Viu
2473 refcounted_he_chain_2hv|5.013007||cVi
2474 refcounted_he_fetch_pv|5.013007||cVi
2475 refcounted_he_fetch_pvn|5.013007||cVi
2476 refcounted_he_fetch_pvs|||i
2477 refcounted_he_fetch_sv|5.013007||cVi
2478 refcounted_he_free|5.013007||cVi
2479 refcounted_he_inc|5.013007||cVi
2480 refcounted_he_new_pv|5.013007||cVi
2481 refcounted_he_new_pvn|5.013007||cVi
2482 refcounted_he_new_pvs|||i
2483 refcounted_he_new_sv|5.013007||cVi
2484 refcounted_he_value|5.009004||Viu
2485 refkids|5.003007||Viu
2486 refto|5.005000||Viu
2487 reg2Lanode|5.021005||Viu
2488 reg|5.005000||Viu
2489 reganode|5.005000||Viu
2490 regatom|5.005000||Viu
2491 regbranch|5.005000||Viu
2492 reg_check_named_buff_matched|5.009005||nViu
2493 regclass|5.005000||Viu
2494 regcppop|5.005000||Viu
2495 regcppush|5.005000||Viu
2496 regcp_restore|5.025006||Viu
2497 regcurly|5.013010||nViu
2498 regdump|5.005000|5.005000|u
2499 regdump_extflags|5.009005||Viu
2500 regdump_intflags|5.019002||Viu
2501 regdupe_internal|5.009000|5.009000|u
2502 regexec_flags|5.005000|5.005000|u
2503 regex_set_precedence|5.021010||nViu
2504 regfree_internal|5.009005|5.009005|u
2505 reghop3|5.007001||nViu
2506 reghop4|5.009005||nViu
2507 reghopmaybe3|5.007001||nViu
2508 reginclass|5.005000||Viu
2509 reginitcolors|5.006000|5.006000|u
2510 reginsert|5.005000||Viu
2511 regmatch|5.005000||Viu
2512 reg_named_buff|5.009005||cViu
2513 reg_named_buff_all|5.009005|5.009005|u
2514 reg_named_buff_exists|5.009005|5.009005|u
2515 reg_named_buff_fetch|5.009005|5.009005|u
2516 reg_named_buff_firstkey|5.009005|5.009005|u
2517 reg_named_buff_iter|5.009005||cViu
2518 reg_named_buff_nextkey|5.009005|5.009005|u
2519 reg_named_buff_scalar|5.009005|5.009005|u
2520 regnext|5.005000|5.005000|u
2521 reg_node|5.005000||Viu
2522 regnode_guts|5.021005||Viu
2523 reg_numbered_buff_fetch|5.009005||cViu
2524 reg_numbered_buff_length|5.009005||cViu
2525 reg_numbered_buff_store|5.009005||cViu
2526 regpiece|5.005000||Viu
2527 regprop|5.003007||Viu
2528 reg_qr_package|5.009005||cViu
2529 regrepeat|5.005000||Viu
2530 reg_scan_name|5.009005||Viu
2531 reg_skipcomment|5.009005||nViu
2532 regtail|5.005000||Viu
2533 regtail_study|5.009004||Viu
2534 reg_temp_copy|5.009005||cViu
2535 regtry|5.005000||Viu
2536 re_indentf|5.023009||vViu
2537 re_intuit_start|5.006000||cVu
2538 re_intuit_string|5.006000||cVu
2539 Renew|5.003007|5.003007|
2540 Renewc|5.003007|5.003007|
2541 re_op_compile|5.017001||Viu
2542 repeatcpy|5.003007|5.003007|nu
2543 REPLACEMENT_CHARACTER_UTF8|5.025005|5.003007|p
2544 report_evil_fh|5.006001||Viu
2545 report_redefined_cv|5.015006||Viu
2546 report_uninit|5.006000||cVi
2547 report_wrongway_fh|5.013009||Viu
2548 re_printf|5.023009||vViu
2549 require_pv|5.006000|5.006000|
2550 require_tie_mod|5.009005||Viu
2551 RESTORE_ERRNO|||i
2552 RESTORE_LC_NUMERIC|5.021010|5.021010|
2553 restore_magic|5.009003||Viu
2554 restore_switched_locale|5.027009||Viu
2555 RETVAL|5.003007|5.003007|V
2556 rninstr|5.003007|5.003007|n
2557 rpeep|5.013005||Viu
2558 rsignal|5.004000|5.004000|
2559 rsignal_restore|5.004000||Viu
2560 rsignal_save|5.004000||Viu
2561 rsignal_state|5.004000|5.004000|u
2562 run_body|5.006000||Viu
2563 runops_debug|5.005000|5.005000|u
2564 runops_standard|5.005000|5.005000|u
2565 run_user_filter|5.009003||Viu
2566 rv2cv_op_cv|5.013006|5.013006|
2567 RV2CVOPCV_MARK_EARLY|5.013006|5.013006|
2568 RV2CVOPCV_RETURN_NAME_GV|5.013006|5.013006|
2569 rvpv_dup|5.007003|5.007003|u
2570 rxres_free|5.004000||Viu
2571 rxres_restore|5.004000||Viu
2572 rxres_save|5.004000||Viu
2573 Safefree|5.003007|5.003007|
2574 safesyscalloc|5.006000|5.006000|nu
2575 safesysfree|5.006000|5.006000|nu
2576 safesysmalloc|5.006000|5.006000|nu
2577 safesysrealloc|5.006000|5.006000|nu
2578 same_dirent|5.003007||Viu
2579 SANE_ERRSV|5.031003|5.031003|
2580 save_adelete|5.011000|5.011000|u
2581 save_aelem|5.004005|5.004005|u
2582 save_aelem_flags|5.011000|5.011000|u
2583 save_alloc|5.006000|5.006000|u
2584 save_aptr|5.003007|5.003007|
2585 save_ary|5.003007|5.003007|
2586 save_bool|5.008001|5.008001|u
2587 save_clearsv|5.003007|5.003007|u
2588 SAVECLEARSV|||i
2589 SAVECOMPPAD|||i
2590 SAVE_DEFSV|5.004005|5.003007|poVu
2591 save_delete|5.003007|5.003007|u
2592 save_destructor|5.006000|5.006000|u
2593 save_destructor_x|5.006000|5.006000|u
2594 SAVE_ERRNO|||i
2595 save_freeop|5.010001|5.010001|u
2596 save_freepv|5.003007|5.003007|u
2597 save_freesv|5.003007|5.003007|u
2598 save_generic_pvref|5.006001|5.006001|u
2599 save_generic_svref|5.005003|5.005003|u
2600 save_gp|5.004000|5.004000|
2601 save_hash|5.003007|5.003007|
2602 save_hdelete|5.011000|5.011000|u
2603 save_hek_flags|5.008000||nViu
2604 save_helem|5.004005|5.004005|u
2605 save_helem_flags|5.011000|5.011000|u
2606 save_hints|5.010001|5.010001|u
2607 save_hptr|5.003007|5.003007|
2608 save_I16|5.004000|5.004000|u
2609 save_I32|5.003007|5.003007|u
2610 save_I8|5.006000|5.006000|u
2611 save_int|5.003007|5.003007|u
2612 save_item|5.003007|5.003007|
2613 save_iv|5.005000|5.005000|u
2614 save_lines|5.005000||Viu
2615 save_list|5.003007|5.003007|d
2616 save_long|5.003007|5.003007|du
2617 save_magic_flags|5.019002||Viu
2618 save_mortalizesv|5.007001|5.007001|u
2619 save_nogv|5.003007|5.003007|du
2620 save_op|5.010001|5.010001|u
2621 save_padsv_and_mortalize|5.010001|5.010001|u
2622 SAVEPADSV|||i
2623 save_pptr|5.003007|5.003007|u
2624 save_pushi32ptr|5.010001|5.010001|u
2625 save_pushptr|5.010001|5.010001|u
2626 save_pushptri32ptr|5.010001||Viu
2627 save_pushptrptr|5.010001|5.010001|u
2628 savepv|5.003007|5.003007|
2629 savepvn|5.003007|5.003007|
2630 savepvs|5.009003|5.009003|
2631 save_re_context|5.006000|5.006000|u
2632 save_scalar|5.003007|5.003007|
2633 save_scalar_at|5.005000||Viu
2634 save_set_svflags|5.009000|5.009000|u
2635 savesharedpv|5.007003|5.007003|
2636 savesharedpvn|5.009005|5.009005|
2637 save_shared_pvref|5.007003|5.007003|u
2638 savesharedpvs|5.013006|5.013006|
2639 savesharedsvpv|5.013006|5.013006|
2640 save_sptr|5.003007|5.003007|u
2641 savestack_grow|5.003007|5.003007|u
2642 savestack_grow_cnt|5.008001|5.008001|u
2643 save_strlen|5.019004||cViu
2644 savesvpv|5.009002|5.009002|
2645 save_svref|5.003007|5.003007|
2646 SAVETMPS|5.003007|5.003007|
2647 savetmps|5.023008|5.023008|xu
2648 save_to_buffer|5.027004||nViu
2649 save_vptr|5.006000|5.006000|u
2650 sawparens|5.003007||Viu
2651 scalar|5.003007||Viu
2652 scalarboolean|5.005000||Viu
2653 scalarkids|5.003007||Viu
2654 scalar_mod_type|5.006000||nViu
2655 scalarseq|5.003007||Viu
2656 scalarvoid|5.003007||Viu
2657 scan_bin|5.006000|5.006000|
2658 scan_commit|5.005000||Viu
2659 scan_const|5.003007||Viu
2660 scan_formline|5.003007||Viu
2661 scan_heredoc|5.003007||Viu
2662 scan_hex|5.006000|5.003007|
2663 scan_ident|5.003007||Viu
2664 scan_inputsymbol|5.003007||Viu
2665 scan_num|5.007001|5.007001|u
2666 scan_oct|5.006000|5.003007|
2667 scan_pat|5.003007||Viu
2668 scan_str|5.003007||xcViu
2669 scan_subst|5.003007||Viu
2670 scan_trans|5.003007||Viu
2671 scan_version|5.009001|5.009001|
2672 scan_vstring|5.009005|5.009005|u
2673 scan_word|5.003007||xcViu
2674 search_const|5.010001||Viu
2675 seed|5.008001|5.008001|u
2676 sequence_num|5.009003||Viu
2677 set_ANYOF_arg|5.019005||Viu
2678 set_caret_X|5.019006||Viu
2679 set_context|5.006000|5.006000|nu
2680 setdefout|5.003007|5.003007|
2681 SETERRNO|||i
2682 setfd_cloexec|5.027008||nViu
2683 setfd_cloexec_for_nonsysfd|5.027008||Viu
2684 setfd_cloexec_or_inhexec_by_sysfdness|5.027008||Viu
2685 setfd_inhexec|5.027008||nViu
2686 setfd_inhexec_for_sysfd|5.027008||Viu
2687 setlocale_debug_string|5.027002||nViu
2688 set_numeric_radix|5.006000||Viu
2689 set_numeric_standard|5.006000||cViu
2690 set_numeric_underlying|5.027006||cViu
2691 set_padlist|5.021006||ncViu
2692 set_regex_pv|5.029004||Viu
2693 _setup_canned_invlist|5.019008||cViu
2694 share_hek|5.004000|5.004000|u
2695 share_hek_flags|5.008000||Viu
2696 SHORTSIZE|5.004000|5.004000|
2697 should_warn_nl|5.021001||nViu
2698 si_dup|5.007003|5.007003|u
2699 sighandler1|||nViu
2700 sighandler3|||nViu
2701 sighandler|5.003007||nViu
2702 simplify_sort|5.006000||Viu
2703 SITELIB|5.003007|5.003007|
2704 skipspace_flags|5.019002||xcViu
2705 skip_to_be_ignored_text|5.023004||Viu
2706 Slab_Alloc|5.006000||cViu
2707 Slab_Free|5.007003||cViu
2708 Slab_to_ro|5.017002||Viu
2709 Slab_to_rw|5.009005||Viu
2710 softref2xv|||iu
2711 sortcv|5.009003||Viu
2712 sortcv_stacked|5.009003||Viu
2713 sortcv_xsub|5.009003||Viu
2714 sortsv|5.007003|5.007003|
2715 sortsv_flags|5.009003|5.009003|
2716 SP|5.003007|5.003007|
2717 space_join_names_mortal|5.009004||Viu
2718 SPAGAIN|5.003007|5.003007|
2719 ssc_add_range|5.019005||Viu
2720 ssc_and|5.019005||Viu
2721 ssc_anything|5.019005||Viu
2722 ssc_clear_locale|5.019005||nViu
2723 ssc_cp_and|5.019005||Viu
2724 ssc_finalize|5.019005||Viu
2725 ssc_init|5.019005||Viu
2726 ssc_intersection|5.019005||Viu
2727 ssc_is_anything|5.019005||nViu
2728 ssc_is_cp_posixl_init|5.019005||nViu
2729 ssc_or|5.019005||Viu
2730 ssc_union|5.019005||Viu
2731 ss_dup|5.007003|5.007003|u
2732 ST|5.003007|5.003007|
2733 stack_grow|5.003007|5.003007|u
2734 START_EXTERN_C|5.005000|5.003007|poVu
2735 start_glob|||xi
2736 START_MY_CXT|5.010000|5.010000|p
2737 STARTPERL|5.003007|5.003007|
2738 start_subparse|5.004000|5.003007|pu
2739 STDCHAR|5.003007|5.003007|
2740 stdize_locale|5.007001||Viu
2741 STMT_END|5.003007|5.003007|pV
2742 STMT_START|5.003007|5.003007|pV
2743 STORE_LC_NUMERIC_FORCE_TO_UNDERLYING|5.021010|5.021010|
2744 STORE_LC_NUMERIC_SET_TO_NEEDED|5.021010|5.021010|
2745 STORE_LC_NUMERIC_SET_TO_NEEDED_IN|5.031003|5.031003|
2746 strEQ|5.003007|5.003007|
2747 strGE|5.003007|5.003007|
2748 strGT|5.003007|5.003007|
2749 strip_return|5.009003||Viu
2750 strLE|5.003007|5.003007|
2751 strLT|5.003007|5.003007|
2752 strNE|5.003007|5.003007|
2753 strnEQ|5.003007|5.003007|
2754 strnNE|5.003007|5.003007|
2755 Strtod|5.029010|5.029010|n
2756 Strtol|5.006000|5.006000|n
2757 Strtoul|5.006000|5.006000|n
2758 str_to_version|5.006000|5.006000|u
2759 StructCopy|5.003007|5.003007|V
2760 STR_WITH_LEN|5.009003|5.003007|pV
2761 study_chunk|5.005000||Viu
2762 sub_crush_depth|5.004000||Viu
2763 sublex_done|5.005000||Viu
2764 sublex_push|5.005000||Viu
2765 sublex_start|5.005000||Viu
2766 sv_2bool|5.003007|5.003007|
2767 sv_2bool_flags|5.013006|5.013006|
2768 sv_2cv|5.003007|5.003007|
2769 sv_2io|5.003007|5.003007|
2770 sv_2iuv_common|5.009004||Viu
2771 sv_2iuv_non_preserve|5.007001||Viu
2772 sv_2iv|5.003007|5.003007|u
2773 sv_2iv_flags|5.009001|5.009001|
2774 sv_2mortal|5.003007|5.003007|
2775 sv_2num|5.010000||xVi
2776 sv_2nv_flags|5.013001|5.013001|
2777 sv_2pv|5.003007|5.003007|u
2778 sv_2pvbyte|5.006000|5.003007|p
2779 sv_2pvbyte_flags|5.031004|5.031004|u
2780 sv_2pvbyte_nolen|5.006000|5.003007|p
2781 sv_2pv_flags|5.007002|5.003007|p
2782 sv_2pv_nolen|5.006000|5.003007|p
2783 sv_2pvutf8|5.006000|5.006000|
2784 sv_2pvutf8_flags|5.031004|5.031004|u
2785 sv_2pvutf8_nolen|5.006000|5.006000|
2786 sv_2uv|5.004000|5.003007|pu
2787 sv_2uv_flags|5.009001|5.009001|
2788 sv_add_arena|5.003007||Vi
2789 sv_add_backref|||iu
2790 SvAMAGIC_off|5.031004|5.031004|nu
2791 SvAMAGIC_on|5.031004|5.031004|nu
2792 sv_backoff|5.003007|5.003007|n
2793 sv_bless|5.003007|5.003007|
2794 sv_buf_to_ro|5.019008||Viu
2795 sv_buf_to_rw|5.019008||Viu
2796 SV_CATBYTES|5.021005|5.021005|
2797 sv_cat_decode|5.008001|5.008001|
2798 sv_catpv|5.003007|5.003007|
2799 sv_catpvf|5.006000|5.004000|v
2800 sv_catpv_flags|5.013006|5.013006|
2801 sv_catpvf_mg|5.006000|5.004000|pv
2802 sv_catpvf_mg_nocontext|5.006000||pvnVu
2803 sv_catpvf_nocontext|5.006000||vnVu
2804 sv_catpv_mg|5.004005|5.003007|p
2805 sv_catpvn|5.003007|5.003007|
2806 sv_catpvn_flags|5.007002|5.007002|
2807 sv_catpvn_mg|5.004005|5.003007|p
2808 sv_catpvn_nomg|5.007002|5.003007|p
2809 sv_catpv_nomg|5.013006|5.013006|
2810 sv_catpvs|5.009003|5.003007|p
2811 sv_catpvs_flags|5.013006|5.013006|
2812 sv_catpvs_mg|5.013006|5.013006|
2813 sv_catpvs_nomg|5.013006|5.013006|
2814 sv_catsv|5.003007|5.003007|
2815 sv_catsv_flags|5.007002|5.007002|
2816 sv_catsv_mg|5.004005|5.003007|p
2817 sv_catsv_nomg|5.007002|5.003007|p
2818 SV_CATUTF8|5.021005|5.021005|
2819 sv_chop|5.003007|5.003007|
2820 sv_clean_all|5.003007||Vi
2821 sv_clean_objs|5.003007||Vi
2822 sv_clear|5.003007|5.003007|
2823 sv_cmp|5.003007|5.003007|
2824 sv_cmp_flags|5.013006|5.013006|
2825 sv_cmp_locale|5.004000|5.004000|
2826 sv_cmp_locale_flags|5.013006|5.013006|
2827 sv_collxfrm|||
2828 sv_collxfrm_flags|5.013006|5.013006|
2829 SV_CONST_RETURN|5.009003|5.003007|poVu
2830 sv_copypv|5.007003|5.007003|
2831 sv_copypv_flags|5.017002|5.017002|
2832 sv_copypv_nomg|5.017002|5.017002|
2833 SV_COW_DROP_PV|5.008001|5.003007|p
2834 SV_COW_SHARED_HASH_KEYS|5.009005|5.003007|poVu
2835 SvCUR|5.003007|5.003007|
2836 SvCUR_set|5.003007|5.003007|
2837 sv_dec|5.003007|5.003007|
2838 sv_dec_nomg|5.013002|5.013002|
2839 sv_del_backref|5.006000||cViu
2840 sv_derived_from|5.004000|5.004000|
2841 sv_derived_from_pv|5.015004|5.015004|
2842 sv_derived_from_pvn|5.015004|5.015004|
2843 sv_derived_from_sv|5.015004|5.015004|
2844 sv_derived_from_svpvn|5.031006||Viu
2845 sv_destroyable|5.010000|5.010000|
2846 sv_display|5.021002||Viu
2847 sv_does|5.009004|5.009004|
2848 sv_does_pv|5.015004|5.015004|
2849 sv_does_pvn|5.015004|5.015004|
2850 sv_does_sv|5.015004|5.015004|
2851 sv_dump|5.003007|5.003007|
2852 sv_dup|5.007003|5.007003|u
2853 sv_dup_common|5.013002||Viu
2854 sv_dup_inc|5.013002|5.013002|u
2855 sv_dup_inc_multiple|5.011000||Viu
2856 SvEND|5.003007|5.003007|
2857 sv_eq|5.003007|5.003007|
2858 sv_eq_flags|5.013006|5.013006|
2859 sv_exp_grow|5.009003||Viu
2860 SVf|5.006000|5.003007|p
2861 SVfARG|5.009005|5.003007|p
2862 sv_force_normal|5.006000|5.006000|
2863 sv_force_normal_flags|5.007001|5.007001|
2864 sv_free2|||xciu
2865 sv_free|5.003007|5.003007|
2866 sv_free_arenas|5.003007||Vi
2867 SVf_UTF8|5.006000|5.003007|p
2868 SvGAMAGIC|5.006001|5.006001|
2869 sv_get_backrefs|5.021008|5.021008|nx
2870 SvGETMAGIC|5.004005|5.003007|p
2871 sv_gets|5.003007|5.003007|
2872 SV_GMAGIC|5.007002|5.003007|p
2873 sv_grow|5.003007|5.003007|
2874 SvGROW|5.003007|5.003007|
2875 SV_HAS_TRAILING_NUL|5.009004|5.003007|p
2876 SV_IMMEDIATE_UNREF|5.007001|5.003007|p
2877 sv_inc|5.003007|5.003007|
2878 sv_i_ncmp|5.009003||Viu
2879 sv_inc_nomg|5.013002|5.013002|
2880 sv_insert|5.003007|5.003007|
2881 sv_insert_flags|5.010001|5.010001|
2882 SvIOK|5.003007|5.003007|
2883 SvIOK_notUV|5.006000|5.006000|
2884 SvIOK_off|5.003007|5.003007|
2885 SvIOK_on|5.003007|5.003007|
2886 SvIOK_only|5.003007|5.003007|
2887 SvIOK_only_UV|5.006000|5.006000|
2888 SvIOKp|5.003007|5.003007|
2889 SvIOK_UV|5.006000|5.006000|
2890 sv_isa|5.003007|5.003007|
2891 sv_isa_sv|||x
2892 SvIsCOW|5.008003|5.008003|
2893 SvIsCOW_shared_hash|5.008003|5.008003|
2894 sv_isobject|5.003007|5.003007|
2895 SvIV|5.003007|5.003007|
2896 sv_iv|5.005000|5.005000|d
2897 SvIV_nomg|5.009001|5.003007|p
2898 SvIV_set|5.003007|5.003007|
2899 SvIVX|5.003007|5.003007|
2900 SvIVx|5.003007|5.003007|
2901 sv_kill_backrefs|||xiu
2902 sv_len|5.003007|5.003007|
2903 SvLEN|5.003007|5.003007|
2904 SvLEN_set|5.003007|5.003007|
2905 sv_len_utf8|5.006000|5.006000|p
2906 sv_len_utf8_nomg|5.017004||pVu
2907 SvLOCK|5.007003|5.007003|
2908 sv_magic|5.003007|5.003007|
2909 sv_magicext|5.007003|5.007003|
2910 sv_magicext_mglob|5.019002||cViu
2911 sv_magic_portable||5.004000|pou
2912 SvMAGIC_set|5.009003|5.003007|p
2913 sv_mortalcopy|5.003007|5.003007|
2914 sv_mortalcopy_flags|5.017005|5.003007|p
2915 SV_MUTABLE_RETURN|5.009003|5.003007|poVu
2916 sv_ncmp|5.009003||Viu
2917 sv_newmortal|5.003007|5.003007|
2918 sv_newref|5.003007|5.003007|
2919 SvNIOK|5.003007|5.003007|
2920 SvNIOK_off|5.003007|5.003007|
2921 SvNIOKp|5.003007|5.003007|
2922 SvNOK|5.003007|5.003007|
2923 SvNOK_off|5.003007|5.003007|
2924 SvNOK_on|5.003007|5.003007|
2925 SvNOK_only|5.003007|5.003007|
2926 SvNOKp|5.003007|5.003007|
2927 sv_nolocking|5.007003|5.007003|d
2928 sv_nosharing|5.007003|5.007003|
2929 SV_NOSTEAL|5.009002|5.003007|p
2930 sv_nounlocking|5.007003|5.007003|d
2931 SvNV|5.006000|5.003007|
2932 sv_nv|5.006000|5.005000|d
2933 SvNV_nomg|5.013002|5.003007|p
2934 SvNV_set|5.006000|5.003007|
2935 SvNVX|5.006000|5.003007|
2936 SvNVx|5.006000|5.003007|
2937 SvOK|5.003007|5.003007|
2938 sv_only_taint_gmagic|5.021010||nViu
2939 SvOOK|5.003007|5.003007|
2940 SvOOK_offset|5.011000|5.011000|
2941 sv_or_pv_pos_u2b|5.019004||Viu
2942 sv_peek|5.005000|5.005000|u
2943 SvPOK|5.003007|5.003007|
2944 SvPOK_off|5.003007|5.003007|
2945 SvPOK_on|5.003007|5.003007|
2946 SvPOK_only|5.003007|5.003007|
2947 SvPOK_only_UTF8|5.006000|5.006000|
2948 SvPOKp|5.003007|5.003007|
2949 sv_pos_b2u|5.006000|5.006000|
2950 sv_pos_b2u_flags|5.019003|5.019003|
2951 sv_pos_b2u_midway|5.009004||Viu
2952 sv_pos_u2b|5.006000|5.006000|
2953 sv_pos_u2b_cached|5.009004||Viu
2954 sv_pos_u2b_flags|5.011005|5.011005|
2955 sv_pos_u2b_forwards|5.009004||nViu
2956 sv_pos_u2b_midway|5.009004||nViu
2957 SvPV|5.003007|5.003007|
2958 sv_pv|5.006000|5.006000|
2959 SvPVbyte|5.006000|5.003007|p
2960 sv_pvbyte|5.006000|5.006000|
2961 SvPVbyte_force|5.009002|5.009002|
2962 sv_pvbyten|5.006000|5.006000|d
2963 sv_pvbyten_force|5.006000|5.006000|
2964 SvPVbyte_nolen|5.006000|5.006000|
2965 SvPVbyte_nomg|5.031004|5.031004|
2966 SvPVbyte_or_null|5.031004|5.031004|
2967 SvPVbyte_or_null_nomg|5.031004|5.031004|
2968 SvPVbytex|5.006000|5.006000|
2969 SvPVbytex_force|5.006000|5.006000|
2970 SvPVCLEAR|5.025006|5.025006|
2971 SvPV_const|5.009003||pVu
2972 SvPV_flags|5.007002||pVu
2973 SvPV_flags_const|5.009003||pVu
2974 SvPV_flags_const_nolen|5.009003||pVu
2975 SvPV_flags_mutable|5.009003||pVu
2976 SvPV_force|5.003007|5.003007|p
2977 SvPV_force_flags|5.007002||pVu
2978 SvPV_force_flags_mutable|5.009003||pVu
2979 SvPV_force_flags_nolen|5.009003||pVu
2980 SvPV_force_mutable|5.009003||pVu
2981 SvPV_force_nolen|5.009003||pVu
2982 SvPV_force_nomg|5.007002|5.003007|p
2983 SvPV_force_nomg_nolen|5.009003||pVu
2984 SvPV_mutable|5.009003||pVu
2985 sv_pvn|5.005000|5.005000|d
2986 sv_pvn_force|5.003007|5.003007|
2987 sv_pvn_force_flags|5.007002|5.003007|p
2988 sv_pvn_nomg|5.007003|5.005000|pdu
2989 SvPV_nolen|5.006000|5.003007|p
2990 SvPV_nolen_const|5.009003||pVu
2991 SvPV_nomg|5.007002|5.003007|p
2992 SvPV_nomg_const|5.009003||pVu
2993 SvPV_nomg_const_nolen|5.009003||pVu
2994 SvPV_nomg_nolen|5.013007|5.003007|p
2995 SvPV_renew|5.009003||pVu
2996 SvPV_set|5.003007|5.003007|
2997 sv_pvutf8|5.006000|5.006000|
2998 SvPVutf8|5.006000|5.006000|
2999 SvPVutf8_force|5.006000|5.006000|
3000 sv_pvutf8n|5.006000|5.006000|d
3001 sv_pvutf8n_force|5.006000|5.006000|
3002 SvPVutf8_nolen|5.006000|5.006000|
3003 SvPVutf8_nomg|5.031004|5.031004|
3004 SvPVutf8_or_null|5.031004|5.031004|
3005 SvPVutf8_or_null_nomg|5.031004|5.031004|
3006 SvPVutf8x|5.006000|5.006000|
3007 SvPVutf8x_force|5.006000|5.006000|
3008 SvPVX|5.003007|5.003007|
3009 SvPVx|5.003007|5.003007|
3010 SvPVX_const|5.009003||pVu
3011 SvPVX_mutable|5.009003||pVu
3012 SvREADONLY|5.003007|5.003007|
3013 SvREADONLY_off|5.003007|5.003007|
3014 SvREADONLY_on|5.003007|5.003007|
3015 sv_recode_to_utf8|5.007003|5.007003|
3016 sv_ref|5.015004|5.015004|
3017 SvREFCNT|5.003007|5.003007|
3018 SvREFCNT_dec|5.003007|5.003007|
3019 SvREFCNT_dec_NN|5.017007|5.017007|
3020 SvREFCNT_inc|5.003007|5.003007|pn
3021 SvREFCNT_inc_NN|5.009004|5.003007|pn
3022 SvREFCNT_inc_simple|5.009004|5.003007|p
3023 SvREFCNT_inc_simple_NN|5.009004|5.003007|p
3024 SvREFCNT_inc_simple_void|5.009004|5.003007|p
3025 SvREFCNT_inc_simple_void_NN|5.009004|5.003007|p
3026 SvREFCNT_inc_void|5.009004|5.003007|pn
3027 SvREFCNT_inc_void_NN|5.009004|5.003007|p
3028 sv_reftype|5.003007|5.003007|
3029 sv_replace|5.003007|5.003007|
3030 sv_report_used|5.003007|5.003007|
3031 sv_reset|5.003007|5.003007|
3032 sv_resetpvn|5.017005||Viu
3033 SvROK|5.003007|5.003007|
3034 SvROK_off|5.003007|5.003007|
3035 SvROK_on|5.003007|5.003007|
3036 SvRV|5.003007|5.003007|
3037 SvRV_set|5.009003|5.003007|p
3038 sv_rvunweaken|5.027004|5.027004|
3039 sv_rvweaken|5.006000|5.006000|
3040 SvRX|5.009005|5.003007|p
3041 SvRXOK|5.009005|5.003007|p
3042 sv_sethek|5.015004||cViu
3043 sv_setiv|5.003007|5.003007|
3044 sv_setiv_mg|5.004005|5.003007|p
3045 SvSETMAGIC|5.003007|5.003007|
3046 SvSetMagicSV|5.004000|5.004000|
3047 SvSetMagicSV_nosteal|5.004000|5.004000|
3048 sv_setnv|5.006000|5.003007|
3049 sv_setnv_mg|5.006000|5.003007|p
3050 sv_setpv|5.003007|5.003007|
3051 sv_setpv_bufsize|5.025006|5.025006|
3052 sv_setpvf|5.006000|5.004000|v
3053 sv_setpvf_mg|5.006000|5.004000|pv
3054 sv_setpvf_mg_nocontext|5.006000||pvnVu
3055 sv_setpvf_nocontext|5.006000||vnVu
3056 sv_setpviv|5.008001|5.008001|d
3057 sv_setpviv_mg|5.008001|5.008001|d
3058 sv_setpv_mg|5.004005|5.003007|p
3059 sv_setpvn|5.003007|5.003007|
3060 sv_setpvn_mg|5.004005|5.003007|p
3061 sv_setpvs|5.009004|5.003007|p
3062 sv_setpvs_mg|5.013006|5.013006|
3063 sv_setref_iv|5.003007|5.003007|
3064 sv_setref_nv|5.006000|5.003007|
3065 sv_setref_pv|5.003007|5.003007|
3066 sv_setref_pvn|5.003007|5.003007|
3067 sv_setref_pvs|5.013006|5.013006|
3068 sv_setref_uv|5.007001|5.007001|
3069 sv_setsv|5.003007|5.003007|
3070 SvSetSV|5.003007|5.003007|
3071 sv_setsv_cow|5.009000||xcViu
3072 sv_setsv_flags|5.007002|5.003007|p
3073 sv_setsv_mg|5.004005|5.003007|p
3074 sv_setsv_nomg|5.007002|5.003007|p
3075 SvSetSV_nosteal|5.004000|5.004000|
3076 sv_set_undef|5.025008|5.025008|
3077 sv_setuv|5.004000|5.003007|p
3078 sv_setuv_mg|5.004005|5.003007|p
3079 SvSHARE|5.007003|5.007003|
3080 SvSHARED_HASH|5.009003||pVu
3081 SV_SMAGIC|5.009003|5.003007|p
3082 SVs_PADSTALE|5.009000|5.009000|
3083 SvSTASH|5.003007|5.003007|
3084 SvSTASH_set|5.009003|5.003007|p
3085 SVs_TEMP|5.003007|5.003007|
3086 sv_string_from_errnum|5.027003|5.027003|
3087 SvTAINT|5.003007|5.003007|
3088 sv_taint|5.004000|5.004000|
3089 sv_tainted|5.004000|5.004000|
3090 SvTAINTED|5.004000|5.004000|
3091 SvTAINTED_off|5.004000|5.004000|
3092 SvTAINTED_on|5.004000|5.004000|
3093 SvTHINKFIRST|||i
3094 SVt_INVLIST|||c
3095 SVt_IV|5.003007|5.003007|
3096 SVt_NULL|5.003007|5.003007|
3097 SVt_NV|5.003007|5.003007|
3098 SVt_PV|5.003007|5.003007|
3099 SVt_PVAV|5.003007|5.003007|
3100 SVt_PVCV|5.003007|5.003007|
3101 SVt_PVFM|5.003007|5.003007|
3102 SVt_PVGV|5.003007|5.003007|
3103 SVt_PVHV|5.003007|5.003007|
3104 SVt_PVIO|5.003007|5.003007|
3105 SVt_PVIV|5.003007|5.003007|
3106 SVt_PVLV|5.003007|5.003007|
3107 SVt_PVMG|5.003007|5.003007|
3108 SVt_PVNV|5.003007|5.003007|
3109 SVt_REGEXP|5.011000|5.011000|
3110 SvTRUE|5.003007|5.003007|
3111 sv_true|5.005000|5.005000|
3112 SvTRUE_nomg|5.013006|5.003007|p
3113 SvTRUEx|5.003007|5.003007|
3114 SvTYPE|5.003007|5.003007|
3115 svtype|5.003007|5.003007|V
3116 sv_unglob|5.005000||Viu
3117 sv_uni_display|5.007003|5.007003|
3118 SvUNLOCK|5.007003|5.007003|
3119 sv_unmagic|5.003007|5.003007|
3120 sv_unmagicext|5.013008|5.003007|p
3121 sv_unref|5.003007|5.003007|
3122 sv_unref_flags|5.007001|5.007001|
3123 sv_untaint|5.004000|5.004000|
10063124 SvUOK|5.007001|5.006000|p
1007 SvUPGRADE|||
1008 SvUTF8_off||5.006000|
1009 SvUTF8_on||5.006000|
1010 SvUTF8||5.006000|
1011 SvUVXx|5.004000||p
1012 SvUVX|5.004000||p
1013 SvUV_nomg|5.009001||p
1014 SvUV_set|5.009003||p
1015 SvUVx|5.004000||p
1016 SvUV|5.004000||p
1017 SvVOK||5.008001|
1018 SvVSTRING_mg|5.009004||p
1019 THIS|||n
1020 UNDERBAR|5.009002||p
1021 UTF8SKIP||5.006000|
1022 UTF8_MAXBYTES|5.009002||p
1023 UVCHR_SKIP||5.022000|
1024 UVSIZE|5.006000||p
1025 UVTYPE|5.006000||p
1026 UVXf|5.007001||p
1027 UVof|5.006000||p
1028 UVuf|5.006000||p
1029 UVxf|5.006000||p
1030 WARN_ALL|5.006000||p
1031 WARN_AMBIGUOUS|5.006000||p
1032 WARN_ASSERTIONS|5.024000||p
1033 WARN_BAREWORD|5.006000||p
1034 WARN_CLOSED|5.006000||p
1035 WARN_CLOSURE|5.006000||p
1036 WARN_DEBUGGING|5.006000||p
1037 WARN_DEPRECATED|5.006000||p
1038 WARN_DIGIT|5.006000||p
1039 WARN_EXEC|5.006000||p
1040 WARN_EXITING|5.006000||p
1041 WARN_GLOB|5.006000||p
1042 WARN_INPLACE|5.006000||p
1043 WARN_INTERNAL|5.006000||p
1044 WARN_IO|5.006000||p
1045 WARN_LAYER|5.008000||p
1046 WARN_MALLOC|5.006000||p
1047 WARN_MISC|5.006000||p
1048 WARN_NEWLINE|5.006000||p
1049 WARN_NUMERIC|5.006000||p
1050 WARN_ONCE|5.006000||p
1051 WARN_OVERFLOW|5.006000||p
1052 WARN_PACK|5.006000||p
1053 WARN_PARENTHESIS|5.006000||p
1054 WARN_PIPE|5.006000||p
1055 WARN_PORTABLE|5.006000||p
1056 WARN_PRECEDENCE|5.006000||p
1057 WARN_PRINTF|5.006000||p
1058 WARN_PROTOTYPE|5.006000||p
1059 WARN_QW|5.006000||p
1060 WARN_RECURSION|5.006000||p
1061 WARN_REDEFINE|5.006000||p
1062 WARN_REGEXP|5.006000||p
1063 WARN_RESERVED|5.006000||p
1064 WARN_SEMICOLON|5.006000||p
1065 WARN_SEVERE|5.006000||p
1066 WARN_SIGNAL|5.006000||p
1067 WARN_SUBSTR|5.006000||p
1068 WARN_SYNTAX|5.006000||p
1069 WARN_TAINT|5.006000||p
1070 WARN_THREADS|5.008000||p
1071 WARN_UNINITIALIZED|5.006000||p
1072 WARN_UNOPENED|5.006000||p
1073 WARN_UNPACK|5.006000||p
1074 WARN_UNTIE|5.006000||p
1075 WARN_UTF8|5.006000||p
1076 WARN_VOID|5.006000||p
1077 WIDEST_UTYPE|5.015004||p
1078 XCPT_CATCH|5.009002||p
1079 XCPT_RETHROW|5.009002||p
1080 XCPT_TRY_END|5.009002||p
1081 XCPT_TRY_START|5.009002||p
1082 XPUSHi|||
1083 XPUSHmortal|5.009002||p
1084 XPUSHn|||
1085 XPUSHp|||
1086 XPUSHs|||
1087 XPUSHu|5.004000||p
1088 XSPROTO|5.010000||p
1089 XSRETURN_EMPTY|||
1090 XSRETURN_IV|||
1091 XSRETURN_NO|||
1092 XSRETURN_NV|||
1093 XSRETURN_PV|||
1094 XSRETURN_UNDEF|||
1095 XSRETURN_UV|5.008001||p
1096 XSRETURN_YES|||
1097 XSRETURN|||p
1098 XST_mIV|||
1099 XST_mNO|||
1100 XST_mNV|||
1101 XST_mPV|||
1102 XST_mUNDEF|||
1103 XST_mUV|5.008001||p
1104 XST_mYES|||
1105 XS_APIVERSION_BOOTCHECK||5.024000|
1106 XS_EXTERNAL||5.024000|
1107 XS_INTERNAL||5.024000|
1108 XS_VERSION_BOOTCHECK||5.024000|
1109 XS_VERSION|||
1110 XSprePUSH|5.006000||p
1111 XS|||
1112 XopDISABLE||5.024000|
1113 XopENABLE||5.024000|
1114 XopENTRYCUSTOM||5.024000|
1115 XopENTRY_set||5.024000|
1116 XopENTRY||5.024000|
1117 XopFLAGS||5.013007|
1118 ZeroD|5.009002||p
1119 Zero|||
1120 _aMY_CXT|5.007003||p
1121 _core_swash_init|||
1122 _load_PL_utf8_foldclosures|||
1123 _pMY_CXT|5.007003||p
1124 _to_fold_latin1|||
1125 _to_upper_title_latin1|||
1126 _to_utf8_case|||
1127 aMY_CXT_|5.007003||p
1128 aMY_CXT|5.007003||p
1129 aTHXR_|5.024000||p
1130 aTHXR|5.024000||p
1131 aTHX_|5.006000||p
1132 aTHX|5.006000||p
1133 add_above_Latin1_folds|||
1134 add_data|||n
1135 add_multi_match|||
1136 add_utf16_textfilter|||
1137 adjust_size_and_find_bucket|||n
1138 advance_one_LB|||
1139 advance_one_SB|||
1140 advance_one_WB|||
1141 alloc_maybe_populate_EXACT|||
1142 allocmy|||
1143 amagic_call|||
1144 amagic_cmp_locale|||
1145 amagic_cmp|||
1146 amagic_deref_call||5.013007|
1147 amagic_i_ncmp|||
1148 amagic_is_enabled|||
1149 amagic_ncmp|||
1150 anonymise_cv_maybe|||
1151 any_dup|||
1152 ao|||
1153 apply_attrs_my|||
1154 apply_attrs|||
1155 apply|||
1156 assert_uft8_cache_coherent|||
1157 assignment_type|||
1158 atfork_lock||5.007003|n
1159 atfork_unlock||5.007003|n
1160 av_arylen_p||5.009003|
1161 av_clear|||
1162 av_delete||5.006000|
1163 av_exists||5.006000|
1164 av_extend_guts|||
1165 av_extend|||
1166 av_fetch|||
1167 av_fill|||
1168 av_iter_p||5.011000|
1169 av_len|||
1170 av_make|||
1171 av_pop|||
1172 av_push|||
1173 av_reify|||
1174 av_shift|||
1175 av_store|||
1176 av_tindex||5.017009|
1177 av_top_index||5.017009|
1178 av_undef|||
1179 av_unshift|||
1180 ax|||n
1181 backup_one_LB|||
1182 backup_one_SB|||
1183 backup_one_WB|||
1184 bad_type_gv|||
1185 bad_type_pv|||
1186 bind_match|||
1187 block_end||5.004000|
1188 block_gimme||5.004000|
1189 block_start||5.004000|
1190 blockhook_register||5.013003|
1191 boolSV|5.004000||p
1192 boot_core_PerlIO|||
1193 boot_core_UNIVERSAL|||
1194 boot_core_mro|||
1195 bytes_cmp_utf8||5.013007|
1196 cBOOL|5.013000||p
1197 call_argv|5.006000||p
1198 call_atexit||5.006000|
1199 call_list||5.004000|
1200 call_method|5.006000||p
1201 call_pv|5.006000||p
1202 call_sv|5.006000||p
1203 caller_cx|5.013005|5.006000|p
1204 calloc||5.007002|n
1205 cando|||
1206 cast_i32||5.006000|n
1207 cast_iv||5.006000|n
1208 cast_ulong||5.006000|n
1209 cast_uv||5.006000|n
1210 check_type_and_open|||
1211 check_uni|||
1212 checkcomma|||
1213 ckWARN|5.006000||p
1214 ck_entersub_args_core|||
1215 ck_entersub_args_list||5.013006|
1216 ck_entersub_args_proto_or_list||5.013006|
1217 ck_entersub_args_proto||5.013006|
1218 ck_warner_d||5.011001|v
1219 ck_warner||5.011001|v
1220 ckwarn_common|||
1221 ckwarn_d||5.009003|
1222 ckwarn||5.009003|
1223 clear_defarray||5.023008|
1224 clear_special_blocks|||
1225 clone_params_del|||n
1226 clone_params_new|||n
1227 closest_cop|||
1228 cntrl_to_mnemonic|||n
1229 compute_EXACTish|||n
1230 construct_ahocorasick_from_trie|||
1231 cop_free|||
1232 cop_hints_2hv||5.013007|
1233 cop_hints_fetch_pvn||5.013007|
1234 cop_hints_fetch_pvs||5.013007|
1235 cop_hints_fetch_pv||5.013007|
1236 cop_hints_fetch_sv||5.013007|
1237 cophh_2hv||5.013007|
1238 cophh_copy||5.013007|
1239 cophh_delete_pvn||5.013007|
1240 cophh_delete_pvs||5.013007|
1241 cophh_delete_pv||5.013007|
1242 cophh_delete_sv||5.013007|
1243 cophh_fetch_pvn||5.013007|
1244 cophh_fetch_pvs||5.013007|
1245 cophh_fetch_pv||5.013007|
1246 cophh_fetch_sv||5.013007|
1247 cophh_free||5.013007|
1248 cophh_new_empty||5.024000|
1249 cophh_store_pvn||5.013007|
1250 cophh_store_pvs||5.013007|
1251 cophh_store_pv||5.013007|
1252 cophh_store_sv||5.013007|
1253 core_prototype|||
1254 coresub_op|||
1255 cr_textfilter|||
1256 croak_memory_wrap|5.019003||pn
1257 croak_no_mem|||n
1258 croak_no_modify|5.013003||pn
1259 croak_nocontext|||pvn
1260 croak_popstack|||n
1261 croak_sv|5.013001||p
1262 croak_xs_usage|5.010001||pn
1263 croak|||v
1264 csighandler||5.009003|n
1265 current_re_engine|||
1266 curse|||
1267 custom_op_desc||5.007003|
1268 custom_op_get_field|||
1269 custom_op_name||5.007003|
1270 custom_op_register||5.013007|
1271 custom_op_xop||5.013007|
1272 cv_clone_into|||
1273 cv_clone|||
1274 cv_const_sv_or_av|||n
1275 cv_const_sv||5.003070|n
1276 cv_dump|||
1277 cv_forget_slab|||
1278 cv_get_call_checker||5.013006|
1279 cv_name||5.021005|
1280 cv_set_call_checker_flags||5.021004|
1281 cv_set_call_checker||5.013006|
1282 cv_undef_flags|||
1283 cv_undef|||
1284 cvgv_from_hek|||
1285 cvgv_set|||
1286 cvstash_set|||
1287 cx_dump||5.005000|
1288 cx_dup|||
1289 cxinc|||
1290 dAXMARK|5.009003||p
1291 dAX|5.007002||p
1292 dITEMS|5.007002||p
1293 dMARK|||
1294 dMULTICALL||5.009003|
1295 dMY_CXT_SV|5.007003||p
1296 dMY_CXT|5.007003||p
1297 dNOOP|5.006000||p
1298 dORIGMARK|||
1299 dSP|||
1300 dTHR|5.004050||p
1301 dTHXR|5.024000||p
1302 dTHXa|5.006000||p
1303 dTHXoa|5.006000||p
1304 dTHX|5.006000||p
1305 dUNDERBAR|5.009002||p
1306 dVAR|5.009003||p
1307 dXCPT|5.009002||p
1308 dXSARGS|||
1309 dXSI32|||
1310 dXSTARG|5.006000||p
1311 deb_curcv|||
1312 deb_nocontext|||vn
1313 deb_stack_all|||
1314 deb_stack_n|||
1315 debop||5.005000|
1316 debprofdump||5.005000|
1317 debprof|||
1318 debstackptrs||5.007003|
1319 debstack||5.007003|
1320 debug_start_match|||
1321 deb||5.007003|v
1322 defelem_target|||
1323 del_sv|||
1324 delimcpy||5.004000|n
1325 deprecate_commaless_var_list|||
1326 despatch_signals||5.007001|
1327 destroy_matcher|||
1328 die_nocontext|||vn
1329 die_sv|5.013001||p
1330 die_unwind|||
1331 die|||v
1332 dirp_dup|||
1333 div128|||
1334 djSP|||
1335 do_aexec5|||
1336 do_aexec|||
1337 do_aspawn|||
1338 do_binmode||5.004050|
1339 do_chomp|||
1340 do_close|||
1341 do_delete_local|||
1342 do_dump_pad|||
1343 do_eof|||
1344 do_exec3|||
1345 do_execfree|||
1346 do_exec|||
1347 do_gv_dump||5.006000|
1348 do_gvgv_dump||5.006000|
1349 do_hv_dump||5.006000|
1350 do_ipcctl|||
1351 do_ipcget|||
1352 do_join|||
1353 do_magic_dump||5.006000|
1354 do_msgrcv|||
1355 do_msgsnd|||
1356 do_ncmp|||
1357 do_oddball|||
1358 do_op_dump||5.006000|
1359 do_open9||5.006000|
1360 do_openn||5.007001|
1361 do_open||5.003070|
1362 do_pmop_dump||5.006000|
1363 do_print|||
1364 do_readline|||
1365 do_seek|||
1366 do_semop|||
1367 do_shmio|||
1368 do_smartmatch|||
1369 do_spawn_nowait|||
1370 do_spawn|||
1371 do_sprintf|||
1372 do_sv_dump||5.006000|
1373 do_sysseek|||
1374 do_tell|||
1375 do_trans_complex_utf8|||
1376 do_trans_complex|||
1377 do_trans_count_utf8|||
1378 do_trans_count|||
1379 do_trans_simple_utf8|||
1380 do_trans_simple|||
1381 do_trans|||
1382 do_vecget|||
1383 do_vecset|||
1384 do_vop|||
1385 docatch|||
1386 doeval_compile|||
1387 dofile|||
1388 dofindlabel|||
1389 doform|||
1390 doing_taint||5.008001|n
1391 dooneliner|||
1392 doopen_pm|||
1393 doparseform|||
1394 dopoptoeval|||
1395 dopoptogivenfor|||
1396 dopoptolabel|||
1397 dopoptoloop|||
1398 dopoptosub_at|||
1399 dopoptowhen|||
1400 doref||5.009003|
1401 dounwind|||
1402 dowantarray|||
1403 drand48_init_r|||n
1404 drand48_r|||n
1405 dtrace_probe_call|||
1406 dtrace_probe_load|||
1407 dtrace_probe_op|||
1408 dtrace_probe_phase|||
1409 dump_all_perl|||
1410 dump_all||5.006000|
1411 dump_c_backtrace|||
1412 dump_eval||5.006000|
1413 dump_exec_pos|||
1414 dump_form||5.006000|
1415 dump_indent||5.006000|v
1416 dump_mstats|||
1417 dump_packsubs_perl|||
1418 dump_packsubs||5.006000|
1419 dump_sub_perl|||
1420 dump_sub||5.006000|
1421 dump_sv_child|||
1422 dump_trie_interim_list|||
1423 dump_trie_interim_table|||
1424 dump_trie|||
1425 dump_vindent||5.006000|
1426 dumpuntil|||
1427 dup_attrlist|||
1428 edit_distance|||n
1429 eval_pv|5.006000||p
1430 eval_sv|5.006000||p
1431 exec_failed|||
1432 expect_number|||
1433 fbm_compile||5.005000|
1434 fbm_instr||5.005000|
1435 feature_is_enabled|||
1436 filter_add|||
1437 filter_del|||
1438 filter_gets|||
1439 filter_read|||
1440 finalize_optree|||
1441 finalize_op|||
1442 find_and_forget_pmops|||
1443 find_array_subscript|||
1444 find_beginning|||
1445 find_byclass|||
1446 find_default_stash|||
1447 find_hash_subscript|||
1448 find_in_my_stash|||
1449 find_lexical_cv|||
1450 find_runcv_where|||
1451 find_runcv||5.008001|
1452 find_rundefsv||5.013002|
1453 find_script|||
1454 first_symbol|||n
1455 fixup_errno_string|||
1456 foldEQ_latin1||5.013008|n
1457 foldEQ_locale||5.013002|n
1458 foldEQ_utf8||5.013002|
1459 foldEQ||5.013002|n
1460 fold_constants|||
1461 forbid_setid|||
1462 force_ident_maybe_lex|||
1463 force_ident|||
1464 force_list|||
1465 force_next|||
1466 force_strict_version|||
1467 force_version|||
1468 force_word|||
1469 forget_pmop|||
1470 form_nocontext|||vn
1471 form||5.004000|v
1472 fp_dup|||
1473 fprintf_nocontext|||vn
1474 free_c_backtrace|||
1475 free_global_struct|||
1476 free_tied_hv_pool|||
1477 free_tmps|||
1478 gen_constant_list|||
1479 get_ANYOF_cp_list_for_ssc|||
1480 get_and_check_backslash_N_name|||
1481 get_aux_mg|||
1482 get_av|5.006000||p
1483 get_c_backtrace_dump|||
1484 get_c_backtrace|||
1485 get_context||5.006000|n
1486 get_cvn_flags|||
1487 get_cvs|5.011000||p
1488 get_cv|5.006000||p
1489 get_db_sub|||
1490 get_debug_opts|||
1491 get_hash_seed|||
1492 get_hv|5.006000||p
1493 get_mstats|||
1494 get_no_modify|||
1495 get_num|||
1496 get_op_descs||5.005000|
1497 get_op_names||5.005000|
1498 get_opargs|||
1499 get_ppaddr||5.006000|
1500 get_sv|5.006000||p
1501 get_vtbl||5.005030|
1502 getcwd_sv||5.007002|
1503 getenv_len|||
1504 glob_2number|||
1505 glob_assign_glob|||
1506 gp_dup|||
1507 gp_free|||
1508 gp_ref|||
1509 grok_atoUV|||n
1510 grok_bin|5.007003||p
1511 grok_bslash_N|||
1512 grok_hex|5.007003||p
1513 grok_infnan||5.021004|
1514 grok_number_flags||5.021002|
1515 grok_number|5.007002||p
1516 grok_numeric_radix|5.007002||p
1517 grok_oct|5.007003||p
1518 group_end|||
1519 gv_AVadd|||
1520 gv_HVadd|||
1521 gv_IOadd|||
1522 gv_SVadd|||
1523 gv_add_by_type||5.011000|
1524 gv_autoload4||5.004000|
1525 gv_autoload_pvn||5.015004|
1526 gv_autoload_pv||5.015004|
1527 gv_autoload_sv||5.015004|
1528 gv_check|||
1529 gv_const_sv||5.009003|
1530 gv_dump||5.006000|
1531 gv_efullname3||5.003070|
1532 gv_efullname4||5.006001|
1533 gv_efullname|||
1534 gv_fetchfile_flags||5.009005|
1535 gv_fetchfile|||
1536 gv_fetchmeth_autoload||5.007003|
1537 gv_fetchmeth_internal|||
1538 gv_fetchmeth_pv_autoload||5.015004|
1539 gv_fetchmeth_pvn_autoload||5.015004|
1540 gv_fetchmeth_pvn||5.015004|
1541 gv_fetchmeth_pv||5.015004|
1542 gv_fetchmeth_sv_autoload||5.015004|
1543 gv_fetchmeth_sv||5.015004|
1544 gv_fetchmethod_autoload||5.004000|
1545 gv_fetchmethod|||
1546 gv_fetchmeth|||
1547 gv_fetchpvn_flags|5.009002||p
1548 gv_fetchpvs|5.009004||p
1549 gv_fetchpv|||
1550 gv_fetchsv|||
1551 gv_fullname3||5.003070|
1552 gv_fullname4||5.006001|
1553 gv_fullname|||
1554 gv_handler||5.007001|
1555 gv_init_pvn|||
1556 gv_init_pv||5.015004|
1557 gv_init_svtype|||
1558 gv_init_sv||5.015004|
1559 gv_init|||
1560 gv_is_in_main|||
1561 gv_magicalize_isa|||
1562 gv_magicalize|||
1563 gv_name_set||5.009004|
1564 gv_override|||
1565 gv_setref|||
1566 gv_stashpvn_internal|||
1567 gv_stashpvn|5.003070||p
1568 gv_stashpvs|5.009003||p
1569 gv_stashpv|||
1570 gv_stashsvpvn_cached|||
1571 gv_stashsv|||
1572 handle_named_backref|||
1573 handle_possible_posix|||
1574 handle_regex_sets|||
1575 he_dup|||
1576 hek_dup|||
1577 hfree_next_entry|||
1578 hsplit|||
1579 hv_assert|||
1580 hv_auxinit_internal|||n
1581 hv_auxinit|||
1582 hv_clear_placeholders||5.009001|
1583 hv_clear|||
1584 hv_common_key_len||5.010000|
1585 hv_common||5.010000|
1586 hv_copy_hints_hv||5.009004|
1587 hv_delayfree_ent||5.004000|
1588 hv_delete_ent||5.003070|
1589 hv_delete|||
1590 hv_eiter_p||5.009003|
1591 hv_eiter_set||5.009003|
1592 hv_ename_add|||
1593 hv_ename_delete|||
1594 hv_exists_ent||5.003070|
1595 hv_exists|||
1596 hv_fetch_ent||5.003070|
1597 hv_fetchs|5.009003||p
1598 hv_fetch|||
1599 hv_fill||5.013002|
1600 hv_free_ent_ret|||
1601 hv_free_entries|||
1602 hv_free_ent||5.004000|
1603 hv_iterinit|||
1604 hv_iterkeysv||5.003070|
1605 hv_iterkey|||
1606 hv_iternextsv|||
1607 hv_iternext|||
1608 hv_iterval|||
1609 hv_ksplit||5.003070|
1610 hv_magic_check|||n
1611 hv_magic|||
1612 hv_name_set||5.009003|
1613 hv_notallowed|||
1614 hv_placeholders_get||5.009003|
1615 hv_placeholders_p|||
1616 hv_placeholders_set||5.009003|
1617 hv_rand_set||5.018000|
1618 hv_riter_p||5.009003|
1619 hv_riter_set||5.009003|
1620 hv_scalar||5.009001|
1621 hv_store_ent||5.003070|
1622 hv_stores|5.009004||p
1623 hv_store|||
1624 hv_undef_flags|||
1625 hv_undef|||
1626 ibcmp_locale||5.004000|
1627 ibcmp_utf8||5.007003|
1628 ibcmp|||
1629 incline|||
1630 incpush_if_exists|||
1631 incpush_use_sep|||
1632 incpush|||
1633 ingroup|||
1634 init_argv_symbols|||
1635 init_constants|||
1636 init_dbargs|||
1637 init_debugger|||
1638 init_global_struct|||
1639 init_ids|||
1640 init_interp|||
1641 init_main_stash|||
1642 init_perllib|||
1643 init_postdump_symbols|||
1644 init_predump_symbols|||
1645 init_stacks||5.005000|
1646 init_tm||5.007002|
1647 inplace_aassign|||
1648 instr|||n
1649 intro_my||5.004000|
1650 intuit_method|||
1651 intuit_more|||
1652 invert|||
1653 invoke_exception_hook|||
1654 io_close|||
1655 isALNUMC|5.006000||p
1656 isALPHANUMERIC||5.017008|
1657 isALPHA|||
1658 isASCII|5.006000||p
1659 isBLANK|5.006001||p
1660 isCNTRL|5.006000||p
1661 isDIGIT|||
1662 isFOO_lc|||
1663 isFOO_utf8_lc|||
1664 isGCB|||n
1665 isGRAPH|5.006000||p
1666 isIDCONT||5.017008|
1667 isIDFIRST|||
1668 isLB|||
1669 isLOWER|||
1670 isOCTAL||5.013005|
1671 isPRINT|5.004000||p
1672 isPSXSPC|5.006001||p
1673 isPUNCT|5.006000||p
1674 isSB|||
1675 isSPACE|||
1676 isUPPER|||
1677 isUTF8_CHAR||5.021001|
1678 isWB|||
1679 isWORDCHAR||5.013006|
1680 isXDIGIT|5.006000||p
1681 is_an_int|||
1682 is_ascii_string||5.011000|
1683 is_handle_constructor|||n
1684 is_invariant_string||5.021007|n
1685 is_lvalue_sub||5.007001|
1686 is_safe_syscall||5.019004|
1687 is_ssc_worth_it|||n
1688 is_utf8_char_buf||5.015008|n
1689 is_utf8_common|||
1690 is_utf8_string_loclen||5.009003|n
1691 is_utf8_string_loc||5.008001|n
1692 is_utf8_string||5.006001|n
1693 isa_lookup|||
1694 isinfnansv|||
1695 isinfnan||5.021004|n
1696 items|||n
1697 ix|||n
1698 jmaybe|||
1699 join_exact|||
1700 keyword_plugin_standard|||
1701 keyword|||
1702 leave_scope|||
1703 lex_stuff_pvs||5.013005|
1704 listkids|||
1705 list|||
1706 load_module_nocontext|||vn
1707 load_module|5.006000||pv
1708 localize|||
1709 looks_like_bool|||
1710 looks_like_number|||
1711 lop|||
1712 mPUSHi|5.009002||p
1713 mPUSHn|5.009002||p
1714 mPUSHp|5.009002||p
1715 mPUSHs|5.010001||p
1716 mPUSHu|5.009002||p
1717 mXPUSHi|5.009002||p
1718 mXPUSHn|5.009002||p
1719 mXPUSHp|5.009002||p
1720 mXPUSHs|5.010001||p
1721 mXPUSHu|5.009002||p
1722 magic_clear_all_env|||
1723 magic_cleararylen_p|||
1724 magic_clearenv|||
1725 magic_clearhints|||
1726 magic_clearhint|||
1727 magic_clearisa|||
1728 magic_clearpack|||
1729 magic_clearsig|||
1730 magic_copycallchecker|||
1731 magic_dump||5.006000|
1732 magic_existspack|||
1733 magic_freearylen_p|||
1734 magic_freeovrld|||
1735 magic_getarylen|||
1736 magic_getdebugvar|||
1737 magic_getdefelem|||
1738 magic_getnkeys|||
1739 magic_getpack|||
1740 magic_getpos|||
1741 magic_getsig|||
1742 magic_getsubstr|||
1743 magic_gettaint|||
1744 magic_getuvar|||
1745 magic_getvec|||
1746 magic_get|||
1747 magic_killbackrefs|||
1748 magic_methcall1|||
1749 magic_methcall|||v
1750 magic_methpack|||
1751 magic_nextpack|||
1752 magic_regdata_cnt|||
1753 magic_regdatum_get|||
1754 magic_regdatum_set|||
1755 magic_scalarpack|||
1756 magic_set_all_env|||
1757 magic_setarylen|||
1758 magic_setcollxfrm|||
1759 magic_setdbline|||
1760 magic_setdebugvar|||
1761 magic_setdefelem|||
1762 magic_setenv|||
1763 magic_sethint|||
1764 magic_setisa|||
1765 magic_setlvref|||
1766 magic_setmglob|||
1767 magic_setnkeys|||
1768 magic_setpack|||
1769 magic_setpos|||
1770 magic_setregexp|||
1771 magic_setsig|||
1772 magic_setsubstr|||
1773 magic_settaint|||
1774 magic_setutf8|||
1775 magic_setuvar|||
1776 magic_setvec|||
1777 magic_set|||
1778 magic_sizepack|||
1779 magic_wipepack|||
1780 make_matcher|||
1781 make_trie|||
1782 malloc_good_size|||n
1783 malloced_size|||n
1784 malloc||5.007002|n
1785 markstack_grow||5.021001|
1786 matcher_matches_sv|||
1787 maybe_multimagic_gv|||
1788 mayberelocate|||
1789 measure_struct|||
1790 memEQs|5.009005||p
1791 memEQ|5.004000||p
1792 memNEs|5.009005||p
1793 memNE|5.004000||p
1794 mem_collxfrm|||
1795 mem_log_alloc|||n
1796 mem_log_common|||n
1797 mem_log_free|||n
1798 mem_log_realloc|||n
1799 mess_alloc|||
1800 mess_nocontext|||pvn
1801 mess_sv|5.013001||p
1802 mess|5.006000||pv
1803 mfree||5.007002|n
1804 mg_clear|||
1805 mg_copy|||
1806 mg_dup|||
1807 mg_find_mglob|||
1808 mg_findext|5.013008||pn
1809 mg_find|||n
1810 mg_free_type||5.013006|
1811 mg_free|||
1812 mg_get|||
1813 mg_localize|||
1814 mg_magical|||n
1815 mg_set|||
1816 mg_size||5.005000|
1817 mini_mktime||5.007002|n
1818 minus_v|||
1819 missingterm|||
1820 mode_from_discipline|||
1821 modkids|||
1822 more_bodies|||
1823 more_sv|||
1824 moreswitches|||
1825 move_proto_attr|||
1826 mro_clean_isarev|||
1827 mro_gather_and_rename|||
1828 mro_get_from_name||5.010001|
1829 mro_get_linear_isa_dfs|||
1830 mro_get_linear_isa||5.009005|
1831 mro_get_private_data||5.010001|
1832 mro_isa_changed_in|||
1833 mro_meta_dup|||
1834 mro_meta_init|||
1835 mro_method_changed_in||5.009005|
1836 mro_package_moved|||
1837 mro_register||5.010001|
1838 mro_set_mro||5.010001|
1839 mro_set_private_data||5.010001|
1840 mul128|||
1841 mulexp10|||n
1842 multideref_stringify|||
1843 my_atof2||5.007002|
1844 my_atof||5.006000|
1845 my_attrs|||
1846 my_bcopy||5.004050|n
1847 my_bytes_to_utf8|||n
1848 my_bzero|||n
1849 my_chsize|||
1850 my_clearenv|||
1851 my_cxt_index|||
1852 my_cxt_init|||
1853 my_dirfd||5.009005|n
1854 my_exit_jump|||
1855 my_exit|||
1856 my_failure_exit||5.004000|
1857 my_fflush_all||5.006000|
1858 my_fork||5.007003|n
1859 my_kid|||
1860 my_lstat_flags|||
1861 my_lstat||5.024000|
1862 my_memcmp|||n
1863 my_memset|||n
1864 my_pclose||5.003070|
1865 my_popen_list||5.007001|
1866 my_popen||5.003070|
1867 my_setenv|||
1868 my_snprintf|5.009004||pvn
1869 my_socketpair||5.007003|n
1870 my_sprintf|5.009003||pvn
1871 my_stat_flags|||
1872 my_stat||5.024000|
1873 my_strftime||5.007002|
1874 my_strlcat|5.009004||pn
1875 my_strlcpy|5.009004||pn
1876 my_unexec|||
1877 my_vsnprintf||5.009004|n
1878 need_utf8|||n
1879 newANONATTRSUB||5.006000|
1880 newANONHASH|||
1881 newANONLIST|||
1882 newANONSUB|||
1883 newASSIGNOP|||
1884 newATTRSUB_x|||
1885 newATTRSUB||5.006000|
1886 newAVREF|||
1887 newAV|||
1888 newBINOP|||
1889 newCONDOP|||
1890 newCONSTSUB_flags||5.015006|
1891 newCONSTSUB|5.004050||p
1892 newCVREF|||
1893 newDEFSVOP||5.021006|
1894 newFORM|||
1895 newFOROP||5.013007|
1896 newGIVENOP||5.009003|
1897 newGIVWHENOP|||
1898 newGVOP|||
1899 newGVREF|||
1900 newGVgen_flags||5.015004|
1901 newGVgen|||
1902 newHVREF|||
1903 newHVhv||5.005000|
1904 newHV|||
1905 newIO|||
1906 newLISTOP|||
1907 newLOGOP|||
1908 newLOOPEX|||
1909 newLOOPOP|||
1910 newMETHOP_internal|||
1911 newMETHOP_named||5.021005|
1912 newMETHOP||5.021005|
1913 newMYSUB||5.017004|
1914 newNULLLIST|||
1915 newOP|||
1916 newPADOP|||
1917 newPMOP|||
1918 newPROG|||
1919 newPVOP|||
1920 newRANGE|||
1921 newRV_inc|5.004000||p
1922 newRV_noinc|5.004000||p
1923 newRV|||
1924 newSLICEOP|||
1925 newSTATEOP|||
1926 newSTUB|||
1927 newSUB|||
1928 newSVOP|||
1929 newSVREF|||
1930 newSV_type|5.009005||p
1931 newSVavdefelem|||
1932 newSVhek||5.009003|
1933 newSViv|||
1934 newSVnv|||
1935 newSVpadname||5.017004|
1936 newSVpv_share||5.013006|
1937 newSVpvf_nocontext|||vn
1938 newSVpvf||5.004000|v
1939 newSVpvn_flags|5.010001||p
1940 newSVpvn_share|5.007001||p
1941 newSVpvn_utf8|5.010001||p
1942 newSVpvn|5.004050||p
1943 newSVpvs_flags|5.010001||p
1944 newSVpvs_share|5.009003||p
1945 newSVpvs|5.009003||p
1946 newSVpv|||
1947 newSVrv|||
1948 newSVsv|||
1949 newSVuv|5.006000||p
1950 newSV|||
1951 newUNOP_AUX||5.021007|
1952 newUNOP|||
1953 newWHENOP||5.009003|
1954 newWHILEOP||5.013007|
1955 newXS_deffile|||
1956 newXS_len_flags|||
1957 newXSproto||5.006000|
1958 newXS||5.006000|
1959 new_constant|||
1960 new_he|||
1961 new_logop|||
1962 new_stackinfo||5.005000|
1963 new_version||5.009000|
1964 next_symbol|||
1965 nextargv|||
1966 nextchar|||
1967 ninstr|||n
1968 no_bareword_allowed|||
1969 no_fh_allowed|||
1970 no_op|||
1971 noperl_die|||vn
1972 not_a_number|||
1973 not_incrementable|||
1974 nothreadhook||5.008000|
1975 nuke_stacks|||
1976 num_overflow|||n
1977 oopsAV|||
1978 oopsHV|||
1979 op_append_elem||5.013006|
1980 op_append_list||5.013006|
1981 op_clear|||
1982 op_contextualize||5.013006|
1983 op_convert_list||5.021006|
1984 op_dump||5.006000|
1985 op_free|||
1986 op_integerize|||
1987 op_linklist||5.013006|
1988 op_lvalue_flags|||
1989 op_null||5.007002|
1990 op_parent|||n
1991 op_prepend_elem||5.013006|
1992 op_refcnt_lock||5.009002|
1993 op_refcnt_unlock||5.009002|
1994 op_relocate_sv|||
1995 op_sibling_splice||5.021002|n
1996 op_std_init|||
1997 open_script|||
1998 openn_cleanup|||
1999 openn_setup|||
2000 opmethod_stash|||
2001 opslab_force_free|||
2002 opslab_free_nopad|||
2003 opslab_free|||
2004 output_or_return_posix_warnings|||
2005 pMY_CXT_|5.007003||p
2006 pMY_CXT|5.007003||p
2007 pTHX_|5.006000||p
2008 pTHX|5.006000||p
2009 packWARN|5.007003||p
2010 pack_cat||5.007003|
2011 pack_rec|||
2012 package_version|||
2013 package|||
2014 packlist||5.008001|
2015 pad_add_anon||5.008001|
2016 pad_add_name_pvn||5.015001|
2017 pad_add_name_pvs||5.015001|
2018 pad_add_name_pv||5.015001|
2019 pad_add_name_sv||5.015001|
2020 pad_add_weakref|||
2021 pad_alloc_name|||
2022 pad_block_start|||
2023 pad_check_dup|||
2024 pad_compname_type||5.009003|
2025 pad_findlex|||
2026 pad_findmy_pvn||5.015001|
2027 pad_findmy_pvs||5.015001|
2028 pad_findmy_pv||5.015001|
2029 pad_findmy_sv||5.015001|
2030 pad_fixup_inner_anons|||
2031 pad_free|||
2032 pad_leavemy|||
2033 pad_new||5.008001|
2034 pad_push|||
2035 pad_reset|||
2036 pad_setsv|||
2037 pad_sv|||
2038 pad_swipe|||
2039 padlist_dup|||
2040 padlist_store|||
2041 padname_dup|||
2042 padname_free|||
2043 padnamelist_dup|||
2044 padnamelist_free|||
2045 parse_body|||
2046 parse_gv_stash_name|||
2047 parse_ident|||
2048 parse_lparen_question_flags|||
2049 parse_subsignature|||
2050 parse_unicode_opts|||
2051 parser_dup|||
2052 parser_free_nexttoke_ops|||
2053 parser_free|||
2054 path_is_searchable|||n
2055 peep|||
2056 pending_ident|||
2057 perl_alloc_using|||n
2058 perl_alloc|||n
2059 perl_clone_using|||n
2060 perl_clone|||n
2061 perl_construct|||n
2062 perl_destruct||5.007003|n
2063 perl_free|||n
2064 perl_parse||5.006000|n
2065 perl_run|||n
2066 pidgone|||
2067 pm_description|||
2068 pmop_dump||5.006000|
2069 pmruntime|||
2070 pmtrans|||
2071 pop_scope|||
2072 populate_ANYOF_from_invlist|||
2073 populate_isa|||v
2074 pregcomp||5.009005|
2075 pregexec|||
2076 pregfree2||5.011000|
2077 pregfree|||
2078 prescan_version||5.011004|
2079 printbuf|||
2080 printf_nocontext|||vn
2081 process_special_blocks|||
2082 ptr_hash|||n
2083 ptr_table_fetch||5.009005|
2084 ptr_table_find|||n
2085 ptr_table_free||5.009005|
2086 ptr_table_new||5.009005|
2087 ptr_table_split||5.009005|
2088 ptr_table_store||5.009005|
2089 push_scope|||
2090 put_charclass_bitmap_innards_common|||
2091 put_charclass_bitmap_innards_invlist|||
2092 put_charclass_bitmap_innards|||
2093 put_code_point|||
2094 put_range|||
2095 pv_display|5.006000||p
2096 pv_escape|5.009004||p
2097 pv_pretty|5.009004||p
2098 pv_uni_display||5.007003|
2099 qerror|||
2100 qsortsvu|||
2101 quadmath_format_needed|||n
2102 quadmath_format_single|||n
2103 re_compile||5.009005|
2104 re_croak2|||
2105 re_dup_guts|||
2106 re_exec_indentf|||v
2107 re_indentf|||v
2108 re_intuit_start||5.019001|
2109 re_intuit_string||5.006000|
2110 re_op_compile|||
2111 re_printf|||v
2112 realloc||5.007002|n
2113 reentrant_free||5.024000|
2114 reentrant_init||5.024000|
2115 reentrant_retry||5.024000|vn
2116 reentrant_size||5.024000|
2117 ref_array_or_hash|||
2118 refcounted_he_chain_2hv|||
2119 refcounted_he_fetch_pvn|||
2120 refcounted_he_fetch_pvs|||
2121 refcounted_he_fetch_pv|||
2122 refcounted_he_fetch_sv|||
2123 refcounted_he_free|||
2124 refcounted_he_inc|||
2125 refcounted_he_new_pvn|||
2126 refcounted_he_new_pvs|||
2127 refcounted_he_new_pv|||
2128 refcounted_he_new_sv|||
2129 refcounted_he_value|||
2130 refkids|||
2131 refto|||
2132 ref||5.024000|
2133 reg2Lanode|||
2134 reg_check_named_buff_matched|||n
2135 reg_named_buff_all||5.009005|
2136 reg_named_buff_exists||5.009005|
2137 reg_named_buff_fetch||5.009005|
2138 reg_named_buff_firstkey||5.009005|
2139 reg_named_buff_iter|||
2140 reg_named_buff_nextkey||5.009005|
2141 reg_named_buff_scalar||5.009005|
2142 reg_named_buff|||
2143 reg_node|||
2144 reg_numbered_buff_fetch|||
2145 reg_numbered_buff_length|||
2146 reg_numbered_buff_store|||
2147 reg_qr_package|||
2148 reg_recode|||
2149 reg_scan_name|||
2150 reg_skipcomment|||n
2151 reg_temp_copy|||
2152 reganode|||
2153 regatom|||
2154 regbranch|||
2155 regclass|||
2156 regcppop|||
2157 regcppush|||
2158 regcurly|||n
2159 regdump_extflags|||
2160 regdump_intflags|||
2161 regdump||5.005000|
2162 regdupe_internal|||
2163 regex_set_precedence|||n
2164 regexec_flags||5.005000|
2165 regfree_internal||5.009005|
2166 reghop3|||n
2167 reghop4|||n
2168 reghopmaybe3|||n
2169 reginclass|||
2170 reginitcolors||5.006000|
2171 reginsert|||
2172 regmatch|||
2173 regnext||5.005000|
2174 regnode_guts|||
2175 regpiece|||
2176 regprop|||
2177 regrepeat|||
2178 regtail_study|||
2179 regtail|||
2180 regtry|||
2181 reg|||
2182 repeatcpy|||n
2183 report_evil_fh|||
2184 report_redefined_cv|||
2185 report_uninit|||
2186 report_wrongway_fh|||
2187 require_pv||5.006000|
2188 require_tie_mod|||
2189 restore_magic|||
2190 rninstr|||n
2191 rpeep|||
2192 rsignal_restore|||
2193 rsignal_save|||
2194 rsignal_state||5.004000|
2195 rsignal||5.004000|
2196 run_body|||
2197 run_user_filter|||
2198 runops_debug||5.005000|
2199 runops_standard||5.005000|
2200 rv2cv_op_cv||5.013006|
2201 rvpv_dup|||
2202 rxres_free|||
2203 rxres_restore|||
2204 rxres_save|||
2205 safesyscalloc||5.006000|n
2206 safesysfree||5.006000|n
2207 safesysmalloc||5.006000|n
2208 safesysrealloc||5.006000|n
2209 same_dirent|||
2210 save_I16||5.004000|
2211 save_I32|||
2212 save_I8||5.006000|
2213 save_adelete||5.011000|
2214 save_aelem_flags||5.011000|
2215 save_aelem||5.004050|
2216 save_alloc||5.006000|
2217 save_aptr|||
2218 save_ary|||
2219 save_bool||5.008001|
2220 save_clearsv|||
2221 save_delete|||
2222 save_destructor_x||5.006000|
2223 save_destructor||5.006000|
2224 save_freeop|||
2225 save_freepv|||
2226 save_freesv|||
2227 save_generic_pvref||5.006001|
2228 save_generic_svref||5.005030|
2229 save_gp||5.004000|
2230 save_hash|||
2231 save_hdelete||5.011000|
2232 save_hek_flags|||n
2233 save_helem_flags||5.011000|
2234 save_helem||5.004050|
2235 save_hints||5.010001|
2236 save_hptr|||
2237 save_int|||
2238 save_item|||
2239 save_iv||5.005000|
2240 save_lines|||
2241 save_list|||
2242 save_long|||
2243 save_magic_flags|||
2244 save_mortalizesv||5.007001|
2245 save_nogv|||
2246 save_op||5.005000|
2247 save_padsv_and_mortalize||5.010001|
2248 save_pptr|||
2249 save_pushi32ptr||5.010001|
2250 save_pushptri32ptr|||
2251 save_pushptrptr||5.010001|
2252 save_pushptr||5.010001|
2253 save_re_context||5.006000|
2254 save_scalar_at|||
2255 save_scalar|||
2256 save_set_svflags||5.009000|
2257 save_shared_pvref||5.007003|
2258 save_sptr|||
2259 save_strlen|||
2260 save_svref|||
2261 save_vptr||5.006000|
2262 savepvn|||
2263 savepvs||5.009003|
2264 savepv|||
2265 savesharedpvn||5.009005|
2266 savesharedpvs||5.013006|
2267 savesharedpv||5.007003|
2268 savesharedsvpv||5.013006|
2269 savestack_grow_cnt||5.008001|
2270 savestack_grow|||
2271 savesvpv||5.009002|
2272 sawparens|||
2273 scalar_mod_type|||n
2274 scalarboolean|||
2275 scalarkids|||
2276 scalarseq|||
2277 scalarvoid|||
2278 scalar|||
2279 scan_bin||5.006000|
2280 scan_commit|||
2281 scan_const|||
2282 scan_formline|||
2283 scan_heredoc|||
2284 scan_hex|||
2285 scan_ident|||
2286 scan_inputsymbol|||
2287 scan_num||5.007001|
2288 scan_oct|||
2289 scan_pat|||
2290 scan_str|||
2291 scan_subst|||
2292 scan_trans|||
2293 scan_version||5.009001|
2294 scan_vstring||5.009005|
2295 scan_word|||
2296 search_const|||
2297 seed||5.008001|
2298 sequence_num|||
2299 set_ANYOF_arg|||
2300 set_caret_X|||
2301 set_context||5.006000|n
2302 set_numeric_local||5.006000|
2303 set_numeric_radix||5.006000|
2304 set_numeric_standard||5.006000|
2305 set_padlist|||n
2306 setdefout|||
2307 share_hek_flags|||
2308 share_hek||5.004000|
2309 should_warn_nl|||n
2310 si_dup|||
2311 sighandler|||n
2312 simplify_sort|||
2313 skip_to_be_ignored_text|||
2314 skipspace_flags|||
2315 softref2xv|||
2316 sortcv_stacked|||
2317 sortcv_xsub|||
2318 sortcv|||
2319 sortsv_flags||5.009003|
2320 sortsv||5.007003|
2321 space_join_names_mortal|||
2322 ss_dup|||
2323 ssc_add_range|||
2324 ssc_and|||
2325 ssc_anything|||
2326 ssc_clear_locale|||n
2327 ssc_cp_and|||
2328 ssc_finalize|||
2329 ssc_init|||
2330 ssc_intersection|||
2331 ssc_is_anything|||n
2332 ssc_is_cp_posixl_init|||n
2333 ssc_or|||
2334 ssc_union|||
2335 stack_grow|||
2336 start_subparse||5.004000|
2337 stdize_locale|||
2338 strEQ|||
2339 strGE|||
2340 strGT|||
2341 strLE|||
2342 strLT|||
2343 strNE|||
2344 str_to_version||5.006000|
2345 strip_return|||
2346 strnEQ|||
2347 strnNE|||
2348 study_chunk|||
2349 sub_crush_depth|||
2350 sublex_done|||
2351 sublex_push|||
2352 sublex_start|||
2353 sv_2bool_flags||5.013006|
2354 sv_2bool|||
2355 sv_2cv|||
2356 sv_2io|||
2357 sv_2iuv_common|||
2358 sv_2iuv_non_preserve|||
2359 sv_2iv_flags||5.009001|
2360 sv_2iv|||
2361 sv_2mortal|||
2362 sv_2nv_flags||5.013001|
2363 sv_2pv_flags|5.007002||p
2364 sv_2pv_nolen|5.006000||p
2365 sv_2pvbyte_nolen|5.006000||p
2366 sv_2pvbyte|5.006000||p
2367 sv_2pvutf8_nolen||5.006000|
2368 sv_2pvutf8||5.006000|
2369 sv_2pv|||
2370 sv_2uv_flags||5.009001|
2371 sv_2uv|5.004000||p
2372 sv_add_arena|||
2373 sv_add_backref|||
2374 sv_backoff|||n
2375 sv_bless|||
2376 sv_buf_to_ro|||
2377 sv_buf_to_rw|||
2378 sv_cat_decode||5.008001|
2379 sv_catpv_flags||5.013006|
2380 sv_catpv_mg|5.004050||p
2381 sv_catpv_nomg||5.013006|
2382 sv_catpvf_mg_nocontext|||pvn
2383 sv_catpvf_mg|5.006000|5.004000|pv
2384 sv_catpvf_nocontext|||vn
2385 sv_catpvf||5.004000|v
2386 sv_catpvn_flags||5.007002|
2387 sv_catpvn_mg|5.004050||p
2388 sv_catpvn_nomg|5.007002||p
2389 sv_catpvn|||
2390 sv_catpvs_flags||5.013006|
2391 sv_catpvs_mg||5.013006|
2392 sv_catpvs_nomg||5.013006|
2393 sv_catpvs|5.009003||p
2394 sv_catpv|||
2395 sv_catsv_flags||5.007002|
2396 sv_catsv_mg|5.004050||p
2397 sv_catsv_nomg|5.007002||p
2398 sv_catsv|||
2399 sv_chop|||
2400 sv_clean_all|||
2401 sv_clean_objs|||
2402 sv_clear|||
2403 sv_cmp_flags||5.013006|
2404 sv_cmp_locale_flags||5.013006|
2405 sv_cmp_locale||5.004000|
2406 sv_cmp|||
2407 sv_collxfrm_flags||5.013006|
2408 sv_collxfrm|||
2409 sv_copypv_flags||5.017002|
2410 sv_copypv_nomg||5.017002|
2411 sv_copypv|||
2412 sv_dec_nomg||5.013002|
2413 sv_dec|||
2414 sv_del_backref|||
2415 sv_derived_from_pvn||5.015004|
2416 sv_derived_from_pv||5.015004|
2417 sv_derived_from_sv||5.015004|
2418 sv_derived_from||5.004000|
2419 sv_destroyable||5.010000|
2420 sv_display|||
2421 sv_does_pvn||5.015004|
2422 sv_does_pv||5.015004|
2423 sv_does_sv||5.015004|
2424 sv_does||5.009004|
2425 sv_dump|||
2426 sv_dup_common|||
2427 sv_dup_inc_multiple|||
2428 sv_dup_inc|||
2429 sv_dup|||
2430 sv_eq_flags||5.013006|
2431 sv_eq|||
2432 sv_exp_grow|||
2433 sv_force_normal_flags||5.007001|
2434 sv_force_normal||5.006000|
2435 sv_free_arenas|||
2436 sv_free|||
2437 sv_gets||5.003070|
2438 sv_grow|||
2439 sv_i_ncmp|||
2440 sv_inc_nomg||5.013002|
2441 sv_inc|||
2442 sv_insert_flags||5.010001|
2443 sv_insert|||
2444 sv_isa|||
2445 sv_isobject|||
2446 sv_iv||5.005000|
2447 sv_len_utf8_nomg|||
2448 sv_len_utf8||5.006000|
2449 sv_len|||
2450 sv_magic_portable|5.024000|5.004000|p
2451 sv_magicext_mglob|||
2452 sv_magicext||5.007003|
2453 sv_magic|||
2454 sv_mortalcopy_flags|||
2455 sv_mortalcopy|||
2456 sv_ncmp|||
2457 sv_newmortal|||
2458 sv_newref|||
2459 sv_nolocking||5.007003|
2460 sv_nosharing||5.007003|
2461 sv_nounlocking|||
2462 sv_nv||5.005000|
2463 sv_only_taint_gmagic|||n
2464 sv_or_pv_pos_u2b|||
2465 sv_peek||5.005000|
2466 sv_pos_b2u_flags||5.019003|
2467 sv_pos_b2u_midway|||
2468 sv_pos_b2u||5.006000|
2469 sv_pos_u2b_cached|||
2470 sv_pos_u2b_flags||5.011005|
2471 sv_pos_u2b_forwards|||n
2472 sv_pos_u2b_midway|||n
2473 sv_pos_u2b||5.006000|
2474 sv_pvbyten_force||5.006000|
2475 sv_pvbyten||5.006000|
2476 sv_pvbyte||5.006000|
2477 sv_pvn_force_flags|5.007002||p
2478 sv_pvn_force|||
2479 sv_pvn_nomg|5.007003|5.005000|p
2480 sv_pvn||5.005000|
2481 sv_pvutf8n_force||5.006000|
2482 sv_pvutf8n||5.006000|
2483 sv_pvutf8||5.006000|
2484 sv_pv||5.006000|
2485 sv_recode_to_utf8||5.007003|
2486 sv_reftype|||
2487 sv_ref||5.015004|
2488 sv_replace|||
2489 sv_report_used|||
2490 sv_resetpvn|||
2491 sv_reset|||
2492 sv_rvweaken||5.006000|
2493 sv_sethek|||
2494 sv_setiv_mg|5.004050||p
2495 sv_setiv|||
2496 sv_setnv_mg|5.006000||p
2497 sv_setnv|||
2498 sv_setpv_mg|5.004050||p
2499 sv_setpvf_mg_nocontext|||pvn
2500 sv_setpvf_mg|5.006000|5.004000|pv
2501 sv_setpvf_nocontext|||vn
2502 sv_setpvf||5.004000|v
2503 sv_setpviv_mg||5.008001|
2504 sv_setpviv||5.008001|
2505 sv_setpvn_mg|5.004050||p
2506 sv_setpvn|||
2507 sv_setpvs_mg||5.013006|
2508 sv_setpvs|5.009004||p
2509 sv_setpv|||
2510 sv_setref_iv|||
2511 sv_setref_nv|||
2512 sv_setref_pvn|||
2513 sv_setref_pvs||5.024000|
2514 sv_setref_pv|||
2515 sv_setref_uv||5.007001|
2516 sv_setsv_flags||5.007002|
2517 sv_setsv_mg|5.004050||p
2518 sv_setsv_nomg|5.007002||p
2519 sv_setsv|||
2520 sv_setuv_mg|5.004050||p
2521 sv_setuv|5.004000||p
2522 sv_tainted||5.004000|
2523 sv_taint||5.004000|
2524 sv_true||5.005000|
2525 sv_unglob|||
2526 sv_uni_display||5.007003|
2527 sv_unmagicext|5.013008||p
2528 sv_unmagic|||
2529 sv_unref_flags||5.007001|
2530 sv_unref|||
2531 sv_untaint||5.004000|
2532 sv_upgrade|||
2533 sv_usepvn_flags||5.009004|
2534 sv_usepvn_mg|5.004050||p
2535 sv_usepvn|||
2536 sv_utf8_encode||5.006000|
2537 sv_utf8_upgrade_flags_grow||5.011000|
2538 sv_utf8_upgrade_flags||5.007002|
2539 sv_utf8_upgrade_nomg||5.007002|
2540 sv_utf8_upgrade||5.007001|
2541 sv_uv|5.005000||p
3125 sv_upgrade|5.003007|5.003007|
3126 SvUPGRADE|5.003007|5.003007|
3127 sv_usepvn|5.003007|5.003007|
3128 sv_usepvn_flags|5.009004|5.009004|
3129 sv_usepvn_mg|5.004005|5.003007|p
3130 SvUTF8|5.006000|5.003007|p
3131 sv_utf8_decode|5.006000|5.006000|
3132 sv_utf8_downgrade|5.006000|5.006000|
3133 sv_utf8_downgrade_flags|5.031004|5.031004|
3134 sv_utf8_downgrade_nomg|5.031004|5.031004|
3135 sv_utf8_encode|5.006000|5.006000|
3136 SV_UTF8_NO_ENCODING|5.008001|5.003007|poVu
3137 SvUTF8_off|5.006000|5.006000|
3138 SvUTF8_on|5.006000|5.006000|
3139 sv_utf8_upgrade|5.007001|5.007001|
3140 sv_utf8_upgrade_flags|5.007002|5.007002|
3141 sv_utf8_upgrade_flags_grow|5.011000|5.011000|
3142 sv_utf8_upgrade_nomg|5.007002|5.007002|
3143 SvUV|5.004000|5.003007|p
3144 sv_uv|5.005000|5.003007|pd
3145 SvUV_nomg|5.009001|5.003007|p
3146 SvUV_set|5.009003|5.003007|p
3147 SvUVX|5.004000|5.003007|p
3148 SvUVx|5.004000|5.003007|p
3149 SvUVXx|5.004000|5.003007|pd
3150 sv_vcatpvf|5.006000|5.004000|p
25423151 sv_vcatpvf_mg|5.006000|5.004000|p
2543 sv_vcatpvfn_flags||5.017002|
2544 sv_vcatpvfn||5.004000|
2545 sv_vcatpvf|5.006000|5.004000|p
3152 sv_vcatpvfn|5.004000|5.004000|
3153 sv_vcatpvfn_flags|5.017002|5.017002|
3154 SvVOK|5.008001|5.008001|
3155 sv_vsetpvf|5.006000|5.004000|p
25463156 sv_vsetpvf_mg|5.006000|5.004000|p
2547 sv_vsetpvfn||5.004000|
2548 sv_vsetpvf|5.006000|5.004000|p
2549 svtype|||
2550 swallow_bom|||
2551 swatch_get|||
2552 sync_locale||5.021004|
2553 sys_init3||5.010000|n
2554 sys_init||5.010000|n
2555 sys_intern_clear|||
2556 sys_intern_dup|||
2557 sys_intern_init|||
2558 sys_term||5.010000|n
2559 taint_env|||
2560 taint_proper|||
2561 tied_method|||v
2562 tmps_grow_p|||
2563 toFOLD_utf8||5.019001|
2564 toFOLD_uvchr||5.023009|
2565 toFOLD||5.019001|
2566 toLOWER_L1||5.019001|
2567 toLOWER_LC||5.004000|
2568 toLOWER_utf8||5.015007|
2569 toLOWER_uvchr||5.023009|
2570 toLOWER|||
2571 toTITLE_utf8||5.015007|
2572 toTITLE_uvchr||5.023009|
2573 toTITLE||5.019001|
2574 toUPPER_utf8||5.015007|
2575 toUPPER_uvchr||5.023009|
2576 toUPPER|||
2577 to_byte_substr|||
2578 to_lower_latin1|||n
2579 to_utf8_fold||5.015007|
2580 to_utf8_lower||5.015007|
2581 to_utf8_substr|||
2582 to_utf8_title||5.015007|
2583 to_utf8_upper||5.015007|
2584 tokenize_use|||
2585 tokeq|||
2586 tokereport|||
2587 too_few_arguments_pv|||
2588 too_many_arguments_pv|||
2589 translate_substr_offsets|||n
2590 try_amagic_bin|||
2591 try_amagic_un|||
2592 uiv_2buf|||n
2593 unlnk|||
2594 unpack_rec|||
2595 unpack_str||5.007003|
2596 unpackstring||5.008001|
2597 unreferenced_to_tmp_stack|||
2598 unshare_hek_or_pvn|||
2599 unshare_hek|||
2600 unsharepvn||5.003070|
2601 unwind_handler_stack|||
2602 update_debugger_info|||
2603 upg_version||5.009005|
2604 usage|||
2605 utf16_textfilter|||
2606 utf16_to_utf8_reversed||5.006001|
2607 utf16_to_utf8||5.006001|
2608 utf8_distance||5.006000|
2609 utf8_hop||5.006000|n
2610 utf8_length||5.007001|
2611 utf8_mg_len_cache_update|||
2612 utf8_mg_pos_cache_update|||
2613 utf8_to_uvchr_buf||5.015009|
2614 utf8n_to_uvchr||5.007001|
2615 utf8n_to_uvuni||5.007001|
2616 utilize|||
2617 uvchr_to_utf8_flags||5.007003|
2618 uvchr_to_utf8||5.007001|
2619 uvoffuni_to_utf8_flags||5.019004|
2620 uvuni_to_utf8_flags||5.007003|
2621 uvuni_to_utf8||5.007001|
2622 validate_suid|||
2623 varname|||
2624 vcmp||5.009000|
2625 vcroak||5.006000|
2626 vdeb||5.007003|
2627 vform||5.006000|
2628 visit|||
2629 vivify_defelem|||
2630 vivify_ref|||
2631 vload_module|5.006000||p
2632 vmess|5.006000|5.006000|p
2633 vnewSVpvf|5.006000|5.004000|p
2634 vnormal||5.009002|
2635 vnumify||5.009000|
2636 vstringify||5.009000|
2637 vverify||5.009003|
2638 vwarner||5.006000|
2639 vwarn||5.006000|
2640 wait4pid|||
2641 warn_nocontext|||pvn
2642 warn_sv|5.013001||p
2643 warner_nocontext|||vn
2644 warner|5.006000|5.004000|pv
2645 warn|||v
2646 was_lvalue_sub|||
2647 watch|||
2648 whichsig_pvn||5.015004|
2649 whichsig_pv||5.015004|
2650 whichsig_sv||5.015004|
2651 whichsig|||
2652 win32_croak_not_implemented|||n
2653 with_queued_errors|||
2654 wrap_op_checker||5.015008|
2655 write_to_stderr|||
2656 xs_boot_epilog|||
2657 xs_handshake|||vn
2658 xs_version_bootcheck|||
2659 yyerror_pvn|||
2660 yyerror_pv|||
2661 yyerror|||
2662 yylex|||
2663 yyparse|||
2664 yyunlex|||
2665 yywarn|||
3157 sv_vsetpvfn|5.004000|5.004000|
3158 SvVSTRING_mg|5.009004||pVu
3159 swallow_bom|5.006001||Viu
3160 switch_category_locale_to_template|5.027009||Viu
3161 switch_to_global_locale|5.027009|5.003007|pn
3162 sync_locale|5.027009|5.003007|pn
3163 sys_init3|5.010000|5.010000|nu
3164 sys_init|5.010000|5.010000|nu
3165 sys_intern_clear|5.006001||Vu
3166 sys_intern_dup|5.006000||Vu
3167 sys_intern_init|5.006001||Vu
3168 sys_term|5.010000|5.010000|nu
3169 taint_env|5.003007|5.003007|u
3170 taint_proper|5.003007|5.003007|u
3171 THIS|5.003007|5.003007|V
3172 thread_locale_init|5.027009|5.027009|nxu
3173 thread_locale_term|5.027009|5.027009|nxu
3174 tied_method|5.013009||vViu
3175 tmps_grow_p|5.021005||cViu
3176 to_byte_substr|5.008000||Viu
3177 toFOLD|5.019001|5.019001|
3178 _to_fold_latin1|5.015005||ncViu
3179 toFOLD_utf8|5.031005|5.031005|
3180 toFOLD_utf8_safe|5.025009|5.006000|p
3181 toFOLD_uvchr|5.023009|5.006000|p
3182 tokenize_use|5.009003||Viu
3183 tokeq|5.005000||Viu
3184 tokereport|5.007001||Viu
3185 toLOWER|5.003007|5.003007|
3186 toLOWER_L1|5.019001|5.019001|
3187 to_lower_latin1|5.015005||nViu
3188 toLOWER_LC|5.004000|5.004000|
3189 toLOWER_utf8|5.031005|5.031005|
3190 toLOWER_utf8_safe|5.025009|5.006000|p
3191 toLOWER_uvchr|5.023009|5.006000|p
3192 too_few_arguments_pv|5.016000||Viu
3193 too_many_arguments_pv|5.016000||Viu
3194 TOPMARK|||ciu
3195 toTITLE|5.019001|5.019001|
3196 toTITLE_utf8|5.031005|5.031005|
3197 toTITLE_utf8_safe|5.025009|5.006000|p
3198 toTITLE_uvchr|5.023009|5.006000|p
3199 to_uni_fold|5.031004||cVu
3200 _to_uni_fold_flags|5.014000||cVu
3201 to_uni_lower|5.006000||cVu
3202 to_uni_title|5.006000||cVu
3203 to_uni_upper|5.006000||cVu
3204 toUPPER|5.003007|5.003007|
3205 _to_upper_title_latin1|5.015005||Viu
3206 toUPPER_utf8|5.031005|5.031005|
3207 toUPPER_utf8_safe|5.025009|5.006000|p
3208 toUPPER_uvchr|5.023009|5.006000|p
3209 _to_utf8_case|5.023006||Viu
3210 _to_utf8_fold_flags|5.014000||cVu
3211 _to_utf8_lower_flags|5.015006||cVu
3212 to_utf8_substr|5.008000||Viu
3213 _to_utf8_title_flags|5.015006||cVu
3214 _to_utf8_upper_flags|5.015006||cVu
3215 translate_substr_offsets|5.015006||nViu
3216 traverse_op_tree|5.029008||Vi
3217 try_amagic_bin|||ciu
3218 try_amagic_un|||ciu
3219 turkic_fc|5.029008||Viu
3220 turkic_lc|5.029008||Viu
3221 turkic_uc|5.029008||Viu
3222 U16SIZE|5.006000|5.006000|
3223 U16TYPE|5.006000|5.006000|
3224 U32SIZE|5.006000|5.006000|
3225 U32TYPE|5.006000|5.006000|
3226 U8SIZE|5.006000|5.006000|
3227 U8TYPE|5.006000|5.006000|
3228 uiv_2buf|5.009003||nViu
3229 UNDERBAR|5.009002|5.003007|p
3230 unexpected_non_continuation_text|5.025006||Viu
3231 UNICODE_REPLACEMENT|5.007001|5.003007|p
3232 UNI_TO_NATIVE|5.007001|5.003007|p
3233 UNLIKELY|5.009004|5.003007|p
3234 unlnk|5.003007||Vu
3235 unpack_rec|5.008001||Viu
3236 unpack_str|5.007003|5.007003|d
3237 unpackstring|5.008001|5.008001|
3238 unreferenced_to_tmp_stack|5.013002||Viu
3239 unshare_hek|5.004000||Viu
3240 unshare_hek_or_pvn|5.008000||Viu
3241 unsharepvn|5.003007|5.003007|u
3242 unwind_handler_stack|5.009003||Viu
3243 update_debugger_info|5.009005||Viu
3244 upg_version|5.009005|5.009005|
3245 usage|5.005000||Viu
3246 utf16_textfilter|5.011001||Viu
3247 utf16_to_utf8|5.006000||cViu
3248 utf16_to_utf8_reversed|5.006000||cViu
3249 UTF8_CHECK_ONLY|5.007001|5.007001|
3250 UTF8_CHK_SKIP|5.031006|5.006000|p
3251 UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE|5.025005|5.025005|
3252 UTF8_DISALLOW_ILLEGAL_INTERCHANGE|5.013009|5.013009|
3253 UTF8_DISALLOW_NONCHAR|5.013009|5.013009|
3254 UTF8_DISALLOW_PERL_EXTENDED|5.027002|5.027002|
3255 UTF8_DISALLOW_SUPER|5.013009|5.013009|
3256 UTF8_DISALLOW_SURROGATE|5.013009|5.013009|
3257 utf8_distance|5.006000|5.006000|
3258 UTF8f|5.019001|5.003007|p
3259 UTF8fARG|5.019002|5.003007|p
3260 utf8_hop|5.006000|5.006000|n
3261 utf8_hop_back|5.025007|5.025007|n
3262 utf8_hop_forward|5.025007|5.025007|n
3263 utf8_hop_safe|5.025007|5.025007|n
3264 UTF8_IS_INVARIANT|5.007001|5.003007|p
3265 UTF8_IS_NONCHAR|5.023002|5.023002|
3266 UTF8_IS_SUPER|5.023002|5.023002|
3267 UTF8_IS_SURROGATE|5.023002|5.023002|
3268 utf8_length|5.007001|5.007001|
3269 UTF8_MAXBYTES|5.009002|5.006000|p
3270 UTF8_MAXBYTES_CASE|5.009002|5.003007|p
3271 utf8_mg_len_cache_update|5.013003||Viu
3272 utf8_mg_pos_cache_update|5.009004||Viu
3273 utf8n_to_uvchr|5.007001|5.007001|n
3274 utf8n_to_uvchr_error|5.025006|5.025006|n
3275 utf8n_to_uvchr_msgs|5.027009|5.027009|nx
3276 _utf8n_to_uvchr_msgs_helper|5.029001||ncVu
3277 utf8n_to_uvuni|5.007001||cV
3278 UTF8_SAFE_SKIP|5.029009|5.006000|p
3279 UTF8SKIP|5.006000|5.006000|
3280 UTF8_SKIP|5.023002|5.006000|p
3281 utf8_to_bytes|5.006001|5.006001|x
3282 utf8_to_uvchr|5.007001|5.006001|pd
3283 utf8_to_uvchr_buf|5.015009|5.006001|p
3284 utf8_to_uvchr_buf_helper|5.031004||cVu
3285 utf8_to_uvuni|5.007001||dcV
3286 utf8_to_uvuni_buf|5.015009||dcV
3287 UTF8_WARN_ILLEGAL_C9_INTERCHANGE|5.025005|5.025005|
3288 UTF8_WARN_ILLEGAL_INTERCHANGE|5.013009|5.013009|
3289 UTF8_WARN_NONCHAR|5.013009|5.013009|
3290 UTF8_WARN_PERL_EXTENDED|5.027002|5.027002|
3291 UTF8_WARN_SUPER|5.013009|5.013009|
3292 UTF8_WARN_SURROGATE|5.013009|5.013009|
3293 utilize|5.003007||Viu
3294 UVCHR_IS_INVARIANT|5.019004|5.003007|p
3295 UVCHR_SKIP|5.022000|5.003007|p
3296 uvchr_to_utf8|5.007001|5.007001|
3297 uvchr_to_utf8_flags|5.007003|5.007003|
3298 uvchr_to_utf8_flags_msgs|5.027009|5.027009|x
3299 UVof|5.006000|5.003007|p
3300 uvoffuni_to_utf8_flags|||c
3301 uvoffuni_to_utf8_flags_msgs|5.027009||cVu
3302 UVSIZE|5.006000|5.003007|p
3303 UVTYPE|5.006000|5.003007|p
3304 UVuf|5.006000|5.003007|p
3305 uvuni_to_utf8|5.019004||cVu
3306 uvuni_to_utf8_flags|5.007003||cV
3307 UVxf|5.006000|5.003007|p
3308 UVXf|5.007001|5.007001|p
3309 validate_proto|5.019002||xcVi
3310 validate_suid|||iu
3311 valid_utf8_to_uvchr|5.015009||ncV
3312 valid_utf8_to_uvuni|5.015009||dcVu
3313 variant_byte_number|5.031004||ncVu
3314 variant_under_utf8_count|5.027007||nVi
3315 varname|5.009003||Viu
3316 vcmp|5.009000|5.009000|
3317 vcroak|5.006000|5.006000|
3318 vdeb|5.007003|5.007003|u
3319 vform|5.006000|5.006000|u
3320 visit|5.005000||Viu
3321 vivify_defelem|5.004000||cViu
3322 vivify_ref|5.004000||Viu
3323 vload_module|5.006000|5.003007|pu
3324 vmess|5.006000|5.004000|p
3325 vnewSVpvf|5.006000|5.004000|pu
3326 vnormal|5.009002|5.009002|
3327 vnumify|5.009000|5.009000|
3328 vstringify|5.009000|5.009000|
3329 vverify|5.009003|5.009003|
3330 vwarn|5.006000|5.006000|
3331 vwarner|5.006000|5.006000|u
3332 wait4pid|5.003007||Viu
3333 warn|5.006000|5.003007|v
3334 WARN_ALL|5.006000|5.003007|p
3335 WARN_AMBIGUOUS|5.006000|5.003007|p
3336 WARN_ASSERTIONS||5.003007|pou
3337 WARN_BAREWORD|5.006000|5.003007|p
3338 WARN_CLOSED|5.006000|5.003007|p
3339 WARN_CLOSURE|5.006000|5.003007|p
3340 WARN_DEBUGGING|5.006000|5.003007|p
3341 WARN_DEPRECATED|5.006000|5.003007|p
3342 WARN_DIGIT|5.006000|5.003007|p
3343 warner|5.006000|5.004000|pvu
3344 warner_nocontext|5.006000||vnVu
3345 WARN_EXEC|5.006000|5.003007|p
3346 WARN_EXITING|5.006000|5.003007|p
3347 WARN_EXPERIMENTAL|5.017004|5.017004|
3348 WARN_EXPERIMENTAL__ALPHA_ASSERTIONS|5.027009|5.027009|
3349 WARN_EXPERIMENTAL__BITWISE|5.021009|5.021009|
3350 WARN_EXPERIMENTAL__CONST_ATTR|5.021008|5.021008|
3351 WARN_EXPERIMENTAL__DECLARED_REFS|5.025003|5.025003|
3352 WARN_EXPERIMENTAL__ISA|||
3353 WARN_EXPERIMENTAL__LEXICAL_SUBS|5.017005|5.017005|
3354 WARN_EXPERIMENTAL__POSTDEREF|5.019005|5.019005|
3355 WARN_EXPERIMENTAL__PRIVATE_USE|5.029009|5.029009|
3356 WARN_EXPERIMENTAL__REFALIASING|5.021005|5.021005|
3357 WARN_EXPERIMENTAL__REGEX_SETS|5.017008|5.017008|
3358 WARN_EXPERIMENTAL__RE_STRICT|5.021008|5.021008|
3359 WARN_EXPERIMENTAL__SCRIPT_RUN|5.027008|5.027008|
3360 WARN_EXPERIMENTAL__SIGNATURES|5.019009|5.019009|
3361 WARN_EXPERIMENTAL__SMARTMATCH|5.017011|5.017011|
3362 WARN_EXPERIMENTAL__UNIPROP_WILDCARDS|5.029009|5.029009|
3363 WARN_EXPERIMENTAL__VLB|5.029009|5.029009|
3364 WARN_EXPERIMENTAL__WIN32_PERLIO|5.021001|5.021001|
3365 WARN_GLOB|5.006000|5.003007|p
3366 WARN_ILLEGALPROTO|5.011004|5.011004|
3367 WARN_IMPRECISION|5.011000|5.011000|
3368 WARN_INPLACE|5.006000|5.003007|p
3369 WARN_INTERNAL|5.006000|5.003007|p
3370 WARN_IO|5.006000|5.003007|p
3371 WARN_LAYER|5.008000|5.003007|p
3372 WARN_LOCALE|5.021006|5.021006|
3373 WARN_MALLOC|5.006000|5.003007|p
3374 WARN_MISC|5.006000|5.003007|p
3375 WARN_MISSING|5.021002|5.021002|
3376 WARN_NEWLINE|5.006000|5.003007|p
3377 warn_nocontext|5.006000||pvnVu
3378 WARN_NONCHAR|5.013010|5.013010|
3379 WARN_NON_UNICODE|5.013010|5.013010|
3380 WARN_NUMERIC|5.006000|5.003007|p
3381 WARN_ONCE|5.006000|5.003007|p
3382 warn_on_first_deprecated_use|5.025009||Viu
3383 WARN_OVERFLOW|5.006000|5.003007|p
3384 WARN_PACK|5.006000|5.003007|p
3385 WARN_PARENTHESIS|5.006000|5.003007|p
3386 WARN_PIPE|5.006000|5.003007|p
3387 WARN_PORTABLE|5.006000|5.003007|p
3388 WARN_PRECEDENCE|5.006000|5.003007|p
3389 WARN_PRINTF|5.006000|5.003007|p
3390 _warn_problematic_locale|5.021008||ncViu
3391 WARN_PROTOTYPE|5.006000|5.003007|p
3392 WARN_QW|5.006000|5.003007|p
3393 WARN_RECURSION|5.006000|5.003007|p
3394 WARN_REDEFINE|5.006000|5.003007|p
3395 WARN_REDUNDANT|5.021002|5.021002|
3396 WARN_REGEXP|5.006000|5.003007|p
3397 WARN_RESERVED|5.006000|5.003007|p
3398 WARN_SEMICOLON|5.006000|5.003007|p
3399 WARN_SEVERE|5.006000|5.003007|p
3400 WARN_SHADOW|5.027007|5.027007|
3401 WARN_SIGNAL|5.006000|5.003007|p
3402 WARN_SUBSTR|5.006000|5.003007|p
3403 WARN_SURROGATE|5.013010|5.013010|
3404 warn_sv|5.013001|5.003007|p
3405 WARN_SYNTAX|5.006000|5.003007|p
3406 WARN_SYSCALLS|5.019004|5.019004|
3407 WARN_TAINT|5.006000|5.003007|p
3408 WARN_THREADS|5.008000|5.003007|p
3409 WARN_UNINITIALIZED|5.006000|5.003007|p
3410 WARN_UNOPENED|5.006000|5.003007|p
3411 WARN_UNPACK|5.006000|5.003007|p
3412 WARN_UNTIE|5.006000|5.003007|p
3413 WARN_UTF8|5.006000|5.003007|p
3414 WARN_VOID|5.006000|5.003007|p
3415 was_lvalue_sub|||ciu
3416 watch|5.003007||Viu
3417 whichsig|5.003007|5.003007|u
3418 whichsig_pv|5.015004|5.015004|u
3419 whichsig_pvn|5.015004|5.015004|u
3420 whichsig_sv|5.015004|5.015004|u
3421 WIDEST_UTYPE|5.015004|5.003007|p
3422 win32_croak_not_implemented|5.017006||nViu
3423 win32_setlocale|5.027006||Viu
3424 WITH_LC_NUMERIC_SET_TO_NEEDED|5.031003|5.031003|
3425 WITH_LC_NUMERIC_SET_TO_NEEDED_IN|5.031003|5.031003|
3426 with_queued_errors|5.013001||Viu
3427 wrap_keyword_plugin|5.027006|5.027006|x
3428 wrap_op_checker|5.015008|5.015008|
3429 write_to_stderr|5.008001||Viu
3430 XCPT_CATCH|5.009002|5.003007|p
3431 XCPT_RETHROW|5.009002|5.003007|p
3432 XCPT_TRY_END|5.009002|5.003007|p
3433 XCPT_TRY_START|5.009002|5.003007|p
3434 XopDISABLE|5.013007|5.013007|V
3435 XopENABLE|5.013007|5.013007|V
3436 XopENTRY|5.013007|5.013007|V
3437 XopENTRYCUSTOM|5.019006|5.013007|V
3438 XopENTRY_set|5.013007|5.013007|V
3439 XopFLAGS|5.013007|5.013007|
3440 XPUSHi|5.003007|5.003007|
3441 XPUSHmortal|5.009002|5.003007|p
3442 XPUSHn|5.006000|5.003007|
3443 XPUSHp|5.003007|5.003007|
3444 XPUSHs|5.003007|5.003007|
3445 XPUSHu|5.004000|5.003007|p
3446 XS|5.003007|5.003007|V
3447 XS_APIVERSION_BOOTCHECK|5.013004|5.013004|
3448 xs_boot_epilog|5.021006||cViu
3449 XS_EXTERNAL|5.015002|5.015002|V
3450 xs_handshake|||vnciu
3451 XS_INTERNAL|5.015002|5.015002|V
3452 XSprePUSH|5.006000|5.003007|poVu
3453 XSPROTO|5.010000||pVu
3454 XSRETURN|5.003007|5.003007|p
3455 XSRETURN_EMPTY|5.003007|5.003007|
3456 XSRETURN_IV|5.003007|5.003007|
3457 XSRETURN_NO|5.003007|5.003007|
3458 XSRETURN_NV|5.006000|5.003007|
3459 XSRETURN_PV|5.003007|5.003007|
3460 XSRETURN_UNDEF|5.003007|5.003007|
3461 XSRETURN_UV|5.008001|5.003007|p
3462 XSRETURN_YES|5.003007|5.003007|
3463 XST_mIV|5.003007|5.003007|
3464 XST_mNO|5.003007|5.003007|
3465 XST_mNV|5.006000|5.003007|
3466 XST_mPV|5.003007|5.003007|
3467 XST_mUNDEF|5.003007|5.003007|
3468 XST_mUV|5.008001|5.003007|p
3469 XST_mYES|5.003007|5.003007|
3470 XS_VERSION|5.003007|5.003007|
3471 XS_VERSION_BOOTCHECK|5.003007|5.003007|
3472 xs_version_bootcheck|||iu
3473 yyerror|5.003007||Viu
3474 yyerror_pv|5.016000||Viu
3475 yyerror_pvn|5.016000||Viu
3476 yylex|5.003007||cViu
3477 yyparse|5.003007||Viu
3478 yyquit|5.025010||Viu
3479 yyunlex|5.013005||Viu
3480 yywarn|5.003007||Viu
3481 Zero|5.003007|5.003007|
3482 ZeroD|5.009002|5.003007|p
26663483 );
26673484
26683485 if (exists $opt{'list-unsupported'}) {
26693486 my $f;
2670 for $f (sort { lc $a cmp lc $b } keys %API) {
3487 for $f (sort dictionary_order keys %API) {
3488 next if $API{$f}{core_only};
3489 next if $API{$f}{beyond_depr};
3490 next if $API{$f}{inaccessible};
3491 next if $API{$f}{experimental};
26713492 next unless $API{$f}{todo};
3493 next if int_parse_version($API{$f}{todo}) <= $int_min_perl;
26723494 print "$f ", '.'x(40-length($f)), " ", format_version($API{$f}{todo}), "\n";
26733495 }
26743496 exit 0;
26753497 }
26763498
2677 # Scan for possible replacement candidates
3499 # Scan for hints, possible replacement candidates, etc.
26783500
26793501 my(%replace, %need, %hints, %warnings, %depends);
26803502 my $replace = 0;
26823504
26833505 sub find_api
26843506 {
3507 BEGIN { 'warnings'->unimport('uninitialized') if "$]" > '5.006' }
26853508 my $code = shift;
26863509 $code =~ s{
26873510 / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]*)
26923515
26933516 while (<DATA>) {
26943517 if ($hint) {
3518
3519 # Here, we are in the middle of accumulating a hint or warning.
3520 my $end_of_hint = 0;
3521
3522 # A line containing a comment end marker closes the hint. Remove that
3523 # marker for processing below.
3524 if (s/\s*$rcce(.*?)\s*$//) {
3525 die "Nothing can follow the end of comment in '$_'\n" if length $1 > 0;
3526 $end_of_hint = 1;
3527 }
3528
3529 # Set $h to the hash of which type.
26953530 my $h = $hint->[0] eq 'Hint' ? \%hints : \%warnings;
2696 if (m{^\s*\*\s(.*?)\s*$}) {
2697 for (@{$hint->[1]}) {
2698 $h->{$_} ||= ''; # suppress warning with older perls
2699 $h->{$_} .= "$1\n";
2700 }
3531
3532 # Ignore any leading and trailing white space, and an optional star comment
3533 # continuation marker, then place the meat of the line into $1
3534 m/^\s*(?:\*\s*)?(.*?)\s*$/;
3535
3536 # Add the meat of this line to the hash value of each API element it
3537 # applies to
3538 for (@{$hint->[1]}) {
3539 $h->{$_} ||= ''; # avoid the warning older perls generate
3540 $h->{$_} .= "$1\n";
27013541 }
2702 else { undef $hint }
3542
3543 # If the line had a comment close, we are through with this hint
3544 undef $hint if $end_of_hint;
3545
3546 next;
27033547 }
27043548
2705 $hint = [$1, [split /,?\s+/, $2]]
2706 if m{^\s*$rccs\s+(Hint|Warning):\s+(\w+(?:,?\s+\w+)*)\s*$};
2707
2708 if ($define) {
3549 # Set up $hint if this is the beginning of a Hint: or Warning:
3550 # These are from a multi-line C comment in the file, with the first line
3551 # looking like (a space has been inserted because this file can't have C
3552 # comment markers in it):
3553 # / * Warning: PL_expect, PL_copline, PL_rsfp
3554 #
3555 # $hint becomes
3556 # [
3557 # 'Warning',
3558 # [
3559 # 'PL_expect',
3560 # 'PL_copline',
3561 # 'PL_rsfp',
3562 # ],
3563 # ]
3564 if (m{^\s*$rccs\s+(Hint|Warning):\s+(\w+(?:,?\s+\w+)*)\s*$}) {
3565 $hint = [$1, [split /,?\s+/, $2]];
3566 next;
3567 }
3568
3569 if ($define) { # If in the middle of a definition...
3570
3571 # append a continuation line ending with backslash.
27093572 if ($define->[1] =~ /\\$/) {
27103573 $define->[1] .= $_;
27113574 }
2712 else {
3575 else { # Otherwise this line ends the definition, make foo depend on bar
3576 # (and what bar depends on) if its not one of ppp's own constructs
27133577 if (exists $API{$define->[0]} && $define->[1] !~ /^DPPP_\(/) {
27143578 my @n = find_api($define->[1]);
27153579 push @{$depends{$define->[0]}}, @n if @n
27183582 }
27193583 }
27203584
3585 # For '#define foo bar' or '#define foo(a,b,c) bar', $define becomes a
3586 # reference to [ foo, bar ]
27213587 $define = [$1, $2] if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(.*)};
27223588
27233589 if ($function) {
27353601
27363602 $function = [$1, ''] if m{^DPPP_\(my_(\w+)\)};
27373603
3604 # Set $replace to the number given for lines that look like
3605 # / * Replace: \d+ * /
3606 # (blanks added to keep real C comments from appearing in this file)
3607 # Thus setting it to 1 starts a region where replacements are automatically
3608 # done, and setting it to 0 ends that region.
27383609 $replace = $1 if m{^\s*$rccs\s+Replace:\s+(\d+)\s+$rcce\s*$};
3610
3611 # Add bar => foo to %replace for lines like '#define foo bar in a region
3612 # where $replace is non-zero
27393613 $replace{$2} = $1 if $replace and m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+)};
3614
3615 # Add bar => foo to %replace for lines like '#define foo bar / * Replace * /
3616 # (blanks added to keep real C comments from appearing in this file)
27403617 $replace{$2} = $1 if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+).*$rccs\s+Replace\s+$rcce};
3618
3619 # Add foo => bar to %replace for lines like / * Replace foo with bar * /
3620 # (blanks added to keep real C comments from appearing in this file)
27413621 $replace{$1} = $2 if m{^\s*$rccs\s+Replace (\w+) with (\w+)\s+$rcce\s*$};
27423622
3623 # For lines like / * foo, bar depends on baz, bat * /
3624 # create a list of the elements on the rhs, and make that list apply to each
3625 # element in the lhs, which becomes a key in \%depends.
3626 # (blanks added to keep real C comments from appearing in this file)
27433627 if (m{^\s*$rccs\s+(\w+(\s*,\s*\w+)*)\s+depends\s+on\s+(\w+(\s*,\s*\w+)*)\s+$rcce\s*$}) {
27443628 my @deps = map { s/\s+//g; $_ } split /,/, $3;
27453629 my $d;
27523636 }
27533637
27543638 for (values %depends) {
2755 my %s;
2756 $_ = [sort grep !$s{$_}++, @$_];
3639 my %seen;
3640 $_ = [sort dictionary_order grep !$seen{$_}++, @$_];
27573641 }
27583642
27593643 if (exists $opt{'api-info'}) {
27603644 my $f;
27613645 my $count = 0;
27623646 my $match = $opt{'api-info'} =~ m!^/(.*)/$! ? $1 : "^\Q$opt{'api-info'}\E\$";
2763 for $f (sort { lc $a cmp lc $b } keys %API) {
3647 for $f (sort dictionary_order keys %API) {
27643648 next unless $f =~ /$match/;
2765 print "\n=== $f ===\n\n";
3649 print "\n=== $f ===\n";
27663650 my $info = 0;
2767 if ($API{$f}{base} || $API{$f}{todo}) {
2768 my $base = format_version($API{$f}{base} || $API{$f}{todo});
2769 print "Supported at least starting from perl-$base.\n";
3651 my $base;
3652 $base = int_parse_version($API{$f}{base}) if $API{$f}{base};
3653 my $todo;
3654 $todo = int_parse_version($API{$f}{todo}) if $API{$f}{todo};
3655
3656 # Output information if it is generally publicly usable
3657 if ($base && ! $API{$f}{inaccessible} && ! $API{$f}{core_only}) {
3658 my $with_or= "";
3659 if ( $base <= $int_min_perl
3660 || ( (! $API{$f}{provided} && ! $todo)
3661 || ($todo && $todo >= $base)))
3662 {
3663 $with_or= " with or";
3664 }
3665 print "\nSupported at least since perl-",
3666 format_version($base), ",$with_or without $ppport.";
3667 if ($API{$f}{unverified}) {
3668 print "\nThis information is based on inspection of the source code",
3669 " and has not been\n",
3670 "verified by successful compilation.";
3671 }
3672 print "\n";
3673 $info++;
3674 }
3675 if ($API{$f}{provided} || $todo) {
3676 print "\nThis is only supported by $ppport, and NOT by perl versions going forward.\n" unless $base;
3677 if ($todo) {
3678 if (! $base || $todo < $base) {
3679 my $additionally = "";
3680 $additionally .= " additionally" if $base;
3681 print "$ppport$additionally provides support at least back to perl-",
3682 format_version($todo),
3683 ".\n";
3684 }
3685 }
3686 elsif (! $base || $base > $int_min_perl) {
3687 if (exists $depends{$f}) {
3688 my $max = 0;
3689 for (@{$depends{$f}}) {
3690 $max = int_parse_version($API{$_}{todo}) if $API{$_}{todo} && $API{$_}{todo} > $max;
3691 # XXX What to assume unspecified values are? This effectively makes them MIN_PERL
3692 }
3693 $todo = $max if $max;
3694 }
3695 print "\n$ppport provides support for this, but ironically, does not",
3696 " currently know,\n",
3697 "for this report, the minimum version it supports for this";
3698 if ($API{$f}{undocumented}) {
3699 print " and many things\n",
3700 "it provides that are implemented as macros and aren't",
3701 " documented. You can\n",
3702 "help by submitting a documentation patch";
3703 }
3704 print ".\n";
3705 if ($todo) {
3706 if ($todo <= $int_min_perl) {
3707 print "It may very well be supported all the way back to ",
3708 format_version(5.003_07), ".\n";
3709 }
3710 else {
3711 print "But given the things $f depends on, it's a good",
3712 " guess that it isn't\n",
3713 "supported prior to ", format_version($todo), ".\n";
3714 }
3715 }
3716 }
3717 }
3718 if ($API{$f}{provided}) {
3719 print "Support needs to be explicitly requested by #define NEED_$f\n",
3720 "(or #define NEED_${f}_GLOBAL).\n" if exists $need{$f};
27703721 $info++;
27713722 }
2772 if ($API{$f}{provided}) {
2773 my $todo = $API{$f}{todo} ? format_version($API{$f}{todo}) : "5.003";
2774 print "Support by $ppport provided back to perl-$todo.\n";
2775 print "Support needs to be explicitly requested by NEED_$f.\n" if exists $need{$f};
2776 print "Depends on: ", join(', ', @{$depends{$f}}), ".\n" if exists $depends{$f};
3723
3724 if ($base || ! $API{$f}{ppport_fnc}) {
3725 my $email = "Send email to perl5-porters\@perl.org if you need to have this functionality.\n";
3726 if ($API{$f}{inaccessible}) {
3727 print "\nThis is not part of the public API, and may not even be accessible to XS code.\n";
3728 $info++;
3729 }
3730 elsif ($API{$f}{core_only}) {
3731 print "\nThis is not part of the public API, and should not be used by XS code.\n";
3732 $info++;
3733 }
3734 elsif ($API{$f}{deprecated}) {
3735 print "\nThis is deprecated and should not be used. Convert existing uses.\n";
3736 $info++;
3737 }
3738 elsif ($API{$f}{experimental}) {
3739 print "\nThe API for this is unstable and should not be used by XS code.\n", $email;
3740 $info++;
3741 }
3742 elsif ($API{$f}{undocumented}) {
3743 print "\nSince this is undocumented, the API should be considered unstable.\n";
3744 if ($API{$f}{provided}) {
3745 print "Consider bringing this up on the list: perl5-porters\@perl.org.\n";
3746 }
3747 else {
3748 print "It may be that this is not intended for XS use, or it may just be\n",
3749 "that no one has gotten around to documenting it.\n", $email;
3750 }
3751 $info++;
3752 }
3753 unless ($info) {
3754 print "No portability information available. Check your spelling; or",
3755 " this could be\na bug in Devel::PPPort. To report an issue:\n",
3756 "https://github.com/Dual-Life/Devel-PPPort/issues/new\n";
3757 }
3758 }
3759
3760 print "\nDepends on: ", join(', ', @{$depends{$f}}), ".\n"
3761 if exists $depends{$f};
3762 if (exists $hints{$f} || exists $warnings{$f}) {
27773763 print "\n$hints{$f}" if exists $hints{$f};
27783764 print "\nWARNING:\n$warnings{$f}" if exists $warnings{$f};
27793765 $info++;
27803766 }
2781 print "No portability information available.\n" unless $info;
27823767 $count++;
27833768 }
2784 $count or print "Found no API matching '$opt{'api-info'}'.";
3769
3770 $count or print "\nFound no API matching '$opt{'api-info'}'.";
27853771 print "\n";
27863772 exit 0;
27873773 }
27883774
27893775 if (exists $opt{'list-provided'}) {
27903776 my $f;
2791 for $f (sort { lc $a cmp lc $b } keys %API) {
3777 for $f (sort dictionary_order keys %API) {
27923778 next unless $API{$f}{provided};
27933779 my @flags;
27943780 push @flags, 'explicit' if exists $need{$f};
28943880 $file{uses_Perl}{$func}++ if $c =~ /\bPerl_$func\b/;
28953881 if (exists $API{$func}{provided}) {
28963882 $file{uses_provided}{$func}++;
2897 if (!exists $API{$func}{base} || $API{$func}{base} > $opt{'compat-version'}) {
3883 if ( ! exists $API{$func}{base}
3884 || int_parse_version($API{$func}{base}) > $opt{'compat-version'})
3885 {
28983886 $file{uses}{$func}++;
28993887 my @deps = rec_depend($func);
29003888 if (@deps) {
29083896 }
29093897 }
29103898 }
2911 if (exists $API{$func}{todo} && $API{$func}{todo} > $opt{'compat-version'}) {
3899 if ( exists $API{$func}{todo}
3900 && int_parse_version($API{$func}{todo}) > $opt{'compat-version'})
3901 {
29123902 if ($c =~ /\b$func\b/) {
29133903 $file{uses_todo}{$func}++;
29143904 }
29593949 my $c = $file{code};
29603950 my $warnings = 0;
29613951
2962 for $func (sort keys %{$file{uses_Perl}}) {
3952 for $func (sort dictionary_order keys %{$file{uses_Perl}}) {
29633953 if ($API{$func}{varargs}) {
2964 unless ($API{$func}{nothxarg}) {
3954 unless ($API{$func}{noTHXarg}) {
29653955 my $changes = ($c =~ s{\b(Perl_$func\s*\(\s*)(?!aTHX_?)(\)|[^\s)]*\))}
29663956 { $1 . ($2 eq ')' ? 'aTHX' : 'aTHX_ ') . $2 }ge);
29673957 if ($changes) {
29773967 }
29783968 }
29793969
2980 for $func (sort keys %{$file{uses_replace}}) {
3970 for $func (sort dictionary_order keys %{$file{uses_replace}}) {
29813971 warning("Uses $func instead of $replace{$func}");
29823972 $file{changes} += ($c =~ s/\b$func\b/$replace{$func}/g);
29833973 }
29843974
2985 for $func (sort keys %{$file{uses_provided}}) {
3975 for $func (sort dictionary_order keys %{$file{uses_provided}}) {
29863976 if ($file{uses}{$func}) {
29873977 if (exists $file{uses_deps}{$func}) {
29883978 diag("Uses $func, which depends on ", join(', ', @{$file{uses_deps}{$func}}));
29953985 }
29963986
29973987 unless ($opt{quiet}) {
2998 for $func (sort keys %{$file{uses_todo}}) {
3988 for $func (sort dictionary_order keys %{$file{uses_todo}}) {
3989 next if int_parse_version($API{$func}{todo}) <= $int_min_perl;
29993990 print "*** WARNING: Uses $func, which may not be portable below perl ",
30003991 format_version($API{$func}{todo}), ", even with '$ppport'\n";
30013992 $warnings++;
30023993 }
30033994 }
30043995
3005 for $func (sort keys %{$file{needed_static}}) {
3996 for $func (sort dictionary_order keys %{$file{needed_static}}) {
30063997 my $message = '';
30073998 if (not exists $file{uses}{$func}) {
30083999 $message = "No need to define NEED_$func if $func is never used";
30164007 }
30174008 }
30184009
3019 for $func (sort keys %{$file{needed_global}}) {
4010 for $func (sort dictionary_order keys %{$file{needed_global}}) {
30204011 my $message = '';
30214012 if (not exists $global{uses}{$func}) {
30224013 $message = "No need to define NEED_${func}_GLOBAL if $func is never used";
30404031 if ($file{needs_inc_ppport}) {
30414032 my $pp = '';
30424033
3043 for $func (sort keys %{$file{needs}}) {
4034 for $func (sort dictionary_order keys %{$file{needs}}) {
30444035 my $type = $file{needs}{$func};
30454036 next if $type eq 'extern';
30464037 my $suffix = $type eq 'global' ? '_GLOBAL' : '';
32364227 grep !$s{$_}++, map { ($_, rec_depend($_, $seen)) } @{$depends{$func}};
32374228 }
32384229
3239 sub parse_version
3240 {
3241 my $ver = shift;
3242
3243 if ($ver =~ /^(\d+)\.(\d+)\.(\d+)$/) {
3244 return ($1, $2, $3);
3245 }
3246 elsif ($ver !~ /^\d+\.[\d_]+$/) {
3247 die "cannot parse version '$ver'\n";
3248 }
3249
3250 $ver =~ s/_//g;
3251 $ver =~ s/$/000000/;
3252
3253 my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/;
3254
3255 $v = int $v;
3256 $s = int $s;
3257
3258 if ($r < 5 || ($r == 5 && $v < 6)) {
3259 if ($s % 10) {
3260 die "cannot parse version '$ver'\n";
3261 }
3262 }
3263
3264 return ($r, $v, $s);
3265 }
3266
3267 sub format_version
3268 {
3269 my $ver = shift;
3270
3271 $ver =~ s/$/000000/;
3272 my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/;
3273
3274 $v = int $v;
3275 $s = int $s;
3276
3277 if ($r < 5 || ($r == 5 && $v < 6)) {
3278 if ($s % 10) {
3279 die "invalid version '$ver'\n";
3280 }
3281 $s /= 10;
3282
3283 $ver = sprintf "%d.%03d", $r, $v;
3284 $s > 0 and $ver .= sprintf "_%02d", $s;
3285
3286 return $ver;
3287 }
3288
3289 return sprintf "%d.%d.%d", $r, $v, $s;
3290 }
3291
32924230 sub info
32934231 {
32944232 $opt{quiet} and return;
34444382 # define dTHX dNOOP
34454383 #endif
34464384
4385 /* Hint: dTHX
4386
4387 For pre-5.6.0 thread compatibility, instead use dTHXR, available only through
4388 ppport.h */
34474389 #ifndef dTHXa
34484390 # define dTHXa(x) dNOOP
34494391 #endif
34594401 # define aTHX
34604402 #endif
34614403
4404 /* Hint: aTHX
4405
4406 For pre-5.6.0 thread compatibility, instead use aTHXR, available only through
4407 ppport.h */
34624408 #ifndef aTHX_
34634409 # define aTHX_
34644410 #endif
4411
4412 /* Hint: aTHX_
4413
4414 For pre-5.6.0 thread compatibility, instead use aTHXR_, available only
4415 through ppport.h */
34654416
34664417 #if (PERL_BCDVERSION < 0x5006000)
34674418 # ifdef USE_THREADS
38264777 #ifndef UVSIZE
38274778 # define UVSIZE IVSIZE
38284779 #endif
3829 #ifndef sv_setuv
3830 # define sv_setuv(sv, uv) \
3831 STMT_START { \
3832 UV TeMpUv = uv; \
3833 if (TeMpUv <= IV_MAX) \
3834 sv_setiv(sv, TeMpUv); \
3835 else \
3836 sv_setnv(sv, (double)TeMpUv); \
3837 } STMT_END
3838 #endif
3839 #ifndef newSVuv
3840 # define newSVuv(uv) ((uv) <= IV_MAX ? newSViv((IV)uv) : newSVnv((NV)uv))
3841 #endif
3842 #ifndef sv_2uv
3843 # define sv_2uv(sv) ((PL_Sv = (sv)), (UV) (SvNOK(PL_Sv) ? SvNV(PL_Sv) : sv_2nv(PL_Sv)))
3844 #endif
3845
3846 #ifndef SvUVX
3847 # define SvUVX(sv) ((UV)SvIVX(sv))
3848 #endif
3849
3850 #ifndef SvUVXx
3851 # define SvUVXx(sv) SvUVX(sv)
3852 #endif
3853
3854 #ifndef SvUV
3855 # define SvUV(sv) (SvIOK(sv) ? SvUVX(sv) : sv_2uv(sv))
3856 #endif
3857
3858 #ifndef SvUVx
3859 # define SvUVx(sv) ((PL_Sv = (sv)), SvUV(PL_Sv))
3860 #endif
3861
3862 /* Hint: sv_uv
3863 * Always use the SvUVx() macro instead of sv_uv().
3864 */
3865 #ifndef sv_uv
3866 # define sv_uv(sv) SvUVx(sv)
3867 #endif
3868
3869 #if !defined(SvUOK) && defined(SvIOK_UV)
3870 # define SvUOK(sv) SvIOK_UV(sv)
3871 #endif
3872 #ifndef XST_mUV
3873 # define XST_mUV(i,v) (ST(i) = sv_2mortal(newSVuv(v)) )
3874 #endif
3875
3876 #ifndef XSRETURN_UV
3877 # define XSRETURN_UV(v) STMT_START { XST_mUV(0,v); XSRETURN(1); } STMT_END
3878 #endif
3879 #ifndef PUSHu
3880 # define PUSHu(u) STMT_START { sv_setuv(TARG, (UV)(u)); PUSHTARG; } STMT_END
3881 #endif
3882
3883 #ifndef XPUSHu
3884 # define XPUSHu(u) STMT_START { sv_setuv(TARG, (UV)(u)); XPUSHTARG; } STMT_END
3885 #endif
3886
3887 #ifdef HAS_MEMCMP
3888 #ifndef memNE
3889 # define memNE(s1,s2,l) (memcmp(s1,s2,l))
3890 #endif
3891
3892 #ifndef memEQ
3893 # define memEQ(s1,s2,l) (!memcmp(s1,s2,l))
3894 #endif
3895
3896 #else
3897 #ifndef memNE
3898 # define memNE(s1,s2,l) (bcmp(s1,s2,l))
3899 #endif
3900
3901 #ifndef memEQ
3902 # define memEQ(s1,s2,l) (!bcmp(s1,s2,l))
3903 #endif
3904
3905 #endif
3906 #ifndef memEQs
3907 # define memEQs(s1, l, s2) \
3908 (sizeof(s2)-1 == l && memEQ(s1, (s2 ""), (sizeof(s2)-1)))
3909 #endif
3910
3911 #ifndef memNEs
3912 # define memNEs(s1, l, s2) !memEQs(s1, l, s2)
3913 #endif
3914 #ifndef MoveD
3915 # define MoveD(s,d,n,t) memmove((char*)(d),(char*)(s), (n) * sizeof(t))
3916 #endif
3917
3918 #ifndef CopyD
3919 # define CopyD(s,d,n,t) memcpy((char*)(d),(char*)(s), (n) * sizeof(t))
3920 #endif
3921
3922 #ifdef HAS_MEMSET
3923 #ifndef ZeroD
3924 # define ZeroD(d,n,t) memzero((char*)(d), (n) * sizeof(t))
3925 #endif
3926
3927 #else
3928 #ifndef ZeroD
3929 # define ZeroD(d,n,t) ((void)memzero((char*)(d), (n) * sizeof(t)), d)
3930 #endif
3931
3932 #endif
3933 #ifndef PoisonWith
3934 # define PoisonWith(d,n,t,b) (void)memset((char*)(d), (U8)(b), (n) * sizeof(t))
3935 #endif
3936
3937 #ifndef PoisonNew
3938 # define PoisonNew(d,n,t) PoisonWith(d,n,t,0xAB)
3939 #endif
3940
3941 #ifndef PoisonFree
3942 # define PoisonFree(d,n,t) PoisonWith(d,n,t,0xEF)
3943 #endif
3944
3945 #ifndef Poison
3946 # define Poison(d,n,t) PoisonFree(d,n,t)
3947 #endif
3948 #ifndef Newx
3949 # define Newx(v,n,t) New(0,v,n,t)
3950 #endif
3951
3952 #ifndef Newxc
3953 # define Newxc(v,n,t,c) Newc(0,v,n,t,c)
3954 #endif
3955
3956 #ifndef Newxz
3957 # define Newxz(v,n,t) Newz(0,v,n,t)
3958 #endif
3959 #ifndef PERL_MAGIC_sv
3960 # define PERL_MAGIC_sv '\0'
3961 #endif
3962
3963 #ifndef PERL_MAGIC_overload
3964 # define PERL_MAGIC_overload 'A'
3965 #endif
3966
3967 #ifndef PERL_MAGIC_overload_elem
3968 # define PERL_MAGIC_overload_elem 'a'
3969 #endif
3970
3971 #ifndef PERL_MAGIC_overload_table
3972 # define PERL_MAGIC_overload_table 'c'
3973 #endif
3974
3975 #ifndef PERL_MAGIC_bm
3976 # define PERL_MAGIC_bm 'B'
3977 #endif
3978
3979 #ifndef PERL_MAGIC_regdata
3980 # define PERL_MAGIC_regdata 'D'
3981 #endif
3982
3983 #ifndef PERL_MAGIC_regdatum
3984 # define PERL_MAGIC_regdatum 'd'
3985 #endif
3986
3987 #ifndef PERL_MAGIC_env
3988 # define PERL_MAGIC_env 'E'
3989 #endif
3990
3991 #ifndef PERL_MAGIC_envelem
3992 # define PERL_MAGIC_envelem 'e'
3993 #endif
3994
3995 #ifndef PERL_MAGIC_fm
3996 # define PERL_MAGIC_fm 'f'
3997 #endif
3998
3999 #ifndef PERL_MAGIC_regex_global
4000 # define PERL_MAGIC_regex_global 'g'
4001 #endif
4002
4003 #ifndef PERL_MAGIC_isa
4004 # define PERL_MAGIC_isa 'I'
4005 #endif
4006
4007 #ifndef PERL_MAGIC_isaelem
4008 # define PERL_MAGIC_isaelem 'i'
4009 #endif
4010
4011 #ifndef PERL_MAGIC_nkeys
4012 # define PERL_MAGIC_nkeys 'k'
4013 #endif
4014
4015 #ifndef PERL_MAGIC_dbfile
4016 # define PERL_MAGIC_dbfile 'L'
4017 #endif
4018
4019 #ifndef PERL_MAGIC_dbline
4020 # define PERL_MAGIC_dbline 'l'
4021 #endif
4022
4023 #ifndef PERL_MAGIC_mutex
4024 # define PERL_MAGIC_mutex 'm'
4025 #endif
4026
4027 #ifndef PERL_MAGIC_shared
4028 # define PERL_MAGIC_shared 'N'
4029 #endif
4030
4031 #ifndef PERL_MAGIC_shared_scalar
4032 # define PERL_MAGIC_shared_scalar 'n'
4033 #endif
4034
4035 #ifndef PERL_MAGIC_collxfrm
4036 # define PERL_MAGIC_collxfrm 'o'
4037 #endif
4038
4039 #ifndef PERL_MAGIC_tied
4040 # define PERL_MAGIC_tied 'P'
4041 #endif
4042
4043 #ifndef PERL_MAGIC_tiedelem
4044 # define PERL_MAGIC_tiedelem 'p'
4045 #endif
4046
4047 #ifndef PERL_MAGIC_tiedscalar
4048 # define PERL_MAGIC_tiedscalar 'q'
4049 #endif
4050
4051 #ifndef PERL_MAGIC_qr
4052 # define PERL_MAGIC_qr 'r'
4053 #endif
4054
4055 #ifndef PERL_MAGIC_sig
4056 # define PERL_MAGIC_sig 'S'
4057 #endif
4058
4059 #ifndef PERL_MAGIC_sigelem
4060 # define PERL_MAGIC_sigelem 's'
4061 #endif
4062
4063 #ifndef PERL_MAGIC_taint
4064 # define PERL_MAGIC_taint 't'
4065 #endif
4066
4067 #ifndef PERL_MAGIC_uvar
4068 # define PERL_MAGIC_uvar 'U'
4069 #endif
4070
4071 #ifndef PERL_MAGIC_uvar_elem
4072 # define PERL_MAGIC_uvar_elem 'u'
4073 #endif
4074
4075 #ifndef PERL_MAGIC_vstring
4076 # define PERL_MAGIC_vstring 'V'
4077 #endif
4078
4079 #ifndef PERL_MAGIC_vec
4080 # define PERL_MAGIC_vec 'v'
4081 #endif
4082
4083 #ifndef PERL_MAGIC_utf8
4084 # define PERL_MAGIC_utf8 'w'
4085 #endif
4086
4087 #ifndef PERL_MAGIC_substr
4088 # define PERL_MAGIC_substr 'x'
4089 #endif
4090
4091 #ifndef PERL_MAGIC_defelem
4092 # define PERL_MAGIC_defelem 'y'
4093 #endif
4094
4095 #ifndef PERL_MAGIC_glob
4096 # define PERL_MAGIC_glob '*'
4097 #endif
4098
4099 #ifndef PERL_MAGIC_arylen
4100 # define PERL_MAGIC_arylen '#'
4101 #endif
4102
4103 #ifndef PERL_MAGIC_pos
4104 # define PERL_MAGIC_pos '.'
4105 #endif
4106
4107 #ifndef PERL_MAGIC_backref
4108 # define PERL_MAGIC_backref '<'
4109 #endif
4110
4111 #ifndef PERL_MAGIC_ext
4112 # define PERL_MAGIC_ext '~'
4113 #endif
4114 #ifndef cBOOL
4115 # define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0)
4116 #endif
4117
4118 #ifndef OpHAS_SIBLING
4119 # define OpHAS_SIBLING(o) (cBOOL((o)->op_sibling))
4120 #endif
4121
4122 #ifndef OpSIBLING
4123 # define OpSIBLING(o) (0 + (o)->op_sibling)
4124 #endif
4125
4126 #ifndef OpMORESIB_set
4127 # define OpMORESIB_set(o, sib) ((o)->op_sibling = (sib))
4128 #endif
4129
4130 #ifndef OpLASTSIB_set
4131 # define OpLASTSIB_set(o, parent) ((o)->op_sibling = NULL)
4132 #endif
4133
4134 #ifndef OpMAYBESIB_set
4135 # define OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib))
4136 #endif
4137
4138 #ifndef HEf_SVKEY
4139 # define HEf_SVKEY -2
4140 #endif
4141
4142 #ifndef SvRX
4143 #if defined(NEED_SvRX)
4144 static void * DPPP_(my_SvRX)(pTHX_ SV *rv);
4145 static
4146 #else
4147 extern void * DPPP_(my_SvRX)(pTHX_ SV *rv);
4148 #endif
4149
4150 #if defined(NEED_SvRX) || defined(NEED_SvRX_GLOBAL)
4151
4152 #ifdef SvRX
4153 # undef SvRX
4154 #endif
4155 #define SvRX(a) DPPP_(my_SvRX)(aTHX_ a)
4156
4157
4158 void *
4159 DPPP_(my_SvRX)(pTHX_ SV *rv)
4160 {
4161 if (SvROK(rv)) {
4162 SV *sv = SvRV(rv);
4163 if (SvMAGICAL(sv)) {
4164 MAGIC *mg = mg_find(sv, PERL_MAGIC_qr);
4165 if (mg && mg->mg_obj) {
4166 return mg->mg_obj;
4167 }
4168 }
4169 }
4170 return 0;
4171 }
4172 #endif
4173 #endif
4174 #ifndef SvRXOK
4175 # define SvRXOK(sv) (!!SvRX(sv))
4176 #endif
4177
4178 #ifndef PERL_UNUSED_DECL
4179 # ifdef HASATTRIBUTE
4180 # if (defined(__GNUC__) && defined(__cplusplus)) || defined(__INTEL_COMPILER)
4181 # define PERL_UNUSED_DECL
4182 # else
4183 # define PERL_UNUSED_DECL __attribute__((unused))
4184 # endif
4185 # else
4186 # define PERL_UNUSED_DECL
4187 # endif
4188 #endif
4189
4190 #ifndef PERL_UNUSED_ARG
4191 # if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */
4192 # include <note.h>
4193 # define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x))
4194 # else
4195 # define PERL_UNUSED_ARG(x) ((void)x)
4196 # endif
4197 #endif
4198
4199 #ifndef PERL_UNUSED_VAR
4200 # define PERL_UNUSED_VAR(x) ((void)x)
4201 #endif
4202
4203 #ifndef PERL_UNUSED_CONTEXT
4204 # ifdef USE_ITHREADS
4205 # define PERL_UNUSED_CONTEXT PERL_UNUSED_ARG(my_perl)
4206 # else
4207 # define PERL_UNUSED_CONTEXT
4208 # endif
4209 #endif
4210
4211 #ifndef PERL_UNUSED_RESULT
4212 # if defined(__GNUC__) && defined(HASATTRIBUTE_WARN_UNUSED_RESULT)
4213 # define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
4214 # else
4215 # define PERL_UNUSED_RESULT(v) ((void)(v))
4216 # endif
4217 #endif
4218 #ifndef NOOP
4219 # define NOOP /*EMPTY*/(void)0
4220 #endif
4221
4222 #ifndef dNOOP
4223 # define dNOOP extern int /*@unused@*/ Perl___notused PERL_UNUSED_DECL
4224 #endif
4225
4226 #ifndef NVTYPE
4227 # if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE)
4228 # define NVTYPE long double
4229 # else
4230 # define NVTYPE double
4231 # endif
4232 typedef NVTYPE NV;
4233 #endif
4234
4235 #ifndef INT2PTR
4236 # if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE)
4237 # define PTRV UV
4238 # define INT2PTR(any,d) (any)(d)
4239 # else
4240 # if PTRSIZE == LONGSIZE
4241 # define PTRV unsigned long
4242 # else
4243 # define PTRV unsigned
4244 # endif
4245 # define INT2PTR(any,d) (any)(PTRV)(d)
4246 # endif
4247 #endif
4248
4249 #ifndef PTR2ul
4250 # if PTRSIZE == LONGSIZE
4251 # define PTR2ul(p) (unsigned long)(p)
4252 # else
4253 # define PTR2ul(p) INT2PTR(unsigned long,p)
4254 # endif
4255 #endif
4256 #ifndef PTR2nat
4257 # define PTR2nat(p) (PTRV)(p)
4258 #endif
4259
4260 #ifndef NUM2PTR
4261 # define NUM2PTR(any,d) (any)PTR2nat(d)
4262 #endif
4263
4264 #ifndef PTR2IV
4265 # define PTR2IV(p) INT2PTR(IV,p)
4266 #endif
4267
4268 #ifndef PTR2UV
4269 # define PTR2UV(p) INT2PTR(UV,p)
4270 #endif
4271
4272 #ifndef PTR2NV
4273 # define PTR2NV(p) NUM2PTR(NV,p)
4274 #endif
4275
4276 #undef START_EXTERN_C
4277 #undef END_EXTERN_C
4278 #undef EXTERN_C
4279 #ifdef __cplusplus
4280 # define START_EXTERN_C extern "C" {
4281 # define END_EXTERN_C }
4282 # define EXTERN_C extern "C"
4283 #else
4284 # define START_EXTERN_C
4285 # define END_EXTERN_C
4286 # define EXTERN_C extern
4287 #endif
4288
4289 #if defined(PERL_GCC_PEDANTIC)
4290 # ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN
4291 # define PERL_GCC_BRACE_GROUPS_FORBIDDEN
4292 # endif
4293 #endif
4294
4295 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus)
4296 # ifndef PERL_USE_GCC_BRACE_GROUPS
4297 # define PERL_USE_GCC_BRACE_GROUPS
4298 # endif
4299 #endif
4300
4301 #undef STMT_START
4302 #undef STMT_END
4303 #ifdef PERL_USE_GCC_BRACE_GROUPS
4304 # define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */
4305 # define STMT_END )
4306 #else
4307 # if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__)
4308 # define STMT_START if (1)
4309 # define STMT_END else (void)0
4310 # else
4311 # define STMT_START do
4312 # define STMT_END while (0)
4313 # endif
4314 #endif
4315 #ifndef boolSV
4316 # define boolSV(b) ((b) ? &PL_sv_yes : &PL_sv_no)
4317 #endif
4318
4319 /* DEFSV appears first in 5.004_56 */
4320 #ifndef DEFSV
4321 # define DEFSV GvSV(PL_defgv)
4322 #endif
4323
4324 #ifndef SAVE_DEFSV
4325 # define SAVE_DEFSV SAVESPTR(GvSV(PL_defgv))
4326 #endif
4327
4328 #ifndef DEFSV_set
4329 # define DEFSV_set(sv) (DEFSV = (sv))
4330 #endif
4331
4332 /* Older perls (<=5.003) lack AvFILLp */
4333 #ifndef AvFILLp
4334 # define AvFILLp AvFILL
4335 #endif
4336 #ifndef ERRSV
4337 # define ERRSV get_sv("@",FALSE)
4338 #endif
4339
4340 /* Hint: gv_stashpvn
4341 * This function's backport doesn't support the length parameter, but
4342 * rather ignores it. Portability can only be ensured if the length
4343 * parameter is used for speed reasons, but the length can always be
4344 * correctly computed from the string argument.
4345 */
4346 #ifndef gv_stashpvn
4347 # define gv_stashpvn(str,len,create) gv_stashpv(str,create)
4348 #endif
4349
4350 /* Replace: 1 */
4351 #ifndef get_cv
4352 # define get_cv perl_get_cv
4353 #endif
4354
4355 #ifndef get_sv
4356 # define get_sv perl_get_sv
4357 #endif
4358
4359 #ifndef get_av
4360 # define get_av perl_get_av
4361 #endif
4362
4363 #ifndef get_hv
4364 # define get_hv perl_get_hv
4365 #endif
4366
4367 /* Replace: 0 */
4368 #ifndef dUNDERBAR
4369 # define dUNDERBAR dNOOP
4370 #endif
4371
4372 #ifndef UNDERBAR
4373 # define UNDERBAR DEFSV
4374 #endif
4375 #ifndef dAX
4376 # define dAX I32 ax = MARK - PL_stack_base + 1
4377 #endif
4378
4379 #ifndef dITEMS
4380 # define dITEMS I32 items = SP - MARK
4381 #endif
4382 #ifndef dXSTARG
4383 # define dXSTARG SV * targ = sv_newmortal()
4384 #endif
4385 #ifndef dAXMARK
4386 # define dAXMARK I32 ax = POPMARK; \
4387 register SV ** const mark = PL_stack_base + ax++
4388 #endif
4389 #ifndef XSprePUSH
4390 # define XSprePUSH (sp = PL_stack_base + ax - 1)
4391 #endif
4392
4393 #if (PERL_BCDVERSION < 0x5005000)
4394 # undef XSRETURN
4395 # define XSRETURN(off) \
4396 STMT_START { \
4397 PL_stack_sp = PL_stack_base + ax + ((off) - 1); \
4398 return; \
4399 } STMT_END
4400 #endif
4401 #ifndef XSPROTO
4402 # define XSPROTO(name) void name(pTHX_ CV* cv)
4403 #endif
4404
4405 #ifndef SVfARG
4406 # define SVfARG(p) ((void*)(p))
4407 #endif
4408 #ifndef PERL_ABS
4409 # define PERL_ABS(x) ((x) < 0 ? -(x) : (x))
4410 #endif
4411 #ifndef dVAR
4412 # define dVAR dNOOP
4413 #endif
4414 #ifndef SVf
4415 # define SVf "_"
4416 #endif
4417 #ifndef UTF8_MAXBYTES
4418 # define UTF8_MAXBYTES UTF8_MAXLEN
4419 #endif
4420 #ifndef CPERLscope
4421 # define CPERLscope(x) x
4422 #endif
4423 #ifndef PERL_HASH
4424 # define PERL_HASH(hash,str,len) \
4425 STMT_START { \
4426 const char *s_PeRlHaSh = str; \
4427 I32 i_PeRlHaSh = len; \
4428 U32 hash_PeRlHaSh = 0; \
4429 while (i_PeRlHaSh--) \
4430 hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \
4431 (hash) = hash_PeRlHaSh; \
4432 } STMT_END
4433 #endif
4434
4435 #ifndef PERLIO_FUNCS_DECL
4436 # ifdef PERLIO_FUNCS_CONST
4437 # define PERLIO_FUNCS_DECL(funcs) const PerlIO_funcs funcs
4438 # define PERLIO_FUNCS_CAST(funcs) (PerlIO_funcs*)(funcs)
4439 # else
4440 # define PERLIO_FUNCS_DECL(funcs) PerlIO_funcs funcs
4441 # define PERLIO_FUNCS_CAST(funcs) (funcs)
4442 # endif
4443 #endif
4444
4445 /* provide these typedefs for older perls */
4446 #if (PERL_BCDVERSION < 0x5009003)
4447
4448 # ifdef ARGSproto
4449 typedef OP* (CPERLscope(*Perl_ppaddr_t))(ARGSproto);
4450 # else
4451 typedef OP* (CPERLscope(*Perl_ppaddr_t))(pTHX);
4452 # endif
4453
4454 typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*);
4455
4456 #endif
4457 #ifndef isPSXSPC
4458 # define isPSXSPC(c) (isSPACE(c) || (c) == '\v')
4459 #endif
4460
4461 #ifndef isBLANK
4462 # define isBLANK(c) ((c) == ' ' || (c) == '\t')
4463 #endif
4464
4465 #ifdef EBCDIC
4466 #ifndef isALNUMC
4467 # define isALNUMC(c) isalnum(c)
4468 #endif
4469
4470 #ifndef isASCII
4471 # define isASCII(c) isascii(c)
4472 #endif
4473
4474 #ifndef isCNTRL
4475 # define isCNTRL(c) iscntrl(c)
4476 #endif
4477
4478 #ifndef isGRAPH
4479 # define isGRAPH(c) isgraph(c)
4480 #endif
4481
4482 #ifndef isPRINT
4483 # define isPRINT(c) isprint(c)
4484 #endif
4485
4486 #ifndef isPUNCT
4487 # define isPUNCT(c) ispunct(c)
4488 #endif
4489
4490 #ifndef isXDIGIT
4491 # define isXDIGIT(c) isxdigit(c)
4492 #endif
4493
4494 #else
4495 # if (PERL_BCDVERSION < 0x5010000)
4496 /* Hint: isPRINT
4497 * The implementation in older perl versions includes all of the
4498 * isSPACE() characters, which is wrong. The version provided by
4499 * Devel::PPPort always overrides a present buggy version.
4500 */
4501 # undef isPRINT
4502 # endif
4503
4504 #ifndef WIDEST_UTYPE
4505 # ifdef QUADKIND
4506 # ifdef U64TYPE
4507 # define WIDEST_UTYPE U64TYPE
4508 # else
4509 # define WIDEST_UTYPE Quad_t
4510 # endif
4511 # else
4512 # define WIDEST_UTYPE U32
4513 # endif
4514 #endif
4515 #ifndef isALNUMC
4516 # define isALNUMC(c) (isALPHA(c) || isDIGIT(c))
4517 #endif
4518
4519 #ifndef isASCII
4520 # define isASCII(c) ((WIDEST_UTYPE) (c) <= 127)
4521 #endif
4522
4523 #ifndef isCNTRL
4524 # define isCNTRL(c) ((WIDEST_UTYPE) (c) < ' ' || (c) == 127)
4525 #endif
4526
4527 #ifndef isGRAPH
4528 # define isGRAPH(c) (isALNUM(c) || isPUNCT(c))
4529 #endif
4530
4531 #ifndef isPRINT
4532 # define isPRINT(c) (((c) >= 32 && (c) < 127))
4533 #endif
4534
4535 #ifndef isPUNCT
4536 # define isPUNCT(c) (((c) >= 33 && (c) <= 47) || ((c) >= 58 && (c) <= 64) || ((c) >= 91 && (c) <= 96) || ((c) >= 123 && (c) <= 126))
4537 #endif
4538
4539 #ifndef isXDIGIT
4540 # define isXDIGIT(c) (isDIGIT(c) || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F'))
4541 #endif
4542
4543 #endif
4544
4545 /* Until we figure out how to support this in older perls... */
4546 #if (PERL_BCDVERSION >= 0x5008000)
4547 #ifndef HeUTF8
4548 # define HeUTF8(he) ((HeKLEN(he) == HEf_SVKEY) ? \
4549 SvUTF8(HeKEY_sv(he)) : \
4550 (U32)HeKUTF8(he))
4551 #endif
4552
4553 #endif
4554 #ifndef C_ARRAY_LENGTH
4555 # define C_ARRAY_LENGTH(a) (sizeof(a)/sizeof((a)[0]))
4556 #endif
4557
4558 #ifndef C_ARRAY_END
4559 # define C_ARRAY_END(a) ((a) + C_ARRAY_LENGTH(a))
4560 #endif
4561
4562 #ifndef MUTABLE_PTR
4563 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
4564 # define MUTABLE_PTR(p) ({ void *_p = (p); _p; })
4565 #else
4566 # define MUTABLE_PTR(p) ((void *) (p))
4567 #endif
4568 #endif
4569 #ifndef MUTABLE_SV
4570 # define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p))
4571 #endif
4572
4573 #ifdef NEED_mess_sv
4574 #define NEED_mess
4575 #endif
4576
4577 #ifdef NEED_mess
4578 #define NEED_mess_nocontext
4579 #define NEED_vmess
4580 #endif
4581
4582 #ifndef croak_sv
4583 #if (PERL_BCDVERSION >= 0x5007003) || ( (PERL_BCDVERSION >= 0x5006001) && (PERL_BCDVERSION < 0x5007000) )
4584 # if ( (PERL_BCDVERSION >= 0x5008000) && (PERL_BCDVERSION < 0x5008009) ) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5010001) )
4585 # define D_PPP_FIX_UTF8_ERRSV(errsv, sv) \
4586 STMT_START { \
4587 if (sv != ERRSV) \
4588 SvFLAGS(ERRSV) = (SvFLAGS(ERRSV) & ~SVf_UTF8) | \
4589 (SvFLAGS(sv) & SVf_UTF8); \
4590 } STMT_END
4591 # else
4592 # define D_PPP_FIX_UTF8_ERRSV(errsv, sv) STMT_START {} STMT_END
4593 # endif
4594 # define croak_sv(sv) \
4595 STMT_START { \
4596 if (SvROK(sv)) { \
4597 sv_setsv(ERRSV, sv); \
4598 croak(NULL); \
4599 } else { \
4600 D_PPP_FIX_UTF8_ERRSV(ERRSV, sv); \
4601 croak("%" SVf, SVfARG(sv)); \
4602 } \
4603 } STMT_END
4604 #elif (PERL_BCDVERSION >= 0x5004000)
4605 # define croak_sv(sv) croak("%" SVf, SVfARG(sv))
4606 #else
4607 # define croak_sv(sv) croak("%s", SvPV_nolen(sv))
4608 #endif
4609 #endif
4610
4611 #ifndef die_sv
4612 #if defined(NEED_die_sv)
4613 static OP * DPPP_(my_die_sv)(pTHX_ SV *sv);
4614 static
4615 #else
4616 extern OP * DPPP_(my_die_sv)(pTHX_ SV *sv);
4617 #endif
4618
4619 #if defined(NEED_die_sv) || defined(NEED_die_sv_GLOBAL)
4620
4621 #ifdef die_sv
4622 # undef die_sv
4623 #endif
4624 #define die_sv(a) DPPP_(my_die_sv)(aTHX_ a)
4625 #define Perl_die_sv DPPP_(my_die_sv)
4626
4627 OP *
4628 DPPP_(my_die_sv)(pTHX_ SV *sv)
4629 {
4630 croak_sv(sv);
4631 return (OP *)NULL;
4632 }
4633 #endif
4634 #endif
4635
4636 #ifndef warn_sv
4637 #if (PERL_BCDVERSION >= 0x5004000)
4638 # define warn_sv(sv) warn("%" SVf, SVfARG(sv))
4639 #else
4640 # define warn_sv(sv) warn("%s", SvPV_nolen(sv))
4641 #endif
4642 #endif
4643
4644 #ifndef vmess
4645 #if defined(NEED_vmess)
4646 static SV * DPPP_(my_vmess)(pTHX_ const char * pat, va_list * args);
4647 static
4648 #else
4649 extern SV * DPPP_(my_vmess)(pTHX_ const char * pat, va_list * args);
4650 #endif
4651
4652 #if defined(NEED_vmess) || defined(NEED_vmess_GLOBAL)
4653
4654 #ifdef vmess
4655 # undef vmess
4656 #endif
4657 #define vmess(a,b) DPPP_(my_vmess)(aTHX_ a,b)
4658 #define Perl_vmess DPPP_(my_vmess)
4659
4660 SV*
4661 DPPP_(my_vmess)(pTHX_ const char* pat, va_list* args)
4662 {
4663 mess(pat, args);
4664 return PL_mess_sv;
4665 }
4666 #endif
4667 #endif
4668
4669 #if (PERL_BCDVERSION < 0x5006000)
4670 #undef mess
4671 #endif
4672
4673 #if !defined(mess_nocontext) && !defined(Perl_mess_nocontext)
4674 #if defined(NEED_mess_nocontext)
4675 static SV * DPPP_(my_mess_nocontext)(const char * pat, ...);
4676 static
4677 #else
4678 extern SV * DPPP_(my_mess_nocontext)(const char * pat, ...);
4679 #endif
4680
4681 #if defined(NEED_mess_nocontext) || defined(NEED_mess_nocontext_GLOBAL)
4682
4683 #define mess_nocontext DPPP_(my_mess_nocontext)
4684 #define Perl_mess_nocontext DPPP_(my_mess_nocontext)
4685
4686 SV*
4687 DPPP_(my_mess_nocontext)(const char* pat, ...)
4688 {
4689 dTHX;
4690 SV *sv;
4691 va_list args;
4692 va_start(args, pat);
4693 sv = vmess(pat, &args);
4694 va_end(args);
4695 return sv;
4696 }
4697 #endif
4698 #endif
4699
4700 #ifndef mess
4701 #if defined(NEED_mess)
4702 static SV * DPPP_(my_mess)(pTHX_ const char * pat, ...);
4703 static
4704 #else
4705 extern SV * DPPP_(my_mess)(pTHX_ const char * pat, ...);
4706 #endif
4707
4708 #if defined(NEED_mess) || defined(NEED_mess_GLOBAL)
4709
4710 #define Perl_mess DPPP_(my_mess)
4711
4712 SV*
4713 DPPP_(my_mess)(pTHX_ const char* pat, ...)
4714 {
4715 SV *sv;
4716 va_list args;
4717 va_start(args, pat);
4718 sv = vmess(pat, &args);
4719 va_end(args);
4720 return sv;
4721 }
4722 #ifdef mess_nocontext
4723 #define mess mess_nocontext
4724 #else
4725 #define mess Perl_mess_nocontext
4726 #endif
4727 #endif
4728 #endif
4729
4730 #ifndef mess_sv
4731 #if defined(NEED_mess_sv)
4732 static SV * DPPP_(my_mess_sv)(pTHX_ SV * basemsg, bool consume);
4733 static
4734 #else
4735 extern SV * DPPP_(my_mess_sv)(pTHX_ SV * basemsg, bool consume);
4736 #endif
4737
4738 #if defined(NEED_mess_sv) || defined(NEED_mess_sv_GLOBAL)
4739
4740 #ifdef mess_sv
4741 # undef mess_sv
4742 #endif
4743 #define mess_sv(a,b) DPPP_(my_mess_sv)(aTHX_ a,b)
4744 #define Perl_mess_sv DPPP_(my_mess_sv)
4745
4746 SV *
4747 DPPP_(my_mess_sv)(pTHX_ SV *basemsg, bool consume)
4748 {
4749 SV *tmp;
4750 SV *ret;
4751
4752 if (SvPOK(basemsg) && SvCUR(basemsg) && *(SvEND(basemsg)-1) == '\n') {
4753 if (consume)
4754 return basemsg;
4755 ret = mess("");
4756 SvSetSV_nosteal(ret, basemsg);
4757 return ret;
4758 }
4759
4760 if (consume) {
4761 sv_catsv(basemsg, mess(""));
4762 return basemsg;
4763 }
4764
4765 ret = mess("");
4766 tmp = newSVsv(ret);
4767 SvSetSV_nosteal(ret, basemsg);
4768 sv_catsv(ret, tmp);
4769 sv_dec(tmp);
4770 return ret;
4771 }
4772 #endif
4773 #endif
4774
4775 #ifndef warn_nocontext
4776 #define warn_nocontext warn
4777 #endif
4778
4779 #ifndef croak_nocontext
4780 #define croak_nocontext croak
4781 #endif
4782
4783 #ifndef croak_no_modify
4784 #define croak_no_modify() croak_nocontext("%s", PL_no_modify)
4785 #define Perl_croak_no_modify() croak_no_modify()
4786 #endif
4787
4788 #ifndef croak_memory_wrap
4789 #if (PERL_BCDVERSION >= 0x5009002) || ( (PERL_BCDVERSION >= 0x5008006) && (PERL_BCDVERSION < 0x5009000) )
4790 # define croak_memory_wrap() croak_nocontext("%s", PL_memory_wrap)
4791 #else
4792 # define croak_memory_wrap() croak_nocontext("panic: memory wrap")
4793 #endif
4794 #endif
4795
4796 #ifndef croak_xs_usage
4797 #if defined(NEED_croak_xs_usage)
4798 static void DPPP_(my_croak_xs_usage)(const CV * const cv, const char * const params);
4799 static
4800 #else
4801 extern void DPPP_(my_croak_xs_usage)(const CV * const cv, const char * const params);
4802 #endif
4803
4804 #if defined(NEED_croak_xs_usage) || defined(NEED_croak_xs_usage_GLOBAL)
4805
4806 #define croak_xs_usage DPPP_(my_croak_xs_usage)
4807 #define Perl_croak_xs_usage DPPP_(my_croak_xs_usage)
4808
4809
4810 #ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
4811 #define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)
4812 #endif
4813
4814 void
4815 DPPP_(my_croak_xs_usage)(const CV *const cv, const char *const params)
4816 {
4817 dTHX;
4818 const GV *const gv = CvGV(cv);
4819
4820 PERL_ARGS_ASSERT_CROAK_XS_USAGE;
4821
4822 if (gv) {
4823 const char *const gvname = GvNAME(gv);
4824 const HV *const stash = GvSTASH(gv);
4825 const char *const hvname = stash ? HvNAME(stash) : NULL;
4826
4827 if (hvname)
4828 croak("Usage: %s::%s(%s)", hvname, gvname, params);
4829 else
4830 croak("Usage: %s(%s)", gvname, params);
4831 } else {
4832 /* Pants. I don't think that it should be possible to get here. */
4833 croak("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params);
4834 }
4835 }
4836 #endif
4837 #endif
48384780
48394781 #ifndef PERL_SIGNALS_UNSAFE_FLAG
48404782
48784820 # define PL_DBsub DBsub
48794821 # define PL_DBtrace DBtrace
48804822 # define PL_Sv Sv
4823 # define PL_Xpv Xpv
48814824 # define PL_bufend bufend
48824825 # define PL_bufptr bufptr
48834826 # define PL_compiling compiling
49154858 # define PL_tainted tainted
49164859 # define PL_tainting tainting
49174860 # define PL_tokenbuf tokenbuf
4861 # define PL_mess_sv mess_sv
49184862 /* Replace: 0 */
49194863 #endif
49204864
49214865 /* Warning: PL_parser
49224866 * For perl versions earlier than 5.9.5, this is an always
49234867 * non-NULL dummy. Also, it cannot be dereferenced. Don't
4924 * use it if you can avoid is and unless you absolutely know
4868 * use it if you can avoid it, and unless you absolutely know
49254869 * what you're doing.
49264870 * If you always check that PL_parser is non-NULL, you can
49274871 * define DPPP_PL_parser_NO_DUMMY to avoid the creation of
49884932 # define PL_parser ((void *) 1)
49894933
49904934 #endif
4935
4936 #if (PERL_BCDVERSION <= 0x5003022)
4937 # undef start_subparse
4938 # if (PERL_BCDVERSION < 0x5003022)
4939 #ifndef start_subparse
4940 # define start_subparse(a, b) Perl_start_subparse()
4941 #endif
4942
4943 # else
4944 #ifndef start_subparse
4945 # define start_subparse(a, b) Perl_start_subparse(b)
4946 #endif
4947
4948 # endif
4949
4950 #if (PERL_BCDVERSION < 0x5003007)
4951 foo
4952 #endif
4953 #endif
4954
4955 /* Hint: newCONSTSUB
4956 * Returns a CV* as of perl-5.7.1. This return value is not supported
4957 * by Devel::PPPort.
4958 */
4959
4960 /* newCONSTSUB from IO.xs is in the core starting with 5.004_63 */
4961 #if (PERL_BCDVERSION < 0x5004063) && (PERL_BCDVERSION != 0x5004005)
4962
4963 /* And before that, we need to make sure this gets compiled for the functions
4964 * that rely on it */
4965 #define NEED_newCONSTSUB
4966
4967 #if defined(NEED_newCONSTSUB)
4968 static void DPPP_(my_newCONSTSUB)(HV * stash, const char * name, SV * sv);
4969 static
4970 #else
4971 extern void DPPP_(my_newCONSTSUB)(HV * stash, const char * name, SV * sv);
4972 #endif
4973
4974 #if defined(NEED_newCONSTSUB) || defined(NEED_newCONSTSUB_GLOBAL)
4975
4976 #ifdef newCONSTSUB
4977 # undef newCONSTSUB
4978 #endif
4979 #define newCONSTSUB(a,b,c) DPPP_(my_newCONSTSUB)(aTHX_ a,b,c)
4980 #define Perl_newCONSTSUB DPPP_(my_newCONSTSUB)
4981
4982
4983 /* This is just a trick to avoid a dependency of newCONSTSUB on PL_parser */
4984 /* (There's no PL_parser in perl < 5.005, so this is completely safe) */
4985 #define D_PPP_PL_copline PL_copline
4986
4987 void
4988 DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv)
4989 {
4990 U32 oldhints = PL_hints;
4991 HV *old_cop_stash = PL_curcop->cop_stash;
4992 HV *old_curstash = PL_curstash;
4993 line_t oldline = PL_curcop->cop_line;
4994 PL_curcop->cop_line = D_PPP_PL_copline;
4995
4996 PL_hints &= ~HINT_BLOCK_SCOPE;
4997 if (stash)
4998 PL_curstash = PL_curcop->cop_stash = stash;
4999
5000 newSUB(
5001
5002 start_subparse(FALSE, 0),
5003
5004 newSVOP(OP_CONST, 0, newSVpv((char *) name, 0)),
5005 newSVOP(OP_CONST, 0, &PL_sv_no), /* SvPV(&PL_sv_no) == "" -- GMB */
5006 newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv))
5007 );
5008
5009 PL_hints = oldhints;
5010 PL_curcop->cop_stash = old_cop_stash;
5011 PL_curstash = old_curstash;
5012 PL_curcop->cop_line = oldline;
5013 }
5014 #endif
5015 #endif
5016 #ifndef PERL_MAGIC_sv
5017 # define PERL_MAGIC_sv '\0'
5018 #endif
5019
5020 #ifndef PERL_MAGIC_overload
5021 # define PERL_MAGIC_overload 'A'
5022 #endif
5023
5024 #ifndef PERL_MAGIC_overload_elem
5025 # define PERL_MAGIC_overload_elem 'a'
5026 #endif
5027
5028 #ifndef PERL_MAGIC_overload_table
5029 # define PERL_MAGIC_overload_table 'c'
5030 #endif
5031
5032 #ifndef PERL_MAGIC_bm
5033 # define PERL_MAGIC_bm 'B'
5034 #endif
5035
5036 #ifndef PERL_MAGIC_regdata
5037 # define PERL_MAGIC_regdata 'D'
5038 #endif
5039
5040 #ifndef PERL_MAGIC_regdatum
5041 # define PERL_MAGIC_regdatum 'd'
5042 #endif
5043
5044 #ifndef PERL_MAGIC_env
5045 # define PERL_MAGIC_env 'E'
5046 #endif
5047
5048 #ifndef PERL_MAGIC_envelem
5049 # define PERL_MAGIC_envelem 'e'
5050 #endif
5051
5052 #ifndef PERL_MAGIC_fm
5053 # define PERL_MAGIC_fm 'f'
5054 #endif
5055
5056 #ifndef PERL_MAGIC_regex_global
5057 # define PERL_MAGIC_regex_global 'g'
5058 #endif
5059
5060 #ifndef PERL_MAGIC_isa
5061 # define PERL_MAGIC_isa 'I'
5062 #endif
5063
5064 #ifndef PERL_MAGIC_isaelem
5065 # define PERL_MAGIC_isaelem 'i'
5066 #endif
5067
5068 #ifndef PERL_MAGIC_nkeys
5069 # define PERL_MAGIC_nkeys 'k'
5070 #endif
5071
5072 #ifndef PERL_MAGIC_dbfile
5073 # define PERL_MAGIC_dbfile 'L'
5074 #endif
5075
5076 #ifndef PERL_MAGIC_dbline
5077 # define PERL_MAGIC_dbline 'l'
5078 #endif
5079
5080 #ifndef PERL_MAGIC_mutex
5081 # define PERL_MAGIC_mutex 'm'
5082 #endif
5083
5084 #ifndef PERL_MAGIC_shared
5085 # define PERL_MAGIC_shared 'N'
5086 #endif
5087
5088 #ifndef PERL_MAGIC_shared_scalar
5089 # define PERL_MAGIC_shared_scalar 'n'
5090 #endif
5091
5092 #ifndef PERL_MAGIC_collxfrm
5093 # define PERL_MAGIC_collxfrm 'o'
5094 #endif
5095
5096 #ifndef PERL_MAGIC_tied
5097 # define PERL_MAGIC_tied 'P'
5098 #endif
5099
5100 #ifndef PERL_MAGIC_tiedelem
5101 # define PERL_MAGIC_tiedelem 'p'
5102 #endif
5103
5104 #ifndef PERL_MAGIC_tiedscalar
5105 # define PERL_MAGIC_tiedscalar 'q'
5106 #endif
5107
5108 #ifndef PERL_MAGIC_qr
5109 # define PERL_MAGIC_qr 'r'
5110 #endif
5111
5112 #ifndef PERL_MAGIC_sig
5113 # define PERL_MAGIC_sig 'S'
5114 #endif
5115
5116 #ifndef PERL_MAGIC_sigelem
5117 # define PERL_MAGIC_sigelem 's'
5118 #endif
5119
5120 #ifndef PERL_MAGIC_taint
5121 # define PERL_MAGIC_taint 't'
5122 #endif
5123
5124 #ifndef PERL_MAGIC_uvar
5125 # define PERL_MAGIC_uvar 'U'
5126 #endif
5127
5128 #ifndef PERL_MAGIC_uvar_elem
5129 # define PERL_MAGIC_uvar_elem 'u'
5130 #endif
5131
5132 #ifndef PERL_MAGIC_vstring
5133 # define PERL_MAGIC_vstring 'V'
5134 #endif
5135
5136 #ifndef PERL_MAGIC_vec
5137 # define PERL_MAGIC_vec 'v'
5138 #endif
5139
5140 #ifndef PERL_MAGIC_utf8
5141 # define PERL_MAGIC_utf8 'w'
5142 #endif
5143
5144 #ifndef PERL_MAGIC_substr
5145 # define PERL_MAGIC_substr 'x'
5146 #endif
5147
5148 #ifndef PERL_MAGIC_defelem
5149 # define PERL_MAGIC_defelem 'y'
5150 #endif
5151
5152 #ifndef PERL_MAGIC_glob
5153 # define PERL_MAGIC_glob '*'
5154 #endif
5155
5156 #ifndef PERL_MAGIC_arylen
5157 # define PERL_MAGIC_arylen '#'
5158 #endif
5159
5160 #ifndef PERL_MAGIC_pos
5161 # define PERL_MAGIC_pos '.'
5162 #endif
5163
5164 #ifndef PERL_MAGIC_backref
5165 # define PERL_MAGIC_backref '<'
5166 #endif
5167
5168 #ifndef PERL_MAGIC_ext
5169 # define PERL_MAGIC_ext '~'
5170 #endif
5171 #ifndef cBOOL
5172 # define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0)
5173 #endif
5174
5175 #ifndef OpHAS_SIBLING
5176 # define OpHAS_SIBLING(o) (cBOOL((o)->op_sibling))
5177 #endif
5178
5179 #ifndef OpSIBLING
5180 # define OpSIBLING(o) (0 + (o)->op_sibling)
5181 #endif
5182
5183 #ifndef OpMORESIB_set
5184 # define OpMORESIB_set(o, sib) ((o)->op_sibling = (sib))
5185 #endif
5186
5187 #ifndef OpLASTSIB_set
5188 # define OpLASTSIB_set(o, parent) ((o)->op_sibling = NULL)
5189 #endif
5190
5191 #ifndef OpMAYBESIB_set
5192 # define OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib))
5193 #endif
5194
5195 #ifndef HEf_SVKEY
5196 # define HEf_SVKEY -2
5197 #endif
5198
5199 #if defined(DEBUGGING) && !defined(__COVERITY__)
5200 #ifndef __ASSERT_
5201 # define __ASSERT_(statement) assert(statement),
5202 #endif
5203
5204 #else
5205 #ifndef __ASSERT_
5206 # define __ASSERT_(statement)
5207 #endif
5208
5209 #endif
5210
5211 /* These could become provided if/when they become part of the public API */
5212 #ifndef withinCOUNT
5213 # define withinCOUNT(c, l, n) \
5214 (((WIDEST_UTYPE) (((c)) - ((l) | 0))) <= (((WIDEST_UTYPE) ((n) | 0))))
5215 #endif
5216
5217 #ifndef inRANGE
5218 # define inRANGE(c, l, u) \
5219 ( (sizeof(c) == sizeof(U8)) ? withinCOUNT(((U8) (c)), (l), ((u) - (l))) \
5220 : (sizeof(c) == sizeof(U16)) ? withinCOUNT(((U16) (c)), (l), ((u) - (l))) \
5221 : (sizeof(c) == sizeof(U32)) ? withinCOUNT(((U32) (c)), (l), ((u) - (l))) \
5222 : (withinCOUNT(((WIDEST_UTYPE) (c)), (l), ((u) - (l)))))
5223 #endif
5224
5225 /* The '| 0' part ensures a compiler error if c is not integer (like e.g., a
5226 * pointer) */
5227 #undef FITS_IN_8_BITS /* handy.h version uses a core-only constant */
5228 #ifndef FITS_IN_8_BITS
5229 # define FITS_IN_8_BITS(c) ( (sizeof(c) == 1) \
5230 || !(((WIDEST_UTYPE)((c) | 0)) & ~0xFF))
5231 #endif
5232
5233 /* Create the macro for "is'macro'_utf8_safe(s, e)". For code points below
5234 * 256, it calls the equivalent _L1 macro by converting the UTF-8 to code
5235 * point. That is so that it can automatically get the bug fixes done in this
5236 * file. */
5237 #define D_PPP_IS_GENERIC_UTF8_SAFE(s, e, macro) \
5238 (((e) - (s)) <= 0 \
5239 ? 0 \
5240 : UTF8_IS_INVARIANT((s)[0]) \
5241 ? is ## macro ## _L1((s)[0]) \
5242 : (((e) - (s)) < UTF8SKIP(s)) \
5243 ? 0 \
5244 : UTF8_IS_DOWNGRADEABLE_START((s)[0]) \
5245 /* The cast in the line below is only to silence warnings */ \
5246 ? is ## macro ## _L1((WIDEST_UTYPE) LATIN1_TO_NATIVE( \
5247 UTF8_ACCUMULATE(NATIVE_UTF8_TO_I8((s)[0]) \
5248 & UTF_START_MASK(2), \
5249 (s)[1]))) \
5250 : is ## macro ## _utf8(s))
5251
5252 /* Create the macro for "is'macro'_LC_utf8_safe(s, e)". For code points below
5253 * 256, it calls the equivalent _L1 macro by converting the UTF-8 to code
5254 * point. That is so that it can automatically get the bug fixes done in this
5255 * file. */
5256 #define D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, macro) \
5257 (((e) - (s)) <= 0 \
5258 ? 0 \
5259 : UTF8_IS_INVARIANT((s)[0]) \
5260 ? is ## macro ## _LC((s)[0]) \
5261 : (((e) - (s)) < UTF8SKIP(s)) \
5262 ? 0 \
5263 : UTF8_IS_DOWNGRADEABLE_START((s)[0]) \
5264 /* The cast in the line below is only to silence warnings */ \
5265 ? is ## macro ## _LC((WIDEST_UTYPE) LATIN1_TO_NATIVE( \
5266 UTF8_ACCUMULATE(NATIVE_UTF8_TO_I8((s)[0]) \
5267 & UTF_START_MASK(2), \
5268 (s)[1]))) \
5269 : is ## macro ## _utf8(s))
5270
5271 /* A few of the early functions are broken. For these and the non-LC case,
5272 * machine generated code is substituted. But that code doesn't work for
5273 * locales. This is just like the above macro, but at the end, we call the
5274 * macro we've generated for the above 255 case, which is correct since locale
5275 * isn't involved. This will generate extra code to handle the 0-255 inputs,
5276 * but hopefully it will be optimized out by the C compiler. But just in case
5277 * it isn't, this macro is only used on the few versions that are broken */
5278
5279 #define D_PPP_IS_GENERIC_LC_UTF8_SAFE_BROKEN(s, e, macro) \
5280 (((e) - (s)) <= 0 \
5281 ? 0 \
5282 : UTF8_IS_INVARIANT((s)[0]) \
5283 ? is ## macro ## _LC((s)[0]) \
5284 : (((e) - (s)) < UTF8SKIP(s)) \
5285 ? 0 \
5286 : UTF8_IS_DOWNGRADEABLE_START((s)[0]) \
5287 /* The cast in the line below is only to silence warnings */ \
5288 ? is ## macro ## _LC((WIDEST_UTYPE) LATIN1_TO_NATIVE( \
5289 UTF8_ACCUMULATE(NATIVE_UTF8_TO_I8((s)[0]) \
5290 & UTF_START_MASK(2), \
5291 (s)[1]))) \
5292 : is ## macro ## _utf8_safe(s, e))
5293 #ifndef SvRX
5294 # define SvRX(rv) (SvROK((rv)) ? (SvMAGICAL(SvRV((rv))) ? (mg_find(SvRV((rv)), PERL_MAGIC_qr) ? mg_find(SvRV((rv)), PERL_MAGIC_qr)->mg_obj : NULL) : NULL) : NULL)
5295 #endif
5296
5297 #ifndef SvRXOK
5298 # define SvRXOK(sv) (!!SvRX(sv))
5299 #endif
5300
5301 #ifndef PERL_UNUSED_DECL
5302 # ifdef HASATTRIBUTE
5303 # if (defined(__GNUC__) && defined(__cplusplus)) || defined(__INTEL_COMPILER)
5304 # define PERL_UNUSED_DECL
5305 # else
5306 # define PERL_UNUSED_DECL __attribute__((unused))
5307 # endif
5308 # else
5309 # define PERL_UNUSED_DECL
5310 # endif
5311 #endif
5312
5313 #ifndef PERL_UNUSED_ARG
5314 # if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */
5315 # include <note.h>
5316 # define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x))
5317 # else
5318 # define PERL_UNUSED_ARG(x) ((void)x)
5319 # endif
5320 #endif
5321
5322 #ifndef PERL_UNUSED_VAR
5323 # define PERL_UNUSED_VAR(x) ((void)x)
5324 #endif
5325
5326 #ifndef PERL_UNUSED_CONTEXT
5327 # ifdef USE_ITHREADS
5328 # define PERL_UNUSED_CONTEXT PERL_UNUSED_ARG(my_perl)
5329 # else
5330 # define PERL_UNUSED_CONTEXT
5331 # endif
5332 #endif
5333
5334 #ifndef PERL_UNUSED_RESULT
5335 # if defined(__GNUC__) && defined(HASATTRIBUTE_WARN_UNUSED_RESULT)
5336 # define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
5337 # else
5338 # define PERL_UNUSED_RESULT(v) ((void)(v))
5339 # endif
5340 #endif
5341 #ifndef NOOP
5342 # define NOOP /*EMPTY*/(void)0
5343 #endif
5344
5345 #ifndef dNOOP
5346 # define dNOOP extern int /*@unused@*/ Perl___notused PERL_UNUSED_DECL
5347 #endif
5348
5349 #ifndef NVTYPE
5350 # if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE)
5351 # define NVTYPE long double
5352 # else
5353 # define NVTYPE double
5354 # endif
5355 typedef NVTYPE NV;
5356 #endif
5357
5358 #ifndef INT2PTR
5359 # if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE)
5360 # define PTRV UV
5361 # define INT2PTR(any,d) (any)(d)
5362 # else
5363 # if PTRSIZE == LONGSIZE
5364 # define PTRV unsigned long
5365 # else
5366 # define PTRV unsigned
5367 # endif
5368 # define INT2PTR(any,d) (any)(PTRV)(d)
5369 # endif
5370 #endif
5371
5372 #ifndef PTR2ul
5373 # if PTRSIZE == LONGSIZE
5374 # define PTR2ul(p) (unsigned long)(p)
5375 # else
5376 # define PTR2ul(p) INT2PTR(unsigned long,p)
5377 # endif
5378 #endif
5379 #ifndef PTR2nat
5380 # define PTR2nat(p) (PTRV)(p)
5381 #endif
5382
5383 #ifndef NUM2PTR
5384 # define NUM2PTR(any,d) (any)PTR2nat(d)
5385 #endif
5386
5387 #ifndef PTR2IV
5388 # define PTR2IV(p) INT2PTR(IV,p)
5389 #endif
5390
5391 #ifndef PTR2UV
5392 # define PTR2UV(p) INT2PTR(UV,p)
5393 #endif
5394
5395 #ifndef PTR2NV
5396 # define PTR2NV(p) NUM2PTR(NV,p)
5397 #endif
5398
5399 #undef START_EXTERN_C
5400 #undef END_EXTERN_C
5401 #undef EXTERN_C
5402 #ifdef __cplusplus
5403 # define START_EXTERN_C extern "C" {
5404 # define END_EXTERN_C }
5405 # define EXTERN_C extern "C"
5406 #else
5407 # define START_EXTERN_C
5408 # define END_EXTERN_C
5409 # define EXTERN_C extern
5410 #endif
5411
5412 #if (PERL_BCDVERSION < 0x5004000) || defined(PERL_GCC_PEDANTIC)
5413 # ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN
5414 #ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN
5415 # define PERL_GCC_BRACE_GROUPS_FORBIDDEN
5416 #endif
5417
5418 # endif
5419 #endif
5420
5421 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus)
5422 # ifndef PERL_USE_GCC_BRACE_GROUPS
5423 # define PERL_USE_GCC_BRACE_GROUPS
5424 # endif
5425 #endif
5426
5427 #undef STMT_START
5428 #undef STMT_END
5429 #ifdef PERL_USE_GCC_BRACE_GROUPS
5430 # define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */
5431 # define STMT_END )
5432 #else
5433 # if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__)
5434 # define STMT_START if (1)
5435 # define STMT_END else (void)0
5436 # else
5437 # define STMT_START do
5438 # define STMT_END while (0)
5439 # endif
5440 #endif
5441 #ifndef boolSV
5442 # define boolSV(b) ((b) ? &PL_sv_yes : &PL_sv_no)
5443 #endif
5444
5445 /* DEFSV appears first in 5.004_56 */
5446 #ifndef DEFSV
5447 # define DEFSV GvSV(PL_defgv)
5448 #endif
5449
5450 #ifndef SAVE_DEFSV
5451 # define SAVE_DEFSV SAVESPTR(GvSV(PL_defgv))
5452 #endif
5453
5454 #ifndef DEFSV_set
5455 # define DEFSV_set(sv) (DEFSV = (sv))
5456 #endif
5457
5458 /* Older perls (<=5.003) lack AvFILLp */
5459 #ifndef AvFILLp
5460 # define AvFILLp AvFILL
5461 #endif
5462 #ifndef av_tindex
5463 # define av_tindex AvFILL
5464 #endif
5465
5466 #ifndef av_top_index
5467 # define av_top_index AvFILL
5468 #endif
5469 #ifndef ERRSV
5470 # define ERRSV get_sv("@",FALSE)
5471 #endif
5472
5473 /* Hint: gv_stashpvn
5474 * This function's backport doesn't support the length parameter, but
5475 * rather ignores it. Portability can only be ensured if the length
5476 * parameter is used for speed reasons, but the length can always be
5477 * correctly computed from the string argument.
5478 */
5479 #ifndef gv_stashpvn
5480 # define gv_stashpvn(str,len,create) gv_stashpv(str,create)
5481 #endif
5482
5483 /* Replace: 1 */
5484 #ifndef get_cv
5485 # define get_cv perl_get_cv
5486 #endif
5487
5488 #ifndef get_sv
5489 # define get_sv perl_get_sv
5490 #endif
5491
5492 #ifndef get_av
5493 # define get_av perl_get_av
5494 #endif
5495
5496 #ifndef get_hv
5497 # define get_hv perl_get_hv
5498 #endif
5499
5500 /* Replace: 0 */
5501 #ifndef dUNDERBAR
5502 # define dUNDERBAR dNOOP
5503 #endif
5504
5505 #ifndef UNDERBAR
5506 # define UNDERBAR DEFSV
5507 #endif
5508 #ifndef dAX
5509 # define dAX I32 ax = MARK - PL_stack_base + 1
5510 #endif
5511
5512 #ifndef dITEMS
5513 # define dITEMS I32 items = SP - MARK
5514 #endif
5515 #ifndef dXSTARG
5516 # define dXSTARG SV * targ = sv_newmortal()
5517 #endif
5518 #ifndef dAXMARK
5519 # define dAXMARK I32 ax = POPMARK; \
5520 register SV ** const mark = PL_stack_base + ax++
5521 #endif
5522 #ifndef XSprePUSH
5523 # define XSprePUSH (sp = PL_stack_base + ax - 1)
5524 #endif
5525
5526 #if (PERL_BCDVERSION < 0x5005000)
5527 # undef XSRETURN
5528 # define XSRETURN(off) \
5529 STMT_START { \
5530 PL_stack_sp = PL_stack_base + ax + ((off) - 1); \
5531 return; \
5532 } STMT_END
5533 #endif
5534 #ifndef XSPROTO
5535 # define XSPROTO(name) void name(pTHX_ CV* cv)
5536 #endif
5537
5538 #ifndef SVfARG
5539 # define SVfARG(p) ((void*)(p))
5540 #endif
5541 #ifndef PERL_ABS
5542 # define PERL_ABS(x) ((x) < 0 ? -(x) : (x))
5543 #endif
5544 #ifndef dVAR
5545 # define dVAR dNOOP
5546 #endif
5547 #ifndef SVf
5548 # define SVf "_"
5549 #endif
5550 #ifndef CPERLscope
5551 # define CPERLscope(x) x
5552 #endif
5553 #ifndef PERL_HASH
5554 # define PERL_HASH(hash,str,len) \
5555 STMT_START { \
5556 const char *s_PeRlHaSh = str; \
5557 I32 i_PeRlHaSh = len; \
5558 U32 hash_PeRlHaSh = 0; \
5559 while (i_PeRlHaSh--) \
5560 hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \
5561 (hash) = hash_PeRlHaSh; \
5562 } STMT_END
5563 #endif
5564
5565 #ifndef PERLIO_FUNCS_DECL
5566 # ifdef PERLIO_FUNCS_CONST
5567 # define PERLIO_FUNCS_DECL(funcs) const PerlIO_funcs funcs
5568 # define PERLIO_FUNCS_CAST(funcs) (PerlIO_funcs*)(funcs)
5569 # else
5570 # define PERLIO_FUNCS_DECL(funcs) PerlIO_funcs funcs
5571 # define PERLIO_FUNCS_CAST(funcs) (funcs)
5572 # endif
5573 #endif
5574
5575 /* provide these typedefs for older perls */
5576 #if (PERL_BCDVERSION < 0x5009003)
5577
5578 # ifdef ARGSproto
5579 typedef OP* (CPERLscope(*Perl_ppaddr_t))(ARGSproto);
5580 # else
5581 typedef OP* (CPERLscope(*Perl_ppaddr_t))(pTHX);
5582 # endif
5583
5584 typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*);
5585
5586 #endif
5587
5588 #ifndef WIDEST_UTYPE
5589 # ifdef QUADKIND
5590 # ifdef U64TYPE
5591 # define WIDEST_UTYPE U64TYPE
5592 # else
5593 # define WIDEST_UTYPE Quad_t
5594 # endif
5595 # else
5596 # define WIDEST_UTYPE U32
5597 # endif
5598 #endif
5599
5600 /* On versions without NATIVE_TO_ASCII, only ASCII is supported */
5601 #if defined(EBCDIC) && defined(NATIVE_TO_ASCI)
5602 #ifndef NATIVE_TO_LATIN1
5603 # define NATIVE_TO_LATIN1(c) NATIVE_TO_ASCII(c)
5604 #endif
5605
5606 #ifndef LATIN1_TO_NATIVE
5607 # define LATIN1_TO_NATIVE(c) ASCII_TO_NATIVE(c)
5608 #endif
5609
5610 #ifndef NATIVE_TO_UNI
5611 # define NATIVE_TO_UNI(c) ((c) > 255 ? (c) : NATIVE_TO_LATIN1(c))
5612 #endif
5613
5614 #ifndef UNI_TO_NATIVE
5615 # define UNI_TO_NATIVE(c) ((c) > 255 ? (c) : LATIN1_TO_NATIVE(c))
5616 #endif
5617
5618 #else
5619 #ifndef NATIVE_TO_LATIN1
5620 # define NATIVE_TO_LATIN1(c) (c)
5621 #endif
5622
5623 #ifndef LATIN1_TO_NATIVE
5624 # define LATIN1_TO_NATIVE(c) (c)
5625 #endif
5626
5627 #ifndef NATIVE_TO_UNI
5628 # define NATIVE_TO_UNI(c) (c)
5629 #endif
5630
5631 #ifndef UNI_TO_NATIVE
5632 # define UNI_TO_NATIVE(c) (c)
5633 #endif
5634
5635 #endif
5636
5637 /* Warning: LATIN1_TO_NATIVE, NATIVE_TO_LATIN1 NATIVE_TO_UNI UNI_TO_NATIVE
5638 EBCDIC is not supported on versions earlier than 5.7.1
5639 */
5640
5641 /* The meaning of this changed; use the modern version */
5642 #undef isPSXSPC
5643 #undef isPSXSPC_A
5644 #undef isPSXSPC_L1
5645
5646 /* Hint: isPSXSPC, isPSXSPC_A, isPSXSPC_L1, isPSXSPC_utf8_safe
5647 This is equivalent to the corresponding isSPACE-type macro. On perls
5648 before 5.18, this matched a vertical tab and SPACE didn't. But the
5649 ppport.h SPACE version does match VT in all perl releases. Since VT's are
5650 extremely rarely found in real-life files, this difference effectively
5651 doesn't matter */
5652
5653 /* Hint: isSPACE, isSPACE_A, isSPACE_L1, isSPACE_utf8_safe
5654 Until Perl 5.18, this did not match the vertical tab (VT). The ppport.h
5655 version does match it in all perl releases. Since VT's are extremely rarely
5656 found in real-life files, this difference effectively doesn't matter */
5657
5658 #ifdef EBCDIC
5659
5660 /* This is the first version where these macros are fully correct on EBCDIC
5661 * platforms. Relying on * the C library functions, as earlier releases did,
5662 * causes problems with * locales */
5663 # if (PERL_BCDVERSION < 0x5022000)
5664 # undef isALNUM
5665 # undef isALNUM_A
5666 # undef isALNUM_L1
5667 # undef isALNUMC
5668 # undef isALNUMC_A
5669 # undef isALNUMC_L1
5670 # undef isALPHA
5671 # undef isALPHA_A
5672 # undef isALPHA_L1
5673 # undef isALPHANUMERIC
5674 # undef isALPHANUMERIC_A
5675 # undef isALPHANUMERIC_L1
5676 # undef isASCII
5677 # undef isASCII_A
5678 # undef isASCII_L1
5679 # undef isBLANK
5680 # undef isBLANK_A
5681 # undef isBLANK_L1
5682 # undef isCNTRL
5683 # undef isCNTRL_A
5684 # undef isCNTRL_L1
5685 # undef isDIGIT
5686 # undef isDIGIT_A
5687 # undef isDIGIT_L1
5688 # undef isGRAPH
5689 # undef isGRAPH_A
5690 # undef isGRAPH_L1
5691 # undef isIDCONT
5692 # undef isIDCONT_A
5693 # undef isIDCONT_L1
5694 # undef isIDFIRST
5695 # undef isIDFIRST_A
5696 # undef isIDFIRST_L1
5697 # undef isLOWER
5698 # undef isLOWER_A
5699 # undef isLOWER_L1
5700 # undef isOCTAL
5701 # undef isOCTAL_A
5702 # undef isOCTAL_L1
5703 # undef isPRINT
5704 # undef isPRINT_A
5705 # undef isPRINT_L1
5706 # undef isPUNCT
5707 # undef isPUNCT_A
5708 # undef isPUNCT_L1
5709 # undef isSPACE
5710 # undef isSPACE_A
5711 # undef isSPACE_L1
5712 # undef isUPPER
5713 # undef isUPPER_A
5714 # undef isUPPER_L1
5715 # undef isWORDCHAR
5716 # undef isWORDCHAR_A
5717 # undef isWORDCHAR_L1
5718 # undef isXDIGIT
5719 # undef isXDIGIT_A
5720 # undef isXDIGIT_L1
5721 # endif
5722 #ifndef isASCII
5723 # define isASCII(c) (isCNTRL(c) || isPRINT(c))
5724 #endif
5725
5726 /* The below is accurate for all EBCDIC code pages supported by
5727 * all the versions of Perl overridden by this */
5728 #ifndef isCNTRL
5729 # define isCNTRL(c) ( (c) == '\0' || (c) == '\a' || (c) == '\b' \
5730 || (c) == '\f' || (c) == '\n' || (c) == '\r' \
5731 || (c) == '\t' || (c) == '\v' \
5732 || ((c) <= 3 && (c) >= 1) /* SOH, STX, ETX */ \
5733 || (c) == 7 /* U+7F DEL */ \
5734 || ((c) <= 0x13 && (c) >= 0x0E) /* SO, SI */ \
5735 /* DLE, DC[1-3] */ \
5736 || (c) == 0x18 /* U+18 CAN */ \
5737 || (c) == 0x19 /* U+19 EOM */ \
5738 || ((c) <= 0x1F && (c) >= 0x1C) /* [FGRU]S */ \
5739 || (c) == 0x26 /* U+17 ETB */ \
5740 || (c) == 0x27 /* U+1B ESC */ \
5741 || (c) == 0x2D /* U+05 ENQ */ \
5742 || (c) == 0x2E /* U+06 ACK */ \
5743 || (c) == 0x32 /* U+16 SYN */ \
5744 || (c) == 0x37 /* U+04 EOT */ \
5745 || (c) == 0x3C /* U+14 DC4 */ \
5746 || (c) == 0x3D /* U+15 NAK */ \
5747 || (c) == 0x3F /* U+1A SUB */ \
5748 )
5749 #endif
5750
5751 #if '^' == 106 /* EBCDIC POSIX-BC */
5752 # define D_PPP_OUTLIER_CONTROL 0x5F
5753 #else /* EBCDIC 1047 037 */
5754 # define D_PPP_OUTLIER_CONTROL 0xFF
5755 #endif
5756
5757 /* The controls are everything below blank, plus one outlier */
5758 #ifndef isCNTRL_L1
5759 # define isCNTRL_L1(c) ((WIDEST_UTYPE) (c) < ' ' \
5760 || (WIDEST_UTYPE) (c) == D_PPP_OUTLIER_CONTROL)
5761 #endif
5762
5763 /* The ordering of the tests in this and isUPPER are to exclude most characters
5764 * early */
5765 #ifndef isLOWER
5766 # define isLOWER(c) ( (c) >= 'a' && (c) <= 'z' \
5767 && ( (c) <= 'i' \
5768 || ((c) >= 'j' && (c) <= 'r') \
5769 || (c) >= 's'))
5770 #endif
5771
5772 #ifndef isUPPER
5773 # define isUPPER(c) ( (c) >= 'A' && (c) <= 'Z' \
5774 && ( (c) <= 'I' \
5775 || ((c) >= 'J' && (c) <= 'R') \
5776 || (c) >= 'S'))
5777 #endif
5778
5779 #else /* Above is EBCDIC; below is ASCII */
5780
5781 # if (PERL_BCDVERSION < 0x5004000)
5782 /* The implementation of these in older perl versions can give wrong results if
5783 * the C program locale is set to other than the C locale */
5784 # undef isALNUM
5785 # undef isALNUM_A
5786 # undef isALPHA
5787 # undef isALPHA_A
5788 # undef isDIGIT
5789 # undef isDIGIT_A
5790 # undef isIDFIRST
5791 # undef isIDFIRST_A
5792 # undef isLOWER
5793 # undef isLOWER_A
5794 # undef isUPPER
5795 # undef isUPPER_A
5796 # endif
5797
5798 # if (PERL_BCDVERSION == 0x5007000) /* this perl made space GRAPH */
5799 # undef isGRAPH
5800 # endif
5801
5802 # if (PERL_BCDVERSION < 0x5008000) /* earlier perls omitted DEL */
5803 # undef isCNTRL
5804 # endif
5805
5806 # if (PERL_BCDVERSION < 0x5010000)
5807 /* earlier perls included all of the isSPACE() characters, which is wrong. The
5808 * version provided by Devel::PPPort always overrides an existing buggy
5809 * version. */
5810 # undef isPRINT
5811 # undef isPRINT_A
5812 # endif
5813
5814 # if (PERL_BCDVERSION < 0x5014000)
5815 /* earlier perls always returned true if the parameter was a signed char */
5816 # undef isASCII
5817 # undef isASCII_A
5818 # endif
5819
5820 # if (PERL_BCDVERSION < 0x5017008) /* earlier perls didn't include PILCROW, SECTION SIGN */
5821 # undef isPUNCT_L1
5822 # endif
5823
5824 # if (PERL_BCDVERSION < 0x5013007) /* khw didn't investigate why this failed */
5825 # undef isALNUMC_L1
5826 #endif
5827
5828 # if (PERL_BCDVERSION < 0x5020000) /* earlier perls didn't include \v */
5829 # undef isSPACE
5830 # undef isSPACE_A
5831 # undef isSPACE_L1
5832
5833 # endif
5834 #ifndef isASCII
5835 # define isASCII(c) ((WIDEST_UTYPE) (c) <= 127)
5836 #endif
5837
5838 #ifndef isCNTRL
5839 # define isCNTRL(c) ((WIDEST_UTYPE) (c) < ' ' || (c) == 127)
5840 #endif
5841
5842 #ifndef isCNTRL_L1
5843 # define isCNTRL_L1(c) (isCNTRL(c) || ( (WIDEST_UTYPE) (c) <= 0x9F \
5844 && (WIDEST_UTYPE) (c) >= 0x80))
5845 #endif
5846
5847 #ifndef isLOWER
5848 # define isLOWER(c) ((c) >= 'a' && (c) <= 'z')
5849 #endif
5850
5851 #ifndef isUPPER
5852 # define isUPPER(c) ((c) <= 'Z' && (c) >= 'A')
5853 #endif
5854
5855 #endif /* Below are definitions common to EBCDIC and ASCII */
5856 #ifndef isASCII_L1
5857 # define isASCII_L1(c) isASCII(c)
5858 #endif
5859
5860 #ifndef isASCII_LC
5861 # define isASCII_LC(c) isASCII(c)
5862 #endif
5863
5864 #ifndef isALNUM
5865 # define isALNUM(c) isWORDCHAR(c)
5866 #endif
5867
5868 #ifndef isALNUMC
5869 # define isALNUMC(c) isALPHANUMERIC(c)
5870 #endif
5871
5872 #ifndef isALNUMC_L1
5873 # define isALNUMC_L1(c) isALPHANUMERIC_L1(c)
5874 #endif
5875
5876 #ifndef isALPHA
5877 # define isALPHA(c) (isUPPER(c) || isLOWER(c))
5878 #endif
5879
5880 #ifndef isALPHA_L1
5881 # define isALPHA_L1(c) (isUPPER_L1(c) || isLOWER_L1(c))
5882 #endif
5883
5884 #ifndef isALPHANUMERIC
5885 # define isALPHANUMERIC(c) (isALPHA(c) || isDIGIT(c))
5886 #endif
5887
5888 #ifndef isALPHANUMERIC_L1
5889 # define isALPHANUMERIC_L1(c) (isALPHA_L1(c) || isDIGIT(c))
5890 #endif
5891
5892 #ifndef isALPHANUMERIC_LC
5893 # define isALPHANUMERIC_LC(c) (isALPHA_LC(c) || isDIGIT_LC(c))
5894 #endif
5895
5896 #ifndef isBLANK
5897 # define isBLANK(c) ((c) == ' ' || (c) == '\t')
5898 #endif
5899
5900 #ifndef isBLANK_L1
5901 # define isBLANK_L1(c) ( isBLANK(c) \
5902 || ( FITS_IN_8_BITS(c) \
5903 && NATIVE_TO_LATIN1((U8) c) == 0xA0))
5904 #endif
5905
5906 #ifndef isBLANK_LC
5907 # define isBLANK_LC(c) isBLANK(c)
5908 #endif
5909
5910 #ifndef isDIGIT
5911 # define isDIGIT(c) inRANGE(c, '0', '9')
5912 #endif
5913
5914 #ifndef isDIGIT_L1
5915 # define isDIGIT_L1(c) isDIGIT(c)
5916 #endif
5917
5918 #ifndef isGRAPH
5919 # define isGRAPH(c) (isWORDCHAR(c) || isPUNCT(c))
5920 #endif
5921
5922 #ifndef isGRAPH_L1
5923 # define isGRAPH_L1(c) ( isPRINT_L1(c) \
5924 && (c) != ' ' \
5925 && NATIVE_TO_LATIN1((U8) c) != 0xA0)
5926 #endif
5927
5928 #ifndef isIDCONT
5929 # define isIDCONT(c) isWORDCHAR(c)
5930 #endif
5931
5932 #ifndef isIDCONT_L1
5933 # define isIDCONT_L1(c) isWORDCHAR_L1(c)
5934 #endif
5935
5936 #ifndef isIDCONT_LC
5937 # define isIDCONT_LC(c) isWORDCHAR_LC(c)
5938 #endif
5939
5940 #ifndef isIDFIRST
5941 # define isIDFIRST(c) (isALPHA(c) || (c) == '_')
5942 #endif
5943
5944 #ifndef isIDFIRST_L1
5945 # define isIDFIRST_L1(c) (isALPHA_L1(c) || (U8) (c) == '_')
5946 #endif
5947
5948 #ifndef isIDFIRST_LC
5949 # define isIDFIRST_LC(c) (isALPHA_LC(c) || (U8) (c) == '_')
5950 #endif
5951
5952 #ifndef isLOWER_L1
5953 # define isLOWER_L1(c) ( isLOWER(c) \
5954 || ( FITS_IN_8_BITS(c) \
5955 && ( ( NATIVE_TO_LATIN1((U8) c) >= 0xDF \
5956 && NATIVE_TO_LATIN1((U8) c) != 0xF7) \
5957 || NATIVE_TO_LATIN1((U8) c) == 0xAA \
5958 || NATIVE_TO_LATIN1((U8) c) == 0xBA \
5959 || NATIVE_TO_LATIN1((U8) c) == 0xB5)))
5960 #endif
5961
5962 #ifndef isOCTAL
5963 # define isOCTAL(c) (((WIDEST_UTYPE)((c)) & ~7) == '0')
5964 #endif
5965
5966 #ifndef isOCTAL_L1
5967 # define isOCTAL_L1(c) isOCTAL(c)
5968 #endif
5969
5970 #ifndef isPRINT
5971 # define isPRINT(c) (isGRAPH(c) || (c) == ' ')
5972 #endif
5973
5974 #ifndef isPRINT_L1
5975 # define isPRINT_L1(c) (FITS_IN_8_BITS(c) && ! isCNTRL_L1(c))
5976 #endif
5977
5978 #ifndef isPSXSPC
5979 # define isPSXSPC(c) isSPACE(c)
5980 #endif
5981
5982 #ifndef isPSXSPC_L1
5983 # define isPSXSPC_L1(c) isSPACE_L1(c)
5984 #endif
5985
5986 #ifndef isPUNCT
5987 # define isPUNCT(c) ( (c) == '-' || (c) == '!' || (c) == '"' \
5988 || (c) == '#' || (c) == '$' || (c) == '%' \
5989 || (c) == '&' || (c) == '\'' || (c) == '(' \
5990 || (c) == ')' || (c) == '*' || (c) == '+' \
5991 || (c) == ',' || (c) == '.' || (c) == '/' \
5992 || (c) == ':' || (c) == ';' || (c) == '<' \
5993 || (c) == '=' || (c) == '>' || (c) == '?' \
5994 || (c) == '@' || (c) == '[' || (c) == '\\' \
5995 || (c) == ']' || (c) == '^' || (c) == '_' \
5996 || (c) == '`' || (c) == '{' || (c) == '|' \
5997 || (c) == '}' || (c) == '~')
5998 #endif
5999
6000 #ifndef isPUNCT_L1
6001 # define isPUNCT_L1(c) ( isPUNCT(c) \
6002 || ( FITS_IN_8_BITS(c) \
6003 && ( NATIVE_TO_LATIN1((U8) c) == 0xA1 \
6004 || NATIVE_TO_LATIN1((U8) c) == 0xA7 \
6005 || NATIVE_TO_LATIN1((U8) c) == 0xAB \
6006 || NATIVE_TO_LATIN1((U8) c) == 0xB6 \
6007 || NATIVE_TO_LATIN1((U8) c) == 0xB7 \
6008 || NATIVE_TO_LATIN1((U8) c) == 0xBB \
6009 || NATIVE_TO_LATIN1((U8) c) == 0xBF)))
6010 #endif
6011
6012 #ifndef isSPACE
6013 # define isSPACE(c) ( isBLANK(c) || (c) == '\n' || (c) == '\r' \
6014 || (c) == '\v' || (c) == '\f')
6015 #endif
6016
6017 #ifndef isSPACE_L1
6018 # define isSPACE_L1(c) ( isSPACE(c) \
6019 || (FITS_IN_8_BITS(c) \
6020 && ( NATIVE_TO_LATIN1((U8) c) == 0x85 \
6021 || NATIVE_TO_LATIN1((U8) c) == 0xA0)))
6022 #endif
6023
6024 #ifndef isUPPER_L1
6025 # define isUPPER_L1(c) ( isUPPER(c) \
6026 || (FITS_IN_8_BITS(c) \
6027 && ( NATIVE_TO_LATIN1((U8) c) >= 0xC0 \
6028 && NATIVE_TO_LATIN1((U8) c) <= 0xDE \
6029 && NATIVE_TO_LATIN1((U8) c) != 0xD7)))
6030 #endif
6031
6032 #ifndef isWORDCHAR
6033 # define isWORDCHAR(c) (isALPHANUMERIC(c) || (c) == '_')
6034 #endif
6035
6036 #ifndef isWORDCHAR_L1
6037 # define isWORDCHAR_L1(c) (isIDFIRST_L1(c) || isDIGIT(c))
6038 #endif
6039
6040 #ifndef isWORDCHAR_LC
6041 # define isWORDCHAR_LC(c) (isIDFIRST_LC(c) || isDIGIT_LC(c))
6042 #endif
6043
6044 #ifndef isXDIGIT
6045 # define isXDIGIT(c) ( isDIGIT(c) \
6046 || ((c) >= 'a' && (c) <= 'f') \
6047 || ((c) >= 'A' && (c) <= 'F'))
6048 #endif
6049
6050 #ifndef isXDIGIT_L1
6051 # define isXDIGIT_L1(c) isXDIGIT(c)
6052 #endif
6053
6054 #ifndef isXDIGIT_LC
6055 # define isXDIGIT_LC(c) isxdigit(c)
6056 #endif
6057 #ifndef isALNUM_A
6058 # define isALNUM_A(c) isALNUM(c)
6059 #endif
6060
6061 #ifndef isALNUMC_A
6062 # define isALNUMC_A(c) isALNUMC(c)
6063 #endif
6064
6065 #ifndef isALPHA_A
6066 # define isALPHA_A(c) isALPHA(c)
6067 #endif
6068
6069 #ifndef isALPHANUMERIC_A
6070 # define isALPHANUMERIC_A(c) isALPHANUMERIC(c)
6071 #endif
6072
6073 #ifndef isASCII_A
6074 # define isASCII_A(c) isASCII(c)
6075 #endif
6076
6077 #ifndef isBLANK_A
6078 # define isBLANK_A(c) isBLANK(c)
6079 #endif
6080
6081 #ifndef isCNTRL_A
6082 # define isCNTRL_A(c) isCNTRL(c)
6083 #endif
6084
6085 #ifndef isDIGIT_A
6086 # define isDIGIT_A(c) isDIGIT(c)
6087 #endif
6088
6089 #ifndef isGRAPH_A
6090 # define isGRAPH_A(c) isGRAPH(c)
6091 #endif
6092
6093 #ifndef isIDCONT_A
6094 # define isIDCONT_A(c) isIDCONT(c)
6095 #endif
6096
6097 #ifndef isIDFIRST_A
6098 # define isIDFIRST_A(c) isIDFIRST(c)
6099 #endif
6100
6101 #ifndef isLOWER_A
6102 # define isLOWER_A(c) isLOWER(c)
6103 #endif
6104
6105 #ifndef isOCTAL_A
6106 # define isOCTAL_A(c) isOCTAL(c)
6107 #endif
6108
6109 #ifndef isPRINT_A
6110 # define isPRINT_A(c) isPRINT(c)
6111 #endif
6112
6113 #ifndef isPSXSPC_A
6114 # define isPSXSPC_A(c) isPSXSPC(c)
6115 #endif
6116
6117 #ifndef isPUNCT_A
6118 # define isPUNCT_A(c) isPUNCT(c)
6119 #endif
6120
6121 #ifndef isSPACE_A
6122 # define isSPACE_A(c) isSPACE(c)
6123 #endif
6124
6125 #ifndef isUPPER_A
6126 # define isUPPER_A(c) isUPPER(c)
6127 #endif
6128
6129 #ifndef isWORDCHAR_A
6130 # define isWORDCHAR_A(c) isWORDCHAR(c)
6131 #endif
6132
6133 #ifndef isXDIGIT_A
6134 # define isXDIGIT_A(c) isXDIGIT(c)
6135 #endif
6136 #ifndef isASCII_utf8_safe
6137 # define isASCII_utf8_safe(s,e) (((e) - (s)) <= 0 ? 0 : isASCII(*(s)))
6138 #endif
6139
6140 #ifndef isASCII_uvchr
6141 # define isASCII_uvchr(c) (FITS_IN_8_BITS(c) ? isASCII_L1(c) : 0)
6142 #endif
6143
6144 #if (PERL_BCDVERSION >= 0x5006000)
6145 # ifdef isALPHA_uni /* If one defined, all are; this is just an exemplar */
6146 # define D_PPP_is_ctype(upper, lower, c) \
6147 (FITS_IN_8_BITS(c) \
6148 ? is ## upper ## _L1(c) \
6149 : is ## upper ## _uni((UV) (c))) /* _uni is old synonym */
6150 # else
6151 # define D_PPP_is_ctype(upper, lower, c) \
6152 (FITS_IN_8_BITS(c) \
6153 ? is ## upper ## _L1(c) \
6154 : is_uni_ ## lower((UV) (c))) /* is_uni_ is even older */
6155 # endif
6156 #ifndef isALPHA_uvchr
6157 # define isALPHA_uvchr(c) D_PPP_is_ctype(ALPHA, alpha, c)
6158 #endif
6159
6160 #ifndef isALPHANUMERIC_uvchr
6161 # define isALPHANUMERIC_uvchr(c) (isALPHA_uvchr(c) || isDIGIT_uvchr(c))
6162 #endif
6163
6164 # ifdef is_uni_blank
6165 #ifndef isBLANK_uvchr
6166 # define isBLANK_uvchr(c) D_PPP_is_ctype(BLANK, blank, c)
6167 #endif
6168
6169 # else
6170 #ifndef isBLANK_uvchr
6171 # define isBLANK_uvchr(c) (FITS_IN_8_BITS(c) \
6172 ? isBLANK_L1(c) \
6173 : ( (UV) (c) == 0x1680 /* Unicode 3.0 */ \
6174 || inRANGE((UV) (c), 0x2000, 0x200A) \
6175 || (UV) (c) == 0x202F /* Unicode 3.0 */\
6176 || (UV) (c) == 0x205F /* Unicode 3.2 */\
6177 || (UV) (c) == 0x3000))
6178 #endif
6179
6180 # endif
6181 #ifndef isCNTRL_uvchr
6182 # define isCNTRL_uvchr(c) D_PPP_is_ctype(CNTRL, cntrl, c)
6183 #endif
6184
6185 #ifndef isDIGIT_uvchr
6186 # define isDIGIT_uvchr(c) D_PPP_is_ctype(DIGIT, digit, c)
6187 #endif
6188
6189 #ifndef isGRAPH_uvchr
6190 # define isGRAPH_uvchr(c) D_PPP_is_ctype(GRAPH, graph, c)
6191 #endif
6192
6193 #ifndef isIDCONT_uvchr
6194 # define isIDCONT_uvchr(c) isWORDCHAR_uvchr(c)
6195 #endif
6196
6197 #ifndef isIDFIRST_uvchr
6198 # define isIDFIRST_uvchr(c) D_PPP_is_ctype(IDFIRST, idfirst, c)
6199 #endif
6200
6201 #ifndef isLOWER_uvchr
6202 # define isLOWER_uvchr(c) D_PPP_is_ctype(LOWER, lower, c)
6203 #endif
6204
6205 #ifndef isPRINT_uvchr
6206 # define isPRINT_uvchr(c) D_PPP_is_ctype(PRINT, print, c)
6207 #endif
6208
6209 #ifndef isPSXSPC_uvchr
6210 # define isPSXSPC_uvchr(c) isSPACE_uvchr(c)
6211 #endif
6212
6213 #ifndef isPUNCT_uvchr
6214 # define isPUNCT_uvchr(c) D_PPP_is_ctype(PUNCT, punct, c)
6215 #endif
6216
6217 #ifndef isSPACE_uvchr
6218 # define isSPACE_uvchr(c) D_PPP_is_ctype(SPACE, space, c)
6219 #endif
6220
6221 #ifndef isUPPER_uvchr
6222 # define isUPPER_uvchr(c) D_PPP_is_ctype(UPPER, upper, c)
6223 #endif
6224
6225 #ifndef isXDIGIT_uvchr
6226 # define isXDIGIT_uvchr(c) D_PPP_is_ctype(XDIGIT, xdigit, c)
6227 #endif
6228
6229 #ifndef isWORDCHAR_uvchr
6230 # define isWORDCHAR_uvchr(c) (FITS_IN_8_BITS(c) \
6231 ? isWORDCHAR_L1(c) : isALPHANUMERIC_uvchr(c))
6232 #endif
6233 #ifndef isALPHA_utf8_safe
6234 # define isALPHA_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, ALPHA)
6235 #endif
6236
6237 # ifdef isALPHANUMERIC_utf8
6238 #ifndef isALPHANUMERIC_utf8_safe
6239 # define isALPHANUMERIC_utf8_safe(s,e) \
6240 D_PPP_IS_GENERIC_UTF8_SAFE(s, e, ALPHANUMERIC)
6241 #endif
6242
6243 # else
6244 #ifndef isALPHANUMERIC_utf8_safe
6245 # define isALPHANUMERIC_utf8_safe(s,e) \
6246 (isALPHA_utf8_safe(s,e) || isDIGIT_utf8_safe(s,e))
6247 #endif
6248
6249 # endif
6250
6251 /* This was broken before 5.18, and just use this instead of worrying about
6252 * which releases the official works on */
6253 # if 'A' == 65
6254 #ifndef isBLANK_utf8_safe
6255 # define isBLANK_utf8_safe(s,e) \
6256 ( ( LIKELY((e) > (s)) ) ? /* Machine generated */ \
6257 ( ( 0x09 == ((const U8*)s)[0] || 0x20 == ((const U8*)s)[0] ) ? 1 \
6258 : ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ? \
6259 ( ( 0xC2 == ((const U8*)s)[0] ) ? \
6260 ( ( 0xA0 == ((const U8*)s)[1] ) ? 2 : 0 ) \
6261 : ( 0xE1 == ((const U8*)s)[0] ) ? \
6262 ( ( ( 0x9A == ((const U8*)s)[1] ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
6263 : ( 0xE2 == ((const U8*)s)[0] ) ? \
6264 ( ( 0x80 == ((const U8*)s)[1] ) ? \
6265 ( ( inRANGE(((const U8*)s)[2], 0x80, 0x8A ) || 0xAF == ((const U8*)s)[2] ) ? 3 : 0 )\
6266 : ( ( 0x81 == ((const U8*)s)[1] ) && ( 0x9F == ((const U8*)s)[2] ) ) ? 3 : 0 )\
6267 : ( ( ( 0xE3 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
6268 : 0 ) \
6269 : 0 )
6270 #endif
6271
6272 # elif 'A' == 193 && '^' == 95 /* EBCDIC 1047 */
6273 #ifndef isBLANK_utf8_safe
6274 # define isBLANK_utf8_safe(s,e) \
6275 ( ( LIKELY((e) > (s)) ) ? \
6276 ( ( 0x05 == ((const U8*)s)[0] || 0x40 == ((const U8*)s)[0] ) ? 1 \
6277 : ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ? \
6278 ( ( 0x80 == ((const U8*)s)[0] ) ? \
6279 ( ( 0x41 == ((const U8*)s)[1] ) ? 2 : 0 ) \
6280 : ( 0xBC == ((const U8*)s)[0] ) ? \
6281 ( ( ( 0x63 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
6282 : ( 0xCA == ((const U8*)s)[0] ) ? \
6283 ( ( 0x41 == ((const U8*)s)[1] ) ? \
6284 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\
6285 : ( 0x42 == ((const U8*)s)[1] ) ? \
6286 ( ( 0x56 == ((const U8*)s)[2] ) ? 3 : 0 ) \
6287 : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x73 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
6288 : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
6289 : 0 ) \
6290 : 0 )
6291 #endif
6292
6293 # elif 'A' == 193 && '^' == 176 /* EBCDIC 037 */
6294 #ifndef isBLANK_utf8_safe
6295 # define isBLANK_utf8_safe(s,e) \
6296 ( ( LIKELY((e) > (s)) ) ? \
6297 ( ( 0x05 == ((const U8*)s)[0] || 0x40 == ((const U8*)s)[0] ) ? 1 \
6298 : ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ? \
6299 ( ( 0x78 == ((const U8*)s)[0] ) ? \
6300 ( ( 0x41 == ((const U8*)s)[1] ) ? 2 : 0 ) \
6301 : ( 0xBD == ((const U8*)s)[0] ) ? \
6302 ( ( ( 0x62 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
6303 : ( 0xCA == ((const U8*)s)[0] ) ? \
6304 ( ( 0x41 == ((const U8*)s)[1] ) ? \
6305 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\
6306 : ( 0x42 == ((const U8*)s)[1] ) ? \
6307 ( ( 0x56 == ((const U8*)s)[2] ) ? 3 : 0 ) \
6308 : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
6309 : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
6310 : 0 ) \
6311 : 0 )
6312 #endif
6313
6314 # else
6315 # error Unknown character set
6316 # endif
6317 #ifndef isCNTRL_utf8_safe
6318 # define isCNTRL_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, CNTRL)
6319 #endif
6320
6321 #ifndef isDIGIT_utf8_safe
6322 # define isDIGIT_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, DIGIT)
6323 #endif
6324
6325 #ifndef isGRAPH_utf8_safe
6326 # define isGRAPH_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, GRAPH)
6327 #endif
6328
6329 # ifdef isIDCONT_utf8
6330 #ifndef isIDCONT_utf8_safe
6331 # define isIDCONT_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, IDCONT)
6332 #endif
6333
6334 # else
6335 #ifndef isIDCONT_utf8_safe
6336 # define isIDCONT_utf8_safe(s,e) isWORDCHAR_utf8_safe(s,e)
6337 #endif
6338
6339 # endif
6340 #ifndef isIDFIRST_utf8_safe
6341 # define isIDFIRST_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, IDFIRST)
6342 #endif
6343
6344 #ifndef isLOWER_utf8_safe
6345 # define isLOWER_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, LOWER)
6346 #endif
6347
6348 #ifndef isPRINT_utf8_safe
6349 # define isPRINT_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, PRINT)
6350 #endif
6351
6352 # undef isPSXSPC_utf8_safe /* Use the modern definition */
6353 #ifndef isPSXSPC_utf8_safe
6354 # define isPSXSPC_utf8_safe(s,e) isSPACE_utf8_safe(s,e)
6355 #endif
6356 #ifndef isPUNCT_utf8_safe
6357 # define isPUNCT_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, PUNCT)
6358 #endif
6359
6360 #ifndef isSPACE_utf8_safe
6361 # define isSPACE_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, SPACE)
6362 #endif
6363
6364 #ifndef isUPPER_utf8_safe
6365 # define isUPPER_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, UPPER)
6366 #endif
6367
6368 # ifdef isWORDCHAR_utf8
6369 #ifndef isWORDCHAR_utf8_safe
6370 # define isWORDCHAR_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, WORDCHAR)
6371 #endif
6372
6373 # else
6374 #ifndef isWORDCHAR_utf8_safe
6375 # define isWORDCHAR_utf8_safe(s,e) \
6376 (isALPHANUMERIC_utf8_safe(s,e) || (*(s)) == '_')
6377 #endif
6378
6379 # endif
6380
6381 /* This was broken before 5.12, and just use this instead of worrying about
6382 * which releases the official works on */
6383 # if 'A' == 65
6384 #ifndef isXDIGIT_utf8_safe
6385 # define isXDIGIT_utf8_safe(s,e) \
6386 ( ( LIKELY((e) > (s)) ) ? \
6387 ( ( inRANGE(((const U8*)s)[0], 0x30, 0x39 ) || inRANGE(((const U8*)s)[0], 0x41, 0x46 ) || inRANGE(((const U8*)s)[0], 0x61, 0x66 ) ) ? 1\
6388 : ( ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xEF == ((const U8*)s)[0] ) ) ? ( ( 0xBC == ((const U8*)s)[1] ) ?\
6389 ( ( inRANGE(((const U8*)s)[2], 0x90, 0x99 ) || inRANGE(((const U8*)s)[2], 0xA1, 0xA6 ) ) ? 3 : 0 )\
6390 : ( ( 0xBD == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x81, 0x86 ) ) ) ? 3 : 0 ) : 0 )\
6391 : 0 )
6392 #endif
6393
6394 # elif 'A' == 193 && '^' == 95 /* EBCDIC 1047 */
6395 #ifndef isXDIGIT_utf8_safe
6396 # define isXDIGIT_utf8_safe(s,e) \
6397 ( ( LIKELY((e) > (s)) ) ? \
6398 ( ( inRANGE(((const U8*)s)[0], 0x81, 0x86 ) || inRANGE(((const U8*)s)[0], 0xC1, 0xC6 ) || inRANGE(((const U8*)s)[0], 0xF0, 0xF9 ) ) ? 1\
6399 : ( ( ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xDD == ((const U8*)s)[0] ) ) && ( 0x73 == ((const U8*)s)[1] ) ) ? ( ( 0x67 == ((const U8*)s)[2] ) ?\
6400 ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x68 ) ) ? 4 : 0 )\
6401 : ( ( inRANGE(((const U8*)s)[2], 0x68, 0x69 ) ) && ( inRANGE(((const U8*)s)[3], 0x42, 0x47 ) ) ) ? 4 : 0 ) : 0 )\
6402 : 0 )
6403 #endif
6404
6405 # elif 'A' == 193 && '^' == 176 /* EBCDIC 037 */
6406 #ifndef isXDIGIT_utf8_safe
6407 # define isXDIGIT_utf8_safe(s,e) \
6408 ( ( LIKELY((e) > (s)) ) ? \
6409 ( ( inRANGE(((const U8*)s)[0], 0x81, 0x86 ) || inRANGE(((const U8*)s)[0], 0xC1, 0xC6 ) || inRANGE(((const U8*)s)[0], 0xF0, 0xF9 ) ) ? 1\
6410 : ( ( ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xDD == ((const U8*)s)[0] ) ) && ( 0x72 == ((const U8*)s)[1] ) ) ? ( ( 0x66 == ((const U8*)s)[2] ) ?\
6411 ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x67 ) ) ? 4 : 0 )\
6412 : ( ( inRANGE(((const U8*)s)[2], 0x67, 0x68 ) ) && ( inRANGE(((const U8*)s)[3], 0x42, 0x47 ) ) ) ? 4 : 0 ) : 0 )\
6413 : 0 )
6414 #endif
6415
6416 # else
6417 # error Unknown character set
6418 # endif
6419 #ifndef isALPHA_LC_utf8_safe
6420 # define isALPHA_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, ALPHA)
6421 #endif
6422
6423 # ifdef isALPHANUMERIC_utf8
6424 #ifndef isALPHANUMERIC_LC_utf8_safe
6425 # define isALPHANUMERIC_LC_utf8_safe(s,e) \
6426 D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, ALPHANUMERIC)
6427 #endif
6428
6429 # else
6430 #ifndef isALPHANUMERIC_LC_utf8_safe
6431 # define isALPHANUMERIC_LC_utf8_safe(s,e) \
6432 (isALPHA_LC_utf8_safe(s,e) || isDIGIT_LC_utf8_safe(s,e))
6433 #endif
6434
6435 # endif
6436 #ifndef isBLANK_LC_utf8_safe
6437 # define isBLANK_LC_utf8_safe(s,e) \
6438 D_PPP_IS_GENERIC_LC_UTF8_SAFE_BROKEN(s, e, BLANK)
6439 #endif
6440
6441 #ifndef isCNTRL_LC_utf8_safe
6442 # define isCNTRL_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, CNTRL)
6443 #endif
6444
6445 #ifndef isDIGIT_LC_utf8_safe
6446 # define isDIGIT_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, DIGIT)
6447 #endif
6448
6449 #ifndef isGRAPH_LC_utf8_safe
6450 # define isGRAPH_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, GRAPH)
6451 #endif
6452
6453 # ifdef isIDCONT_utf8
6454 #ifndef isIDCONT_LC_utf8_safe
6455 # define isIDCONT_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, IDCONT)
6456 #endif
6457
6458 # else
6459 #ifndef isIDCONT_LC_utf8_safe
6460 # define isIDCONT_LC_utf8_safe(s,e) isWORDCHAR_LC_utf8_safe(s,e)
6461 #endif
6462
6463 # endif
6464 #ifndef isIDFIRST_LC_utf8_safe
6465 # define isIDFIRST_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, IDFIRST)
6466 #endif
6467
6468 #ifndef isLOWER_LC_utf8_safe
6469 # define isLOWER_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, LOWER)
6470 #endif
6471
6472 #ifndef isPRINT_LC_utf8_safe
6473 # define isPRINT_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, PRINT)
6474 #endif
6475
6476 # undef isPSXSPC_LC_utf8_safe /* Use the modern definition */
6477 #ifndef isPSXSPC_LC_utf8_safe
6478 # define isPSXSPC_LC_utf8_safe(s,e) isSPACE_LC_utf8_safe(s,e)
6479 #endif
6480 #ifndef isPUNCT_LC_utf8_safe
6481 # define isPUNCT_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, PUNCT)
6482 #endif
6483
6484 #ifndef isSPACE_LC_utf8_safe
6485 # define isSPACE_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, SPACE)
6486 #endif
6487
6488 #ifndef isUPPER_LC_utf8_safe
6489 # define isUPPER_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, UPPER)
6490 #endif
6491
6492 # ifdef isWORDCHAR_utf8
6493 #ifndef isWORDCHAR_LC_utf8_safe
6494 # define isWORDCHAR_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, WORDCHAR)
6495 #endif
6496
6497 # else
6498 #ifndef isWORDCHAR_LC_utf8_safe
6499 # define isWORDCHAR_LC_utf8_safe(s,e) \
6500 (isALPHANUMERIC_LC_utf8_safe(s,e) || (*(s)) == '_')
6501 #endif
6502
6503 # endif
6504 #ifndef isXDIGIT_LC_utf8_safe
6505 # define isXDIGIT_LC_utf8_safe(s,e) \
6506 D_PPP_IS_GENERIC_LC_UTF8_SAFE_BROKEN(s, e, XDIGIT)
6507 #endif
6508
6509 /* Warning: isALPHANUMERIC_utf8_safe, isALPHA_utf8_safe, isASCII_utf8_safe,
6510 * isBLANK_utf8_safe, isCNTRL_utf8_safe, isDIGIT_utf8_safe, isGRAPH_utf8_safe,
6511 * isIDCONT_utf8_safe, isIDFIRST_utf8_safe, isLOWER_utf8_safe,
6512 * isPRINT_utf8_safe, isPSXSPC_utf8_safe, isPUNCT_utf8_safe, isSPACE_utf8_safe,
6513 * isUPPER_utf8_safe, isWORDCHAR_utf8_safe, isWORDCHAR_utf8_safe,
6514 * isXDIGIT_utf8_safe,
6515 * isALPHANUMERIC_LC_utf8_safe, isALPHA_LC_utf8_safe, isASCII_LC_utf8_safe,
6516 * isBLANK_LC_utf8_safe, isCNTRL_LC_utf8_safe, isDIGIT_LC_utf8_safe,
6517 * isGRAPH_LC_utf8_safe, isIDCONT_LC_utf8_safe, isIDFIRST_LC_utf8_safe,
6518 * isLOWER_LC_utf8_safe, isPRINT_LC_utf8_safe, isPSXSPC_LC_utf8_safe,
6519 * isPUNCT_LC_utf8_safe, isSPACE_LC_utf8_safe, isUPPER_LC_utf8_safe,
6520 * isWORDCHAR_LC_utf8_safe, isWORDCHAR_LC_utf8_safe, isXDIGIT_LC_utf8_safe,
6521 * isALPHANUMERIC_uvchr, isALPHA_uvchr, isASCII_uvchr, isBLANK_uvchr,
6522 * isCNTRL_uvchr, isDIGIT_uvchr, isGRAPH_uvchr, isIDCONT_uvchr,
6523 * isIDFIRST_uvchr, isLOWER_uvchr, isPRINT_uvchr, isPSXSPC_uvchr,
6524 * isPUNCT_uvchr, isSPACE_uvchr, isUPPER_uvchr, isWORDCHAR_uvchr,
6525 * isWORDCHAR_uvchr, isXDIGIT_uvchr
6526 *
6527 * The UTF-8 handling is buggy in early Perls, and this can give inaccurate
6528 * results for code points above 0xFF, until the implementation started
6529 * settling down in 5.12 and 5.14 */
6530
6531 #endif
6532
6533 #define D_PPP_TOO_SHORT_MSG "Malformed UTF-8 character starting with:" \
6534 " \\x%02x (too short; %d bytes available, need" \
6535 " %d)\n"
6536 /* Perls starting here had a new API which handled multi-character results */
6537 #if (PERL_BCDVERSION >= 0x5007003)
6538 #ifndef toLOWER_uvchr
6539 # define toLOWER_uvchr(c, s, l) UNI_TO_NATIVE(to_uni_lower(NATIVE_TO_UNI(c), s, l))
6540 #endif
6541
6542 #ifndef toUPPER_uvchr
6543 # define toUPPER_uvchr(c, s, l) UNI_TO_NATIVE(to_uni_upper(NATIVE_TO_UNI(c), s, l))
6544 #endif
6545
6546 #ifndef toTITLE_uvchr
6547 # define toTITLE_uvchr(c, s, l) UNI_TO_NATIVE(to_uni_title(NATIVE_TO_UNI(c), s, l))
6548 #endif
6549
6550 #ifndef toFOLD_uvchr
6551 # define toFOLD_uvchr(c, s, l) UNI_TO_NATIVE(to_uni_fold( NATIVE_TO_UNI(c), s, l))
6552 #endif
6553
6554 # if (PERL_BCDVERSION != 0x5015006) /* Just this version is broken */
6555
6556 /* Prefer the macro to the function */
6557 # if defined toLOWER_utf8
6558 # define D_PPP_TO_LOWER_CALLEE(s,r,l) toLOWER_utf8(s,r,l)
6559 # else
6560 # define D_PPP_TO_LOWER_CALLEE(s,r,l) to_utf8_lower(s,r,l)
6561 # endif
6562 # if defined toTITLE_utf8
6563 # define D_PPP_TO_TITLE_CALLEE(s,r,l) toTITLE_utf8(s,r,l)
6564 # else
6565 # define D_PPP_TO_TITLE_CALLEE(s,r,l) to_utf8_title(s,r,l)
6566 # endif
6567 # if defined toUPPER_utf8
6568 # define D_PPP_TO_UPPER_CALLEE(s,r,l) toUPPER_utf8(s,r,l)
6569 # else
6570 # define D_PPP_TO_UPPER_CALLEE(s,r,l) to_utf8_upper(s,r,l)
6571 # endif
6572 # if defined toFOLD_utf8
6573 # define D_PPP_TO_FOLD_CALLEE(s,r,l) toFOLD_utf8(s,r,l)
6574 # else
6575 # define D_PPP_TO_FOLD_CALLEE(s,r,l) to_utf8_fold(s,r,l)
6576 # endif
6577 # else /* Below is 5.15.6, which failed to make the macros available
6578 # outside of core, so we have to use the 'Perl_' form. khw
6579 # decided it was easier to just handle this case than have to
6580 # document the exception, and make an exception in the tests below
6581 # */
6582 # define D_PPP_TO_LOWER_CALLEE(s,r,l) \
6583 Perl__to_utf8_lower_flags(aTHX_ s, r, l, 0, NULL)
6584 # define D_PPP_TO_TITLE_CALLEE(s,r,l) \
6585 Perl__to_utf8_title_flags(aTHX_ s, r, l, 0, NULL)
6586 # define D_PPP_TO_UPPER_CALLEE(s,r,l) \
6587 Perl__to_utf8_upper_flags(aTHX_ s, r, l, 0, NULL)
6588 # define D_PPP_TO_FOLD_CALLEE(s,r,l) \
6589 Perl__to_utf8_fold_flags(aTHX_ s, r, l, FOLD_FLAGS_FULL, NULL)
6590 # endif
6591
6592 /* The actual implementation of the backported macros. If too short, croak,
6593 * otherwise call the original that doesn't have an upper limit parameter */
6594 # define D_PPP_GENERIC_MULTI_ARG_TO(name, s, e,r,l) \
6595 (((((e) - (s)) <= 0) \
6596 /* We could just do nothing, but modern perls croak */ \
6597 ? (croak("Attempting case change on zero length string"), \
6598 0) /* So looks like it returns something, and will compile */ \
6599 : ((e) - (s)) < UTF8SKIP(s)) \
6600 ? (croak(D_PPP_TOO_SHORT_MSG, \
6601 s[0], (int) ((e) - (s)), (int) UTF8SKIP(s)), \
6602 0) \
6603 : D_PPP_TO_ ## name ## _CALLEE(s,r,l))
6604 #ifndef toUPPER_utf8_safe
6605 # define toUPPER_utf8_safe(s,e,r,l) \
6606 D_PPP_GENERIC_MULTI_ARG_TO(UPPER,s,e,r,l)
6607 #endif
6608
6609 #ifndef toLOWER_utf8_safe
6610 # define toLOWER_utf8_safe(s,e,r,l) \
6611 D_PPP_GENERIC_MULTI_ARG_TO(LOWER,s,e,r,l)
6612 #endif
6613
6614 #ifndef toTITLE_utf8_safe
6615 # define toTITLE_utf8_safe(s,e,r,l) \
6616 D_PPP_GENERIC_MULTI_ARG_TO(TITLE,s,e,r,l)
6617 #endif
6618
6619 #ifndef toFOLD_utf8_safe
6620 # define toFOLD_utf8_safe(s,e,r,l) \
6621 D_PPP_GENERIC_MULTI_ARG_TO(FOLD,s,e,r,l)
6622 #endif
6623
6624 #elif (PERL_BCDVERSION >= 0x5006000)
6625
6626 /* Here we have UTF-8 support, but using the original API where the case
6627 * changing functions merely returned the changed code point; hence they
6628 * couldn't handle multi-character results. */
6629
6630 # ifdef uvchr_to_utf8
6631 # define D_PPP_UV_TO_UTF8 uvchr_to_utf8
6632 # else
6633 # define D_PPP_UV_TO_UTF8 uv_to_utf8
6634 # endif
6635
6636 /* Get the utf8 of the case changed value, and store its length; then have
6637 * to re-calculate the changed case value in order to return it */
6638 # define D_PPP_GENERIC_SINGLE_ARG_TO_UVCHR(name, c, s, l) \
6639 (*(l) = (D_PPP_UV_TO_UTF8(s, \
6640 UNI_TO_NATIVE(to_uni_ ## name(NATIVE_TO_UNI(c)))) - (s)), \
6641 UNI_TO_NATIVE(to_uni_ ## name(NATIVE_TO_UNI(c))))
6642 #ifndef toLOWER_uvchr
6643 # define toLOWER_uvchr(c, s, l) \
6644 D_PPP_GENERIC_SINGLE_ARG_TO_UVCHR(lower, c, s, l)
6645 #endif
6646
6647 #ifndef toUPPER_uvchr
6648 # define toUPPER_uvchr(c, s, l) \
6649 D_PPP_GENERIC_SINGLE_ARG_TO_UVCHR(upper, c, s, l)
6650 #endif
6651
6652 #ifndef toTITLE_uvchr
6653 # define toTITLE_uvchr(c, s, l) \
6654 D_PPP_GENERIC_SINGLE_ARG_TO_UVCHR(title, c, s, l)
6655 #endif
6656
6657 #ifndef toFOLD_uvchr
6658 # define toFOLD_uvchr(c, s, l) toLOWER_uvchr(c, s, l)
6659 #endif
6660
6661 # define D_PPP_GENERIC_SINGLE_ARG_TO_UTF8(name, s, e, r, l) \
6662 (((((e) - (s)) <= 0) \
6663 ? (croak("Attempting case change on zero length string"), \
6664 0) /* So looks like it returns something, and will compile */ \
6665 : ((e) - (s)) < UTF8SKIP(s)) \
6666 ? (croak(D_PPP_TOO_SHORT_MSG, \
6667 s[0], (int) ((e) - (s)), (int) UTF8SKIP(s)), \
6668 0) \
6669 /* Get the changed code point and store its UTF-8 */ \
6670 : D_PPP_UV_TO_UTF8(r, to_utf8_ ## name(s)), \
6671 /* Then store its length, and re-get code point for return */ \
6672 *(l) = UTF8SKIP(r), to_utf8_ ## name(r))
6673
6674 /* Warning: toUPPER_utf8_safe, toLOWER_utf8_safe, toTITLE_utf8_safe,
6675 * toUPPER_uvchr, toLOWER_uvchr, toTITLE_uvchr
6676 The UTF-8 case changing operations had bugs before around 5.12 or 5.14;
6677 this backport does not correct them.
6678
6679 In perls before 7.3, multi-character case changing is not implemented; this
6680 backport uses the simple case changes available in those perls. */
6681 #ifndef toUPPER_utf8_safe
6682 # define toUPPER_utf8_safe(s,e,r,l) \
6683 D_PPP_GENERIC_SINGLE_ARG_TO_UTF8(upper, s, e, r, l)
6684 #endif
6685
6686 #ifndef toLOWER_utf8_safe
6687 # define toLOWER_utf8_safe(s,e,r,l) \
6688 D_PPP_GENERIC_SINGLE_ARG_TO_UTF8(lower, s, e, r, l)
6689 #endif
6690
6691 #ifndef toTITLE_utf8_safe
6692 # define toTITLE_utf8_safe(s,e,r,l) \
6693 D_PPP_GENERIC_SINGLE_ARG_TO_UTF8(title, s, e, r, l)
6694 #endif
6695
6696 /* Warning: toFOLD_utf8_safe, toFOLD_uvchr
6697 The UTF-8 case changing operations had bugs before around 5.12 or 5.14;
6698 this backport does not correct them.
6699
6700 In perls before 7.3, case folding is not implemented; instead, this
6701 backport substitutes simple (not multi-character, which isn't available)
6702 lowercasing. This gives the correct result in most, but not all, instances
6703 */
6704 #ifndef toFOLD_utf8_safe
6705 # define toFOLD_utf8_safe(s,e,r,l) toLOWER_utf8_safe(s,e,r,l)
6706 #endif
6707
6708 #endif
6709
6710 /* Until we figure out how to support this in older perls... */
6711 #if (PERL_BCDVERSION >= 0x5008000)
6712 #ifndef HeUTF8
6713 # define HeUTF8(he) ((HeKLEN(he) == HEf_SVKEY) ? \
6714 SvUTF8(HeKEY_sv(he)) : \
6715 (U32)HeKUTF8(he))
6716 #endif
6717
6718 #endif
6719 #ifndef C_ARRAY_LENGTH
6720 # define C_ARRAY_LENGTH(a) (sizeof(a)/sizeof((a)[0]))
6721 #endif
6722
6723 #ifndef C_ARRAY_END
6724 # define C_ARRAY_END(a) ((a) + C_ARRAY_LENGTH(a))
6725 #endif
6726 #ifndef LIKELY
6727 # define LIKELY(x) (x)
6728 #endif
6729
6730 #ifndef UNLIKELY
6731 # define UNLIKELY(x) (x)
6732 #endif
6733
6734 #ifndef MUTABLE_PTR
6735 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
6736 # define MUTABLE_PTR(p) ({ void *_p = (p); _p; })
6737 #else
6738 # define MUTABLE_PTR(p) ((void *) (p))
6739 #endif
6740 #endif
6741 #ifndef MUTABLE_SV
6742 # define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p))
6743 #endif
6744
6745 #if (PERL_BCDVERSION >= 0x5004000) && !defined(vnewSVpvf)
6746 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
6747 # define vnewSVpvf(pat, args) ({ SV *_sv = newSV(0); sv_vsetpvfn(_sv, (pat), strlen((pat)), (args), Null(SV**), 0, Null(bool*)); _sv; })
6748 #else
6749 # define vnewSVpvf(pat, args) ((PL_Sv = newSV(0)), sv_vsetpvfn(PL_Sv, (pat), strlen((pat)), (args), Null(SV**), 0, Null(bool*)), PL_Sv)
6750 #endif
6751 #endif
6752
6753 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vcatpvf)
6754 # define sv_vcatpvf(sv, pat, args) sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*))
6755 #endif
6756
6757 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vsetpvf)
6758 # define sv_vsetpvf(sv, pat, args) sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*))
6759 #endif
6760
6761 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_catpvf_mg)
6762 #if defined(NEED_sv_catpvf_mg)
6763 static void DPPP_(my_sv_catpvf_mg)(pTHX_ SV * const sv, const char * const pat, ...);
6764 static
6765 #else
6766 extern void DPPP_(my_sv_catpvf_mg)(pTHX_ SV * const sv, const char * const pat, ...);
6767 #endif
6768
6769 #if defined(NEED_sv_catpvf_mg) || defined(NEED_sv_catpvf_mg_GLOBAL)
6770
6771 #define Perl_sv_catpvf_mg DPPP_(my_sv_catpvf_mg)
6772
6773
6774 void
6775 DPPP_(my_sv_catpvf_mg)(pTHX_ SV * const sv, const char * const pat, ...)
6776 {
6777 va_list args;
6778 va_start(args, pat);
6779 sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
6780 SvSETMAGIC(sv);
6781 va_end(args);
6782 }
6783
6784 #endif
6785 #endif
6786
6787 #ifdef PERL_IMPLICIT_CONTEXT
6788 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_catpvf_mg_nocontext)
6789 #if defined(NEED_sv_catpvf_mg_nocontext)
6790 static void DPPP_(my_sv_catpvf_mg_nocontext)(SV * const sv, const char * const pat, ...);
6791 static
6792 #else
6793 extern void DPPP_(my_sv_catpvf_mg_nocontext)(SV * const sv, const char * const pat, ...);
6794 #endif
6795
6796 #if defined(NEED_sv_catpvf_mg_nocontext) || defined(NEED_sv_catpvf_mg_nocontext_GLOBAL)
6797
6798 #define sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext)
6799 #define Perl_sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext)
6800
6801
6802 void
6803 DPPP_(my_sv_catpvf_mg_nocontext)(SV * const sv, const char * const pat, ...)
6804 {
6805 dTHX;
6806 va_list args;
6807 va_start(args, pat);
6808 sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
6809 SvSETMAGIC(sv);
6810 va_end(args);
6811 }
6812
6813 #endif
6814 #endif
6815 #endif
6816
6817 /* sv_catpvf_mg depends on sv_catpvf_mg_nocontext */
6818 #ifndef sv_catpvf_mg
6819 # ifdef PERL_IMPLICIT_CONTEXT
6820 # define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext
6821 # else
6822 # define sv_catpvf_mg Perl_sv_catpvf_mg
6823 # endif
6824 #endif
6825
6826 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vcatpvf_mg)
6827 # define sv_vcatpvf_mg(sv, pat, args) \
6828 STMT_START { \
6829 sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \
6830 SvSETMAGIC(sv); \
6831 } STMT_END
6832 #endif
6833
6834 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_setpvf_mg)
6835 #if defined(NEED_sv_setpvf_mg)
6836 static void DPPP_(my_sv_setpvf_mg)(pTHX_ SV * const sv, const char * const pat, ...);
6837 static
6838 #else
6839 extern void DPPP_(my_sv_setpvf_mg)(pTHX_ SV * const sv, const char * const pat, ...);
6840 #endif
6841
6842 #if defined(NEED_sv_setpvf_mg) || defined(NEED_sv_setpvf_mg_GLOBAL)
6843
6844 #define Perl_sv_setpvf_mg DPPP_(my_sv_setpvf_mg)
6845
6846
6847 void
6848 DPPP_(my_sv_setpvf_mg)(pTHX_ SV * const sv, const char * const pat, ...)
6849 {
6850 va_list args;
6851 va_start(args, pat);
6852 sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
6853 SvSETMAGIC(sv);
6854 va_end(args);
6855 }
6856
6857 #endif
6858 #endif
6859
6860 #ifdef PERL_IMPLICIT_CONTEXT
6861 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_setpvf_mg_nocontext)
6862 #if defined(NEED_sv_setpvf_mg_nocontext)
6863 static void DPPP_(my_sv_setpvf_mg_nocontext)(SV * const sv, const char * const pat, ...);
6864 static
6865 #else
6866 extern void DPPP_(my_sv_setpvf_mg_nocontext)(SV * const sv, const char * const pat, ...);
6867 #endif
6868
6869 #if defined(NEED_sv_setpvf_mg_nocontext) || defined(NEED_sv_setpvf_mg_nocontext_GLOBAL)
6870
6871 #define sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext)
6872 #define Perl_sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext)
6873
6874
6875 void
6876 DPPP_(my_sv_setpvf_mg_nocontext)(SV * const sv, const char * const pat, ...)
6877 {
6878 dTHX;
6879 va_list args;
6880 va_start(args, pat);
6881 sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
6882 SvSETMAGIC(sv);
6883 va_end(args);
6884 }
6885
6886 #endif
6887 #endif
6888 #endif
6889
6890 /* sv_setpvf_mg depends on sv_setpvf_mg_nocontext */
6891 #ifndef sv_setpvf_mg
6892 # ifdef PERL_IMPLICIT_CONTEXT
6893 # define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext
6894 # else
6895 # define sv_setpvf_mg Perl_sv_setpvf_mg
6896 # endif
6897 #endif
6898
6899 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vsetpvf_mg)
6900 # define sv_vsetpvf_mg(sv, pat, args) \
6901 STMT_START { \
6902 sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \
6903 SvSETMAGIC(sv); \
6904 } STMT_END
6905 #endif
6906
6907 /* Hint: sv_2pv_nolen
6908 * Use the SvPV_nolen() or SvPV_nolen_const() macros instead of sv_2pv_nolen().
6909 */
6910 #ifndef sv_2pv_nolen
6911 # define sv_2pv_nolen(sv) SvPV_nolen(sv)
6912 #endif
6913
6914 #ifdef SvPVbyte
6915
6916 /* Hint: SvPVbyte
6917 * Does not work in perl-5.6.1, ppport.h implements a version
6918 * borrowed from perl-5.7.3.
6919 */
6920
6921 #if (PERL_BCDVERSION < 0x5007000)
6922 #ifndef sv_2pvbyte
6923 # define sv_2pvbyte(sv, lp) (sv_utf8_downgrade((sv), 0), SvPV((sv), *(lp)))
6924 #endif
6925
6926 /* Hint: sv_2pvbyte
6927 * Use the SvPVbyte() macro instead of sv_2pvbyte().
6928 */
6929
6930 /* Replace sv_2pvbyte with SvPVbyte */
6931
6932 #undef SvPVbyte
6933
6934 #define SvPVbyte(sv, lp) \
6935 ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK) \
6936 ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte(sv, &lp))
6937
6938 #endif
6939
6940 #else
6941
6942 # define SvPVbyte SvPV
6943 # define sv_2pvbyte sv_2pv
6944
6945 #endif
6946 #ifndef sv_2pvbyte_nolen
6947 # define sv_2pvbyte_nolen(sv) sv_2pv_nolen(sv)
6948 #endif
6949
6950 /* Hint: sv_pvn
6951 * Always use the SvPV() macro instead of sv_pvn().
6952 */
6953
6954 /* Replace sv_pvn with SvPV */
6955
6956 /* Hint: sv_pvn_force
6957 * Always use the SvPV_force() macro instead of sv_pvn_force().
6958 */
6959
6960 /* Replace sv_pvn_force with SvPV_force */
6961
6962 /* If these are undefined, they're not handled by the core anyway */
6963 #ifndef SV_IMMEDIATE_UNREF
6964 # define SV_IMMEDIATE_UNREF 0
6965 #endif
6966
6967 #ifndef SV_GMAGIC
6968 # define SV_GMAGIC 0
6969 #endif
6970
6971 #ifndef SV_COW_DROP_PV
6972 # define SV_COW_DROP_PV 0
6973 #endif
6974
6975 #ifndef SV_UTF8_NO_ENCODING
6976 # define SV_UTF8_NO_ENCODING 0
6977 #endif
6978
6979 #ifndef SV_CONST_RETURN
6980 # define SV_CONST_RETURN 0
6981 #endif
6982
6983 #ifndef SV_MUTABLE_RETURN
6984 # define SV_MUTABLE_RETURN 0
6985 #endif
6986
6987 #ifndef SV_SMAGIC
6988 # define SV_SMAGIC 0
6989 #endif
6990
6991 #ifndef SV_HAS_TRAILING_NUL
6992 # define SV_HAS_TRAILING_NUL 0
6993 #endif
6994
6995 #ifndef SV_COW_SHARED_HASH_KEYS
6996 # define SV_COW_SHARED_HASH_KEYS 0
6997 #endif
6998
6999 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
7000 #ifndef sv_2pv_flags
7001 # define sv_2pv_flags(sv, lp, flags) ({ SV *_sv = (sv); const I32 _flags = (flags); STRLEN *_lp = lp; _lp = _lp ? : &PL_na; (!(_flags & SV_GMAGIC) && SvGMAGICAL(_sv)) ? ({ char *_pv; SvGMAGICAL_off(_sv); _pv = sv_2pv(_sv, _lp); SvGMAGICAL_on(_sv); _pv; }) : sv_2pv(_sv, _lp); })
7002 #endif
7003
7004 #ifndef sv_pvn_force_flags
7005 # define sv_pvn_force_flags(sv, lp, flags) ({ SV *_sv = (sv); const I32 _flags = (flags); STRLEN *_lp = lp; _lp = _lp ? : &PL_na; (!(_flags & SV_GMAGIC) && SvGMAGICAL(_sv)) ? ({ char *_pv; SvGMAGICAL_off(_sv); _pv = sv_pvn_force(_sv, _lp); SvGMAGICAL_on(_sv); _pv; }) : sv_pvn_force(_sv, _lp); })
7006 #endif
7007
7008 #else
7009 #ifndef sv_2pv_flags
7010 # define sv_2pv_flags(sv, lp, flags) ((PL_Sv = (sv)), (!((flags) & SV_GMAGIC) && SvGMAGICAL(PL_Sv)) ? (SvGMAGICAL_off(PL_Sv), (PL_Xpv = (XPV *)sv_2pv(PL_Sv, (lp) ? (lp) : &PL_na)), SvGMAGICAL_on(PL_Sv), (char *)PL_Xpv) : sv_2pv(PL_Sv, (lp) ? (lp) : &PL_na))
7011 #endif
7012
7013 #ifndef sv_pvn_force_flags
7014 # define sv_pvn_force_flags(sv, lp, flags) ((PL_Sv = (sv)), (!((flags) & SV_GMAGIC) && SvGMAGICAL(PL_Sv)) ? (SvGMAGICAL_off(PL_Sv), (PL_Xpv = (XPV *)sv_pvn_force(PL_Sv, (lp) ? (lp) : &PL_na)), SvGMAGICAL_on(PL_Sv), (char *)PL_Xpv) : sv_pvn_force(PL_Sv, (lp) ? (lp) : &PL_na))
7015 #endif
7016
7017 #endif
7018
7019 #if (PERL_BCDVERSION < 0x5008008) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5009003) )
7020 # define D_PPP_SVPV_NOLEN_LP_ARG &PL_na
7021 #else
7022 # define D_PPP_SVPV_NOLEN_LP_ARG 0
7023 #endif
7024 #ifndef SvPV_const
7025 # define SvPV_const(sv, lp) SvPV_flags_const(sv, lp, SV_GMAGIC)
7026 #endif
7027
7028 #ifndef SvPV_mutable
7029 # define SvPV_mutable(sv, lp) SvPV_flags_mutable(sv, lp, SV_GMAGIC)
7030 #endif
7031 #ifndef SvPV_flags
7032 # define SvPV_flags(sv, lp, flags) \
7033 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
7034 ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pv_flags(sv, &lp, flags))
7035 #endif
7036 #ifndef SvPV_flags_const
7037 # define SvPV_flags_const(sv, lp, flags) \
7038 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
7039 ? ((lp = SvCUR(sv)), SvPVX_const(sv)) : \
7040 (const char*) sv_2pv_flags(sv, &lp, flags|SV_CONST_RETURN))
7041 #endif
7042 #ifndef SvPV_flags_const_nolen
7043 # define SvPV_flags_const_nolen(sv, flags) \
7044 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
7045 ? SvPVX_const(sv) : \
7046 (const char*) sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, flags|SV_CONST_RETURN))
7047 #endif
7048 #ifndef SvPV_flags_mutable
7049 # define SvPV_flags_mutable(sv, lp, flags) \
7050 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
7051 ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) : \
7052 sv_2pv_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
7053 #endif
7054 #ifndef SvPV_force
7055 # define SvPV_force(sv, lp) SvPV_force_flags(sv, lp, SV_GMAGIC)
7056 #endif
7057
7058 #ifndef SvPV_force_nolen
7059 # define SvPV_force_nolen(sv) SvPV_force_flags_nolen(sv, SV_GMAGIC)
7060 #endif
7061
7062 #ifndef SvPV_force_mutable
7063 # define SvPV_force_mutable(sv, lp) SvPV_force_flags_mutable(sv, lp, SV_GMAGIC)
7064 #endif
7065
7066 #ifndef SvPV_force_nomg
7067 # define SvPV_force_nomg(sv, lp) SvPV_force_flags(sv, lp, 0)
7068 #endif
7069
7070 #ifndef SvPV_force_nomg_nolen
7071 # define SvPV_force_nomg_nolen(sv) SvPV_force_flags_nolen(sv, 0)
7072 #endif
7073 #ifndef SvPV_force_flags
7074 # define SvPV_force_flags(sv, lp, flags) \
7075 ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
7076 ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvn_force_flags(sv, &lp, flags))
7077 #endif
7078 #ifndef SvPV_force_flags_nolen
7079 # define SvPV_force_flags_nolen(sv, flags) \
7080 ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
7081 ? SvPVX(sv) : sv_pvn_force_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, flags))
7082 #endif
7083 #ifndef SvPV_force_flags_mutable
7084 # define SvPV_force_flags_mutable(sv, lp, flags) \
7085 ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
7086 ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) \
7087 : sv_pvn_force_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
7088 #endif
7089 #ifndef SvPV_nolen
7090 # define SvPV_nolen(sv) \
7091 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
7092 ? SvPVX(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC))
7093 #endif
7094 #ifndef SvPV_nolen_const
7095 # define SvPV_nolen_const(sv) \
7096 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
7097 ? SvPVX_const(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC|SV_CONST_RETURN))
7098 #endif
7099 #ifndef SvPV_nomg
7100 # define SvPV_nomg(sv, lp) SvPV_flags(sv, lp, 0)
7101 #endif
7102
7103 #ifndef SvPV_nomg_const
7104 # define SvPV_nomg_const(sv, lp) SvPV_flags_const(sv, lp, 0)
7105 #endif
7106
7107 #ifndef SvPV_nomg_const_nolen
7108 # define SvPV_nomg_const_nolen(sv) SvPV_flags_const_nolen(sv, 0)
7109 #endif
7110
7111 #ifndef SvPV_nomg_nolen
7112 # define SvPV_nomg_nolen(sv) ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
7113 ? SvPVX(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, 0))
7114 #endif
7115 #ifndef SvPV_renew
7116 # define SvPV_renew(sv,n) STMT_START { SvLEN_set(sv, n); \
7117 SvPV_set((sv), (char *) saferealloc( \
7118 (Malloc_t)SvPVX(sv), (MEM_SIZE)((n)))); \
7119 } STMT_END
7120 #endif
7121 #ifndef WARN_ALL
7122 # define WARN_ALL 0
7123 #endif
7124
7125 #ifndef WARN_CLOSURE
7126 # define WARN_CLOSURE 1
7127 #endif
7128
7129 #ifndef WARN_DEPRECATED
7130 # define WARN_DEPRECATED 2
7131 #endif
7132
7133 #ifndef WARN_EXITING
7134 # define WARN_EXITING 3
7135 #endif
7136
7137 #ifndef WARN_GLOB
7138 # define WARN_GLOB 4
7139 #endif
7140
7141 #ifndef WARN_IO
7142 # define WARN_IO 5
7143 #endif
7144
7145 #ifndef WARN_CLOSED
7146 # define WARN_CLOSED 6
7147 #endif
7148
7149 #ifndef WARN_EXEC
7150 # define WARN_EXEC 7
7151 #endif
7152
7153 #ifndef WARN_LAYER
7154 # define WARN_LAYER 8
7155 #endif
7156
7157 #ifndef WARN_NEWLINE
7158 # define WARN_NEWLINE 9
7159 #endif
7160
7161 #ifndef WARN_PIPE
7162 # define WARN_PIPE 10
7163 #endif
7164
7165 #ifndef WARN_UNOPENED
7166 # define WARN_UNOPENED 11
7167 #endif
7168
7169 #ifndef WARN_MISC
7170 # define WARN_MISC 12
7171 #endif
7172
7173 #ifndef WARN_NUMERIC
7174 # define WARN_NUMERIC 13
7175 #endif
7176
7177 #ifndef WARN_ONCE
7178 # define WARN_ONCE 14
7179 #endif
7180
7181 #ifndef WARN_OVERFLOW
7182 # define WARN_OVERFLOW 15
7183 #endif
7184
7185 #ifndef WARN_PACK
7186 # define WARN_PACK 16
7187 #endif
7188
7189 #ifndef WARN_PORTABLE
7190 # define WARN_PORTABLE 17
7191 #endif
7192
7193 #ifndef WARN_RECURSION
7194 # define WARN_RECURSION 18
7195 #endif
7196
7197 #ifndef WARN_REDEFINE
7198 # define WARN_REDEFINE 19
7199 #endif
7200
7201 #ifndef WARN_REGEXP
7202 # define WARN_REGEXP 20
7203 #endif
7204
7205 #ifndef WARN_SEVERE
7206 # define WARN_SEVERE 21
7207 #endif
7208
7209 #ifndef WARN_DEBUGGING
7210 # define WARN_DEBUGGING 22
7211 #endif
7212
7213 #ifndef WARN_INPLACE
7214 # define WARN_INPLACE 23
7215 #endif
7216
7217 #ifndef WARN_INTERNAL
7218 # define WARN_INTERNAL 24
7219 #endif
7220
7221 #ifndef WARN_MALLOC
7222 # define WARN_MALLOC 25
7223 #endif
7224
7225 #ifndef WARN_SIGNAL
7226 # define WARN_SIGNAL 26
7227 #endif
7228
7229 #ifndef WARN_SUBSTR
7230 # define WARN_SUBSTR 27
7231 #endif
7232
7233 #ifndef WARN_SYNTAX
7234 # define WARN_SYNTAX 28
7235 #endif
7236
7237 #ifndef WARN_AMBIGUOUS
7238 # define WARN_AMBIGUOUS 29
7239 #endif
7240
7241 #ifndef WARN_BAREWORD
7242 # define WARN_BAREWORD 30
7243 #endif
7244
7245 #ifndef WARN_DIGIT
7246 # define WARN_DIGIT 31
7247 #endif
7248
7249 #ifndef WARN_PARENTHESIS
7250 # define WARN_PARENTHESIS 32
7251 #endif
7252
7253 #ifndef WARN_PRECEDENCE
7254 # define WARN_PRECEDENCE 33
7255 #endif
7256
7257 #ifndef WARN_PRINTF
7258 # define WARN_PRINTF 34
7259 #endif
7260
7261 #ifndef WARN_PROTOTYPE
7262 # define WARN_PROTOTYPE 35
7263 #endif
7264
7265 #ifndef WARN_QW
7266 # define WARN_QW 36
7267 #endif
7268
7269 #ifndef WARN_RESERVED
7270 # define WARN_RESERVED 37
7271 #endif
7272
7273 #ifndef WARN_SEMICOLON
7274 # define WARN_SEMICOLON 38
7275 #endif
7276
7277 #ifndef WARN_TAINT
7278 # define WARN_TAINT 39
7279 #endif
7280
7281 #ifndef WARN_THREADS
7282 # define WARN_THREADS 40
7283 #endif
7284
7285 #ifndef WARN_UNINITIALIZED
7286 # define WARN_UNINITIALIZED 41
7287 #endif
7288
7289 #ifndef WARN_UNPACK
7290 # define WARN_UNPACK 42
7291 #endif
7292
7293 #ifndef WARN_UNTIE
7294 # define WARN_UNTIE 43
7295 #endif
7296
7297 #ifndef WARN_UTF8
7298 # define WARN_UTF8 44
7299 #endif
7300
7301 #ifndef WARN_VOID
7302 # define WARN_VOID 45
7303 #endif
7304
7305 #ifndef WARN_ASSERTIONS
7306 # define WARN_ASSERTIONS 46
7307 #endif
7308 #ifndef packWARN
7309 # define packWARN(a) (a)
7310 #endif
7311
7312 #ifndef ckWARN
7313 # ifdef G_WARN_ON
7314 # define ckWARN(a) (PL_dowarn & G_WARN_ON)
7315 # else
7316 # define ckWARN(a) PL_dowarn
7317 # endif
7318 #endif
7319
7320 #if (PERL_BCDVERSION >= 0x5004000) && !defined(warner)
7321 #if defined(NEED_warner)
7322 static void DPPP_(my_warner)(U32 err, const char * pat, ...);
7323 static
7324 #else
7325 extern void DPPP_(my_warner)(U32 err, const char * pat, ...);
7326 #endif
7327
7328 #if defined(NEED_warner) || defined(NEED_warner_GLOBAL)
7329
7330 #define Perl_warner DPPP_(my_warner)
7331
7332
7333 void
7334 DPPP_(my_warner)(U32 err, const char *pat, ...)
7335 {
7336 SV *sv;
7337 va_list args;
7338
7339 PERL_UNUSED_ARG(err);
7340
7341 va_start(args, pat);
7342 sv = vnewSVpvf(pat, &args);
7343 va_end(args);
7344 sv_2mortal(sv);
7345 warn("%s", SvPV_nolen(sv));
7346 }
7347
7348 #define warner Perl_warner
7349
7350 #define Perl_warner_nocontext Perl_warner
7351
7352 #endif
7353 #endif
7354
7355 #ifndef IVdf
7356 # if IVSIZE == LONGSIZE
7357 # define IVdf "ld"
7358 # define UVuf "lu"
7359 # define UVof "lo"
7360 # define UVxf "lx"
7361 # define UVXf "lX"
7362 # elif IVSIZE == INTSIZE
7363 # define IVdf "d"
7364 # define UVuf "u"
7365 # define UVof "o"
7366 # define UVxf "x"
7367 # define UVXf "X"
7368 # else
7369 # error "cannot define IV/UV formats"
7370 # endif
7371 #endif
7372
7373 #ifndef NVef
7374 # if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE) && \
7375 defined(PERL_PRIfldbl) && (PERL_BCDVERSION != 0x5006000)
7376 /* Not very likely, but let's try anyway. */
7377 # define NVef PERL_PRIeldbl
7378 # define NVff PERL_PRIfldbl
7379 # define NVgf PERL_PRIgldbl
7380 # else
7381 # define NVef "e"
7382 # define NVff "f"
7383 # define NVgf "g"
7384 # endif
7385 #endif
7386 #ifndef sv_setuv
7387 # define sv_setuv(sv, uv) \
7388 STMT_START { \
7389 UV TeMpUv = uv; \
7390 if (TeMpUv <= IV_MAX) \
7391 sv_setiv(sv, TeMpUv); \
7392 else \
7393 sv_setnv(sv, (double)TeMpUv); \
7394 } STMT_END
7395 #endif
7396 #ifndef newSVuv
7397 # define newSVuv(uv) ((uv) <= IV_MAX ? newSViv((IV)uv) : newSVnv((NV)uv))
7398 #endif
7399
7400 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
7401 #ifndef sv_2uv
7402 # define sv_2uv(sv) ({ SV *_sv = (sv); (UV) (SvNOK(_sv) ? SvNV(_sv) : sv_2nv(_sv)); })
7403 #endif
7404
7405 #else
7406 #ifndef sv_2uv
7407 # define sv_2uv(sv) ((PL_Sv = (sv)), (UV) (SvNOK(PL_Sv) ? SvNV(PL_Sv) : sv_2nv(PL_Sv)))
7408 #endif
7409
7410 #endif
7411 #ifndef SvUVX
7412 # define SvUVX(sv) ((UV)SvIVX(sv))
7413 #endif
7414
7415 #ifndef SvUVXx
7416 # define SvUVXx(sv) SvUVX(sv)
7417 #endif
7418
7419 #ifndef SvUV
7420 # define SvUV(sv) (SvIOK(sv) ? SvUVX(sv) : sv_2uv(sv))
7421 #endif
7422
7423 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
7424 #ifndef SvUVx
7425 # define SvUVx(sv) ({ SV *_sv = (sv)); SvUV(_sv); })
7426 #endif
7427
7428 #else
7429 #ifndef SvUVx
7430 # define SvUVx(sv) ((PL_Sv = (sv)), SvUV(PL_Sv))
7431 #endif
7432
7433 #endif
7434
7435 /* Hint: sv_uv
7436 * Always use the SvUVx() macro instead of sv_uv().
7437 */
7438 /* Replace sv_uv with SvUVx */
7439 #ifndef sv_uv
7440 # define sv_uv(sv) SvUVx(sv)
7441 #endif
7442
7443 #if !defined(SvUOK) && defined(SvIOK_UV)
7444 # define SvUOK(sv) SvIOK_UV(sv)
7445 #endif
7446 #ifndef XST_mUV
7447 # define XST_mUV(i,v) (ST(i) = sv_2mortal(newSVuv(v)) )
7448 #endif
7449
7450 #ifndef XSRETURN_UV
7451 # define XSRETURN_UV(v) STMT_START { XST_mUV(0,v); XSRETURN(1); } STMT_END
7452 #endif
7453 #ifndef PUSHu
7454 # define PUSHu(u) STMT_START { sv_setuv(TARG, (UV)(u)); PUSHTARG; } STMT_END
7455 #endif
7456
7457 #ifndef XPUSHu
7458 # define XPUSHu(u) STMT_START { sv_setuv(TARG, (UV)(u)); XPUSHTARG; } STMT_END
7459 #endif
7460
7461 #if !defined(my_strnlen)
7462 #if defined(NEED_my_strnlen)
7463 static Size_t DPPP_(my_my_strnlen)(const char * str, Size_t maxlen);
7464 static
7465 #else
7466 extern Size_t DPPP_(my_my_strnlen)(const char * str, Size_t maxlen);
7467 #endif
7468
7469 #if defined(NEED_my_strnlen) || defined(NEED_my_strnlen_GLOBAL)
7470
7471 #define my_strnlen DPPP_(my_my_strnlen)
7472 #define Perl_my_strnlen DPPP_(my_my_strnlen)
7473
7474
7475 Size_t
7476 DPPP_(my_my_strnlen)(const char *str, Size_t maxlen)
7477 {
7478 const char *p = str;
7479
7480 while(maxlen-- && *p)
7481 p++;
7482
7483 return p - str;
7484 }
7485
7486 #endif
7487 #endif
7488
7489 #ifdef HAS_MEMCMP
7490 #ifndef memNE
7491 # define memNE(s1,s2,l) (memcmp(s1,s2,l))
7492 #endif
7493
7494 #ifndef memEQ
7495 # define memEQ(s1,s2,l) (!memcmp(s1,s2,l))
7496 #endif
7497
7498 #else
7499 #ifndef memNE
7500 # define memNE(s1,s2,l) (bcmp(s1,s2,l))
7501 #endif
7502
7503 #ifndef memEQ
7504 # define memEQ(s1,s2,l) (!bcmp(s1,s2,l))
7505 #endif
7506
7507 #endif
7508 #ifndef memEQs
7509 # define memEQs(s1, l, s2) \
7510 (sizeof(s2)-1 == l && memEQ(s1, (s2 ""), (sizeof(s2)-1)))
7511 #endif
7512
7513 #ifndef memNEs
7514 # define memNEs(s1, l, s2) !memEQs(s1, l, s2)
7515 #endif
7516 #ifndef memCHRs
7517 # define memCHRs(s, c) ((const char *) memchr("" s "" , c, sizeof(s)-1))
7518 #endif
7519 #ifndef MoveD
7520 # define MoveD(s,d,n,t) memmove((char*)(d),(char*)(s), (n) * sizeof(t))
7521 #endif
7522
7523 #ifndef CopyD
7524 # define CopyD(s,d,n,t) memcpy((char*)(d),(char*)(s), (n) * sizeof(t))
7525 #endif
7526
7527 #ifdef HAS_MEMSET
7528 #ifndef ZeroD
7529 # define ZeroD(d,n,t) memzero((char*)(d), (n) * sizeof(t))
7530 #endif
7531
7532 #else
7533 #ifndef ZeroD
7534 # define ZeroD(d,n,t) ((void)memzero((char*)(d), (n) * sizeof(t)), d)
7535 #endif
7536
7537 #endif
7538 #ifndef PoisonWith
7539 # define PoisonWith(d,n,t,b) (void)memset((char*)(d), (U8)(b), (n) * sizeof(t))
7540 #endif
7541
7542 #ifndef PoisonNew
7543 # define PoisonNew(d,n,t) PoisonWith(d,n,t,0xAB)
7544 #endif
7545
7546 #ifndef PoisonFree
7547 # define PoisonFree(d,n,t) PoisonWith(d,n,t,0xEF)
7548 #endif
7549
7550 #ifndef Poison
7551 # define Poison(d,n,t) PoisonFree(d,n,t)
7552 #endif
7553 #ifndef Newx
7554 # define Newx(v,n,t) New(0,v,n,t)
7555 #endif
7556
7557 #ifndef Newxc
7558 # define Newxc(v,n,t,c) Newc(0,v,n,t,c)
7559 #endif
7560
7561 #ifndef Newxz
7562 # define Newxz(v,n,t) Newz(0,v,n,t)
7563 #endif
7564
7565 #ifdef NEED_mess_sv
7566 #define NEED_mess
7567 #endif
7568
7569 #ifdef NEED_mess
7570 #define NEED_mess_nocontext
7571 #define NEED_vmess
7572 #endif
7573
7574 #ifndef croak_sv
7575 #if (PERL_BCDVERSION >= 0x5007003) || ( (PERL_BCDVERSION >= 0x5006001) && (PERL_BCDVERSION < 0x5007000) )
7576 # if ( (PERL_BCDVERSION >= 0x5008000) && (PERL_BCDVERSION < 0x5008009) ) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5010001) )
7577 # define D_PPP_FIX_UTF8_ERRSV_FOR_SV(sv) \
7578 STMT_START { \
7579 SV *_errsv = ERRSV; \
7580 SvFLAGS(_errsv) = (SvFLAGS(_errsv) & ~SVf_UTF8) | \
7581 (SvFLAGS(sv) & SVf_UTF8); \
7582 } STMT_END
7583 # else
7584 # define D_PPP_FIX_UTF8_ERRSV_FOR_SV(sv) STMT_START {} STMT_END
7585 # endif
7586 # define croak_sv(sv) \
7587 STMT_START { \
7588 SV *_sv = (sv); \
7589 if (SvROK(_sv)) { \
7590 sv_setsv(ERRSV, _sv); \
7591 croak(NULL); \
7592 } else { \
7593 D_PPP_FIX_UTF8_ERRSV_FOR_SV(_sv); \
7594 croak("%" SVf, SVfARG(_sv)); \
7595 } \
7596 } STMT_END
7597 #elif (PERL_BCDVERSION >= 0x5004000)
7598 # define croak_sv(sv) croak("%" SVf, SVfARG(sv))
7599 #else
7600 # define croak_sv(sv) croak("%s", SvPV_nolen(sv))
7601 #endif
7602 #endif
7603
7604 #ifndef die_sv
7605 #if defined(NEED_die_sv)
7606 static OP * DPPP_(my_die_sv)(pTHX_ SV * baseex);
7607 static
7608 #else
7609 extern OP * DPPP_(my_die_sv)(pTHX_ SV * baseex);
7610 #endif
7611
7612 #if defined(NEED_die_sv) || defined(NEED_die_sv_GLOBAL)
7613
7614 #ifdef die_sv
7615 # undef die_sv
7616 #endif
7617 #define die_sv(a) DPPP_(my_die_sv)(aTHX_ a)
7618 #define Perl_die_sv DPPP_(my_die_sv)
7619
7620 OP *
7621 DPPP_(my_die_sv)(pTHX_ SV *baseex)
7622 {
7623 croak_sv(baseex);
7624 return (OP *)NULL;
7625 }
7626 #endif
7627 #endif
7628
7629 #ifndef warn_sv
7630 #if (PERL_BCDVERSION >= 0x5004000)
7631 # define warn_sv(sv) warn("%" SVf, SVfARG(sv))
7632 #else
7633 # define warn_sv(sv) warn("%s", SvPV_nolen(sv))
7634 #endif
7635 #endif
7636
7637 #if ! defined vmess && (PERL_BCDVERSION >= 0x5004000)
7638 # if defined(NEED_vmess)
7639 static SV * DPPP_(my_vmess)(pTHX_ const char * pat, va_list * args);
7640 static
7641 #else
7642 extern SV * DPPP_(my_vmess)(pTHX_ const char * pat, va_list * args);
7643 #endif
7644
7645 #if defined(NEED_vmess) || defined(NEED_vmess_GLOBAL)
7646
7647 #ifdef vmess
7648 # undef vmess
7649 #endif
7650 #define vmess(a,b) DPPP_(my_vmess)(aTHX_ a,b)
7651 #define Perl_vmess DPPP_(my_vmess)
7652
7653
7654 SV*
7655 DPPP_(my_vmess)(pTHX_ const char* pat, va_list* args)
7656 {
7657 mess(pat, args);
7658 return PL_mess_sv;
7659 }
7660 # endif
7661 #endif
7662
7663 #if (PERL_BCDVERSION < 0x5006000) && (PERL_BCDVERSION >= 0x5004000)
7664 #undef mess
7665 #endif
7666
7667 #if !defined(mess_nocontext) && !defined(Perl_mess_nocontext) && (PERL_BCDVERSION >= 0x5004000)
7668 #if defined(NEED_mess_nocontext)
7669 static SV * DPPP_(my_mess_nocontext)(const char * pat, ...);
7670 static
7671 #else
7672 extern SV * DPPP_(my_mess_nocontext)(const char * pat, ...);
7673 #endif
7674
7675 #if defined(NEED_mess_nocontext) || defined(NEED_mess_nocontext_GLOBAL)
7676
7677 #define mess_nocontext DPPP_(my_mess_nocontext)
7678 #define Perl_mess_nocontext DPPP_(my_mess_nocontext)
7679
7680 SV*
7681 DPPP_(my_mess_nocontext)(const char* pat, ...)
7682 {
7683 dTHX;
7684 SV *sv;
7685 va_list args;
7686 va_start(args, pat);
7687 sv = vmess(pat, &args);
7688 va_end(args);
7689 return sv;
7690 }
7691 #endif
7692 #endif
7693
7694 #ifndef mess
7695 #if defined(NEED_mess)
7696 static SV * DPPP_(my_mess)(pTHX_ const char * pat, ...);
7697 static
7698 #else
7699 extern SV * DPPP_(my_mess)(pTHX_ const char * pat, ...);
7700 #endif
7701
7702 #if defined(NEED_mess) || defined(NEED_mess_GLOBAL)
7703
7704 #define Perl_mess DPPP_(my_mess)
7705
7706 SV*
7707 DPPP_(my_mess)(pTHX_ const char* pat, ...)
7708 {
7709 SV *sv;
7710 va_list args;
7711 va_start(args, pat);
7712 sv = vmess(pat, &args);
7713 va_end(args);
7714 return sv;
7715 }
7716 #ifdef mess_nocontext
7717 #define mess mess_nocontext
7718 #else
7719 #define mess Perl_mess_nocontext
7720 #endif
7721 #endif
7722 #endif
7723
7724 #if ! defined mess_sv && (PERL_BCDVERSION >= 0x5004000)
7725 #if defined(NEED_mess_sv)
7726 static SV * DPPP_(my_mess_sv)(pTHX_ SV * basemsg, bool consume);
7727 static
7728 #else
7729 extern SV * DPPP_(my_mess_sv)(pTHX_ SV * basemsg, bool consume);
7730 #endif
7731
7732 #if defined(NEED_mess_sv) || defined(NEED_mess_sv_GLOBAL)
7733
7734 #ifdef mess_sv
7735 # undef mess_sv
7736 #endif
7737 #define mess_sv(a,b) DPPP_(my_mess_sv)(aTHX_ a,b)
7738 #define Perl_mess_sv DPPP_(my_mess_sv)
7739
7740 SV *
7741 DPPP_(my_mess_sv)(pTHX_ SV *basemsg, bool consume)
7742 {
7743 SV *tmp;
7744 SV *ret;
7745
7746 if (SvPOK(basemsg) && SvCUR(basemsg) && *(SvEND(basemsg)-1) == '\n') {
7747 if (consume)
7748 return basemsg;
7749 ret = mess("");
7750 SvSetSV_nosteal(ret, basemsg);
7751 return ret;
7752 }
7753
7754 if (consume) {
7755 sv_catsv(basemsg, mess(""));
7756 return basemsg;
7757 }
7758
7759 ret = mess("");
7760 tmp = newSVsv(ret);
7761 SvSetSV_nosteal(ret, basemsg);
7762 sv_catsv(ret, tmp);
7763 sv_dec(tmp);
7764 return ret;
7765 }
7766 #endif
7767 #endif
7768
7769 #ifndef warn_nocontext
7770 #define warn_nocontext warn
7771 #endif
7772
7773 #ifndef croak_nocontext
7774 #define croak_nocontext croak
7775 #endif
7776
7777 #ifndef croak_no_modify
7778 #define croak_no_modify() croak_nocontext("%s", PL_no_modify)
7779 #define Perl_croak_no_modify() croak_no_modify()
7780 #endif
7781
7782 #ifndef croak_memory_wrap
7783 #if (PERL_BCDVERSION >= 0x5009002) || ( (PERL_BCDVERSION >= 0x5008006) && (PERL_BCDVERSION < 0x5009000) )
7784 # define croak_memory_wrap() croak_nocontext("%s", PL_memory_wrap)
7785 #else
7786 # define croak_memory_wrap() croak_nocontext("panic: memory wrap")
7787 #endif
7788 #endif
7789
7790 #ifndef croak_xs_usage
7791 #if defined(NEED_croak_xs_usage)
7792 static void DPPP_(my_croak_xs_usage)(const CV * const cv, const char * const params);
7793 static
7794 #else
7795 extern void DPPP_(my_croak_xs_usage)(const CV * const cv, const char * const params);
7796 #endif
7797
7798 #if defined(NEED_croak_xs_usage) || defined(NEED_croak_xs_usage_GLOBAL)
7799
7800 #define croak_xs_usage DPPP_(my_croak_xs_usage)
7801 #define Perl_croak_xs_usage DPPP_(my_croak_xs_usage)
7802
7803
7804
7805 void
7806 DPPP_(my_croak_xs_usage)(const CV *const cv, const char *const params)
7807 {
7808 dTHX;
7809 const GV *const gv = CvGV(cv);
7810
7811 #ifdef PERL_ARGS_ASSERT_CROAK_XS_USAGE
7812 PERL_ARGS_ASSERT_CROAK_XS_USAGE;
7813 #else
7814 assert(cv); assert(params);
7815 #endif
7816
7817 if (gv) {
7818 const char *const gvname = GvNAME(gv);
7819 const HV *const stash = GvSTASH(gv);
7820 const char *const hvname = stash ? HvNAME(stash) : NULL;
7821
7822 if (hvname)
7823 croak("Usage: %s::%s(%s)", hvname, gvname, params);
7824 else
7825 croak("Usage: %s(%s)", gvname, params);
7826 } else {
7827 /* Pants. I don't think that it should be possible to get here. */
7828 croak("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params);
7829 }
7830 }
7831 #endif
7832 #endif
49917833 #ifndef mPUSHs
49927834 # define mPUSHs(s) PUSHs(sv_2mortal(s))
49937835 #endif
50517893 #ifndef call_method
50527894 # define call_method perl_call_method
50537895 #endif
7896
50547897 #ifndef eval_sv
50557898 # define eval_sv perl_eval_sv
50567899 #endif
50577900
7901 #if (PERL_BCDVERSION >= 0x5003098) && (PERL_BCDVERSION < 0x5006000)
7902 #ifndef eval_pv
7903 # define eval_pv perl_eval_pv
7904 #endif
7905
7906 #endif
50587907 /* Replace: 0 */
7908
7909 #if (PERL_BCDVERSION < 0x5006000)
7910 #ifndef Perl_eval_sv
7911 # define Perl_eval_sv perl_eval_sv
7912 #endif
7913
7914 #if (PERL_BCDVERSION >= 0x5003098)
7915 #ifndef Perl_eval_pv
7916 # define Perl_eval_pv perl_eval_pv
7917 #endif
7918
7919 #endif
7920 #endif
50597921 #ifndef PERL_LOADMOD_DENY
50607922 # define PERL_LOADMOD_DENY 0x1
50617923 #endif
50667928
50677929 #ifndef PERL_LOADMOD_IMPORT_OPS
50687930 # define PERL_LOADMOD_IMPORT_OPS 0x4
7931 #endif
7932
7933 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
7934 # define D_PPP_CROAK_IF_ERROR(cond) ({ SV *_errsv; ((cond) && (_errsv = ERRSV) && (SvROK(_errsv) || SvTRUE(_errsv)) && (croak_sv(_errsv), 1)); })
7935 #else
7936 # define D_PPP_CROAK_IF_ERROR(cond) ((cond) && (SvROK(ERRSV) || SvTRUE(ERRSV)) && (croak_sv(ERRSV), 1))
50697937 #endif
50707938
50717939 #ifndef G_METHOD
50827950 # endif
50837951 #endif
50847952
5085 /* Replace perl_eval_pv with eval_pv */
5086
7953 #ifndef G_RETHROW
7954 # define G_RETHROW 8192
7955 # ifdef eval_sv
7956 # undef eval_sv
7957 # endif
7958 # if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
7959 # define eval_sv(sv, flags) ({ I32 _flags = (flags); I32 _ret = Perl_eval_sv(aTHX_ sv, (_flags & ~G_RETHROW)); D_PPP_CROAK_IF_ERROR(_flags & G_RETHROW); _ret; })
7960 # else
7961 # define eval_sv(sv, flags) ((PL_na = Perl_eval_sv(aTHX_ sv, ((flags) & ~G_RETHROW))), D_PPP_CROAK_IF_ERROR((flags) & G_RETHROW), (I32)PL_na)
7962 # endif
7963 #endif
7964
7965 /* Older Perl versions have broken croak_on_error=1 */
7966 #if (PERL_BCDVERSION < 0x5031002)
7967 # ifdef eval_pv
7968 # undef eval_pv
7969 # if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
7970 # define eval_pv(p, croak_on_error) ({ SV *_sv = Perl_eval_pv(aTHX_ p, 0); D_PPP_CROAK_IF_ERROR(croak_on_error); _sv; })
7971 # else
7972 # define eval_pv(p, croak_on_error) ((PL_Sv = Perl_eval_pv(aTHX_ p, 0)), D_PPP_CROAK_IF_ERROR(croak_on_error), PL_Sv)
7973 # endif
7974 # endif
7975 #endif
7976
7977 /* This is backport for Perl 5.3.97d and older which do not provide perl_eval_pv */
50877978 #ifndef eval_pv
50887979 #if defined(NEED_eval_pv)
5089 static SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error);
7980 static SV * DPPP_(my_eval_pv)(const char * p, I32 croak_on_error);
50907981 static
50917982 #else
5092 extern SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error);
7983 extern SV * DPPP_(my_eval_pv)(const char * p, I32 croak_on_error);
50937984 #endif
50947985
50957986 #if defined(NEED_eval_pv) || defined(NEED_eval_pv_GLOBAL)
51027993
51037994
51047995 SV*
5105 DPPP_(my_eval_pv)(char *p, I32 croak_on_error)
7996 DPPP_(my_eval_pv)(const char *p, I32 croak_on_error)
51067997 {
51077998 dSP;
51087999 SV* sv = newSVpv(p, 0);
51158006 sv = POPs;
51168007 PUTBACK;
51178008
5118 if (croak_on_error && SvTRUEx(ERRSV))
5119 croak_sv(ERRSV);
8009 D_PPP_CROAK_IF_ERROR(croak_on_error);
51208010
51218011 return sv;
51228012 }
51248014 #endif
51258015 #endif
51268016
5127 #ifndef vload_module
8017 #if ! defined(vload_module) && defined(start_subparse)
51288018 #if defined(NEED_vload_module)
5129 static void DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args);
8019 static void DPPP_(my_vload_module)(U32 flags, SV * name, SV * ver, va_list * args);
51308020 static
51318021 #else
5132 extern void DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args);
8022 extern void DPPP_(my_vload_module)(U32 flags, SV * name, SV * ver, va_list * args);
51338023 #endif
51348024
51358025 #if defined(NEED_vload_module) || defined(NEED_vload_module_GLOBAL)
51818071 COP * const ocurcop = PL_curcop;
51828072 const int oexpect = PL_expect;
51838073
5184 #if (PERL_BCDVERSION >= 0x5004000)
51858074 utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(FALSE, 0),
5186 veop, modname, imop);
5187 #elif (PERL_BCDVERSION > 0x5003000)
5188 utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(),
5189 veop, modname, imop);
5190 #else
5191 utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(),
8075 #if (PERL_BCDVERSION > 0x5003000)
8076 veop,
8077 #endif
51928078 modname, imop);
5193 #endif
51948079 PL_expect = oexpect;
51958080 PL_copline = ocopline;
51968081 PL_curcop = ocurcop;
52028087
52038088 #ifndef load_module
52048089 #if defined(NEED_load_module)
5205 static void DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...);
8090 static void DPPP_(my_load_module)(U32 flags, SV * name, SV * ver, ...);
52068091 static
52078092 #else
5208 extern void DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...);
8093 extern void DPPP_(my_load_module)(U32 flags, SV * name, SV * ver, ...);
52098094 #endif
52108095
52118096 #if defined(NEED_load_module) || defined(NEED_load_module_GLOBAL)
52338118 #endif
52348119
52358120 #ifndef newRV_noinc
5236 #if defined(NEED_newRV_noinc)
5237 static SV * DPPP_(my_newRV_noinc)(SV *sv);
5238 static
8121 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
8122 # define newRV_noinc(sv) ({ SV *_sv = (SV *)newRV((sv)); SvREFCNT_dec((sv)); _sv; })
52398123 #else
5240 extern SV * DPPP_(my_newRV_noinc)(SV *sv);
5241 #endif
5242
5243 #if defined(NEED_newRV_noinc) || defined(NEED_newRV_noinc_GLOBAL)
5244
5245 #ifdef newRV_noinc
5246 # undef newRV_noinc
5247 #endif
5248 #define newRV_noinc(a) DPPP_(my_newRV_noinc)(aTHX_ a)
5249 #define Perl_newRV_noinc DPPP_(my_newRV_noinc)
5250
5251 SV *
5252 DPPP_(my_newRV_noinc)(SV *sv)
5253 {
5254 SV *rv = (SV *)newRV(sv);
5255 SvREFCNT_dec(sv);
5256 return rv;
5257 }
5258 #endif
5259 #endif
5260
5261 /* Hint: newCONSTSUB
5262 * Returns a CV* as of perl-5.7.1. This return value is not supported
5263 * by Devel::PPPort.
5264 */
5265
5266 /* newCONSTSUB from IO.xs is in the core starting with 5.004_63 */
5267 #if (PERL_BCDVERSION < 0x5004063) && (PERL_BCDVERSION != 0x5004005)
5268 #if defined(NEED_newCONSTSUB)
5269 static void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv);
5270 static
5271 #else
5272 extern void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv);
5273 #endif
5274
5275 #if defined(NEED_newCONSTSUB) || defined(NEED_newCONSTSUB_GLOBAL)
5276
5277 #ifdef newCONSTSUB
5278 # undef newCONSTSUB
5279 #endif
5280 #define newCONSTSUB(a,b,c) DPPP_(my_newCONSTSUB)(aTHX_ a,b,c)
5281 #define Perl_newCONSTSUB DPPP_(my_newCONSTSUB)
5282
5283
5284 /* This is just a trick to avoid a dependency of newCONSTSUB on PL_parser */
5285 /* (There's no PL_parser in perl < 5.005, so this is completely safe) */
5286 #define D_PPP_PL_copline PL_copline
5287
5288 void
5289 DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv)
5290 {
5291 U32 oldhints = PL_hints;
5292 HV *old_cop_stash = PL_curcop->cop_stash;
5293 HV *old_curstash = PL_curstash;
5294 line_t oldline = PL_curcop->cop_line;
5295 PL_curcop->cop_line = D_PPP_PL_copline;
5296
5297 PL_hints &= ~HINT_BLOCK_SCOPE;
5298 if (stash)
5299 PL_curstash = PL_curcop->cop_stash = stash;
5300
5301 newSUB(
5302
5303 #if (PERL_BCDVERSION < 0x5003022)
5304 start_subparse(),
5305 #elif (PERL_BCDVERSION == 0x5003022)
5306 start_subparse(0),
5307 #else /* 5.003_23 onwards */
5308 start_subparse(FALSE, 0),
5309 #endif
5310
5311 newSVOP(OP_CONST, 0, newSVpv((char *) name, 0)),
5312 newSVOP(OP_CONST, 0, &PL_sv_no), /* SvPV(&PL_sv_no) == "" -- GMB */
5313 newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv))
5314 );
5315
5316 PL_hints = oldhints;
5317 PL_curcop->cop_stash = old_cop_stash;
5318 PL_curstash = old_curstash;
5319 PL_curcop->cop_line = oldline;
5320 }
8124 # define newRV_noinc(sv) ((PL_Sv = (SV *)newRV((sv))), SvREFCNT_dec((sv)), PL_Sv)
53218125 #endif
53228126 #endif
53238127
54258229
54268230 #endif
54278231
5428 #ifndef IVdf
5429 # if IVSIZE == LONGSIZE
5430 # define IVdf "ld"
5431 # define UVuf "lu"
5432 # define UVof "lo"
5433 # define UVxf "lx"
5434 # define UVXf "lX"
5435 # elif IVSIZE == INTSIZE
5436 # define IVdf "d"
5437 # define UVuf "u"
5438 # define UVof "o"
5439 # define UVxf "x"
5440 # define UVXf "X"
5441 # else
5442 # error "cannot define IV/UV formats"
5443 # endif
5444 #endif
5445
5446 #ifndef NVef
5447 # if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE) && \
5448 defined(PERL_PRIfldbl) && (PERL_BCDVERSION != 0x5006000)
5449 /* Not very likely, but let's try anyway. */
5450 # define NVef PERL_PRIeldbl
5451 # define NVff PERL_PRIfldbl
5452 # define NVgf PERL_PRIgldbl
5453 # else
5454 # define NVef "e"
5455 # define NVff "f"
5456 # define NVgf "g"
5457 # endif
5458 #endif
5459
54608232 #ifndef SvREFCNT_inc
54618233 # ifdef PERL_USE_GCC_BRACE_GROUPS
54628234 # define SvREFCNT_inc(sv) \
55308302 #endif
55318303
55328304 #ifndef newSV_type
5533
5534 #if defined(NEED_newSV_type)
5535 static SV* DPPP_(my_newSV_type)(pTHX_ svtype const t);
5536 static
8305 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
8306 # define newSV_type(t) ({ SV *_sv = newSV(0); sv_upgrade(_sv, (t)); _sv; })
55378307 #else
5538 extern SV* DPPP_(my_newSV_type)(pTHX_ svtype const t);
5539 #endif
5540
5541 #if defined(NEED_newSV_type) || defined(NEED_newSV_type_GLOBAL)
5542
5543 #ifdef newSV_type
5544 # undef newSV_type
5545 #endif
5546 #define newSV_type(a) DPPP_(my_newSV_type)(aTHX_ a)
5547 #define Perl_newSV_type DPPP_(my_newSV_type)
5548
5549
5550 SV*
5551 DPPP_(my_newSV_type)(pTHX_ svtype const t)
5552 {
5553 SV* const sv = newSV(0);
5554 sv_upgrade(sv, t);
5555 return sv;
5556 }
5557
5558 #endif
5559
8308 # define newSV_type(t) ((PL_Sv = newSV(0)), sv_upgrade(PL_Sv, (t)), PL_Sv)
8309 #endif
55608310 #endif
55618311
55628312 #if (PERL_BCDVERSION < 0x5006000)
55778327 #endif
55788328
55798329 #ifndef newSVpvn_flags
5580
5581 #if defined(NEED_newSVpvn_flags)
5582 static SV * DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags);
5583 static
8330 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
8331 # define newSVpvn_flags(s, len, flags) ({ SV *_sv = newSVpvn(D_PPP_CONSTPV_ARG((s)), (len)); SvFLAGS(_sv) |= ((flags) & SVf_UTF8); ((flags) & SVs_TEMP) ? sv_2mortal(_sv) : _sv; })
55848332 #else
5585 extern SV * DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags);
5586 #endif
5587
5588 #if defined(NEED_newSVpvn_flags) || defined(NEED_newSVpvn_flags_GLOBAL)
5589
5590 #ifdef newSVpvn_flags
5591 # undef newSVpvn_flags
5592 #endif
5593 #define newSVpvn_flags(a,b,c) DPPP_(my_newSVpvn_flags)(aTHX_ a,b,c)
5594 #define Perl_newSVpvn_flags DPPP_(my_newSVpvn_flags)
5595
5596
5597 SV *
5598 DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags)
5599 {
5600 SV *sv = newSVpvn(D_PPP_CONSTPV_ARG(s), len);
5601 SvFLAGS(sv) |= (flags & SVf_UTF8);
5602 return (flags & SVs_TEMP) ? sv_2mortal(sv) : sv;
5603 }
5604
5605 #endif
5606
5607 #endif
5608
5609 /* Backwards compatibility stuff... :-( */
5610 #if !defined(NEED_sv_2pv_flags) && defined(NEED_sv_2pv_nolen)
5611 # define NEED_sv_2pv_flags
5612 #endif
5613 #if !defined(NEED_sv_2pv_flags_GLOBAL) && defined(NEED_sv_2pv_nolen_GLOBAL)
5614 # define NEED_sv_2pv_flags_GLOBAL
5615 #endif
5616
5617 /* Hint: sv_2pv_nolen
5618 * Use the SvPV_nolen() or SvPV_nolen_const() macros instead of sv_2pv_nolen().
5619 */
5620 #ifndef sv_2pv_nolen
5621 # define sv_2pv_nolen(sv) SvPV_nolen(sv)
5622 #endif
5623
5624 #ifdef SvPVbyte
5625
5626 /* Hint: SvPVbyte
5627 * Does not work in perl-5.6.1, ppport.h implements a version
5628 * borrowed from perl-5.7.3.
5629 */
5630
5631 #if (PERL_BCDVERSION < 0x5007000)
5632
5633 #if defined(NEED_sv_2pvbyte)
5634 static char * DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp);
5635 static
8333 # define newSVpvn_flags(s, len, flags) ((PL_Sv = newSVpvn(D_PPP_CONSTPV_ARG((s)), (len))), SvFLAGS(PL_Sv) |= ((flags) & SVf_UTF8), (((flags) & SVs_TEMP) ? sv_2mortal(PL_Sv) : PL_Sv))
8334 #endif
8335 #endif
8336 #ifndef SV_NOSTEAL
8337 # define SV_NOSTEAL 16
8338 #endif
8339
8340 #if ( (PERL_BCDVERSION >= 0x5007003) && (PERL_BCDVERSION < 0x5008007) ) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5009002) )
8341 #undef sv_setsv_flags
8342 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
8343 #define sv_setsv_flags(dstr, sstr, flags) \
8344 STMT_START { \
8345 if (((flags) & SV_NOSTEAL) && (sstr) && (SvFLAGS((SV *)(sstr)) & SVs_TEMP)) { \
8346 SvTEMP_off((SV *)(sstr)); \
8347 Perl_sv_setsv_flags(aTHX_ (dstr), (sstr), (flags) & ~SV_NOSTEAL); \
8348 SvTEMP_on((SV *)(sstr)); \
8349 } else { \
8350 Perl_sv_setsv_flags(aTHX_ (dstr), (sstr), (flags) & ~SV_NOSTEAL); \
8351 } \
8352 } STMT_END
56368353 #else
5637 extern char * DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp);
5638 #endif
5639
5640 #if defined(NEED_sv_2pvbyte) || defined(NEED_sv_2pvbyte_GLOBAL)
5641
5642 #ifdef sv_2pvbyte
5643 # undef sv_2pvbyte
5644 #endif
5645 #define sv_2pvbyte(a,b) DPPP_(my_sv_2pvbyte)(aTHX_ a,b)
5646 #define Perl_sv_2pvbyte DPPP_(my_sv_2pvbyte)
5647
5648
5649 char *
5650 DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp)
5651 {
5652 sv_utf8_downgrade(sv,0);
5653 return SvPV(sv,*lp);
5654 }
5655
5656 #endif
5657
5658 /* Hint: sv_2pvbyte
5659 * Use the SvPVbyte() macro instead of sv_2pvbyte().
5660 */
5661
5662 #undef SvPVbyte
5663
5664 #define SvPVbyte(sv, lp) \
5665 ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK) \
5666 ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte(sv, &lp))
5667
8354 ( \
8355 (((flags) & SV_NOSTEAL) && (sstr) && (SvFLAGS((SV *)(sstr)) & SVs_TEMP)) ? ( \
8356 SvTEMP_off((SV *)(sstr)), \
8357 Perl_sv_setsv_flags(aTHX_ (dstr), (sstr), (flags) & ~SV_NOSTEAL), \
8358 SvTEMP_on((SV *)(sstr)), \
8359 1 \
8360 ) : ( \
8361 Perl_sv_setsv_flags(aTHX_ (dstr), (sstr), (flags) & ~SV_NOSTEAL), \
8362 1 \
8363 ) \
8364 )
8365 #endif
8366 #endif
8367
8368 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
8369 #ifndef sv_setsv_flags
8370 # define sv_setsv_flags(dstr, sstr, flags) \
8371 STMT_START { \
8372 if (((flags) & SV_NOSTEAL) && (sstr) && (SvFLAGS((SV *)(sstr)) & SVs_TEMP)) { \
8373 SvTEMP_off((SV *)(sstr)); \
8374 if (!((flags) & SV_GMAGIC) && (sstr) && SvGMAGICAL((SV *)(sstr))) { \
8375 SvGMAGICAL_off((SV *)(sstr)); \
8376 sv_setsv((dstr), (sstr)); \
8377 SvGMAGICAL_on((SV *)(sstr)); \
8378 } else { \
8379 sv_setsv((dstr), (sstr)); \
8380 } \
8381 SvTEMP_on((SV *)(sstr)); \
8382 } else { \
8383 if (!((flags) & SV_GMAGIC) && (sstr) && SvGMAGICAL((SV *)(sstr))) { \
8384 SvGMAGICAL_off((SV *)(sstr)); \
8385 sv_setsv((dstr), (sstr)); \
8386 SvGMAGICAL_on((SV *)(sstr)); \
8387 } else { \
8388 sv_setsv((dstr), (sstr)); \
8389 } \
8390 } \
8391 } STMT_END
56688392 #endif
56698393
56708394 #else
5671
5672 # define SvPVbyte SvPV
5673 # define sv_2pvbyte sv_2pv
5674
5675 #endif
5676 #ifndef sv_2pvbyte_nolen
5677 # define sv_2pvbyte_nolen(sv) sv_2pv_nolen(sv)
5678 #endif
5679
5680 /* Hint: sv_pvn
5681 * Always use the SvPV() macro instead of sv_pvn().
5682 */
5683
5684 /* Hint: sv_pvn_force
5685 * Always use the SvPV_force() macro instead of sv_pvn_force().
5686 */
5687
5688 /* If these are undefined, they're not handled by the core anyway */
5689 #ifndef SV_IMMEDIATE_UNREF
5690 # define SV_IMMEDIATE_UNREF 0
5691 #endif
5692
5693 #ifndef SV_GMAGIC
5694 # define SV_GMAGIC 0
5695 #endif
5696
5697 #ifndef SV_COW_DROP_PV
5698 # define SV_COW_DROP_PV 0
5699 #endif
5700
5701 #ifndef SV_UTF8_NO_ENCODING
5702 # define SV_UTF8_NO_ENCODING 0
5703 #endif
5704
5705 #ifndef SV_NOSTEAL
5706 # define SV_NOSTEAL 0
5707 #endif
5708
5709 #ifndef SV_CONST_RETURN
5710 # define SV_CONST_RETURN 0
5711 #endif
5712
5713 #ifndef SV_MUTABLE_RETURN
5714 # define SV_MUTABLE_RETURN 0
5715 #endif
5716
5717 #ifndef SV_SMAGIC
5718 # define SV_SMAGIC 0
5719 #endif
5720
5721 #ifndef SV_HAS_TRAILING_NUL
5722 # define SV_HAS_TRAILING_NUL 0
5723 #endif
5724
5725 #ifndef SV_COW_SHARED_HASH_KEYS
5726 # define SV_COW_SHARED_HASH_KEYS 0
5727 #endif
5728
5729 #if (PERL_BCDVERSION < 0x5007002)
5730
5731 #if defined(NEED_sv_2pv_flags)
5732 static char * DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags);
5733 static
8395 #ifndef sv_setsv_flags
8396 # define sv_setsv_flags(dstr, sstr, flags) \
8397 ( \
8398 (((flags) & SV_NOSTEAL) && (sstr) && (SvFLAGS((SV *)(sstr)) & SVs_TEMP)) ? ( \
8399 SvTEMP_off((SV *)(sstr)), \
8400 (!((flags) & SV_GMAGIC) && (sstr) && SvGMAGICAL((SV *)(sstr))) ? ( \
8401 SvGMAGICAL_off((SV *)(sstr)), \
8402 sv_setsv((dstr), (sstr)), \
8403 SvGMAGICAL_on((SV *)(sstr)), \
8404 1 \
8405 ) : ( \
8406 sv_setsv((dstr), (sstr)), \
8407 1 \
8408 ), \
8409 SvTEMP_on((SV *)(sstr)), \
8410 1 \
8411 ) : ( \
8412 (!((flags) & SV_GMAGIC) && (sstr) && SvGMAGICAL((SV *)(sstr))) ? ( \
8413 SvGMAGICAL_off((SV *)(sstr)), \
8414 sv_setsv((dstr), (sstr)), \
8415 SvGMAGICAL_on((SV *)(sstr)), \
8416 1 \
8417 ) : ( \
8418 sv_setsv((dstr), (sstr)), \
8419 1 \
8420 ) \
8421 ) \
8422 )
8423 #endif
8424
8425 #endif
8426
8427 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
8428 #ifndef newSVsv_flags
8429 # define newSVsv_flags(sv, flags) ({ SV *_sv = newSV(0); sv_setsv_flags(_sv, (sv), (flags)); _sv; })
8430 #endif
8431
57348432 #else
5735 extern char * DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags);
5736 #endif
5737
5738 #if defined(NEED_sv_2pv_flags) || defined(NEED_sv_2pv_flags_GLOBAL)
5739
5740 #ifdef sv_2pv_flags
5741 # undef sv_2pv_flags
5742 #endif
5743 #define sv_2pv_flags(a,b,c) DPPP_(my_sv_2pv_flags)(aTHX_ a,b,c)
5744 #define Perl_sv_2pv_flags DPPP_(my_sv_2pv_flags)
5745
5746
5747 char *
5748 DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags)
5749 {
5750 STRLEN n_a = (STRLEN) flags;
5751 return sv_2pv(sv, lp ? lp : &n_a);
5752 }
5753
5754 #endif
5755
5756 #if defined(NEED_sv_pvn_force_flags)
5757 static char * DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags);
5758 static
8433 #ifndef newSVsv_flags
8434 # define newSVsv_flags(sv, flags) ((PL_Sv = newSV(0)), sv_setsv_flags(PL_Sv, (sv), (flags)), PL_Sv)
8435 #endif
8436
8437 #endif
8438 #ifndef newSVsv_nomg
8439 # define newSVsv_nomg(sv) newSVsv_flags((sv), SV_NOSTEAL)
8440 #endif
8441
8442 #if (PERL_BCDVERSION >= 0x5017005)
8443 #ifndef sv_mortalcopy_flags
8444 # define sv_mortalcopy_flags(sv, flags) Perl_sv_mortalcopy_flags(aTHX_ (sv), (flags))
8445 #endif
8446
57598447 #else
5760 extern char * DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags);
5761 #endif
5762
5763 #if defined(NEED_sv_pvn_force_flags) || defined(NEED_sv_pvn_force_flags_GLOBAL)
5764
5765 #ifdef sv_pvn_force_flags
5766 # undef sv_pvn_force_flags
5767 #endif
5768 #define sv_pvn_force_flags(a,b,c) DPPP_(my_sv_pvn_force_flags)(aTHX_ a,b,c)
5769 #define Perl_sv_pvn_force_flags DPPP_(my_sv_pvn_force_flags)
5770
5771
5772 char *
5773 DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags)
5774 {
5775 STRLEN n_a = (STRLEN) flags;
5776 return sv_pvn_force(sv, lp ? lp : &n_a);
5777 }
5778
5779 #endif
5780
5781 #endif
5782
5783 #if (PERL_BCDVERSION < 0x5008008) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5009003) )
5784 # define D_PPP_SVPV_NOLEN_LP_ARG &PL_na
5785 #else
5786 # define D_PPP_SVPV_NOLEN_LP_ARG 0
5787 #endif
5788 #ifndef SvPV_const
5789 # define SvPV_const(sv, lp) SvPV_flags_const(sv, lp, SV_GMAGIC)
5790 #endif
5791
5792 #ifndef SvPV_mutable
5793 # define SvPV_mutable(sv, lp) SvPV_flags_mutable(sv, lp, SV_GMAGIC)
5794 #endif
5795 #ifndef SvPV_flags
5796 # define SvPV_flags(sv, lp, flags) \
5797 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
5798 ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pv_flags(sv, &lp, flags))
5799 #endif
5800 #ifndef SvPV_flags_const
5801 # define SvPV_flags_const(sv, lp, flags) \
5802 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
5803 ? ((lp = SvCUR(sv)), SvPVX_const(sv)) : \
5804 (const char*) sv_2pv_flags(sv, &lp, flags|SV_CONST_RETURN))
5805 #endif
5806 #ifndef SvPV_flags_const_nolen
5807 # define SvPV_flags_const_nolen(sv, flags) \
5808 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
5809 ? SvPVX_const(sv) : \
5810 (const char*) sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, flags|SV_CONST_RETURN))
5811 #endif
5812 #ifndef SvPV_flags_mutable
5813 # define SvPV_flags_mutable(sv, lp, flags) \
5814 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
5815 ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) : \
5816 sv_2pv_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
5817 #endif
5818 #ifndef SvPV_force
5819 # define SvPV_force(sv, lp) SvPV_force_flags(sv, lp, SV_GMAGIC)
5820 #endif
5821
5822 #ifndef SvPV_force_nolen
5823 # define SvPV_force_nolen(sv) SvPV_force_flags_nolen(sv, SV_GMAGIC)
5824 #endif
5825
5826 #ifndef SvPV_force_mutable
5827 # define SvPV_force_mutable(sv, lp) SvPV_force_flags_mutable(sv, lp, SV_GMAGIC)
5828 #endif
5829
5830 #ifndef SvPV_force_nomg
5831 # define SvPV_force_nomg(sv, lp) SvPV_force_flags(sv, lp, 0)
5832 #endif
5833
5834 #ifndef SvPV_force_nomg_nolen
5835 # define SvPV_force_nomg_nolen(sv) SvPV_force_flags_nolen(sv, 0)
5836 #endif
5837 #ifndef SvPV_force_flags
5838 # define SvPV_force_flags(sv, lp, flags) \
5839 ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
5840 ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvn_force_flags(sv, &lp, flags))
5841 #endif
5842 #ifndef SvPV_force_flags_nolen
5843 # define SvPV_force_flags_nolen(sv, flags) \
5844 ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
5845 ? SvPVX(sv) : sv_pvn_force_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, flags))
5846 #endif
5847 #ifndef SvPV_force_flags_mutable
5848 # define SvPV_force_flags_mutable(sv, lp, flags) \
5849 ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
5850 ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) \
5851 : sv_pvn_force_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
5852 #endif
5853 #ifndef SvPV_nolen
5854 # define SvPV_nolen(sv) \
5855 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
5856 ? SvPVX(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC))
5857 #endif
5858 #ifndef SvPV_nolen_const
5859 # define SvPV_nolen_const(sv) \
5860 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
5861 ? SvPVX_const(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC|SV_CONST_RETURN))
5862 #endif
5863 #ifndef SvPV_nomg
5864 # define SvPV_nomg(sv, lp) SvPV_flags(sv, lp, 0)
5865 #endif
5866
5867 #ifndef SvPV_nomg_const
5868 # define SvPV_nomg_const(sv, lp) SvPV_flags_const(sv, lp, 0)
5869 #endif
5870
5871 #ifndef SvPV_nomg_const_nolen
5872 # define SvPV_nomg_const_nolen(sv) SvPV_flags_const_nolen(sv, 0)
5873 #endif
5874
5875 #ifndef SvPV_nomg_nolen
5876 # define SvPV_nomg_nolen(sv) ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
5877 ? SvPVX(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, 0))
5878 #endif
5879 #ifndef SvPV_renew
5880 # define SvPV_renew(sv,n) STMT_START { SvLEN_set(sv, n); \
5881 SvPV_set((sv), (char *) saferealloc( \
5882 (Malloc_t)SvPVX(sv), (MEM_SIZE)((n)))); \
5883 } STMT_END
8448 #ifndef sv_mortalcopy_flags
8449 # define sv_mortalcopy_flags(sv, flags) sv_2mortal(newSVsv_flags((sv), (flags)))
8450 #endif
8451
58848452 #endif
58858453 #ifndef SvMAGIC_set
58868454 # define SvMAGIC_set(sv, val) \
59398507
59408508 #endif
59418509
5942 #if (PERL_BCDVERSION >= 0x5004000) && !defined(vnewSVpvf)
5943 #if defined(NEED_vnewSVpvf)
5944 static SV * DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args);
5945 static
5946 #else
5947 extern SV * DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args);
5948 #endif
5949
5950 #if defined(NEED_vnewSVpvf) || defined(NEED_vnewSVpvf_GLOBAL)
5951
5952 #ifdef vnewSVpvf
5953 # undef vnewSVpvf
5954 #endif
5955 #define vnewSVpvf(a,b) DPPP_(my_vnewSVpvf)(aTHX_ a,b)
5956 #define Perl_vnewSVpvf DPPP_(my_vnewSVpvf)
5957
5958
5959 SV *
5960 DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args)
5961 {
5962 register SV *sv = newSV(0);
5963 sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*));
5964 return sv;
5965 }
5966
5967 #endif
5968 #endif
5969
5970 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vcatpvf)
5971 # define sv_vcatpvf(sv, pat, args) sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*))
5972 #endif
5973
5974 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vsetpvf)
5975 # define sv_vsetpvf(sv, pat, args) sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*))
5976 #endif
5977
5978 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_catpvf_mg)
5979 #if defined(NEED_sv_catpvf_mg)
5980 static void DPPP_(my_sv_catpvf_mg)(pTHX_ SV *sv, const char *pat, ...);
5981 static
5982 #else
5983 extern void DPPP_(my_sv_catpvf_mg)(pTHX_ SV *sv, const char *pat, ...);
5984 #endif
5985
5986 #if defined(NEED_sv_catpvf_mg) || defined(NEED_sv_catpvf_mg_GLOBAL)
5987
5988 #define Perl_sv_catpvf_mg DPPP_(my_sv_catpvf_mg)
5989
5990
5991 void
5992 DPPP_(my_sv_catpvf_mg)(pTHX_ SV *sv, const char *pat, ...)
5993 {
5994 va_list args;
5995 va_start(args, pat);
5996 sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
5997 SvSETMAGIC(sv);
5998 va_end(args);
5999 }
6000
6001 #endif
6002 #endif
6003
6004 #ifdef PERL_IMPLICIT_CONTEXT
6005 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_catpvf_mg_nocontext)
6006 #if defined(NEED_sv_catpvf_mg_nocontext)
6007 static void DPPP_(my_sv_catpvf_mg_nocontext)(SV *sv, const char *pat, ...);
6008 static
6009 #else
6010 extern void DPPP_(my_sv_catpvf_mg_nocontext)(SV *sv, const char *pat, ...);
6011 #endif
6012
6013 #if defined(NEED_sv_catpvf_mg_nocontext) || defined(NEED_sv_catpvf_mg_nocontext_GLOBAL)
6014
6015 #define sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext)
6016 #define Perl_sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext)
6017
6018
6019 void
6020 DPPP_(my_sv_catpvf_mg_nocontext)(SV *sv, const char *pat, ...)
6021 {
6022 dTHX;
6023 va_list args;
6024 va_start(args, pat);
6025 sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
6026 SvSETMAGIC(sv);
6027 va_end(args);
6028 }
6029
6030 #endif
6031 #endif
6032 #endif
6033
6034 /* sv_catpvf_mg depends on sv_catpvf_mg_nocontext */
6035 #ifndef sv_catpvf_mg
6036 # ifdef PERL_IMPLICIT_CONTEXT
6037 # define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext
6038 # else
6039 # define sv_catpvf_mg Perl_sv_catpvf_mg
6040 # endif
6041 #endif
6042
6043 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vcatpvf_mg)
6044 # define sv_vcatpvf_mg(sv, pat, args) \
6045 STMT_START { \
6046 sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \
6047 SvSETMAGIC(sv); \
6048 } STMT_END
6049 #endif
6050
6051 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_setpvf_mg)
6052 #if defined(NEED_sv_setpvf_mg)
6053 static void DPPP_(my_sv_setpvf_mg)(pTHX_ SV *sv, const char *pat, ...);
6054 static
6055 #else
6056 extern void DPPP_(my_sv_setpvf_mg)(pTHX_ SV *sv, const char *pat, ...);
6057 #endif
6058
6059 #if defined(NEED_sv_setpvf_mg) || defined(NEED_sv_setpvf_mg_GLOBAL)
6060
6061 #define Perl_sv_setpvf_mg DPPP_(my_sv_setpvf_mg)
6062
6063
6064 void
6065 DPPP_(my_sv_setpvf_mg)(pTHX_ SV *sv, const char *pat, ...)
6066 {
6067 va_list args;
6068 va_start(args, pat);
6069 sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
6070 SvSETMAGIC(sv);
6071 va_end(args);
6072 }
6073
6074 #endif
6075 #endif
6076
6077 #ifdef PERL_IMPLICIT_CONTEXT
6078 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_setpvf_mg_nocontext)
6079 #if defined(NEED_sv_setpvf_mg_nocontext)
6080 static void DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...);
6081 static
6082 #else
6083 extern void DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...);
6084 #endif
6085
6086 #if defined(NEED_sv_setpvf_mg_nocontext) || defined(NEED_sv_setpvf_mg_nocontext_GLOBAL)
6087
6088 #define sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext)
6089 #define Perl_sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext)
6090
6091
6092 void
6093 DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...)
6094 {
6095 dTHX;
6096 va_list args;
6097 va_start(args, pat);
6098 sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
6099 SvSETMAGIC(sv);
6100 va_end(args);
6101 }
6102
6103 #endif
6104 #endif
6105 #endif
6106
6107 /* sv_setpvf_mg depends on sv_setpvf_mg_nocontext */
6108 #ifndef sv_setpvf_mg
6109 # ifdef PERL_IMPLICIT_CONTEXT
6110 # define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext
6111 # else
6112 # define sv_setpvf_mg Perl_sv_setpvf_mg
6113 # endif
6114 #endif
6115
6116 #if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vsetpvf_mg)
6117 # define sv_vsetpvf_mg(sv, pat, args) \
6118 STMT_START { \
6119 sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \
6120 SvSETMAGIC(sv); \
6121 } STMT_END
6122 #endif
6123
61248510 /* Hint: newSVpvn_share
61258511 * The SVs created by this function only mimic the behaviour of
61268512 * shared PVs without really being shared. Only use if you know
61308516 #ifndef newSVpvn_share
61318517
61328518 #if defined(NEED_newSVpvn_share)
6133 static SV * DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash);
8519 static SV * DPPP_(my_newSVpvn_share)(pTHX_ const char * s, I32 len, U32 hash);
61348520 static
61358521 #else
6136 extern SV * DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash);
8522 extern SV * DPPP_(my_newSVpvn_share)(pTHX_ const char * s, I32 len, U32 hash);
61378523 #endif
61388524
61398525 #if defined(NEED_newSVpvn_share) || defined(NEED_newSVpvn_share_GLOBAL)
61468532
61478533
61488534 SV *
6149 DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash)
8535 DPPP_(my_newSVpvn_share)(pTHX_ const char *s, I32 len, U32 hash)
61508536 {
61518537 SV *sv;
61528538 if (len < 0)
61538539 len = -len;
61548540 if (!hash)
6155 PERL_HASH(hash, (char*) src, len);
6156 sv = newSVpvn((char *) src, len);
8541 PERL_HASH(hash, (char*) s, len);
8542 sv = newSVpvn((char *) s, len);
61578543 sv_upgrade(sv, SVt_PVIV);
61588544 SvIVX(sv) = hash;
61598545 SvREADONLY_on(sv);
61748560 # define HvNAMELEN_get(hv) (HvNAME_get(hv) ? (I32)strlen(HvNAME_get(hv)) : 0)
61758561 #endif
61768562
8563 #if (PERL_BCDVERSION >= 0x5009002) && (PERL_BCDVERSION <= 0x5009003) /* 5.9.2 and 5.9.3 ignore the length param */
8564 #undef gv_fetchpvn_flags
8565 #endif
8566 #ifndef GV_NOADD_MASK
8567 # define GV_NOADD_MASK 0xE0
8568 #endif
8569
61778570 #ifndef gv_fetchpvn_flags
6178 #if defined(NEED_gv_fetchpvn_flags)
6179 static GV* DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types);
6180 static
6181 #else
6182 extern GV* DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types);
6183 #endif
6184
6185 #if defined(NEED_gv_fetchpvn_flags) || defined(NEED_gv_fetchpvn_flags_GLOBAL)
6186
6187 #ifdef gv_fetchpvn_flags
6188 # undef gv_fetchpvn_flags
6189 #endif
6190 #define gv_fetchpvn_flags(a,b,c,d) DPPP_(my_gv_fetchpvn_flags)(aTHX_ a,b,c,d)
6191 #define Perl_gv_fetchpvn_flags DPPP_(my_gv_fetchpvn_flags)
6192
6193
6194 GV*
6195 DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types) {
6196 char *namepv = savepvn(name, len);
6197 GV* stash = gv_fetchpv(namepv, TRUE, SVt_PVHV);
6198 Safefree(namepv);
6199 return stash;
6200 }
6201
6202 #endif
8571 # define gv_fetchpvn_flags(name, len, flags, sv_type) gv_fetchpv(SvPVX(sv_2mortal(newSVpvn((name), (len)))), ((flags) & GV_NOADD_MASK) ? FALSE : TRUE, (I32)(sv_type))
62038572 #endif
62048573 #ifndef GvSVn
62058574 # define GvSVn(gv) GvSV(gv)
62188587
62198588 #ifndef gv_init_pvn
62208589 # define gv_init_pvn(gv, stash, ptr, len, flags) gv_init(gv, stash, ptr, len, flags & GV_ADDMULTI ? TRUE : FALSE)
6221 #endif
6222 #ifndef WARN_ALL
6223 # define WARN_ALL 0
6224 #endif
6225
6226 #ifndef WARN_CLOSURE
6227 # define WARN_CLOSURE 1
6228 #endif
6229
6230 #ifndef WARN_DEPRECATED
6231 # define WARN_DEPRECATED 2
6232 #endif
6233
6234 #ifndef WARN_EXITING
6235 # define WARN_EXITING 3
6236 #endif
6237
6238 #ifndef WARN_GLOB
6239 # define WARN_GLOB 4
6240 #endif
6241
6242 #ifndef WARN_IO
6243 # define WARN_IO 5
6244 #endif
6245
6246 #ifndef WARN_CLOSED
6247 # define WARN_CLOSED 6
6248 #endif
6249
6250 #ifndef WARN_EXEC
6251 # define WARN_EXEC 7
6252 #endif
6253
6254 #ifndef WARN_LAYER
6255 # define WARN_LAYER 8
6256 #endif
6257
6258 #ifndef WARN_NEWLINE
6259 # define WARN_NEWLINE 9
6260 #endif
6261
6262 #ifndef WARN_PIPE
6263 # define WARN_PIPE 10
6264 #endif
6265
6266 #ifndef WARN_UNOPENED
6267 # define WARN_UNOPENED 11
6268 #endif
6269
6270 #ifndef WARN_MISC
6271 # define WARN_MISC 12
6272 #endif
6273
6274 #ifndef WARN_NUMERIC
6275 # define WARN_NUMERIC 13
6276 #endif
6277
6278 #ifndef WARN_ONCE
6279 # define WARN_ONCE 14
6280 #endif
6281
6282 #ifndef WARN_OVERFLOW
6283 # define WARN_OVERFLOW 15
6284 #endif
6285
6286 #ifndef WARN_PACK
6287 # define WARN_PACK 16
6288 #endif
6289
6290 #ifndef WARN_PORTABLE
6291 # define WARN_PORTABLE 17
6292 #endif
6293
6294 #ifndef WARN_RECURSION
6295 # define WARN_RECURSION 18
6296 #endif
6297
6298 #ifndef WARN_REDEFINE
6299 # define WARN_REDEFINE 19
6300 #endif
6301
6302 #ifndef WARN_REGEXP
6303 # define WARN_REGEXP 20
6304 #endif
6305
6306 #ifndef WARN_SEVERE
6307 # define WARN_SEVERE 21
6308 #endif
6309
6310 #ifndef WARN_DEBUGGING
6311 # define WARN_DEBUGGING 22
6312 #endif
6313
6314 #ifndef WARN_INPLACE
6315 # define WARN_INPLACE 23
6316 #endif
6317
6318 #ifndef WARN_INTERNAL
6319 # define WARN_INTERNAL 24
6320 #endif
6321
6322 #ifndef WARN_MALLOC
6323 # define WARN_MALLOC 25
6324 #endif
6325
6326 #ifndef WARN_SIGNAL
6327 # define WARN_SIGNAL 26
6328 #endif
6329
6330 #ifndef WARN_SUBSTR
6331 # define WARN_SUBSTR 27
6332 #endif
6333
6334 #ifndef WARN_SYNTAX
6335 # define WARN_SYNTAX 28
6336 #endif
6337
6338 #ifndef WARN_AMBIGUOUS
6339 # define WARN_AMBIGUOUS 29
6340 #endif
6341
6342 #ifndef WARN_BAREWORD
6343 # define WARN_BAREWORD 30
6344 #endif
6345
6346 #ifndef WARN_DIGIT
6347 # define WARN_DIGIT 31
6348 #endif
6349
6350 #ifndef WARN_PARENTHESIS
6351 # define WARN_PARENTHESIS 32
6352 #endif
6353
6354 #ifndef WARN_PRECEDENCE
6355 # define WARN_PRECEDENCE 33
6356 #endif
6357
6358 #ifndef WARN_PRINTF
6359 # define WARN_PRINTF 34
6360 #endif
6361
6362 #ifndef WARN_PROTOTYPE
6363 # define WARN_PROTOTYPE 35
6364 #endif
6365
6366 #ifndef WARN_QW
6367 # define WARN_QW 36
6368 #endif
6369
6370 #ifndef WARN_RESERVED
6371 # define WARN_RESERVED 37
6372 #endif
6373
6374 #ifndef WARN_SEMICOLON
6375 # define WARN_SEMICOLON 38
6376 #endif
6377
6378 #ifndef WARN_TAINT
6379 # define WARN_TAINT 39
6380 #endif
6381
6382 #ifndef WARN_THREADS
6383 # define WARN_THREADS 40
6384 #endif
6385
6386 #ifndef WARN_UNINITIALIZED
6387 # define WARN_UNINITIALIZED 41
6388 #endif
6389
6390 #ifndef WARN_UNPACK
6391 # define WARN_UNPACK 42
6392 #endif
6393
6394 #ifndef WARN_UNTIE
6395 # define WARN_UNTIE 43
6396 #endif
6397
6398 #ifndef WARN_UTF8
6399 # define WARN_UTF8 44
6400 #endif
6401
6402 #ifndef WARN_VOID
6403 # define WARN_VOID 45
6404 #endif
6405
6406 #ifndef WARN_ASSERTIONS
6407 # define WARN_ASSERTIONS 46
6408 #endif
6409 #ifndef packWARN
6410 # define packWARN(a) (a)
6411 #endif
6412
6413 #ifndef ckWARN
6414 # ifdef G_WARN_ON
6415 # define ckWARN(a) (PL_dowarn & G_WARN_ON)
6416 # else
6417 # define ckWARN(a) PL_dowarn
6418 # endif
6419 #endif
6420
6421 #if (PERL_BCDVERSION >= 0x5004000) && !defined(warner)
6422 #if defined(NEED_warner)
6423 static void DPPP_(my_warner)(U32 err, const char *pat, ...);
6424 static
6425 #else
6426 extern void DPPP_(my_warner)(U32 err, const char *pat, ...);
6427 #endif
6428
6429 #if defined(NEED_warner) || defined(NEED_warner_GLOBAL)
6430
6431 #define Perl_warner DPPP_(my_warner)
6432
6433
6434 void
6435 DPPP_(my_warner)(U32 err, const char *pat, ...)
6436 {
6437 SV *sv;
6438 va_list args;
6439
6440 PERL_UNUSED_ARG(err);
6441
6442 va_start(args, pat);
6443 sv = vnewSVpvf(pat, &args);
6444 va_end(args);
6445 sv_2mortal(sv);
6446 warn("%s", SvPV_nolen(sv));
6447 }
6448
6449 #define warner Perl_warner
6450
6451 #define Perl_warner_nocontext Perl_warner
6452
6453 #endif
64548590 #endif
64558591
64568592 /* concatenating with "" ensures that only literal strings are accepted as argument
65188654 # define sv_pvn_nomg sv_pvn
65198655 #endif
65208656
8657 #ifdef SVf_IVisUV
8658 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
65218659 #ifndef SvIV_nomg
6522 # define SvIV_nomg SvIV
8660 # define SvIV_nomg(sv) (!SvGMAGICAL((sv)) ? SvIV((sv)) : ({ SV *_sviv = sv_mortalcopy_flags((sv), SV_NOSTEAL); IV _iv = SvIV(_sviv); SvFLAGS((sv)) = (SvFLAGS((sv)) & ~SVf_IVisUV) | (SvFLAGS(_sviv) & SVf_IVisUV); _iv; }))
65238661 #endif
65248662
65258663 #ifndef SvUV_nomg
6526 # define SvUV_nomg SvUV
8664 # define SvUV_nomg(sv) (!SvGMAGICAL((sv)) ? SvUV((sv)) : ({ SV *_svuv = sv_mortalcopy_flags((sv), SV_NOSTEAL); UV _uv = SvUV(_svuv); SvFLAGS((sv)) = (SvFLAGS((sv)) & ~SVf_IVisUV) | (SvFLAGS(_svuv) & SVf_IVisUV); _uv; }))
8665 #endif
8666
8667 #else
8668 #ifndef SvIV_nomg
8669 # define SvIV_nomg(sv) (!SvGMAGICAL((sv)) ? SvIV((sv)) : ((PL_Sv = sv_mortalcopy_flags((sv), SV_NOSTEAL)), sv_upgrade(PL_Sv, SVt_PVIV), (SvIVX(PL_Sv) = SvIV(PL_Sv)), (SvFLAGS((sv)) = (SvFLAGS((sv)) & ~SVf_IVisUV) | (SvFLAGS(PL_Sv) & SVf_IVisUV)), SvIVX(PL_Sv)))
8670 #endif
8671
8672 #ifndef SvUV_nomg
8673 # define SvUV_nomg(sv) (!SvGMAGICAL((sv)) ? SvIV((sv)) : ((PL_Sv = sv_mortalcopy_flags((sv), SV_NOSTEAL)), sv_upgrade(PL_Sv, SVt_PVIV), (SvUVX(PL_Sv) = SvUV(PL_Sv)), (SvFLAGS((sv)) = (SvFLAGS((sv)) & ~SVf_IVisUV) | (SvFLAGS(PL_Sv) & SVf_IVisUV)), SvUVX(PL_Sv)))
8674 #endif
8675
8676 #endif
8677 #else
8678 #ifndef SvIV_nomg
8679 # define SvIV_nomg(sv) (!SvGMAGICAL((sv)) ? SvIV((sv)) : SvIVx(sv_mortalcopy_flags((sv), SV_NOSTEAL)))
8680 #endif
8681
8682 #ifndef SvUV_nomg
8683 # define SvUV_nomg(sv) (!SvGMAGICAL((sv)) ? SvUV((sv)) : SvUVx(sv_mortalcopy_flags((sv), SV_NOSTEAL)))
8684 #endif
8685
8686 #endif
8687 #ifndef SvNV_nomg
8688 # define SvNV_nomg(sv) (!SvGMAGICAL((sv)) ? SvNV((sv)) : SvNVx(sv_mortalcopy_flags((sv), SV_NOSTEAL)))
8689 #endif
8690
8691 #ifndef SvTRUE_nomg
8692 # define SvTRUE_nomg(sv) (!SvGMAGICAL((sv)) ? SvTRUE((sv)) : SvTRUEx(sv_mortalcopy_flags((sv), SV_NOSTEAL)))
65278693 #endif
65288694
65298695 #ifndef sv_catpv_mg
66628828
66638829 #if !defined(mg_findext)
66648830 #if defined(NEED_mg_findext)
6665 static MAGIC * DPPP_(my_mg_findext)(SV * sv, int type, const MGVTBL *vtbl);
8831 static MAGIC * DPPP_(my_mg_findext)(const SV * sv, int type, const MGVTBL * vtbl);
66668832 static
66678833 #else
6668 extern MAGIC * DPPP_(my_mg_findext)(SV * sv, int type, const MGVTBL *vtbl);
8834 extern MAGIC * DPPP_(my_mg_findext)(const SV * sv, int type, const MGVTBL * vtbl);
66698835 #endif
66708836
66718837 #if defined(NEED_mg_findext) || defined(NEED_mg_findext_GLOBAL)
66758841
66768842
66778843 MAGIC *
6678 DPPP_(my_mg_findext)(SV * sv, int type, const MGVTBL *vtbl) {
8844 DPPP_(my_mg_findext)(const SV * sv, int type, const MGVTBL *vtbl) {
66798845 if (sv) {
66808846 MAGIC *mg;
66818847
68719037 # endif
68729038
68739039 # if defined(NEED_caller_cx)
6874 static const PERL_CONTEXT * DPPP_(my_caller_cx)(pTHX_ I32 count, const PERL_CONTEXT **dbcxp);
9040 static const PERL_CONTEXT * DPPP_(my_caller_cx)(pTHX_ I32 level, const PERL_CONTEXT * * dbcxp);
68759041 static
68769042 #else
6877 extern const PERL_CONTEXT * DPPP_(my_caller_cx)(pTHX_ I32 count, const PERL_CONTEXT **dbcxp);
9043 extern const PERL_CONTEXT * DPPP_(my_caller_cx)(pTHX_ I32 level, const PERL_CONTEXT * * dbcxp);
68789044 #endif
68799045
68809046 #if defined(NEED_caller_cx) || defined(NEED_caller_cx_GLOBAL)
68879053
68889054
68899055 const PERL_CONTEXT *
6890 DPPP_(my_caller_cx)(pTHX_ I32 count, const PERL_CONTEXT **dbcxp)
9056 DPPP_(my_caller_cx)(pTHX_ I32 level, const PERL_CONTEXT **dbcxp)
68919057 {
68929058 register I32 cxix = DPPP_dopoptosub_at(cxstack, cxstack_ix);
68939059 register const PERL_CONTEXT *cx;
69069072 /* caller() should not report the automatic calls to &DB::sub */
69079073 if (PL_DBsub && GvCV(PL_DBsub) && cxix >= 0 &&
69089074 ccstack[cxix].blk_sub.cv == GvCV(PL_DBsub))
6909 count++;
6910 if (!count--)
9075 level++;
9076 if (!level--)
69119077 break;
69129078 cxix = DPPP_dopoptosub_at(ccstack, cxix - 1);
69139079 }
69899155
69909156 #ifndef grok_numeric_radix
69919157 #if defined(NEED_grok_numeric_radix)
6992 static bool DPPP_(my_grok_numeric_radix)(pTHX_ const char ** sp, const char * send);
9158 static bool DPPP_(my_grok_numeric_radix)(pTHX_ const char * * sp, const char * send);
69939159 static
69949160 #else
6995 extern bool DPPP_(my_grok_numeric_radix)(pTHX_ const char ** sp, const char * send);
9161 extern bool DPPP_(my_grok_numeric_radix)(pTHX_ const char * * sp, const char * send);
69969162 #endif
69979163
69989164 #if defined(NEED_grok_numeric_radix) || defined(NEED_grok_numeric_radix_GLOBAL)
76059771 #if defined(NEED_my_sprintf) || defined(NEED_my_sprintf_GLOBAL)
76069772
76079773 #define my_sprintf DPPP_(my_my_sprintf)
7608 #define Perl_my_sprintf DPPP_(my_my_sprintf)
7609
9774
9775
9776 /* Warning: my_sprintf
9777 It's safer to use my_snprintf instead
9778 */
9779
9780 /* Replace my_sprintf with my_snprintf */
76109781
76119782 int
76129783 DPPP_(my_my_sprintf)(char *buffer, const char* pat, ...)
76989869
76999870 #endif
77009871 #endif
9872
9873 #ifdef SVf_UTF8
9874 #ifndef SvUTF8
9875 # define SvUTF8(sv) (SvFLAGS(sv) & SVf_UTF8)
9876 #endif
9877
9878 #endif
9879
9880 #if (PERL_BCDVERSION == 0x5019001) /* 5.19.1 does not have UTF8fARG, only broken UTF8f */
9881 #undef UTF8f
9882 #endif
9883
9884 #ifdef SVf_UTF8
9885 #ifndef UTF8f
9886 # define UTF8f SVf
9887 #endif
9888
9889 #ifndef UTF8fARG
9890 # define UTF8fARG(u,l,p) newSVpvn_flags((p), (l), ((u) ? SVf_UTF8 : 0) | SVs_TEMP)
9891 #endif
9892
9893 #endif
9894
9895 #define D_PPP_MIN(a,b) (((a) <= (b)) ? (a) : (b))
9896 #ifndef UNICODE_REPLACEMENT
9897 # define UNICODE_REPLACEMENT 0xFFFD
9898 #endif
9899
9900 #ifdef UTF8_MAXLEN
9901 #ifndef UTF8_MAXBYTES
9902 # define UTF8_MAXBYTES UTF8_MAXLEN
9903 #endif
9904
9905 #endif
9906 #ifndef UTF_START_MARK
9907 # define UTF_START_MARK(len) \
9908 (((len) > 7) ? 0xFF : (0xFF & (0xFE << (7-(len)))))
9909 #endif
9910
9911 #if (PERL_BCDVERSION < 0x5018000) /* On non-EBCDIC was valid before this, */
9912 /* but easier to just do one check */
9913 # undef UTF8_MAXBYTES_CASE
9914 #endif
9915
9916 #if 'A' == 65
9917 # define D_PPP_BYTE_INFO_BITS 6 /* 6 bits meaningful in continuation bytes */
9918 #ifndef UTF8_MAXBYTES_CASE
9919 # define UTF8_MAXBYTES_CASE 13
9920 #endif
9921
9922 #else
9923 # define D_PPP_BYTE_INFO_BITS 5 /* 5 bits meaningful in continuation bytes */
9924 #ifndef UTF8_MAXBYTES_CASE
9925 # define UTF8_MAXBYTES_CASE 15
9926 #endif
9927
9928 #endif
9929 #ifndef UTF_ACCUMULATION_SHIFT
9930 # define UTF_ACCUMULATION_SHIFT D_PPP_BYTE_INFO_BITS
9931 #endif
9932
9933 #ifdef NATIVE_TO_UTF
9934 #ifndef NATIVE_UTF8_TO_I8
9935 # define NATIVE_UTF8_TO_I8(c) NATIVE_TO_UTF(c)
9936 #endif
9937
9938 #else /* System doesn't support EBCDIC */
9939 #ifndef NATIVE_UTF8_TO_I8
9940 # define NATIVE_UTF8_TO_I8(c) (c)
9941 #endif
9942
9943 #endif
9944
9945 #ifdef UTF_TO_NATIVE
9946 #ifndef I8_TO_NATIVE_UTF8
9947 # define I8_TO_NATIVE_UTF8(c) UTF_TO_NATIVE(c)
9948 #endif
9949
9950 #else /* System doesn't support EBCDIC */
9951 #ifndef I8_TO_NATIVE_UTF8
9952 # define I8_TO_NATIVE_UTF8(c) (c)
9953 #endif
9954
9955 #endif
9956 #ifndef UTF_START_MASK
9957 # define UTF_START_MASK(len) \
9958 (((len) >= 7) ? 0x00 : (0x1F >> ((len)-2)))
9959 #endif
9960
9961 #ifndef UTF_IS_CONTINUATION_MASK
9962 # define UTF_IS_CONTINUATION_MASK \
9963 ((U8) (0xFF << UTF_ACCUMULATION_SHIFT))
9964 #endif
9965
9966 #ifndef UTF_CONTINUATION_MARK
9967 # define UTF_CONTINUATION_MARK \
9968 (UTF_IS_CONTINUATION_MASK & 0xB0)
9969 #endif
9970
9971 #ifndef UTF_MIN_START_BYTE
9972 # define UTF_MIN_START_BYTE \
9973 ((UTF_CONTINUATION_MARK >> UTF_ACCUMULATION_SHIFT) | UTF_START_MARK(2))
9974 #endif
9975 #ifndef UTF_MIN_ABOVE_LATIN1_BYTE
9976 # define UTF_MIN_ABOVE_LATIN1_BYTE \
9977 ((0x100 >> UTF_ACCUMULATION_SHIFT) | UTF_START_MARK(2))
9978 #endif
9979
9980 #if (PERL_BCDVERSION < 0x5007000) /* Was the complement of what should have been */
9981 # undef UTF8_IS_DOWNGRADEABLE_START
9982 #endif
9983 #ifndef UTF8_IS_DOWNGRADEABLE_START
9984 # define UTF8_IS_DOWNGRADEABLE_START(c) \
9985 inRANGE(NATIVE_UTF8_TO_I8(c), \
9986 UTF_MIN_START_BYTE, UTF_MIN_ABOVE_LATIN1_BYTE - 1)
9987 #endif
9988
9989 #ifndef UTF_CONTINUATION_MASK
9990 # define UTF_CONTINUATION_MASK \
9991 ((U8) ((1U << UTF_ACCUMULATION_SHIFT) - 1))
9992 #endif
9993 #ifndef UTF8_ACCUMULATE
9994 # define UTF8_ACCUMULATE(base, added) \
9995 (((base) << UTF_ACCUMULATION_SHIFT) \
9996 | ((NATIVE_UTF8_TO_I8(added)) \
9997 & UTF_CONTINUATION_MASK))
9998 #endif
9999 #ifndef UTF8_ALLOW_ANYUV
10000 # define UTF8_ALLOW_ANYUV 0
10001 #endif
10002
10003 #ifndef UTF8_ALLOW_EMPTY
10004 # define UTF8_ALLOW_EMPTY 0x0001
10005 #endif
10006
10007 #ifndef UTF8_ALLOW_CONTINUATION
10008 # define UTF8_ALLOW_CONTINUATION 0x0002
10009 #endif
10010
10011 #ifndef UTF8_ALLOW_NON_CONTINUATION
10012 # define UTF8_ALLOW_NON_CONTINUATION 0x0004
10013 #endif
10014
10015 #ifndef UTF8_ALLOW_SHORT
10016 # define UTF8_ALLOW_SHORT 0x0008
10017 #endif
10018
10019 #ifndef UTF8_ALLOW_LONG
10020 # define UTF8_ALLOW_LONG 0x0010
10021 #endif
10022
10023 #ifndef UTF8_ALLOW_OVERFLOW
10024 # define UTF8_ALLOW_OVERFLOW 0x0080
10025 #endif
10026
10027 #ifndef UTF8_ALLOW_ANY
10028 # define UTF8_ALLOW_ANY ( UTF8_ALLOW_CONTINUATION \
10029 |UTF8_ALLOW_NON_CONTINUATION \
10030 |UTF8_ALLOW_SHORT \
10031 |UTF8_ALLOW_LONG \
10032 |UTF8_ALLOW_OVERFLOW)
10033 #endif
10034
10035 #if defined UTF8SKIP
10036
10037 /* Don't use official versions because they use MIN, which may not be available */
10038 #undef UTF8_SAFE_SKIP
10039 #undef UTF8_CHK_SKIP
10040 #ifndef UTF8_SAFE_SKIP
10041 # define UTF8_SAFE_SKIP(s, e) ( \
10042 ((((e) - (s)) <= 0) \
10043 ? 0 \
10044 : D_PPP_MIN(((e) - (s)), UTF8SKIP(s))))
10045 #endif
10046 #ifndef UTF8_CHK_SKIP
10047 # define UTF8_CHK_SKIP(s) \
10048 (s[0] == '\0' ? 1 : ((U8) D_PPP_MIN(my_strnlen((char *) (s), UTF8SKIP(s)), \
10049 UTF8SKIP(s))))
10050 #endif
10051
10052 /* UTF8_CHK_SKIP depends on my_strnlen */
10053 #ifndef UTF8_SKIP
10054 # define UTF8_SKIP(s) UTF8SKIP(s)
10055 #endif
10056
10057 #endif
10058
10059 #if 'A' == 65
10060 #ifndef UTF8_IS_INVARIANT
10061 # define UTF8_IS_INVARIANT(c) isASCII(c)
10062 #endif
10063
10064 #else
10065 #ifndef UTF8_IS_INVARIANT
10066 # define UTF8_IS_INVARIANT(c) (isASCII(c) || isCNTRL_L1(c))
10067 #endif
10068
10069 #endif
10070 #ifndef UVCHR_IS_INVARIANT
10071 # define UVCHR_IS_INVARIANT(c) UTF8_IS_INVARIANT(c)
10072 #endif
10073
10074 #ifdef UVCHR_IS_INVARIANT
10075 # if 'A' == 65
10076 # ifdef QUADKIND
10077 # define D_PPP_UVCHR_SKIP_UPPER(c) \
10078 (WIDEST_UTYPE) (c) < \
10079 (((WIDEST_UTYPE) 1) << (6 * D_PPP_BYTE_INFO_BITS)) ? 7 : 13
10080 # else
10081 # define D_PPP_UVCHR_SKIP_UPPER(c) 7 /* 32 bit platform */
10082 # endif
10083 # else
10084 /* In the releases this is backported to, UTF-EBCDIC had a max of 2**31-1 */
10085 # define D_PPP_UVCHR_SKIP_UPPER(c) 7
10086 # endif
10087 #ifndef UVCHR_SKIP
10088 # define UVCHR_SKIP(c) \
10089 UVCHR_IS_INVARIANT(c) ? 1 : \
10090 (WIDEST_UTYPE) (c) < (32 * (1U << ( D_PPP_BYTE_INFO_BITS))) ? 2 : \
10091 (WIDEST_UTYPE) (c) < (16 * (1U << (2 * D_PPP_BYTE_INFO_BITS))) ? 3 : \
10092 (WIDEST_UTYPE) (c) < ( 8 * (1U << (3 * D_PPP_BYTE_INFO_BITS))) ? 4 : \
10093 (WIDEST_UTYPE) (c) < ( 4 * (1U << (4 * D_PPP_BYTE_INFO_BITS))) ? 5 : \
10094 (WIDEST_UTYPE) (c) < ( 2 * (1U << (5 * D_PPP_BYTE_INFO_BITS))) ? 6 : \
10095 D_PPP_UVCHR_SKIP_UPPER(c)
10096 #endif
10097
10098 #endif
10099
10100 #ifdef is_ascii_string
10101 #ifndef is_invariant_string
10102 # define is_invariant_string(s,l) is_ascii_string(s,l)
10103 #endif
10104
10105 #ifndef is_utf8_invariant_string
10106 # define is_utf8_invariant_string(s,l) is_ascii_string(s,l)
10107 #endif
10108
10109 /* Hint: is_ascii_string, is_invariant_string
10110 is_utf8_invariant_string() does the same thing and is preferred because its
10111 name is more accurate as to what it does */
10112 #endif
10113
10114 #ifdef ibcmp_utf8
10115 #ifndef foldEQ_utf8
10116 # define foldEQ_utf8(s1,pe1,l1,u1,s2,pe2,l2,u2) \
10117 cBOOL(! ibcmp_utf8(s1,pe1,l1,u1,s2,pe2,l2,u2))
10118 #endif
10119
10120 #endif
10121
10122 #if defined(is_utf8_string) && defined(UTF8SKIP)
10123 #ifndef isUTF8_CHAR
10124 # define isUTF8_CHAR(s, e) ( \
10125 (e) <= (s) || ! is_utf8_string(s, UTF8_SAFE_SKIP(s, e)) \
10126 ? 0 \
10127 : UTF8SKIP(s))
10128 #endif
10129
10130 #endif
10131
10132 #if 'A' == 65
10133 #ifndef BOM_UTF8
10134 # define BOM_UTF8 "\xEF\xBB\xBF"
10135 #endif
10136
10137 #ifndef REPLACEMENT_CHARACTER_UTF8
10138 # define REPLACEMENT_CHARACTER_UTF8 "\xEF\xBF\xBD"
10139 #endif
10140
10141 #elif '^' == 95
10142 #ifndef BOM_UTF8
10143 # define BOM_UTF8 "\xDD\x73\x66\x73"
10144 #endif
10145
10146 #ifndef REPLACEMENT_CHARACTER_UTF8
10147 # define REPLACEMENT_CHARACTER_UTF8 "\xDD\x73\x73\x71"
10148 #endif
10149
10150 #elif '^' == 176
10151 #ifndef BOM_UTF8
10152 # define BOM_UTF8 "\xDD\x72\x65\x72"
10153 #endif
10154
10155 #ifndef REPLACEMENT_CHARACTER_UTF8
10156 # define REPLACEMENT_CHARACTER_UTF8 "\xDD\x72\x72\x70"
10157 #endif
10158
10159 #else
10160 # error Unknown character set
10161 #endif
10162
10163 #if (PERL_BCDVERSION < 0x5031004)
10164 /* Versions prior to this accepted things that are now considered
10165 * malformations, and didn't return -1 on error with warnings enabled
10166 * */
10167 # undef utf8_to_uvchr_buf
10168 #endif
10169
10170 /* This implementation brings modern, generally more restricted standards to
10171 * utf8_to_uvchr_buf. Some of these are security related, and clearly must
10172 * be done. But its arguable that the others need not, and hence should not.
10173 * The reason they're here is that a module that intends to play with the
10174 * latest perls should be able to work the same in all releases. An example is
10175 * that perl no longer accepts any UV for a code point, but limits them to
10176 * IV_MAX or below. This is for future internal use of the larger code points.
10177 * If it turns out that some of these changes are breaking code that isn't
10178 * intended to work with modern perls, the tighter restrictions could be
10179 * relaxed. khw thinks this is unlikely, but has been wrong in the past. */
10180
10181 /* 5.6.0 is the first release with UTF-8, and we don't implement this function
10182 * there due to its likely lack of still being in use, and the underlying
10183 * implementation is very different from later ones, without the later
10184 * safeguards, so would require extra work to deal with */
10185 #if (PERL_BCDVERSION >= 0x5006001) && ! defined(utf8_to_uvchr_buf)
10186 /* Choose which underlying implementation to use. At least one must be
10187 * present or the perl is too early to handle this function */
10188 # if defined(utf8n_to_uvchr) || defined(utf8_to_uvchr) || defined(utf8_to_uv)
10189 # if defined(utf8n_to_uvchr) /* This is the preferred implementation */
10190 # define D_PPP_utf8_to_uvchr_buf_callee utf8n_to_uvchr
10191 # elif /* Must be at least 5.6.1 from #if above; \
10192 If have both regular and _simple, regular has all args */ \
10193 defined(utf8_to_uv) && defined(utf8_to_uv_simple)
10194 # define D_PPP_utf8_to_uvchr_buf_callee utf8_to_uv
10195 # elif defined(utf8_to_uvchr) /* The below won't work well on error input */
10196 # define D_PPP_utf8_to_uvchr_buf_callee(s, curlen, retlen, flags) \
10197 utf8_to_uvchr((U8 *)(s), (retlen))
10198 # else
10199 # define D_PPP_utf8_to_uvchr_buf_callee(s, curlen, retlen, flags) \
10200 utf8_to_uv((U8 *)(s), (retlen))
10201 # endif
10202 # endif
10203
10204 # if defined(NEED_utf8_to_uvchr_buf)
10205 static UV DPPP_(my_utf8_to_uvchr_buf)(pTHX_ const U8 * s, const U8 * send, STRLEN * retlen);
10206 static
10207 #else
10208 extern UV DPPP_(my_utf8_to_uvchr_buf)(pTHX_ const U8 * s, const U8 * send, STRLEN * retlen);
10209 #endif
10210
10211 #if defined(NEED_utf8_to_uvchr_buf) || defined(NEED_utf8_to_uvchr_buf_GLOBAL)
10212
10213 #ifdef utf8_to_uvchr_buf
10214 # undef utf8_to_uvchr_buf
10215 #endif
10216 #define utf8_to_uvchr_buf(a,b,c) DPPP_(my_utf8_to_uvchr_buf)(aTHX_ a,b,c)
10217 #define Perl_utf8_to_uvchr_buf DPPP_(my_utf8_to_uvchr_buf)
10218
10219
10220 UV
10221 DPPP_(my_utf8_to_uvchr_buf)(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen)
10222 {
10223 UV ret;
10224 STRLEN curlen;
10225 bool overflows = 0;
10226 const U8 *cur_s = s;
10227 const bool do_warnings = ckWARN_d(WARN_UTF8);
10228 # if (PERL_BCDVERSION < 0x5026000) && ! defined(EBCDIC)
10229 STRLEN overflow_length = 0;
10230 # endif
10231
10232 if (send > s) {
10233 curlen = send - s;
10234 }
10235 else {
10236 assert(0); /* Modern perls die under this circumstance */
10237 curlen = 0;
10238 if (! do_warnings) { /* Handle empty here if no warnings needed */
10239 if (retlen) *retlen = 0;
10240 return UNICODE_REPLACEMENT;
10241 }
10242 }
10243
10244 # if (PERL_BCDVERSION < 0x5026000) && ! defined(EBCDIC)
10245
10246 /* Perl did not properly detect overflow for much of its history on
10247 * non-EBCDIC platforms, often returning an overlong value which may or may
10248 * not have been tolerated in the call. Also, earlier versions, when they
10249 * did detect overflow, may have disallowed it completely. Modern ones can
10250 * replace it with the REPLACEMENT CHARACTER, depending on calling
10251 * parameters. Therefore detect it ourselves in releases it was
10252 * problematic in. */
10253
10254 if (curlen > 0 && UNLIKELY(*s >= 0xFE)) {
10255
10256 /* First, on a 32-bit machine the first byte being at least \xFE
10257 * automatically is overflow, as it indicates something requiring more
10258 * than 31 bits */
10259 if (sizeof(ret) < 8) {
10260 overflows = 1;
10261 overflow_length = (*s == 0xFE) ? 7 : 13;
10262 }
10263 else {
10264 const U8 highest[] = /* 2*63-1 */
10265 "\xFF\x80\x87\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF";
10266 const U8 *cur_h = highest;
10267
10268 for (cur_s = s; cur_s < send; cur_s++, cur_h++) {
10269 if (UNLIKELY(*cur_s == *cur_h)) {
10270 continue;
10271 }
10272
10273 /* If this byte is larger than the corresponding highest UTF-8
10274 * byte, the sequence overflows; otherwise the byte is less
10275 * than (as we handled the equality case above), and so the
10276 * sequence doesn't overflow */
10277 overflows = *cur_s > *cur_h;
10278 break;
10279
10280 }
10281
10282 /* Here, either we set the bool and broke out of the loop, or got
10283 * to the end and all bytes are the same which indicates it doesn't
10284 * overflow. If it did overflow, it would be this number of bytes
10285 * */
10286 overflow_length = 13;
10287 }
10288 }
10289
10290 if (UNLIKELY(overflows)) {
10291 ret = 0;
10292
10293 if (! do_warnings && retlen) {
10294 *retlen = overflow_length;
10295 }
10296 }
10297 else
10298
10299 # endif /* < 5.26 */
10300
10301 /* Here, we are either in a release that properly detects overflow, or
10302 * we have checked for overflow and the next statement is executing as
10303 * part of the above conditional where we know we don't have overflow.
10304 *
10305 * The modern versions allow anything that evaluates to a legal UV, but
10306 * not overlongs nor an empty input */
10307 ret = D_PPP_utf8_to_uvchr_buf_callee(
10308 (U8 *) /* Early perls: no const */
10309 s, curlen, retlen, (UTF8_ALLOW_ANYUV
10310 & ~(UTF8_ALLOW_LONG|UTF8_ALLOW_EMPTY)));
10311
10312 # if (PERL_BCDVERSION >= 0x5026000) && (PERL_BCDVERSION < 0x5028000)
10313
10314 /* But actually, more modern versions restrict the UV to being no more than
10315 * what an IV can hold, so it could still have gotten it wrong about
10316 * overflowing. */
10317 if (UNLIKELY(ret > IV_MAX)) {
10318 overflows = 1;
10319 }
10320
10321 # endif
10322
10323 if (UNLIKELY(overflows)) {
10324 if (! do_warnings) {
10325 if (retlen) {
10326 *retlen = D_PPP_MIN(*retlen, UTF8SKIP(s));
10327 *retlen = D_PPP_MIN(*retlen, curlen);
10328 }
10329 return UNICODE_REPLACEMENT;
10330 }
10331 else {
10332
10333 /* We use the error message in use from 5.8-5.26 */
10334 Perl_warner(aTHX_ packWARN(WARN_UTF8),
10335 "Malformed UTF-8 character (overflow at 0x%" UVxf
10336 ", byte 0x%02x, after start byte 0x%02x)",
10337 ret, *cur_s, *s);
10338 if (retlen) {
10339 *retlen = (STRLEN) -1;
10340 }
10341 return 0;
10342 }
10343 }
10344
10345 /* Here, did not overflow, but if it failed for some other reason, and
10346 * warnings are off, to emulate the behavior of the real utf8_to_uvchr(),
10347 * try again, allowing anything. (Note a return of 0 is ok if the input
10348 * was '\0') */
10349 if (UNLIKELY(ret == 0 && (curlen == 0 || *s != '\0'))) {
10350
10351 /* If curlen is 0, we already handled the case where warnings are
10352 * disabled, so this 'if' will be true, and so later on, we know that
10353 * 's' is dereferencible */
10354 if (do_warnings) {
10355 *retlen = (STRLEN) -1;
10356 }
10357 else {
10358 ret = D_PPP_utf8_to_uvchr_buf_callee(
10359 (U8 *) /* Early perls: no const */
10360 s, curlen, retlen, UTF8_ALLOW_ANY);
10361 /* Override with the REPLACEMENT character, as that is what the
10362 * modern version of this function returns */
10363 ret = UNICODE_REPLACEMENT;
10364
10365 # if (PERL_BCDVERSION < 0x5016000)
10366
10367 /* Versions earlier than this don't necessarily return the proper
10368 * length. It should not extend past the end of string, nor past
10369 * what the first byte indicates the length is, nor past the
10370 * continuation characters */
10371 if (retlen && (IV) *retlen >= 0) {
10372 unsigned int i = 1;
10373
10374 *retlen = D_PPP_MIN(*retlen, curlen);
10375 *retlen = D_PPP_MIN(*retlen, UTF8SKIP(s));
10376 do {
10377 # ifdef UTF8_IS_CONTINUATION
10378 if (! UTF8_IS_CONTINUATION(s[i]))
10379 # else /* Versions without the above don't support EBCDIC anyway */
10380 if (s[i] < 0x80 || s[i] > 0xBF)
10381 # endif
10382 {
10383 *retlen = i;
10384 break;
10385 }
10386 } while (++i < *retlen);
10387 }
10388
10389 # endif
10390
10391 }
10392 }
10393
10394 return ret;
10395 }
10396
10397 # endif
10398 #endif
10399
10400 #if defined(UTF8SKIP) && defined(utf8_to_uvchr_buf)
10401 #undef utf8_to_uvchr /* Always redefine this unsafe function so that it refuses
10402 to read past a NUL, making it much less likely to read
10403 off the end of the buffer. A NUL indicates the start
10404 of the next character anyway. If the input isn't
10405 NUL-terminated, the function remains unsafe, as it
10406 always has been. */
10407 #ifndef utf8_to_uvchr
10408 # define utf8_to_uvchr(s, lp) \
10409 ((*(s) == '\0') \
10410 ? utf8_to_uvchr_buf(s,((s)+1), lp) /* Handle single NUL specially */ \
10411 : utf8_to_uvchr_buf(s, (s) + UTF8_CHK_SKIP(s), (lp)))
10412 #endif
10413
10414 #endif
10415
10416 /* Hint: utf8_to_uvchr
10417 Use utf8_to_uvchr_buf() instead. But ONLY if you KNOW the upper bound
10418 of the input string (not resorting to using UTF8SKIP, etc., to infer it).
10419 The backported utf8_to_uvchr() will do a better job to prevent most cases
10420 of trying to read beyond the end of the buffer */
10421
10422 /* Replace utf8_to_uvchr with utf8_to_uvchr_buf */
10423
10424 #ifdef sv_len_utf8
10425 /* Older Perl versions have broken sv_len_utf8() when passed sv does not have SVf_UTF8 flag set */
10426 /* Also note that SvGETMAGIC() may change presence of SVf_UTF8 flag */
10427 # if (PERL_BCDVERSION < 0x5017005)
10428 # undef sv_len_utf8
10429 # if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
10430 # define sv_len_utf8_nomg(sv) ({ SV *_sv2 = (sv); (SvUTF8(_sv2) ? Perl_sv_len_utf8(aTHX_ (!SvGMAGICAL(_sv2) ? _sv2 : sv_mortalcopy_flags(_sv2, SV_NOSTEAL))) : ({ STRLEN _len; SvPV_nomg(_sv2, _len); _len; })); })
10431 # define sv_len_utf8(sv) ({ SV *_sv1 = (sv); SvGETMAGIC(_sv1); sv_len_utf8_nomg(_sv1); })
10432 # else
10433 # define sv_len_utf8_nomg(sv) (PL_Sv = (sv), (SvUTF8(PL_Sv) ? Perl_sv_len_utf8(aTHX_ (!SvGMAGICAL(PL_Sv) ? PL_Sv : sv_mortalcopy_flags(PL_Sv, SV_NOSTEAL))) : (SvPV_nomg(PL_Sv, PL_na), PL_na)))
10434 # define sv_len_utf8(sv) (PL_Sv = (sv), SvGETMAGIC(PL_Sv), sv_len_utf8_nomg(PL_Sv))
10435 # endif
10436 # endif
10437 # if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
10438 #ifndef sv_len_utf8_nomg
10439 # define sv_len_utf8_nomg(sv) ({ SV *_sv = (sv); sv_len_utf8(!SvGMAGICAL(_sv) ? _sv : sv_mortalcopy_flags(_sv, SV_NOSTEAL)); })
10440 #endif
10441
10442 # else
10443 #ifndef sv_len_utf8_nomg
10444 # define sv_len_utf8_nomg(sv) ((PL_Sv = (sv)), sv_len_utf8(!SvGMAGICAL(PL_Sv) ? PL_Sv : sv_mortalcopy_flags(PL_Sv, SV_NOSTEAL)))
10445 #endif
10446
10447 # endif
10448 #endif
770110449 #ifndef PERL_PV_ESCAPE_QUOTE
770210450 # define PERL_PV_ESCAPE_QUOTE 0x0001
770310451 #endif
778710535 STRLEN wrote = 0;
778810536 STRLEN chsize = 0;
778910537 STRLEN readsize = 1;
7790 #if defined(is_utf8_string) && defined(utf8_to_uvchr)
10538 #if defined(is_utf8_string) && defined(utf8_to_uvchr_buf)
779110539 bool isuni = flags & PERL_PV_ESCAPE_UNI ? 1 : 0;
779210540 #endif
779310541 const char *pv = str;
779710545 if (!(flags & PERL_PV_ESCAPE_NOCLEAR))
779810546 sv_setpvs(dsv, "");
779910547
7800 #if defined(is_utf8_string) && defined(utf8_to_uvchr)
10548 #if defined(is_utf8_string) && defined(utf8_to_uvchr_buf)
780110549 if ((flags & PERL_PV_ESCAPE_UNI_DETECT) && is_utf8_string((U8*)pv, count))
780210550 isuni = 1;
780310551 #endif
780410552
780510553 for (; pv < end && (!max || wrote < max) ; pv += readsize) {
780610554 const UV u =
7807 #if defined(is_utf8_string) && defined(utf8_to_uvchr)
7808 isuni ? utf8_to_uvchr((U8*)pv, &readsize) :
10555 #if defined(is_utf8_string) && defined(utf8_to_uvchr_buf)
10556 isuni ? utf8_to_uvchr_buf((U8*)pv, end, &readsize) :
780910557 #endif
781010558 (U8)*pv;
781110559 const U8 c = (U8)u & 0xFF;
795310701 #endif
795410702 #endif
795510703
10704 /* If this doesn't exist, it's not needed, so noop */
10705 #ifndef switch_to_global_locale
10706 # define switch_to_global_locale()
10707 #endif
10708
10709 /* Originally, this didn't return a value, but in perls like that, the value
10710 * should always be TRUE. Add a return to Perl_sync_locale() when it's
10711 * available. And actually do a sync when its not, if locales are available on
10712 * this system. */
10713 #ifdef sync_locale
10714 # if (PERL_BCDVERSION < 0x5027009)
10715 # if (PERL_BCDVERSION >= 0x5021003)
10716 # undef sync_locale
10717 # define sync_locale() (Perl_sync_locale(aTHX), 1)
10718 # elif defined(sync_locale) /* These should be the 5.20 maints*/
10719 # undef sync_locale /* Just copy their defn and return 1 */
10720 # define sync_locale() (new_ctype(setlocale(LC_CTYPE, NULL)), \
10721 new_collate(setlocale(LC_COLLATE, NULL)), \
10722 set_numeric_local(), \
10723 new_numeric(setlocale(LC_NUMERIC, NULL)), \
10724 1)
10725 # elif defined(new_ctype) && defined(LC_CTYPE)
10726 # define sync_locale() (new_ctype(setlocale(LC_CTYPE, NULL)), 1)
10727 # endif
10728 # endif
10729 #endif
10730 #ifndef sync_locale
10731 # define sync_locale() 1
10732 #endif
10733
795610734 #endif /* _P_P_PORTABILITY_H_ */
795710735
795810736 /* End of File ppport.h */
22 use strict;
33 use warnings;
44
5 # This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.027
5 # This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.028
66
77 use Test::More tests => 1;
88
187187 );
188188 }
189189
190 pass;
190 pass('Reported prereqs');
191191
192192 # vim: ts=4 sts=4 sw=4 et: