This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regen/mk_invlists.pl: Remove unnecessary #if's
authorKarl Williamson <khw@cpan.org>
Mon, 28 Apr 2014 23:52:42 +0000 (17:52 -0600)
committerKarl Williamson <khw@cpan.org>
Sat, 31 May 2014 16:34:00 +0000 (10:34 -0600)
Even though this file is not intended to be human consumable, it is
annoying to see #if ... #endif #if ...
where the #endif and #if could be consolidated.

It turns out not to be hard to do that.

charclass_invlists.h
regen/mk_invlists.pl

index 352c576..e74911e 100644 (file)
@@ -18,10 +18,6 @@ static const UV Latin1_invlist[] = {
        256
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV AboveLatin1_invlist[] = {
        2,      /* Number of elements */
        148565664, /* Version and data structure type */
@@ -31,7 +27,7 @@ static const UV AboveLatin1_invlist[] = {
        256
 };
 
-#endif
+#endif /* #ifndef PERL_IN_XSUB_RE */
 
 #if 'A' == 65 /* ASCII/Latin1 */
 
@@ -46,10 +42,6 @@ static const UV ASCII_invlist[] = { /* for ASCII/Latin1 */
        128
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV Cased_invlist[] = { /* for ASCII/Latin1 */
        239,    /* Number of elements */
        148565664, /* Version and data structure type */
@@ -296,10 +288,6 @@ static const UV Cased_invlist[] = { /* for ASCII/Latin1 */
        120780
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV VertSpace_invlist[] = { /* for ASCII/Latin1 */
        7,      /* Number of elements */
        148565664, /* Version and data structure type */
@@ -314,10 +302,6 @@ static const UV VertSpace_invlist[] = { /* for ASCII/Latin1 */
        8234
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPerlSpace_invlist[] = { /* for ASCII/Latin1 */
        21,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -346,10 +330,6 @@ static const UV XPerlSpace_invlist[] = { /* for ASCII/Latin1 */
        12289
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        1133,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -1490,10 +1470,6 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
        195102
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        1081,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -2582,10 +2558,6 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
        195102
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixBlank_invlist[] = { /* for ASCII/Latin1 */
        17,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -2610,10 +2582,6 @@ static const UV XPosixBlank_invlist[] = { /* for ASCII/Latin1 */
        12289
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixCntrl_invlist[] = { /* for ASCII/Latin1 */
        4,      /* Number of elements */
        148565664, /* Version and data structure type */
@@ -2625,10 +2593,6 @@ static const UV XPosixCntrl_invlist[] = { /* for ASCII/Latin1 */
        160
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixDigit_invlist[] = { /* for ASCII/Latin1 */
        85,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -2721,10 +2685,6 @@ static const UV XPosixDigit_invlist[] = { /* for ASCII/Latin1 */
        120832
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        1089,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -3821,10 +3781,6 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
        1114110
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixLower_invlist[] = { /* for ASCII/Latin1 */
        1237,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -5069,10 +5025,6 @@ static const UV XPosixLower_invlist[] = { /* for ASCII/Latin1 */
        120780
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        1083,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -6163,10 +6115,6 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
        1114110
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixPunct_invlist[] = { /* for ASCII/Latin1 */
        273,    /* Number of elements */
        148565664, /* Version and data structure type */
@@ -6447,10 +6395,6 @@ static const UV XPosixPunct_invlist[] = { /* for ASCII/Latin1 */
        74868
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixSpace_invlist[] = { /* for ASCII/Latin1 */
        21,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -6479,10 +6423,6 @@ static const UV XPosixSpace_invlist[] = { /* for ASCII/Latin1 */
        12289
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixUpper_invlist[] = { /* for ASCII/Latin1 */
        1221,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -7711,10 +7651,6 @@ static const UV XPosixUpper_invlist[] = { /* for ASCII/Latin1 */
        120779
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        1131,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -8853,10 +8789,6 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
        918000
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixXDigit_invlist[] = { /* for ASCII/Latin1 */
        13,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -8877,10 +8809,6 @@ static const UV XPosixXDigit_invlist[] = { /* for ASCII/Latin1 */
        65351
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV _Perl_Any_Folds_invlist[] = { /* for ASCII/Latin1 */
        229,    /* Number of elements */
        148565664, /* Version and data structure type */
@@ -9117,7 +9045,7 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for ASCII/Latin1 */
        66640
 };
 
-#endif
+#endif /* #ifndef PERL_IN_XSUB_RE */
 
 static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for ASCII/Latin1 */
        45,     /* Number of elements */
@@ -9239,10 +9167,6 @@ static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for ASCII/Latin1 */
        64280
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV UpperLatin1_invlist[] = { /* for ASCII/Latin1 */
        3,      /* Number of elements */
        148565664, /* Version and data structure type */
@@ -9253,10 +9177,6 @@ static const UV UpperLatin1_invlist[] = { /* for ASCII/Latin1 */
        256
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        995,    /* Number of elements */
        148565664, /* Version and data structure type */
@@ -10259,10 +10179,6 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
        195102
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        1143,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -11413,7 +11329,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
        918000
 };
 
-#endif
+#endif /* #ifndef PERL_IN_XSUB_RE */
 
 #endif /* ASCII/Latin1 */
 
@@ -11485,10 +11401,6 @@ static const UV ASCII_invlist[] = { /* for EBCDIC 1047 */
        250
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV Cased_invlist[] = { /* for EBCDIC 1047 */
        265,    /* Number of elements */
        148565664, /* Version and data structure type */
@@ -11761,10 +11673,6 @@ static const UV Cased_invlist[] = { /* for EBCDIC 1047 */
        120780
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV VertSpace_invlist[] = { /* for EBCDIC 1047 */
        9,      /* Number of elements */
        148565664, /* Version and data structure type */
@@ -11781,10 +11689,6 @@ static const UV VertSpace_invlist[] = { /* for EBCDIC 1047 */
        8234
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPerlSpace_invlist[] = { /* for EBCDIC 1047 */
        23,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -11815,10 +11719,6 @@ static const UV XPerlSpace_invlist[] = { /* for EBCDIC 1047 */
        12289
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        1157,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -12983,10 +12883,6 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
        195102
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        1107,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -14101,10 +13997,6 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
        195102
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixBlank_invlist[] = { /* for EBCDIC 1047 */
        15,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -14127,10 +14019,6 @@ static const UV XPosixBlank_invlist[] = { /* for EBCDIC 1047 */
        12289
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixCntrl_invlist[] = { /* for EBCDIC 1047 */
        4,      /* Number of elements */
        148565664, /* Version and data structure type */
@@ -14142,10 +14030,6 @@ static const UV XPosixCntrl_invlist[] = { /* for EBCDIC 1047 */
        256
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixDigit_invlist[] = { /* for EBCDIC 1047 */
        85,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -14238,10 +14122,6 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC 1047 */
        120832
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        1089,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -15338,10 +15218,6 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
        1114110
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixLower_invlist[] = { /* for EBCDIC 1047 */
        1245,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -16594,10 +16470,6 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 1047 */
        120780
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        1083,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -17688,10 +17560,6 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
        1114110
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixPunct_invlist[] = { /* for EBCDIC 1047 */
        281,    /* Number of elements */
        148565664, /* Version and data structure type */
@@ -17980,10 +17848,6 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC 1047 */
        74868
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixSpace_invlist[] = { /* for EBCDIC 1047 */
        23,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -18014,10 +17878,6 @@ static const UV XPosixSpace_invlist[] = { /* for EBCDIC 1047 */
        12289
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixUpper_invlist[] = { /* for EBCDIC 1047 */
        1239,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -19264,10 +19124,6 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC 1047 */
        120779
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        1155,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -20430,10 +20286,6 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
        918000
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixXDigit_invlist[] = { /* for EBCDIC 1047 */
        13,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -20454,10 +20306,6 @@ static const UV XPosixXDigit_invlist[] = { /* for EBCDIC 1047 */
        65351
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 1047 */
        261,    /* Number of elements */
        148565664, /* Version and data structure type */
@@ -20726,7 +20574,7 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 1047 */
        66640
 };
 
-#endif
+#endif /* #ifndef PERL_IN_XSUB_RE */
 
 static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for EBCDIC 1047 */
        45,     /* Number of elements */
@@ -20848,10 +20696,6 @@ static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for EBCDIC 1047 */
        64280
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV UpperLatin1_invlist[] = { /* for EBCDIC 1047 */
        55,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -20914,10 +20758,6 @@ static const UV UpperLatin1_invlist[] = { /* for EBCDIC 1047 */
        256
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        1021,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -21946,10 +21786,6 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
        195102
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        1167,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -23124,7 +22960,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
        918000
 };
 
-#endif
+#endif /* #ifndef PERL_IN_XSUB_RE */
 
 #endif /* EBCDIC 1047 */
 
@@ -23198,10 +23034,6 @@ static const UV ASCII_invlist[] = { /* for EBCDIC 037 */
        250
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV Cased_invlist[] = { /* for EBCDIC 037 */
        261,    /* Number of elements */
        148565664, /* Version and data structure type */
@@ -23470,10 +23302,6 @@ static const UV Cased_invlist[] = { /* for EBCDIC 037 */
        120780
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV VertSpace_invlist[] = { /* for EBCDIC 037 */
        9,      /* Number of elements */
        148565664, /* Version and data structure type */
@@ -23490,10 +23318,6 @@ static const UV VertSpace_invlist[] = { /* for EBCDIC 037 */
        8234
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPerlSpace_invlist[] = { /* for EBCDIC 037 */
        23,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -23524,10 +23348,6 @@ static const UV XPerlSpace_invlist[] = { /* for EBCDIC 037 */
        12289
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        1153,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -24688,10 +24508,6 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
        195102
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        1103,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -25802,10 +25618,6 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
        195102
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixBlank_invlist[] = { /* for EBCDIC 037 */
        15,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -25828,10 +25640,6 @@ static const UV XPosixBlank_invlist[] = { /* for EBCDIC 037 */
        12289
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixCntrl_invlist[] = { /* for EBCDIC 037 */
        4,      /* Number of elements */
        148565664, /* Version and data structure type */
@@ -25843,10 +25651,6 @@ static const UV XPosixCntrl_invlist[] = { /* for EBCDIC 037 */
        256
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixDigit_invlist[] = { /* for EBCDIC 037 */
        85,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -25939,10 +25743,6 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC 037 */
        120832
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        1089,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -27039,10 +26839,6 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
        1114110
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixLower_invlist[] = { /* for EBCDIC 037 */
        1245,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -28295,10 +28091,6 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 037 */
        120780
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        1083,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -29389,10 +29181,6 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
        1114110
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixPunct_invlist[] = { /* for EBCDIC 037 */
        283,    /* Number of elements */
        148565664, /* Version and data structure type */
@@ -29683,10 +29471,6 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC 037 */
        74868
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixSpace_invlist[] = { /* for EBCDIC 037 */
        23,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -29717,10 +29501,6 @@ static const UV XPosixSpace_invlist[] = { /* for EBCDIC 037 */
        12289
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixUpper_invlist[] = { /* for EBCDIC 037 */
        1235,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -30963,10 +30743,6 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC 037 */
        120779
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        1151,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -32125,10 +31901,6 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
        918000
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixXDigit_invlist[] = { /* for EBCDIC 037 */
        13,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -32149,10 +31921,6 @@ static const UV XPosixXDigit_invlist[] = { /* for EBCDIC 037 */
        65351
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 037 */
        257,    /* Number of elements */
        148565664, /* Version and data structure type */
@@ -32417,7 +32185,7 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 037 */
        66640
 };
 
-#endif
+#endif /* #ifndef PERL_IN_XSUB_RE */
 
 static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for EBCDIC 037 */
        45,     /* Number of elements */
@@ -32539,10 +32307,6 @@ static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for EBCDIC 037 */
        64280
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV UpperLatin1_invlist[] = { /* for EBCDIC 037 */
        57,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -32607,10 +32371,6 @@ static const UV UpperLatin1_invlist[] = { /* for EBCDIC 037 */
        256
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        1017,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -33635,10 +33395,6 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
        195102
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        1163,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -34809,7 +34565,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
        918000
 };
 
-#endif
+#endif /* #ifndef PERL_IN_XSUB_RE */
 
 #endif /* EBCDIC 037 */
 
@@ -34885,10 +34641,6 @@ static const UV ASCII_invlist[] = { /* for EBCDIC POSIX-BC */
        256
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV Cased_invlist[] = { /* for EBCDIC POSIX-BC */
        263,    /* Number of elements */
        148565664, /* Version and data structure type */
@@ -35159,10 +34911,6 @@ static const UV Cased_invlist[] = { /* for EBCDIC POSIX-BC */
        120780
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV VertSpace_invlist[] = { /* for EBCDIC POSIX-BC */
        9,      /* Number of elements */
        148565664, /* Version and data structure type */
@@ -35179,10 +34927,6 @@ static const UV VertSpace_invlist[] = { /* for EBCDIC POSIX-BC */
        8234
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPerlSpace_invlist[] = { /* for EBCDIC POSIX-BC */
        23,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -35213,10 +34957,6 @@ static const UV XPerlSpace_invlist[] = { /* for EBCDIC POSIX-BC */
        12289
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        1155,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -36379,10 +36119,6 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */
        195102
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        1105,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -37495,10 +37231,6 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */
        195102
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixBlank_invlist[] = { /* for EBCDIC POSIX-BC */
        15,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -37521,10 +37253,6 @@ static const UV XPosixBlank_invlist[] = { /* for EBCDIC POSIX-BC */
        12289
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixCntrl_invlist[] = { /* for EBCDIC POSIX-BC */
        4,      /* Number of elements */
        148565664, /* Version and data structure type */
@@ -37536,10 +37264,6 @@ static const UV XPosixCntrl_invlist[] = { /* for EBCDIC POSIX-BC */
        96
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixDigit_invlist[] = { /* for EBCDIC POSIX-BC */
        85,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -37632,10 +37356,6 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC POSIX-BC */
        120832
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        1089,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -38732,10 +38452,6 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */
        1114110
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixLower_invlist[] = { /* for EBCDIC POSIX-BC */
        1249,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -39992,10 +39708,6 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC POSIX-BC */
        120780
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        1083,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -41086,10 +40798,6 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */
        1114110
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixPunct_invlist[] = { /* for EBCDIC POSIX-BC */
        279,    /* Number of elements */
        148565664, /* Version and data structure type */
@@ -41376,10 +41084,6 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC POSIX-BC */
        74868
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixSpace_invlist[] = { /* for EBCDIC POSIX-BC */
        23,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -41410,10 +41114,6 @@ static const UV XPosixSpace_invlist[] = { /* for EBCDIC POSIX-BC */
        12289
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixUpper_invlist[] = { /* for EBCDIC POSIX-BC */
        1241,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -42662,10 +42362,6 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC POSIX-BC */
        120779
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        1153,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -43826,10 +43522,6 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */
        918000
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV XPosixXDigit_invlist[] = { /* for EBCDIC POSIX-BC */
        13,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -43850,10 +43542,6 @@ static const UV XPosixXDigit_invlist[] = { /* for EBCDIC POSIX-BC */
        65351
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC POSIX-BC */
        259,    /* Number of elements */
        148565664, /* Version and data structure type */
@@ -44120,7 +43808,7 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC POSIX-BC */
        66640
 };
 
-#endif
+#endif /* #ifndef PERL_IN_XSUB_RE */
 
 static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for EBCDIC POSIX-BC */
        45,     /* Number of elements */
@@ -44242,10 +43930,6 @@ static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for EBCDIC POSIX-BC *
        64280
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV UpperLatin1_invlist[] = { /* for EBCDIC POSIX-BC */
        57,     /* Number of elements */
        148565664, /* Version and data structure type */
@@ -44310,10 +43994,6 @@ static const UV UpperLatin1_invlist[] = { /* for EBCDIC POSIX-BC */
        255
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        1019,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -45340,10 +45020,6 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */
        195102
 };
 
-#endif
-
-#ifndef PERL_IN_XSUB_RE
-
 static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        1165,   /* Number of elements */
        148565664, /* Version and data structure type */
@@ -46516,7 +46192,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */
        918000
 };
 
-#endif
+#endif /* #ifndef PERL_IN_XSUB_RE */
 
 #endif /* EBCDIC POSIX-BC */
 
index d69c37d..3fb79dd 100644 (file)
@@ -22,10 +22,19 @@ my $out_fh = open_new('charclass_invlists.h', '>',
                      {style => '*', by => $0,
                       from => "Unicode::UCD"});
 
+my $is_in_ifndef_ext_re = 0;
+
 print $out_fh "/* See the generating file for comments */\n\n";
 
 my %include_in_ext_re = ( NonL1_Perl_Non_Final_Folds => 1 );
 
+sub end_ifndef_ext_re {
+    if ($is_in_ifndef_ext_re) {
+        print $out_fh "\n#endif\t/* #ifndef PERL_IN_XSUB_RE */\n";
+        $is_in_ifndef_ext_re = 0;
+    }
+}
+
 sub output_invlist ($$;$) {
     my $name = shift;
     my $invlist = shift;     # Reference to inversion list array
@@ -46,7 +55,16 @@ sub output_invlist ($$;$) {
     }
     my $count = @$invlist;
 
-    print $out_fh "\n#ifndef PERL_IN_XSUB_RE\n" unless exists $include_in_ext_re{$name};
+    if ($is_in_ifndef_ext_re) {
+        if (exists $include_in_ext_re{$name}) {
+            end_ifndef_ext_re;
+        }
+    }
+    elsif (! exists $include_in_ext_re{$name}) {
+        print $out_fh "\n#ifndef PERL_IN_XSUB_RE\n" unless exists $include_in_ext_re{$name};
+        $is_in_ifndef_ext_re = 1;
+    }
+
     print $out_fh "\nstatic const UV ${name}_invlist[] = {";
     print $out_fh " /* for $charset */" if $charset;
     print $out_fh "\n";
@@ -67,7 +85,6 @@ sub output_invlist ($$;$) {
     print $out_fh "\t$invlist->[-1]\n";
 
     print $out_fh "};\n";
-    print $out_fh "\n#endif\n" unless exists $include_in_ext_re{$name};
 }
 
 sub mk_invlist_from_cp_list {
@@ -126,6 +143,8 @@ sub UpperLatin1 {
 output_invlist("Latin1", [ 0, 256 ]);
 output_invlist("AboveLatin1", [ 256 ]);
 
+end_ifndef_ext_re;
+
 # We construct lists for all the POSIX and backslash sequence character
 # classes in two forms:
 #   1) ones which match only in the ASCII range
@@ -274,6 +293,7 @@ for my $charset (get_supported_code_pages()) {
 
         output_invlist($prop_name, \@invlist, $charset);
     }
+    end_ifndef_ext_re;
     print $out_fh "\n" . get_conditional_compile_line_end();
 }