This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Tidy up Windows makefiles' handling of CCTYPE=SDK2003SP1
[perl5.git] / op.h
diff --git a/op.h b/op.h
index 97dea42..bfdebaa 100644 (file)
--- a/op.h
+++ b/op.h
@@ -188,6 +188,8 @@ typedef union  {
     SV        *sv;
     IV        iv;
     UV        uv;
+    char      *pv;
+    SSize_t   ssize;
 } UNOP_AUX_item;
 
 #ifdef USE_ITHREADS
@@ -327,6 +329,10 @@ struct pmop {
  * other end instead; this preserves binary compatibility. */
 #define PMf_BASE_SHIFT (_RXf_PMf_SHIFT_NEXT+2)
 
+/* Set by the parser if it discovers an error, so the regex shouldn't be
+ * compiled */
+#define PMf_HAS_ERROR  (1U<<(PMf_BASE_SHIFT+4))
+
 /* 'use re "taint"' in scope: taint $1 etc. if target tainted */
 #define PMf_RETAINT    (1U<<(PMf_BASE_SHIFT+5))
 
@@ -516,7 +522,7 @@ typedef enum {
 #  define      cMETHOPx_rclass(v) (cMETHOPx(v)->op_rclass_sv)
 #endif
 
-#  define      cMETHOPx_meth(v)        cSVOPx_sv(v)
+#define        cMETHOPx_meth(v)        cSVOPx_sv(v)
 
 #define        cGVOP_gv                cGVOPx_gv(PL_op)
 #define        cGVOPo_gv               cGVOPx_gv(o)
@@ -621,6 +627,15 @@ typedef enum {
 #define ref(o, type) doref(o, type, TRUE)
 #endif
 
+
+/* translation table attached to OP_TRANS/OP_TRANSR ops */
+
+typedef struct {
+    Size_t size; /* number of entries in map[], not including final slot */
+    short map[1]; /* Unwarranted chumminess */
+} OPtrans_map;
+
+
 /*
 =head1 Optree Manipulation Functions
 
@@ -1094,10 +1109,13 @@ C<sib> is non-null. For a higher-level interface, see C<L</op_sibling_splice>>.
 #define MDEREF_SHIFT           7
 
 #if defined(PERL_IN_DOOP_C) || defined(PERL_IN_PP_C)
-static const char * const deprecated_above_ff_msg
-    = "Use of strings with code points over 0xFF as arguments to "
-      "%s operator is deprecated. This will be a fatal error in "
-      "Perl 5.28";
+#   define FATAL_ABOVE_FF_MSG                                       \
+      "Use of strings with code points over 0xFF as arguments to "  \
+      "%s operator is not allowed"
+#  define DEPRECATED_ABOVE_FF_MSG                                   \
+      "Use of strings with code points over 0xFF as arguments to "  \
+      "%s operator is deprecated. This will be a fatal error in "   \
+      "Perl 5.32"
 #endif