libregex: Mark gnuext test as an expected failThe test was added prematurely as a goal to reach with the GNU extensionfunctionality, but the functionality has not yet been introduced. Mark it asa
libregex: Mark gnuext test as an expected failThe test was added prematurely as a goal to reach with the GNU extensionfunctionality, but the functionality has not yet been introduced. Mark it asan expected fail until that point.
show more ...
Add libregex, connect it to the buildlibregex is a regex(3) implementation intended to feature GNU extensions andany other non-POSIX compliant extensions that are deemed worthy.These extensions
Add libregex, connect it to the buildlibregex is a regex(3) implementation intended to feature GNU extensions andany other non-POSIX compliant extensions that are deemed worthy.These extensions are separated out into a separate library for the sake ofnot cluttering up libc further with them as well as not deteriorating thespeed (or lack thereof) of the libc implementation.libregex is implemented as a build of the libc implementation with LIBREGEXdefined to distinguish this from a libc build. The reasons forimplementation like this are two-fold:1.) Maintenance- This reduces the overhead induced by adding yet anotherregex implementation to base.2.) Ease of use- Flipping on GNU extensions will be as simple as linkingagainst libregex, and POSIX-compliant compilations can be guaranteed with aREG_POSIX cflag that should be ignored by libc/regex and disables extensionsin libregex. It is also easier to keep REG_POSIX sane and POSIX pure whenimplemented in this fashion.Tests are added for future functionality, but left disconnected for the timebeing while other testing is done.Reviewed by: cem (previous version)Differential Revision: https://reviews.freebsd.org/D12934