aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2021-12-16 13:39:09 +0000
committerJonathan Wakely <jwakely@redhat.com>2022-01-05 13:47:00 +0000
commit260a5334ee963f66745d0cb98316ee831737b22d (patch)
tree48a67f6bea04924bdc63091cc22cd54cde7ab5a5 /gcc
parentb1e701dc4adb11a5ed5f45c2fb31ba4689b718d0 (diff)
downloadgcc-260a5334ee963f66745d0cb98316ee831737b22d.zip
gcc-260a5334ee963f66745d0cb98316ee831737b22d.tar.gz
gcc-260a5334ee963f66745d0cb98316ee831737b22d.tar.bz2
libstdc++: Improve std::regex_error::what() strings
This replaces the vague "regex_error" for std::regex_error::what() with a string that corresponds to the error_type enum passed to the constructor. This allows us to remove many of the strings passed to __throw_regex_error, because the default string is at least as good. When a string argument to __throw_regex_error is kept it should add some context-specific detail absent from the default string. Also remove full stops (periods) from the end of those strings, to make it easier to include them in logs and other output. I've left them starting with an upper-case letter, which is consistent with strerror output for (at least) Glibc, Solaris and BSD. I'm ambivalent whether that's the right choice. This also adds the missing noreturn attribute to __throw_regex_error. libstdc++-v3/ChangeLog: * include/bits/regex_compiler.tcc: Adjust all calls to __throw_regex_error. * include/bits/regex_error.h (__throw_regex_error): Add noreturn attribute. * include/bits/regex_scanner.tcc: Likewise. * src/c++11/regex.cc (desc): New helper function. (regex_error::regex_error(error_type)): Use desc to get a string corresponding to the error code.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions