summaryrefslogtreecommitdiff
path: root/regnodes.h
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2011-12-23 20:19:27 -0700
committerKarl Williamson <public@khwilliamson.com>2012-01-19 11:58:19 -0700
commitfa01018c102d8360898153b9f4b062716ad06702 (patch)
tree4cd4070d320abb9936fe0d2a08a732c597637def /regnodes.h
parentbb9144850c8033592c0187ea712691a97703385e (diff)
downloadperl-fa01018c102d8360898153b9f4b062716ad06702.tar.gz
regex: Remove FOLDCHAR regnode type
This node type hasn't been used since 5.14.0. Instead an ANYOFV node was generated where formerly a FOLDCHAR node would have been used. The ANYOFV was used because it already existed and was up-to-date, whereas FOLDCHAR would have needed some bug fixes to adapt it, even though it would be faster in execution than ANYOFV; so the code for it was retained in case it was needed. However, both these solutions were defective, and a previous commit has changed things to a different type of solution entirely. Thus FOLDCHAR is obsolescent and can be removed, though the code in it was used as a base for some of the new solutions.
Diffstat (limited to 'regnodes.h')
-rw-r--r--regnodes.h17
1 files changed, 6 insertions, 11 deletions
diff --git a/regnodes.h b/regnodes.h
index 785ff1c9ca..994159342f 100644
--- a/regnodes.h
+++ b/regnodes.h
@@ -6,8 +6,8 @@
/* Regops and State definitions */
-#define REGNODE_MAX 113
-#define REGMATCH_STATE_MAX 153
+#define REGNODE_MAX 112
+#define REGMATCH_STATE_MAX 152
#define END 0 /* 0000 End of program. */
#define SUCCEED 1 /* 0x01 Return from a subroutine, basically. */
@@ -120,9 +120,8 @@
#define NVERTWS 108 /* 0x6c not vertical whitespace (Perl 6) */
#define HORIZWS 109 /* 0x6d horizontal whitespace (Perl 6) */
#define NHORIZWS 110 /* 0x6e not horizontal whitespace (Perl 6) */
-#define FOLDCHAR 111 /* 0x6f codepoint with tricky case folding properties. */
-#define OPTIMIZED 112 /* 0x70 Placeholder for dump. */
-#define PSEUDO 113 /* 0x71 Pseudo opcode for internal use. */
+#define OPTIMIZED 111 /* 0x6f Placeholder for dump. */
+#define PSEUDO 112 /* 0x70 Pseudo opcode for internal use. */
/* ------------ States ------------- */
#define TRIE_next (REGNODE_MAX + 1) /* state for TRIE */
#define TRIE_next_fail (REGNODE_MAX + 2) /* state for TRIE */
@@ -282,7 +281,6 @@ EXTCONST U8 PL_regkind[] = {
NVERTWS, /* NVERTWS */
HORIZWS, /* HORIZWS */
NHORIZWS, /* NHORIZWS */
- FOLDCHAR, /* FOLDCHAR */
NOTHING, /* OPTIMIZED */
PSEUDO, /* PSEUDO */
/* ------------ States ------------- */
@@ -444,7 +442,6 @@ static const U8 regarglen[] = {
0, /* NVERTWS */
0, /* HORIZWS */
0, /* NHORIZWS */
- EXTRA_SIZE(struct regnode_1), /* FOLDCHAR */
0, /* OPTIMIZED */
0, /* PSEUDO */
};
@@ -563,7 +560,6 @@ static const char reg_off_by_arg[] = {
0, /* NVERTWS */
0, /* HORIZWS */
0, /* NHORIZWS */
- 0, /* FOLDCHAR */
0, /* OPTIMIZED */
0, /* PSEUDO */
};
@@ -687,9 +683,8 @@ EXTCONST char * const PL_reg_name[] = {
"NVERTWS", /* 0x6c */
"HORIZWS", /* 0x6d */
"NHORIZWS", /* 0x6e */
- "FOLDCHAR", /* 0x6f */
- "OPTIMIZED", /* 0x70 */
- "PSEUDO", /* 0x71 */
+ "OPTIMIZED", /* 0x6f */
+ "PSEUDO", /* 0x70 */
/* ------------ States ------------- */
"TRIE_next", /* REGNODE_MAX +0x01 */
"TRIE_next_fail", /* REGNODE_MAX +0x02 */