This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Use two colons for lexsub warning
[perl5.git] / handy.h
diff --git a/handy.h b/handy.h
index c736120..c670398 100644 (file)
--- a/handy.h
+++ b/handy.h
@@ -101,7 +101,7 @@ Null SV pointer. (No longer available when C<PERL_CORE> is defined.)
 #endif /* NeXT || __NeXT__ */
 
 #ifndef HAS_BOOL
-# if defined(UTS) || defined(VMS)
+# if defined(VMS)
 #  define bool int
 # else
 #  define bool char
@@ -123,7 +123,7 @@ Null SV pointer. (No longer available when C<PERL_CORE> is defined.)
 #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || (defined(__SUNPRO_C)) /* C99 or close enough. */
 #  define FUNCTION__ __func__
 #else
-#  if (defined(_MSC_VER) && _MSC_VER < 1300) || /* Pre-MSVC 7.0 has neither __func__ nor __FUNCTION and no good workarounds, either. */ \
+#  if (defined(_MSC_VER) && _MSC_VER < 1300) || /* MSVC6 has neither __func__ nor __FUNCTION and no good workarounds, either. */ \
       (defined(__DECC_VER)) /* Tru64 or VMS, and strict C89 being used, but not modern enough cc (in Tur64, -c99 not known, only -std1). */
 #    define FUNCTION__ ""
 #  else
@@ -191,13 +191,13 @@ typedef U64TYPE U64;
 #       define PeRl_INT64_C(c) CAT2(c,LL)
 #       define PeRl_UINT64_C(c)        CAT2(c,ULL)
 #   else
-#       if LONGSIZE == 8 && QUADKIND == QUAD_IS_LONG
-#           define PeRl_INT64_C(c)     CAT2(c,L)
-#           define PeRl_UINT64_C(c)    CAT2(c,UL)
+#       if QUADKIND == QUAD_IS___INT64
+#           define PeRl_INT64_C(c)     CAT2(c,I64)
+#           define PeRl_UINT64_C(c)    CAT2(c,UI64)
 #       else
-#           if defined(_WIN64) && defined(_MSC_VER)
-#               define PeRl_INT64_C(c) CAT2(c,I64)
-#               define PeRl_UINT64_C(c)        CAT2(c,UI64)
+#           if LONGSIZE == 8 && QUADKIND == QUAD_IS_LONG
+#               define PeRl_INT64_C(c) CAT2(c,L)
+#               define PeRl_UINT64_C(c)        CAT2(c,UL)
 #           else
 #               define PeRl_INT64_C(c) ((I64TYPE)(c))
 #               define PeRl_UINT64_C(c)        ((U64TYPE)(c))
@@ -624,7 +624,8 @@ patched there.  The file as of this writing is cpan/Devel-PPPort/parts/inc/misc
 #  define _CC_CHARNAME_CONT     16
 #  define _CC_NONLATIN1_FOLD    17
 #  define _CC_QUOTEMETA         18
-/* Unused: 19-31
+#  define _CC_NON_FINAL_FOLD    19
+/* Unused: 20-31
  * If more bits are needed, one could add a second word for non-64bit
  * QUAD_IS_INT systems, using some #ifdefs to distinguish between having a 2nd
  * word or not. */
@@ -674,6 +675,8 @@ EXTCONST U32 PL_charclass[];
 #   define _HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(c) ((! cBOOL(FITS_IN_8_BITS(c))) || (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_mask(_CC_NONLATIN1_FOLD)))
 
 #   define _isQUOTEMETA(c) _generic_isCC(c, _CC_QUOTEMETA)
+#   define _IS_NON_FINAL_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c) \
+                                            _generic_isCC(c, _CC_NON_FINAL_FOLD)
 #else   /* No perl.h. */
 #   ifdef EBCDIC
 #       define isALNUMC_A(c)   (isASCII(c) && isALNUMC(c))