This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regen/mk_invlists.pl: Allow override of where enums get defined
authorKarl Williamson <khw@cpan.org>
Sat, 6 Jan 2018 23:13:06 +0000 (16:13 -0700)
committerKarl Williamson <khw@cpan.org>
Wed, 31 Jan 2018 05:12:46 +0000 (22:12 -0700)
This adds code so that the enums defined by this, which are ordinarily
only used by regexec.c ban be specified to be somewhere else instead.

charclass_invlists.h
regen/mk_invlists.pl

index 20cbad4..72f91e3 100644 (file)
@@ -109537,5 +109537,5 @@ static const U8 WB_table[24][24] = {
  * 5671c3de473b25e7ea47097e4906260624dfabe3e9b1739f490aecbc3d858459 lib/unicore/mktables
  * 21653d2744fdd071f9ef138c805393901bb9547cf3e777ebf50215a191f986ea lib/unicore/version
  * 913d2f93f3cb6cdf1664db888bf840bc4eb074eef824e082fceda24a9445e60c regen/charset_translations.pl
- * 0a86f0efd62d395cce983ca78be05b7d67224d9a21570d32764f74b574049313 regen/mk_invlists.pl
+ * ddcc2a146f5202e3fb5fa448eded5e53b49db82e436a742ca37b8cee15179148 regen/mk_invlists.pl
  * ex: set ro: */
index 32d14c9..00b929e 100644 (file)
@@ -59,6 +59,7 @@ my %exceptions_to_where_to_define =
                           _Perl_IDStart              => 'PERL_IN_UTF8_C',
                           Currency_Symbol            => 'PERL_IN_LOCALE_C',
                         );
+my %where_to_define_enums = ();
 
 my %gcb_enums;
 my @gcb_short_enums;
@@ -350,8 +351,12 @@ sub output_invmap ($$$$$$$) {
             }
         }
 
-        # Inversion map stuff is currently used only by regexec
-        switch_pound_if($name, 'PERL_IN_REGEXEC_C');
+        # Inversion map stuff is used only by regexec, unless it is in the
+        # enum exception list
+        my $where = (exists $where_to_define_enums{$name})
+                    ? $where_to_define_enums{$name}
+                    : 'PERL_IN_REGEXEC_C';
+        switch_pound_if($name, $where);
 
         # The short names tend to be two lower case letters, but it looks
         # better for those if they are upper. XXX