From 6e1cc469a2061792c6541e9fc180deea914fa9dd3bf4ca64110853cfe7e752d1 Mon Sep 17 00:00:00 2001 From: Martin Schreiner Date: Mon, 14 Apr 2025 04:29:37 +0000 Subject: [PATCH 1/5] pcre2 10.45 boo#1240358 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/pcre2?expand=0&rev=75 --- .gitattributes | 23 + .gitignore | 1 + baselibs.conf | 4 + pcre2-10.10-multilib.patch | 34 + pcre2-10.44-github-issue-415.patch | 5223 ++++++++++++++++++++++++++++ pcre2-10.44.tar.bz2 | 3 + pcre2-10.44.tar.bz2.sig | Bin 0 -> 310 bytes pcre2-10.45.tar.bz2 | 3 + pcre2-10.45.tar.bz2.sig | Bin 0 -> 566 bytes pcre2.changes | 1467 ++++++++ pcre2.keyring | 127 + pcre2.spec | 274 ++ 12 files changed, 7159 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 baselibs.conf create mode 100644 pcre2-10.10-multilib.patch create mode 100644 pcre2-10.44-github-issue-415.patch create mode 100644 pcre2-10.44.tar.bz2 create mode 100644 pcre2-10.44.tar.bz2.sig create mode 100644 pcre2-10.45.tar.bz2 create mode 100644 pcre2-10.45.tar.bz2.sig create mode 100644 pcre2.changes create mode 100644 pcre2.keyring create mode 100644 pcre2.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..0c9d64b --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,4 @@ +libpcre2-8-0 +libpcre2-16-0 +libpcre2-32-0 +libpcre2-posix3 diff --git a/pcre2-10.10-multilib.patch b/pcre2-10.10-multilib.patch new file mode 100644 index 0000000..b191633 --- /dev/null +++ b/pcre2-10.10-multilib.patch @@ -0,0 +1,34 @@ +From 1d5ce3e2e6341b01609aefab20786a8638fee17a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Tue, 6 Dec 2011 18:44:11 +0100 +Subject: [PATCH] Fix multilib + +Do not set RPATH nor add explicit -L path to compiler. +--- + pcre2-config.in | 12 ------------ + 1 file changed, 12 deletions(-) + +Index: pcre2-10.10/pcre2-config.in +=================================================================== +--- pcre2-10.10.orig/pcre2-config.in 2014-10-17 17:07:57.000000000 +0200 ++++ pcre2-10.10/pcre2-config.in 2015-06-18 20:56:20.000000000 +0200 +@@ -28,19 +28,7 @@ if test $# -eq 0; then + fi + + libR= +-case `uname -s` in +- *SunOS*) +- libR=" -R@libdir@" +- ;; +- *BSD*) +- libR=" -Wl,-R@libdir@" +- ;; +-esac +- + libS= +-if test @libdir@ != /usr/lib ; then +- libS=-L@libdir@ +-fi + + while test $# -gt 0; do + case "$1" in diff --git a/pcre2-10.44-github-issue-415.patch b/pcre2-10.44-github-issue-415.patch new file mode 100644 index 0000000..a5f9963 --- /dev/null +++ b/pcre2-10.44-github-issue-415.patch @@ -0,0 +1,5223 @@ +From fc70a2dcf913e7e2bc0465980d50e8d80e1e4cb7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Carlo=20Marcelo=20Arenas=20Bel=C3=B3n?= +Date: Sat, 8 Jun 2024 21:10:08 -0700 +Subject: [PATCH] pcre2test: memory reports only compiled memory usage for + code/data + +Since 05aafb2 (Implement pcre2_set_max_pattern_compiled_length() and set +this limit in the fuzzer, 2024-04-24), the memory modifier has reported +the full size of the allocated "code" returned by `pcre2_compile`. + +Problem is that the size of the structure used to hold that in memory also +depends on the platform ABI and even alignment by the compiler, and has +been therefore fragile to compare. + +Revert to reporting only the additional memory that `pcre2_compile()` will +use for the compiled pattern (including any data tables) and make sure +that the limit provided with `pcre2_set_max_pattern_compiled_length()` +also avoid the internal struct overhead. + +Fixes: #415 +--- + doc/pcre2_set_max_pattern_compiled_length.3 | 8 +- + src/pcre2_compile.c | 4 +- + src/pcre2test.c | 17 +- + testdata/testoutput8-16-2 | 171 +++++++------------- + testdata/testoutput8-16-3 | 171 +++++++------------- + testdata/testoutput8-16-4 | 171 +++++++------------- + testdata/testoutput8-32-2 | 171 +++++++------------- + testdata/testoutput8-32-3 | 171 +++++++------------- + testdata/testoutput8-32-4 | 171 +++++++------------- + testdata/testoutput8-8-2 | 171 +++++++------------- + testdata/testoutput8-8-3 | 171 +++++++------------- + testdata/testoutput8-8-4 | 171 +++++++------------- + 12 files changed, 546 insertions(+), 1022 deletions(-) + +diff --git a/doc/pcre2_set_max_pattern_compiled_length.3 b/doc/pcre2_set_max_pattern_compiled_length.3 +index 472a7bbd..679c12c2 100644 +--- a/doc/pcre2_set_max_pattern_compiled_length.3 ++++ b/doc/pcre2_set_max_pattern_compiled_length.3 +@@ -1,4 +1,4 @@ +-.TH PCRE2_SET_MAX_PATTERN_COMPILED_LENGTH 3 "24 April 2024" "PCRE2 10.44" ++.TH PCRE2_SET_MAX_PATTERN_COMPILED_LENGTH 3 "8 Jun 2024" "PCRE2 10.45" + .SH NAME + PCRE2 - Perl-compatible regular expressions (revised API) + .SH SYNOPSIS +@@ -15,9 +15,9 @@ PCRE2 - Perl-compatible regular expressions (revised API) + .rs + .sp + This function sets, in a compile context, the maximum size (in bytes) for the +-memory needed to hold the compiled version of a pattern that is compiled with +-this context. The result is always zero. If a pattern that is passed to +-\fBpcre2_compile()\fP with this context needs more memory, an error is ++memory needed to hold the compiled version of a pattern that is using this ++context. The result is always zero. If a pattern that is passed to ++\fBpcre2_compile()\fP referencing this context needs more memory, an error is + generated. The default is the largest number that a PCRE2_SIZE variable can + hold, which is effectively unlimited. + .P +diff --git a/src/pcre2_compile.c b/src/pcre2_compile.c +index 8e6787ab..cc5b9674 100644 +--- a/src/pcre2_compile.c ++++ b/src/pcre2_compile.c +@@ -10608,8 +10608,7 @@ block for storing the compiled pattern and names table. Integer overflow should + no longer be possible because nowadays we limit the maximum value of + cb.names_found and cb.name_entry_size. */ + +-re_blocksize = sizeof(pcre2_real_code) + +- CU2BYTES(length + ++re_blocksize = CU2BYTES(length + + (PCRE2_SIZE)cb.names_found * (PCRE2_SIZE)cb.name_entry_size); + + if (re_blocksize > ccontext->max_pattern_compiled_length) +@@ -10618,6 +10617,7 @@ if (re_blocksize > ccontext->max_pattern_compiled_length) + goto HAD_CB_ERROR; + } + ++re_blocksize += sizeof(pcre2_real_code); + re = (pcre2_real_code *) + ccontext->memctl.malloc(re_blocksize, ccontext->memctl.memory_data); + if (re == NULL) +diff --git a/src/pcre2test.c b/src/pcre2test.c +index 37903451..550ae4e4 100644 +--- a/src/pcre2test.c ++++ b/src/pcre2test.c +@@ -4397,7 +4397,7 @@ static void + show_memory_info(void) + { + uint32_t name_count, name_entry_size; +-PCRE2_SIZE size, cblock_size; ++PCRE2_SIZE size, cblock_size, data_size; + + /* One of the test_mode values will always be true, but to stop a compiler + warning we must initialize cblock_size. */ +@@ -4417,18 +4417,19 @@ if (test_mode == PCRE32_MODE) cblock_size = sizeof(pcre2_real_code_32); + (void)pattern_info(PCRE2_INFO_NAMECOUNT, &name_count, FALSE); + (void)pattern_info(PCRE2_INFO_NAMEENTRYSIZE, &name_entry_size, FALSE); + +-/* The uint32_t variables are cast before multiplying to stop code analyzers +-grumbling about potential overflow. */ ++/* The uint32_t variables are cast before multiplying to avoid potential ++ integer overflow. */ ++data_size = (PCRE2_SIZE)name_count * (PCRE2_SIZE)name_entry_size * (PCRE2_SIZE)code_unit_size; + +-fprintf(outfile, "Memory allocation - compiled block : %" SIZ_FORM "\n", size); +-fprintf(outfile, "Memory allocation - code portion : %" SIZ_FORM "\n", size - +- (PCRE2_SIZE)name_count * (PCRE2_SIZE)name_entry_size * (PCRE2_SIZE)code_unit_size - +- cblock_size); ++fprintf(outfile, "Memory allocation - code size : %" SIZ_FORM "\n", size - ++ cblock_size - data_size); ++if (data_size != 0) ++ fprintf(outfile, "Memory allocation - data size : %" SIZ_FORM "\n", data_size); + + if (pat_patctl.jit != 0) + { + (void)pattern_info(PCRE2_INFO_JITSIZE, &size, FALSE); +- fprintf(outfile, "Memory allocation - JIT code : %" SIZ_FORM "\n", size); ++ fprintf(outfile, "Memory allocation - JIT code : %" SIZ_FORM "\n", size); + } + } + +diff --git a/testdata/testoutput8-16-2 b/testdata/testoutput8-16-2 +index bcb9e177..108c0bea 100644 +--- a/testdata/testoutput8-16-2 ++++ b/testdata/testoutput8-16-2 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 5 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 174 +-Memory allocation - code portion : 38 ++Memory allocation - code size : 38 + ------------------------------------------------------------------ + 0 16 Bra + 2 7 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 38 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 15 Bra + 2 6 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 182 +-Memory allocation - code portion : 46 ++Memory allocation - code size : 46 + ------------------------------------------------------------------ + 0 20 Bra + 2 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 46 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 2 Bra + 2 2 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 7 Bra + 2 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 10 Bra + 2 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 26 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 278 +-Memory allocation - code portion : 142 ++Memory allocation - code size : 142 + ------------------------------------------------------------------ + 0 68 Bra + 2 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 142 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1784 +-Memory allocation - code portion : 1648 ++Memory allocation - code size : 1648 + ------------------------------------------------------------------ + 0 821 Bra + 2 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 1648 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1764 +-Memory allocation - code portion : 1628 ++Memory allocation - code size : 1628 + ------------------------------------------------------------------ + 0 811 Bra + 2 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 1628 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 13 Bra + 2 9 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 176 +-Memory allocation - code portion : 40 ++Memory allocation - code size : 40 + ------------------------------------------------------------------ + 0 17 Bra + 2 13 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 40 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 242 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 ++Memory allocation - data size : 52 + ------------------------------------------------------------------ + 0 24 Bra + 2 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 218 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 ++Memory allocation - data size : 18 + ------------------------------------------------------------------ + 0 29 Bra + 2 18 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 ++Memory allocation - data size : 6 + ------------------------------------------------------------------ + 0 24 Bra + 2 5 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 22 Bra + 2 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 214 +-Memory allocation - code portion : 78 ++Memory allocation - code size : 78 + ------------------------------------------------------------------ + 0 36 Bra + 2 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 78 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 5 Bra + 2 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 16 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 5 Bra + 2 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 16 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 5 Bra + 2 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 16 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 10 Bra + 2 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 190 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 + ------------------------------------------------------------------ + 0 24 Bra + 2 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 26 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 26 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 27 Bra + 2 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 194 +-Memory allocation - code portion : 58 ++Memory allocation - code size : 58 + ------------------------------------------------------------------ + 0 26 Bra + 2 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 58 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 13 Bra + 2 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 13 Bra + 2 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 23 Bra + 2 19 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 178 +-Memory allocation - code portion : 42 ++Memory allocation - code size : 42 + ------------------------------------------------------------------ + 0 18 Bra + 2 14 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 42 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +diff --git a/testdata/testoutput8-16-3 b/testdata/testoutput8-16-3 +index 4ec13ea9..28acd251 100644 +--- a/testdata/testoutput8-16-3 ++++ b/testdata/testoutput8-16-3 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 6 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 20 Bra + 3 8 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 182 +-Memory allocation - code portion : 46 ++Memory allocation - code size : 46 + ------------------------------------------------------------------ + 0 19 Bra + 3 7 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 46 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 21 Bra + 3 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 3 Bra + 3 3 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 8 Bra + 3 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 170 +-Memory allocation - code portion : 34 ++Memory allocation - code size : 34 + ------------------------------------------------------------------ + 0 13 Bra + 3 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 34 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 302 +-Memory allocation - code portion : 166 ++Memory allocation - code size : 166 + ------------------------------------------------------------------ + 0 79 Bra + 3 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 166 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1788 +-Memory allocation - code portion : 1652 ++Memory allocation - code size : 1652 + ------------------------------------------------------------------ + 0 822 Bra + 3 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 1652 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1768 +-Memory allocation - code portion : 1632 ++Memory allocation - code size : 1632 + ------------------------------------------------------------------ + 0 812 Bra + 3 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 1632 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 178 +-Memory allocation - code portion : 42 ++Memory allocation - code size : 42 + ------------------------------------------------------------------ + 0 17 Bra + 3 11 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 42 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 190 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 + ------------------------------------------------------------------ + 0 23 Bra + 3 17 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 68 ++Memory allocation - code size : 68 ++Memory allocation - data size : 52 + ------------------------------------------------------------------ + 0 30 Bra + 3 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 68 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 238 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 ++Memory allocation - data size : 18 + ------------------------------------------------------------------ + 0 38 Bra + 3 23 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 206 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 ++Memory allocation - data size : 6 + ------------------------------------------------------------------ + 0 28 Bra + 3 6 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 198 +-Memory allocation - code portion : 62 ++Memory allocation - code size : 62 + ------------------------------------------------------------------ + 0 27 Bra + 3 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 62 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 242 +-Memory allocation - code portion : 106 ++Memory allocation - code size : 106 + ------------------------------------------------------------------ + 0 49 Bra + 3 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 106 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 20 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 9 Bra + 3 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 9 Bra + 3 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 26 Bra + 3 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 32 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 202 +-Memory allocation - code portion : 66 ++Memory allocation - code size : 66 + ------------------------------------------------------------------ + 0 29 Bra + 3 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 66 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 28 Bra + 3 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 14 Bra + 3 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 14 Bra + 3 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 206 +-Memory allocation - code portion : 70 ++Memory allocation - code size : 70 + ------------------------------------------------------------------ + 0 31 Bra + 3 25 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 70 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 192 +-Memory allocation - code portion : 56 ++Memory allocation - code size : 56 + ------------------------------------------------------------------ + 0 24 Bra + 3 18 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 56 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +diff --git a/testdata/testoutput8-16-4 b/testdata/testoutput8-16-4 +index 4ec13ea9..28acd251 100644 +--- a/testdata/testoutput8-16-4 ++++ b/testdata/testoutput8-16-4 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 6 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 20 Bra + 3 8 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 182 +-Memory allocation - code portion : 46 ++Memory allocation - code size : 46 + ------------------------------------------------------------------ + 0 19 Bra + 3 7 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 46 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 21 Bra + 3 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 3 Bra + 3 3 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 8 Bra + 3 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 170 +-Memory allocation - code portion : 34 ++Memory allocation - code size : 34 + ------------------------------------------------------------------ + 0 13 Bra + 3 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 34 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 302 +-Memory allocation - code portion : 166 ++Memory allocation - code size : 166 + ------------------------------------------------------------------ + 0 79 Bra + 3 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 166 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1788 +-Memory allocation - code portion : 1652 ++Memory allocation - code size : 1652 + ------------------------------------------------------------------ + 0 822 Bra + 3 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 1652 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1768 +-Memory allocation - code portion : 1632 ++Memory allocation - code size : 1632 + ------------------------------------------------------------------ + 0 812 Bra + 3 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 1632 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 178 +-Memory allocation - code portion : 42 ++Memory allocation - code size : 42 + ------------------------------------------------------------------ + 0 17 Bra + 3 11 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 42 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 190 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 + ------------------------------------------------------------------ + 0 23 Bra + 3 17 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 68 ++Memory allocation - code size : 68 ++Memory allocation - data size : 52 + ------------------------------------------------------------------ + 0 30 Bra + 3 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 68 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 238 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 ++Memory allocation - data size : 18 + ------------------------------------------------------------------ + 0 38 Bra + 3 23 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 206 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 ++Memory allocation - data size : 6 + ------------------------------------------------------------------ + 0 28 Bra + 3 6 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 198 +-Memory allocation - code portion : 62 ++Memory allocation - code size : 62 + ------------------------------------------------------------------ + 0 27 Bra + 3 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 62 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 242 +-Memory allocation - code portion : 106 ++Memory allocation - code size : 106 + ------------------------------------------------------------------ + 0 49 Bra + 3 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 106 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 20 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 9 Bra + 3 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 9 Bra + 3 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 26 Bra + 3 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 32 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 202 +-Memory allocation - code portion : 66 ++Memory allocation - code size : 66 + ------------------------------------------------------------------ + 0 29 Bra + 3 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 66 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 28 Bra + 3 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 14 Bra + 3 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 14 Bra + 3 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 206 +-Memory allocation - code portion : 70 ++Memory allocation - code size : 70 + ------------------------------------------------------------------ + 0 31 Bra + 3 25 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 70 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 192 +-Memory allocation - code portion : 56 ++Memory allocation - code size : 56 + ------------------------------------------------------------------ + 0 24 Bra + 3 18 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 56 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +diff --git a/testdata/testoutput8-32-2 b/testdata/testoutput8-32-2 +index d76f3aaa..90ea536f 100644 +--- a/testdata/testoutput8-32-2 ++++ b/testdata/testoutput8-32-2 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 5 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 7 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 208 +-Memory allocation - code portion : 72 ++Memory allocation - code size : 72 + ------------------------------------------------------------------ + 0 15 Bra + 2 6 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 72 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 2 Bra + 2 2 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 176 +-Memory allocation - code portion : 40 ++Memory allocation - code size : 40 + ------------------------------------------------------------------ + 0 7 Bra + 2 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 40 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 356 +-Memory allocation - code portion : 220 ++Memory allocation - code size : 220 + ------------------------------------------------------------------ + 0 52 Bra + 2 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 220 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3432 +-Memory allocation - code portion : 3296 ++Memory allocation - code size : 3296 + ------------------------------------------------------------------ + 0 821 Bra + 2 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 3296 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3392 +-Memory allocation - code portion : 3256 ++Memory allocation - code size : 3256 + ------------------------------------------------------------------ + 0 811 Bra + 2 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 3256 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 13 Bra + 2 9 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 216 +-Memory allocation - code portion : 80 ++Memory allocation - code size : 80 + ------------------------------------------------------------------ + 0 17 Bra + 2 13 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 80 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 348 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 104 + ------------------------------------------------------------------ + 0 24 Bra + 2 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 300 +-Memory allocation - code portion : 128 ++Memory allocation - code size : 128 ++Memory allocation - data size : 36 + ------------------------------------------------------------------ + 0 29 Bra + 2 18 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 128 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 24 Bra + 2 5 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 236 +-Memory allocation - code portion : 100 ++Memory allocation - code size : 100 + ------------------------------------------------------------------ + 0 22 Bra + 2 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 100 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 292 +-Memory allocation - code portion : 156 ++Memory allocation - code size : 156 + ------------------------------------------------------------------ + 0 36 Bra + 2 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 156 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 28 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 52 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 224 +-Memory allocation - code portion : 88 ++Memory allocation - code size : 88 + ------------------------------------------------------------------ + 0 19 Bra + 2 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 88 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 240 +-Memory allocation - code portion : 104 ++Memory allocation - code size : 104 + ------------------------------------------------------------------ + 0 23 Bra + 2 19 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 104 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 14 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +diff --git a/testdata/testoutput8-32-3 b/testdata/testoutput8-32-3 +index d76f3aaa..90ea536f 100644 +--- a/testdata/testoutput8-32-3 ++++ b/testdata/testoutput8-32-3 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 5 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 7 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 208 +-Memory allocation - code portion : 72 ++Memory allocation - code size : 72 + ------------------------------------------------------------------ + 0 15 Bra + 2 6 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 72 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 2 Bra + 2 2 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 176 +-Memory allocation - code portion : 40 ++Memory allocation - code size : 40 + ------------------------------------------------------------------ + 0 7 Bra + 2 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 40 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 356 +-Memory allocation - code portion : 220 ++Memory allocation - code size : 220 + ------------------------------------------------------------------ + 0 52 Bra + 2 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 220 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3432 +-Memory allocation - code portion : 3296 ++Memory allocation - code size : 3296 + ------------------------------------------------------------------ + 0 821 Bra + 2 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 3296 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3392 +-Memory allocation - code portion : 3256 ++Memory allocation - code size : 3256 + ------------------------------------------------------------------ + 0 811 Bra + 2 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 3256 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 13 Bra + 2 9 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 216 +-Memory allocation - code portion : 80 ++Memory allocation - code size : 80 + ------------------------------------------------------------------ + 0 17 Bra + 2 13 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 80 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 348 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 104 + ------------------------------------------------------------------ + 0 24 Bra + 2 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 300 +-Memory allocation - code portion : 128 ++Memory allocation - code size : 128 ++Memory allocation - data size : 36 + ------------------------------------------------------------------ + 0 29 Bra + 2 18 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 128 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 24 Bra + 2 5 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 236 +-Memory allocation - code portion : 100 ++Memory allocation - code size : 100 + ------------------------------------------------------------------ + 0 22 Bra + 2 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 100 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 292 +-Memory allocation - code portion : 156 ++Memory allocation - code size : 156 + ------------------------------------------------------------------ + 0 36 Bra + 2 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 156 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 28 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 52 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 224 +-Memory allocation - code portion : 88 ++Memory allocation - code size : 88 + ------------------------------------------------------------------ + 0 19 Bra + 2 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 88 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 240 +-Memory allocation - code portion : 104 ++Memory allocation - code size : 104 + ------------------------------------------------------------------ + 0 23 Bra + 2 19 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 104 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 14 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +diff --git a/testdata/testoutput8-32-4 b/testdata/testoutput8-32-4 +index d76f3aaa..90ea536f 100644 +--- a/testdata/testoutput8-32-4 ++++ b/testdata/testoutput8-32-4 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 5 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 7 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 208 +-Memory allocation - code portion : 72 ++Memory allocation - code size : 72 + ------------------------------------------------------------------ + 0 15 Bra + 2 6 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 72 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 2 Bra + 2 2 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 176 +-Memory allocation - code portion : 40 ++Memory allocation - code size : 40 + ------------------------------------------------------------------ + 0 7 Bra + 2 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 40 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 356 +-Memory allocation - code portion : 220 ++Memory allocation - code size : 220 + ------------------------------------------------------------------ + 0 52 Bra + 2 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 220 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3432 +-Memory allocation - code portion : 3296 ++Memory allocation - code size : 3296 + ------------------------------------------------------------------ + 0 821 Bra + 2 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 3296 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3392 +-Memory allocation - code portion : 3256 ++Memory allocation - code size : 3256 + ------------------------------------------------------------------ + 0 811 Bra + 2 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 3256 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 13 Bra + 2 9 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 216 +-Memory allocation - code portion : 80 ++Memory allocation - code size : 80 + ------------------------------------------------------------------ + 0 17 Bra + 2 13 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 80 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 348 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 104 + ------------------------------------------------------------------ + 0 24 Bra + 2 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 300 +-Memory allocation - code portion : 128 ++Memory allocation - code size : 128 ++Memory allocation - data size : 36 + ------------------------------------------------------------------ + 0 29 Bra + 2 18 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 128 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 24 Bra + 2 5 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 236 +-Memory allocation - code portion : 100 ++Memory allocation - code size : 100 + ------------------------------------------------------------------ + 0 22 Bra + 2 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 100 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 292 +-Memory allocation - code portion : 156 ++Memory allocation - code size : 156 + ------------------------------------------------------------------ + 0 36 Bra + 2 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 156 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 28 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 52 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 224 +-Memory allocation - code portion : 88 ++Memory allocation - code size : 88 + ------------------------------------------------------------------ + 0 19 Bra + 2 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 88 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 240 +-Memory allocation - code portion : 104 ++Memory allocation - code size : 104 + ------------------------------------------------------------------ + 0 23 Bra + 2 19 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 104 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 14 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +diff --git a/testdata/testoutput8-8-2 b/testdata/testoutput8-8-2 +index f3811d95..779552ac 100644 +--- a/testdata/testoutput8-8-2 ++++ b/testdata/testoutput8-8-2 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 153 +-Memory allocation - code portion : 17 ++Memory allocation - code size : 17 + ------------------------------------------------------------------ + 0 13 Bra + 3 7 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 17 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 161 +-Memory allocation - code portion : 25 ++Memory allocation - code size : 25 + ------------------------------------------------------------------ + 0 21 Bra + 3 9 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 25 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 159 +-Memory allocation - code portion : 23 ++Memory allocation - code size : 23 + ------------------------------------------------------------------ + 0 19 Bra + 3 7 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 23 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 177 +-Memory allocation - code portion : 41 ++Memory allocation - code size : 41 + ------------------------------------------------------------------ + 0 37 Bra + 3 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 41 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 143 +-Memory allocation - code portion : 7 ++Memory allocation - code size : 7 + ------------------------------------------------------------------ + 0 3 Bra + 3 3 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 9 Bra + 3 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 14 Bra + 3 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 120 ++Memory allocation - code size : 120 + ------------------------------------------------------------------ + 0 116 Bra + 3 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 120 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 962 +-Memory allocation - code portion : 826 ++Memory allocation - code size : 826 + ------------------------------------------------------------------ + 0 822 Bra + 3 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 826 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 952 +-Memory allocation - code portion : 816 ++Memory allocation - code size : 816 + ------------------------------------------------------------------ + 0 812 Bra + 3 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 816 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 18 Bra + 3 12 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 22 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 24 Bra + 3 18 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 ++Memory allocation - data size : 28 + ------------------------------------------------------------------ + 0 32 Bra + 3 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 193 +-Memory allocation - code portion : 45 ++Memory allocation - code size : 45 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 41 Bra + 3 25 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 45 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 174 +-Memory allocation - code portion : 34 ++Memory allocation - code size : 34 ++Memory allocation - data size : 4 + ------------------------------------------------------------------ + 0 30 Bra + 3 7 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 34 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 167 +-Memory allocation - code portion : 31 ++Memory allocation - code size : 31 + ------------------------------------------------------------------ + 0 27 Bra + 3 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 31 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 189 +-Memory allocation - code portion : 53 ++Memory allocation - code size : 53 + ------------------------------------------------------------------ + 0 49 Bra + 3 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 53 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 7 Bra + 3 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 8 Bra + 3 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 8 Bra + 3 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 8 Bra + 3 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 12 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 14 Bra + 3 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 155 +-Memory allocation - code portion : 19 ++Memory allocation - code size : 19 + ------------------------------------------------------------------ + 0 15 Bra + 3 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \xb4 + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 155 +-Memory allocation - code portion : 19 ++Memory allocation - code size : 19 + ------------------------------------------------------------------ + 0 15 Bra + 3 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x9e + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 183 +-Memory allocation - code portion : 47 ++Memory allocation - code size : 47 + ------------------------------------------------------------------ + 0 43 Bra + 3 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 47 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 14 Bra + 3 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 14 Bra + 3 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 18 + Failed: error 106 at offset 15: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 46 Bra + 3 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 44 Bra + 3 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 161 +-Memory allocation - code portion : 25 ++Memory allocation - code size : 25 + ------------------------------------------------------------------ + 0 21 Bra + 3 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 25 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 161 +-Memory allocation - code portion : 25 ++Memory allocation - code size : 25 + ------------------------------------------------------------------ + 0 21 Bra + 3 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 25 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 153 +-Memory allocation - code portion : 17 ++Memory allocation - code size : 17 + ------------------------------------------------------------------ + 0 13 Bra + 3 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 17 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 174 +-Memory allocation - code portion : 38 ++Memory allocation - code size : 38 + ------------------------------------------------------------------ + 0 34 Bra + 3 28 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 38 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 26 Bra + 3 20 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 [^\x{aa}] +diff --git a/testdata/testoutput8-8-3 b/testdata/testoutput8-8-3 +index 48e0b8aa..2657ce89 100644 +--- a/testdata/testoutput8-8-3 ++++ b/testdata/testoutput8-8-3 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 8 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 25 Bra + 4 10 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 23 Bra + 4 8 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 179 +-Memory allocation - code portion : 43 ++Memory allocation - code size : 43 + ------------------------------------------------------------------ + 0 38 Bra + 4 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 43 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 4 Bra + 4 4 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 10 Bra + 4 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 17 Bra + 4 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 22 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 268 +-Memory allocation - code portion : 132 ++Memory allocation - code size : 132 + ------------------------------------------------------------------ + 0 127 Bra + 4 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 132 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 964 +-Memory allocation - code portion : 828 ++Memory allocation - code size : 828 + ------------------------------------------------------------------ + 0 823 Bra + 4 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 828 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 954 +-Memory allocation - code portion : 818 ++Memory allocation - code size : 818 + ------------------------------------------------------------------ + 0 813 Bra + 4 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 818 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 163 +-Memory allocation - code portion : 27 ++Memory allocation - code size : 27 + ------------------------------------------------------------------ + 0 22 Bra + 4 14 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 27 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 171 +-Memory allocation - code portion : 35 ++Memory allocation - code size : 35 + ------------------------------------------------------------------ + 0 30 Bra + 4 22 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 35 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 207 +-Memory allocation - code portion : 43 ++Memory allocation - code size : 43 ++Memory allocation - data size : 28 + ------------------------------------------------------------------ + 0 38 Bra + 4 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 43 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 203 +-Memory allocation - code portion : 55 ++Memory allocation - code size : 55 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 50 Bra + 4 30 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 55 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 179 +-Memory allocation - code portion : 39 ++Memory allocation - code size : 39 ++Memory allocation - data size : 4 + ------------------------------------------------------------------ + 0 34 Bra + 4 8 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 39 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 173 +-Memory allocation - code portion : 37 ++Memory allocation - code size : 37 + ------------------------------------------------------------------ + 0 32 Bra + 4 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 37 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 203 +-Memory allocation - code portion : 67 ++Memory allocation - code size : 67 + ------------------------------------------------------------------ + 0 62 Bra + 4 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 67 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 8 Bra + 4 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 9 Bra + 4 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 9 Bra + 4 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 9 Bra + 4 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 14 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 15 Bra + 4 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \xb4 + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x9e + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 45 Bra + 4 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 21 + Failed: error 106 at offset 15: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 189 +-Memory allocation - code portion : 53 ++Memory allocation - code size : 53 + ------------------------------------------------------------------ + 0 48 Bra + 4 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 53 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 187 +-Memory allocation - code portion : 51 ++Memory allocation - code size : 51 + ------------------------------------------------------------------ + 0 46 Bra + 4 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 51 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 163 +-Memory allocation - code portion : 27 ++Memory allocation - code size : 27 + ------------------------------------------------------------------ + 0 22 Bra + 4 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 27 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 163 +-Memory allocation - code portion : 27 ++Memory allocation - code size : 27 + ------------------------------------------------------------------ + 0 22 Bra + 4 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 27 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 15 Bra + 4 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 183 +-Memory allocation - code portion : 47 ++Memory allocation - code size : 47 + ------------------------------------------------------------------ + 0 42 Bra + 4 34 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 47 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 173 +-Memory allocation - code portion : 37 ++Memory allocation - code size : 37 + ------------------------------------------------------------------ + 0 32 Bra + 4 24 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 37 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 [^\x{aa}] +diff --git a/testdata/testoutput8-8-4 b/testdata/testoutput8-8-4 +index 81cf0f76..8bfac41a 100644 +--- a/testdata/testoutput8-8-4 ++++ b/testdata/testoutput8-8-4 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 161 +-Memory allocation - code portion : 25 ++Memory allocation - code size : 25 + ------------------------------------------------------------------ + 0 19 Bra + 5 9 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 25 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 171 +-Memory allocation - code portion : 35 ++Memory allocation - code size : 35 + ------------------------------------------------------------------ + 0 29 Bra + 5 11 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 35 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 169 +-Memory allocation - code portion : 33 ++Memory allocation - code size : 33 + ------------------------------------------------------------------ + 0 27 Bra + 5 9 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 33 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 181 +-Memory allocation - code portion : 45 ++Memory allocation - code size : 45 + ------------------------------------------------------------------ + 0 39 Bra + 5 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 45 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 5 Bra + 5 5 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 153 +-Memory allocation - code portion : 17 ++Memory allocation - code size : 17 + ------------------------------------------------------------------ + 0 11 Bra + 5 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 17 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 20 Bra + 5 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 26 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 280 +-Memory allocation - code portion : 144 ++Memory allocation - code size : 144 + ------------------------------------------------------------------ + 0 138 Bra + 5 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 144 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 966 +-Memory allocation - code portion : 830 ++Memory allocation - code size : 830 + ------------------------------------------------------------------ + 0 824 Bra + 5 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 830 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 956 +-Memory allocation - code portion : 820 ++Memory allocation - code size : 820 + ------------------------------------------------------------------ + 0 814 Bra + 5 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 820 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 26 Bra + 5 16 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 178 +-Memory allocation - code portion : 42 ++Memory allocation - code size : 42 + ------------------------------------------------------------------ + 0 36 Bra + 5 26 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 42 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 214 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 ++Memory allocation - data size : 28 + ------------------------------------------------------------------ + 0 44 Bra + 5 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 213 +-Memory allocation - code portion : 65 ++Memory allocation - code size : 65 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 59 Bra + 5 35 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 65 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 ++Memory allocation - data size : 4 + ------------------------------------------------------------------ + 0 38 Bra + 5 9 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 44 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 179 +-Memory allocation - code portion : 43 ++Memory allocation - code size : 43 + ------------------------------------------------------------------ + 0 37 Bra + 5 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 43 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 217 +-Memory allocation - code portion : 81 ++Memory allocation - code size : 81 + ------------------------------------------------------------------ + 0 75 Bra + 5 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 81 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 9 Bra + 5 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 10 Bra + 5 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 16 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 10 Bra + 5 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 16 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 10 Bra + 5 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 16 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 16 Bra + 5 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 159 +-Memory allocation - code portion : 23 ++Memory allocation - code size : 23 + ------------------------------------------------------------------ + 0 17 Bra + 5 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \xb4 + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 159 +-Memory allocation - code portion : 23 ++Memory allocation - code size : 23 + ------------------------------------------------------------------ + 0 17 Bra + 5 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x9e + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 189 +-Memory allocation - code portion : 53 ++Memory allocation - code size : 53 + ------------------------------------------------------------------ + 0 47 Bra + 5 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 53 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 18 Bra + 5 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 18 Bra + 5 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 24 + Failed: error 106 at offset 15: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 192 +-Memory allocation - code portion : 56 ++Memory allocation - code size : 56 + ------------------------------------------------------------------ + 0 50 Bra + 5 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 56 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 190 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 + ------------------------------------------------------------------ + 0 48 Bra + 5 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 165 +-Memory allocation - code portion : 29 ++Memory allocation - code size : 29 + ------------------------------------------------------------------ + 0 23 Bra + 5 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 29 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 165 +-Memory allocation - code portion : 29 ++Memory allocation - code size : 29 + ------------------------------------------------------------------ + 0 23 Bra + 5 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 29 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 159 +-Memory allocation - code portion : 23 ++Memory allocation - code size : 23 + ------------------------------------------------------------------ + 0 17 Bra + 5 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 23 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 192 +-Memory allocation - code portion : 56 ++Memory allocation - code size : 56 + ------------------------------------------------------------------ + 0 50 Bra + 5 40 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 56 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 38 Bra + 5 28 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 44 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 [^\x{aa}] diff --git a/pcre2-10.44.tar.bz2 b/pcre2-10.44.tar.bz2 new file mode 100644 index 0000000..181fe0b --- /dev/null +++ b/pcre2-10.44.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d34f02e113cf7193a1ebf2770d3ac527088d485d4e047ed10e5d217c6ef5de96 +size 1928086 diff --git a/pcre2-10.44.tar.bz2.sig b/pcre2-10.44.tar.bz2.sig new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..66a23fd71ca3f1a8aa635b6ef6fdd0930001d2041602a2154df3587c135adeb1 GIT binary patch literal 310 zcmV-60m=S}0W$;u0SEvc79j*h_Kj4#;y<$kn?~iAX5fVT4@1}m0%l_qApi;q5SM1) zg!>Oe*hKaR{x&*LvgiZS7jl}H9|d&PzM3xUXt}1>3TEk91Mc>l3AcI>8-yp0jbA2~ zI=3%xV16($pq6iOg|pSdc0Fu4p`s{2DNhjsK9`-GT>+TpCCQ-exfS3#p(b{E9uwmf zhWtFktz%_M%J&Eqn;m_FI8f312Qm*Vl8<6LjyL__Sl1 zV>z3Sf@6eEZMt#d>Bv(AyzQ|1$lU9ep1ti| zF|}FBL~n=SNxbB?+0ZNm*BH&m(6uxN#J(&ub!ne6`3!nfBj)loZYDCAEH~JJdbR0B I)0FuE5z?rZ4gdfE literal 0 HcmV?d00001 diff --git a/pcre2-10.45.tar.bz2 b/pcre2-10.45.tar.bz2 new file mode 100644 index 0000000..585688b --- /dev/null +++ b/pcre2-10.45.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21547f3516120c75597e5b30a992e27a592a31950b5140e7b8bfde3f192033c4 +size 2072403 diff --git a/pcre2-10.45.tar.bz2.sig b/pcre2-10.45.tar.bz2.sig new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..54ad00e7189cfb3b7db7f427795d0e5a0e71a6ef718f6a12e71bb629925503af GIT binary patch literal 566 zcmV-60?GY}0y6{v0SEvc79j+>&vEet1l4vN3Dc4S9pnr9W3&bZ0%xL#ssIWJ5CR?K z3;ScV22f!T0D^nQ6xY=79@L5f@L`p;VxayUtdc23$Q=1twh&6h0ZBb`VI0m$!G)#C zTI4Kb3-vTN@ILdmnZ6x!evzTosaPeln09h58GB^aPgx?83^1)u$1hrZp1c87@8w4K zsWP5)=_%vqsr3h}jrjJud7p=op%?*vJLkavS1NV3b}+bG*C6EGhSE<&{Yb9?g10(( z+5K%~F&WZo8k0gnNHduz(<>X<#QZ;Emt#mDJ00S=(N|N0@7MZ`ajH7=2REZ3(whgz z*Vl{e^CjzE9J%6&%%>2E2d>RRWpG}F5%N}N_T37}{ycVM5`MK40@+kPPhXhH*l-nd zUlhX!B9hLAA(};a!q%~2$l-J~8p$|b%j zyYRs4GFVsr7+V?rRoHLdDVM@UX6o>FM=tC~yj5dWLBs~b1#I#Z@p0u4bn7#^htGo}i>D?nzzv5ZSM zyft8m(#Pe&DM~TH1p@~lwN)wZ8cFv2j7$($W()zL9;7p1NHNizVv-NR7o~4-!9Nsb E)a1?$*#H0l literal 0 HcmV?d00001 diff --git a/pcre2.changes b/pcre2.changes new file mode 100644 index 0000000..bbe5cc2 --- /dev/null +++ b/pcre2.changes @@ -0,0 +1,1467 @@ +------------------------------------------------------------------- +Sun Mar 30 15:44:02 UTC 2025 - Andreas Stieger + +- Update to 10.45: + * New upstream maintainers (and signing key) + * Update Unicode support to UCD 16 + * Case-insensitive matching of Unicode properties Ll, Lt, and Lu + has been changed to match Perl + * Case-insensitive matching of backreferences now respects the + PCRE2_EXTRA_CASELESS_RESTRICT option + * Parsing of the \x escape is stricter, and is no longer parsed + as an escape for the NUL character if not followed by '{' or + a hexadecimal digit. Use \x00 instead. + * Add a new feature called scan substring. This is a type of + assertion which matches the content of a capturing block to a + sub-pattern. + * Add support for UTS#18 compatible character classes + * Add support for Perl-style extended character classes + * JIT compilation now fails with the new error code + PCRE2_ERROR_JIT_UNSUPPORTED for patterns which use features not + supported by the JIT compiler. + * New options PCRE2_EXTRA_NO_BS0 (disallow \0 as an escape for + the NUL character); PCRE2_EXTRA_PYTHON_OCTAL (use Python + disambiguation rules for deciding whether \12 is a + backreference or an octal escape); PCRE2_EXTRA_NEVER_CALLOUT + (disable callout syntax entirely); PCRE2_EXTRA_TURKISH_CASING + (use Turkish rules for case-insensitive matching). + * Add new API function pcre2_set_optimize() for + controlling which optimizations are enabled. + * A variety of extensions have been made to pcre2_substitute() + and its syntax for replacement strings. These now support: + \123 octal escapes; titlecasing \u\L; \1 backreferences; \g<1> + and $ backreferences; $& $` $' and $_; new function + pcre2_set_substitute_case_callout() to allow locale-aware case + transformation. +- drop pcre2-10.44-github-issue-415.patch, included upstream +- update license to BSD-3-Clause WITH PCRE2-exception and cascade + to subpackages and parts (boo#1240358) + +------------------------------------------------------------------- +Fri Aug 16 17:37:57 UTC 2024 - Martin Schreiner + +- Fix GitHub issue #415: Test suite fails when targeting i686. + The fix is taken straight from PR #418, also on GitHub. +- Add patch file: + * pcre2-10.44-github-issue-415.patch + +------------------------------------------------------------------- +Sun Jun 30 21:58:45 UTC 2024 - Dirk Müller + +- update to 10.44: + * This is mostly a bug-fix and tidying release. There is one + new function, to set a maximum size for a compiled pattern. + The maximum name length for groups is increased to 128. + * Some auxiliary files for building under VMS are added. + +------------------------------------------------------------------- +Fri Feb 16 21:06:08 UTC 2024 - Andreas Stieger + +- pcre2 10.43: + * The JIT code no longer supports ARMv5 architecture. + * A new function pcre2_get_match_data_heapframes_size() for finer + heap control. + * New option flags to restrict the interaction between ASCII and + non-ASCII characters for caseless matching and \d and friends. + There are also new pattern constructs to control these flags + from within a pattern. + * Upgrade to Unicode 15.0.0. + * Treat a NULL pattern with zero length as an empty string. + * Added support for limited-length variable-length lookbehind + assertions, with a default maximum length of 255 characters + (same as Perl) but with a function to adjust the limit. + * Perl changed the meaning of (for example) {,3} which did not + used to be recognized as a quantifier. Now it means {0,3} and + PCRE2 has also changed. Note that {,} is still not a + quantifier. + * Following Perl, allow spaces and tabs after { and before } in + all Perl- compatible items that use braces, and also around + commas in quantifiers. The one exception in PCRE2 is \u{...}, + which is from ECMAScript, not Perl, and PCRE2 follows + ECMAScript usage. + * Changed the meaning of \w and its synonyms and derivatives (\b + and \B) in UCP mode to follow Perl. It now matches characters + whose general categories are L or N or whose particular + categories are Mn (non-spacing mark) or Pc (combining + punctuation). + * Changed the default meaning of [:xdigit:] in UCP mode to + follow Perl. It now matches the "fullwidth" versions of hex + digits. PCRE2_EXTRA_ASCII_DIGIT can be used to keep it ASCII + only. + * Make PCRE2_UCP the default in UTF mode in pcre2grep and add + -no_ucp, --case-restrict and --posix-digit. + * Add --group-separator and --no-group-separator to pcre2grep. + +------------------------------------------------------------------- +Mon Dec 12 20:19:14 UTC 2022 - Andreas Stieger + +- pcre2 10.42: + * Fix 10.41 regression that added the default definition of + PCRE2_CALL_CONVENTION to pcre2posix.c instead of pcre2posix.h, + which meant that programs including pcre2posix.h but not pcre2.h + couldn't compile + * Fix an intermittent JIT fault and minor issues + +------------------------------------------------------------------- +Mon Dec 12 08:58:58 UTC 2022 - Dirk Müller + +- switch to pkgconfig(zlib) so that alternative providers can be + used + +------------------------------------------------------------------- +Tue Dec 6 21:30:50 UTC 2022 - Andreas Stieger + +- pcre2 10.41: + * pcre2grep behaves more like GNU grep for multiple patterns that + match more than once on a line + +------------------------------------------------------------------- +Sun Jul 31 06:54:48 UTC 2022 - Stephan Kulow + +- Fix the profiling call to be non-parallel again (fighting spec cleaner) + +------------------------------------------------------------------- +Thu May 5 08:15:44 UTC 2022 - pgajdos@suse.com + +- do not enable jit-sealloc [bsc#1182864] [bsc#1199208] + +------------------------------------------------------------------- +Thu May 5 06:52:30 UTC 2022 - pgajdos@suse.com + +- enable jit for s390x [bsc#1199196] + +------------------------------------------------------------------- +Sat Apr 16 10:50:31 UTC 2022 - Andreas Stieger + +- pcre2 10.40: + * Added support for Bidi_Class and a number of binary Unicode + properties, including Bidi_Control. + * A number of changes to script matching for \p and \P: + speed improvements, add the syntax \p{script:xxx} and + \p{script_extensions:xxx} (synonyms sc and scx), Changed + \p{scriptname} from being the same as \p{sc:scriptname} to + being the same as \p{scx:scriptname}, recognize the standard + Unicode 4-letter abbreviations for script names, implement + Unicode and Perl's "loose matching" rules on property names + +------------------------------------------------------------------- +Fri Nov 5 19:01:43 UTC 2021 - Andreas Stieger + +- pcre2 10.39: + * Fix incorrect detection of alternatives in first character + search in JIT + * Update to Unicode 14.0.0 + +------------------------------------------------------------------- +Sun Oct 24 14:41:00 UTC 2021 - Andreas Stieger + +- pcre2 10.38: + * Following Perl's lead, \K is now locked out in lookaround + assertions by default, but an option is provided to re-enable + the previous behaviour + +------------------------------------------------------------------- +Thu May 27 12:30:17 UTC 2021 - Andreas Stieger + +- pcre2 10.37: + * removal of the actual POSIX names regcomp etc. from the POSIX + wrapper library because these have caused issues for some + applications, replacing pcre2-symbol-clash.patch + * fix a hypothetical NULL dereference + * fix two bugs related to over-large numbers so the behaviour is + now the same as Perl + * Fix propagation of \K back from the full pattern recursion + * Restore single character repetition optimization in JIT + +------------------------------------------------------------------- +Wed Apr 14 09:57:53 UTC 2021 - Jan Engelhardt + +- Remove regcomp, regexec etc. from libpcre2-posix. + (Add pcre2-symbol-clash.patch) + +------------------------------------------------------------------- +Sat Dec 5 12:41:55 UTC 2020 - Andreas Stieger + +- pcre2 10.36: + * add GNU grep's -m (aka --max-count) option to pcre2grep + * unify the handling of substitution strings for both -O and + callouts in pcre2grep, with the addition of $x{...} and + $o{...} to allow for characters whose code points are greater + than 255 in Unicode mode + +------------------------------------------------------------------- +Wed May 13 22:24:30 UTC 2020 - Илья Индиго + +- Refresh spec-file via spec-cleaner. + * Add %make_build and %license macros. +- Update to 10.35 + * https://www.pcre.org/changelog.txt + * Use PCRE2_MATCH_EMPTY flag to detect empty matches in JIT. + * A JIT bug is fixed which allowed to read the fields + of the compiled pattern before its existence is checked. + * Added PCRE2_SUBSTITUTE_LITERAL. + * Avoid some VS compiler warnings. + * Added PCRE2_SUBSTITUTE_MATCHED. + * Added (?* and (?<* as synonms for (*napla: and (*naplb: + to match another regex engine. + * Fix *THEN verbs in lookahead assertions in JIT. + * Added PCRE2_SUBSTITUTE_REPLACEMENT_ONLY. + * The JIT stack should be freed when the low-level stack + allocation fails. + * Changed setting of CMAKE_MODULE_PATH in CMakeLists.txt from SET + to LIST(APPEND...) to allow a setting from the command line + to be included. + * Updated to Unicode 13.0.0. + * CMake build now checks for secure_getenv() and strerror(). + * Restrict the configuration setting for the SELinux compatible + execmem allocator (change 10.30/44) to Linux and NetBSD. + +------------------------------------------------------------------- +Fri Mar 27 16:26:54 UTC 2020 - Marketa Calabkova + +- Resubmit the package (bsc#1167890, jsc#SLE-11608) + +------------------------------------------------------------------- +Tue Nov 26 21:24:43 UTC 2019 - Andreas Schwab + +- Enable JIT on aarch64 + +------------------------------------------------------------------- +Fri Nov 22 19:55:35 UTC 2019 - Andreas Stieger + +- pcre2 10.34: + * implement the documented maximum number of capturing + subpatterns of 65535 + * Improve the invalid utf32 support of the JIT compiler + * Add support for matching in invalid UTF strings to the pcre2_match() + * Give more error detail for invalid UTF-8 when detected in pcre2grep + * support for invalid UTF-8 to pcre2grep. + * Adjust the limit for "must have" code unit searching, in particular, + * increase it substantially for non-anchored patterns. + * Allow (*ACCEPT) to be quantified, because an ungreedy quantifier + with a zero minimum is potentially useful. + * Some changes to the way the minimum subject length is handled + * Check for integer overflow when computing lookbehind lengths + * Implement non-atomic positive lookaround assertions + * Upgraded to Unicode 12.1.0 + * Make pcre2test -C show if libreadline or libedit is supported + * Various bug fixes and improvements + +------------------------------------------------------------------- +Thu May 2 00:36:59 UTC 2019 - Jason Sikes + +- Update to 10.33-RC1 to fix issue with LTO (boo#1133274). + * Callouts from pcre2_substitute() are now available. + + * The POSIX functions are now all called pcre2_regcomp() etc., with wrapper + functions that use the standard POSIX names. However, in pcre2posix.h the POSIX + names are defined as macros. This should help avoid linking with the wrong + library in some environments, while still exporting the POSIX names for + pre-existing programs that use them. + + * Some new options: + + (a) PCRE2_EXTRA_ESCAPED_CR_IS_LF makes \r behave as \n. + + (b) PCRE2_EXTRA_ALT_BSUX enables support for ECMAScript 6's \u{hh...} + construct. + + (c) PCRE2_COPY_MATCHED_SUBJECT causes a copy of a matched subject to be + made, instead of just remembering a pointer. + + * Some new Perl features: + + (a) Perl 5.28's experimental alphabetic names for atomic groups and + lookaround assertions, for example, (*pla:...) and (*atomic:...). + + (b) The new Perl "script run" features (*script_run:...) and + (*atomic_script_run:...) aka (*sr:...) and (*asr:...). + + (c) When PCRE2_UTF is set, allow non-ASCII letters and decimal digits in + capture group names. + + * --disable-percent-zt disables the use of %zu and %td in formatting strings + in pcre2test. They were already automatically disabled for VC and older C + compilers. + + * Some changes related to callouts in pcre2grep: + + (a) Support for running an external program under VMS has been added, in + addition to Windows and fork() support. + + (b) --disable-pcre2grep-callout-fork restricts the callout support in + to the inbuilt echo facility. + +------------------------------------------------------------------- +Wed Apr 24 17:30:36 UTC 2019 - Martin Liška + +- Disable LTO (boo#1133274). + +------------------------------------------------------------------- +Wed Jan 23 12:25:38 UTC 2019 - Bernhard Wiedemann + +- Do not run profiling in parallel for reproducible builds (boo#1040589) + +------------------------------------------------------------------- +Mon Jan 14 16:11:53 CET 2019 - kukuk@suse.de + +- Mark all license files as %license + +------------------------------------------------------------------- +Tue Dec 11 14:31:55 UTC 2018 - Cristian Rodríguez + +- Build with --enable-jit-sealloc option, otherwise when + selinux is enabled or systemd memory protections are on, + programs will fail to work with execmem violations. + +------------------------------------------------------------------- +Thu Oct 25 07:22:21 UTC 2018 - astieger@suse.com + +- pcre2 10.32: + * pcre2grep now supports the inclusion of binary zeros in + patterns that are read from files via the -f option. + * In pcre2_dfa_match(), internal recursive calls no longer use + the stack for local workspace and local ovectors + * Updated to Unicode version 11.0.0. + * (*ACCEPT:ARG), (*FAIL:ARG), and (*COMMIT:ARG) are now supported. + * Add support for \N{U+dddd}, but only in Unicode mode. + * Addesupport for (?^) to unset all imnsx options + +------------------------------------------------------------------- +Fri Jul 20 14:05:01 UTC 2018 - mpluskal@suse.com + +- Drop conditions for old distributions +- Do profile guided build + +------------------------------------------------------------------- +Sun Feb 18 05:15:03 UTC 2018 - avindra@opensuse.org + +- Update to new upstream release 10.31 + * New pcre2_config() options: PCRE2_CONFIG_NEVER_BACKSLASH_C and + PCRE2_CONFIG_COMPILED_WIDTHS. + * New pcre2_pattern_info() option PCRE2_INFO_EXTRAOPTIONS to + retrieve the extra compile time options. + * Public names for all pcre2_compile() error numbers. + * Added PCRE2_CALLOUT_STARTMATCH and PCRE2_CALLOUT_BACKTRACK + bits to a new field callout_flags in callout blocks. +- use https for main site +- cleanup with spec-cleaner + +------------------------------------------------------------------- +Mon Sep 11 18:14:30 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 10.30 + * The main interpreter, pcre2_match(), has been refactored into + a new version that does not use recursive function calls for + remembering backtracking positions. The new implementation + allows backtracking into recursive group calls in patterns, + making it more compatible with Perl. For patterns that have a + lot of backtracking, the heap is now used, and there is + explicit limit on the amount, settable by + pcre2_set_heap_limit(). The "recursion limit" is retained, + but is renamed as "depth limit". + * The new option PCRE2_ENDANCHORED insists that a pattern match + must end at the end of the subject. + * The new option PCRE2_EXTENDED_MORE implements Perl's /xx + feature, and pcre2test is upgraded to support it. Setting + within the pattern by (?xx) is Also supported. + * (?n) can be used to set PCRE2_NO_AUTO_CAPTURE, because Perl + now has this. + * Additional pattern compile options in the compile context are + now available: PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES and + PCRE2_EXTRA_BAD_ESCAPE_IS LITERAL. + * The newline type PCRE2_NEWLINE_NUL is now available. + * The match limit value now also applies to pcre2_dfa_match() + as there are patterns that can use up a lot of resources + without necessarily recursing very deeply. + * Various minor security fixes found by fuzzers: + + bsc#1037165: crash for forward reference in lookbehind with + PCRE2_ANCHORED + + CVE-2017-8786: heap-based buffer overflow write in pcre2test + (bsc#1036942) + + CVE-2017-7186: DoS by triggering an invalid Unicode property + lookup (bsc#1030066) +- Switch source URLs to use HTTP. + +------------------------------------------------------------------- +Sat Aug 5 17:34:26 UTC 2017 - astieger@suse.com + +- fix SLE 11 build + +------------------------------------------------------------------- +Tue May 2 17:28:30 UTC 2017 - astieger@suse.com + +- pcre2grep can now read .gz and .bz2 files directly +- pcre2test is now built to support line editing + +------------------------------------------------------------------- +Thu Feb 16 21:25:42 UTC 2017 - astieger@suse.com + +- pcre2 10.23: + * major re-factoring of the pcre2_compile.c file + * Back references are now permitted in lookbehind assertions when + there are no duplicated group numbers (that is, (?| has not + been used), and, if the reference is by name, there is only one + group of that name. The referenced group must, of course be of + fixed length. + * \g{+} (e.g. \g{+2} ) is now supported. It is a "forward + back reference" and can be useful in repetitions + (compare \g{-} ). Perl does not recognize this syntax. + * pcre2grep now automatically expands its buffer up to a maximum + set by --max-buffer-size. + * The -t option (grand total) has been added to pcre2grep. + * A new function called pcre2_code_copy_with_tables() exists to + copy a compiled pattern along with a private copy of the + character tables that is uses. + +------------------------------------------------------------------- +Tue Feb 7 16:19:22 UTC 2017 - dimstar@opensuse.org + +- Explicitly package %{_docdir}/%{name} to fix build with RPM 4.13. + +------------------------------------------------------------------- +Mon Aug 1 15:24:18 UTC 2016 - astieger@suse.com + +- pcre2 10.22: + * The POSIX wrapper function regcomp() did not used to + support back references and subroutine calls if called with the + REG_NOSUB option. It now does. + * A new function, pcre2_code_copy(), is added, to make a copy of a + compiled pattern. + * Support for string callouts is added to pcre2grep. + * Added the PCRE2_NO_JIT option to pcre2_match(). + * The pcre2_get_error_message() function now returns with a + negative error code if the error number it is given is unknown. + * Several updates have been made to pcre2test and test scripts + * Fix CVE-2016-3191: workspace overflow for (*ACCEPT) with deeply + nested parentheses (boo#971741) + +------------------------------------------------------------------- +Sun Jan 17 14:30:53 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 10.21 +* Improve JIT matching speed of patterns starting with + or *. +* Use memchr() to find the first character in an unanchored match + in 8-bit mode in the interpreter. This gives a significant speed + improvement. +* 10.20 broke the handling of [[:>:]] and [[:<:]] in that + processing them could involve a buffer overflow if the + following character was an opening parenthesis. +* 10.20 also introduced a bug in processing this pattern: + /((?x)(*:0))#(?'/, which was fixed. +* A callout with a string argument containing an opening square + bracket, for example /(?C$[$)(?<]/, was incorrectly processed and + could provoke a buffer overflow. +* A possessively repeated conditional group that could match an empty + string, for example, /(?(R))*+/, was incorrectly compiled. +* The Unicode tables have been updated to Unicode 8.0.0. +* An empty comment (?#) in a pattern was incorrectly processed and + could provoke a buffer overflow. +* Fix infinite recursion in the JIT compiler when certain patterns + /such as (?:|a|){100}x/ are analysed. +* Some patterns with character classes involving [: and \\ were + incorrectly compiled and could cause reading from uninitialized + memory or an incorrect error diagnosis. Examples are: + /[[:\\](?<[::]/ and /[[:\\](?'abc')[a:]. +* A missing closing parenthesis for a callout with a string argument + was not being diagnosed, possibly leading to a buffer overflow. +* If (?R was followed by - or + incorrect behaviour happened instead + of a diagnostic. +* Fixed an issue when \p{Any} inside an xclass did not read the current + character. +* About 80 more fixes, which you can read about in the ChangeLog + shipped with the libpcre2-8-0 package. + +------------------------------------------------------------------- +Tue Jul 14 08:42:04 UTC 2015 - astieger@suse.com + +- PCRE2 10.20: + * Callouts with string arguments and the + pcre2_callout_enumerate() function have been implemented. + * The PCRE2_NEVER_BACKSLASH_C option, which locks out the use of + \C, is added. + * The PCRE2_ALT_CIRCUMFLEX option lets ^ match after a newline at + the end of a subject in multiline mode. + * The way named subpatterns are handled has been refactored. The + previous approach had several bugs. + * The handling of \c in EBCDIC environments has been changed to + conform to the perlebcdic document. (Incompatible change) + * Bugs have been mended, many of them discovered by fuzzers. + +------------------------------------------------------------------- +Thu Jun 18 20:51:45 UTC 2015 - astieger@suse.com + +- PCRE2, a re-working of the original PCRE library to provide an + entirely new API, version 10.10. Not source compatible. +- copy of the pcre package, with the following adjustments: + * required name changes + * adjust pcre-8.21-multilib.patch to pcre2-10.10-multilib.patch + * drop upstreamed pcre-8.32-visibility.patch + * --enable-{utf8,unicode-properties} became --enable-unicode + * drop cpp subpackage + * make test -> check + * enable 32 bit character support + +------------------------------------------------------------------- +Thu Apr 30 22:08:31 UTC 2015 - astieger@suse.com + +- pcre 8.37: + * CVE-2015-2325: Patterns with certain groups specifying a zero + minimum quantifier caused incorrect code to be compiled, + leading to an incorrect memory read. [boo#924960] + * CVE-2015-2326: Specific patterns containing a forward reference + with subroutine calls caused incorrect code to be compiled + [boo#924961] + * CVE-2014-8964: If an assertion condition was quantified with a + minimum of zero, SIGSEGV or other misbehaviour could occur. + [boo#906574] + * further bug fixes as listed in ChangeLog + +------------------------------------------------------------------- +Mon Mar 9 00:43:18 UTC 2015 - p.drouand@gmail.com + +- Update to version 3.16 + * This is primarily a bug-fix release. + * The Unicode data tables have been updated to Unicode 7.0.0. +- Remove pcre-commit1472.patch; fixed on upstream release +- Remove obsolete "Obsoletes" tag + +------------------------------------------------------------------- +Tue Sep 2 07:30:08 UTC 2014 - jengelh@inai.de + +- Improve on RPM group classification +- Remove defunct %gpg_verify (replaced by source validators), + defunct freecode link + +------------------------------------------------------------------- +Thu Aug 28 03:10:39 UTC 2014 - crrodriguez@opensuse.org + +- Harden build with full RELRO as this libraries end linked + to at least one setuid root executable. + +------------------------------------------------------------------- +Mon Jun 16 14:44:43 UTC 2014 - dvaleev@suse.com + +- Enable JIT on ppc64le as well + +------------------------------------------------------------------- +Sat May 3 06:07:56 UTC 2014 - coolo@suse.com + +- update to 0.35: + There have been performance improvements for classes containing non-ASCII + characters and the "auto-possessification" feature has been extended. Other + minor improvements have been implemented and bugs fixed. There is a new callout + feature to enable applications to do detailed stack checks at compile time, to + avoid running out of stack for deeply nested parentheses. The JIT compiler has + been extended with experimental support for ARM-64, MIPS-64, and PPC-LE. +- add pcre-commit1472.patch from SVN to work with gcc49, see + http://bugs.exim.org/show_bug.cgi?id=1463 + +------------------------------------------------------------------- +Sun Mar 23 20:50:04 UTC 2014 - tchvatal@suse.com + +- Add automake and autoconf as explicit deps as we run autoreconf + +------------------------------------------------------------------- +Sun Mar 23 20:49:02 UTC 2014 - tchvatal@suse.com + +- Add patch pcre-8.21-multilib.patch to fix RPATH issues. + * The patch is taken from RedHat. + +------------------------------------------------------------------- +Sun Mar 23 20:47:05 UTC 2014 - tchvatal@suse.com + +- Clean up with the spec cleaner. Use -j1 in tests as it is not + really thread safe + +------------------------------------------------------------------- +Sun Mar 23 20:35:09 UTC 2014 - tchvatal@suse.com + +- Version bump to 8.34: + * warning fixes + * perl fixes + * unocode6.3.0 support + * gconv support + +------------------------------------------------------------------- +Wed Nov 13 19:06:09 UTC 2013 - sweet_f_a@gmx.de + +- enable tests for all archs +- --enable-jit for sparc + +------------------------------------------------------------------- +Thu Jun 13 16:20:10 UTC 2013 - jengelh@inai.de + +- Update to new upstream release 8.33 +* The Just-In-Time compiler (JIT) now supports all pattern + features, including callouts and the backtracking verbs. In + addition, some bugs are fixed and there are minor performance + enhancements. +- More robust make install call. Provide signature verification + files (avoid depending on gpg-offline due to bootstrap cycle). + +------------------------------------------------------------------- +Sat Jun 8 20:16:10 UTC 2013 - crrodriguez@opensuse.org + +- Ensure the PCRE library and tools are built with large file + support in 32 bit archs. + +------------------------------------------------------------------- +Sun Jan 6 15:40:59 UTC 2013 - p.drouand@gmail.com + +- Update to 8.32 version: + * There is now support for 32-bit character strings and UTF-32. Like the + 16-bit support, this is done by compiling a separate 32-bit library. + * \X now matches a Unicode extended grapheme cluster. + * Case-independent matching of Unicode characters that have more than one + "other case" now makes all three (or more) characters equivalent. This + applies, for example, to Greek Sigma, which has two lowercase versions. + * Unicode character properties are updated to Unicode 6.2.0. + * The EBCDIC support, which had decayed, has had a spring clean. + * A number of JIT optimizations have been added, which give faster JIT + execution speed. In addition, a new direct interface to JIT execution is + available. This bypasses some of the sanity checks of pcre_exec() to give a + noticeable speed-up. + * A number of issues in pcregrep have been fixed, making it more compatible + with GNU grep. In particular, --exclude and --include (and variants) apply + to all files now, not just those obtained from scanning a directory + recursively. In Windows environments, the default action for directories is + now "skip" instead of "read" (which provokes an error). + * If the --only-matching (-o) option in pcregrep is specified multiple + times, each one causes appropriate output. For example, -o1 -o2 outputs the + substrings matched by the 1st and 2nd capturing parentheses. A separating + string can be specified by --om-separator (default empty). + * When PCRE is built via Autotools using a version of gcc that has the + "visibility" feature, it is used to hide internal library functions that are + not part of the public API. +- updated and versionned pcre-visibility.patch to svn trunk + * Modifications on configure.ac and makefile have been merged on upstream release + +------------------------------------------------------------------- +Fri Nov 23 19:13:09 UTC 2012 - jengelh@inai.de + +- Update package descriptions about the differences between the + PCRE library subpackages. + +------------------------------------------------------------------- +Wed Nov 7 13:35:35 UTC 2012 - cgiboudeaux@gmx.com + +- Use the --enable-pcre16 configure flag. + This switch enables 16 bit character support that will be required by Qt5 + +------------------------------------------------------------------- +Fri Aug 17 14:18:53 UTC 2012 - dimstar@opensuse.org + +- Upate to version 8.31: + + The JIT compiler now supports partial matching and the (*MARK) + and (*COMMIT) verbs + + PCRE_INFO_MAXLOOKBEHIND can be used to find the longest + lookbehing in a pattern. + + There should be a performance improvement when using the heap + instead of the stack for recursion + + pcregrep can now be linked with libedit as an alternative to + libreadline + + pcregrep now has a --file-list option where the list of files + to scan is given as a file + + pcregrep now recognizes binary files and there are related + options + + The Unicode tables have been updated to 6.1.0 +- Rebase pcre-visibility.patch. + +------------------------------------------------------------------- +Thu Jul 19 17:18:04 UTC 2012 - jengelh@inai.de + +- Only use --enable-jit on supported architectures; the build will + otherwise fail (e.g. on sparc). + +------------------------------------------------------------------- +Thu May 10 15:59:21 UTC 2012 - afaerber@suse.de + +- Add devel-static package + +------------------------------------------------------------------- +Tue Feb 7 15:10:59 UTC 2012 - crrodriguez@opensuse.org + +- fix baselibs + +------------------------------------------------------------------- +Tue Feb 7 04:40:59 UTC 2012 - crrodriguez@opensuse.org + +- Update to PCRE 8.30, upstream SONAME bump, libpcre1 +- Drop no longer needed ppc patch. +- move library back to %{_libdir} + +------------------------------------------------------------------- +Wed Feb 1 10:44:38 UTC 2012 - dvaleev@suse.com + +- Fix cache-flush on PPC + +------------------------------------------------------------------- +Wed Nov 16 08:17:40 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to avoid implicit dependency + +------------------------------------------------------------------- +Tue Nov 1 16:16:49 UTC 2011 - crrodriguez@opensuse.org + +- Update to version 8.20 + * too many fixes to list here, see included ChangeLog + * replace pcre-visibility patch with the one I submitted to + upstream for inclusion. + +------------------------------------------------------------------- +Tue Oct 11 22:39:57 UTC 2011 - dmueller@suse.de + +- udpate to 8.13: + * too many fixes to list here, see included ChangeLog + * the Unicode data tables have been updated to Unicode 6.0.0. + +------------------------------------------------------------------- +Mon Sep 19 15:15:41 UTC 2011 - coolo@suse.com + +- remove fragile _service + +------------------------------------------------------------------- +Wed Mar 9 14:20:37 UTC 2011 - coolo@novell.com + +- Update to version 8.12 + + * This release fixes some bugs in pcregrep, one of which caused the tests to fail + on 64-bit big-endian systems. There are no changes to the code of the library. + +- Update to version 8.11 + * A number of bugs in the library and in pcregrep have been fixed. As always, see + ChangeLog for details. The following are the non-bug-fix changes: + + Added --match-limit and --recursion-limit to pcregrep. + + Added an optional parentheses number to the -o and --only-matching options + of pcregrep. + + Changed the way PCRE_PARTIAL_HARD affects the matching of $, \z, \Z, \b, and + \B. + + Added PCRE_ERROR_SHORTUTF8 to make it possible to distinguish between a + bad UTF-8 sequence and one that is incomplete when using PCRE_PARTIAL_HARD. + + Recognize (*NO_START_OPT) at the start of a pattern to set the PCRE_NO_ + START_OPTIMIZE option, which is now allowed at compile time + +------------------------------------------------------------------- +Sat Oct 30 02:15:06 UTC 2010 - cristian.rodriguez@opensuse.org + +- Support GCC visibility, symbol clashes no more. + +------------------------------------------------------------------- +Sun Sep 19 11:03:57 CEST 2010 - vuntz@opensuse.org + +- Update to version 8.10: + + Major additions: + - support for (*MARK) and friends + - PCRE_UCP option, which changes the behaviour of \b, \d, \s, + and \w (and their opposites) so that they make use of Unicode + properties + + Other additions: + - support for \N, which always matches any character other than + newline + - added --line-buffered to pcregrep + + Several small new features and bugfixes +- Changes from version 8.02: + + Update Unicode data tables to Unicode 5.2.0 + + Update the licensing terms in the pcregexp.pas file + + Several bug fixes +- Changes from version 8.01: + + Several bug fixes and build system improvements +- Changes from version 8.00: + + Enhancements: + - remove restrictions on patterns used for partial matching + - give extra information for partial matches + - improve the partial matching process + - add option to make a partial match override a full match + - enhance "study" process by finding a lower bound matching + length + - groups with duplicate numbers may now have duplicated names + without the use of PCRE_DUPNAMES, but they may not have + different names + - add REG_UNGREEDY to the pcreposix interface, which maps to + PCRE_UNGREEDY. + + Several bug fixes +- Drop pcre-7.9.patch: fixed upstream. +- Rearrange spec file to have all the %files sections together, as + well as all the scriptlets together. +- Kill the main package that only included doc files like AUTHORS, + NEWS, and license, and put those files in libpcre0: this really + makes more sense. Therefore, make libpcre0 Provides/Obsoletes + libpcre0. +- We can also remove the other dependencies on the main package, + since everything already depends on libpcre0. +- Remove AutoReqProv: it's default now. +- Remove references to perl 5.005 in descriptons: it's not + mentioned anywhere anymore upstream. + +------------------------------------------------------------------- +Mon Jun 28 06:38:35 UTC 2010 - jengelh@medozas.de + +- use %_smp_mflags + +------------------------------------------------------------------- +Sat Apr 24 10:38:30 UTC 2010 - coolo@novell.com + +- buildrequire pkg-config to fix provides + +------------------------------------------------------------------- +Thu Feb 25 16:49:20 UTC 2010 - prusnak@suse.cz + +- build noarch docs only for >= 11.2 + +------------------------------------------------------------------- +Wed Feb 10 16:16:56 CET 2010 - ms@suse.de + +- fixed license statement according to the conversation + and permissions granted in (bnc #578724) + +------------------------------------------------------------------- +Sat Dec 12 18:38:47 CET 2009 - jengelh@medozas.de + +- add baselibs.conf as a source +- package documentation as noarch + +------------------------------------------------------------------- +Wed Oct 7 12:51:05 UTC 2009 - coolo@novell.com + +- add obsolete/provides for pcre-32bit (bnc#539543) + +------------------------------------------------------------------- +Wed Jun 10 13:03:11 CEST 2009 - coolo@novell.com + +- split package into tools, docs and libraries + +------------------------------------------------------------------- +Fri Jun 5 23:13:22 CEST 2009 - crrodriguez@suse.de + +- disable static libraries, shouldn't be used now + +------------------------------------------------------------------- +Sat May 30 22:02:07 CEST 2009 - dmueller@suse.de + +- fix symlinks to libpcre and libpcreposix to fix the build + +------------------------------------------------------------------- +Wed May 27 18:03:13 CEST 2009 - ms@suse.de + +- moved libpcre and libpcreposix to %{_lib} (bnc #507449) + +------------------------------------------------------------------- +Tue May 5 14:24:17 CEST 2009 - ms@suse.de + +- Release 7.9 11-Apr-09 (bnc #500734) + Mostly bugfixes and tidies with just a couple of minor + functional additions. + +------------------------------------------------------------------- +Wed Jan 7 12:34:56 CET 2009 - olh@suse.de + +- obsolete old -XXbit packages (bnc#437293) + +------------------------------------------------------------------- +Fri Sep 12 01:51:31 CEST 2008 - crrodriguez@suse.de + +- update to PCRE 7.8 + * More bug fixes, plus a performance improvement + in Unicode character property lookup. + see complete changelog at http://www.pcre.org/changelog.txt + + +------------------------------------------------------------------- +Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de + +- added baselibs.conf file to build xxbit packages + for multilib support + +------------------------------------------------------------------- +Fri Feb 1 19:43:16 CET 2008 - crrodriguez@suse.de + +- update to version 7.6 +- The main reason for having this release so soon after 7.5 + is because it fixes a potential buffer overflow problem in pcre_compile() + when run in UTF-8 mode. In addition, the CMake configuration files have been brought up to date. + +------------------------------------------------------------------- +Sun Jan 13 09:08:22 CET 2008 - crrodriguez@suse.de + +- update version 7.5 + 1. Applied a patch from Craig: "This patch makes it possible to 'ignore' + values in parens when parsing an RE using the C++ wrapper." + + 2. Negative specials like \S did not work in character classes in UTF-8 mode. + Characters greater than 255 were excluded from the class instead of being + included. + + 3. The same bug as (2) above applied to negated POSIX classes such as + [:^space:]. + + 4. PCRECPP_STATIC was referenced in pcrecpp_internal.h, but nowhere was it + defined or documented. It seems to have been a typo for PCRE_STATIC, so + I have changed it. + + 5. The construct (?&) was not diagnosed as a syntax error (it referenced the + first named subpattern) and a construct such as (?&a) would reference the + first named subpattern whose name started with "a" (in other words, the + length check was missing). Both these problems are fixed. "Subpattern name + expected" is now given for (?&) (a zero-length name), and this patch also + makes it give the same error for \k'' (previously it complained that that + was a reference to a non-existent subpattern). + + 6. The erroneous patterns (?+-a) and (?-+a) give different error messages; + this is right because (?- can be followed by option settings as well as by + digits. I have, however, made the messages clearer. + + 7. Patterns such as (?(1)a|b) (a pattern that contains fewer subpatterns + than the number used in the conditional) now cause a compile-time error. + This is actually not compatible with Perl, which accepts such patterns, but + treats the conditional as always being FALSE (as PCRE used to), but it + seems to me that giving a diagnostic is better. + + 8. Change "alphameric" to the more common word "alphanumeric" in comments + and messages. + + 9. Fix two occurrences of "backslash" in comments that should have been + "backspace". + + 10. Remove two redundant lines of code that can never be obeyed (their function + was moved elsewhere). + + 11. The program that makes PCRE's Unicode character property table had a bug + which caused it to generate incorrect table entries for sequences of + characters that have the same character type, but are in different scripts. + It amalgamated them into a single range, with the script of the first of + them. In other words, some characters were in the wrong script. There were + thirteen such cases, affecting characters in the following ranges: + + U+002b0 - U+002c1 + U+0060c - U+0060d + U+0061e - U+00612 + U+0064b - U+0065e + U+0074d - U+0076d + U+01800 - U+01805 + U+01d00 - U+01d77 + U+01d9b - U+01dbf + U+0200b - U+0200f + U+030fc - U+030fe + U+03260 - U+0327f + U+0fb46 - U+0fbb1 + U+10450 - U+1049d + + 12. The -o option (show only the matching part of a line) for pcregrep was not + compatible with GNU grep in that, if there was more than one match in a + line, it showed only the first of them. It now behaves in the same way as + GNU grep. + + 13. If the -o and -v options were combined for pcregrep, it printed a blank + line for every non-matching line. GNU grep prints nothing, and pcregrep now + does the same. The return code can be used to tell if there were any + non-matching lines. + + 14. Added --file-offsets and --line-offsets to pcregrep. + + 15. The pattern (?=something)(?R) was not being diagnosed as a potentially + infinitely looping recursion. The bug was that positive lookaheads were not + being skipped when checking for a possible empty match (negative lookaheads + and both kinds of lookbehind were skipped). + + 16. Fixed two typos in the Windows-only code in pcregrep.c, and moved the + inclusion of to before rather than after the definition of + INVALID_FILE_ATTRIBUTES (patch from David Byron). + + 17. Specifying a possessive quantifier with a specific limit for a Unicode + character property caused pcre_compile() to compile bad code, which led at + runtime to PCRE_ERROR_INTERNAL (-14). Examples of patterns that caused this + are: /\p{Zl}{2,3}+/8 and /\p{Cc}{2}+/8. It was the possessive "+" that + caused the error; without that there was no problem. + + 18. Added --enable-pcregrep-libz and --enable-pcregrep-libbz2. + + 19. Added --enable-pcretest-libreadline. + + 20. In pcrecpp.cc, the variable 'count' was incremented twice in + RE::GlobalReplace(). As a result, the number of replacements returned was + double what it should be. I removed one of the increments, but Craig sent a + later patch that removed the other one (the right fix) and added unit tests + that check the return values (which was not done before). + + 21. Several CMake things: + + (1) Arranged that, when cmake is used on Unix, the libraries end up with + the names libpcre and libpcreposix, not just pcre and pcreposix. + + (2) The above change means that pcretest and pcregrep are now correctly + linked with the newly-built libraries, not previously installed ones. + + (3) Added PCRE_SUPPORT_LIBREADLINE, PCRE_SUPPORT_LIBZ, PCRE_SUPPORT_LIBBZ2. + + 22. In UTF-8 mode, with newline set to "any", a pattern such as .*a.*=.b.* + crashed when matching a string such as a\x{2029}b (note that \x{2029} is a + UTF-8 newline character). The key issue is that the pattern starts .*; + this means that the match must be either at the beginning, or after a + newline. The bug was in the code for advancing after a failed match and + checking that the new position followed a newline. It was not taking + account of UTF-8 characters correctly. + + 23. PCRE was behaving differently from Perl in the way it recognized POSIX + character classes. PCRE was not treating the sequence [:...:] as a + character class unless the ... were all letters. Perl, however, seems to + allow any characters between [: and :], though of course it rejects as + unknown any "names" that contain non-letters, because all the known class + names consist only of letters. Thus, Perl gives an error for [[:1234:]], + for example, whereas PCRE did not - it did not recognize a POSIX character + class. This seemed a bit dangerous, so the code has been changed to be + closer to Perl. The behaviour is not identical to Perl, because PCRE will + diagnose an unknown class for, for example, [[:l\ower:]] where Perl will + treat it as [[:lower:]]. However, PCRE does now give "unknown" errors where + Perl does, and where it didn't before. + + 24. Rewrite so as to remove the single use of %n from pcregrep because in some + Windows environments %n is disabled by default. + +------------------------------------------------------------------- +Tue Nov 6 08:15:28 CET 2007 - crrodriguez@suse.de + +- update to version 7.4, since version 7.2, more than 40 bugs were fixed + including multiple vulnerabilities [#325921] . The list of changes is too long + to mention here, see changelog.txt for details. + +------------------------------------------------------------------- +Wed Aug 8 12:46:16 CEST 2007 - ms@suse.de + +- added fix to run ldconfig for libpcre*, Thanks to + Cristian Rodriguez who provided + the patch (#298291) + +------------------------------------------------------------------- +Mon Jul 23 15:22:40 CEST 2007 - ms@suse.de + +- update to version 7.2, fixes bug: (#293752) +- Changes from 7.1 to 7.2 + + 1. If the fr_FR locale cannot be found for test 3, try the "french" locale, + which is apparently normally available under Windows. + + 2. Re-jig the pcregrep tests with different newline settings in an attempt + to make them independent of the local environment's newline setting. + + 3. Add code to configure.ac to remove -g from the CFLAGS default settings. + + 4. Some of the "internals" tests were previously cut out when the link size + was not 2, because the output contained actual offsets. The recent new + "Z" feature of pcretest means that these can be cut out, making the tests + usable with all link sizes. + + 5. Implemented Stan Switzer's goto replacement for longjmp() when not using + stack recursion. This gives a massive performance boost under BSD, but just + a small improvement under Linux. However, it saves one field in the frame + in all cases. + + 6. Added more features from the forthcoming Perl 5.10: + + (a) (?-n) (where n is a string of digits) is a relative subroutine or + recursion call. It refers to the nth most recently opened parentheses. + + (b) (?+n) is also a relative subroutine call; it refers to the nth next + to be opened parentheses. + + (c) Conditions that refer to capturing parentheses can be specified + relatively, for example, (?(-2)... or (?(+3)... + + (d) \K resets the start of the current match so that everything before + is not part of it. + + (e) \k{name} is synonymous with \k and \k'name' (.NET compatible). + + (f) \g{name} is another synonym - part of Perl 5.10's unification of + reference syntax. + + (g) (?| introduces a group in which the numbering of parentheses in each + alternative starts with the same number. + + (h) \h, \H, \v, and \V match horizontal and vertical whitespace. + + 7. Added two new calls to pcre_fullinfo(): PCRE_INFO_OKPARTIAL and + PCRE_INFO_JCHANGED. + + 8. A pattern such as (.*(.)?)* caused pcre_exec() to fail by either not + terminating or by crashing. Diagnosed by Viktor Griph; it was in the code + for detecting groups that can match an empty string. + + 9. A pattern with a very large number of alternatives (more than several + hundred) was running out of internal workspace during the pre-compile + phase, where pcre_compile() figures out how much memory will be needed. A + bit of new cunning has reduced the workspace needed for groups with + alternatives. The 1000-alternative test pattern now uses 12 bytes of + workspace instead of running out of the 4096 that are available. + +10. Inserted some missing (unsigned int) casts to get rid of compiler warnings. + +11. Applied patch from Google to remove an optimization that didn't quite work. + The report of the bug said: + + pcrecpp::RE("a*").FullMatch("aaa") matches, while + pcrecpp::RE("a*?").FullMatch("aaa") does not, and + pcrecpp::RE("a*?\\z").FullMatch("aaa") does again. + +12. If \p or \P was used in non-UTF-8 mode on a character greater than 127 + it matched the wrong number of bytes. + +------------------------------------------------------------------- +Tue May 1 11:02:54 CEST 2007 - ms@suse.de + +- added --enable-unicode-properties configure option to support + UTF-8 character strings in \P, \p, and \X (#269749) + +------------------------------------------------------------------- +Mon Apr 30 10:12:10 CEST 2007 - trenn@suse.de + +- corrected assert compile error + +------------------------------------------------------------------- +Wed Apr 25 13:39:55 CEST 2007 - ms@suse.de + +- update to pcre 7.1 + + 1. Applied Bob Rossi and Daniel G's patches to convert the build system to one + that is more "standard", making use of automake and other Autotools. There + is some re-arrangement of the files and adjustment of comments consequent + on this. + + 2. Part of the patch fixed a problem with the pcregrep tests. The test of -r + for recursive directory scanning broke on some systems because the files + are not scanned in any specific order and on different systems the order + was different. A call to "sort" has been inserted into RunGrepTest for the + approprate test as a short-term fix. In the longer term there may be an + alternative. + + 3. I had an email from Eric Raymond about problems translating some of PCRE's + man pages to HTML (despite the fact that I distribute HTML pages, some + people do their own conversions for various reasons). The problems + concerned the use of low-level troff macros .br and .in. I have therefore + removed all such uses from the man pages (some were redundant, some could + be replaced by .nf/.fi pairs). The 132html script that I use to generate + HTML has been updated to handle .nf/.fi and to complain if it encounters + .br or .in. + + 4. Updated comments in configure.ac that get placed in config.h.in and also + arranged for config.h to be included in the distribution, with the name + config.h.generic, for the benefit of those who have to compile without + Autotools (compare pcre.h, which is now distributed as pcre.h.generic). + + 5. Updated the support (such as it is) for Virtual Pascal, thanks to Stefan + Weber: (1) pcre_internal.h was missing some function renames; (2) updated + makevp.bat for the current PCRE, using the additional files + makevp_c.txt, makevp_l.txt, and pcregexp.pas. + + 6. A Windows user reported a minor discrepancy with test 2, which turned out + to be caused by a trailing space on an input line that had got lost in his + copy. The trailing space was an accident, so I've just removed it. + + 7. Add -Wl,-R... flags in pcre-config.in for *BSD* systems, as I'm told + that is needed. + + 8. Mark ucp_table (in ucptable.h) and ucp_gentype (in pcre_ucp_searchfuncs.c) + as "const" (a) because they are and (b) because it helps the PHP + maintainers who have recently made a script to detect big data structures + in the php code that should be moved to the .rodata section. I remembered + to update Builducptable as well, so it won't revert if ucptable.h is ever + re-created. + + 9. Added some extra #ifdef SUPPORT_UTF8 conditionals into pcretest.c, + pcre_printint.src, pcre_compile.c, pcre_study.c, and pcre_tables.c, in + order to be able to cut out the UTF-8 tables in the latter when UTF-8 + support is not required. This saves 1.5-2K of code, which is important in + some applications. + + Later: more #ifdefs are needed in pcre_ord2utf8.c and pcre_valid_utf8.c + so as not to refer to the tables, even though these functions will never be + called when UTF-8 support is disabled. Otherwise there are problems with a + shared library. + +10. Fixed two bugs in the emulated memmove() function in pcre_internal.h: + + (a) It was defining its arguments as char * instead of void *. + + (b) It was assuming that all moves were upwards in memory; this was true + a long time ago when I wrote it, but is no longer the case. + + The emulated memove() is provided for those environments that have neither + memmove() nor bcopy(). I didn't think anyone used it these days, but that + is clearly not the case, as these two bugs were recently reported. + +11. The script PrepareRelease is now distributed: it calls 132html, CleanTxt, + and Detrail to create the HTML documentation, the .txt form of the man + pages, and it removes trailing spaces from listed files. It also creates + pcre.h.generic and config.h.generic from pcre.h and config.h. In the latter + case, it wraps all the #defines with #ifndefs. This script should be run + before "make dist". + +12. Fixed two fairly obscure bugs concerned with quantified caseless matching + with Unicode property support. + + (a) For a maximizing quantifier, if the two different cases of the + character were of different lengths in their UTF-8 codings (there are + some cases like this - I found 11), and the matching function had to + back up over a mixture of the two cases, it incorrectly assumed they + were both the same length. + + (b) When PCRE was configured to use the heap rather than the stack for + recursion during matching, it was not correctly preserving the data for + the other case of a UTF-8 character when checking ahead for a match + while processing a minimizing repeat. If the check also involved + matching a wide character, but failed, corruption could cause an + erroneous result when trying to check for a repeat of the original + character. + +13. Some tidying changes to the testing mechanism: + + (a) The RunTest script now detects the internal link size and whether there + is UTF-8 and UCP support by running ./pcretest -C instead of relying on + values substituted by "configure". (The RunGrepTest script already did + this for UTF-8.) The configure.ac script no longer substitutes the + relevant variables. + + (b) The debugging options /B and /D in pcretest show the compiled bytecode + with length and offset values. This means that the output is different + for different internal link sizes. Test 2 is skipped for link sizes + other than 2 because of this, bypassing the problem. Unfortunately, + there was also a test in test 3 (the locale tests) that used /B and + failed for link sizes other than 2. Rather than cut the whole test out, + I have added a new /Z option to pcretest that replaces the length and + offset values with spaces. This is now used to make test 3 independent + of link size. (Test 2 will be tidied up later.) + +14. If erroroffset was passed as NULL to pcre_compile, it provoked a + segmentation fault instead of returning the appropriate error message. + +15. In multiline mode when the newline sequence was set to "any", the pattern + ^$ would give a match between the \r and \n of a subject such as "A\r\nB". + This doesn't seem right; it now treats the CRLF combination as the line + ending, and so does not match in that case. It's only a pattern such as ^$ + that would hit this one: something like ^ABC$ would have failed after \r + and then tried again after \r\n. + +16. Changed the comparison command for RunGrepTest from "diff -u" to "diff -ub" + in an attempt to make files that differ only in their line terminators + compare equal. This works on Linux. + +17. Under certain error circumstances pcregrep might try to free random memory + as it exited. This is now fixed, thanks to valgrind. + +19. In pcretest, if the pattern /(?m)^$/g was matched against the string + "abc\r\n\r\n", it found an unwanted second match after the second \r. This + was because its rules for how to advance for /g after matching an empty + string at the end of a line did not allow for this case. They now check for + it specially. + +20. pcretest is supposed to handle patterns and data of any length, by + extending its buffers when necessary. It was getting this wrong when the + buffer for a data line had to be extended. + +21. Added PCRE_NEWLINE_ANYCRLF which is like ANY, but matches only CR, LF, or + CRLF as a newline sequence. + +22. Code for handling Unicode properties in pcre_dfa_exec() wasn't being cut + out by #ifdef SUPPORT_UCP. This did no harm, as it could never be used, but + I have nevertheless tidied it up. + +23. Added some casts to kill warnings from HP-UX ia64 compiler. + +24. Added a man page for pcre-config. + +------------------------------------------------------------------- +Fri Feb 9 10:07:29 CET 2007 - ms@suse.de + +- fixed wrong usage of assert() call + +------------------------------------------------------------------- +Tue Jan 9 11:28:53 CET 2007 - ms@suse.de + +- fixed build for all architectures + +------------------------------------------------------------------- +Mon Jan 8 16:07:02 CET 2007 - ms@suse.de + +- update to new version 7.0 + Changes: As well as a number of bugfixes, there has been a major + refactoring of the compiling code, which makes it easier to add new + features, including some new optimizations. A QuoteMeta function has been + added to the C++ wrapper. There is now a mode in which all Unicode newline + sequences are recognized. Support for the Perl 5.10 syntax for features + that were previously in PCRE but not in Perl (named groups, possessive + quantifiers) has been added. + +------------------------------------------------------------------- +Sat Oct 28 17:50:04 CEST 2006 - meissner@suse.de + +- CXXFLAGS needs RPM_OPT_FLAGS too. + +------------------------------------------------------------------- +Mon Jul 10 16:29:14 CEST 2006 - ms@suse.de + +- update to new version 6.7 +- finally removed evil configure patch +- When UTF-8 mode was not set, PCRE looped when compiling certain patterns + containing an extended class (one that cannot be represented by a bitmap + because it contains high-valued characters or Unicode property items, e.g. + [\pZ]). Almost always one would set UTF-8 mode when processing such a + pattern, but PCRE should not loop if you do not (it no longer does). + [Detail: two cases were found: (a) a repeated subpattern containing an + extended class; (b) a recursive reference to a subpattern that followed a + previous extended class. It wasn't skipping over the extended class + correctly when UTF-8 mode was not set.] +- Applied a patch from the folks at Google to pcrecpp.cc, to fix "another + instance of the 'standard' template library not being so standard". + +------------------------------------------------------------------- +Wed Jan 25 21:30:47 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Thu Jan 12 13:53:17 CET 2006 - mmj@suse.de + +- build with -fstack-protector + +------------------------------------------------------------------- +Thu Dec 1 01:39:04 CET 2005 - ro@suse.de + +- hack libtool core in configure script + since configure.in is too broken for a autoreconf ... + +------------------------------------------------------------------- +Mon Sep 19 17:53:52 CEST 2005 - mmj@suse.de + +- update to the latest version v6.4 + +------------------------------------------------------------------- +Tue Aug 2 11:19:20 CEST 2005 - mmj@suse.de + +- update to the latest version v6.2 + +------------------------------------------------------------------- +Thu Jun 23 13:18:50 CEST 2005 - mmj@suse.de + +- update to latest version v6.1 + +------------------------------------------------------------------- +Mon Jun 13 08:51:51 CEST 2005 - mmj@suse.de + +- add gcc-c++ to #nfb as well + +------------------------------------------------------------------- +Wed Jun 8 23:41:35 CEST 2005 - mmj@suse.de + +- update to latest version v6.0 + +------------------------------------------------------------------- +Mon May 23 11:17:20 CEST 2005 - mmj@suse.de + +- use --enable-utf8 +- use $RPM_OPT_FLAGS + +------------------------------------------------------------------- +Thu Mar 31 17:39:53 CEST 2005 - uli@suse.de + +- ignore test suite errors on ARM + +------------------------------------------------------------------- +Mon Nov 22 17:12:31 CET 2004 - choeger@suse.de + +- update to latest version v5.0 + +------------------------------------------------------------------- +Mon Jun 7 11:40:27 CEST 2004 - choeger@suse.de + +- update to latest version v4.5 + +------------------------------------------------------------------- +Mon Jan 5 15:39:13 CET 2004 - schwab@suse.de + +- Move pcre-config to pcre-devel. + +------------------------------------------------------------------- +Fri Oct 31 17:05:26 CET 2003 - choeger@suse.de + +- Don't build as root + +------------------------------------------------------------------- +Thu Aug 21 15:22:38 CEST 2003 - choeger@suse.de + +- update to v4.4 + +------------------------------------------------------------------- +Fri Aug 1 12:07:27 CEST 2003 - choeger@suse.de + +- disabled Test2, because it is not 64bit arch clean + (contacted author, he knows about that problem) + +------------------------------------------------------------------- +Wed Jul 30 14:56:52 CEST 2003 - choeger@suse.de + +- update to most recent version v4.3 +- splitted into -devel subpackage + +------------------------------------------------------------------- +Fri Dec 6 04:42:15 CET 2002 - coolo@suse.de + +- removed undefined symbols in libpcreposix + +------------------------------------------------------------------- +Tue Sep 17 17:34:28 CEST 2002 - ro@suse.de + +- removed bogus self-provides + +------------------------------------------------------------------- +Fri Apr 5 10:57:15 CEST 2002 - coolo@suse.de + +- fixing autoheader usage +- forward ported %libdir changes from sles7-s390x + +------------------------------------------------------------------- +Tue Jan 22 19:07:26 CET 2002 - choeger@suse.de + +- update to version 3.9 +- added BuildRoot + +------------------------------------------------------------------- +Tue Aug 21 01:11:46 MEST 2001 - mge@suse.de + +- pcre 3.5 + +------------------------------------------------------------------- +Wed Apr 11 22:26:54 CEST 2001 - froh@suse.de + +- suse_update_config + +------------------------------------------------------------------- +Mon Dec 4 12:08:52 MET 2000 - mge@suse.de + +- pcre 3.4 + +------------------------------------------------------------------- +Tue Jun 27 19:41:41 MEST 2000 - mge@suse.de + +- pcre 3.2 + +------------------------------------------------------------------- +Thu Mar 2 12:22:48 CET 2000 - mge@suse.de + +- fixed manpath + +------------------------------------------------------------------- +Sun Feb 13 16:54:53 MET 2000 - mge@suse.de + +- update to 3.1 +- group tag + +------------------------------------------------------------------- +Mon Oct 25 23:38:47 MEST 1999 - mge@suse.de + +- initial SuSE-RPM: changed Makefile to install into /usr + diff --git a/pcre2.keyring b/pcre2.keyring new file mode 100644 index 0000000..faa2788 --- /dev/null +++ b/pcre2.keyring @@ -0,0 +1,127 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: Hostname: +Version: Hockeypuck 2.2 + +xsFNBGdRgdUBEACm0zhfi7UakL9+OJjzjxRq9ynlOrY7bSTkgMls8Xd9Qt82F1UB +heHR86Ow4QBnyCbdqOFRBGFG08F6ovSrzjikMzowpy3qSVfjbptR/h/Lqf8XCkRo +rOrW3AYTBVg4Y8hmCyK92mtNrMJKYiZEcGgTjTnQCNy/1pwBp/JQs5e6/rc+GMcK +ruBuNXJzsQP+nFO9GlmKOhVyE4tzwEFmrQha9KvpCdgSzxz+mtjLGPHISLKIoPb/ +vWYyiHYNEhn26bSnyySSRc4gyrFBVehsEAhgQEDHwjzqyWmJLJonKHI66ezwADYI +45MJ3UUtezoLdHiTDKeB8h6jgIOg/hQSz3PwTHuxKXxxRLz1bpKfb+g4uRtMfPHJ +/EYQAeNdY/ThBoEmBIP/yJSUZOzVrRzeIF1hAwc3dJ3JzmaoyZ1YBZhGW1vYCwHK +poKZFgDotvVqze/V2PWEoiARUfikPHDmNa6thNJQrGcRMbiacHbS96qZXZ7sNihr +MjcYoR7FjucYC/2SH53DKm6E9EJjHIT9fAIYtkjBPcP1NCC8OL/4/qJ1NDMV8x+j +liwHjQFVB/pBUFgw5DwLu8Fzy9OKujB8Bl/W4jnAVCvJbJZkRPkSpgKLg0TcxveA +dQ59R9Po0r36WelDg1Md4hswJmt1xHMHyLtpW0SSiKaiTx2vDVJOMXJvAwARAQAB +zS9OaWNob2xhcyBXaWxzb24gPG5pY2hvbGFzQG5pY2hvbGFzd2lsc29uLm1lLnVr +PsLBlAQTAQgAPgULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAIZARYhBKlVNiBK +O7SJcVIxKCqY53628kyoBQJnU165AhsBAAoJECqY53628kyoc5wP/1fBfx1s6Nvh +FZ8jiS5gzaFbRzBV07OUgt4DXRMnM8JbWMna6NhDuOGbbVOgGwr9R1zdU7Gkh/RE +Ia0YrxYfMWn5rWk3ZgziAJpNw8CvDtLvNDLUcEv3lX8xRXPY/9wf7z6l6n0RAVgJ +kOGeK5GyORKWM6LCGdXmgGwCk60jZ4vrOn+Ywg4TYHeoqrc6rYfOsna6qOxBuq1s +9VbUxwFrxpmaQmUNMVwU5HWo07bZzhPKPvdor3D7DbgPExs17z6xBo22VkBO/gK9 +V3EpoI70uJEuC9sLEZPnNCmhLSeV135uwsPgbdeeLgf1+WOnoKKGANy56F87DbdA +m5L5/lGQH6rsvLWNYp8LZxxKIps/cz19WRlKY8VZv0v+TzMK2Lpb2bhejHP+uap1 +6CA9Z/kXm0B/qBOmYmtQ16eDnrwza0acFuyV+zVNoH3yNOhmaQ8PWfijh4i8fsnN +D0oOla8o/KtY0XEhq3ekrrmdqlxA3b1mv6G0wPrLTOjxukUWyHJjH9Q6N3pfO3X/ +WyUq0kYP7k3SyHqtzVdecf/eRBf/GbwojcaSKW6LozKQGPLTVxleetkswSkITBkp +AAFR1scqCPtHnTLpl22RsUQ87FvIzwPpAeceUmlHTbsg5DCnkVjMXRn17EXT7VKI +lsW2zY0mq+neYypAmOUMpvvluCGCmXpNwsGUBBMBCAA+AhsDBQsJCAcCAiICBhUK +CQgLAgQWAgMBAh4HAheAFiEEqVU2IEo7tIlxUjEoKpjnfrbyTKgFAmdRgiMCGQEA +CgkQKpjnfrbyTKh5gg//eZcZCaHP+NxYosMVZlhOSwsdZqHPyYmWikfUJM7RPiFh +BCqdbPSKETM2xfFZmyK3D3GIRpWPzhfAChEzvWpq2UTM6QI/HmFrqQ7Ku+jTDYnJ +pkwvq2F59zgBAkTCydj98+29BGa5BT0D4ZLaxXhQa6ZF2BxVzxUby3Y9b4UnETmK +Au9w3PpDIaRuBTnTbPIQiH1J+wFDV0eehAPyK9GVCZoW72Ka5hOAvqgKsdzgJ4Hu +FkmsQLp3e0fILsPUEKWwlzh/jIS9jYs+Vl98kweQ+arpptVqkB1slo8zsi24UF+q +wFp/70rgkZ60Jf9OsupQRAsQPvInRNa0+Fd//aojKFzDvAfyTHMH4ellKvfCaxfH +ppIpyXK7Oklm0SoT+D5tUuhLbJdwdYmeILeuZzFs2TnONGuFqY/TBenfKLQJKPlG +4FGqJcwZeEhheuiDktHGVDOUwtFIuqICJvBLX/BwDtv/QkuD+91+AFls9kZROODr +ryGHUTQ9lCProGnmEkw8GhTRWxixS+xKf7ddm5LQDpJTKVQS5s9Vv3j2rubhLdzS +RCFd9yFZp3rGnRszHuPfHSHJXuEu3mk7X08nLjOqso0AWxXjuFuatvvaDaL+iDEJ +/4O+v52y5O+mj+BcPf4oX5VTI6VtFbluxMnAfw+SVYtZs0/6/xGr4tlScrqRE3LC +wHMEEwEIAB0WIQRF9o1Uu+I/swObRuWXZuCE+w9D2AUCZ1MBKQAKCRCXZuCE+w9D +2ALmB/9hyR38FvQ0nouDuw3uxCvr19p8o3UdM3lmFO0JXt1NAqLoyuNTG1R/9jAN +zh6v+z0ae841xmM4ifwALAxgPSucsmfXxhryWjeWApcPe75ikj+TceKs4GEUVBM8 +QWykzBI8al3c1DyXK7+FEHQgXIsn04be/zee0bVGblj8hudW7VhB4VO6rg/+excS +gK0vdkCF0bG3J1ibw8yP6W11OBZHXfq13QGkaV/V87qMEBGzMZHa/foPsPx5VIlB +Ghfoyxl2N9jPExF+cE5SpqVjB9iwa4kBJCmKEE2q4H/Hczc2iiIHhVgG7RLMIVjL +57zT9iAJ3Zab2+k/bakqi2as3mYUzShOaWNob2xhcyBXaWxzb24gPG5pd2lsc29u +QG1pY3Jvc29mdC5jb20+wsGRBBMBCAA7FiEEqVU2IEo7tIlxUjEoKpjnfrbyTKgF +AmdRghkCGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQKpjnfrbyTKhu +8Q/9HUDHcAzmrK16KO/NvJ1TR/XwCu//QZCYagnjuK3L7fxxIYQ7BoLIj2LyVMoh +T/EVyiKJmVdm7m1cUVDfg7w/UGbygkQk9xMz28siBcUtI0NsOb+xVTpUOmvz4DEw +QoMWqAhCa9Y8jbMxFswFUpZ4pOK4H/L1VL9J7vJV6+UigZ4F1Y15lZAVDVXdZDbk +CxqxprrSp8cZRepYx0hwa6SNI2Bgg7RCvYmw4bJNt3YCCFT9QNAa86IKduO26Opi +mvxBYXMIvR3EHhY1QzTDm0TTrJXL2fF0GV9vobEz0p8lpFW6m0Gno7yKoiOlwt2m +S1zTSPiiVjC/N9OsZAu+lYTlgHZq5u5duU/+A2lXqmHnX9BwKO3Nd/yxsrWDafw8 +7fCTI4ZCHSlndeuE9Q2zuuad93A7B9SWrqBbKCeR0U/Q6V9FxZ8VdIaCbaD5KmKA +7e/s2gh+Rs4bQvIQlJyJdpMDgNrjDwVOxnZdMsRCmEYXCHifdiKB7gEvClP8Z35u +Ro1RTZ9mB1KdA1uYCcl0gDWqJ2dLLSjZDmeL/4aggsQa9yrYfIw5xr3sQRdZxsnE +1rPbfCJHLaP83IbYu8x6DPy1+C5eVNWJASK4Yshtug4dnr5g3vmhZr0ERPzk4bGZ +p67CItjbqsvk/FxpJtgBQxiYEb3G4dnlQqYKqEAzTldg+LHCwHMEEwEIAB0WIQRF +9o1Uu+I/swObRuWXZuCE+w9D2AUCZ1MBPAAKCRCXZuCE+w9D2MzXCACTQ0sQ/YUS +J7wlB12CVLFexwhHc4occTNIAjRDgyyWZOjxNHkzznYeiJ69S6nmVe6ltPAjEqil +Ax6zuJ7HlgbJoh0zNBKhn9TReKfom5dszgsLcSXWVguJIlQ0YWEfr/Y7dIB+V1em +4pL63wDQPafveWQPpPA0xu2QPdnL9Y7UR1muB91/720tDhUiQbI8qVdEGtIOfdkP +BqYDjVPGmFANX41NjiDty4Qvs80cDA+v2EgSgiBG8rQiOms9kSXfwOan3JeVGnem +aeaisG87PO2AhDEpycg58fwNUKxpH0iczns/JjY6Rva+aUvhvcpHukBXMirkPchN +qpe71eoXlQEjzsFNBGdTYBgBEADWIf+AoxcNd/WddE8gpJXmPxhWKyyjRKowowui +tjCVsCSK+iLQ+fNebeDuzXqtlz1PXUgQo3iV/TiWCU3qXI2C7kbwMVMLSUweUiA7 +5CESaxwlS8jrtD552mr0iUdPyLkSc8uYDvGpINXV4VgW+GLiO1TOxeSx25YTgre2 +MG5nOfvhD+qiCZ2E5RkPiMU55mAql2aqZk+LyeIby+BScvmdNTd/qgI+BLalAzhk +69BDTjreddZbX4rB/vXKBy8iRmf4gTMZwGesbYoLY3mv4FF8+VdZev/RgVpqCBsS +iWa1Yj8YlZVQxRTs9dXp+Bdcor7AxmYEQf0UzAqwihWDciIbaS6BnQB4NYPvSe+Q +90fJOaDBjver9M4VP0seiO84WFWQZ9d0UwLnTICIAy8AzQexE5aQsd3BitfSEn3E +15WE7WWwCYez21Ro7bqkKw09jI3D1xWVjdoD8qdTKAy4VHO1hjC29BRZiBryVmjQ +ttn0ovXGHzCjuyptjAnAkncew/GBV2P72bL8wCyvnsZrv8kOkWUBOiZ0VXNiEpSC +5b0rmFL+tL0NOGYn635WbUZ/CU0XX0smpkWFo23TaHQ2DW5jMGSQMQE+X3cjLx10 +3aBR8Lfk1c0q7A3qGdmM2wxND5Age1k2+Ggh9afndW3fiRINI5PpifKk0RQ7UMaQ +t7UFOQARAQABwsOsBBgBCAAgFiEEqVU2IEo7tIlxUjEoKpjnfrbyTKgFAmdTYBgC +GwICQAkQKpjnfrbyTKjBdCAEGQEIAB0WIQS6z3HxBATVdhwJ05ICHeQL+2O0BgUC +Z1NgGAAKCRACHeQL+2O0BpxfEACc6Igx/5Nrrh/DUTYwWHml3gPsxmTBtlDLurKt +s5H95pzzHAj7NWXsJK/7NDRrcp+b1v1TRhiVc3/hpIAogAmWZcxI8r+aYeU1mKVb +HCGRazKewmj5qcB/dX1JNxOVR1gx7PkXy2YBLOCA4WoSuvX7tSgobfP/SftiaxUp +QGRlhBMBVyOY5adZZxkpINIB+UM8VijF5qWoyPcOWBeoM9BoksdO8huNZ9yAdqhe +Jg9lZktmKvXxzBZv8gR0Q08J+uqNayrzfQAtnNKgzpGz1zh34Y8UkgyJtRwMCyBn ++b3ZcsWTZ4W7azuW4auTzKiYv+NoIvdCueJS2Aabw4JWSztbO0rSmH4uGLVERj3F +ygWT3Emj7ws0mZgxeNFH8z118WiCvhRtmiu1q/3appOgcQY6FDeH7nEHNaEvuCnc +2TIKcEIwYo/sdyJOwiT/eTrji/2lCqnMCiZHAK6Q4YrHjkclCvpzIAEUh0TvLe1E +HCBMlMQ+K+5SMMMX/Ao17s2FkQpSjjrWiLh2MvwBN/RgY2oXl+uIhxjsiutuCtFt +VxXUcFpvsMw6Y0gHv8HfwjclP/fGQSAWbw/w9VsE+QjbMM/pBp7Deswz0J332Mz3 +uloYJb2OQcu44inUkCsoNfatQVwmVu5KelkbKlPxmSIgxbXrQm7k9QKQ42csafMy +g4A7hawaD/9nYsWZp/iZFSWr7nSJ/Tll/qHxDkODLldHimc6dVklcgHqxst0ksCe +y6iTpmJ2IgDukWkDYSNgYwuozRlEFcabPMzNDcKMvqZzUdpkpiqbklJcXRDpGMPI +iRrDGjFlRSr9k6G5oG64nvli2P20PtkFIoGh/H6hf/3vKYZCiYVIf7ujh2e78+QT +xT0W8VeUvuZiGjgeeomd8t3EJtuW4x5v5pqCdovlc/uKBkqqiJ8oEdGizz+7pcc/ +TPsxWTO2m9rHoqYr36SjCM6kEDXVURtQjJVW+DRJDb+tEEqaaDL3zbQVdgJl2aav +oOjTvIEizt4SMcXwTXhMUeVF5e+8ol5gxvgtVyFyfBe/NnjlrYWJWlT8phOSQ8mU +MopGkgv/LlnrNfi578q5j43LPJAVQ+oAR9v5hy7rA8jHqxGkmuwdh8A4fw+Ui6ng +++pjIM/POuQs1a671V8MszyVwc9ztrbogOJ+pI6prGoEX1Wcfp7x5ZASGer0c6vX +uQMzGZ5fRHidfnoDKqs5pu0y8SWfLD+EwZAZtOab6uJzYF3v194G8ZBkCEnuyEh9 +YR21KuBV6T2y8EU9VdIiST3QO59Ys3m90X7u64grOhT6w9o+8U0NHXOq4FloQYVC +izMTW7bz44IC2Il6dGaKFOemn7BXF5bxQ3CZnGDo5lRAXqhiKkU3Jc7BTQRnUYHV +ARAAss5DdBmUjGlb1DGU1wB0DYZa/IQQYkXOvB9kYpZ+Vl/45tF05OmS3fVNdMkE +rQM8ee4YLhKJ9gtRn2s7lB4YXkq0nITSA2zKLZVoPoYvteclCAEUX0Txls6YtAPI +RUVYqPyfJWPaYyC+L3ildAku5jiufBkCrCPKERoy92kK2O7Yh4McucAptHdVFXOq +4iqp0U+OssOCxNTmdvu7C3t4DiX9h0qiUTIgB8zhlZ9o/wLjOI/wu5/4jcKspSpg +6U1qy7CUdoGNJu0nLuqXMGv8RoTm+jQjoHlIpVk3zST7LMCPYXkbnAqawP69w7Rc +VkRqRPly/Qy2mFK9vvmvi7ZECHMvkjxBiTpJB3m0Og1ppMHrzFq/uy+rckjfACpS +o1PN4kt7vXmacpYkE6yXR8XnKI2gHMvqoWe15Fzn8GWdntnUCdwOjLJ4w+vDBUuo +qiyjsZSwGRgCoU+LkHiSQZrqtDu7XX4U9rn/J5Ek4Ih72d4j/DCg/QWQqn13XayS +OvCt50OdNwrJYzIWB24v7KNTfemjsc1k1kScvVRPzDK15g4i6ZWwjFcvRiERKzlU +lTVhEA97jpGpQTU3brDbpOXkZhgIJFtv81ea1qEA5XwAN5UBoL09RJrb1kZBQU07 +cXnSkDHP8UZrH6KKq4rw3kMwSP6sCCZxIxMOOHiCqEZMk6cAEQEAAcLBdgQYAQgA +IBYhBKlVNiBKO7SJcVIxKCqY53628kyoBQJnUYHVAhsMAAoJECqY53628kyohfUP +/3nsIMqg24UBk6mmrx+KEEM0fGKgsSjn/8IiazcP/XEPxJ1t5uSH7XC+Q6z5Mc+m +thF6Yvwj9XfzsOxuHPxaHSaaD83AiRUEnmVzDtEkIJCWkBOOEvblh3GDFXbRVNdi +sgKmoPKMaELk8AV6stk16Ft1Jyw8Gpjcx1kCVJxyTiJyhiajAckZ//IYGvCt6l04 +/y3/CBf4ZSzG15ZXQl7NrbIp5hWILcbxlP5Z68Tg5KhH/uMEBCY5ddYNwox8ddoG +rG1hgpIVeAkMsNrmQqvjaHVfzFPjlQAYkfU+b9p0UrOcJqEVaY3bZCvTR8p3Nyil +eLp2deFMOsPZfGArliRU+mCGAqbeSFHSCF/DCFHX33KyBPVktYYF9b3rW/Gp18Sc +zpaW5meqYZTy30NT03Gl8s1aV60uut/XIdlMe4Oc9XPf9+DebXnR38GdZH/kcCjy +pUyn50i7RdwiqUnztZ2zpc9IOM3U6V45uLlKZJDWozoMeJXjG1FmCOGpKkbRSZnQ +SmZGwti3w8CB2mGsANDs4D/Unhx3vt5ULp9bZcsTtB1e1cPdrv0qnbdH2eDpvGnJ +r+kWkn6bnNR03kOELvWDLMgtzg8mQ40KXRHJhWgnJmqbSmP1nJr3Jhe/Po4on3XR +Ao+SToj9uZ6jVKmrSFdXt5TZRuXv0abacOR04I7nrI0X +=9Cyu +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pcre2.spec b/pcre2.spec new file mode 100644 index 0000000..041a53e --- /dev/null +++ b/pcre2.spec @@ -0,0 +1,274 @@ +# +# spec file for package pcre2 +# +# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 Andreas Stieger +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global _lto_cflags %{_lto_cflags} -ffat-lto-objects +Name: pcre2 +Version: 10.45 +Release: 0 +Summary: A library for Perl-compatible regular expressions +# code: BSD-3-Clause WITH PCRE2-exception +# testdata: Public Domain +# JIT-compiler: BSD-2-Clause +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause AND SUSE-Public-Domain +Group: Development/Libraries/C and C++ +URL: https://pcre2project.github.io/pcre2/ +Source0: https://github.com/PCRE2Project/pcre2/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2 +Source2: https://github.com/PCRE2Project/pcre2/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2.sig +# https://github.com/PCRE2Project/pcre2/blob/master/SECURITY.md +Source3: %{name}.keyring +Source4: baselibs.conf +# PATCH-FIX-OPENSUSE tchvatal@suse.cz upstream thinks it is good idea to use rpath, taken from RH +Patch1: pcre2-10.10-multilib.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: libbz2-devel +BuildRequires: libedit-devel +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: pkgconfig(zlib) + +%description +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%package devel +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception +Group: Development/Libraries/C and C++ +Requires: libpcre2-16-0 = %{version} +Requires: libpcre2-32-0 = %{version} +Requires: libpcre2-8-0 = %{version} +Requires: libpcre2-posix3 = %{version} +Requires: libstdc++-devel + +%description devel +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%package devel-static +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: Development/Libraries/C and C++ +Requires: pcre2-devel = %{version} + +%description devel-static +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +This package contains static versions of the PCRE2 libraries. + +%package -n libpcre2-8-0 +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: System/Libraries + +%description -n libpcre2-8-0 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +This PCRE2 library variant supports 8-bit and UTF-8 strings. +(See also libpcre2-16 and libpcre2-32) + +%package -n libpcre2-16-0 +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: System/Libraries + +%description -n libpcre2-16-0 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +libpcre2-16 supports 16-bit and UTF-16 strings. + +%package -n libpcre2-32-0 +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: System/Libraries + +%description -n libpcre2-32-0 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +libpcre2-32 supports 32-bit and UTF-32 strings. + +%package -n libpcre2-posix3 +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: System/Libraries + +%description -n libpcre2-posix3 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +pcre2-posix provides a POSIX-compatible API to the PCRE2 engine. + +%package doc +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception +Group: Documentation/HTML +BuildArch: noarch + +%description doc +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%package tools +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: Productivity/Text/Utilities +Recommends: %{name}-doc + +%description tools +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%prep +%autosetup -p1 + +%build +%define _lto_cflags %{nil} +# Available JIT archs see sljit/sljitConfig.h +autoreconf -fiv +export LDFLAGS="-Wl,-z,relro,-z,now" +%configure \ +%ifarch %{ix86} x86_64 aarch64 %{arm} ppc ppc64 ppc64le mips sparc s390x + --enable-jit \ +%endif + --enable-static \ + --with-link-size=2 \ + --with-match-limit=10000000 \ + --enable-newline-is-lf \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ + --enable-pcre2grep-libz \ + --enable-pcre2grep-libbz2 \ + --enable-pcre2test-libedit \ + --enable-unicode + +%if 0%{?do_profiling} + %make_build CFLAGS="%{optflags} %{cflags_profile_generate}" + export LANG=POSIX + # do not run profiling in parallel for reproducible builds (boo#1040589 boo#1102408) + %make_build -j1 CFLAGS="%{optflags} %{cflags_profile_generate}" check + %make_build clean + %make_build CFLAGS="%{optflags} %{cflags_profile_feedback}" +%else + %make_build CFLAGS="%{optflags}" +%endif + +%install +%make_install +mkdir -p %{buildroot}/%{_defaultdocdir} +mv %{buildroot}%{_datadir}/doc/pcre2 %{buildroot}/%{_defaultdocdir}/pcre2-doc +#empty dependecy_libs +find %{buildroot} -type f -name "*.la" -delete -print + +%check +export LANG=POSIX +%make_build check -j1 + +%ldconfig_scriptlets -n libpcre2-8-0 +%ldconfig_scriptlets -n libpcre2-16-0 +%ldconfig_scriptlets -n libpcre2-32-0 +%ldconfig_scriptlets -n libpcre2-posix3 + +%files -n libpcre2-8-0 +%license LICENCE.md +%doc AUTHORS.md ChangeLog NEWS README +%{_libdir}/libpcre2-8.so.* + +%files -n libpcre2-16-0 +%license LICENCE.md +%{_libdir}/libpcre2-16.so.* + +%files -n libpcre2-32-0 +%license LICENCE.md +%{_libdir}/libpcre2-32.so.* + +%files -n libpcre2-posix3 +%license LICENCE.md +%{_libdir}/libpcre2-posix.so.* + +%files tools +%license LICENCE.md +%{_bindir}/pcre2grep +%{_bindir}/pcre2test +%{_mandir}/man1/pcre2grep.1%{?ext_man} +%{_mandir}/man1/pcre2test.1%{?ext_man} + +%files doc +%license LICENCE.md +%doc AUTHORS.md ChangeLog NEWS README +%doc doc/html doc/*.txt +%doc %{_defaultdocdir}/pcre2-doc + +%files devel +%license LICENCE.md +%{_bindir}/pcre2-config +%{_includedir}/* +%{_libdir}/*.so +%{_libdir}/pkgconfig/libpcre2-8.pc +%{_libdir}/pkgconfig/libpcre2-16.pc +%{_libdir}/pkgconfig/libpcre2-32.pc +%{_libdir}/pkgconfig/libpcre2-posix.pc +%{_mandir}/man1/pcre2-config.1%{?ext_man} +%{_mandir}/man3/*%{ext_man} + +%files devel-static +%license LICENCE.md +%{_libdir}/*.a + +%changelog -- 2.51.1 From d1adc69991d4ea57e23accb662b73bb4649e136ef04254982e5aafca77ba340d Mon Sep 17 00:00:00 2001 From: Andreas Stieger Date: Tue, 10 Jun 2025 07:15:02 +0000 Subject: [PATCH 2/5] Mark profiling as non-deterministic (boo#1040589) OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/pcre2?expand=0&rev=77 --- .gitattributes | 23 + .gitignore | 1 + baselibs.conf | 4 + pcre2-10.10-multilib.patch | 34 + pcre2-10.44-github-issue-415.patch | 5223 ++++++++++++++++++++++++++++ pcre2-10.44.tar.bz2 | 3 + pcre2-10.44.tar.bz2.sig | Bin 0 -> 310 bytes pcre2-10.45.tar.bz2 | 3 + pcre2-10.45.tar.bz2.sig | Bin 0 -> 566 bytes pcre2.changes | 1472 ++++++++ pcre2.keyring | 127 + pcre2.spec | 274 ++ 12 files changed, 7164 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 baselibs.conf create mode 100644 pcre2-10.10-multilib.patch create mode 100644 pcre2-10.44-github-issue-415.patch create mode 100644 pcre2-10.44.tar.bz2 create mode 100644 pcre2-10.44.tar.bz2.sig create mode 100644 pcre2-10.45.tar.bz2 create mode 100644 pcre2-10.45.tar.bz2.sig create mode 100644 pcre2.changes create mode 100644 pcre2.keyring create mode 100644 pcre2.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..0c9d64b --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,4 @@ +libpcre2-8-0 +libpcre2-16-0 +libpcre2-32-0 +libpcre2-posix3 diff --git a/pcre2-10.10-multilib.patch b/pcre2-10.10-multilib.patch new file mode 100644 index 0000000..b191633 --- /dev/null +++ b/pcre2-10.10-multilib.patch @@ -0,0 +1,34 @@ +From 1d5ce3e2e6341b01609aefab20786a8638fee17a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Tue, 6 Dec 2011 18:44:11 +0100 +Subject: [PATCH] Fix multilib + +Do not set RPATH nor add explicit -L path to compiler. +--- + pcre2-config.in | 12 ------------ + 1 file changed, 12 deletions(-) + +Index: pcre2-10.10/pcre2-config.in +=================================================================== +--- pcre2-10.10.orig/pcre2-config.in 2014-10-17 17:07:57.000000000 +0200 ++++ pcre2-10.10/pcre2-config.in 2015-06-18 20:56:20.000000000 +0200 +@@ -28,19 +28,7 @@ if test $# -eq 0; then + fi + + libR= +-case `uname -s` in +- *SunOS*) +- libR=" -R@libdir@" +- ;; +- *BSD*) +- libR=" -Wl,-R@libdir@" +- ;; +-esac +- + libS= +-if test @libdir@ != /usr/lib ; then +- libS=-L@libdir@ +-fi + + while test $# -gt 0; do + case "$1" in diff --git a/pcre2-10.44-github-issue-415.patch b/pcre2-10.44-github-issue-415.patch new file mode 100644 index 0000000..a5f9963 --- /dev/null +++ b/pcre2-10.44-github-issue-415.patch @@ -0,0 +1,5223 @@ +From fc70a2dcf913e7e2bc0465980d50e8d80e1e4cb7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Carlo=20Marcelo=20Arenas=20Bel=C3=B3n?= +Date: Sat, 8 Jun 2024 21:10:08 -0700 +Subject: [PATCH] pcre2test: memory reports only compiled memory usage for + code/data + +Since 05aafb2 (Implement pcre2_set_max_pattern_compiled_length() and set +this limit in the fuzzer, 2024-04-24), the memory modifier has reported +the full size of the allocated "code" returned by `pcre2_compile`. + +Problem is that the size of the structure used to hold that in memory also +depends on the platform ABI and even alignment by the compiler, and has +been therefore fragile to compare. + +Revert to reporting only the additional memory that `pcre2_compile()` will +use for the compiled pattern (including any data tables) and make sure +that the limit provided with `pcre2_set_max_pattern_compiled_length()` +also avoid the internal struct overhead. + +Fixes: #415 +--- + doc/pcre2_set_max_pattern_compiled_length.3 | 8 +- + src/pcre2_compile.c | 4 +- + src/pcre2test.c | 17 +- + testdata/testoutput8-16-2 | 171 +++++++------------- + testdata/testoutput8-16-3 | 171 +++++++------------- + testdata/testoutput8-16-4 | 171 +++++++------------- + testdata/testoutput8-32-2 | 171 +++++++------------- + testdata/testoutput8-32-3 | 171 +++++++------------- + testdata/testoutput8-32-4 | 171 +++++++------------- + testdata/testoutput8-8-2 | 171 +++++++------------- + testdata/testoutput8-8-3 | 171 +++++++------------- + testdata/testoutput8-8-4 | 171 +++++++------------- + 12 files changed, 546 insertions(+), 1022 deletions(-) + +diff --git a/doc/pcre2_set_max_pattern_compiled_length.3 b/doc/pcre2_set_max_pattern_compiled_length.3 +index 472a7bbd..679c12c2 100644 +--- a/doc/pcre2_set_max_pattern_compiled_length.3 ++++ b/doc/pcre2_set_max_pattern_compiled_length.3 +@@ -1,4 +1,4 @@ +-.TH PCRE2_SET_MAX_PATTERN_COMPILED_LENGTH 3 "24 April 2024" "PCRE2 10.44" ++.TH PCRE2_SET_MAX_PATTERN_COMPILED_LENGTH 3 "8 Jun 2024" "PCRE2 10.45" + .SH NAME + PCRE2 - Perl-compatible regular expressions (revised API) + .SH SYNOPSIS +@@ -15,9 +15,9 @@ PCRE2 - Perl-compatible regular expressions (revised API) + .rs + .sp + This function sets, in a compile context, the maximum size (in bytes) for the +-memory needed to hold the compiled version of a pattern that is compiled with +-this context. The result is always zero. If a pattern that is passed to +-\fBpcre2_compile()\fP with this context needs more memory, an error is ++memory needed to hold the compiled version of a pattern that is using this ++context. The result is always zero. If a pattern that is passed to ++\fBpcre2_compile()\fP referencing this context needs more memory, an error is + generated. The default is the largest number that a PCRE2_SIZE variable can + hold, which is effectively unlimited. + .P +diff --git a/src/pcre2_compile.c b/src/pcre2_compile.c +index 8e6787ab..cc5b9674 100644 +--- a/src/pcre2_compile.c ++++ b/src/pcre2_compile.c +@@ -10608,8 +10608,7 @@ block for storing the compiled pattern and names table. Integer overflow should + no longer be possible because nowadays we limit the maximum value of + cb.names_found and cb.name_entry_size. */ + +-re_blocksize = sizeof(pcre2_real_code) + +- CU2BYTES(length + ++re_blocksize = CU2BYTES(length + + (PCRE2_SIZE)cb.names_found * (PCRE2_SIZE)cb.name_entry_size); + + if (re_blocksize > ccontext->max_pattern_compiled_length) +@@ -10618,6 +10617,7 @@ if (re_blocksize > ccontext->max_pattern_compiled_length) + goto HAD_CB_ERROR; + } + ++re_blocksize += sizeof(pcre2_real_code); + re = (pcre2_real_code *) + ccontext->memctl.malloc(re_blocksize, ccontext->memctl.memory_data); + if (re == NULL) +diff --git a/src/pcre2test.c b/src/pcre2test.c +index 37903451..550ae4e4 100644 +--- a/src/pcre2test.c ++++ b/src/pcre2test.c +@@ -4397,7 +4397,7 @@ static void + show_memory_info(void) + { + uint32_t name_count, name_entry_size; +-PCRE2_SIZE size, cblock_size; ++PCRE2_SIZE size, cblock_size, data_size; + + /* One of the test_mode values will always be true, but to stop a compiler + warning we must initialize cblock_size. */ +@@ -4417,18 +4417,19 @@ if (test_mode == PCRE32_MODE) cblock_size = sizeof(pcre2_real_code_32); + (void)pattern_info(PCRE2_INFO_NAMECOUNT, &name_count, FALSE); + (void)pattern_info(PCRE2_INFO_NAMEENTRYSIZE, &name_entry_size, FALSE); + +-/* The uint32_t variables are cast before multiplying to stop code analyzers +-grumbling about potential overflow. */ ++/* The uint32_t variables are cast before multiplying to avoid potential ++ integer overflow. */ ++data_size = (PCRE2_SIZE)name_count * (PCRE2_SIZE)name_entry_size * (PCRE2_SIZE)code_unit_size; + +-fprintf(outfile, "Memory allocation - compiled block : %" SIZ_FORM "\n", size); +-fprintf(outfile, "Memory allocation - code portion : %" SIZ_FORM "\n", size - +- (PCRE2_SIZE)name_count * (PCRE2_SIZE)name_entry_size * (PCRE2_SIZE)code_unit_size - +- cblock_size); ++fprintf(outfile, "Memory allocation - code size : %" SIZ_FORM "\n", size - ++ cblock_size - data_size); ++if (data_size != 0) ++ fprintf(outfile, "Memory allocation - data size : %" SIZ_FORM "\n", data_size); + + if (pat_patctl.jit != 0) + { + (void)pattern_info(PCRE2_INFO_JITSIZE, &size, FALSE); +- fprintf(outfile, "Memory allocation - JIT code : %" SIZ_FORM "\n", size); ++ fprintf(outfile, "Memory allocation - JIT code : %" SIZ_FORM "\n", size); + } + } + +diff --git a/testdata/testoutput8-16-2 b/testdata/testoutput8-16-2 +index bcb9e177..108c0bea 100644 +--- a/testdata/testoutput8-16-2 ++++ b/testdata/testoutput8-16-2 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 5 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 174 +-Memory allocation - code portion : 38 ++Memory allocation - code size : 38 + ------------------------------------------------------------------ + 0 16 Bra + 2 7 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 38 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 15 Bra + 2 6 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 182 +-Memory allocation - code portion : 46 ++Memory allocation - code size : 46 + ------------------------------------------------------------------ + 0 20 Bra + 2 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 46 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 2 Bra + 2 2 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 7 Bra + 2 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 10 Bra + 2 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 26 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 278 +-Memory allocation - code portion : 142 ++Memory allocation - code size : 142 + ------------------------------------------------------------------ + 0 68 Bra + 2 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 142 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1784 +-Memory allocation - code portion : 1648 ++Memory allocation - code size : 1648 + ------------------------------------------------------------------ + 0 821 Bra + 2 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 1648 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1764 +-Memory allocation - code portion : 1628 ++Memory allocation - code size : 1628 + ------------------------------------------------------------------ + 0 811 Bra + 2 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 1628 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 13 Bra + 2 9 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 176 +-Memory allocation - code portion : 40 ++Memory allocation - code size : 40 + ------------------------------------------------------------------ + 0 17 Bra + 2 13 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 40 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 242 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 ++Memory allocation - data size : 52 + ------------------------------------------------------------------ + 0 24 Bra + 2 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 218 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 ++Memory allocation - data size : 18 + ------------------------------------------------------------------ + 0 29 Bra + 2 18 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 ++Memory allocation - data size : 6 + ------------------------------------------------------------------ + 0 24 Bra + 2 5 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 22 Bra + 2 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 214 +-Memory allocation - code portion : 78 ++Memory allocation - code size : 78 + ------------------------------------------------------------------ + 0 36 Bra + 2 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 78 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 5 Bra + 2 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 16 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 5 Bra + 2 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 16 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 5 Bra + 2 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 16 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 10 Bra + 2 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 190 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 + ------------------------------------------------------------------ + 0 24 Bra + 2 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 26 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 26 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 27 Bra + 2 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 194 +-Memory allocation - code portion : 58 ++Memory allocation - code size : 58 + ------------------------------------------------------------------ + 0 26 Bra + 2 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 58 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 13 Bra + 2 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 13 Bra + 2 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 23 Bra + 2 19 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 178 +-Memory allocation - code portion : 42 ++Memory allocation - code size : 42 + ------------------------------------------------------------------ + 0 18 Bra + 2 14 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 42 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +diff --git a/testdata/testoutput8-16-3 b/testdata/testoutput8-16-3 +index 4ec13ea9..28acd251 100644 +--- a/testdata/testoutput8-16-3 ++++ b/testdata/testoutput8-16-3 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 6 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 20 Bra + 3 8 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 182 +-Memory allocation - code portion : 46 ++Memory allocation - code size : 46 + ------------------------------------------------------------------ + 0 19 Bra + 3 7 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 46 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 21 Bra + 3 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 3 Bra + 3 3 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 8 Bra + 3 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 170 +-Memory allocation - code portion : 34 ++Memory allocation - code size : 34 + ------------------------------------------------------------------ + 0 13 Bra + 3 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 34 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 302 +-Memory allocation - code portion : 166 ++Memory allocation - code size : 166 + ------------------------------------------------------------------ + 0 79 Bra + 3 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 166 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1788 +-Memory allocation - code portion : 1652 ++Memory allocation - code size : 1652 + ------------------------------------------------------------------ + 0 822 Bra + 3 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 1652 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1768 +-Memory allocation - code portion : 1632 ++Memory allocation - code size : 1632 + ------------------------------------------------------------------ + 0 812 Bra + 3 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 1632 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 178 +-Memory allocation - code portion : 42 ++Memory allocation - code size : 42 + ------------------------------------------------------------------ + 0 17 Bra + 3 11 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 42 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 190 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 + ------------------------------------------------------------------ + 0 23 Bra + 3 17 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 68 ++Memory allocation - code size : 68 ++Memory allocation - data size : 52 + ------------------------------------------------------------------ + 0 30 Bra + 3 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 68 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 238 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 ++Memory allocation - data size : 18 + ------------------------------------------------------------------ + 0 38 Bra + 3 23 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 206 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 ++Memory allocation - data size : 6 + ------------------------------------------------------------------ + 0 28 Bra + 3 6 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 198 +-Memory allocation - code portion : 62 ++Memory allocation - code size : 62 + ------------------------------------------------------------------ + 0 27 Bra + 3 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 62 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 242 +-Memory allocation - code portion : 106 ++Memory allocation - code size : 106 + ------------------------------------------------------------------ + 0 49 Bra + 3 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 106 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 20 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 9 Bra + 3 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 9 Bra + 3 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 26 Bra + 3 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 32 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 202 +-Memory allocation - code portion : 66 ++Memory allocation - code size : 66 + ------------------------------------------------------------------ + 0 29 Bra + 3 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 66 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 28 Bra + 3 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 14 Bra + 3 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 14 Bra + 3 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 206 +-Memory allocation - code portion : 70 ++Memory allocation - code size : 70 + ------------------------------------------------------------------ + 0 31 Bra + 3 25 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 70 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 192 +-Memory allocation - code portion : 56 ++Memory allocation - code size : 56 + ------------------------------------------------------------------ + 0 24 Bra + 3 18 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 56 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +diff --git a/testdata/testoutput8-16-4 b/testdata/testoutput8-16-4 +index 4ec13ea9..28acd251 100644 +--- a/testdata/testoutput8-16-4 ++++ b/testdata/testoutput8-16-4 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 6 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 20 Bra + 3 8 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 182 +-Memory allocation - code portion : 46 ++Memory allocation - code size : 46 + ------------------------------------------------------------------ + 0 19 Bra + 3 7 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 46 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 21 Bra + 3 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 3 Bra + 3 3 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 8 Bra + 3 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 170 +-Memory allocation - code portion : 34 ++Memory allocation - code size : 34 + ------------------------------------------------------------------ + 0 13 Bra + 3 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 34 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 302 +-Memory allocation - code portion : 166 ++Memory allocation - code size : 166 + ------------------------------------------------------------------ + 0 79 Bra + 3 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 166 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1788 +-Memory allocation - code portion : 1652 ++Memory allocation - code size : 1652 + ------------------------------------------------------------------ + 0 822 Bra + 3 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 1652 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1768 +-Memory allocation - code portion : 1632 ++Memory allocation - code size : 1632 + ------------------------------------------------------------------ + 0 812 Bra + 3 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 1632 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 178 +-Memory allocation - code portion : 42 ++Memory allocation - code size : 42 + ------------------------------------------------------------------ + 0 17 Bra + 3 11 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 42 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 190 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 + ------------------------------------------------------------------ + 0 23 Bra + 3 17 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 68 ++Memory allocation - code size : 68 ++Memory allocation - data size : 52 + ------------------------------------------------------------------ + 0 30 Bra + 3 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 68 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 238 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 ++Memory allocation - data size : 18 + ------------------------------------------------------------------ + 0 38 Bra + 3 23 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 206 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 ++Memory allocation - data size : 6 + ------------------------------------------------------------------ + 0 28 Bra + 3 6 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 198 +-Memory allocation - code portion : 62 ++Memory allocation - code size : 62 + ------------------------------------------------------------------ + 0 27 Bra + 3 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 62 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 242 +-Memory allocation - code portion : 106 ++Memory allocation - code size : 106 + ------------------------------------------------------------------ + 0 49 Bra + 3 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 106 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 20 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 9 Bra + 3 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 9 Bra + 3 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 26 Bra + 3 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 32 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 202 +-Memory allocation - code portion : 66 ++Memory allocation - code size : 66 + ------------------------------------------------------------------ + 0 29 Bra + 3 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 66 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 28 Bra + 3 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 14 Bra + 3 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 14 Bra + 3 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 206 +-Memory allocation - code portion : 70 ++Memory allocation - code size : 70 + ------------------------------------------------------------------ + 0 31 Bra + 3 25 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 70 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 192 +-Memory allocation - code portion : 56 ++Memory allocation - code size : 56 + ------------------------------------------------------------------ + 0 24 Bra + 3 18 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 56 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +diff --git a/testdata/testoutput8-32-2 b/testdata/testoutput8-32-2 +index d76f3aaa..90ea536f 100644 +--- a/testdata/testoutput8-32-2 ++++ b/testdata/testoutput8-32-2 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 5 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 7 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 208 +-Memory allocation - code portion : 72 ++Memory allocation - code size : 72 + ------------------------------------------------------------------ + 0 15 Bra + 2 6 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 72 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 2 Bra + 2 2 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 176 +-Memory allocation - code portion : 40 ++Memory allocation - code size : 40 + ------------------------------------------------------------------ + 0 7 Bra + 2 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 40 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 356 +-Memory allocation - code portion : 220 ++Memory allocation - code size : 220 + ------------------------------------------------------------------ + 0 52 Bra + 2 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 220 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3432 +-Memory allocation - code portion : 3296 ++Memory allocation - code size : 3296 + ------------------------------------------------------------------ + 0 821 Bra + 2 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 3296 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3392 +-Memory allocation - code portion : 3256 ++Memory allocation - code size : 3256 + ------------------------------------------------------------------ + 0 811 Bra + 2 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 3256 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 13 Bra + 2 9 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 216 +-Memory allocation - code portion : 80 ++Memory allocation - code size : 80 + ------------------------------------------------------------------ + 0 17 Bra + 2 13 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 80 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 348 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 104 + ------------------------------------------------------------------ + 0 24 Bra + 2 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 300 +-Memory allocation - code portion : 128 ++Memory allocation - code size : 128 ++Memory allocation - data size : 36 + ------------------------------------------------------------------ + 0 29 Bra + 2 18 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 128 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 24 Bra + 2 5 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 236 +-Memory allocation - code portion : 100 ++Memory allocation - code size : 100 + ------------------------------------------------------------------ + 0 22 Bra + 2 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 100 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 292 +-Memory allocation - code portion : 156 ++Memory allocation - code size : 156 + ------------------------------------------------------------------ + 0 36 Bra + 2 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 156 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 28 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 52 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 224 +-Memory allocation - code portion : 88 ++Memory allocation - code size : 88 + ------------------------------------------------------------------ + 0 19 Bra + 2 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 88 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 240 +-Memory allocation - code portion : 104 ++Memory allocation - code size : 104 + ------------------------------------------------------------------ + 0 23 Bra + 2 19 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 104 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 14 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +diff --git a/testdata/testoutput8-32-3 b/testdata/testoutput8-32-3 +index d76f3aaa..90ea536f 100644 +--- a/testdata/testoutput8-32-3 ++++ b/testdata/testoutput8-32-3 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 5 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 7 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 208 +-Memory allocation - code portion : 72 ++Memory allocation - code size : 72 + ------------------------------------------------------------------ + 0 15 Bra + 2 6 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 72 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 2 Bra + 2 2 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 176 +-Memory allocation - code portion : 40 ++Memory allocation - code size : 40 + ------------------------------------------------------------------ + 0 7 Bra + 2 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 40 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 356 +-Memory allocation - code portion : 220 ++Memory allocation - code size : 220 + ------------------------------------------------------------------ + 0 52 Bra + 2 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 220 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3432 +-Memory allocation - code portion : 3296 ++Memory allocation - code size : 3296 + ------------------------------------------------------------------ + 0 821 Bra + 2 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 3296 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3392 +-Memory allocation - code portion : 3256 ++Memory allocation - code size : 3256 + ------------------------------------------------------------------ + 0 811 Bra + 2 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 3256 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 13 Bra + 2 9 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 216 +-Memory allocation - code portion : 80 ++Memory allocation - code size : 80 + ------------------------------------------------------------------ + 0 17 Bra + 2 13 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 80 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 348 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 104 + ------------------------------------------------------------------ + 0 24 Bra + 2 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 300 +-Memory allocation - code portion : 128 ++Memory allocation - code size : 128 ++Memory allocation - data size : 36 + ------------------------------------------------------------------ + 0 29 Bra + 2 18 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 128 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 24 Bra + 2 5 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 236 +-Memory allocation - code portion : 100 ++Memory allocation - code size : 100 + ------------------------------------------------------------------ + 0 22 Bra + 2 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 100 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 292 +-Memory allocation - code portion : 156 ++Memory allocation - code size : 156 + ------------------------------------------------------------------ + 0 36 Bra + 2 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 156 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 28 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 52 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 224 +-Memory allocation - code portion : 88 ++Memory allocation - code size : 88 + ------------------------------------------------------------------ + 0 19 Bra + 2 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 88 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 240 +-Memory allocation - code portion : 104 ++Memory allocation - code size : 104 + ------------------------------------------------------------------ + 0 23 Bra + 2 19 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 104 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 14 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +diff --git a/testdata/testoutput8-32-4 b/testdata/testoutput8-32-4 +index d76f3aaa..90ea536f 100644 +--- a/testdata/testoutput8-32-4 ++++ b/testdata/testoutput8-32-4 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 5 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 7 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 208 +-Memory allocation - code portion : 72 ++Memory allocation - code size : 72 + ------------------------------------------------------------------ + 0 15 Bra + 2 6 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 72 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 2 Bra + 2 2 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 176 +-Memory allocation - code portion : 40 ++Memory allocation - code size : 40 + ------------------------------------------------------------------ + 0 7 Bra + 2 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 40 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 356 +-Memory allocation - code portion : 220 ++Memory allocation - code size : 220 + ------------------------------------------------------------------ + 0 52 Bra + 2 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 220 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3432 +-Memory allocation - code portion : 3296 ++Memory allocation - code size : 3296 + ------------------------------------------------------------------ + 0 821 Bra + 2 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 3296 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3392 +-Memory allocation - code portion : 3256 ++Memory allocation - code size : 3256 + ------------------------------------------------------------------ + 0 811 Bra + 2 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 3256 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 13 Bra + 2 9 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 216 +-Memory allocation - code portion : 80 ++Memory allocation - code size : 80 + ------------------------------------------------------------------ + 0 17 Bra + 2 13 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 80 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 348 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 104 + ------------------------------------------------------------------ + 0 24 Bra + 2 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 300 +-Memory allocation - code portion : 128 ++Memory allocation - code size : 128 ++Memory allocation - data size : 36 + ------------------------------------------------------------------ + 0 29 Bra + 2 18 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 128 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 24 Bra + 2 5 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 236 +-Memory allocation - code portion : 100 ++Memory allocation - code size : 100 + ------------------------------------------------------------------ + 0 22 Bra + 2 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 100 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 292 +-Memory allocation - code portion : 156 ++Memory allocation - code size : 156 + ------------------------------------------------------------------ + 0 36 Bra + 2 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 156 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 28 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 52 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 224 +-Memory allocation - code portion : 88 ++Memory allocation - code size : 88 + ------------------------------------------------------------------ + 0 19 Bra + 2 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 88 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 240 +-Memory allocation - code portion : 104 ++Memory allocation - code size : 104 + ------------------------------------------------------------------ + 0 23 Bra + 2 19 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 104 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 14 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +diff --git a/testdata/testoutput8-8-2 b/testdata/testoutput8-8-2 +index f3811d95..779552ac 100644 +--- a/testdata/testoutput8-8-2 ++++ b/testdata/testoutput8-8-2 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 153 +-Memory allocation - code portion : 17 ++Memory allocation - code size : 17 + ------------------------------------------------------------------ + 0 13 Bra + 3 7 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 17 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 161 +-Memory allocation - code portion : 25 ++Memory allocation - code size : 25 + ------------------------------------------------------------------ + 0 21 Bra + 3 9 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 25 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 159 +-Memory allocation - code portion : 23 ++Memory allocation - code size : 23 + ------------------------------------------------------------------ + 0 19 Bra + 3 7 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 23 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 177 +-Memory allocation - code portion : 41 ++Memory allocation - code size : 41 + ------------------------------------------------------------------ + 0 37 Bra + 3 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 41 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 143 +-Memory allocation - code portion : 7 ++Memory allocation - code size : 7 + ------------------------------------------------------------------ + 0 3 Bra + 3 3 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 9 Bra + 3 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 14 Bra + 3 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 120 ++Memory allocation - code size : 120 + ------------------------------------------------------------------ + 0 116 Bra + 3 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 120 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 962 +-Memory allocation - code portion : 826 ++Memory allocation - code size : 826 + ------------------------------------------------------------------ + 0 822 Bra + 3 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 826 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 952 +-Memory allocation - code portion : 816 ++Memory allocation - code size : 816 + ------------------------------------------------------------------ + 0 812 Bra + 3 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 816 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 18 Bra + 3 12 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 22 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 24 Bra + 3 18 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 ++Memory allocation - data size : 28 + ------------------------------------------------------------------ + 0 32 Bra + 3 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 193 +-Memory allocation - code portion : 45 ++Memory allocation - code size : 45 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 41 Bra + 3 25 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 45 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 174 +-Memory allocation - code portion : 34 ++Memory allocation - code size : 34 ++Memory allocation - data size : 4 + ------------------------------------------------------------------ + 0 30 Bra + 3 7 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 34 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 167 +-Memory allocation - code portion : 31 ++Memory allocation - code size : 31 + ------------------------------------------------------------------ + 0 27 Bra + 3 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 31 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 189 +-Memory allocation - code portion : 53 ++Memory allocation - code size : 53 + ------------------------------------------------------------------ + 0 49 Bra + 3 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 53 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 7 Bra + 3 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 8 Bra + 3 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 8 Bra + 3 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 8 Bra + 3 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 12 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 14 Bra + 3 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 155 +-Memory allocation - code portion : 19 ++Memory allocation - code size : 19 + ------------------------------------------------------------------ + 0 15 Bra + 3 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \xb4 + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 155 +-Memory allocation - code portion : 19 ++Memory allocation - code size : 19 + ------------------------------------------------------------------ + 0 15 Bra + 3 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x9e + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 183 +-Memory allocation - code portion : 47 ++Memory allocation - code size : 47 + ------------------------------------------------------------------ + 0 43 Bra + 3 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 47 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 14 Bra + 3 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 14 Bra + 3 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 18 + Failed: error 106 at offset 15: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 46 Bra + 3 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 44 Bra + 3 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 161 +-Memory allocation - code portion : 25 ++Memory allocation - code size : 25 + ------------------------------------------------------------------ + 0 21 Bra + 3 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 25 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 161 +-Memory allocation - code portion : 25 ++Memory allocation - code size : 25 + ------------------------------------------------------------------ + 0 21 Bra + 3 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 25 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 153 +-Memory allocation - code portion : 17 ++Memory allocation - code size : 17 + ------------------------------------------------------------------ + 0 13 Bra + 3 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 17 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 174 +-Memory allocation - code portion : 38 ++Memory allocation - code size : 38 + ------------------------------------------------------------------ + 0 34 Bra + 3 28 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 38 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 26 Bra + 3 20 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 [^\x{aa}] +diff --git a/testdata/testoutput8-8-3 b/testdata/testoutput8-8-3 +index 48e0b8aa..2657ce89 100644 +--- a/testdata/testoutput8-8-3 ++++ b/testdata/testoutput8-8-3 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 8 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 25 Bra + 4 10 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 23 Bra + 4 8 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 179 +-Memory allocation - code portion : 43 ++Memory allocation - code size : 43 + ------------------------------------------------------------------ + 0 38 Bra + 4 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 43 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 4 Bra + 4 4 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 10 Bra + 4 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 17 Bra + 4 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 22 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 268 +-Memory allocation - code portion : 132 ++Memory allocation - code size : 132 + ------------------------------------------------------------------ + 0 127 Bra + 4 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 132 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 964 +-Memory allocation - code portion : 828 ++Memory allocation - code size : 828 + ------------------------------------------------------------------ + 0 823 Bra + 4 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 828 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 954 +-Memory allocation - code portion : 818 ++Memory allocation - code size : 818 + ------------------------------------------------------------------ + 0 813 Bra + 4 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 818 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 163 +-Memory allocation - code portion : 27 ++Memory allocation - code size : 27 + ------------------------------------------------------------------ + 0 22 Bra + 4 14 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 27 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 171 +-Memory allocation - code portion : 35 ++Memory allocation - code size : 35 + ------------------------------------------------------------------ + 0 30 Bra + 4 22 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 35 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 207 +-Memory allocation - code portion : 43 ++Memory allocation - code size : 43 ++Memory allocation - data size : 28 + ------------------------------------------------------------------ + 0 38 Bra + 4 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 43 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 203 +-Memory allocation - code portion : 55 ++Memory allocation - code size : 55 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 50 Bra + 4 30 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 55 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 179 +-Memory allocation - code portion : 39 ++Memory allocation - code size : 39 ++Memory allocation - data size : 4 + ------------------------------------------------------------------ + 0 34 Bra + 4 8 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 39 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 173 +-Memory allocation - code portion : 37 ++Memory allocation - code size : 37 + ------------------------------------------------------------------ + 0 32 Bra + 4 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 37 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 203 +-Memory allocation - code portion : 67 ++Memory allocation - code size : 67 + ------------------------------------------------------------------ + 0 62 Bra + 4 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 67 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 8 Bra + 4 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 9 Bra + 4 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 9 Bra + 4 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 9 Bra + 4 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 14 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 15 Bra + 4 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \xb4 + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x9e + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 45 Bra + 4 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 21 + Failed: error 106 at offset 15: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 189 +-Memory allocation - code portion : 53 ++Memory allocation - code size : 53 + ------------------------------------------------------------------ + 0 48 Bra + 4 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 53 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 187 +-Memory allocation - code portion : 51 ++Memory allocation - code size : 51 + ------------------------------------------------------------------ + 0 46 Bra + 4 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 51 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 163 +-Memory allocation - code portion : 27 ++Memory allocation - code size : 27 + ------------------------------------------------------------------ + 0 22 Bra + 4 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 27 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 163 +-Memory allocation - code portion : 27 ++Memory allocation - code size : 27 + ------------------------------------------------------------------ + 0 22 Bra + 4 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 27 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 15 Bra + 4 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 183 +-Memory allocation - code portion : 47 ++Memory allocation - code size : 47 + ------------------------------------------------------------------ + 0 42 Bra + 4 34 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 47 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 173 +-Memory allocation - code portion : 37 ++Memory allocation - code size : 37 + ------------------------------------------------------------------ + 0 32 Bra + 4 24 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 37 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 [^\x{aa}] +diff --git a/testdata/testoutput8-8-4 b/testdata/testoutput8-8-4 +index 81cf0f76..8bfac41a 100644 +--- a/testdata/testoutput8-8-4 ++++ b/testdata/testoutput8-8-4 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 161 +-Memory allocation - code portion : 25 ++Memory allocation - code size : 25 + ------------------------------------------------------------------ + 0 19 Bra + 5 9 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 25 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 171 +-Memory allocation - code portion : 35 ++Memory allocation - code size : 35 + ------------------------------------------------------------------ + 0 29 Bra + 5 11 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 35 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 169 +-Memory allocation - code portion : 33 ++Memory allocation - code size : 33 + ------------------------------------------------------------------ + 0 27 Bra + 5 9 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 33 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 181 +-Memory allocation - code portion : 45 ++Memory allocation - code size : 45 + ------------------------------------------------------------------ + 0 39 Bra + 5 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 45 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 5 Bra + 5 5 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 153 +-Memory allocation - code portion : 17 ++Memory allocation - code size : 17 + ------------------------------------------------------------------ + 0 11 Bra + 5 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 17 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 20 Bra + 5 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 26 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 280 +-Memory allocation - code portion : 144 ++Memory allocation - code size : 144 + ------------------------------------------------------------------ + 0 138 Bra + 5 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 144 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 966 +-Memory allocation - code portion : 830 ++Memory allocation - code size : 830 + ------------------------------------------------------------------ + 0 824 Bra + 5 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 830 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 956 +-Memory allocation - code portion : 820 ++Memory allocation - code size : 820 + ------------------------------------------------------------------ + 0 814 Bra + 5 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 820 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 26 Bra + 5 16 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 178 +-Memory allocation - code portion : 42 ++Memory allocation - code size : 42 + ------------------------------------------------------------------ + 0 36 Bra + 5 26 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 42 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 214 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 ++Memory allocation - data size : 28 + ------------------------------------------------------------------ + 0 44 Bra + 5 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 213 +-Memory allocation - code portion : 65 ++Memory allocation - code size : 65 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 59 Bra + 5 35 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 65 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 ++Memory allocation - data size : 4 + ------------------------------------------------------------------ + 0 38 Bra + 5 9 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 44 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 179 +-Memory allocation - code portion : 43 ++Memory allocation - code size : 43 + ------------------------------------------------------------------ + 0 37 Bra + 5 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 43 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 217 +-Memory allocation - code portion : 81 ++Memory allocation - code size : 81 + ------------------------------------------------------------------ + 0 75 Bra + 5 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 81 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 9 Bra + 5 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 10 Bra + 5 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 16 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 10 Bra + 5 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 16 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 10 Bra + 5 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 16 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 16 Bra + 5 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 159 +-Memory allocation - code portion : 23 ++Memory allocation - code size : 23 + ------------------------------------------------------------------ + 0 17 Bra + 5 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \xb4 + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 159 +-Memory allocation - code portion : 23 ++Memory allocation - code size : 23 + ------------------------------------------------------------------ + 0 17 Bra + 5 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x9e + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 189 +-Memory allocation - code portion : 53 ++Memory allocation - code size : 53 + ------------------------------------------------------------------ + 0 47 Bra + 5 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 53 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 18 Bra + 5 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 18 Bra + 5 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 24 + Failed: error 106 at offset 15: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 192 +-Memory allocation - code portion : 56 ++Memory allocation - code size : 56 + ------------------------------------------------------------------ + 0 50 Bra + 5 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 56 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 190 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 + ------------------------------------------------------------------ + 0 48 Bra + 5 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 165 +-Memory allocation - code portion : 29 ++Memory allocation - code size : 29 + ------------------------------------------------------------------ + 0 23 Bra + 5 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 29 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 165 +-Memory allocation - code portion : 29 ++Memory allocation - code size : 29 + ------------------------------------------------------------------ + 0 23 Bra + 5 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 29 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 159 +-Memory allocation - code portion : 23 ++Memory allocation - code size : 23 + ------------------------------------------------------------------ + 0 17 Bra + 5 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 23 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 192 +-Memory allocation - code portion : 56 ++Memory allocation - code size : 56 + ------------------------------------------------------------------ + 0 50 Bra + 5 40 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 56 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 38 Bra + 5 28 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 44 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 [^\x{aa}] diff --git a/pcre2-10.44.tar.bz2 b/pcre2-10.44.tar.bz2 new file mode 100644 index 0000000..181fe0b --- /dev/null +++ b/pcre2-10.44.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d34f02e113cf7193a1ebf2770d3ac527088d485d4e047ed10e5d217c6ef5de96 +size 1928086 diff --git a/pcre2-10.44.tar.bz2.sig b/pcre2-10.44.tar.bz2.sig new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..66a23fd71ca3f1a8aa635b6ef6fdd0930001d2041602a2154df3587c135adeb1 GIT binary patch literal 310 zcmV-60m=S}0W$;u0SEvc79j*h_Kj4#;y<$kn?~iAX5fVT4@1}m0%l_qApi;q5SM1) zg!>Oe*hKaR{x&*LvgiZS7jl}H9|d&PzM3xUXt}1>3TEk91Mc>l3AcI>8-yp0jbA2~ zI=3%xV16($pq6iOg|pSdc0Fu4p`s{2DNhjsK9`-GT>+TpCCQ-exfS3#p(b{E9uwmf zhWtFktz%_M%J&Eqn;m_FI8f312Qm*Vl8<6LjyL__Sl1 zV>z3Sf@6eEZMt#d>Bv(AyzQ|1$lU9ep1ti| zF|}FBL~n=SNxbB?+0ZNm*BH&m(6uxN#J(&ub!ne6`3!nfBj)loZYDCAEH~JJdbR0B I)0FuE5z?rZ4gdfE literal 0 HcmV?d00001 diff --git a/pcre2-10.45.tar.bz2 b/pcre2-10.45.tar.bz2 new file mode 100644 index 0000000..585688b --- /dev/null +++ b/pcre2-10.45.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21547f3516120c75597e5b30a992e27a592a31950b5140e7b8bfde3f192033c4 +size 2072403 diff --git a/pcre2-10.45.tar.bz2.sig b/pcre2-10.45.tar.bz2.sig new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..54ad00e7189cfb3b7db7f427795d0e5a0e71a6ef718f6a12e71bb629925503af GIT binary patch literal 566 zcmV-60?GY}0y6{v0SEvc79j+>&vEet1l4vN3Dc4S9pnr9W3&bZ0%xL#ssIWJ5CR?K z3;ScV22f!T0D^nQ6xY=79@L5f@L`p;VxayUtdc23$Q=1twh&6h0ZBb`VI0m$!G)#C zTI4Kb3-vTN@ILdmnZ6x!evzTosaPeln09h58GB^aPgx?83^1)u$1hrZp1c87@8w4K zsWP5)=_%vqsr3h}jrjJud7p=op%?*vJLkavS1NV3b}+bG*C6EGhSE<&{Yb9?g10(( z+5K%~F&WZo8k0gnNHduz(<>X<#QZ;Emt#mDJ00S=(N|N0@7MZ`ajH7=2REZ3(whgz z*Vl{e^CjzE9J%6&%%>2E2d>RRWpG}F5%N}N_T37}{ycVM5`MK40@+kPPhXhH*l-nd zUlhX!B9hLAA(};a!q%~2$l-J~8p$|b%j zyYRs4GFVsr7+V?rRoHLdDVM@UX6o>FM=tC~yj5dWLBs~b1#I#Z@p0u4bn7#^htGo}i>D?nzzv5ZSM zyft8m(#Pe&DM~TH1p@~lwN)wZ8cFv2j7$($W()zL9;7p1NHNizVv-NR7o~4-!9Nsb E)a1?$*#H0l literal 0 HcmV?d00001 diff --git a/pcre2.changes b/pcre2.changes new file mode 100644 index 0000000..c697b6a --- /dev/null +++ b/pcre2.changes @@ -0,0 +1,1472 @@ +------------------------------------------------------------------- +Tue Jun 10 06:41:24 UTC 2025 - Bernhard Wiedemann + +- Mark profiling as non-deterministic (boo#1040589) + +------------------------------------------------------------------- +Sun Mar 30 15:44:02 UTC 2025 - Andreas Stieger + +- Update to 10.45: + * New upstream maintainers (and signing key) + * Update Unicode support to UCD 16 + * Case-insensitive matching of Unicode properties Ll, Lt, and Lu + has been changed to match Perl + * Case-insensitive matching of backreferences now respects the + PCRE2_EXTRA_CASELESS_RESTRICT option + * Parsing of the \x escape is stricter, and is no longer parsed + as an escape for the NUL character if not followed by '{' or + a hexadecimal digit. Use \x00 instead. + * Add a new feature called scan substring. This is a type of + assertion which matches the content of a capturing block to a + sub-pattern. + * Add support for UTS#18 compatible character classes + * Add support for Perl-style extended character classes + * JIT compilation now fails with the new error code + PCRE2_ERROR_JIT_UNSUPPORTED for patterns which use features not + supported by the JIT compiler. + * New options PCRE2_EXTRA_NO_BS0 (disallow \0 as an escape for + the NUL character); PCRE2_EXTRA_PYTHON_OCTAL (use Python + disambiguation rules for deciding whether \12 is a + backreference or an octal escape); PCRE2_EXTRA_NEVER_CALLOUT + (disable callout syntax entirely); PCRE2_EXTRA_TURKISH_CASING + (use Turkish rules for case-insensitive matching). + * Add new API function pcre2_set_optimize() for + controlling which optimizations are enabled. + * A variety of extensions have been made to pcre2_substitute() + and its syntax for replacement strings. These now support: + \123 octal escapes; titlecasing \u\L; \1 backreferences; \g<1> + and $ backreferences; $& $` $' and $_; new function + pcre2_set_substitute_case_callout() to allow locale-aware case + transformation. +- drop pcre2-10.44-github-issue-415.patch, included upstream +- update license to BSD-3-Clause WITH PCRE2-exception and cascade + to subpackages and parts (boo#1240358) + +------------------------------------------------------------------- +Fri Aug 16 17:37:57 UTC 2024 - Martin Schreiner + +- Fix GitHub issue #415: Test suite fails when targeting i686. + The fix is taken straight from PR #418, also on GitHub. +- Add patch file: + * pcre2-10.44-github-issue-415.patch + +------------------------------------------------------------------- +Sun Jun 30 21:58:45 UTC 2024 - Dirk Müller + +- update to 10.44: + * This is mostly a bug-fix and tidying release. There is one + new function, to set a maximum size for a compiled pattern. + The maximum name length for groups is increased to 128. + * Some auxiliary files for building under VMS are added. + +------------------------------------------------------------------- +Fri Feb 16 21:06:08 UTC 2024 - Andreas Stieger + +- pcre2 10.43: + * The JIT code no longer supports ARMv5 architecture. + * A new function pcre2_get_match_data_heapframes_size() for finer + heap control. + * New option flags to restrict the interaction between ASCII and + non-ASCII characters for caseless matching and \d and friends. + There are also new pattern constructs to control these flags + from within a pattern. + * Upgrade to Unicode 15.0.0. + * Treat a NULL pattern with zero length as an empty string. + * Added support for limited-length variable-length lookbehind + assertions, with a default maximum length of 255 characters + (same as Perl) but with a function to adjust the limit. + * Perl changed the meaning of (for example) {,3} which did not + used to be recognized as a quantifier. Now it means {0,3} and + PCRE2 has also changed. Note that {,} is still not a + quantifier. + * Following Perl, allow spaces and tabs after { and before } in + all Perl- compatible items that use braces, and also around + commas in quantifiers. The one exception in PCRE2 is \u{...}, + which is from ECMAScript, not Perl, and PCRE2 follows + ECMAScript usage. + * Changed the meaning of \w and its synonyms and derivatives (\b + and \B) in UCP mode to follow Perl. It now matches characters + whose general categories are L or N or whose particular + categories are Mn (non-spacing mark) or Pc (combining + punctuation). + * Changed the default meaning of [:xdigit:] in UCP mode to + follow Perl. It now matches the "fullwidth" versions of hex + digits. PCRE2_EXTRA_ASCII_DIGIT can be used to keep it ASCII + only. + * Make PCRE2_UCP the default in UTF mode in pcre2grep and add + -no_ucp, --case-restrict and --posix-digit. + * Add --group-separator and --no-group-separator to pcre2grep. + +------------------------------------------------------------------- +Mon Dec 12 20:19:14 UTC 2022 - Andreas Stieger + +- pcre2 10.42: + * Fix 10.41 regression that added the default definition of + PCRE2_CALL_CONVENTION to pcre2posix.c instead of pcre2posix.h, + which meant that programs including pcre2posix.h but not pcre2.h + couldn't compile + * Fix an intermittent JIT fault and minor issues + +------------------------------------------------------------------- +Mon Dec 12 08:58:58 UTC 2022 - Dirk Müller + +- switch to pkgconfig(zlib) so that alternative providers can be + used + +------------------------------------------------------------------- +Tue Dec 6 21:30:50 UTC 2022 - Andreas Stieger + +- pcre2 10.41: + * pcre2grep behaves more like GNU grep for multiple patterns that + match more than once on a line + +------------------------------------------------------------------- +Sun Jul 31 06:54:48 UTC 2022 - Stephan Kulow + +- Fix the profiling call to be non-parallel again (fighting spec cleaner) + +------------------------------------------------------------------- +Thu May 5 08:15:44 UTC 2022 - pgajdos@suse.com + +- do not enable jit-sealloc [bsc#1182864] [bsc#1199208] + +------------------------------------------------------------------- +Thu May 5 06:52:30 UTC 2022 - pgajdos@suse.com + +- enable jit for s390x [bsc#1199196] + +------------------------------------------------------------------- +Sat Apr 16 10:50:31 UTC 2022 - Andreas Stieger + +- pcre2 10.40: + * Added support for Bidi_Class and a number of binary Unicode + properties, including Bidi_Control. + * A number of changes to script matching for \p and \P: + speed improvements, add the syntax \p{script:xxx} and + \p{script_extensions:xxx} (synonyms sc and scx), Changed + \p{scriptname} from being the same as \p{sc:scriptname} to + being the same as \p{scx:scriptname}, recognize the standard + Unicode 4-letter abbreviations for script names, implement + Unicode and Perl's "loose matching" rules on property names + +------------------------------------------------------------------- +Fri Nov 5 19:01:43 UTC 2021 - Andreas Stieger + +- pcre2 10.39: + * Fix incorrect detection of alternatives in first character + search in JIT + * Update to Unicode 14.0.0 + +------------------------------------------------------------------- +Sun Oct 24 14:41:00 UTC 2021 - Andreas Stieger + +- pcre2 10.38: + * Following Perl's lead, \K is now locked out in lookaround + assertions by default, but an option is provided to re-enable + the previous behaviour + +------------------------------------------------------------------- +Thu May 27 12:30:17 UTC 2021 - Andreas Stieger + +- pcre2 10.37: + * removal of the actual POSIX names regcomp etc. from the POSIX + wrapper library because these have caused issues for some + applications, replacing pcre2-symbol-clash.patch + * fix a hypothetical NULL dereference + * fix two bugs related to over-large numbers so the behaviour is + now the same as Perl + * Fix propagation of \K back from the full pattern recursion + * Restore single character repetition optimization in JIT + +------------------------------------------------------------------- +Wed Apr 14 09:57:53 UTC 2021 - Jan Engelhardt + +- Remove regcomp, regexec etc. from libpcre2-posix. + (Add pcre2-symbol-clash.patch) + +------------------------------------------------------------------- +Sat Dec 5 12:41:55 UTC 2020 - Andreas Stieger + +- pcre2 10.36: + * add GNU grep's -m (aka --max-count) option to pcre2grep + * unify the handling of substitution strings for both -O and + callouts in pcre2grep, with the addition of $x{...} and + $o{...} to allow for characters whose code points are greater + than 255 in Unicode mode + +------------------------------------------------------------------- +Wed May 13 22:24:30 UTC 2020 - Илья Индиго + +- Refresh spec-file via spec-cleaner. + * Add %make_build and %license macros. +- Update to 10.35 + * https://www.pcre.org/changelog.txt + * Use PCRE2_MATCH_EMPTY flag to detect empty matches in JIT. + * A JIT bug is fixed which allowed to read the fields + of the compiled pattern before its existence is checked. + * Added PCRE2_SUBSTITUTE_LITERAL. + * Avoid some VS compiler warnings. + * Added PCRE2_SUBSTITUTE_MATCHED. + * Added (?* and (?<* as synonms for (*napla: and (*naplb: + to match another regex engine. + * Fix *THEN verbs in lookahead assertions in JIT. + * Added PCRE2_SUBSTITUTE_REPLACEMENT_ONLY. + * The JIT stack should be freed when the low-level stack + allocation fails. + * Changed setting of CMAKE_MODULE_PATH in CMakeLists.txt from SET + to LIST(APPEND...) to allow a setting from the command line + to be included. + * Updated to Unicode 13.0.0. + * CMake build now checks for secure_getenv() and strerror(). + * Restrict the configuration setting for the SELinux compatible + execmem allocator (change 10.30/44) to Linux and NetBSD. + +------------------------------------------------------------------- +Fri Mar 27 16:26:54 UTC 2020 - Marketa Calabkova + +- Resubmit the package (bsc#1167890, jsc#SLE-11608) + +------------------------------------------------------------------- +Tue Nov 26 21:24:43 UTC 2019 - Andreas Schwab + +- Enable JIT on aarch64 + +------------------------------------------------------------------- +Fri Nov 22 19:55:35 UTC 2019 - Andreas Stieger + +- pcre2 10.34: + * implement the documented maximum number of capturing + subpatterns of 65535 + * Improve the invalid utf32 support of the JIT compiler + * Add support for matching in invalid UTF strings to the pcre2_match() + * Give more error detail for invalid UTF-8 when detected in pcre2grep + * support for invalid UTF-8 to pcre2grep. + * Adjust the limit for "must have" code unit searching, in particular, + * increase it substantially for non-anchored patterns. + * Allow (*ACCEPT) to be quantified, because an ungreedy quantifier + with a zero minimum is potentially useful. + * Some changes to the way the minimum subject length is handled + * Check for integer overflow when computing lookbehind lengths + * Implement non-atomic positive lookaround assertions + * Upgraded to Unicode 12.1.0 + * Make pcre2test -C show if libreadline or libedit is supported + * Various bug fixes and improvements + +------------------------------------------------------------------- +Thu May 2 00:36:59 UTC 2019 - Jason Sikes + +- Update to 10.33-RC1 to fix issue with LTO (boo#1133274). + * Callouts from pcre2_substitute() are now available. + + * The POSIX functions are now all called pcre2_regcomp() etc., with wrapper + functions that use the standard POSIX names. However, in pcre2posix.h the POSIX + names are defined as macros. This should help avoid linking with the wrong + library in some environments, while still exporting the POSIX names for + pre-existing programs that use them. + + * Some new options: + + (a) PCRE2_EXTRA_ESCAPED_CR_IS_LF makes \r behave as \n. + + (b) PCRE2_EXTRA_ALT_BSUX enables support for ECMAScript 6's \u{hh...} + construct. + + (c) PCRE2_COPY_MATCHED_SUBJECT causes a copy of a matched subject to be + made, instead of just remembering a pointer. + + * Some new Perl features: + + (a) Perl 5.28's experimental alphabetic names for atomic groups and + lookaround assertions, for example, (*pla:...) and (*atomic:...). + + (b) The new Perl "script run" features (*script_run:...) and + (*atomic_script_run:...) aka (*sr:...) and (*asr:...). + + (c) When PCRE2_UTF is set, allow non-ASCII letters and decimal digits in + capture group names. + + * --disable-percent-zt disables the use of %zu and %td in formatting strings + in pcre2test. They were already automatically disabled for VC and older C + compilers. + + * Some changes related to callouts in pcre2grep: + + (a) Support for running an external program under VMS has been added, in + addition to Windows and fork() support. + + (b) --disable-pcre2grep-callout-fork restricts the callout support in + to the inbuilt echo facility. + +------------------------------------------------------------------- +Wed Apr 24 17:30:36 UTC 2019 - Martin Liška + +- Disable LTO (boo#1133274). + +------------------------------------------------------------------- +Wed Jan 23 12:25:38 UTC 2019 - Bernhard Wiedemann + +- Do not run profiling in parallel for reproducible builds (boo#1040589) + +------------------------------------------------------------------- +Mon Jan 14 16:11:53 CET 2019 - kukuk@suse.de + +- Mark all license files as %license + +------------------------------------------------------------------- +Tue Dec 11 14:31:55 UTC 2018 - Cristian Rodríguez + +- Build with --enable-jit-sealloc option, otherwise when + selinux is enabled or systemd memory protections are on, + programs will fail to work with execmem violations. + +------------------------------------------------------------------- +Thu Oct 25 07:22:21 UTC 2018 - astieger@suse.com + +- pcre2 10.32: + * pcre2grep now supports the inclusion of binary zeros in + patterns that are read from files via the -f option. + * In pcre2_dfa_match(), internal recursive calls no longer use + the stack for local workspace and local ovectors + * Updated to Unicode version 11.0.0. + * (*ACCEPT:ARG), (*FAIL:ARG), and (*COMMIT:ARG) are now supported. + * Add support for \N{U+dddd}, but only in Unicode mode. + * Addesupport for (?^) to unset all imnsx options + +------------------------------------------------------------------- +Fri Jul 20 14:05:01 UTC 2018 - mpluskal@suse.com + +- Drop conditions for old distributions +- Do profile guided build + +------------------------------------------------------------------- +Sun Feb 18 05:15:03 UTC 2018 - avindra@opensuse.org + +- Update to new upstream release 10.31 + * New pcre2_config() options: PCRE2_CONFIG_NEVER_BACKSLASH_C and + PCRE2_CONFIG_COMPILED_WIDTHS. + * New pcre2_pattern_info() option PCRE2_INFO_EXTRAOPTIONS to + retrieve the extra compile time options. + * Public names for all pcre2_compile() error numbers. + * Added PCRE2_CALLOUT_STARTMATCH and PCRE2_CALLOUT_BACKTRACK + bits to a new field callout_flags in callout blocks. +- use https for main site +- cleanup with spec-cleaner + +------------------------------------------------------------------- +Mon Sep 11 18:14:30 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 10.30 + * The main interpreter, pcre2_match(), has been refactored into + a new version that does not use recursive function calls for + remembering backtracking positions. The new implementation + allows backtracking into recursive group calls in patterns, + making it more compatible with Perl. For patterns that have a + lot of backtracking, the heap is now used, and there is + explicit limit on the amount, settable by + pcre2_set_heap_limit(). The "recursion limit" is retained, + but is renamed as "depth limit". + * The new option PCRE2_ENDANCHORED insists that a pattern match + must end at the end of the subject. + * The new option PCRE2_EXTENDED_MORE implements Perl's /xx + feature, and pcre2test is upgraded to support it. Setting + within the pattern by (?xx) is Also supported. + * (?n) can be used to set PCRE2_NO_AUTO_CAPTURE, because Perl + now has this. + * Additional pattern compile options in the compile context are + now available: PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES and + PCRE2_EXTRA_BAD_ESCAPE_IS LITERAL. + * The newline type PCRE2_NEWLINE_NUL is now available. + * The match limit value now also applies to pcre2_dfa_match() + as there are patterns that can use up a lot of resources + without necessarily recursing very deeply. + * Various minor security fixes found by fuzzers: + + bsc#1037165: crash for forward reference in lookbehind with + PCRE2_ANCHORED + + CVE-2017-8786: heap-based buffer overflow write in pcre2test + (bsc#1036942) + + CVE-2017-7186: DoS by triggering an invalid Unicode property + lookup (bsc#1030066) +- Switch source URLs to use HTTP. + +------------------------------------------------------------------- +Sat Aug 5 17:34:26 UTC 2017 - astieger@suse.com + +- fix SLE 11 build + +------------------------------------------------------------------- +Tue May 2 17:28:30 UTC 2017 - astieger@suse.com + +- pcre2grep can now read .gz and .bz2 files directly +- pcre2test is now built to support line editing + +------------------------------------------------------------------- +Thu Feb 16 21:25:42 UTC 2017 - astieger@suse.com + +- pcre2 10.23: + * major re-factoring of the pcre2_compile.c file + * Back references are now permitted in lookbehind assertions when + there are no duplicated group numbers (that is, (?| has not + been used), and, if the reference is by name, there is only one + group of that name. The referenced group must, of course be of + fixed length. + * \g{+} (e.g. \g{+2} ) is now supported. It is a "forward + back reference" and can be useful in repetitions + (compare \g{-} ). Perl does not recognize this syntax. + * pcre2grep now automatically expands its buffer up to a maximum + set by --max-buffer-size. + * The -t option (grand total) has been added to pcre2grep. + * A new function called pcre2_code_copy_with_tables() exists to + copy a compiled pattern along with a private copy of the + character tables that is uses. + +------------------------------------------------------------------- +Tue Feb 7 16:19:22 UTC 2017 - dimstar@opensuse.org + +- Explicitly package %{_docdir}/%{name} to fix build with RPM 4.13. + +------------------------------------------------------------------- +Mon Aug 1 15:24:18 UTC 2016 - astieger@suse.com + +- pcre2 10.22: + * The POSIX wrapper function regcomp() did not used to + support back references and subroutine calls if called with the + REG_NOSUB option. It now does. + * A new function, pcre2_code_copy(), is added, to make a copy of a + compiled pattern. + * Support for string callouts is added to pcre2grep. + * Added the PCRE2_NO_JIT option to pcre2_match(). + * The pcre2_get_error_message() function now returns with a + negative error code if the error number it is given is unknown. + * Several updates have been made to pcre2test and test scripts + * Fix CVE-2016-3191: workspace overflow for (*ACCEPT) with deeply + nested parentheses (boo#971741) + +------------------------------------------------------------------- +Sun Jan 17 14:30:53 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 10.21 +* Improve JIT matching speed of patterns starting with + or *. +* Use memchr() to find the first character in an unanchored match + in 8-bit mode in the interpreter. This gives a significant speed + improvement. +* 10.20 broke the handling of [[:>:]] and [[:<:]] in that + processing them could involve a buffer overflow if the + following character was an opening parenthesis. +* 10.20 also introduced a bug in processing this pattern: + /((?x)(*:0))#(?'/, which was fixed. +* A callout with a string argument containing an opening square + bracket, for example /(?C$[$)(?<]/, was incorrectly processed and + could provoke a buffer overflow. +* A possessively repeated conditional group that could match an empty + string, for example, /(?(R))*+/, was incorrectly compiled. +* The Unicode tables have been updated to Unicode 8.0.0. +* An empty comment (?#) in a pattern was incorrectly processed and + could provoke a buffer overflow. +* Fix infinite recursion in the JIT compiler when certain patterns + /such as (?:|a|){100}x/ are analysed. +* Some patterns with character classes involving [: and \\ were + incorrectly compiled and could cause reading from uninitialized + memory or an incorrect error diagnosis. Examples are: + /[[:\\](?<[::]/ and /[[:\\](?'abc')[a:]. +* A missing closing parenthesis for a callout with a string argument + was not being diagnosed, possibly leading to a buffer overflow. +* If (?R was followed by - or + incorrect behaviour happened instead + of a diagnostic. +* Fixed an issue when \p{Any} inside an xclass did not read the current + character. +* About 80 more fixes, which you can read about in the ChangeLog + shipped with the libpcre2-8-0 package. + +------------------------------------------------------------------- +Tue Jul 14 08:42:04 UTC 2015 - astieger@suse.com + +- PCRE2 10.20: + * Callouts with string arguments and the + pcre2_callout_enumerate() function have been implemented. + * The PCRE2_NEVER_BACKSLASH_C option, which locks out the use of + \C, is added. + * The PCRE2_ALT_CIRCUMFLEX option lets ^ match after a newline at + the end of a subject in multiline mode. + * The way named subpatterns are handled has been refactored. The + previous approach had several bugs. + * The handling of \c in EBCDIC environments has been changed to + conform to the perlebcdic document. (Incompatible change) + * Bugs have been mended, many of them discovered by fuzzers. + +------------------------------------------------------------------- +Thu Jun 18 20:51:45 UTC 2015 - astieger@suse.com + +- PCRE2, a re-working of the original PCRE library to provide an + entirely new API, version 10.10. Not source compatible. +- copy of the pcre package, with the following adjustments: + * required name changes + * adjust pcre-8.21-multilib.patch to pcre2-10.10-multilib.patch + * drop upstreamed pcre-8.32-visibility.patch + * --enable-{utf8,unicode-properties} became --enable-unicode + * drop cpp subpackage + * make test -> check + * enable 32 bit character support + +------------------------------------------------------------------- +Thu Apr 30 22:08:31 UTC 2015 - astieger@suse.com + +- pcre 8.37: + * CVE-2015-2325: Patterns with certain groups specifying a zero + minimum quantifier caused incorrect code to be compiled, + leading to an incorrect memory read. [boo#924960] + * CVE-2015-2326: Specific patterns containing a forward reference + with subroutine calls caused incorrect code to be compiled + [boo#924961] + * CVE-2014-8964: If an assertion condition was quantified with a + minimum of zero, SIGSEGV or other misbehaviour could occur. + [boo#906574] + * further bug fixes as listed in ChangeLog + +------------------------------------------------------------------- +Mon Mar 9 00:43:18 UTC 2015 - p.drouand@gmail.com + +- Update to version 3.16 + * This is primarily a bug-fix release. + * The Unicode data tables have been updated to Unicode 7.0.0. +- Remove pcre-commit1472.patch; fixed on upstream release +- Remove obsolete "Obsoletes" tag + +------------------------------------------------------------------- +Tue Sep 2 07:30:08 UTC 2014 - jengelh@inai.de + +- Improve on RPM group classification +- Remove defunct %gpg_verify (replaced by source validators), + defunct freecode link + +------------------------------------------------------------------- +Thu Aug 28 03:10:39 UTC 2014 - crrodriguez@opensuse.org + +- Harden build with full RELRO as this libraries end linked + to at least one setuid root executable. + +------------------------------------------------------------------- +Mon Jun 16 14:44:43 UTC 2014 - dvaleev@suse.com + +- Enable JIT on ppc64le as well + +------------------------------------------------------------------- +Sat May 3 06:07:56 UTC 2014 - coolo@suse.com + +- update to 0.35: + There have been performance improvements for classes containing non-ASCII + characters and the "auto-possessification" feature has been extended. Other + minor improvements have been implemented and bugs fixed. There is a new callout + feature to enable applications to do detailed stack checks at compile time, to + avoid running out of stack for deeply nested parentheses. The JIT compiler has + been extended with experimental support for ARM-64, MIPS-64, and PPC-LE. +- add pcre-commit1472.patch from SVN to work with gcc49, see + http://bugs.exim.org/show_bug.cgi?id=1463 + +------------------------------------------------------------------- +Sun Mar 23 20:50:04 UTC 2014 - tchvatal@suse.com + +- Add automake and autoconf as explicit deps as we run autoreconf + +------------------------------------------------------------------- +Sun Mar 23 20:49:02 UTC 2014 - tchvatal@suse.com + +- Add patch pcre-8.21-multilib.patch to fix RPATH issues. + * The patch is taken from RedHat. + +------------------------------------------------------------------- +Sun Mar 23 20:47:05 UTC 2014 - tchvatal@suse.com + +- Clean up with the spec cleaner. Use -j1 in tests as it is not + really thread safe + +------------------------------------------------------------------- +Sun Mar 23 20:35:09 UTC 2014 - tchvatal@suse.com + +- Version bump to 8.34: + * warning fixes + * perl fixes + * unocode6.3.0 support + * gconv support + +------------------------------------------------------------------- +Wed Nov 13 19:06:09 UTC 2013 - sweet_f_a@gmx.de + +- enable tests for all archs +- --enable-jit for sparc + +------------------------------------------------------------------- +Thu Jun 13 16:20:10 UTC 2013 - jengelh@inai.de + +- Update to new upstream release 8.33 +* The Just-In-Time compiler (JIT) now supports all pattern + features, including callouts and the backtracking verbs. In + addition, some bugs are fixed and there are minor performance + enhancements. +- More robust make install call. Provide signature verification + files (avoid depending on gpg-offline due to bootstrap cycle). + +------------------------------------------------------------------- +Sat Jun 8 20:16:10 UTC 2013 - crrodriguez@opensuse.org + +- Ensure the PCRE library and tools are built with large file + support in 32 bit archs. + +------------------------------------------------------------------- +Sun Jan 6 15:40:59 UTC 2013 - p.drouand@gmail.com + +- Update to 8.32 version: + * There is now support for 32-bit character strings and UTF-32. Like the + 16-bit support, this is done by compiling a separate 32-bit library. + * \X now matches a Unicode extended grapheme cluster. + * Case-independent matching of Unicode characters that have more than one + "other case" now makes all three (or more) characters equivalent. This + applies, for example, to Greek Sigma, which has two lowercase versions. + * Unicode character properties are updated to Unicode 6.2.0. + * The EBCDIC support, which had decayed, has had a spring clean. + * A number of JIT optimizations have been added, which give faster JIT + execution speed. In addition, a new direct interface to JIT execution is + available. This bypasses some of the sanity checks of pcre_exec() to give a + noticeable speed-up. + * A number of issues in pcregrep have been fixed, making it more compatible + with GNU grep. In particular, --exclude and --include (and variants) apply + to all files now, not just those obtained from scanning a directory + recursively. In Windows environments, the default action for directories is + now "skip" instead of "read" (which provokes an error). + * If the --only-matching (-o) option in pcregrep is specified multiple + times, each one causes appropriate output. For example, -o1 -o2 outputs the + substrings matched by the 1st and 2nd capturing parentheses. A separating + string can be specified by --om-separator (default empty). + * When PCRE is built via Autotools using a version of gcc that has the + "visibility" feature, it is used to hide internal library functions that are + not part of the public API. +- updated and versionned pcre-visibility.patch to svn trunk + * Modifications on configure.ac and makefile have been merged on upstream release + +------------------------------------------------------------------- +Fri Nov 23 19:13:09 UTC 2012 - jengelh@inai.de + +- Update package descriptions about the differences between the + PCRE library subpackages. + +------------------------------------------------------------------- +Wed Nov 7 13:35:35 UTC 2012 - cgiboudeaux@gmx.com + +- Use the --enable-pcre16 configure flag. + This switch enables 16 bit character support that will be required by Qt5 + +------------------------------------------------------------------- +Fri Aug 17 14:18:53 UTC 2012 - dimstar@opensuse.org + +- Upate to version 8.31: + + The JIT compiler now supports partial matching and the (*MARK) + and (*COMMIT) verbs + + PCRE_INFO_MAXLOOKBEHIND can be used to find the longest + lookbehing in a pattern. + + There should be a performance improvement when using the heap + instead of the stack for recursion + + pcregrep can now be linked with libedit as an alternative to + libreadline + + pcregrep now has a --file-list option where the list of files + to scan is given as a file + + pcregrep now recognizes binary files and there are related + options + + The Unicode tables have been updated to 6.1.0 +- Rebase pcre-visibility.patch. + +------------------------------------------------------------------- +Thu Jul 19 17:18:04 UTC 2012 - jengelh@inai.de + +- Only use --enable-jit on supported architectures; the build will + otherwise fail (e.g. on sparc). + +------------------------------------------------------------------- +Thu May 10 15:59:21 UTC 2012 - afaerber@suse.de + +- Add devel-static package + +------------------------------------------------------------------- +Tue Feb 7 15:10:59 UTC 2012 - crrodriguez@opensuse.org + +- fix baselibs + +------------------------------------------------------------------- +Tue Feb 7 04:40:59 UTC 2012 - crrodriguez@opensuse.org + +- Update to PCRE 8.30, upstream SONAME bump, libpcre1 +- Drop no longer needed ppc patch. +- move library back to %{_libdir} + +------------------------------------------------------------------- +Wed Feb 1 10:44:38 UTC 2012 - dvaleev@suse.com + +- Fix cache-flush on PPC + +------------------------------------------------------------------- +Wed Nov 16 08:17:40 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to avoid implicit dependency + +------------------------------------------------------------------- +Tue Nov 1 16:16:49 UTC 2011 - crrodriguez@opensuse.org + +- Update to version 8.20 + * too many fixes to list here, see included ChangeLog + * replace pcre-visibility patch with the one I submitted to + upstream for inclusion. + +------------------------------------------------------------------- +Tue Oct 11 22:39:57 UTC 2011 - dmueller@suse.de + +- udpate to 8.13: + * too many fixes to list here, see included ChangeLog + * the Unicode data tables have been updated to Unicode 6.0.0. + +------------------------------------------------------------------- +Mon Sep 19 15:15:41 UTC 2011 - coolo@suse.com + +- remove fragile _service + +------------------------------------------------------------------- +Wed Mar 9 14:20:37 UTC 2011 - coolo@novell.com + +- Update to version 8.12 + + * This release fixes some bugs in pcregrep, one of which caused the tests to fail + on 64-bit big-endian systems. There are no changes to the code of the library. + +- Update to version 8.11 + * A number of bugs in the library and in pcregrep have been fixed. As always, see + ChangeLog for details. The following are the non-bug-fix changes: + + Added --match-limit and --recursion-limit to pcregrep. + + Added an optional parentheses number to the -o and --only-matching options + of pcregrep. + + Changed the way PCRE_PARTIAL_HARD affects the matching of $, \z, \Z, \b, and + \B. + + Added PCRE_ERROR_SHORTUTF8 to make it possible to distinguish between a + bad UTF-8 sequence and one that is incomplete when using PCRE_PARTIAL_HARD. + + Recognize (*NO_START_OPT) at the start of a pattern to set the PCRE_NO_ + START_OPTIMIZE option, which is now allowed at compile time + +------------------------------------------------------------------- +Sat Oct 30 02:15:06 UTC 2010 - cristian.rodriguez@opensuse.org + +- Support GCC visibility, symbol clashes no more. + +------------------------------------------------------------------- +Sun Sep 19 11:03:57 CEST 2010 - vuntz@opensuse.org + +- Update to version 8.10: + + Major additions: + - support for (*MARK) and friends + - PCRE_UCP option, which changes the behaviour of \b, \d, \s, + and \w (and their opposites) so that they make use of Unicode + properties + + Other additions: + - support for \N, which always matches any character other than + newline + - added --line-buffered to pcregrep + + Several small new features and bugfixes +- Changes from version 8.02: + + Update Unicode data tables to Unicode 5.2.0 + + Update the licensing terms in the pcregexp.pas file + + Several bug fixes +- Changes from version 8.01: + + Several bug fixes and build system improvements +- Changes from version 8.00: + + Enhancements: + - remove restrictions on patterns used for partial matching + - give extra information for partial matches + - improve the partial matching process + - add option to make a partial match override a full match + - enhance "study" process by finding a lower bound matching + length + - groups with duplicate numbers may now have duplicated names + without the use of PCRE_DUPNAMES, but they may not have + different names + - add REG_UNGREEDY to the pcreposix interface, which maps to + PCRE_UNGREEDY. + + Several bug fixes +- Drop pcre-7.9.patch: fixed upstream. +- Rearrange spec file to have all the %files sections together, as + well as all the scriptlets together. +- Kill the main package that only included doc files like AUTHORS, + NEWS, and license, and put those files in libpcre0: this really + makes more sense. Therefore, make libpcre0 Provides/Obsoletes + libpcre0. +- We can also remove the other dependencies on the main package, + since everything already depends on libpcre0. +- Remove AutoReqProv: it's default now. +- Remove references to perl 5.005 in descriptons: it's not + mentioned anywhere anymore upstream. + +------------------------------------------------------------------- +Mon Jun 28 06:38:35 UTC 2010 - jengelh@medozas.de + +- use %_smp_mflags + +------------------------------------------------------------------- +Sat Apr 24 10:38:30 UTC 2010 - coolo@novell.com + +- buildrequire pkg-config to fix provides + +------------------------------------------------------------------- +Thu Feb 25 16:49:20 UTC 2010 - prusnak@suse.cz + +- build noarch docs only for >= 11.2 + +------------------------------------------------------------------- +Wed Feb 10 16:16:56 CET 2010 - ms@suse.de + +- fixed license statement according to the conversation + and permissions granted in (bnc #578724) + +------------------------------------------------------------------- +Sat Dec 12 18:38:47 CET 2009 - jengelh@medozas.de + +- add baselibs.conf as a source +- package documentation as noarch + +------------------------------------------------------------------- +Wed Oct 7 12:51:05 UTC 2009 - coolo@novell.com + +- add obsolete/provides for pcre-32bit (bnc#539543) + +------------------------------------------------------------------- +Wed Jun 10 13:03:11 CEST 2009 - coolo@novell.com + +- split package into tools, docs and libraries + +------------------------------------------------------------------- +Fri Jun 5 23:13:22 CEST 2009 - crrodriguez@suse.de + +- disable static libraries, shouldn't be used now + +------------------------------------------------------------------- +Sat May 30 22:02:07 CEST 2009 - dmueller@suse.de + +- fix symlinks to libpcre and libpcreposix to fix the build + +------------------------------------------------------------------- +Wed May 27 18:03:13 CEST 2009 - ms@suse.de + +- moved libpcre and libpcreposix to %{_lib} (bnc #507449) + +------------------------------------------------------------------- +Tue May 5 14:24:17 CEST 2009 - ms@suse.de + +- Release 7.9 11-Apr-09 (bnc #500734) + Mostly bugfixes and tidies with just a couple of minor + functional additions. + +------------------------------------------------------------------- +Wed Jan 7 12:34:56 CET 2009 - olh@suse.de + +- obsolete old -XXbit packages (bnc#437293) + +------------------------------------------------------------------- +Fri Sep 12 01:51:31 CEST 2008 - crrodriguez@suse.de + +- update to PCRE 7.8 + * More bug fixes, plus a performance improvement + in Unicode character property lookup. + see complete changelog at http://www.pcre.org/changelog.txt + + +------------------------------------------------------------------- +Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de + +- added baselibs.conf file to build xxbit packages + for multilib support + +------------------------------------------------------------------- +Fri Feb 1 19:43:16 CET 2008 - crrodriguez@suse.de + +- update to version 7.6 +- The main reason for having this release so soon after 7.5 + is because it fixes a potential buffer overflow problem in pcre_compile() + when run in UTF-8 mode. In addition, the CMake configuration files have been brought up to date. + +------------------------------------------------------------------- +Sun Jan 13 09:08:22 CET 2008 - crrodriguez@suse.de + +- update version 7.5 + 1. Applied a patch from Craig: "This patch makes it possible to 'ignore' + values in parens when parsing an RE using the C++ wrapper." + + 2. Negative specials like \S did not work in character classes in UTF-8 mode. + Characters greater than 255 were excluded from the class instead of being + included. + + 3. The same bug as (2) above applied to negated POSIX classes such as + [:^space:]. + + 4. PCRECPP_STATIC was referenced in pcrecpp_internal.h, but nowhere was it + defined or documented. It seems to have been a typo for PCRE_STATIC, so + I have changed it. + + 5. The construct (?&) was not diagnosed as a syntax error (it referenced the + first named subpattern) and a construct such as (?&a) would reference the + first named subpattern whose name started with "a" (in other words, the + length check was missing). Both these problems are fixed. "Subpattern name + expected" is now given for (?&) (a zero-length name), and this patch also + makes it give the same error for \k'' (previously it complained that that + was a reference to a non-existent subpattern). + + 6. The erroneous patterns (?+-a) and (?-+a) give different error messages; + this is right because (?- can be followed by option settings as well as by + digits. I have, however, made the messages clearer. + + 7. Patterns such as (?(1)a|b) (a pattern that contains fewer subpatterns + than the number used in the conditional) now cause a compile-time error. + This is actually not compatible with Perl, which accepts such patterns, but + treats the conditional as always being FALSE (as PCRE used to), but it + seems to me that giving a diagnostic is better. + + 8. Change "alphameric" to the more common word "alphanumeric" in comments + and messages. + + 9. Fix two occurrences of "backslash" in comments that should have been + "backspace". + + 10. Remove two redundant lines of code that can never be obeyed (their function + was moved elsewhere). + + 11. The program that makes PCRE's Unicode character property table had a bug + which caused it to generate incorrect table entries for sequences of + characters that have the same character type, but are in different scripts. + It amalgamated them into a single range, with the script of the first of + them. In other words, some characters were in the wrong script. There were + thirteen such cases, affecting characters in the following ranges: + + U+002b0 - U+002c1 + U+0060c - U+0060d + U+0061e - U+00612 + U+0064b - U+0065e + U+0074d - U+0076d + U+01800 - U+01805 + U+01d00 - U+01d77 + U+01d9b - U+01dbf + U+0200b - U+0200f + U+030fc - U+030fe + U+03260 - U+0327f + U+0fb46 - U+0fbb1 + U+10450 - U+1049d + + 12. The -o option (show only the matching part of a line) for pcregrep was not + compatible with GNU grep in that, if there was more than one match in a + line, it showed only the first of them. It now behaves in the same way as + GNU grep. + + 13. If the -o and -v options were combined for pcregrep, it printed a blank + line for every non-matching line. GNU grep prints nothing, and pcregrep now + does the same. The return code can be used to tell if there were any + non-matching lines. + + 14. Added --file-offsets and --line-offsets to pcregrep. + + 15. The pattern (?=something)(?R) was not being diagnosed as a potentially + infinitely looping recursion. The bug was that positive lookaheads were not + being skipped when checking for a possible empty match (negative lookaheads + and both kinds of lookbehind were skipped). + + 16. Fixed two typos in the Windows-only code in pcregrep.c, and moved the + inclusion of to before rather than after the definition of + INVALID_FILE_ATTRIBUTES (patch from David Byron). + + 17. Specifying a possessive quantifier with a specific limit for a Unicode + character property caused pcre_compile() to compile bad code, which led at + runtime to PCRE_ERROR_INTERNAL (-14). Examples of patterns that caused this + are: /\p{Zl}{2,3}+/8 and /\p{Cc}{2}+/8. It was the possessive "+" that + caused the error; without that there was no problem. + + 18. Added --enable-pcregrep-libz and --enable-pcregrep-libbz2. + + 19. Added --enable-pcretest-libreadline. + + 20. In pcrecpp.cc, the variable 'count' was incremented twice in + RE::GlobalReplace(). As a result, the number of replacements returned was + double what it should be. I removed one of the increments, but Craig sent a + later patch that removed the other one (the right fix) and added unit tests + that check the return values (which was not done before). + + 21. Several CMake things: + + (1) Arranged that, when cmake is used on Unix, the libraries end up with + the names libpcre and libpcreposix, not just pcre and pcreposix. + + (2) The above change means that pcretest and pcregrep are now correctly + linked with the newly-built libraries, not previously installed ones. + + (3) Added PCRE_SUPPORT_LIBREADLINE, PCRE_SUPPORT_LIBZ, PCRE_SUPPORT_LIBBZ2. + + 22. In UTF-8 mode, with newline set to "any", a pattern such as .*a.*=.b.* + crashed when matching a string such as a\x{2029}b (note that \x{2029} is a + UTF-8 newline character). The key issue is that the pattern starts .*; + this means that the match must be either at the beginning, or after a + newline. The bug was in the code for advancing after a failed match and + checking that the new position followed a newline. It was not taking + account of UTF-8 characters correctly. + + 23. PCRE was behaving differently from Perl in the way it recognized POSIX + character classes. PCRE was not treating the sequence [:...:] as a + character class unless the ... were all letters. Perl, however, seems to + allow any characters between [: and :], though of course it rejects as + unknown any "names" that contain non-letters, because all the known class + names consist only of letters. Thus, Perl gives an error for [[:1234:]], + for example, whereas PCRE did not - it did not recognize a POSIX character + class. This seemed a bit dangerous, so the code has been changed to be + closer to Perl. The behaviour is not identical to Perl, because PCRE will + diagnose an unknown class for, for example, [[:l\ower:]] where Perl will + treat it as [[:lower:]]. However, PCRE does now give "unknown" errors where + Perl does, and where it didn't before. + + 24. Rewrite so as to remove the single use of %n from pcregrep because in some + Windows environments %n is disabled by default. + +------------------------------------------------------------------- +Tue Nov 6 08:15:28 CET 2007 - crrodriguez@suse.de + +- update to version 7.4, since version 7.2, more than 40 bugs were fixed + including multiple vulnerabilities [#325921] . The list of changes is too long + to mention here, see changelog.txt for details. + +------------------------------------------------------------------- +Wed Aug 8 12:46:16 CEST 2007 - ms@suse.de + +- added fix to run ldconfig for libpcre*, Thanks to + Cristian Rodriguez who provided + the patch (#298291) + +------------------------------------------------------------------- +Mon Jul 23 15:22:40 CEST 2007 - ms@suse.de + +- update to version 7.2, fixes bug: (#293752) +- Changes from 7.1 to 7.2 + + 1. If the fr_FR locale cannot be found for test 3, try the "french" locale, + which is apparently normally available under Windows. + + 2. Re-jig the pcregrep tests with different newline settings in an attempt + to make them independent of the local environment's newline setting. + + 3. Add code to configure.ac to remove -g from the CFLAGS default settings. + + 4. Some of the "internals" tests were previously cut out when the link size + was not 2, because the output contained actual offsets. The recent new + "Z" feature of pcretest means that these can be cut out, making the tests + usable with all link sizes. + + 5. Implemented Stan Switzer's goto replacement for longjmp() when not using + stack recursion. This gives a massive performance boost under BSD, but just + a small improvement under Linux. However, it saves one field in the frame + in all cases. + + 6. Added more features from the forthcoming Perl 5.10: + + (a) (?-n) (where n is a string of digits) is a relative subroutine or + recursion call. It refers to the nth most recently opened parentheses. + + (b) (?+n) is also a relative subroutine call; it refers to the nth next + to be opened parentheses. + + (c) Conditions that refer to capturing parentheses can be specified + relatively, for example, (?(-2)... or (?(+3)... + + (d) \K resets the start of the current match so that everything before + is not part of it. + + (e) \k{name} is synonymous with \k and \k'name' (.NET compatible). + + (f) \g{name} is another synonym - part of Perl 5.10's unification of + reference syntax. + + (g) (?| introduces a group in which the numbering of parentheses in each + alternative starts with the same number. + + (h) \h, \H, \v, and \V match horizontal and vertical whitespace. + + 7. Added two new calls to pcre_fullinfo(): PCRE_INFO_OKPARTIAL and + PCRE_INFO_JCHANGED. + + 8. A pattern such as (.*(.)?)* caused pcre_exec() to fail by either not + terminating or by crashing. Diagnosed by Viktor Griph; it was in the code + for detecting groups that can match an empty string. + + 9. A pattern with a very large number of alternatives (more than several + hundred) was running out of internal workspace during the pre-compile + phase, where pcre_compile() figures out how much memory will be needed. A + bit of new cunning has reduced the workspace needed for groups with + alternatives. The 1000-alternative test pattern now uses 12 bytes of + workspace instead of running out of the 4096 that are available. + +10. Inserted some missing (unsigned int) casts to get rid of compiler warnings. + +11. Applied patch from Google to remove an optimization that didn't quite work. + The report of the bug said: + + pcrecpp::RE("a*").FullMatch("aaa") matches, while + pcrecpp::RE("a*?").FullMatch("aaa") does not, and + pcrecpp::RE("a*?\\z").FullMatch("aaa") does again. + +12. If \p or \P was used in non-UTF-8 mode on a character greater than 127 + it matched the wrong number of bytes. + +------------------------------------------------------------------- +Tue May 1 11:02:54 CEST 2007 - ms@suse.de + +- added --enable-unicode-properties configure option to support + UTF-8 character strings in \P, \p, and \X (#269749) + +------------------------------------------------------------------- +Mon Apr 30 10:12:10 CEST 2007 - trenn@suse.de + +- corrected assert compile error + +------------------------------------------------------------------- +Wed Apr 25 13:39:55 CEST 2007 - ms@suse.de + +- update to pcre 7.1 + + 1. Applied Bob Rossi and Daniel G's patches to convert the build system to one + that is more "standard", making use of automake and other Autotools. There + is some re-arrangement of the files and adjustment of comments consequent + on this. + + 2. Part of the patch fixed a problem with the pcregrep tests. The test of -r + for recursive directory scanning broke on some systems because the files + are not scanned in any specific order and on different systems the order + was different. A call to "sort" has been inserted into RunGrepTest for the + approprate test as a short-term fix. In the longer term there may be an + alternative. + + 3. I had an email from Eric Raymond about problems translating some of PCRE's + man pages to HTML (despite the fact that I distribute HTML pages, some + people do their own conversions for various reasons). The problems + concerned the use of low-level troff macros .br and .in. I have therefore + removed all such uses from the man pages (some were redundant, some could + be replaced by .nf/.fi pairs). The 132html script that I use to generate + HTML has been updated to handle .nf/.fi and to complain if it encounters + .br or .in. + + 4. Updated comments in configure.ac that get placed in config.h.in and also + arranged for config.h to be included in the distribution, with the name + config.h.generic, for the benefit of those who have to compile without + Autotools (compare pcre.h, which is now distributed as pcre.h.generic). + + 5. Updated the support (such as it is) for Virtual Pascal, thanks to Stefan + Weber: (1) pcre_internal.h was missing some function renames; (2) updated + makevp.bat for the current PCRE, using the additional files + makevp_c.txt, makevp_l.txt, and pcregexp.pas. + + 6. A Windows user reported a minor discrepancy with test 2, which turned out + to be caused by a trailing space on an input line that had got lost in his + copy. The trailing space was an accident, so I've just removed it. + + 7. Add -Wl,-R... flags in pcre-config.in for *BSD* systems, as I'm told + that is needed. + + 8. Mark ucp_table (in ucptable.h) and ucp_gentype (in pcre_ucp_searchfuncs.c) + as "const" (a) because they are and (b) because it helps the PHP + maintainers who have recently made a script to detect big data structures + in the php code that should be moved to the .rodata section. I remembered + to update Builducptable as well, so it won't revert if ucptable.h is ever + re-created. + + 9. Added some extra #ifdef SUPPORT_UTF8 conditionals into pcretest.c, + pcre_printint.src, pcre_compile.c, pcre_study.c, and pcre_tables.c, in + order to be able to cut out the UTF-8 tables in the latter when UTF-8 + support is not required. This saves 1.5-2K of code, which is important in + some applications. + + Later: more #ifdefs are needed in pcre_ord2utf8.c and pcre_valid_utf8.c + so as not to refer to the tables, even though these functions will never be + called when UTF-8 support is disabled. Otherwise there are problems with a + shared library. + +10. Fixed two bugs in the emulated memmove() function in pcre_internal.h: + + (a) It was defining its arguments as char * instead of void *. + + (b) It was assuming that all moves were upwards in memory; this was true + a long time ago when I wrote it, but is no longer the case. + + The emulated memove() is provided for those environments that have neither + memmove() nor bcopy(). I didn't think anyone used it these days, but that + is clearly not the case, as these two bugs were recently reported. + +11. The script PrepareRelease is now distributed: it calls 132html, CleanTxt, + and Detrail to create the HTML documentation, the .txt form of the man + pages, and it removes trailing spaces from listed files. It also creates + pcre.h.generic and config.h.generic from pcre.h and config.h. In the latter + case, it wraps all the #defines with #ifndefs. This script should be run + before "make dist". + +12. Fixed two fairly obscure bugs concerned with quantified caseless matching + with Unicode property support. + + (a) For a maximizing quantifier, if the two different cases of the + character were of different lengths in their UTF-8 codings (there are + some cases like this - I found 11), and the matching function had to + back up over a mixture of the two cases, it incorrectly assumed they + were both the same length. + + (b) When PCRE was configured to use the heap rather than the stack for + recursion during matching, it was not correctly preserving the data for + the other case of a UTF-8 character when checking ahead for a match + while processing a minimizing repeat. If the check also involved + matching a wide character, but failed, corruption could cause an + erroneous result when trying to check for a repeat of the original + character. + +13. Some tidying changes to the testing mechanism: + + (a) The RunTest script now detects the internal link size and whether there + is UTF-8 and UCP support by running ./pcretest -C instead of relying on + values substituted by "configure". (The RunGrepTest script already did + this for UTF-8.) The configure.ac script no longer substitutes the + relevant variables. + + (b) The debugging options /B and /D in pcretest show the compiled bytecode + with length and offset values. This means that the output is different + for different internal link sizes. Test 2 is skipped for link sizes + other than 2 because of this, bypassing the problem. Unfortunately, + there was also a test in test 3 (the locale tests) that used /B and + failed for link sizes other than 2. Rather than cut the whole test out, + I have added a new /Z option to pcretest that replaces the length and + offset values with spaces. This is now used to make test 3 independent + of link size. (Test 2 will be tidied up later.) + +14. If erroroffset was passed as NULL to pcre_compile, it provoked a + segmentation fault instead of returning the appropriate error message. + +15. In multiline mode when the newline sequence was set to "any", the pattern + ^$ would give a match between the \r and \n of a subject such as "A\r\nB". + This doesn't seem right; it now treats the CRLF combination as the line + ending, and so does not match in that case. It's only a pattern such as ^$ + that would hit this one: something like ^ABC$ would have failed after \r + and then tried again after \r\n. + +16. Changed the comparison command for RunGrepTest from "diff -u" to "diff -ub" + in an attempt to make files that differ only in their line terminators + compare equal. This works on Linux. + +17. Under certain error circumstances pcregrep might try to free random memory + as it exited. This is now fixed, thanks to valgrind. + +19. In pcretest, if the pattern /(?m)^$/g was matched against the string + "abc\r\n\r\n", it found an unwanted second match after the second \r. This + was because its rules for how to advance for /g after matching an empty + string at the end of a line did not allow for this case. They now check for + it specially. + +20. pcretest is supposed to handle patterns and data of any length, by + extending its buffers when necessary. It was getting this wrong when the + buffer for a data line had to be extended. + +21. Added PCRE_NEWLINE_ANYCRLF which is like ANY, but matches only CR, LF, or + CRLF as a newline sequence. + +22. Code for handling Unicode properties in pcre_dfa_exec() wasn't being cut + out by #ifdef SUPPORT_UCP. This did no harm, as it could never be used, but + I have nevertheless tidied it up. + +23. Added some casts to kill warnings from HP-UX ia64 compiler. + +24. Added a man page for pcre-config. + +------------------------------------------------------------------- +Fri Feb 9 10:07:29 CET 2007 - ms@suse.de + +- fixed wrong usage of assert() call + +------------------------------------------------------------------- +Tue Jan 9 11:28:53 CET 2007 - ms@suse.de + +- fixed build for all architectures + +------------------------------------------------------------------- +Mon Jan 8 16:07:02 CET 2007 - ms@suse.de + +- update to new version 7.0 + Changes: As well as a number of bugfixes, there has been a major + refactoring of the compiling code, which makes it easier to add new + features, including some new optimizations. A QuoteMeta function has been + added to the C++ wrapper. There is now a mode in which all Unicode newline + sequences are recognized. Support for the Perl 5.10 syntax for features + that were previously in PCRE but not in Perl (named groups, possessive + quantifiers) has been added. + +------------------------------------------------------------------- +Sat Oct 28 17:50:04 CEST 2006 - meissner@suse.de + +- CXXFLAGS needs RPM_OPT_FLAGS too. + +------------------------------------------------------------------- +Mon Jul 10 16:29:14 CEST 2006 - ms@suse.de + +- update to new version 6.7 +- finally removed evil configure patch +- When UTF-8 mode was not set, PCRE looped when compiling certain patterns + containing an extended class (one that cannot be represented by a bitmap + because it contains high-valued characters or Unicode property items, e.g. + [\pZ]). Almost always one would set UTF-8 mode when processing such a + pattern, but PCRE should not loop if you do not (it no longer does). + [Detail: two cases were found: (a) a repeated subpattern containing an + extended class; (b) a recursive reference to a subpattern that followed a + previous extended class. It wasn't skipping over the extended class + correctly when UTF-8 mode was not set.] +- Applied a patch from the folks at Google to pcrecpp.cc, to fix "another + instance of the 'standard' template library not being so standard". + +------------------------------------------------------------------- +Wed Jan 25 21:30:47 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Thu Jan 12 13:53:17 CET 2006 - mmj@suse.de + +- build with -fstack-protector + +------------------------------------------------------------------- +Thu Dec 1 01:39:04 CET 2005 - ro@suse.de + +- hack libtool core in configure script + since configure.in is too broken for a autoreconf ... + +------------------------------------------------------------------- +Mon Sep 19 17:53:52 CEST 2005 - mmj@suse.de + +- update to the latest version v6.4 + +------------------------------------------------------------------- +Tue Aug 2 11:19:20 CEST 2005 - mmj@suse.de + +- update to the latest version v6.2 + +------------------------------------------------------------------- +Thu Jun 23 13:18:50 CEST 2005 - mmj@suse.de + +- update to latest version v6.1 + +------------------------------------------------------------------- +Mon Jun 13 08:51:51 CEST 2005 - mmj@suse.de + +- add gcc-c++ to #nfb as well + +------------------------------------------------------------------- +Wed Jun 8 23:41:35 CEST 2005 - mmj@suse.de + +- update to latest version v6.0 + +------------------------------------------------------------------- +Mon May 23 11:17:20 CEST 2005 - mmj@suse.de + +- use --enable-utf8 +- use $RPM_OPT_FLAGS + +------------------------------------------------------------------- +Thu Mar 31 17:39:53 CEST 2005 - uli@suse.de + +- ignore test suite errors on ARM + +------------------------------------------------------------------- +Mon Nov 22 17:12:31 CET 2004 - choeger@suse.de + +- update to latest version v5.0 + +------------------------------------------------------------------- +Mon Jun 7 11:40:27 CEST 2004 - choeger@suse.de + +- update to latest version v4.5 + +------------------------------------------------------------------- +Mon Jan 5 15:39:13 CET 2004 - schwab@suse.de + +- Move pcre-config to pcre-devel. + +------------------------------------------------------------------- +Fri Oct 31 17:05:26 CET 2003 - choeger@suse.de + +- Don't build as root + +------------------------------------------------------------------- +Thu Aug 21 15:22:38 CEST 2003 - choeger@suse.de + +- update to v4.4 + +------------------------------------------------------------------- +Fri Aug 1 12:07:27 CEST 2003 - choeger@suse.de + +- disabled Test2, because it is not 64bit arch clean + (contacted author, he knows about that problem) + +------------------------------------------------------------------- +Wed Jul 30 14:56:52 CEST 2003 - choeger@suse.de + +- update to most recent version v4.3 +- splitted into -devel subpackage + +------------------------------------------------------------------- +Fri Dec 6 04:42:15 CET 2002 - coolo@suse.de + +- removed undefined symbols in libpcreposix + +------------------------------------------------------------------- +Tue Sep 17 17:34:28 CEST 2002 - ro@suse.de + +- removed bogus self-provides + +------------------------------------------------------------------- +Fri Apr 5 10:57:15 CEST 2002 - coolo@suse.de + +- fixing autoheader usage +- forward ported %libdir changes from sles7-s390x + +------------------------------------------------------------------- +Tue Jan 22 19:07:26 CET 2002 - choeger@suse.de + +- update to version 3.9 +- added BuildRoot + +------------------------------------------------------------------- +Tue Aug 21 01:11:46 MEST 2001 - mge@suse.de + +- pcre 3.5 + +------------------------------------------------------------------- +Wed Apr 11 22:26:54 CEST 2001 - froh@suse.de + +- suse_update_config + +------------------------------------------------------------------- +Mon Dec 4 12:08:52 MET 2000 - mge@suse.de + +- pcre 3.4 + +------------------------------------------------------------------- +Tue Jun 27 19:41:41 MEST 2000 - mge@suse.de + +- pcre 3.2 + +------------------------------------------------------------------- +Thu Mar 2 12:22:48 CET 2000 - mge@suse.de + +- fixed manpath + +------------------------------------------------------------------- +Sun Feb 13 16:54:53 MET 2000 - mge@suse.de + +- update to 3.1 +- group tag + +------------------------------------------------------------------- +Mon Oct 25 23:38:47 MEST 1999 - mge@suse.de + +- initial SuSE-RPM: changed Makefile to install into /usr + diff --git a/pcre2.keyring b/pcre2.keyring new file mode 100644 index 0000000..faa2788 --- /dev/null +++ b/pcre2.keyring @@ -0,0 +1,127 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: Hostname: +Version: Hockeypuck 2.2 + +xsFNBGdRgdUBEACm0zhfi7UakL9+OJjzjxRq9ynlOrY7bSTkgMls8Xd9Qt82F1UB +heHR86Ow4QBnyCbdqOFRBGFG08F6ovSrzjikMzowpy3qSVfjbptR/h/Lqf8XCkRo +rOrW3AYTBVg4Y8hmCyK92mtNrMJKYiZEcGgTjTnQCNy/1pwBp/JQs5e6/rc+GMcK +ruBuNXJzsQP+nFO9GlmKOhVyE4tzwEFmrQha9KvpCdgSzxz+mtjLGPHISLKIoPb/ +vWYyiHYNEhn26bSnyySSRc4gyrFBVehsEAhgQEDHwjzqyWmJLJonKHI66ezwADYI +45MJ3UUtezoLdHiTDKeB8h6jgIOg/hQSz3PwTHuxKXxxRLz1bpKfb+g4uRtMfPHJ +/EYQAeNdY/ThBoEmBIP/yJSUZOzVrRzeIF1hAwc3dJ3JzmaoyZ1YBZhGW1vYCwHK +poKZFgDotvVqze/V2PWEoiARUfikPHDmNa6thNJQrGcRMbiacHbS96qZXZ7sNihr +MjcYoR7FjucYC/2SH53DKm6E9EJjHIT9fAIYtkjBPcP1NCC8OL/4/qJ1NDMV8x+j +liwHjQFVB/pBUFgw5DwLu8Fzy9OKujB8Bl/W4jnAVCvJbJZkRPkSpgKLg0TcxveA +dQ59R9Po0r36WelDg1Md4hswJmt1xHMHyLtpW0SSiKaiTx2vDVJOMXJvAwARAQAB +zS9OaWNob2xhcyBXaWxzb24gPG5pY2hvbGFzQG5pY2hvbGFzd2lsc29uLm1lLnVr +PsLBlAQTAQgAPgULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAIZARYhBKlVNiBK +O7SJcVIxKCqY53628kyoBQJnU165AhsBAAoJECqY53628kyoc5wP/1fBfx1s6Nvh +FZ8jiS5gzaFbRzBV07OUgt4DXRMnM8JbWMna6NhDuOGbbVOgGwr9R1zdU7Gkh/RE +Ia0YrxYfMWn5rWk3ZgziAJpNw8CvDtLvNDLUcEv3lX8xRXPY/9wf7z6l6n0RAVgJ +kOGeK5GyORKWM6LCGdXmgGwCk60jZ4vrOn+Ywg4TYHeoqrc6rYfOsna6qOxBuq1s +9VbUxwFrxpmaQmUNMVwU5HWo07bZzhPKPvdor3D7DbgPExs17z6xBo22VkBO/gK9 +V3EpoI70uJEuC9sLEZPnNCmhLSeV135uwsPgbdeeLgf1+WOnoKKGANy56F87DbdA +m5L5/lGQH6rsvLWNYp8LZxxKIps/cz19WRlKY8VZv0v+TzMK2Lpb2bhejHP+uap1 +6CA9Z/kXm0B/qBOmYmtQ16eDnrwza0acFuyV+zVNoH3yNOhmaQ8PWfijh4i8fsnN +D0oOla8o/KtY0XEhq3ekrrmdqlxA3b1mv6G0wPrLTOjxukUWyHJjH9Q6N3pfO3X/ +WyUq0kYP7k3SyHqtzVdecf/eRBf/GbwojcaSKW6LozKQGPLTVxleetkswSkITBkp +AAFR1scqCPtHnTLpl22RsUQ87FvIzwPpAeceUmlHTbsg5DCnkVjMXRn17EXT7VKI +lsW2zY0mq+neYypAmOUMpvvluCGCmXpNwsGUBBMBCAA+AhsDBQsJCAcCAiICBhUK +CQgLAgQWAgMBAh4HAheAFiEEqVU2IEo7tIlxUjEoKpjnfrbyTKgFAmdRgiMCGQEA +CgkQKpjnfrbyTKh5gg//eZcZCaHP+NxYosMVZlhOSwsdZqHPyYmWikfUJM7RPiFh +BCqdbPSKETM2xfFZmyK3D3GIRpWPzhfAChEzvWpq2UTM6QI/HmFrqQ7Ku+jTDYnJ +pkwvq2F59zgBAkTCydj98+29BGa5BT0D4ZLaxXhQa6ZF2BxVzxUby3Y9b4UnETmK +Au9w3PpDIaRuBTnTbPIQiH1J+wFDV0eehAPyK9GVCZoW72Ka5hOAvqgKsdzgJ4Hu +FkmsQLp3e0fILsPUEKWwlzh/jIS9jYs+Vl98kweQ+arpptVqkB1slo8zsi24UF+q +wFp/70rgkZ60Jf9OsupQRAsQPvInRNa0+Fd//aojKFzDvAfyTHMH4ellKvfCaxfH +ppIpyXK7Oklm0SoT+D5tUuhLbJdwdYmeILeuZzFs2TnONGuFqY/TBenfKLQJKPlG +4FGqJcwZeEhheuiDktHGVDOUwtFIuqICJvBLX/BwDtv/QkuD+91+AFls9kZROODr +ryGHUTQ9lCProGnmEkw8GhTRWxixS+xKf7ddm5LQDpJTKVQS5s9Vv3j2rubhLdzS +RCFd9yFZp3rGnRszHuPfHSHJXuEu3mk7X08nLjOqso0AWxXjuFuatvvaDaL+iDEJ +/4O+v52y5O+mj+BcPf4oX5VTI6VtFbluxMnAfw+SVYtZs0/6/xGr4tlScrqRE3LC +wHMEEwEIAB0WIQRF9o1Uu+I/swObRuWXZuCE+w9D2AUCZ1MBKQAKCRCXZuCE+w9D +2ALmB/9hyR38FvQ0nouDuw3uxCvr19p8o3UdM3lmFO0JXt1NAqLoyuNTG1R/9jAN +zh6v+z0ae841xmM4ifwALAxgPSucsmfXxhryWjeWApcPe75ikj+TceKs4GEUVBM8 +QWykzBI8al3c1DyXK7+FEHQgXIsn04be/zee0bVGblj8hudW7VhB4VO6rg/+excS +gK0vdkCF0bG3J1ibw8yP6W11OBZHXfq13QGkaV/V87qMEBGzMZHa/foPsPx5VIlB +Ghfoyxl2N9jPExF+cE5SpqVjB9iwa4kBJCmKEE2q4H/Hczc2iiIHhVgG7RLMIVjL +57zT9iAJ3Zab2+k/bakqi2as3mYUzShOaWNob2xhcyBXaWxzb24gPG5pd2lsc29u +QG1pY3Jvc29mdC5jb20+wsGRBBMBCAA7FiEEqVU2IEo7tIlxUjEoKpjnfrbyTKgF +AmdRghkCGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQKpjnfrbyTKhu +8Q/9HUDHcAzmrK16KO/NvJ1TR/XwCu//QZCYagnjuK3L7fxxIYQ7BoLIj2LyVMoh +T/EVyiKJmVdm7m1cUVDfg7w/UGbygkQk9xMz28siBcUtI0NsOb+xVTpUOmvz4DEw +QoMWqAhCa9Y8jbMxFswFUpZ4pOK4H/L1VL9J7vJV6+UigZ4F1Y15lZAVDVXdZDbk +CxqxprrSp8cZRepYx0hwa6SNI2Bgg7RCvYmw4bJNt3YCCFT9QNAa86IKduO26Opi +mvxBYXMIvR3EHhY1QzTDm0TTrJXL2fF0GV9vobEz0p8lpFW6m0Gno7yKoiOlwt2m +S1zTSPiiVjC/N9OsZAu+lYTlgHZq5u5duU/+A2lXqmHnX9BwKO3Nd/yxsrWDafw8 +7fCTI4ZCHSlndeuE9Q2zuuad93A7B9SWrqBbKCeR0U/Q6V9FxZ8VdIaCbaD5KmKA +7e/s2gh+Rs4bQvIQlJyJdpMDgNrjDwVOxnZdMsRCmEYXCHifdiKB7gEvClP8Z35u +Ro1RTZ9mB1KdA1uYCcl0gDWqJ2dLLSjZDmeL/4aggsQa9yrYfIw5xr3sQRdZxsnE +1rPbfCJHLaP83IbYu8x6DPy1+C5eVNWJASK4Yshtug4dnr5g3vmhZr0ERPzk4bGZ +p67CItjbqsvk/FxpJtgBQxiYEb3G4dnlQqYKqEAzTldg+LHCwHMEEwEIAB0WIQRF +9o1Uu+I/swObRuWXZuCE+w9D2AUCZ1MBPAAKCRCXZuCE+w9D2MzXCACTQ0sQ/YUS +J7wlB12CVLFexwhHc4occTNIAjRDgyyWZOjxNHkzznYeiJ69S6nmVe6ltPAjEqil +Ax6zuJ7HlgbJoh0zNBKhn9TReKfom5dszgsLcSXWVguJIlQ0YWEfr/Y7dIB+V1em +4pL63wDQPafveWQPpPA0xu2QPdnL9Y7UR1muB91/720tDhUiQbI8qVdEGtIOfdkP +BqYDjVPGmFANX41NjiDty4Qvs80cDA+v2EgSgiBG8rQiOms9kSXfwOan3JeVGnem +aeaisG87PO2AhDEpycg58fwNUKxpH0iczns/JjY6Rva+aUvhvcpHukBXMirkPchN +qpe71eoXlQEjzsFNBGdTYBgBEADWIf+AoxcNd/WddE8gpJXmPxhWKyyjRKowowui +tjCVsCSK+iLQ+fNebeDuzXqtlz1PXUgQo3iV/TiWCU3qXI2C7kbwMVMLSUweUiA7 +5CESaxwlS8jrtD552mr0iUdPyLkSc8uYDvGpINXV4VgW+GLiO1TOxeSx25YTgre2 +MG5nOfvhD+qiCZ2E5RkPiMU55mAql2aqZk+LyeIby+BScvmdNTd/qgI+BLalAzhk +69BDTjreddZbX4rB/vXKBy8iRmf4gTMZwGesbYoLY3mv4FF8+VdZev/RgVpqCBsS +iWa1Yj8YlZVQxRTs9dXp+Bdcor7AxmYEQf0UzAqwihWDciIbaS6BnQB4NYPvSe+Q +90fJOaDBjver9M4VP0seiO84WFWQZ9d0UwLnTICIAy8AzQexE5aQsd3BitfSEn3E +15WE7WWwCYez21Ro7bqkKw09jI3D1xWVjdoD8qdTKAy4VHO1hjC29BRZiBryVmjQ +ttn0ovXGHzCjuyptjAnAkncew/GBV2P72bL8wCyvnsZrv8kOkWUBOiZ0VXNiEpSC +5b0rmFL+tL0NOGYn635WbUZ/CU0XX0smpkWFo23TaHQ2DW5jMGSQMQE+X3cjLx10 +3aBR8Lfk1c0q7A3qGdmM2wxND5Age1k2+Ggh9afndW3fiRINI5PpifKk0RQ7UMaQ +t7UFOQARAQABwsOsBBgBCAAgFiEEqVU2IEo7tIlxUjEoKpjnfrbyTKgFAmdTYBgC +GwICQAkQKpjnfrbyTKjBdCAEGQEIAB0WIQS6z3HxBATVdhwJ05ICHeQL+2O0BgUC +Z1NgGAAKCRACHeQL+2O0BpxfEACc6Igx/5Nrrh/DUTYwWHml3gPsxmTBtlDLurKt +s5H95pzzHAj7NWXsJK/7NDRrcp+b1v1TRhiVc3/hpIAogAmWZcxI8r+aYeU1mKVb +HCGRazKewmj5qcB/dX1JNxOVR1gx7PkXy2YBLOCA4WoSuvX7tSgobfP/SftiaxUp +QGRlhBMBVyOY5adZZxkpINIB+UM8VijF5qWoyPcOWBeoM9BoksdO8huNZ9yAdqhe +Jg9lZktmKvXxzBZv8gR0Q08J+uqNayrzfQAtnNKgzpGz1zh34Y8UkgyJtRwMCyBn ++b3ZcsWTZ4W7azuW4auTzKiYv+NoIvdCueJS2Aabw4JWSztbO0rSmH4uGLVERj3F +ygWT3Emj7ws0mZgxeNFH8z118WiCvhRtmiu1q/3appOgcQY6FDeH7nEHNaEvuCnc +2TIKcEIwYo/sdyJOwiT/eTrji/2lCqnMCiZHAK6Q4YrHjkclCvpzIAEUh0TvLe1E +HCBMlMQ+K+5SMMMX/Ao17s2FkQpSjjrWiLh2MvwBN/RgY2oXl+uIhxjsiutuCtFt +VxXUcFpvsMw6Y0gHv8HfwjclP/fGQSAWbw/w9VsE+QjbMM/pBp7Deswz0J332Mz3 +uloYJb2OQcu44inUkCsoNfatQVwmVu5KelkbKlPxmSIgxbXrQm7k9QKQ42csafMy +g4A7hawaD/9nYsWZp/iZFSWr7nSJ/Tll/qHxDkODLldHimc6dVklcgHqxst0ksCe +y6iTpmJ2IgDukWkDYSNgYwuozRlEFcabPMzNDcKMvqZzUdpkpiqbklJcXRDpGMPI +iRrDGjFlRSr9k6G5oG64nvli2P20PtkFIoGh/H6hf/3vKYZCiYVIf7ujh2e78+QT +xT0W8VeUvuZiGjgeeomd8t3EJtuW4x5v5pqCdovlc/uKBkqqiJ8oEdGizz+7pcc/ +TPsxWTO2m9rHoqYr36SjCM6kEDXVURtQjJVW+DRJDb+tEEqaaDL3zbQVdgJl2aav +oOjTvIEizt4SMcXwTXhMUeVF5e+8ol5gxvgtVyFyfBe/NnjlrYWJWlT8phOSQ8mU +MopGkgv/LlnrNfi578q5j43LPJAVQ+oAR9v5hy7rA8jHqxGkmuwdh8A4fw+Ui6ng +++pjIM/POuQs1a671V8MszyVwc9ztrbogOJ+pI6prGoEX1Wcfp7x5ZASGer0c6vX +uQMzGZ5fRHidfnoDKqs5pu0y8SWfLD+EwZAZtOab6uJzYF3v194G8ZBkCEnuyEh9 +YR21KuBV6T2y8EU9VdIiST3QO59Ys3m90X7u64grOhT6w9o+8U0NHXOq4FloQYVC +izMTW7bz44IC2Il6dGaKFOemn7BXF5bxQ3CZnGDo5lRAXqhiKkU3Jc7BTQRnUYHV +ARAAss5DdBmUjGlb1DGU1wB0DYZa/IQQYkXOvB9kYpZ+Vl/45tF05OmS3fVNdMkE +rQM8ee4YLhKJ9gtRn2s7lB4YXkq0nITSA2zKLZVoPoYvteclCAEUX0Txls6YtAPI +RUVYqPyfJWPaYyC+L3ildAku5jiufBkCrCPKERoy92kK2O7Yh4McucAptHdVFXOq +4iqp0U+OssOCxNTmdvu7C3t4DiX9h0qiUTIgB8zhlZ9o/wLjOI/wu5/4jcKspSpg +6U1qy7CUdoGNJu0nLuqXMGv8RoTm+jQjoHlIpVk3zST7LMCPYXkbnAqawP69w7Rc +VkRqRPly/Qy2mFK9vvmvi7ZECHMvkjxBiTpJB3m0Og1ppMHrzFq/uy+rckjfACpS +o1PN4kt7vXmacpYkE6yXR8XnKI2gHMvqoWe15Fzn8GWdntnUCdwOjLJ4w+vDBUuo +qiyjsZSwGRgCoU+LkHiSQZrqtDu7XX4U9rn/J5Ek4Ih72d4j/DCg/QWQqn13XayS +OvCt50OdNwrJYzIWB24v7KNTfemjsc1k1kScvVRPzDK15g4i6ZWwjFcvRiERKzlU +lTVhEA97jpGpQTU3brDbpOXkZhgIJFtv81ea1qEA5XwAN5UBoL09RJrb1kZBQU07 +cXnSkDHP8UZrH6KKq4rw3kMwSP6sCCZxIxMOOHiCqEZMk6cAEQEAAcLBdgQYAQgA +IBYhBKlVNiBKO7SJcVIxKCqY53628kyoBQJnUYHVAhsMAAoJECqY53628kyohfUP +/3nsIMqg24UBk6mmrx+KEEM0fGKgsSjn/8IiazcP/XEPxJ1t5uSH7XC+Q6z5Mc+m +thF6Yvwj9XfzsOxuHPxaHSaaD83AiRUEnmVzDtEkIJCWkBOOEvblh3GDFXbRVNdi +sgKmoPKMaELk8AV6stk16Ft1Jyw8Gpjcx1kCVJxyTiJyhiajAckZ//IYGvCt6l04 +/y3/CBf4ZSzG15ZXQl7NrbIp5hWILcbxlP5Z68Tg5KhH/uMEBCY5ddYNwox8ddoG +rG1hgpIVeAkMsNrmQqvjaHVfzFPjlQAYkfU+b9p0UrOcJqEVaY3bZCvTR8p3Nyil +eLp2deFMOsPZfGArliRU+mCGAqbeSFHSCF/DCFHX33KyBPVktYYF9b3rW/Gp18Sc +zpaW5meqYZTy30NT03Gl8s1aV60uut/XIdlMe4Oc9XPf9+DebXnR38GdZH/kcCjy +pUyn50i7RdwiqUnztZ2zpc9IOM3U6V45uLlKZJDWozoMeJXjG1FmCOGpKkbRSZnQ +SmZGwti3w8CB2mGsANDs4D/Unhx3vt5ULp9bZcsTtB1e1cPdrv0qnbdH2eDpvGnJ +r+kWkn6bnNR03kOELvWDLMgtzg8mQ40KXRHJhWgnJmqbSmP1nJr3Jhe/Po4on3XR +Ao+SToj9uZ6jVKmrSFdXt5TZRuXv0abacOR04I7nrI0X +=9Cyu +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pcre2.spec b/pcre2.spec new file mode 100644 index 0000000..86b1dbd --- /dev/null +++ b/pcre2.spec @@ -0,0 +1,274 @@ +# +# spec file for package pcre2 +# +# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 Andreas Stieger +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global _lto_cflags %{_lto_cflags} -ffat-lto-objects +Name: pcre2 +Version: 10.45 +Release: 0 +Summary: A library for Perl-compatible regular expressions +# code: BSD-3-Clause WITH PCRE2-exception +# testdata: Public Domain +# JIT-compiler: BSD-2-Clause +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause AND SUSE-Public-Domain +Group: Development/Libraries/C and C++ +URL: https://pcre2project.github.io/pcre2/ +Source0: https://github.com/PCRE2Project/pcre2/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2 +Source2: https://github.com/PCRE2Project/pcre2/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2.sig +# https://github.com/PCRE2Project/pcre2/blob/master/SECURITY.md +Source3: %{name}.keyring +Source4: baselibs.conf +# PATCH-FIX-OPENSUSE tchvatal@suse.cz upstream thinks it is good idea to use rpath, taken from RH +Patch1: pcre2-10.10-multilib.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: libbz2-devel +BuildRequires: libedit-devel +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: pkgconfig(zlib) + +%description +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%package devel +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception +Group: Development/Libraries/C and C++ +Requires: libpcre2-16-0 = %{version} +Requires: libpcre2-32-0 = %{version} +Requires: libpcre2-8-0 = %{version} +Requires: libpcre2-posix3 = %{version} +Requires: libstdc++-devel + +%description devel +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%package devel-static +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: Development/Libraries/C and C++ +Requires: pcre2-devel = %{version} + +%description devel-static +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +This package contains static versions of the PCRE2 libraries. + +%package -n libpcre2-8-0 +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: System/Libraries + +%description -n libpcre2-8-0 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +This PCRE2 library variant supports 8-bit and UTF-8 strings. +(See also libpcre2-16 and libpcre2-32) + +%package -n libpcre2-16-0 +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: System/Libraries + +%description -n libpcre2-16-0 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +libpcre2-16 supports 16-bit and UTF-16 strings. + +%package -n libpcre2-32-0 +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: System/Libraries + +%description -n libpcre2-32-0 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +libpcre2-32 supports 32-bit and UTF-32 strings. + +%package -n libpcre2-posix3 +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: System/Libraries + +%description -n libpcre2-posix3 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +pcre2-posix provides a POSIX-compatible API to the PCRE2 engine. + +%package doc +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception +Group: Documentation/HTML +BuildArch: noarch + +%description doc +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%package tools +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: Productivity/Text/Utilities +Recommends: %{name}-doc + +%description tools +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%prep +%autosetup -p1 + +%build +%define _lto_cflags %{nil} +# Available JIT archs see sljit/sljitConfig.h +autoreconf -fiv +export LDFLAGS="-Wl,-z,relro,-z,now" +%configure \ +%ifarch %{ix86} x86_64 aarch64 %{arm} ppc ppc64 ppc64le mips sparc s390x + --enable-jit \ +%endif + --enable-static \ + --with-link-size=2 \ + --with-match-limit=10000000 \ + --enable-newline-is-lf \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ + --enable-pcre2grep-libz \ + --enable-pcre2grep-libbz2 \ + --enable-pcre2test-libedit \ + --enable-unicode + +%if 0%{?do_profiling} && !0%{?want_reproducible_builds} + %make_build CFLAGS="%{optflags} %{cflags_profile_generate}" + export LANG=POSIX + # do not run profiling in parallel for reproducible builds (boo#1040589 boo#1102408) + %make_build -j1 CFLAGS="%{optflags} %{cflags_profile_generate}" check + %make_build clean + %make_build CFLAGS="%{optflags} %{cflags_profile_feedback}" +%else + %make_build CFLAGS="%{optflags}" +%endif + +%install +%make_install +mkdir -p %{buildroot}/%{_defaultdocdir} +mv %{buildroot}%{_datadir}/doc/pcre2 %{buildroot}/%{_defaultdocdir}/pcre2-doc +#empty dependecy_libs +find %{buildroot} -type f -name "*.la" -delete -print + +%check +export LANG=POSIX +%make_build check -j1 + +%ldconfig_scriptlets -n libpcre2-8-0 +%ldconfig_scriptlets -n libpcre2-16-0 +%ldconfig_scriptlets -n libpcre2-32-0 +%ldconfig_scriptlets -n libpcre2-posix3 + +%files -n libpcre2-8-0 +%license LICENCE.md +%doc AUTHORS.md ChangeLog NEWS README +%{_libdir}/libpcre2-8.so.* + +%files -n libpcre2-16-0 +%license LICENCE.md +%{_libdir}/libpcre2-16.so.* + +%files -n libpcre2-32-0 +%license LICENCE.md +%{_libdir}/libpcre2-32.so.* + +%files -n libpcre2-posix3 +%license LICENCE.md +%{_libdir}/libpcre2-posix.so.* + +%files tools +%license LICENCE.md +%{_bindir}/pcre2grep +%{_bindir}/pcre2test +%{_mandir}/man1/pcre2grep.1%{?ext_man} +%{_mandir}/man1/pcre2test.1%{?ext_man} + +%files doc +%license LICENCE.md +%doc AUTHORS.md ChangeLog NEWS README +%doc doc/html doc/*.txt +%doc %{_defaultdocdir}/pcre2-doc + +%files devel +%license LICENCE.md +%{_bindir}/pcre2-config +%{_includedir}/* +%{_libdir}/*.so +%{_libdir}/pkgconfig/libpcre2-8.pc +%{_libdir}/pkgconfig/libpcre2-16.pc +%{_libdir}/pkgconfig/libpcre2-32.pc +%{_libdir}/pkgconfig/libpcre2-posix.pc +%{_mandir}/man1/pcre2-config.1%{?ext_man} +%{_mandir}/man3/*%{ext_man} + +%files devel-static +%license LICENCE.md +%{_libdir}/*.a + +%changelog -- 2.51.1 From 1f6b5a2a2686c8af9d671f55592877f2d166a0827d5a4177b8b859f157fce82a Mon Sep 17 00:00:00 2001 From: Andreas Stieger Date: Thu, 28 Aug 2025 10:42:12 +0000 Subject: [PATCH 3/5] pcre2 10.46 CVE-2025-58050 (boo#1248825) OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/pcre2?expand=0&rev=79 --- .gitattributes | 23 + .gitignore | 1 + baselibs.conf | 4 + pcre2-10.10-multilib.patch | 34 + pcre2-10.46.tar.bz2 | 3 + pcre2-10.46.tar.bz2.sig | Bin 0 -> 566 bytes pcre2.changes | 1479 ++++++++++++++++++++++++++++++++++++ pcre2.keyring | 162 ++++ pcre2.spec | 274 +++++++ 9 files changed, 1980 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 baselibs.conf create mode 100644 pcre2-10.10-multilib.patch create mode 100644 pcre2-10.46.tar.bz2 create mode 100644 pcre2-10.46.tar.bz2.sig create mode 100644 pcre2.changes create mode 100644 pcre2.keyring create mode 100644 pcre2.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..0c9d64b --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,4 @@ +libpcre2-8-0 +libpcre2-16-0 +libpcre2-32-0 +libpcre2-posix3 diff --git a/pcre2-10.10-multilib.patch b/pcre2-10.10-multilib.patch new file mode 100644 index 0000000..b191633 --- /dev/null +++ b/pcre2-10.10-multilib.patch @@ -0,0 +1,34 @@ +From 1d5ce3e2e6341b01609aefab20786a8638fee17a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Tue, 6 Dec 2011 18:44:11 +0100 +Subject: [PATCH] Fix multilib + +Do not set RPATH nor add explicit -L path to compiler. +--- + pcre2-config.in | 12 ------------ + 1 file changed, 12 deletions(-) + +Index: pcre2-10.10/pcre2-config.in +=================================================================== +--- pcre2-10.10.orig/pcre2-config.in 2014-10-17 17:07:57.000000000 +0200 ++++ pcre2-10.10/pcre2-config.in 2015-06-18 20:56:20.000000000 +0200 +@@ -28,19 +28,7 @@ if test $# -eq 0; then + fi + + libR= +-case `uname -s` in +- *SunOS*) +- libR=" -R@libdir@" +- ;; +- *BSD*) +- libR=" -Wl,-R@libdir@" +- ;; +-esac +- + libS= +-if test @libdir@ != /usr/lib ; then +- libS=-L@libdir@ +-fi + + while test $# -gt 0; do + case "$1" in diff --git a/pcre2-10.46.tar.bz2 b/pcre2-10.46.tar.bz2 new file mode 100644 index 0000000..c5fdead --- /dev/null +++ b/pcre2-10.46.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15fbc5aba6beee0b17aecb04602ae39432393aba1ebd8e39b7cabf7db883299f +size 2035354 diff --git a/pcre2-10.46.tar.bz2.sig b/pcre2-10.46.tar.bz2.sig new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..cfa71011d58ae41f50744cf47bc5e12cd7c6f0f4f53fa43c2b8a2490bff54854 GIT binary patch literal 566 zcmV-60?GY}0y6{v0SEvc79j+_rM*B-=OaR4FftmUo1JTmWtG$g0%)%=X#ffd5TTo$ zYl~%-)J!E0|4-R|EWuSn$y$zXl_WIUl|beFaO{fU=wN}Ym~IH9Di^L2raWgivUri_ zi5Pa@8}cm4HZg&rrlIr%Rn=jwUbFG2Y14yWBkG9Lc2tyH#Kkttp9?MBK-b7-MY*=gk^v13J6bb*19RPHPN?_ zl`UKZM14ehp8UVp3^9FO;H=LO)WG1}(tB1!>QdNIM*7c0L!z~>iOo3##f|x2V=S<@ zC)l61-Wf+jDedGOcKcRw?Xti6Idsyu#?erfOdB*8e|}GCO%CkK>7RGQX*YW9!};Ac zlj))eZqcVjEtfZA$!~51>Xn2$h?GsIn5ILcOh0HkdjrA#v(uc7`Cjnm!&U&rJB)j| zJE=!#TEL)NAG&3GtIN_%i6y4-sH-s(EtqAtY^>~J<6$*JfL(lG_dInav z_la*FW~Te;vhrha6CVUB2oqJB9)>)$*00dfzU{mi4?nAOjb*(>t+De+Lx}Jj$SFr-Eg+O45@}2j|8Og1=Ap`(+j{plG%sj Ewxl2wHvj+t literal 0 HcmV?d00001 diff --git a/pcre2.changes b/pcre2.changes new file mode 100644 index 0000000..80ac53d --- /dev/null +++ b/pcre2.changes @@ -0,0 +1,1479 @@ +------------------------------------------------------------------- +Thu Aug 28 10:27:11 UTC 2025 - Andreas Stieger + +- Update to 10.46: + * CVE-2025-58050: heap-buffer-overflow read in match_ref due to + missing boundary restoration in SCS (boo#1248825) + +------------------------------------------------------------------- +Tue Jun 10 06:41:24 UTC 2025 - Bernhard Wiedemann + +- Mark profiling as non-deterministic (boo#1040589) + +------------------------------------------------------------------- +Sun Mar 30 15:44:02 UTC 2025 - Andreas Stieger + +- Update to 10.45: + * New upstream maintainers (and signing key) + * Update Unicode support to UCD 16 + * Case-insensitive matching of Unicode properties Ll, Lt, and Lu + has been changed to match Perl + * Case-insensitive matching of backreferences now respects the + PCRE2_EXTRA_CASELESS_RESTRICT option + * Parsing of the \x escape is stricter, and is no longer parsed + as an escape for the NUL character if not followed by '{' or + a hexadecimal digit. Use \x00 instead. + * Add a new feature called scan substring. This is a type of + assertion which matches the content of a capturing block to a + sub-pattern. + * Add support for UTS#18 compatible character classes + * Add support for Perl-style extended character classes + * JIT compilation now fails with the new error code + PCRE2_ERROR_JIT_UNSUPPORTED for patterns which use features not + supported by the JIT compiler. + * New options PCRE2_EXTRA_NO_BS0 (disallow \0 as an escape for + the NUL character); PCRE2_EXTRA_PYTHON_OCTAL (use Python + disambiguation rules for deciding whether \12 is a + backreference or an octal escape); PCRE2_EXTRA_NEVER_CALLOUT + (disable callout syntax entirely); PCRE2_EXTRA_TURKISH_CASING + (use Turkish rules for case-insensitive matching). + * Add new API function pcre2_set_optimize() for + controlling which optimizations are enabled. + * A variety of extensions have been made to pcre2_substitute() + and its syntax for replacement strings. These now support: + \123 octal escapes; titlecasing \u\L; \1 backreferences; \g<1> + and $ backreferences; $& $` $' and $_; new function + pcre2_set_substitute_case_callout() to allow locale-aware case + transformation. +- drop pcre2-10.44-github-issue-415.patch, included upstream +- update license to BSD-3-Clause WITH PCRE2-exception and cascade + to subpackages and parts (boo#1240358) + +------------------------------------------------------------------- +Fri Aug 16 17:37:57 UTC 2024 - Martin Schreiner + +- Fix GitHub issue #415: Test suite fails when targeting i686. + The fix is taken straight from PR #418, also on GitHub. +- Add patch file: + * pcre2-10.44-github-issue-415.patch + +------------------------------------------------------------------- +Sun Jun 30 21:58:45 UTC 2024 - Dirk Müller + +- update to 10.44: + * This is mostly a bug-fix and tidying release. There is one + new function, to set a maximum size for a compiled pattern. + The maximum name length for groups is increased to 128. + * Some auxiliary files for building under VMS are added. + +------------------------------------------------------------------- +Fri Feb 16 21:06:08 UTC 2024 - Andreas Stieger + +- pcre2 10.43: + * The JIT code no longer supports ARMv5 architecture. + * A new function pcre2_get_match_data_heapframes_size() for finer + heap control. + * New option flags to restrict the interaction between ASCII and + non-ASCII characters for caseless matching and \d and friends. + There are also new pattern constructs to control these flags + from within a pattern. + * Upgrade to Unicode 15.0.0. + * Treat a NULL pattern with zero length as an empty string. + * Added support for limited-length variable-length lookbehind + assertions, with a default maximum length of 255 characters + (same as Perl) but with a function to adjust the limit. + * Perl changed the meaning of (for example) {,3} which did not + used to be recognized as a quantifier. Now it means {0,3} and + PCRE2 has also changed. Note that {,} is still not a + quantifier. + * Following Perl, allow spaces and tabs after { and before } in + all Perl- compatible items that use braces, and also around + commas in quantifiers. The one exception in PCRE2 is \u{...}, + which is from ECMAScript, not Perl, and PCRE2 follows + ECMAScript usage. + * Changed the meaning of \w and its synonyms and derivatives (\b + and \B) in UCP mode to follow Perl. It now matches characters + whose general categories are L or N or whose particular + categories are Mn (non-spacing mark) or Pc (combining + punctuation). + * Changed the default meaning of [:xdigit:] in UCP mode to + follow Perl. It now matches the "fullwidth" versions of hex + digits. PCRE2_EXTRA_ASCII_DIGIT can be used to keep it ASCII + only. + * Make PCRE2_UCP the default in UTF mode in pcre2grep and add + -no_ucp, --case-restrict and --posix-digit. + * Add --group-separator and --no-group-separator to pcre2grep. + +------------------------------------------------------------------- +Mon Dec 12 20:19:14 UTC 2022 - Andreas Stieger + +- pcre2 10.42: + * Fix 10.41 regression that added the default definition of + PCRE2_CALL_CONVENTION to pcre2posix.c instead of pcre2posix.h, + which meant that programs including pcre2posix.h but not pcre2.h + couldn't compile + * Fix an intermittent JIT fault and minor issues + +------------------------------------------------------------------- +Mon Dec 12 08:58:58 UTC 2022 - Dirk Müller + +- switch to pkgconfig(zlib) so that alternative providers can be + used + +------------------------------------------------------------------- +Tue Dec 6 21:30:50 UTC 2022 - Andreas Stieger + +- pcre2 10.41: + * pcre2grep behaves more like GNU grep for multiple patterns that + match more than once on a line + +------------------------------------------------------------------- +Sun Jul 31 06:54:48 UTC 2022 - Stephan Kulow + +- Fix the profiling call to be non-parallel again (fighting spec cleaner) + +------------------------------------------------------------------- +Thu May 5 08:15:44 UTC 2022 - pgajdos@suse.com + +- do not enable jit-sealloc [bsc#1182864] [bsc#1199208] + +------------------------------------------------------------------- +Thu May 5 06:52:30 UTC 2022 - pgajdos@suse.com + +- enable jit for s390x [bsc#1199196] + +------------------------------------------------------------------- +Sat Apr 16 10:50:31 UTC 2022 - Andreas Stieger + +- pcre2 10.40: + * Added support for Bidi_Class and a number of binary Unicode + properties, including Bidi_Control. + * A number of changes to script matching for \p and \P: + speed improvements, add the syntax \p{script:xxx} and + \p{script_extensions:xxx} (synonyms sc and scx), Changed + \p{scriptname} from being the same as \p{sc:scriptname} to + being the same as \p{scx:scriptname}, recognize the standard + Unicode 4-letter abbreviations for script names, implement + Unicode and Perl's "loose matching" rules on property names + +------------------------------------------------------------------- +Fri Nov 5 19:01:43 UTC 2021 - Andreas Stieger + +- pcre2 10.39: + * Fix incorrect detection of alternatives in first character + search in JIT + * Update to Unicode 14.0.0 + +------------------------------------------------------------------- +Sun Oct 24 14:41:00 UTC 2021 - Andreas Stieger + +- pcre2 10.38: + * Following Perl's lead, \K is now locked out in lookaround + assertions by default, but an option is provided to re-enable + the previous behaviour + +------------------------------------------------------------------- +Thu May 27 12:30:17 UTC 2021 - Andreas Stieger + +- pcre2 10.37: + * removal of the actual POSIX names regcomp etc. from the POSIX + wrapper library because these have caused issues for some + applications, replacing pcre2-symbol-clash.patch + * fix a hypothetical NULL dereference + * fix two bugs related to over-large numbers so the behaviour is + now the same as Perl + * Fix propagation of \K back from the full pattern recursion + * Restore single character repetition optimization in JIT + +------------------------------------------------------------------- +Wed Apr 14 09:57:53 UTC 2021 - Jan Engelhardt + +- Remove regcomp, regexec etc. from libpcre2-posix. + (Add pcre2-symbol-clash.patch) + +------------------------------------------------------------------- +Sat Dec 5 12:41:55 UTC 2020 - Andreas Stieger + +- pcre2 10.36: + * add GNU grep's -m (aka --max-count) option to pcre2grep + * unify the handling of substitution strings for both -O and + callouts in pcre2grep, with the addition of $x{...} and + $o{...} to allow for characters whose code points are greater + than 255 in Unicode mode + +------------------------------------------------------------------- +Wed May 13 22:24:30 UTC 2020 - Илья Индиго + +- Refresh spec-file via spec-cleaner. + * Add %make_build and %license macros. +- Update to 10.35 + * https://www.pcre.org/changelog.txt + * Use PCRE2_MATCH_EMPTY flag to detect empty matches in JIT. + * A JIT bug is fixed which allowed to read the fields + of the compiled pattern before its existence is checked. + * Added PCRE2_SUBSTITUTE_LITERAL. + * Avoid some VS compiler warnings. + * Added PCRE2_SUBSTITUTE_MATCHED. + * Added (?* and (?<* as synonms for (*napla: and (*naplb: + to match another regex engine. + * Fix *THEN verbs in lookahead assertions in JIT. + * Added PCRE2_SUBSTITUTE_REPLACEMENT_ONLY. + * The JIT stack should be freed when the low-level stack + allocation fails. + * Changed setting of CMAKE_MODULE_PATH in CMakeLists.txt from SET + to LIST(APPEND...) to allow a setting from the command line + to be included. + * Updated to Unicode 13.0.0. + * CMake build now checks for secure_getenv() and strerror(). + * Restrict the configuration setting for the SELinux compatible + execmem allocator (change 10.30/44) to Linux and NetBSD. + +------------------------------------------------------------------- +Fri Mar 27 16:26:54 UTC 2020 - Marketa Calabkova + +- Resubmit the package (bsc#1167890, jsc#SLE-11608) + +------------------------------------------------------------------- +Tue Nov 26 21:24:43 UTC 2019 - Andreas Schwab + +- Enable JIT on aarch64 + +------------------------------------------------------------------- +Fri Nov 22 19:55:35 UTC 2019 - Andreas Stieger + +- pcre2 10.34: + * implement the documented maximum number of capturing + subpatterns of 65535 + * Improve the invalid utf32 support of the JIT compiler + * Add support for matching in invalid UTF strings to the pcre2_match() + * Give more error detail for invalid UTF-8 when detected in pcre2grep + * support for invalid UTF-8 to pcre2grep. + * Adjust the limit for "must have" code unit searching, in particular, + * increase it substantially for non-anchored patterns. + * Allow (*ACCEPT) to be quantified, because an ungreedy quantifier + with a zero minimum is potentially useful. + * Some changes to the way the minimum subject length is handled + * Check for integer overflow when computing lookbehind lengths + * Implement non-atomic positive lookaround assertions + * Upgraded to Unicode 12.1.0 + * Make pcre2test -C show if libreadline or libedit is supported + * Various bug fixes and improvements + +------------------------------------------------------------------- +Thu May 2 00:36:59 UTC 2019 - Jason Sikes + +- Update to 10.33-RC1 to fix issue with LTO (boo#1133274). + * Callouts from pcre2_substitute() are now available. + + * The POSIX functions are now all called pcre2_regcomp() etc., with wrapper + functions that use the standard POSIX names. However, in pcre2posix.h the POSIX + names are defined as macros. This should help avoid linking with the wrong + library in some environments, while still exporting the POSIX names for + pre-existing programs that use them. + + * Some new options: + + (a) PCRE2_EXTRA_ESCAPED_CR_IS_LF makes \r behave as \n. + + (b) PCRE2_EXTRA_ALT_BSUX enables support for ECMAScript 6's \u{hh...} + construct. + + (c) PCRE2_COPY_MATCHED_SUBJECT causes a copy of a matched subject to be + made, instead of just remembering a pointer. + + * Some new Perl features: + + (a) Perl 5.28's experimental alphabetic names for atomic groups and + lookaround assertions, for example, (*pla:...) and (*atomic:...). + + (b) The new Perl "script run" features (*script_run:...) and + (*atomic_script_run:...) aka (*sr:...) and (*asr:...). + + (c) When PCRE2_UTF is set, allow non-ASCII letters and decimal digits in + capture group names. + + * --disable-percent-zt disables the use of %zu and %td in formatting strings + in pcre2test. They were already automatically disabled for VC and older C + compilers. + + * Some changes related to callouts in pcre2grep: + + (a) Support for running an external program under VMS has been added, in + addition to Windows and fork() support. + + (b) --disable-pcre2grep-callout-fork restricts the callout support in + to the inbuilt echo facility. + +------------------------------------------------------------------- +Wed Apr 24 17:30:36 UTC 2019 - Martin Liška + +- Disable LTO (boo#1133274). + +------------------------------------------------------------------- +Wed Jan 23 12:25:38 UTC 2019 - Bernhard Wiedemann + +- Do not run profiling in parallel for reproducible builds (boo#1040589) + +------------------------------------------------------------------- +Mon Jan 14 16:11:53 CET 2019 - kukuk@suse.de + +- Mark all license files as %license + +------------------------------------------------------------------- +Tue Dec 11 14:31:55 UTC 2018 - Cristian Rodríguez + +- Build with --enable-jit-sealloc option, otherwise when + selinux is enabled or systemd memory protections are on, + programs will fail to work with execmem violations. + +------------------------------------------------------------------- +Thu Oct 25 07:22:21 UTC 2018 - astieger@suse.com + +- pcre2 10.32: + * pcre2grep now supports the inclusion of binary zeros in + patterns that are read from files via the -f option. + * In pcre2_dfa_match(), internal recursive calls no longer use + the stack for local workspace and local ovectors + * Updated to Unicode version 11.0.0. + * (*ACCEPT:ARG), (*FAIL:ARG), and (*COMMIT:ARG) are now supported. + * Add support for \N{U+dddd}, but only in Unicode mode. + * Addesupport for (?^) to unset all imnsx options + +------------------------------------------------------------------- +Fri Jul 20 14:05:01 UTC 2018 - mpluskal@suse.com + +- Drop conditions for old distributions +- Do profile guided build + +------------------------------------------------------------------- +Sun Feb 18 05:15:03 UTC 2018 - avindra@opensuse.org + +- Update to new upstream release 10.31 + * New pcre2_config() options: PCRE2_CONFIG_NEVER_BACKSLASH_C and + PCRE2_CONFIG_COMPILED_WIDTHS. + * New pcre2_pattern_info() option PCRE2_INFO_EXTRAOPTIONS to + retrieve the extra compile time options. + * Public names for all pcre2_compile() error numbers. + * Added PCRE2_CALLOUT_STARTMATCH and PCRE2_CALLOUT_BACKTRACK + bits to a new field callout_flags in callout blocks. +- use https for main site +- cleanup with spec-cleaner + +------------------------------------------------------------------- +Mon Sep 11 18:14:30 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 10.30 + * The main interpreter, pcre2_match(), has been refactored into + a new version that does not use recursive function calls for + remembering backtracking positions. The new implementation + allows backtracking into recursive group calls in patterns, + making it more compatible with Perl. For patterns that have a + lot of backtracking, the heap is now used, and there is + explicit limit on the amount, settable by + pcre2_set_heap_limit(). The "recursion limit" is retained, + but is renamed as "depth limit". + * The new option PCRE2_ENDANCHORED insists that a pattern match + must end at the end of the subject. + * The new option PCRE2_EXTENDED_MORE implements Perl's /xx + feature, and pcre2test is upgraded to support it. Setting + within the pattern by (?xx) is Also supported. + * (?n) can be used to set PCRE2_NO_AUTO_CAPTURE, because Perl + now has this. + * Additional pattern compile options in the compile context are + now available: PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES and + PCRE2_EXTRA_BAD_ESCAPE_IS LITERAL. + * The newline type PCRE2_NEWLINE_NUL is now available. + * The match limit value now also applies to pcre2_dfa_match() + as there are patterns that can use up a lot of resources + without necessarily recursing very deeply. + * Various minor security fixes found by fuzzers: + + bsc#1037165: crash for forward reference in lookbehind with + PCRE2_ANCHORED + + CVE-2017-8786: heap-based buffer overflow write in pcre2test + (bsc#1036942) + + CVE-2017-7186: DoS by triggering an invalid Unicode property + lookup (bsc#1030066) +- Switch source URLs to use HTTP. + +------------------------------------------------------------------- +Sat Aug 5 17:34:26 UTC 2017 - astieger@suse.com + +- fix SLE 11 build + +------------------------------------------------------------------- +Tue May 2 17:28:30 UTC 2017 - astieger@suse.com + +- pcre2grep can now read .gz and .bz2 files directly +- pcre2test is now built to support line editing + +------------------------------------------------------------------- +Thu Feb 16 21:25:42 UTC 2017 - astieger@suse.com + +- pcre2 10.23: + * major re-factoring of the pcre2_compile.c file + * Back references are now permitted in lookbehind assertions when + there are no duplicated group numbers (that is, (?| has not + been used), and, if the reference is by name, there is only one + group of that name. The referenced group must, of course be of + fixed length. + * \g{+} (e.g. \g{+2} ) is now supported. It is a "forward + back reference" and can be useful in repetitions + (compare \g{-} ). Perl does not recognize this syntax. + * pcre2grep now automatically expands its buffer up to a maximum + set by --max-buffer-size. + * The -t option (grand total) has been added to pcre2grep. + * A new function called pcre2_code_copy_with_tables() exists to + copy a compiled pattern along with a private copy of the + character tables that is uses. + +------------------------------------------------------------------- +Tue Feb 7 16:19:22 UTC 2017 - dimstar@opensuse.org + +- Explicitly package %{_docdir}/%{name} to fix build with RPM 4.13. + +------------------------------------------------------------------- +Mon Aug 1 15:24:18 UTC 2016 - astieger@suse.com + +- pcre2 10.22: + * The POSIX wrapper function regcomp() did not used to + support back references and subroutine calls if called with the + REG_NOSUB option. It now does. + * A new function, pcre2_code_copy(), is added, to make a copy of a + compiled pattern. + * Support for string callouts is added to pcre2grep. + * Added the PCRE2_NO_JIT option to pcre2_match(). + * The pcre2_get_error_message() function now returns with a + negative error code if the error number it is given is unknown. + * Several updates have been made to pcre2test and test scripts + * Fix CVE-2016-3191: workspace overflow for (*ACCEPT) with deeply + nested parentheses (boo#971741) + +------------------------------------------------------------------- +Sun Jan 17 14:30:53 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 10.21 +* Improve JIT matching speed of patterns starting with + or *. +* Use memchr() to find the first character in an unanchored match + in 8-bit mode in the interpreter. This gives a significant speed + improvement. +* 10.20 broke the handling of [[:>:]] and [[:<:]] in that + processing them could involve a buffer overflow if the + following character was an opening parenthesis. +* 10.20 also introduced a bug in processing this pattern: + /((?x)(*:0))#(?'/, which was fixed. +* A callout with a string argument containing an opening square + bracket, for example /(?C$[$)(?<]/, was incorrectly processed and + could provoke a buffer overflow. +* A possessively repeated conditional group that could match an empty + string, for example, /(?(R))*+/, was incorrectly compiled. +* The Unicode tables have been updated to Unicode 8.0.0. +* An empty comment (?#) in a pattern was incorrectly processed and + could provoke a buffer overflow. +* Fix infinite recursion in the JIT compiler when certain patterns + /such as (?:|a|){100}x/ are analysed. +* Some patterns with character classes involving [: and \\ were + incorrectly compiled and could cause reading from uninitialized + memory or an incorrect error diagnosis. Examples are: + /[[:\\](?<[::]/ and /[[:\\](?'abc')[a:]. +* A missing closing parenthesis for a callout with a string argument + was not being diagnosed, possibly leading to a buffer overflow. +* If (?R was followed by - or + incorrect behaviour happened instead + of a diagnostic. +* Fixed an issue when \p{Any} inside an xclass did not read the current + character. +* About 80 more fixes, which you can read about in the ChangeLog + shipped with the libpcre2-8-0 package. + +------------------------------------------------------------------- +Tue Jul 14 08:42:04 UTC 2015 - astieger@suse.com + +- PCRE2 10.20: + * Callouts with string arguments and the + pcre2_callout_enumerate() function have been implemented. + * The PCRE2_NEVER_BACKSLASH_C option, which locks out the use of + \C, is added. + * The PCRE2_ALT_CIRCUMFLEX option lets ^ match after a newline at + the end of a subject in multiline mode. + * The way named subpatterns are handled has been refactored. The + previous approach had several bugs. + * The handling of \c in EBCDIC environments has been changed to + conform to the perlebcdic document. (Incompatible change) + * Bugs have been mended, many of them discovered by fuzzers. + +------------------------------------------------------------------- +Thu Jun 18 20:51:45 UTC 2015 - astieger@suse.com + +- PCRE2, a re-working of the original PCRE library to provide an + entirely new API, version 10.10. Not source compatible. +- copy of the pcre package, with the following adjustments: + * required name changes + * adjust pcre-8.21-multilib.patch to pcre2-10.10-multilib.patch + * drop upstreamed pcre-8.32-visibility.patch + * --enable-{utf8,unicode-properties} became --enable-unicode + * drop cpp subpackage + * make test -> check + * enable 32 bit character support + +------------------------------------------------------------------- +Thu Apr 30 22:08:31 UTC 2015 - astieger@suse.com + +- pcre 8.37: + * CVE-2015-2325: Patterns with certain groups specifying a zero + minimum quantifier caused incorrect code to be compiled, + leading to an incorrect memory read. [boo#924960] + * CVE-2015-2326: Specific patterns containing a forward reference + with subroutine calls caused incorrect code to be compiled + [boo#924961] + * CVE-2014-8964: If an assertion condition was quantified with a + minimum of zero, SIGSEGV or other misbehaviour could occur. + [boo#906574] + * further bug fixes as listed in ChangeLog + +------------------------------------------------------------------- +Mon Mar 9 00:43:18 UTC 2015 - p.drouand@gmail.com + +- Update to version 3.16 + * This is primarily a bug-fix release. + * The Unicode data tables have been updated to Unicode 7.0.0. +- Remove pcre-commit1472.patch; fixed on upstream release +- Remove obsolete "Obsoletes" tag + +------------------------------------------------------------------- +Tue Sep 2 07:30:08 UTC 2014 - jengelh@inai.de + +- Improve on RPM group classification +- Remove defunct %gpg_verify (replaced by source validators), + defunct freecode link + +------------------------------------------------------------------- +Thu Aug 28 03:10:39 UTC 2014 - crrodriguez@opensuse.org + +- Harden build with full RELRO as this libraries end linked + to at least one setuid root executable. + +------------------------------------------------------------------- +Mon Jun 16 14:44:43 UTC 2014 - dvaleev@suse.com + +- Enable JIT on ppc64le as well + +------------------------------------------------------------------- +Sat May 3 06:07:56 UTC 2014 - coolo@suse.com + +- update to 0.35: + There have been performance improvements for classes containing non-ASCII + characters and the "auto-possessification" feature has been extended. Other + minor improvements have been implemented and bugs fixed. There is a new callout + feature to enable applications to do detailed stack checks at compile time, to + avoid running out of stack for deeply nested parentheses. The JIT compiler has + been extended with experimental support for ARM-64, MIPS-64, and PPC-LE. +- add pcre-commit1472.patch from SVN to work with gcc49, see + http://bugs.exim.org/show_bug.cgi?id=1463 + +------------------------------------------------------------------- +Sun Mar 23 20:50:04 UTC 2014 - tchvatal@suse.com + +- Add automake and autoconf as explicit deps as we run autoreconf + +------------------------------------------------------------------- +Sun Mar 23 20:49:02 UTC 2014 - tchvatal@suse.com + +- Add patch pcre-8.21-multilib.patch to fix RPATH issues. + * The patch is taken from RedHat. + +------------------------------------------------------------------- +Sun Mar 23 20:47:05 UTC 2014 - tchvatal@suse.com + +- Clean up with the spec cleaner. Use -j1 in tests as it is not + really thread safe + +------------------------------------------------------------------- +Sun Mar 23 20:35:09 UTC 2014 - tchvatal@suse.com + +- Version bump to 8.34: + * warning fixes + * perl fixes + * unocode6.3.0 support + * gconv support + +------------------------------------------------------------------- +Wed Nov 13 19:06:09 UTC 2013 - sweet_f_a@gmx.de + +- enable tests for all archs +- --enable-jit for sparc + +------------------------------------------------------------------- +Thu Jun 13 16:20:10 UTC 2013 - jengelh@inai.de + +- Update to new upstream release 8.33 +* The Just-In-Time compiler (JIT) now supports all pattern + features, including callouts and the backtracking verbs. In + addition, some bugs are fixed and there are minor performance + enhancements. +- More robust make install call. Provide signature verification + files (avoid depending on gpg-offline due to bootstrap cycle). + +------------------------------------------------------------------- +Sat Jun 8 20:16:10 UTC 2013 - crrodriguez@opensuse.org + +- Ensure the PCRE library and tools are built with large file + support in 32 bit archs. + +------------------------------------------------------------------- +Sun Jan 6 15:40:59 UTC 2013 - p.drouand@gmail.com + +- Update to 8.32 version: + * There is now support for 32-bit character strings and UTF-32. Like the + 16-bit support, this is done by compiling a separate 32-bit library. + * \X now matches a Unicode extended grapheme cluster. + * Case-independent matching of Unicode characters that have more than one + "other case" now makes all three (or more) characters equivalent. This + applies, for example, to Greek Sigma, which has two lowercase versions. + * Unicode character properties are updated to Unicode 6.2.0. + * The EBCDIC support, which had decayed, has had a spring clean. + * A number of JIT optimizations have been added, which give faster JIT + execution speed. In addition, a new direct interface to JIT execution is + available. This bypasses some of the sanity checks of pcre_exec() to give a + noticeable speed-up. + * A number of issues in pcregrep have been fixed, making it more compatible + with GNU grep. In particular, --exclude and --include (and variants) apply + to all files now, not just those obtained from scanning a directory + recursively. In Windows environments, the default action for directories is + now "skip" instead of "read" (which provokes an error). + * If the --only-matching (-o) option in pcregrep is specified multiple + times, each one causes appropriate output. For example, -o1 -o2 outputs the + substrings matched by the 1st and 2nd capturing parentheses. A separating + string can be specified by --om-separator (default empty). + * When PCRE is built via Autotools using a version of gcc that has the + "visibility" feature, it is used to hide internal library functions that are + not part of the public API. +- updated and versionned pcre-visibility.patch to svn trunk + * Modifications on configure.ac and makefile have been merged on upstream release + +------------------------------------------------------------------- +Fri Nov 23 19:13:09 UTC 2012 - jengelh@inai.de + +- Update package descriptions about the differences between the + PCRE library subpackages. + +------------------------------------------------------------------- +Wed Nov 7 13:35:35 UTC 2012 - cgiboudeaux@gmx.com + +- Use the --enable-pcre16 configure flag. + This switch enables 16 bit character support that will be required by Qt5 + +------------------------------------------------------------------- +Fri Aug 17 14:18:53 UTC 2012 - dimstar@opensuse.org + +- Upate to version 8.31: + + The JIT compiler now supports partial matching and the (*MARK) + and (*COMMIT) verbs + + PCRE_INFO_MAXLOOKBEHIND can be used to find the longest + lookbehing in a pattern. + + There should be a performance improvement when using the heap + instead of the stack for recursion + + pcregrep can now be linked with libedit as an alternative to + libreadline + + pcregrep now has a --file-list option where the list of files + to scan is given as a file + + pcregrep now recognizes binary files and there are related + options + + The Unicode tables have been updated to 6.1.0 +- Rebase pcre-visibility.patch. + +------------------------------------------------------------------- +Thu Jul 19 17:18:04 UTC 2012 - jengelh@inai.de + +- Only use --enable-jit on supported architectures; the build will + otherwise fail (e.g. on sparc). + +------------------------------------------------------------------- +Thu May 10 15:59:21 UTC 2012 - afaerber@suse.de + +- Add devel-static package + +------------------------------------------------------------------- +Tue Feb 7 15:10:59 UTC 2012 - crrodriguez@opensuse.org + +- fix baselibs + +------------------------------------------------------------------- +Tue Feb 7 04:40:59 UTC 2012 - crrodriguez@opensuse.org + +- Update to PCRE 8.30, upstream SONAME bump, libpcre1 +- Drop no longer needed ppc patch. +- move library back to %{_libdir} + +------------------------------------------------------------------- +Wed Feb 1 10:44:38 UTC 2012 - dvaleev@suse.com + +- Fix cache-flush on PPC + +------------------------------------------------------------------- +Wed Nov 16 08:17:40 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to avoid implicit dependency + +------------------------------------------------------------------- +Tue Nov 1 16:16:49 UTC 2011 - crrodriguez@opensuse.org + +- Update to version 8.20 + * too many fixes to list here, see included ChangeLog + * replace pcre-visibility patch with the one I submitted to + upstream for inclusion. + +------------------------------------------------------------------- +Tue Oct 11 22:39:57 UTC 2011 - dmueller@suse.de + +- udpate to 8.13: + * too many fixes to list here, see included ChangeLog + * the Unicode data tables have been updated to Unicode 6.0.0. + +------------------------------------------------------------------- +Mon Sep 19 15:15:41 UTC 2011 - coolo@suse.com + +- remove fragile _service + +------------------------------------------------------------------- +Wed Mar 9 14:20:37 UTC 2011 - coolo@novell.com + +- Update to version 8.12 + + * This release fixes some bugs in pcregrep, one of which caused the tests to fail + on 64-bit big-endian systems. There are no changes to the code of the library. + +- Update to version 8.11 + * A number of bugs in the library and in pcregrep have been fixed. As always, see + ChangeLog for details. The following are the non-bug-fix changes: + + Added --match-limit and --recursion-limit to pcregrep. + + Added an optional parentheses number to the -o and --only-matching options + of pcregrep. + + Changed the way PCRE_PARTIAL_HARD affects the matching of $, \z, \Z, \b, and + \B. + + Added PCRE_ERROR_SHORTUTF8 to make it possible to distinguish between a + bad UTF-8 sequence and one that is incomplete when using PCRE_PARTIAL_HARD. + + Recognize (*NO_START_OPT) at the start of a pattern to set the PCRE_NO_ + START_OPTIMIZE option, which is now allowed at compile time + +------------------------------------------------------------------- +Sat Oct 30 02:15:06 UTC 2010 - cristian.rodriguez@opensuse.org + +- Support GCC visibility, symbol clashes no more. + +------------------------------------------------------------------- +Sun Sep 19 11:03:57 CEST 2010 - vuntz@opensuse.org + +- Update to version 8.10: + + Major additions: + - support for (*MARK) and friends + - PCRE_UCP option, which changes the behaviour of \b, \d, \s, + and \w (and their opposites) so that they make use of Unicode + properties + + Other additions: + - support for \N, which always matches any character other than + newline + - added --line-buffered to pcregrep + + Several small new features and bugfixes +- Changes from version 8.02: + + Update Unicode data tables to Unicode 5.2.0 + + Update the licensing terms in the pcregexp.pas file + + Several bug fixes +- Changes from version 8.01: + + Several bug fixes and build system improvements +- Changes from version 8.00: + + Enhancements: + - remove restrictions on patterns used for partial matching + - give extra information for partial matches + - improve the partial matching process + - add option to make a partial match override a full match + - enhance "study" process by finding a lower bound matching + length + - groups with duplicate numbers may now have duplicated names + without the use of PCRE_DUPNAMES, but they may not have + different names + - add REG_UNGREEDY to the pcreposix interface, which maps to + PCRE_UNGREEDY. + + Several bug fixes +- Drop pcre-7.9.patch: fixed upstream. +- Rearrange spec file to have all the %files sections together, as + well as all the scriptlets together. +- Kill the main package that only included doc files like AUTHORS, + NEWS, and license, and put those files in libpcre0: this really + makes more sense. Therefore, make libpcre0 Provides/Obsoletes + libpcre0. +- We can also remove the other dependencies on the main package, + since everything already depends on libpcre0. +- Remove AutoReqProv: it's default now. +- Remove references to perl 5.005 in descriptons: it's not + mentioned anywhere anymore upstream. + +------------------------------------------------------------------- +Mon Jun 28 06:38:35 UTC 2010 - jengelh@medozas.de + +- use %_smp_mflags + +------------------------------------------------------------------- +Sat Apr 24 10:38:30 UTC 2010 - coolo@novell.com + +- buildrequire pkg-config to fix provides + +------------------------------------------------------------------- +Thu Feb 25 16:49:20 UTC 2010 - prusnak@suse.cz + +- build noarch docs only for >= 11.2 + +------------------------------------------------------------------- +Wed Feb 10 16:16:56 CET 2010 - ms@suse.de + +- fixed license statement according to the conversation + and permissions granted in (bnc #578724) + +------------------------------------------------------------------- +Sat Dec 12 18:38:47 CET 2009 - jengelh@medozas.de + +- add baselibs.conf as a source +- package documentation as noarch + +------------------------------------------------------------------- +Wed Oct 7 12:51:05 UTC 2009 - coolo@novell.com + +- add obsolete/provides for pcre-32bit (bnc#539543) + +------------------------------------------------------------------- +Wed Jun 10 13:03:11 CEST 2009 - coolo@novell.com + +- split package into tools, docs and libraries + +------------------------------------------------------------------- +Fri Jun 5 23:13:22 CEST 2009 - crrodriguez@suse.de + +- disable static libraries, shouldn't be used now + +------------------------------------------------------------------- +Sat May 30 22:02:07 CEST 2009 - dmueller@suse.de + +- fix symlinks to libpcre and libpcreposix to fix the build + +------------------------------------------------------------------- +Wed May 27 18:03:13 CEST 2009 - ms@suse.de + +- moved libpcre and libpcreposix to %{_lib} (bnc #507449) + +------------------------------------------------------------------- +Tue May 5 14:24:17 CEST 2009 - ms@suse.de + +- Release 7.9 11-Apr-09 (bnc #500734) + Mostly bugfixes and tidies with just a couple of minor + functional additions. + +------------------------------------------------------------------- +Wed Jan 7 12:34:56 CET 2009 - olh@suse.de + +- obsolete old -XXbit packages (bnc#437293) + +------------------------------------------------------------------- +Fri Sep 12 01:51:31 CEST 2008 - crrodriguez@suse.de + +- update to PCRE 7.8 + * More bug fixes, plus a performance improvement + in Unicode character property lookup. + see complete changelog at http://www.pcre.org/changelog.txt + + +------------------------------------------------------------------- +Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de + +- added baselibs.conf file to build xxbit packages + for multilib support + +------------------------------------------------------------------- +Fri Feb 1 19:43:16 CET 2008 - crrodriguez@suse.de + +- update to version 7.6 +- The main reason for having this release so soon after 7.5 + is because it fixes a potential buffer overflow problem in pcre_compile() + when run in UTF-8 mode. In addition, the CMake configuration files have been brought up to date. + +------------------------------------------------------------------- +Sun Jan 13 09:08:22 CET 2008 - crrodriguez@suse.de + +- update version 7.5 + 1. Applied a patch from Craig: "This patch makes it possible to 'ignore' + values in parens when parsing an RE using the C++ wrapper." + + 2. Negative specials like \S did not work in character classes in UTF-8 mode. + Characters greater than 255 were excluded from the class instead of being + included. + + 3. The same bug as (2) above applied to negated POSIX classes such as + [:^space:]. + + 4. PCRECPP_STATIC was referenced in pcrecpp_internal.h, but nowhere was it + defined or documented. It seems to have been a typo for PCRE_STATIC, so + I have changed it. + + 5. The construct (?&) was not diagnosed as a syntax error (it referenced the + first named subpattern) and a construct such as (?&a) would reference the + first named subpattern whose name started with "a" (in other words, the + length check was missing). Both these problems are fixed. "Subpattern name + expected" is now given for (?&) (a zero-length name), and this patch also + makes it give the same error for \k'' (previously it complained that that + was a reference to a non-existent subpattern). + + 6. The erroneous patterns (?+-a) and (?-+a) give different error messages; + this is right because (?- can be followed by option settings as well as by + digits. I have, however, made the messages clearer. + + 7. Patterns such as (?(1)a|b) (a pattern that contains fewer subpatterns + than the number used in the conditional) now cause a compile-time error. + This is actually not compatible with Perl, which accepts such patterns, but + treats the conditional as always being FALSE (as PCRE used to), but it + seems to me that giving a diagnostic is better. + + 8. Change "alphameric" to the more common word "alphanumeric" in comments + and messages. + + 9. Fix two occurrences of "backslash" in comments that should have been + "backspace". + + 10. Remove two redundant lines of code that can never be obeyed (their function + was moved elsewhere). + + 11. The program that makes PCRE's Unicode character property table had a bug + which caused it to generate incorrect table entries for sequences of + characters that have the same character type, but are in different scripts. + It amalgamated them into a single range, with the script of the first of + them. In other words, some characters were in the wrong script. There were + thirteen such cases, affecting characters in the following ranges: + + U+002b0 - U+002c1 + U+0060c - U+0060d + U+0061e - U+00612 + U+0064b - U+0065e + U+0074d - U+0076d + U+01800 - U+01805 + U+01d00 - U+01d77 + U+01d9b - U+01dbf + U+0200b - U+0200f + U+030fc - U+030fe + U+03260 - U+0327f + U+0fb46 - U+0fbb1 + U+10450 - U+1049d + + 12. The -o option (show only the matching part of a line) for pcregrep was not + compatible with GNU grep in that, if there was more than one match in a + line, it showed only the first of them. It now behaves in the same way as + GNU grep. + + 13. If the -o and -v options were combined for pcregrep, it printed a blank + line for every non-matching line. GNU grep prints nothing, and pcregrep now + does the same. The return code can be used to tell if there were any + non-matching lines. + + 14. Added --file-offsets and --line-offsets to pcregrep. + + 15. The pattern (?=something)(?R) was not being diagnosed as a potentially + infinitely looping recursion. The bug was that positive lookaheads were not + being skipped when checking for a possible empty match (negative lookaheads + and both kinds of lookbehind were skipped). + + 16. Fixed two typos in the Windows-only code in pcregrep.c, and moved the + inclusion of to before rather than after the definition of + INVALID_FILE_ATTRIBUTES (patch from David Byron). + + 17. Specifying a possessive quantifier with a specific limit for a Unicode + character property caused pcre_compile() to compile bad code, which led at + runtime to PCRE_ERROR_INTERNAL (-14). Examples of patterns that caused this + are: /\p{Zl}{2,3}+/8 and /\p{Cc}{2}+/8. It was the possessive "+" that + caused the error; without that there was no problem. + + 18. Added --enable-pcregrep-libz and --enable-pcregrep-libbz2. + + 19. Added --enable-pcretest-libreadline. + + 20. In pcrecpp.cc, the variable 'count' was incremented twice in + RE::GlobalReplace(). As a result, the number of replacements returned was + double what it should be. I removed one of the increments, but Craig sent a + later patch that removed the other one (the right fix) and added unit tests + that check the return values (which was not done before). + + 21. Several CMake things: + + (1) Arranged that, when cmake is used on Unix, the libraries end up with + the names libpcre and libpcreposix, not just pcre and pcreposix. + + (2) The above change means that pcretest and pcregrep are now correctly + linked with the newly-built libraries, not previously installed ones. + + (3) Added PCRE_SUPPORT_LIBREADLINE, PCRE_SUPPORT_LIBZ, PCRE_SUPPORT_LIBBZ2. + + 22. In UTF-8 mode, with newline set to "any", a pattern such as .*a.*=.b.* + crashed when matching a string such as a\x{2029}b (note that \x{2029} is a + UTF-8 newline character). The key issue is that the pattern starts .*; + this means that the match must be either at the beginning, or after a + newline. The bug was in the code for advancing after a failed match and + checking that the new position followed a newline. It was not taking + account of UTF-8 characters correctly. + + 23. PCRE was behaving differently from Perl in the way it recognized POSIX + character classes. PCRE was not treating the sequence [:...:] as a + character class unless the ... were all letters. Perl, however, seems to + allow any characters between [: and :], though of course it rejects as + unknown any "names" that contain non-letters, because all the known class + names consist only of letters. Thus, Perl gives an error for [[:1234:]], + for example, whereas PCRE did not - it did not recognize a POSIX character + class. This seemed a bit dangerous, so the code has been changed to be + closer to Perl. The behaviour is not identical to Perl, because PCRE will + diagnose an unknown class for, for example, [[:l\ower:]] where Perl will + treat it as [[:lower:]]. However, PCRE does now give "unknown" errors where + Perl does, and where it didn't before. + + 24. Rewrite so as to remove the single use of %n from pcregrep because in some + Windows environments %n is disabled by default. + +------------------------------------------------------------------- +Tue Nov 6 08:15:28 CET 2007 - crrodriguez@suse.de + +- update to version 7.4, since version 7.2, more than 40 bugs were fixed + including multiple vulnerabilities [#325921] . The list of changes is too long + to mention here, see changelog.txt for details. + +------------------------------------------------------------------- +Wed Aug 8 12:46:16 CEST 2007 - ms@suse.de + +- added fix to run ldconfig for libpcre*, Thanks to + Cristian Rodriguez who provided + the patch (#298291) + +------------------------------------------------------------------- +Mon Jul 23 15:22:40 CEST 2007 - ms@suse.de + +- update to version 7.2, fixes bug: (#293752) +- Changes from 7.1 to 7.2 + + 1. If the fr_FR locale cannot be found for test 3, try the "french" locale, + which is apparently normally available under Windows. + + 2. Re-jig the pcregrep tests with different newline settings in an attempt + to make them independent of the local environment's newline setting. + + 3. Add code to configure.ac to remove -g from the CFLAGS default settings. + + 4. Some of the "internals" tests were previously cut out when the link size + was not 2, because the output contained actual offsets. The recent new + "Z" feature of pcretest means that these can be cut out, making the tests + usable with all link sizes. + + 5. Implemented Stan Switzer's goto replacement for longjmp() when not using + stack recursion. This gives a massive performance boost under BSD, but just + a small improvement under Linux. However, it saves one field in the frame + in all cases. + + 6. Added more features from the forthcoming Perl 5.10: + + (a) (?-n) (where n is a string of digits) is a relative subroutine or + recursion call. It refers to the nth most recently opened parentheses. + + (b) (?+n) is also a relative subroutine call; it refers to the nth next + to be opened parentheses. + + (c) Conditions that refer to capturing parentheses can be specified + relatively, for example, (?(-2)... or (?(+3)... + + (d) \K resets the start of the current match so that everything before + is not part of it. + + (e) \k{name} is synonymous with \k and \k'name' (.NET compatible). + + (f) \g{name} is another synonym - part of Perl 5.10's unification of + reference syntax. + + (g) (?| introduces a group in which the numbering of parentheses in each + alternative starts with the same number. + + (h) \h, \H, \v, and \V match horizontal and vertical whitespace. + + 7. Added two new calls to pcre_fullinfo(): PCRE_INFO_OKPARTIAL and + PCRE_INFO_JCHANGED. + + 8. A pattern such as (.*(.)?)* caused pcre_exec() to fail by either not + terminating or by crashing. Diagnosed by Viktor Griph; it was in the code + for detecting groups that can match an empty string. + + 9. A pattern with a very large number of alternatives (more than several + hundred) was running out of internal workspace during the pre-compile + phase, where pcre_compile() figures out how much memory will be needed. A + bit of new cunning has reduced the workspace needed for groups with + alternatives. The 1000-alternative test pattern now uses 12 bytes of + workspace instead of running out of the 4096 that are available. + +10. Inserted some missing (unsigned int) casts to get rid of compiler warnings. + +11. Applied patch from Google to remove an optimization that didn't quite work. + The report of the bug said: + + pcrecpp::RE("a*").FullMatch("aaa") matches, while + pcrecpp::RE("a*?").FullMatch("aaa") does not, and + pcrecpp::RE("a*?\\z").FullMatch("aaa") does again. + +12. If \p or \P was used in non-UTF-8 mode on a character greater than 127 + it matched the wrong number of bytes. + +------------------------------------------------------------------- +Tue May 1 11:02:54 CEST 2007 - ms@suse.de + +- added --enable-unicode-properties configure option to support + UTF-8 character strings in \P, \p, and \X (#269749) + +------------------------------------------------------------------- +Mon Apr 30 10:12:10 CEST 2007 - trenn@suse.de + +- corrected assert compile error + +------------------------------------------------------------------- +Wed Apr 25 13:39:55 CEST 2007 - ms@suse.de + +- update to pcre 7.1 + + 1. Applied Bob Rossi and Daniel G's patches to convert the build system to one + that is more "standard", making use of automake and other Autotools. There + is some re-arrangement of the files and adjustment of comments consequent + on this. + + 2. Part of the patch fixed a problem with the pcregrep tests. The test of -r + for recursive directory scanning broke on some systems because the files + are not scanned in any specific order and on different systems the order + was different. A call to "sort" has been inserted into RunGrepTest for the + approprate test as a short-term fix. In the longer term there may be an + alternative. + + 3. I had an email from Eric Raymond about problems translating some of PCRE's + man pages to HTML (despite the fact that I distribute HTML pages, some + people do their own conversions for various reasons). The problems + concerned the use of low-level troff macros .br and .in. I have therefore + removed all such uses from the man pages (some were redundant, some could + be replaced by .nf/.fi pairs). The 132html script that I use to generate + HTML has been updated to handle .nf/.fi and to complain if it encounters + .br or .in. + + 4. Updated comments in configure.ac that get placed in config.h.in and also + arranged for config.h to be included in the distribution, with the name + config.h.generic, for the benefit of those who have to compile without + Autotools (compare pcre.h, which is now distributed as pcre.h.generic). + + 5. Updated the support (such as it is) for Virtual Pascal, thanks to Stefan + Weber: (1) pcre_internal.h was missing some function renames; (2) updated + makevp.bat for the current PCRE, using the additional files + makevp_c.txt, makevp_l.txt, and pcregexp.pas. + + 6. A Windows user reported a minor discrepancy with test 2, which turned out + to be caused by a trailing space on an input line that had got lost in his + copy. The trailing space was an accident, so I've just removed it. + + 7. Add -Wl,-R... flags in pcre-config.in for *BSD* systems, as I'm told + that is needed. + + 8. Mark ucp_table (in ucptable.h) and ucp_gentype (in pcre_ucp_searchfuncs.c) + as "const" (a) because they are and (b) because it helps the PHP + maintainers who have recently made a script to detect big data structures + in the php code that should be moved to the .rodata section. I remembered + to update Builducptable as well, so it won't revert if ucptable.h is ever + re-created. + + 9. Added some extra #ifdef SUPPORT_UTF8 conditionals into pcretest.c, + pcre_printint.src, pcre_compile.c, pcre_study.c, and pcre_tables.c, in + order to be able to cut out the UTF-8 tables in the latter when UTF-8 + support is not required. This saves 1.5-2K of code, which is important in + some applications. + + Later: more #ifdefs are needed in pcre_ord2utf8.c and pcre_valid_utf8.c + so as not to refer to the tables, even though these functions will never be + called when UTF-8 support is disabled. Otherwise there are problems with a + shared library. + +10. Fixed two bugs in the emulated memmove() function in pcre_internal.h: + + (a) It was defining its arguments as char * instead of void *. + + (b) It was assuming that all moves were upwards in memory; this was true + a long time ago when I wrote it, but is no longer the case. + + The emulated memove() is provided for those environments that have neither + memmove() nor bcopy(). I didn't think anyone used it these days, but that + is clearly not the case, as these two bugs were recently reported. + +11. The script PrepareRelease is now distributed: it calls 132html, CleanTxt, + and Detrail to create the HTML documentation, the .txt form of the man + pages, and it removes trailing spaces from listed files. It also creates + pcre.h.generic and config.h.generic from pcre.h and config.h. In the latter + case, it wraps all the #defines with #ifndefs. This script should be run + before "make dist". + +12. Fixed two fairly obscure bugs concerned with quantified caseless matching + with Unicode property support. + + (a) For a maximizing quantifier, if the two different cases of the + character were of different lengths in their UTF-8 codings (there are + some cases like this - I found 11), and the matching function had to + back up over a mixture of the two cases, it incorrectly assumed they + were both the same length. + + (b) When PCRE was configured to use the heap rather than the stack for + recursion during matching, it was not correctly preserving the data for + the other case of a UTF-8 character when checking ahead for a match + while processing a minimizing repeat. If the check also involved + matching a wide character, but failed, corruption could cause an + erroneous result when trying to check for a repeat of the original + character. + +13. Some tidying changes to the testing mechanism: + + (a) The RunTest script now detects the internal link size and whether there + is UTF-8 and UCP support by running ./pcretest -C instead of relying on + values substituted by "configure". (The RunGrepTest script already did + this for UTF-8.) The configure.ac script no longer substitutes the + relevant variables. + + (b) The debugging options /B and /D in pcretest show the compiled bytecode + with length and offset values. This means that the output is different + for different internal link sizes. Test 2 is skipped for link sizes + other than 2 because of this, bypassing the problem. Unfortunately, + there was also a test in test 3 (the locale tests) that used /B and + failed for link sizes other than 2. Rather than cut the whole test out, + I have added a new /Z option to pcretest that replaces the length and + offset values with spaces. This is now used to make test 3 independent + of link size. (Test 2 will be tidied up later.) + +14. If erroroffset was passed as NULL to pcre_compile, it provoked a + segmentation fault instead of returning the appropriate error message. + +15. In multiline mode when the newline sequence was set to "any", the pattern + ^$ would give a match between the \r and \n of a subject such as "A\r\nB". + This doesn't seem right; it now treats the CRLF combination as the line + ending, and so does not match in that case. It's only a pattern such as ^$ + that would hit this one: something like ^ABC$ would have failed after \r + and then tried again after \r\n. + +16. Changed the comparison command for RunGrepTest from "diff -u" to "diff -ub" + in an attempt to make files that differ only in their line terminators + compare equal. This works on Linux. + +17. Under certain error circumstances pcregrep might try to free random memory + as it exited. This is now fixed, thanks to valgrind. + +19. In pcretest, if the pattern /(?m)^$/g was matched against the string + "abc\r\n\r\n", it found an unwanted second match after the second \r. This + was because its rules for how to advance for /g after matching an empty + string at the end of a line did not allow for this case. They now check for + it specially. + +20. pcretest is supposed to handle patterns and data of any length, by + extending its buffers when necessary. It was getting this wrong when the + buffer for a data line had to be extended. + +21. Added PCRE_NEWLINE_ANYCRLF which is like ANY, but matches only CR, LF, or + CRLF as a newline sequence. + +22. Code for handling Unicode properties in pcre_dfa_exec() wasn't being cut + out by #ifdef SUPPORT_UCP. This did no harm, as it could never be used, but + I have nevertheless tidied it up. + +23. Added some casts to kill warnings from HP-UX ia64 compiler. + +24. Added a man page for pcre-config. + +------------------------------------------------------------------- +Fri Feb 9 10:07:29 CET 2007 - ms@suse.de + +- fixed wrong usage of assert() call + +------------------------------------------------------------------- +Tue Jan 9 11:28:53 CET 2007 - ms@suse.de + +- fixed build for all architectures + +------------------------------------------------------------------- +Mon Jan 8 16:07:02 CET 2007 - ms@suse.de + +- update to new version 7.0 + Changes: As well as a number of bugfixes, there has been a major + refactoring of the compiling code, which makes it easier to add new + features, including some new optimizations. A QuoteMeta function has been + added to the C++ wrapper. There is now a mode in which all Unicode newline + sequences are recognized. Support for the Perl 5.10 syntax for features + that were previously in PCRE but not in Perl (named groups, possessive + quantifiers) has been added. + +------------------------------------------------------------------- +Sat Oct 28 17:50:04 CEST 2006 - meissner@suse.de + +- CXXFLAGS needs RPM_OPT_FLAGS too. + +------------------------------------------------------------------- +Mon Jul 10 16:29:14 CEST 2006 - ms@suse.de + +- update to new version 6.7 +- finally removed evil configure patch +- When UTF-8 mode was not set, PCRE looped when compiling certain patterns + containing an extended class (one that cannot be represented by a bitmap + because it contains high-valued characters or Unicode property items, e.g. + [\pZ]). Almost always one would set UTF-8 mode when processing such a + pattern, but PCRE should not loop if you do not (it no longer does). + [Detail: two cases were found: (a) a repeated subpattern containing an + extended class; (b) a recursive reference to a subpattern that followed a + previous extended class. It wasn't skipping over the extended class + correctly when UTF-8 mode was not set.] +- Applied a patch from the folks at Google to pcrecpp.cc, to fix "another + instance of the 'standard' template library not being so standard". + +------------------------------------------------------------------- +Wed Jan 25 21:30:47 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Thu Jan 12 13:53:17 CET 2006 - mmj@suse.de + +- build with -fstack-protector + +------------------------------------------------------------------- +Thu Dec 1 01:39:04 CET 2005 - ro@suse.de + +- hack libtool core in configure script + since configure.in is too broken for a autoreconf ... + +------------------------------------------------------------------- +Mon Sep 19 17:53:52 CEST 2005 - mmj@suse.de + +- update to the latest version v6.4 + +------------------------------------------------------------------- +Tue Aug 2 11:19:20 CEST 2005 - mmj@suse.de + +- update to the latest version v6.2 + +------------------------------------------------------------------- +Thu Jun 23 13:18:50 CEST 2005 - mmj@suse.de + +- update to latest version v6.1 + +------------------------------------------------------------------- +Mon Jun 13 08:51:51 CEST 2005 - mmj@suse.de + +- add gcc-c++ to #nfb as well + +------------------------------------------------------------------- +Wed Jun 8 23:41:35 CEST 2005 - mmj@suse.de + +- update to latest version v6.0 + +------------------------------------------------------------------- +Mon May 23 11:17:20 CEST 2005 - mmj@suse.de + +- use --enable-utf8 +- use $RPM_OPT_FLAGS + +------------------------------------------------------------------- +Thu Mar 31 17:39:53 CEST 2005 - uli@suse.de + +- ignore test suite errors on ARM + +------------------------------------------------------------------- +Mon Nov 22 17:12:31 CET 2004 - choeger@suse.de + +- update to latest version v5.0 + +------------------------------------------------------------------- +Mon Jun 7 11:40:27 CEST 2004 - choeger@suse.de + +- update to latest version v4.5 + +------------------------------------------------------------------- +Mon Jan 5 15:39:13 CET 2004 - schwab@suse.de + +- Move pcre-config to pcre-devel. + +------------------------------------------------------------------- +Fri Oct 31 17:05:26 CET 2003 - choeger@suse.de + +- Don't build as root + +------------------------------------------------------------------- +Thu Aug 21 15:22:38 CEST 2003 - choeger@suse.de + +- update to v4.4 + +------------------------------------------------------------------- +Fri Aug 1 12:07:27 CEST 2003 - choeger@suse.de + +- disabled Test2, because it is not 64bit arch clean + (contacted author, he knows about that problem) + +------------------------------------------------------------------- +Wed Jul 30 14:56:52 CEST 2003 - choeger@suse.de + +- update to most recent version v4.3 +- splitted into -devel subpackage + +------------------------------------------------------------------- +Fri Dec 6 04:42:15 CET 2002 - coolo@suse.de + +- removed undefined symbols in libpcreposix + +------------------------------------------------------------------- +Tue Sep 17 17:34:28 CEST 2002 - ro@suse.de + +- removed bogus self-provides + +------------------------------------------------------------------- +Fri Apr 5 10:57:15 CEST 2002 - coolo@suse.de + +- fixing autoheader usage +- forward ported %libdir changes from sles7-s390x + +------------------------------------------------------------------- +Tue Jan 22 19:07:26 CET 2002 - choeger@suse.de + +- update to version 3.9 +- added BuildRoot + +------------------------------------------------------------------- +Tue Aug 21 01:11:46 MEST 2001 - mge@suse.de + +- pcre 3.5 + +------------------------------------------------------------------- +Wed Apr 11 22:26:54 CEST 2001 - froh@suse.de + +- suse_update_config + +------------------------------------------------------------------- +Mon Dec 4 12:08:52 MET 2000 - mge@suse.de + +- pcre 3.4 + +------------------------------------------------------------------- +Tue Jun 27 19:41:41 MEST 2000 - mge@suse.de + +- pcre 3.2 + +------------------------------------------------------------------- +Thu Mar 2 12:22:48 CET 2000 - mge@suse.de + +- fixed manpath + +------------------------------------------------------------------- +Sun Feb 13 16:54:53 MET 2000 - mge@suse.de + +- update to 3.1 +- group tag + +------------------------------------------------------------------- +Mon Oct 25 23:38:47 MEST 1999 - mge@suse.de + +- initial SuSE-RPM: changed Makefile to install into /usr + diff --git a/pcre2.keyring b/pcre2.keyring new file mode 100644 index 0000000..18e9812 --- /dev/null +++ b/pcre2.keyring @@ -0,0 +1,162 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: Hostname: +Version: Hockeypuck 2.2 + +xsFNBGdRgdUBEACm0zhfi7UakL9+OJjzjxRq9ynlOrY7bSTkgMls8Xd9Qt82F1UB +heHR86Ow4QBnyCbdqOFRBGFG08F6ovSrzjikMzowpy3qSVfjbptR/h/Lqf8XCkRo +rOrW3AYTBVg4Y8hmCyK92mtNrMJKYiZEcGgTjTnQCNy/1pwBp/JQs5e6/rc+GMcK +ruBuNXJzsQP+nFO9GlmKOhVyE4tzwEFmrQha9KvpCdgSzxz+mtjLGPHISLKIoPb/ +vWYyiHYNEhn26bSnyySSRc4gyrFBVehsEAhgQEDHwjzqyWmJLJonKHI66ezwADYI +45MJ3UUtezoLdHiTDKeB8h6jgIOg/hQSz3PwTHuxKXxxRLz1bpKfb+g4uRtMfPHJ +/EYQAeNdY/ThBoEmBIP/yJSUZOzVrRzeIF1hAwc3dJ3JzmaoyZ1YBZhGW1vYCwHK +poKZFgDotvVqze/V2PWEoiARUfikPHDmNa6thNJQrGcRMbiacHbS96qZXZ7sNihr +MjcYoR7FjucYC/2SH53DKm6E9EJjHIT9fAIYtkjBPcP1NCC8OL/4/qJ1NDMV8x+j +liwHjQFVB/pBUFgw5DwLu8Fzy9OKujB8Bl/W4jnAVCvJbJZkRPkSpgKLg0TcxveA +dQ59R9Po0r36WelDg1Md4hswJmt1xHMHyLtpW0SSiKaiTx2vDVJOMXJvAwARAQAB +zS9OaWNob2xhcyBXaWxzb24gPG5pY2hvbGFzQG5pY2hvbGFzd2lsc29uLm1lLnVr +PsLBlAQTAQgAPgULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAIZARYhBKlVNiBK +O7SJcVIxKCqY53628kyoBQJnU165AhsBAAoJECqY53628kyoc5wP/1fBfx1s6Nvh +FZ8jiS5gzaFbRzBV07OUgt4DXRMnM8JbWMna6NhDuOGbbVOgGwr9R1zdU7Gkh/RE +Ia0YrxYfMWn5rWk3ZgziAJpNw8CvDtLvNDLUcEv3lX8xRXPY/9wf7z6l6n0RAVgJ +kOGeK5GyORKWM6LCGdXmgGwCk60jZ4vrOn+Ywg4TYHeoqrc6rYfOsna6qOxBuq1s +9VbUxwFrxpmaQmUNMVwU5HWo07bZzhPKPvdor3D7DbgPExs17z6xBo22VkBO/gK9 +V3EpoI70uJEuC9sLEZPnNCmhLSeV135uwsPgbdeeLgf1+WOnoKKGANy56F87DbdA +m5L5/lGQH6rsvLWNYp8LZxxKIps/cz19WRlKY8VZv0v+TzMK2Lpb2bhejHP+uap1 +6CA9Z/kXm0B/qBOmYmtQ16eDnrwza0acFuyV+zVNoH3yNOhmaQ8PWfijh4i8fsnN +D0oOla8o/KtY0XEhq3ekrrmdqlxA3b1mv6G0wPrLTOjxukUWyHJjH9Q6N3pfO3X/ +WyUq0kYP7k3SyHqtzVdecf/eRBf/GbwojcaSKW6LozKQGPLTVxleetkswSkITBkp +AAFR1scqCPtHnTLpl22RsUQ87FvIzwPpAeceUmlHTbsg5DCnkVjMXRn17EXT7VKI +lsW2zY0mq+neYypAmOUMpvvluCGCmXpNwsGUBBMBCAA+AhsDBQsJCAcCAiICBhUK +CQgLAgQWAgMBAh4HAheAFiEEqVU2IEo7tIlxUjEoKpjnfrbyTKgFAmdRgiMCGQEA +CgkQKpjnfrbyTKh5gg//eZcZCaHP+NxYosMVZlhOSwsdZqHPyYmWikfUJM7RPiFh +BCqdbPSKETM2xfFZmyK3D3GIRpWPzhfAChEzvWpq2UTM6QI/HmFrqQ7Ku+jTDYnJ +pkwvq2F59zgBAkTCydj98+29BGa5BT0D4ZLaxXhQa6ZF2BxVzxUby3Y9b4UnETmK +Au9w3PpDIaRuBTnTbPIQiH1J+wFDV0eehAPyK9GVCZoW72Ka5hOAvqgKsdzgJ4Hu +FkmsQLp3e0fILsPUEKWwlzh/jIS9jYs+Vl98kweQ+arpptVqkB1slo8zsi24UF+q +wFp/70rgkZ60Jf9OsupQRAsQPvInRNa0+Fd//aojKFzDvAfyTHMH4ellKvfCaxfH +ppIpyXK7Oklm0SoT+D5tUuhLbJdwdYmeILeuZzFs2TnONGuFqY/TBenfKLQJKPlG +4FGqJcwZeEhheuiDktHGVDOUwtFIuqICJvBLX/BwDtv/QkuD+91+AFls9kZROODr +ryGHUTQ9lCProGnmEkw8GhTRWxixS+xKf7ddm5LQDpJTKVQS5s9Vv3j2rubhLdzS +RCFd9yFZp3rGnRszHuPfHSHJXuEu3mk7X08nLjOqso0AWxXjuFuatvvaDaL+iDEJ +/4O+v52y5O+mj+BcPf4oX5VTI6VtFbluxMnAfw+SVYtZs0/6/xGr4tlScrqRE3LC +wHMEEwEIAB0WIQRF9o1Uu+I/swObRuWXZuCE+w9D2AUCZ1MBKQAKCRCXZuCE+w9D +2ALmB/9hyR38FvQ0nouDuw3uxCvr19p8o3UdM3lmFO0JXt1NAqLoyuNTG1R/9jAN +zh6v+z0ae841xmM4ifwALAxgPSucsmfXxhryWjeWApcPe75ikj+TceKs4GEUVBM8 +QWykzBI8al3c1DyXK7+FEHQgXIsn04be/zee0bVGblj8hudW7VhB4VO6rg/+excS +gK0vdkCF0bG3J1ibw8yP6W11OBZHXfq13QGkaV/V87qMEBGzMZHa/foPsPx5VIlB +Ghfoyxl2N9jPExF+cE5SpqVjB9iwa4kBJCmKEE2q4H/Hczc2iiIHhVgG7RLMIVjL +57zT9iAJ3Zab2+k/bakqi2as3mYUzShOaWNob2xhcyBXaWxzb24gPG5pd2lsc29u +QG1pY3Jvc29mdC5jb20+wsGRBBMBCAA7FiEEqVU2IEo7tIlxUjEoKpjnfrbyTKgF +AmdRghkCGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQKpjnfrbyTKhu +8Q/9HUDHcAzmrK16KO/NvJ1TR/XwCu//QZCYagnjuK3L7fxxIYQ7BoLIj2LyVMoh +T/EVyiKJmVdm7m1cUVDfg7w/UGbygkQk9xMz28siBcUtI0NsOb+xVTpUOmvz4DEw +QoMWqAhCa9Y8jbMxFswFUpZ4pOK4H/L1VL9J7vJV6+UigZ4F1Y15lZAVDVXdZDbk +CxqxprrSp8cZRepYx0hwa6SNI2Bgg7RCvYmw4bJNt3YCCFT9QNAa86IKduO26Opi +mvxBYXMIvR3EHhY1QzTDm0TTrJXL2fF0GV9vobEz0p8lpFW6m0Gno7yKoiOlwt2m +S1zTSPiiVjC/N9OsZAu+lYTlgHZq5u5duU/+A2lXqmHnX9BwKO3Nd/yxsrWDafw8 +7fCTI4ZCHSlndeuE9Q2zuuad93A7B9SWrqBbKCeR0U/Q6V9FxZ8VdIaCbaD5KmKA +7e/s2gh+Rs4bQvIQlJyJdpMDgNrjDwVOxnZdMsRCmEYXCHifdiKB7gEvClP8Z35u +Ro1RTZ9mB1KdA1uYCcl0gDWqJ2dLLSjZDmeL/4aggsQa9yrYfIw5xr3sQRdZxsnE +1rPbfCJHLaP83IbYu8x6DPy1+C5eVNWJASK4Yshtug4dnr5g3vmhZr0ERPzk4bGZ +p67CItjbqsvk/FxpJtgBQxiYEb3G4dnlQqYKqEAzTldg+LHCwHMEEwEIAB0WIQRF +9o1Uu+I/swObRuWXZuCE+w9D2AUCZ1MBPAAKCRCXZuCE+w9D2MzXCACTQ0sQ/YUS +J7wlB12CVLFexwhHc4occTNIAjRDgyyWZOjxNHkzznYeiJ69S6nmVe6ltPAjEqil +Ax6zuJ7HlgbJoh0zNBKhn9TReKfom5dszgsLcSXWVguJIlQ0YWEfr/Y7dIB+V1em +4pL63wDQPafveWQPpPA0xu2QPdnL9Y7UR1muB91/720tDhUiQbI8qVdEGtIOfdkP +BqYDjVPGmFANX41NjiDty4Qvs80cDA+v2EgSgiBG8rQiOms9kSXfwOan3JeVGnem +aeaisG87PO2AhDEpycg58fwNUKxpH0iczns/JjY6Rva+aUvhvcpHukBXMirkPchN +qpe71eoXlQEjzsFNBGivLT0BEAC3jzW+2FGUr4bd7dkwV+atCDqLXOHqvvAHjAgv +TWH3dPby7xu35jVrMYL8EBbpYkkuGM+w5uwSLzl7N4cg/YVOEWeJBPFMHWppMxkX +9YIZmLJhQBq8A4gae/m7kmgTUtpItLAmLx7IQhFs0IQwedBVBC9+UI7aOlfS+IdM +XcVws6N1XyrGRr+byXdkSgBCdQYINrFRFIFi+c37+7PZu+yhuPT7BXoS5Qzh1sNi +jyMrviB4baLLQezgBL03djvS0Q67Niqv4D7nsXqr+TecyXwje2S2A3mvWYMLLhkg +54/dhAdT0CXCPRWfhkLrS2pe22xiZpSVg5FWVUgHwWK7qrpr8/FUxUuxKnnVSV+M +Wrhahr8cW+sBZ6HIr4lhNy+uUhuH5OfTLFn3cvy/mdm1xACi6XwVE+Z0hOF4JnYz +Mqbw7HQLHW+FkVKbMd5aEW/A5iZrj06QUMpwyMcxyD8sNu3QuKtiI2ocYF/ouXme +x0uiaIJ8ItTwapf6vqDJgAAiNn170PExKEssZTLD7WFWgABt4T0luPRW8yTSZBCS +CHfM8vHw8MKzMknq2y7ed5pbkPJ1przH2x61ZtN4MecmX7FeyGjXKLfsQFedB0Dc +D0X+8KYL3XuCBa63r+A4ePcykTTiVmBszMZY2MLcc4InR42OoMg47Fnrv4m+AxRH +FNJBhwARAQABwsOsBBgBCAAgFiEEqVU2IEo7tIlxUjEoKpjnfrbyTKgFAmivLT0C +GwICQAkQKpjnfrbyTKjBdCAEGQEIAB0WIQS+pb1ATucjQmEwMhqhm51ri2WV1AUC +aK8tPQAKCRChm51ri2WV1DcNEACGB3Tgq1erKr0WZwO5hYJcPqjeLU0sUjpqW/9Z +y02/aYlt/LEENBCRngz8GJkxEpcf8YW8Nqzg7IA+lK2WcE5GaJAUKugpvZrTvMxh +gGTAFD7eLkWQ7pl0e5xI41e1POgrmY0EcaHTygzgaLMk5o6uWV+CQmIl7TnfRT5e +M/OtL7lYuMat2RPhoTkW3VjHjB0JD1ts03OP7L6XUdVNy3xztSBhNJQ7uMZ5HJSQ +DF0c4AxSs01B1lcV7B9j4hzDKD0eiivpFh5pr89NhbCkTi0zkk0huZXVYDU0lm4X +mveB3HNiDwQw/J1gAK1+dg7WjXGB1djeGInbqk6U27uLV9Av2PyeAq3PE4WodD5q +F9lcA9Aj+XG/4qGmdfEhleYKE7gf6+Zh2qlRKDyDJ0S5Y+lXfGiu6EHh4dmFN5uF +Mi3quQFn+aUTqZWQ73qDPMmLnn427vzaaeHG92tyd25W1oi2XFNAJBxIzq7lHVt3 +ehDcmkT4wEFY0rrNhmKMcA3REVMtV6b3y5uUbYTlddorgQAqdyhF+2V/v1I1w+1E +sENzeJW01/neA6uxGZIX7Pt6m4M9BXbPsMleQ4ST5L7eCYYPQjlxMPZVnzjR8Nct +d84FNIoMws3kpgPcuDsz+h1m4el2o091HOfpW0xbq6ZwUFVAw8mCuWtjrK0+bZEY +dZIPO5x6D/473n9ZnRv7JX7r0whJjAf656efr/xjbE/k4Xif+ABgldzT/7uVlgen +Er+SYAp7t5UHwj+P5OJscBI8g8H/ZaNOW/gtz4ta0CZ4I0D5MqmW8ps+SCyWLyBP +3Vh9+kpHxktE33WV6qDAFFcLZ6sOdGYVf5SFddBKr6zaY7Wo2H9wpoi8HgymELqU +IigAtlVXSiD35DEiUZukq+b75+ePYyeM0xfdkcNdO/RhhQ9g0T6LE6KyMvD+HAOg +fm5sfIKgOEIk8TQsSgrOIyUr67/0DR9lLrKVXQEDoMt77jKLTOQwEoBKJS9b7gFK +5+Zv6Wq7GZb3QO2bFm7f96ZIFdx6opNLR9iiZESVvdiX1bnxnnVqvq2waMmYrLBy +7L7Dc5/+7XeoeqPDK09Rnfwqz7W6FQUF3f1rBhOdsnGRZQ/g60inYlTVoNg+0cHo +97L+W20t1xEXIlXgOTpha/DSb1RP/pXHdfzfbGOxertC4wqhrHNgQvdsYJx3+xoF +ec6926Vyay16RW0lkkwhnXHEG/v2bNo3lLt4iA1aJuka7f1zfkFtHAoLTedr66t3 +2qAeEtWrBty+BtrYX80iNon7d9CU4831CH51dc89+Nhpx5Qqnf4HnJ8fdz2LgAA3 +pCitkYJ5KX3hXz9ovbNy8pBV4rh+YA/raLcO5QA8kXzoq7uyUvvn6c7BTQRnU2AY +ARAA1iH/gKMXDXf1nXRPIKSV5j8YVisso0SqMKMLorYwlbAkivoi0PnzXm3g7s16 +rZc9T11IEKN4lf04lglN6lyNgu5G8DFTC0lMHlIgO+QhEmscJUvI67Q+edpq9IlH +T8i5EnPLmA7xqSDV1eFYFvhi4jtUzsXksduWE4K3tjBuZzn74Q/qogmdhOUZD4jF +OeZgKpdmqmZPi8niG8vgUnL5nTU3f6oCPgS2pQM4ZOvQQ0463nXWW1+Kwf71ygcv +IkZn+IEzGcBnrG2KC2N5r+BRfPlXWXr/0YFaaggbEolmtWI/GJWVUMUU7PXV6fgX +XKK+wMZmBEH9FMwKsIoVg3IiG2kugZ0AeDWD70nvkPdHyTmgwY73q/TOFT9LHojv +OFhVkGfXdFMC50yAiAMvAM0HsROWkLHdwYrX0hJ9xNeVhO1lsAmHs9tUaO26pCsN +PYyNw9cVlY3aA/KnUygMuFRztYYwtvQUWYga8lZo0LbZ9KL1xh8wo7sqbYwJwJJ3 +HsPxgVdj+9my/MAsr57Ga7/JDpFlATomdFVzYhKUguW9K5hS/rS9DThmJ+t+Vm1G +fwlNF19LJqZFhaNt02h0Ng1uYzBkkDEBPl93Iy8ddN2gUfC35NXNKuwN6hnZjNsM +TQ+QIHtZNvhoIfWn53Vt34kSDSOT6YnypNEUO1DGkLe1BTkAEQEAAcLDrAQYAQgA +IBYhBKlVNiBKO7SJcVIxKCqY53628kyoBQJnU2AYAhsCAkAJECqY53628kyowXQg +BBkBCAAdFiEEus9x8QQE1XYcCdOSAh3kC/tjtAYFAmdTYBgACgkQAh3kC/tjtAac +XxAAnOiIMf+Ta64fw1E2MFh5pd4D7MZkwbZQy7qyrbOR/eac8xwI+zVl7CSv+zQ0 +a3Kfm9b9U0YYlXN/4aSAKIAJlmXMSPK/mmHlNZilWxwhkWsynsJo+anAf3V9STcT +lUdYMez5F8tmASzggOFqErr1+7UoKG3z/0n7YmsVKUBkZYQTAVcjmOWnWWcZKSDS +AflDPFYoxealqMj3DlgXqDPQaJLHTvIbjWfcgHaoXiYPZWZLZir18cwWb/IEdENP +CfrqjWsq830ALZzSoM6Rs9c4d+GPFJIMibUcDAsgZ/m92XLFk2eFu2s7luGrk8yo +mL/jaCL3QrniUtgGm8OCVks7WztK0ph+Lhi1REY9xcoFk9xJo+8LNJmYMXjRR/M9 +dfFogr4UbZortav92qaToHEGOhQ3h+5xBzWhL7gp3NkyCnBCMGKP7HciTsIk/3k6 +44v9pQqpzAomRwCukOGKx45HJQr6cyABFIdE7y3tRBwgTJTEPivuUjDDF/wKNe7N +hZEKUo461oi4djL8ATf0YGNqF5friIcY7IrrbgrRbVcV1HBab7DMOmNIB7/B38I3 +JT/3xkEgFm8P8PVbBPkI2zDP6Qaew3rMM9Cd99jM97paGCW9jkHLuOIp1JArKDX2 +rUFcJlbuSnpZGypT8ZkiIMW160Ju5PUCkONnLGnzMoOAO4WsGg//Z2LFmaf4mRUl +q+50if05Zf6h8Q5Dgy5XR4pnOnVZJXIB6sbLdJLAnsuok6ZidiIA7pFpA2EjYGML +qM0ZRBXGmzzMzQ3CjL6mc1HaZKYqm5JSXF0Q6RjDyIkawxoxZUUq/ZOhuaBuuJ75 +Ytj9tD7ZBSKBofx+oX/97ymGQomFSH+7o4dnu/PkE8U9FvFXlL7mYho4HnqJnfLd +xCbbluMeb+aagnaL5XP7igZKqoifKBHRos8/u6XHP0z7MVkztpvax6KmK9+kowjO +pBA11VEbUIyVVvg0SQ2/rRBKmmgy9820FXYCZdmmr6Do07yBIs7eEjHF8E14TFHl +ReXvvKJeYMb4LVchcnwXvzZ45a2FiVpU/KYTkkPJlDKKRpIL/y5Z6zX4ue/KuY+N +yzyQFUPqAEfb+Ycu6wPIx6sRpJrsHYfAOH8PlIup4PvqYyDPzzrkLNWuu9VfDLM8 +lcHPc7a26IDifqSOqaxqBF9VnH6e8eWQEhnq9HOr17kDMxmeX0R4nX56AyqrOabt +MvElnyw/hMGQGbTmm+ric2Bd79feBvGQZAhJ7shIfWEdtSrgVek9svBFPVXSIkk9 +0DufWLN5vdF+7uuIKzoU+sPaPvFNDR1zquBZaEGFQoszE1u28+OCAtiJenRmihTn +pp+wVxeW8UNwmZxg6OZUQF6oYipFNyXOwU0EZ1GB1QEQALLOQ3QZlIxpW9QxlNcA +dA2GWvyEEGJFzrwfZGKWflZf+ObRdOTpkt31TXTJBK0DPHnuGC4SifYLUZ9rO5Qe +GF5KtJyE0gNsyi2VaD6GL7XnJQgBFF9E8ZbOmLQDyEVFWKj8nyVj2mMgvi94pXQJ +LuY4rnwZAqwjyhEaMvdpCtju2IeDHLnAKbR3VRVzquIqqdFPjrLDgsTU5nb7uwt7 +eA4l/YdKolEyIAfM4ZWfaP8C4ziP8Luf+I3CrKUqYOlNasuwlHaBjSbtJy7qlzBr +/EaE5vo0I6B5SKVZN80k+yzAj2F5G5wKmsD+vcO0XFZEakT5cv0MtphSvb75r4u2 +RAhzL5I8QYk6SQd5tDoNaaTB68xav7svq3JI3wAqUqNTzeJLe715mnKWJBOsl0fF +5yiNoBzL6qFnteRc5/BlnZ7Z1AncDoyyeMPrwwVLqKoso7GUsBkYAqFPi5B4kkGa +6rQ7u11+FPa5/yeRJOCIe9neI/wwoP0FkKp9d12skjrwredDnTcKyWMyFgduL+yj +U33po7HNZNZEnL1UT8wyteYOIumVsIxXL0YhESs5VJU1YRAPe46RqUE1N26w26Tl +5GYYCCRbb/NXmtahAOV8ADeVAaC9PUSa29ZGQUFNO3F50pAxz/FGax+iiquK8N5D +MEj+rAgmcSMTDjh4gqhGTJOnABEBAAHCwXYEGAEIACAWIQSpVTYgSju0iXFSMSgq +mOd+tvJMqAUCZ1GB1QIbDAAKCRAqmOd+tvJMqIX1D/957CDKoNuFAZOppq8fihBD +NHxioLEo5//CIms3D/1xD8Sdbebkh+1wvkOs+THPprYRemL8I/V387Dsbhz8Wh0m +mg/NwIkVBJ5lcw7RJCCQlpATjhL25YdxgxV20VTXYrICpqDyjGhC5PAFerLZNehb +dScsPBqY3MdZAlScck4icoYmowHJGf/yGBrwrepdOP8t/wgX+GUsxteWV0Jeza2y +KeYViC3G8ZT+WevE4OSoR/7jBAQmOXXWDcKMfHXaBqxtYYKSFXgJDLDa5kKr42h1 +X8xT45UAGJH1Pm/adFKznCahFWmN22Qr00fKdzcopXi6dnXhTDrD2XxgK5YkVPpg +hgKm3khR0ghfwwhR199ysgT1ZLWGBfW961vxqdfEnM6WluZnqmGU8t9DU9NxpfLN +WletLrrf1yHZTHuDnPVz3/fg3m150d/BnWR/5HAo8qVMp+dIu0XcIqlJ87Wds6XP +SDjN1OleObi5SmSQ1qM6DHiV4xtRZgjhqSpG0UmZ0EpmRsLYt8PAgdphrADQ7OA/ +1J4cd77eVC6fW2XLE7QdXtXD3a79Kp23R9ng6bxpya/pFpJ+m5zUdN5DhC71gyzI +Lc4PJkONCl0RyYVoJyZqm0pj9Zya9yYXvz6OKJ910QKPkk6I/bmeo1Spq0hXV7eU +2Ubl79Gm2nDkdOCO56yNFw== +=i8IK +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pcre2.spec b/pcre2.spec new file mode 100644 index 0000000..7748b2c --- /dev/null +++ b/pcre2.spec @@ -0,0 +1,274 @@ +# +# spec file for package pcre2 +# +# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 Andreas Stieger +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global _lto_cflags %{_lto_cflags} -ffat-lto-objects +Name: pcre2 +Version: 10.46 +Release: 0 +Summary: A library for Perl-compatible regular expressions +# code: BSD-3-Clause WITH PCRE2-exception +# testdata: Public Domain +# JIT-compiler: BSD-2-Clause +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause AND SUSE-Public-Domain +Group: Development/Libraries/C and C++ +URL: https://pcre2project.github.io/pcre2/ +Source0: https://github.com/PCRE2Project/pcre2/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2 +Source2: https://github.com/PCRE2Project/pcre2/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2.sig +# https://github.com/PCRE2Project/pcre2/blob/master/SECURITY.md +Source3: %{name}.keyring +Source4: baselibs.conf +# PATCH-FIX-OPENSUSE tchvatal@suse.cz upstream thinks it is good idea to use rpath, taken from RH +Patch1: pcre2-10.10-multilib.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: libbz2-devel +BuildRequires: libedit-devel +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: pkgconfig(zlib) + +%description +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%package devel +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception +Group: Development/Libraries/C and C++ +Requires: libpcre2-16-0 = %{version} +Requires: libpcre2-32-0 = %{version} +Requires: libpcre2-8-0 = %{version} +Requires: libpcre2-posix3 = %{version} +Requires: libstdc++-devel + +%description devel +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%package devel-static +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: Development/Libraries/C and C++ +Requires: pcre2-devel = %{version} + +%description devel-static +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +This package contains static versions of the PCRE2 libraries. + +%package -n libpcre2-8-0 +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: System/Libraries + +%description -n libpcre2-8-0 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +This PCRE2 library variant supports 8-bit and UTF-8 strings. +(See also libpcre2-16 and libpcre2-32) + +%package -n libpcre2-16-0 +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: System/Libraries + +%description -n libpcre2-16-0 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +libpcre2-16 supports 16-bit and UTF-16 strings. + +%package -n libpcre2-32-0 +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: System/Libraries + +%description -n libpcre2-32-0 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +libpcre2-32 supports 32-bit and UTF-32 strings. + +%package -n libpcre2-posix3 +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: System/Libraries + +%description -n libpcre2-posix3 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +pcre2-posix provides a POSIX-compatible API to the PCRE2 engine. + +%package doc +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception +Group: Documentation/HTML +BuildArch: noarch + +%description doc +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%package tools +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause WITH PCRE2-exception AND BSD-2-Clause +Group: Productivity/Text/Utilities +Recommends: %{name}-doc + +%description tools +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%prep +%autosetup -p1 + +%build +%define _lto_cflags %{nil} +# Available JIT archs see sljit/sljitConfig.h +autoreconf -fiv +export LDFLAGS="-Wl,-z,relro,-z,now" +%configure \ +%ifarch %{ix86} x86_64 aarch64 %{arm} ppc ppc64 ppc64le mips sparc s390x + --enable-jit \ +%endif + --enable-static \ + --with-link-size=2 \ + --with-match-limit=10000000 \ + --enable-newline-is-lf \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ + --enable-pcre2grep-libz \ + --enable-pcre2grep-libbz2 \ + --enable-pcre2test-libedit \ + --enable-unicode + +%if 0%{?do_profiling} && !0%{?want_reproducible_builds} + %make_build CFLAGS="%{optflags} %{cflags_profile_generate}" + export LANG=POSIX + # do not run profiling in parallel for reproducible builds (boo#1040589 boo#1102408) + %make_build -j1 CFLAGS="%{optflags} %{cflags_profile_generate}" check + %make_build clean + %make_build CFLAGS="%{optflags} %{cflags_profile_feedback}" +%else + %make_build CFLAGS="%{optflags}" +%endif + +%install +%make_install +mkdir -p %{buildroot}/%{_defaultdocdir} +mv %{buildroot}%{_datadir}/doc/pcre2 %{buildroot}/%{_defaultdocdir}/pcre2-doc +#empty dependecy_libs +find %{buildroot} -type f -name "*.la" -delete -print + +%check +export LANG=POSIX +%make_build check -j1 + +%ldconfig_scriptlets -n libpcre2-8-0 +%ldconfig_scriptlets -n libpcre2-16-0 +%ldconfig_scriptlets -n libpcre2-32-0 +%ldconfig_scriptlets -n libpcre2-posix3 + +%files -n libpcre2-8-0 +%license LICENCE.md +%doc AUTHORS.md ChangeLog NEWS README +%{_libdir}/libpcre2-8.so.* + +%files -n libpcre2-16-0 +%license LICENCE.md +%{_libdir}/libpcre2-16.so.* + +%files -n libpcre2-32-0 +%license LICENCE.md +%{_libdir}/libpcre2-32.so.* + +%files -n libpcre2-posix3 +%license LICENCE.md +%{_libdir}/libpcre2-posix.so.* + +%files tools +%license LICENCE.md +%{_bindir}/pcre2grep +%{_bindir}/pcre2test +%{_mandir}/man1/pcre2grep.1%{?ext_man} +%{_mandir}/man1/pcre2test.1%{?ext_man} + +%files doc +%license LICENCE.md +%doc AUTHORS.md ChangeLog NEWS README +%doc doc/html doc/*.txt +%doc %{_defaultdocdir}/pcre2-doc + +%files devel +%license LICENCE.md +%{_bindir}/pcre2-config +%{_includedir}/* +%{_libdir}/*.so +%{_libdir}/pkgconfig/libpcre2-8.pc +%{_libdir}/pkgconfig/libpcre2-16.pc +%{_libdir}/pkgconfig/libpcre2-32.pc +%{_libdir}/pkgconfig/libpcre2-posix.pc +%{_mandir}/man1/pcre2-config.1%{?ext_man} +%{_mandir}/man3/*%{ext_man} + +%files devel-static +%license LICENCE.md +%{_libdir}/*.a + +%changelog -- 2.51.1 From 7e78cb9df548f9b28d958654e180602bc7e7ee8d7cc1f10bb853bd846b0c7140 Mon Sep 17 00:00:00 2001 From: Andreas Stieger Date: Thu, 28 Aug 2025 11:09:27 +0000 Subject: [PATCH 4/5] OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/pcre2?expand=0&rev=80 --- pcre2.changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcre2.changes b/pcre2.changes index 80ac53d..0525f90 100644 --- a/pcre2.changes +++ b/pcre2.changes @@ -3,7 +3,7 @@ Thu Aug 28 10:27:11 UTC 2025 - Andreas Stieger - Update to 10.46: * CVE-2025-58050: heap-buffer-overflow read in match_ref due to - missing boundary restoration in SCS (boo#1248825) + missing boundary restoration in SCS (boo#1248832) ------------------------------------------------------------------- Tue Jun 10 06:41:24 UTC 2025 - Bernhard Wiedemann -- 2.51.1 From 95a985cd3a08af3cb025d4182ee6e023507938fba32841d162992d7a6778dc12 Mon Sep 17 00:00:00 2001 From: Andreas Stieger Date: Thu, 28 Aug 2025 11:34:30 +0000 Subject: [PATCH 5/5] OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/pcre2?expand=0&rev=81 --- pcre2.changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcre2.changes b/pcre2.changes index 0525f90..1a624f4 100644 --- a/pcre2.changes +++ b/pcre2.changes @@ -3,7 +3,7 @@ Thu Aug 28 10:27:11 UTC 2025 - Andreas Stieger - Update to 10.46: * CVE-2025-58050: heap-buffer-overflow read in match_ref due to - missing boundary restoration in SCS (boo#1248832) + missing boundary restoration in SCS (boo#1248832, boo#1248842) ------------------------------------------------------------------- Tue Jun 10 06:41:24 UTC 2025 - Bernhard Wiedemann -- 2.51.1