003 File Manager
Current Path:
/usr/local/lib/perl5/5.32/mach/CORE
usr
/
local
/
lib
/
perl5
/
5.32
/
mach
/
CORE
/
📁
..
📄
EXTERN.h
(1.59 KB)
📄
INTERN.h
(1.28 KB)
📄
XSUB.h
(24 KB)
📄
av.h
(3.24 KB)
📄
bitcount.h
(850 B)
📄
charclass_invlists.h
(4.15 MB)
📄
config.h
(159.81 KB)
📄
cop.h
(41.01 KB)
📄
cv.h
(12.04 KB)
📄
dosish.h
(5.3 KB)
📄
ebcdic_tables.h
(48.6 KB)
📄
embed.h
(98.87 KB)
📄
embedvar.h
(21.32 KB)
📄
fakesdio.h
(3.13 KB)
📄
feature.h
(10.79 KB)
📄
form.h
(1.43 KB)
📄
git_version.h
(357 B)
📄
gv.h
(10.46 KB)
📄
handy.h
(126.72 KB)
📄
hv.h
(24.99 KB)
📄
hv_func.h
(11.26 KB)
📄
hv_macro.h
(3.04 KB)
📄
inline.h
(72.74 KB)
📄
intrpvar.h
(31.47 KB)
📄
invlist_inline.h
(7.25 KB)
📄
iperlsys.h
(48.23 KB)
📄
keywords.h
(6.45 KB)
📄
l1_char_class_tab.h
(119.64 KB)
📄
libperl.so
(3.56 MB)
📄
libperl.so.5.32
(3.56 MB)
📄
libperl.so.5.32.1
(3.56 MB)
📄
malloc_ctl.h
(1.49 KB)
📄
metaconfig.h
(692 B)
📄
mg.h
(2.94 KB)
📄
mg_data.h
(4.9 KB)
📄
mg_raw.h
(4.27 KB)
📄
mg_vtable.h
(9.34 KB)
📄
mydtrace.h
(1.65 KB)
📄
nostdio.h
(3.31 KB)
📄
op.h
(37.35 KB)
📄
op_reg_common.h
(5.77 KB)
📄
opcode.h
(91.73 KB)
📄
opnames.h
(8.72 KB)
📄
overload.h
(3.2 KB)
📄
pad.h
(16.83 KB)
📄
parser.h
(6.83 KB)
📄
patchlevel.h
(5.2 KB)
📄
perl.h
(276.92 KB)
📄
perl_inc_macro.h
(6.08 KB)
📄
perl_langinfo.h
(2.85 KB)
📄
perlapi.h
(7.5 KB)
📄
perldtrace.h
(3.43 KB)
📄
perlio.h
(9.33 KB)
📄
perliol.h
(13.44 KB)
📄
perlsdio.h
(527 B)
📄
perlvars.h
(12.63 KB)
📄
perly.h
(4.58 KB)
📄
pp.h
(28.3 KB)
📄
pp_proto.h
(11.78 KB)
📄
proto.h
(270.88 KB)
📄
reentr.h
(84.61 KB)
📄
regcharclass.h
(163.82 KB)
📄
regcomp.h
(51.81 KB)
📄
regexp.h
(35.75 KB)
📄
regnodes.h
(39.4 KB)
📄
sbox32_hash.h
(55.95 KB)
📄
scope.h
(11.61 KB)
📄
stadtx_hash.h
(9 KB)
📄
sv.h
(86.76 KB)
📄
thread.h
(11.81 KB)
📄
time64.h
(1.14 KB)
📄
time64_config.h
(2 KB)
📄
uconfig.h
(160.08 KB)
📄
uni_keywords.h
(541.71 KB)
📄
unicode_constants.h
(7.84 KB)
📄
unixish.h
(5.15 KB)
📄
utf8.h
(49.25 KB)
📄
utfebcdic.h
(64.1 KB)
📄
util.h
(10.33 KB)
📄
uudmap.h
(904 B)
📄
vutil.h
(7.81 KB)
📄
warnings.h
(11.2 KB)
📄
zaphod32_hash.h
(9.43 KB)
Editing: feature.h
/* -*- buffer-read-only: t -*- !!!!!!! DO NOT EDIT THIS FILE !!!!!!! This file is built by regen/feature.pl. Any changes made here will be lost! */ #ifndef PERL_FEATURE_H_ #define PERL_FEATURE_H_ #if defined(PERL_CORE) || defined (PERL_EXT) #define HINT_FEATURE_SHIFT 26 #define FEATURE_BITWISE_BIT 0x0001 #define FEATURE___SUB___BIT 0x0002 #define FEATURE_MYREF_BIT 0x0004 #define FEATURE_EVALBYTES_BIT 0x0008 #define FEATURE_FC_BIT 0x0010 #define FEATURE_INDIRECT_BIT 0x0020 #define FEATURE_ISA_BIT 0x0040 #define FEATURE_POSTDEREF_QQ_BIT 0x0080 #define FEATURE_REFALIASING_BIT 0x0100 #define FEATURE_SAY_BIT 0x0200 #define FEATURE_SIGNATURES_BIT 0x0400 #define FEATURE_STATE_BIT 0x0800 #define FEATURE_SWITCH_BIT 0x1000 #define FEATURE_UNIEVAL_BIT 0x2000 #define FEATURE_UNICODE_BIT 0x4000 #define FEATURE_BUNDLE_DEFAULT 0 #define FEATURE_BUNDLE_510 1 #define FEATURE_BUNDLE_511 2 #define FEATURE_BUNDLE_515 3 #define FEATURE_BUNDLE_523 4 #define FEATURE_BUNDLE_527 5 #define FEATURE_BUNDLE_CUSTOM (HINT_FEATURE_MASK >> HINT_FEATURE_SHIFT) #define CURRENT_HINTS \ (PL_curcop == &PL_compiling ? PL_hints : PL_curcop->cop_hints) #define CURRENT_FEATURE_BUNDLE \ ((CURRENT_HINTS & HINT_FEATURE_MASK) >> HINT_FEATURE_SHIFT) #define FEATURE_IS_ENABLED_MASK(mask) \ ((CURRENT_HINTS & HINT_LOCALIZE_HH) \ ? (PL_curcop->cop_features & (mask)) : FALSE) /* The longest string we pass in. */ #define MAX_FEATURE_LEN (sizeof("postderef_qq")-1) #define FEATURE_FC_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_FC_BIT)) \ ) #define FEATURE_ISA_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_ISA_BIT) \ ) #define FEATURE_SAY_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_SAY_BIT)) \ ) #define FEATURE_STATE_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_STATE_BIT)) \ ) #define FEATURE_SWITCH_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_SWITCH_BIT)) \ ) #define FEATURE_BITWISE_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_527 \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_BITWISE_BIT)) \ ) #define FEATURE_INDIRECT_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527 \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_INDIRECT_BIT)) \ ) #define FEATURE_EVALBYTES_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_EVALBYTES_BIT)) \ ) #define FEATURE_SIGNATURES_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_SIGNATURES_BIT) \ ) #define FEATURE___SUB___IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE___SUB___BIT)) \ ) #define FEATURE_REFALIASING_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_REFALIASING_BIT) \ ) #define FEATURE_POSTDEREF_QQ_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_523 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_POSTDEREF_QQ_BIT)) \ ) #define FEATURE_UNIEVAL_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_UNIEVAL_BIT)) \ ) #define FEATURE_MYREF_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_MYREF_BIT) \ ) #define FEATURE_UNICODE_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_511 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_UNICODE_BIT)) \ ) #define SAVEFEATUREBITS() SAVEI32(PL_compiling.cop_features) #define CLEARFEATUREBITS() (PL_compiling.cop_features = 0) #define STOREFEATUREBITSHH(hh) \ (hv_stores((hh), "feature/bits", newSVuv(PL_compiling.cop_features))) #define FETCHFEATUREBITSHH(hh) \ STMT_START { \ SV **fbsv = hv_fetchs((hh), "feature/bits", FALSE); \ PL_compiling.cop_features = fbsv ? SvUV(*fbsv) : 0; \ } STMT_END #endif /* PERL_CORE or PERL_EXT */ #ifdef PERL_IN_OP_C PERL_STATIC_INLINE void S_enable_feature_bundle(pTHX_ SV *ver) { SV *comp_ver = sv_newmortal(); PL_hints = (PL_hints &~ HINT_FEATURE_MASK) | ( (sv_setnv(comp_ver, 5.027), vcmp(ver, upg_version(comp_ver, FALSE)) >= 0) ? FEATURE_BUNDLE_527 : (sv_setnv(comp_ver, 5.023), vcmp(ver, upg_version(comp_ver, FALSE)) >= 0) ? FEATURE_BUNDLE_523 : (sv_setnv(comp_ver, 5.015), vcmp(ver, upg_version(comp_ver, FALSE)) >= 0) ? FEATURE_BUNDLE_515 : (sv_setnv(comp_ver, 5.011), vcmp(ver, upg_version(comp_ver, FALSE)) >= 0) ? FEATURE_BUNDLE_511 : (sv_setnv(comp_ver, 5.009005), vcmp(ver, upg_version(comp_ver, FALSE)) >= 0) ? FEATURE_BUNDLE_510 : FEATURE_BUNDLE_DEFAULT ) << HINT_FEATURE_SHIFT; /* special case */ assert(PL_curcop == &PL_compiling); if (FEATURE_UNICODE_IS_ENABLED) PL_hints |= HINT_UNI_8_BIT; else PL_hints &= ~HINT_UNI_8_BIT; } #endif /* PERL_IN_OP_C */ #ifdef PERL_IN_MG_C #define magic_sethint_feature(keysv, keypv, keylen, valsv, valbool) \ S_magic_sethint_feature(aTHX_ (keysv), (keypv), (keylen), (valsv), (valbool)) PERL_STATIC_INLINE void S_magic_sethint_feature(pTHX_ SV *keysv, const char *keypv, STRLEN keylen, SV *valsv, bool valbool) { if (keysv) keypv = SvPV_const(keysv, keylen); if (memBEGINs(keypv, keylen, "feature_")) { const char *subf = keypv + (sizeof("feature_")-1); U32 mask = 0; switch (*subf) { case '_': if (keylen == sizeof("feature___SUB__")-1 && memcmp(subf+1, "_SUB__", keylen - sizeof("feature_")) == 0) { mask = FEATURE___SUB___BIT; break; } return; case 'b': if (keylen == sizeof("feature_bitwise")-1 && memcmp(subf+1, "itwise", keylen - sizeof("feature_")) == 0) { mask = FEATURE_BITWISE_BIT; break; } return; case 'e': if (keylen == sizeof("feature_evalbytes")-1 && memcmp(subf+1, "valbytes", keylen - sizeof("feature_")) == 0) { mask = FEATURE_EVALBYTES_BIT; break; } return; case 'f': if (keylen == sizeof("feature_fc")-1 && memcmp(subf+1, "c", keylen - sizeof("feature_")) == 0) { mask = FEATURE_FC_BIT; break; } return; case 'i': if (keylen == sizeof("feature_indirect")-1 && memcmp(subf+1, "ndirect", keylen - sizeof("feature_")) == 0) { mask = FEATURE_INDIRECT_BIT; break; } else if (keylen == sizeof("feature_isa")-1 && memcmp(subf+1, "sa", keylen - sizeof("feature_")) == 0) { mask = FEATURE_ISA_BIT; break; } return; case 'm': if (keylen == sizeof("feature_myref")-1 && memcmp(subf+1, "yref", keylen - sizeof("feature_")) == 0) { mask = FEATURE_MYREF_BIT; break; } return; case 'p': if (keylen == sizeof("feature_postderef_qq")-1 && memcmp(subf+1, "ostderef_qq", keylen - sizeof("feature_")) == 0) { mask = FEATURE_POSTDEREF_QQ_BIT; break; } return; case 'r': if (keylen == sizeof("feature_refaliasing")-1 && memcmp(subf+1, "efaliasing", keylen - sizeof("feature_")) == 0) { mask = FEATURE_REFALIASING_BIT; break; } return; case 's': if (keylen == sizeof("feature_say")-1 && memcmp(subf+1, "ay", keylen - sizeof("feature_")) == 0) { mask = FEATURE_SAY_BIT; break; } else if (keylen == sizeof("feature_signatures")-1 && memcmp(subf+1, "ignatures", keylen - sizeof("feature_")) == 0) { mask = FEATURE_SIGNATURES_BIT; break; } else if (keylen == sizeof("feature_state")-1 && memcmp(subf+1, "tate", keylen - sizeof("feature_")) == 0) { mask = FEATURE_STATE_BIT; break; } else if (keylen == sizeof("feature_switch")-1 && memcmp(subf+1, "witch", keylen - sizeof("feature_")) == 0) { mask = FEATURE_SWITCH_BIT; break; } return; case 'u': if (keylen == sizeof("feature_unicode")-1 && memcmp(subf+1, "nicode", keylen - sizeof("feature_")) == 0) { mask = FEATURE_UNICODE_BIT; break; } else if (keylen == sizeof("feature_unieval")-1 && memcmp(subf+1, "nieval", keylen - sizeof("feature_")) == 0) { mask = FEATURE_UNIEVAL_BIT; break; } return; default: return; } if (valsv ? SvTRUE(valsv) : valbool) PL_compiling.cop_features |= mask; else PL_compiling.cop_features &= ~mask; } } #endif /* PERL_IN_MG_C */ #endif /* PERL_FEATURE_H_ */ /* ex: set ro: */
Upload File
Create Folder