Skip to content

Commit 5ed30c9

Browse files
committed
valid_types, deBruijn tables: Initialize with INIT()
And avoid the more clumsy DOINITs
1 parent 5e697b4 commit 5ed30c9

File tree

1 file changed

+14
-24
lines changed

1 file changed

+14
-24
lines changed

perl.h

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6315,49 +6315,39 @@ EXTCONST U8 PL_magic_data[256] =
63156315
EXTCONST U8 PL_magic_data[256];
63166316
#endif
63176317

6318-
#ifdef DOINIT
63196318
/* NL IV NV PV INV PI PN MG RX GV LV AV HV CV FM IO OBJ */
63206319
EXTCONST bool
6321-
PL_valid_types_IVX[] = { 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0 };
6320+
PL_valid_types_IVX[] INIT({ 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0 });
63226321
EXTCONST bool
6323-
PL_valid_types_NVX[] = { 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0 };
6322+
PL_valid_types_NVX[] INIT({ 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0 });
63246323
EXTCONST bool
6325-
PL_valid_types_PVX[] = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0 };
6324+
PL_valid_types_PVX[] INIT({ 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0 });
63266325
EXTCONST bool
6327-
PL_valid_types_RV[] = { 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0 };
6326+
PL_valid_types_RV[] INIT({ 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0 });
63286327
EXTCONST bool
6329-
PL_valid_types_IV_set[] = { 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0 };
6328+
PL_valid_types_IV_set[]
6329+
INIT({ 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0 });
63306330
EXTCONST bool
6331-
PL_valid_types_NV_set[] = { 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 };
6331+
PL_valid_types_NV_set[]
6332+
INIT({ 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 });
63326333

63336334
EXTCONST U8
6334-
PL_deBruijn_bitpos_tab32[] = {
6335+
PL_deBruijn_bitpos_tab32[]
6336+
INIT({
63356337
/* https://graphics.stanford.edu/~seander/bithacks.html#IntegerLogDeBruijn */
63366338
0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8,
63376339
31, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9
6338-
};
6340+
});
63396341

63406342
EXTCONST U8
6341-
PL_deBruijn_bitpos_tab64[] = {
6343+
PL_deBruijn_bitpos_tab64[]
6344+
INIT({
63426345
/* https://stackoverflow.com/questions/11376288/fast-computing-of-log2-for-64-bit-integers */
63436346
63, 0, 58, 1, 59, 47, 53, 2, 60, 39, 48, 27, 54, 33, 42, 3,
63446347
61, 51, 37, 40, 49, 18, 28, 20, 55, 30, 34, 11, 43, 14, 22, 4,
63456348
62, 57, 46, 52, 38, 26, 32, 41, 50, 36, 17, 19, 29, 10, 13, 21,
63466349
56, 45, 25, 31, 35, 16, 9, 12, 44, 24, 15, 8, 23, 7, 6, 5
6347-
};
6348-
6349-
#else
6350-
6351-
EXTCONST bool PL_valid_types_IVX[];
6352-
EXTCONST bool PL_valid_types_NVX[];
6353-
EXTCONST bool PL_valid_types_PVX[];
6354-
EXTCONST bool PL_valid_types_RV[];
6355-
EXTCONST bool PL_valid_types_IV_set[];
6356-
EXTCONST bool PL_valid_types_NV_set[];
6357-
EXTCONST U8 PL_deBruijn_bitpos_tab32[];
6358-
EXTCONST U8 PL_deBruijn_bitpos_tab64[];
6359-
6360-
#endif
6350+
});
63616351

63626352
/* The constants for using PL_deBruijn_bitpos_tab */
63636353
#define PERL_deBruijnMagic32_ 0x077CB531

0 commit comments

Comments
 (0)