[Pcre-svn] [1086] code/trunk: Final file tidies for 10.33.

Top Page
Delete this message
Author: Subversion repository
Date:  
To: pcre-svn
Subject: [Pcre-svn] [1086] code/trunk: Final file tidies for 10.33.
Revision: 1086
          http://www.exim.org/viewvc/pcre2?view=rev&revision=1086
Author:   ph10
Date:     2019-04-16 16:34:27 +0100 (Tue, 16 Apr 2019)
Log Message:
-----------
Final file tidies for 10.33.


Modified Paths:
--------------
    code/trunk/ChangeLog
    code/trunk/NEWS
    code/trunk/README
    code/trunk/configure.ac
    code/trunk/doc/html/README.txt
    code/trunk/doc/html/pcre2_jit_compile.html
    code/trunk/doc/html/pcre2jit.html
    code/trunk/doc/html/pcre2unicode.html
    code/trunk/doc/pcre2.txt
    code/trunk/doc/pcre2_jit_compile.3
    code/trunk/doc/pcre2jit.3
    code/trunk/doc/pcre2unicode.3
    code/trunk/src/config.h.generic
    code/trunk/src/pcre2.h.generic
    code/trunk/src/pcre2_compile.c
    code/trunk/src/pcre2_printint.c


Modified: code/trunk/ChangeLog
===================================================================
--- code/trunk/ChangeLog    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/ChangeLog    2019-04-16 15:34:27 UTC (rev 1086)
@@ -2,7 +2,7 @@
 --------------------



-Version 10.33 11-March-2019
+Version 10.33 16-April-2019
---------------------------

1. Added "allvector" to pcre2test to make it easy to check the part of the
@@ -149,10 +149,15 @@
36. Disable SSE2 JIT optimizations in x86 CPUs when SSE2 is not available.
Patch by Guillem Jover.

-37. Changed expressions such as 1<<10 to 1u<<10 in many places because compiler
+37. Changed expressions such as 1<<10 to 1u<<10 in many places because compiler
warnings were reported.

+38. Using the clang compiler with sanitizing options causes runtime complaints
+about truncation for statments such as x = ~x when x is an 8-bit value; it
+seems to compute ~x as a 32-bit value. Changing such statements to x = 255 ^ x
+gets rid of the warnings. There were also two missing casts in pcre2test.

+
Version 10.32 10-September-2018
-------------------------------


Modified: code/trunk/NEWS
===================================================================
--- code/trunk/NEWS    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/NEWS    2019-04-16 15:34:27 UTC (rev 1086)
@@ -2,7 +2,7 @@
 -------------------------



-Version 10.33-RC1 03-March-2019
+Version 10.33-RC1 16-April-2019
-------------------------------

Yet more bugfixes, tidies, and a few enhancements, summarized here (see

Modified: code/trunk/README
===================================================================
--- code/trunk/README    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/README    2019-04-16 15:34:27 UTC (rev 1086)
@@ -1,9 +1,11 @@
 README file for PCRE2 (Perl-compatible regular expression library)
 ------------------------------------------------------------------


-PCRE2 is a re-working of the original PCRE library to provide an entirely new
-API. The latest release of PCRE2 is always available in three alternative
-formats from:
+PCRE2 is a re-working of the original PCRE1 library to provide an entirely new
+API. Since its initial release in 2015, there has been further development of
+the code and it now differs from PCRE1 in more than just the API. There are new
+features and the internals have been improved. The latest release of PCRE2 is
+always available in three alternative formats from:

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-xxx.tar.gz
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-xxx.tar.bz2
@@ -39,15 +41,15 @@
PCRE2 is written in C, and it has its own API. There are three sets of
functions, one for the 8-bit library, which processes strings of bytes, one for
the 16-bit library, which processes strings of 16-bit values, and one for the
-32-bit library, which processes strings of 32-bit values. There are no C++
-wrappers.
+32-bit library, which processes strings of 32-bit values. Unlike PCRE1, there
+are no C++ wrappers.

-In addition, the distribution contains a set of C wrapper functions for the
-8-bit library that are based on the POSIX regular expression API (see the
-pcre2posix man page). These are built into a library called libpcre2-posix.
-Note that this just provides a POSIX calling interface to PCRE2; the regular
-expressions themselves still follow Perl syntax and semantics. The POSIX API is
-restricted, and does not give full access to all of PCRE2's facilities.
+The distribution does contain a set of C wrapper functions for the 8-bit
+library that are based on the POSIX regular expression API (see the pcre2posix
+man page). These are built into a library called libpcre2-posix. Note that this
+just provides a POSIX calling interface to PCRE2; the regular expressions
+themselves still follow Perl syntax and semantics. The POSIX API is restricted,
+and does not give full access to all of PCRE2's facilities.

The header file for the POSIX-style functions is called pcre2posix.h. The
official POSIX name is regex.h, but I did not want to risk possible problems
@@ -890,4 +892,4 @@
Philip Hazel
Email local part: ph10
Email domain: cam.ac.uk
-Last updated: 03 March 2019
+Last updated: 16 April 2019

Modified: code/trunk/configure.ac
===================================================================
--- code/trunk/configure.ac    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/configure.ac    2019-04-16 15:34:27 UTC (rev 1086)
@@ -10,8 +10,8 @@


m4_define(pcre2_major, [10])
m4_define(pcre2_minor, [33])
-m4_define(pcre2_prerelease, [-RC1])
-m4_define(pcre2_date, [2019-03-03])
+m4_define(pcre2_prerelease, [])
+m4_define(pcre2_date, [2019-04-16])

# NOTE: The CMakeLists.txt file searches for the above variables in the first
# 50 lines of this file. Please update that if the variables above are moved.

Modified: code/trunk/doc/html/README.txt
===================================================================
--- code/trunk/doc/html/README.txt    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/doc/html/README.txt    2019-04-16 15:34:27 UTC (rev 1086)
@@ -1,9 +1,11 @@
 README file for PCRE2 (Perl-compatible regular expression library)
 ------------------------------------------------------------------


-PCRE2 is a re-working of the original PCRE library to provide an entirely new
-API. The latest release of PCRE2 is always available in three alternative
-formats from:
+PCRE2 is a re-working of the original PCRE1 library to provide an entirely new
+API. Since its initial release in 2015, there has been further development of
+the code and it now differs from PCRE1 in more than just the API. There are new
+features and the internals have been improved. The latest release of PCRE2 is
+always available in three alternative formats from:

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-xxx.tar.gz
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-xxx.tar.bz2
@@ -39,15 +41,15 @@
PCRE2 is written in C, and it has its own API. There are three sets of
functions, one for the 8-bit library, which processes strings of bytes, one for
the 16-bit library, which processes strings of 16-bit values, and one for the
-32-bit library, which processes strings of 32-bit values. There are no C++
-wrappers.
+32-bit library, which processes strings of 32-bit values. Unlike PCRE1, there
+are no C++ wrappers.

-In addition, the distribution contains a set of C wrapper functions for the
-8-bit library that are based on the POSIX regular expression API (see the
-pcre2posix man page). These are built into a library called libpcre2-posix.
-Note that this just provides a POSIX calling interface to PCRE2; the regular
-expressions themselves still follow Perl syntax and semantics. The POSIX API is
-restricted, and does not give full access to all of PCRE2's facilities.
+The distribution does contain a set of C wrapper functions for the 8-bit
+library that are based on the POSIX regular expression API (see the pcre2posix
+man page). These are built into a library called libpcre2-posix. Note that this
+just provides a POSIX calling interface to PCRE2; the regular expressions
+themselves still follow Perl syntax and semantics. The POSIX API is restricted,
+and does not give full access to all of PCRE2's facilities.

The header file for the POSIX-style functions is called pcre2posix.h. The
official POSIX name is regex.h, but I did not want to risk possible problems
@@ -890,4 +892,4 @@
Philip Hazel
Email local part: ph10
Email domain: cam.ac.uk
-Last updated: 03 March 2019
+Last updated: 16 April 2019

Modified: code/trunk/doc/html/pcre2_jit_compile.html
===================================================================
--- code/trunk/doc/html/pcre2_jit_compile.html    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/doc/html/pcre2_jit_compile.html    2019-04-16 15:34:27 UTC (rev 1086)
@@ -40,7 +40,7 @@
   PCRE2_JIT_COMPLETE      compile code for full matching
   PCRE2_JIT_PARTIAL_SOFT  compile code for soft partial matching
   PCRE2_JIT_PARTIAL_HARD  compile code for hard partial matching
-  PCRE2_JIT_INVALID_UTF   compile code to handle invalid UTF 
+  PCRE2_JIT_INVALID_UTF   compile code to handle invalid UTF
 </pre>
 The yield of the function is 0 for success, or a negative error code otherwise.
 In particular, PCRE2_ERROR_JIT_BADOPTION is returned if JIT is not supported or


Modified: code/trunk/doc/html/pcre2jit.html
===================================================================
--- code/trunk/doc/html/pcre2jit.html    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/doc/html/pcre2jit.html    2019-04-16 15:34:27 UTC (rev 1086)
@@ -155,11 +155,11 @@
 UTF is compiled.
 </P>
 <P>
-In this mode, an invalid code unit sequence never matches any pattern item. It 
-does not match dot, it does not match \p{Any}, it does not even match negative 
+In this mode, an invalid code unit sequence never matches any pattern item. It
+does not match dot, it does not match \p{Any}, it does not even match negative
 items such as [^X]. A lookbehind assertion fails if it encounters an invalid
-sequence while moving the current point backwards. In other words, an invalid 
-UTF code unit sequence acts as a barrier which no match can cross. Reaching an 
+sequence while moving the current point backwards. In other words, an invalid
+UTF code unit sequence acts as a barrier which no match can cross. Reaching an
 invalid sequence causes an immediate backtrack.
 </P>
 <P>


Modified: code/trunk/doc/html/pcre2unicode.html
===================================================================
--- code/trunk/doc/html/pcre2unicode.html    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/doc/html/pcre2unicode.html    2019-04-16 15:34:27 UTC (rev 1086)
@@ -263,9 +263,9 @@
 </P>
 <P>
 If you pass an invalid UTF string when PCRE2_NO_UTF_CHECK is set, the result
-is usually undefined and your program may crash or loop indefinitely. There is, 
+is usually undefined and your program may crash or loop indefinitely. There is,
 however, one mode of matching that can handle invalid UTF subject strings. This
-is matching via the JIT optimization using the PCRE2_JIT_INVALID_UTF option 
+is matching via the JIT optimization using the PCRE2_JIT_INVALID_UTF option
 when calling <b>pcre2_jit_compile()</b>. For details, see the
 <a href="pcre2jit.html"><b>pcre2jit</b></a>
 documentation.


Modified: code/trunk/doc/pcre2.txt
===================================================================
--- code/trunk/doc/pcre2.txt    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/doc/pcre2.txt    2019-04-16 15:34:27 UTC (rev 1086)
@@ -180,8 +180,8 @@
        Last updated: 17 September 2018
        Copyright (c) 1997-2018 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+
 PCRE2API(3)                Library Functions Manual                PCRE2API(3)



@@ -3681,8 +3681,8 @@
        Last updated: 14 February 2019
        Copyright (c) 1997-2019 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+
 PCRE2BUILD(3)              Library Functions Manual              PCRE2BUILD(3)



@@ -4254,8 +4254,8 @@
        Last updated: 03 March 2019
        Copyright (c) 1997-2019 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+
 PCRE2CALLOUT(3)            Library Functions Manual            PCRE2CALLOUT(3)



@@ -4685,8 +4685,8 @@
        Last updated: 03 February 2019
        Copyright (c) 1997-2019 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+
 PCRE2COMPAT(3)             Library Functions Manual             PCRE2COMPAT(3)



@@ -4890,8 +4890,8 @@
        Last updated: 12 February 2019
        Copyright (c) 1997-2019 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+
 PCRE2JIT(3)                Library Functions Manual                PCRE2JIT(3)



@@ -5313,8 +5313,8 @@
        Last updated: 06 March 2019
        Copyright (c) 1997-2019 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+
 PCRE2LIMITS(3)             Library Functions Manual             PCRE2LIMITS(3)



@@ -5383,8 +5383,8 @@
        Last updated: 02 February 2019
        Copyright (c) 1997-2019 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+
 PCRE2MATCHING(3)           Library Functions Manual           PCRE2MATCHING(3)



@@ -5604,8 +5604,8 @@
        Last updated: 10 October 2018
        Copyright (c) 1997-2018 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+
 PCRE2PARTIAL(3)            Library Functions Manual            PCRE2PARTIAL(3)



@@ -6044,8 +6044,8 @@
        Last updated: 22 December 2014
        Copyright (c) 1997-2014 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+
 PCRE2PATTERN(3)            Library Functions Manual            PCRE2PATTERN(3)



@@ -9388,8 +9388,8 @@
        Last updated: 12 February 2019
        Copyright (c) 1997-2019 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+
 PCRE2PERFORM(3)            Library Functions Manual            PCRE2PERFORM(3)



@@ -9623,8 +9623,8 @@
        Last updated: 03 February 2019
        Copyright (c) 1997-2019 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+
 PCRE2POSIX(3)              Library Functions Manual              PCRE2POSIX(3)



@@ -9953,8 +9953,8 @@
        Last updated: 30 January 2019
        Copyright (c) 1997-2019 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+
 PCRE2SAMPLE(3)             Library Functions Manual             PCRE2SAMPLE(3)



@@ -10232,8 +10232,8 @@
        Last updated: 27 June 2018
        Copyright (c) 1997-2018 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+
 PCRE2SYNTAX(3)             Library Functions Manual             PCRE2SYNTAX(3)



@@ -10733,8 +10733,8 @@
        Last updated: 11 February 2019
        Copyright (c) 1997-2019 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+
 PCRE2UNICODE(3)            Library Functions Manual            PCRE2UNICODE(3)



@@ -11109,5 +11109,5 @@
        Last updated: 06 March 2019
        Copyright (c) 1997-2019 University of Cambridge.
 ------------------------------------------------------------------------------
- 
- 
+
+


Modified: code/trunk/doc/pcre2_jit_compile.3
===================================================================
--- code/trunk/doc/pcre2_jit_compile.3    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/doc/pcre2_jit_compile.3    2019-04-16 15:34:27 UTC (rev 1086)
@@ -29,7 +29,7 @@
   PCRE2_JIT_COMPLETE      compile code for full matching
   PCRE2_JIT_PARTIAL_SOFT  compile code for soft partial matching
   PCRE2_JIT_PARTIAL_HARD  compile code for hard partial matching
-  PCRE2_JIT_INVALID_UTF   compile code to handle invalid UTF 
+  PCRE2_JIT_INVALID_UTF   compile code to handle invalid UTF
 .sp
 The yield of the function is 0 for success, or a negative error code otherwise.
 In particular, PCRE2_ERROR_JIT_BADOPTION is returned if JIT is not supported or


Modified: code/trunk/doc/pcre2jit.3
===================================================================
--- code/trunk/doc/pcre2jit.3    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/doc/pcre2jit.3    2019-04-16 15:34:27 UTC (rev 1086)
@@ -130,11 +130,11 @@
 \fBpcre2_jit_compile()\fP, code that can process a subject containing invalid
 UTF is compiled.
 .P
-In this mode, an invalid code unit sequence never matches any pattern item. It 
-does not match dot, it does not match \ep{Any}, it does not even match negative 
+In this mode, an invalid code unit sequence never matches any pattern item. It
+does not match dot, it does not match \ep{Any}, it does not even match negative
 items such as [^X]. A lookbehind assertion fails if it encounters an invalid
-sequence while moving the current point backwards. In other words, an invalid 
-UTF code unit sequence acts as a barrier which no match can cross. Reaching an 
+sequence while moving the current point backwards. In other words, an invalid
+UTF code unit sequence acts as a barrier which no match can cross. Reaching an
 invalid sequence causes an immediate backtrack.
 .P
 Using this option, an application can run matches in arbitrary data, knowing


Modified: code/trunk/doc/pcre2unicode.3
===================================================================
--- code/trunk/doc/pcre2unicode.3    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/doc/pcre2unicode.3    2019-04-16 15:34:27 UTC (rev 1086)
@@ -244,9 +244,9 @@
 only valid UTF code unit sequences.
 .P
 If you pass an invalid UTF string when PCRE2_NO_UTF_CHECK is set, the result
-is usually undefined and your program may crash or loop indefinitely. There is, 
+is usually undefined and your program may crash or loop indefinitely. There is,
 however, one mode of matching that can handle invalid UTF subject strings. This
-is matching via the JIT optimization using the PCRE2_JIT_INVALID_UTF option 
+is matching via the JIT optimization using the PCRE2_JIT_INVALID_UTF option
 when calling \fBpcre2_jit_compile()\fP. For details, see the
 .\" HREF
 \fBpcre2jit\fP


Modified: code/trunk/src/config.h.generic
===================================================================
--- code/trunk/src/config.h.generic    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/src/config.h.generic    2019-04-16 15:34:27 UTC (rev 1086)
@@ -218,7 +218,7 @@
 #define PACKAGE_NAME "PCRE2"


/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "PCRE2 10.33-RC1"
+#define PACKAGE_STRING "PCRE2 10.33"

/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "pcre2"
@@ -227,7 +227,7 @@
#define PACKAGE_URL ""

/* Define to the version of this package. */
-#define PACKAGE_VERSION "10.33-RC1"
+#define PACKAGE_VERSION "10.33"

 /* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested
    parentheses (of any kind) in a pattern. This limits the amount of system
@@ -352,7 +352,7 @@
 #endif


/* Version number of package */
-#define VERSION "10.33-RC1"
+#define VERSION "10.33"

/* Define to 1 if on MINIX. */
/* #undef _MINIX */

Modified: code/trunk/src/pcre2.h.generic
===================================================================
--- code/trunk/src/pcre2.h.generic    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/src/pcre2.h.generic    2019-04-16 15:34:27 UTC (rev 1086)
@@ -43,8 +43,8 @@


 #define PCRE2_MAJOR           10
 #define PCRE2_MINOR           33
-#define PCRE2_PRERELEASE      -RC1
-#define PCRE2_DATE            2019-03-03
+#define PCRE2_PRERELEASE      
+#define PCRE2_DATE            2019-04-16


/* When an application links to a PCRE DLL in Windows, the symbols that are
imported have to be identified as such. When building PCRE2, the appropriate

Modified: code/trunk/src/pcre2_compile.c
===================================================================
--- code/trunk/src/pcre2_compile.c    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/src/pcre2_compile.c    2019-04-16 15:34:27 UTC (rev 1086)
@@ -5948,10 +5948,10 @@
         (void)memmove(code + (32 / sizeof(PCRE2_UCHAR)), code,
           CU2BYTES(class_uchardata - code));
         if (negate_class && !xclass_has_prop)
-          { 
-          /* Using 255 ^ instead of ~ avoids clang sanitize warning. */ 
+          {
+          /* Using 255 ^ instead of ~ avoids clang sanitize warning. */
           for (i = 0; i < 32; i++) classbits[i] = 255 ^ classbits[i];
-          } 
+          }
         memcpy(code, classbits, 32);
         code = class_uchardata + (32 / sizeof(PCRE2_UCHAR));
         }
@@ -5974,10 +5974,10 @@
     if (lengthptr == NULL)    /* Save time in the pre-compile phase */
       {
       if (negate_class)
-        { 
-       /* Using 255 ^ instead of ~ avoids clang sanitize warning. */ 
+        {
+       /* Using 255 ^ instead of ~ avoids clang sanitize warning. */
        for (i = 0; i < 32; i++) classbits[i] = 255 ^ classbits[i];
-       } 
+       }
       memcpy(code, classbits, 32);
       }
     code += 32 / sizeof(PCRE2_UCHAR);


Modified: code/trunk/src/pcre2_printint.c
===================================================================
--- code/trunk/src/pcre2_printint.c    2019-04-16 14:49:07 UTC (rev 1085)
+++ code/trunk/src/pcre2_printint.c    2019-04-16 15:34:27 UTC (rev 1086)
@@ -673,7 +673,7 @@
         map = (uint8_t *)ccode;
         if (invertmap)
           {
-          /* Using 255 ^ instead of ~ avoids clang sanitize warning. */ 
+          /* Using 255 ^ instead of ~ avoids clang sanitize warning. */
           for (i = 0; i < 32; i++) inverted_map[i] = 255 ^ map[i];
           map = inverted_map;
           }