summaryrefslogtreecommitdiff
path: root/handy.h
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2014-05-05 17:16:03 -0600
committerKarl Williamson <khw@cpan.org>2014-05-31 11:28:53 -0600
commit3ffc8c70ad4af0e7b2b5d389df0f84b6335fc315 (patch)
tree2a8b90cd8cddc2fc976028827e55daff9b11b4a7 /handy.h
parentc7c8bf5547526831b6168a1abd107399d80c0991 (diff)
downloadperl-3ffc8c70ad4af0e7b2b5d389df0f84b6335fc315.tar.gz
Revert bootstrapping to non-ASCII platforms
This effectively reverts commit 3ded5eb052cdc3f861ec0c0ff85348086d653be0. That commit created a scheme to bootstrap Perl onto a non-ASCII platform, by adding the allowing a Configure option that caused the compiled code to bypass a number of normal macro definitions and use slower, generic ones, sufficient to get miniperl to compile on the target architecture. One would then use miniperl to run a few scripts that would re-order certain header files, Using this one could then recompile all of perl, and once that was done, use it to recompile to use the normal fast macros. This worked, but was a cumbersome process. We now have the infrastructure, since commit 6ff677df5d6fe0f52ca0b6736f8b5a46ac402943, to cross compile on an ASCII platform to EBCDIC, the likely only non-ASCII character set to ever be used. So the new infrastructure will be used in future commits.
Diffstat (limited to 'handy.h')
-rw-r--r--handy.h23
1 files changed, 6 insertions, 17 deletions
diff --git a/handy.h b/handy.h
index 44dc64d353..13f8d22311 100644
--- a/handy.h
+++ b/handy.h
@@ -951,8 +951,7 @@ patched there. The file as of this writing is cpan/Devel-PPPort/parts/inc/misc
# define _HIGHEST_REGCOMP_DOT_H_SYNC _CC_VERTSPACE
/* The members of the third group below do not need to be coordinated with data
- * structures in regcomp.[ch] and regexec.c. But they should be added to
- * bootstrap_ctype() */
+ * structures in regcomp.[ch] and regexec.c. */
# define _CC_IDFIRST 17
# define _CC_CHARNAME_CONT 18
# define _CC_NONLATIN1_FOLD 19
@@ -1029,9 +1028,6 @@ EXTCONST U32 PL_charclass[] = {
# else /* ! DOINIT */
EXTCONST U32 PL_charclass[];
# endif
-#endif /* Has perl.h */
-
-#if defined(H_PERL) && ! defined(BOOTSTRAP_CHARSET)
/* The 1U keeps Solaris from griping when shifting sets the uppermost bit */
# define _CC_mask(classnum) (1U << (classnum))
@@ -1094,17 +1090,11 @@ EXTCONST U32 PL_charclass[];
_generic_isCC(c, _CC_NON_FINAL_FOLD)
# define _IS_IN_SOME_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c) \
_generic_isCC(c, _CC_IS_IN_SOME_FOLD)
-#else /* Either don't have perl.h or don't want to use char_class_tab.h */
+#else /* else we don't have perl.h */
/* If we don't have perl.h, we are compiling a utility program. Below we
* hard-code various macro definitions that wouldn't otherwise be available
- * to it. We can also get here if we are configured to bootstrap up Perl
- * on a non-ASCII platform that doesn't have a working Perl (currently only
- * EBCDIC). For these we currently use the native definitions to get
- * things going. (It should also be possible to use the translation
- * function NATIVE_TO_LATIN1(), but that is an extra layer of dependence on
- * Perl, so it is currently avoided for the macros where it's possible to
- * do so.) */
+ * to it. */
# ifdef EBCDIC
/* Use the native functions. They likely will return false for all
* non-ASCII values, but this makes sure */
@@ -1135,9 +1125,8 @@ EXTCONST U32 PL_charclass[];
|| ((c) >= 'a' && (c) <= 'f') \
|| ((c) <= 'F' && (c) >= 'A'))
- /* The _L1 macros may be unnecessary for both the utilities and for
- * bootstrapping; I (khw) added them during debugging of bootstrapping, and
- * it seems best to keep them. */
+ /* The _L1 macros may be unnecessary for the utilities; I (khw) added them
+ * during debugging, and it seems best to keep them. */
# define isPSXSPC_A(c) isSPACE_A(c) /* XXX Assumes SPACE matches '\v' */
# define isALPHA_L1(c) (isUPPER_L1(c) || isLOWER_L1(c))
# define isALPHANUMERIC_L1(c) (isALPHA_L1(c) || isDIGIT_A(c))
@@ -1204,7 +1193,7 @@ EXTCONST U32 PL_charclass[];
(FITS_IN_8_BITS(c) && S_bootstrap_ctype((U8) (c), (classnum), TRUE))
# define _generic_isCC_A(c, classnum) \
(FITS_IN_8_BITS(c) && S_bootstrap_ctype((U8) (c), (classnum), FALSE))
-#endif /* End of no perl.h or have BOOTSTRAP_CHARSET */
+#endif /* End of no perl.h */
#define isALPHANUMERIC(c) isALPHANUMERIC_A(c)
#define isALPHA(c) isALPHA_A(c)