aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/lib/gnu/java
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2026-02-05 17:32:23 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2026-02-11 11:00:03 +0000
commit49d219a5d7a8ad570992a4065268b58a581b7d9f (patch)
treeb05c082bbc91bcf3dd2c9f86442db5e798e83750 /libjava/classpath/lib/gnu/java
parent81e492ba723f9cfdd69d4badfdec1c00983952a9 (diff)
downloadgcc-49d219a5d7a8ad570992a4065268b58a581b7d9f.zip
gcc-49d219a5d7a8ad570992a4065268b58a581b7d9f.tar.gz
gcc-49d219a5d7a8ad570992a4065268b58a581b7d9f.tar.bz2
libstdc++: Fix std::regex_traits::lookup_classname [PR124015]
This fixes a bug in regex_traits::lookup_classname(f, l, true) where the result was always ctype_base::alpha for any input sequence [f, l) that has the ctype_base::lower or ctype_base::upper bits set. For targets that define alpha as lower|upper (rather than having a distinct bit for alpha) this bug meant that all masks which have lower or upper bits set were replaced with alpha when the icase parameter is true. This has the effect that trying to do a case insensitive match for [:alnum:], [:graph:], or [:print:] was equivalent to matching [:alpha:] instead, which is obviously not correct. Based on inspection of the ctype_base.h files under the config/os directory, the bug appears to affect newlib, picolibc, qnx and vxworks. libstdc++-v3/ChangeLog: PR libstdc++/124015 * include/bits/regex.tcc (regex_traits::lookup_classname): Fix handling of icase parameter. Reviewed-by: Tomasz KamiƄski <tkaminsk@redhat.com>
Diffstat (limited to 'libjava/classpath/lib/gnu/java')
0 files changed, 0 insertions, 0 deletions