[llvm-bugs] [Bug 51686] New: No exception is thrown when an invalid character range (e.g., [b-a]) is included.
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue Aug 31 01:05:57 PDT 2021
https://bugs.llvm.org/show_bug.cgi?id=51686
Bug ID: 51686
Summary: No exception is thrown when an invalid character range
(e.g., [b-a]) is included.
Product: libc++
Version: 12.0
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Standards Issues
Assignee: unassignedclangbugs at nondot.org
Reporter: w.kensuke at fujitsu.com
CC: llvm-bugs at lists.llvm.org, mclow.lists at gmail.com
---
#include <regex>
#include <cassert>
#include <cstdio>
static bool error_range_thrown(const char *pat)
{
bool result = false;
try {
std::regex re(pat);
} catch (const std::regex_error &ex) {
puts("regex_error");
fflush(stdout);
result = (ex.code() == std::regex_constants::error_range);
}
return result;
}
int main(int, char**)
{
assert(error_range_thrown("([b-a])"));
}
---
This program is created using the regular expression sample described in the
C++ language standard, but it did not throw an exception (as expected).
(e.g., Table 132 in
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf)
I've confirmed that this problem can be reproduced using clang 13.0.0 "[C++]
clang HEAD 13.0.0 (https://github.com/llvm/llvm-project.git
c4ed142e695f14ba5675ec6d12226ee706329a0f)" on Wandbox (https://wandbox.org/).
This code throws the exception on gcc-10.1.0 (or other gcc version).
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210831/04f95d61/attachment.html>
More information about the llvm-bugs
mailing list