]> git.ipfire.org Git - thirdparty/glibc.git/commit
regex: copy back from Gnulib
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 21 Sep 2021 14:47:45 +0000 (07:47 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 21 Sep 2021 15:00:44 +0000 (08:00 -0700)
commit0b5ca7c3e551e5502f3be3b06453324fe8604e82
tree0c46027d9aee6c5d533cabb0c3fcb7895197d178
parentf3e664563361dc17530113b3205998d1f19dc4d9
regex: copy back from Gnulib

Copy regex-related files back from Gnulib, to fix a problem with
static checking of regex calls noted by Martin Sebor.  This merges the
following changes:

* New macro __attribute_nonnull__ in misc/sys/cdefs.h, for use later
when copying other files back from Gnulib.

* Use __GNULIB_CDEFS instead of __GLIBC__ when deciding
whether to include bits/wordsize.h etc.

* Avoid duplicate entries in epsilon closure table.

* New regex.h macro _REGEX_NELTS to let regexec say that its pmatch
arg should contain nmatch elts.  Use that for regexec, instead of
__attr_access (which is incorrect).

* New regex.h macro _Attr_access_ which is like __attr_access except
portable to non-glibc platforms.

* Add some DEBUG_ASSERTs to pacify gcc -fanalyzer and to catch
recently-fixed performance bugs if they recur.

* Add Gnulib-specific stuff to port the dynarray- and lock-using parts
of regex code to non-glibc platforms.

* Fix glibc bug 11053.

* Avoid some undefined behavior when popping an empty fail stack.
include/intprops.h
include/regex.h
misc/sys/cdefs.h
posix/regcomp.c
posix/regex.c
posix/regex.h
posix/regex_internal.c
posix/regex_internal.h
posix/regexec.c