aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectThread.cpp
diff options
context:
space:
mode:
authorA. Jiang <de34@live.cn>2024-05-22 01:05:51 +0800
committerGitHub <noreply@github.com>2024-05-21 19:05:51 +0200
commit3e15c97fa3812993bdc319827a5c6d867b765ae8 (patch)
tree6bef3557b4c2256766c50b9514f4022322cdccaa /lldb/source/Commands/CommandObjectThread.cpp
parent0eca2655843e1b79e6c65c7239bce8c9a1509568 (diff)
downloadllvm-3e15c97fa3812993bdc319827a5c6d867b765ae8.zip
llvm-3e15c97fa3812993bdc319827a5c6d867b765ae8.tar.gz
llvm-3e15c97fa3812993bdc319827a5c6d867b765ae8.tar.bz2
[libc++] LWG2381: Inconsistency in parsing floating point numbers (#77948)
This PR implements [LWG2381](https://cplusplus.github.io/LWG/issue2381) by rejecting `'i'`, `'I'`, `'n'`, `'N'` in FP parsing, as inf and NaN are intendedly rejected by that LWG issue. The source character array used for parsing is `"0123456789abcdefABCDEFxX+-pPiInN"`, whose first 26 or 28 characters are used for parsing integers or floating-point values respectively. Previously, libc++ used 32 characters, including `'i'`, `'I'`, `'n'`, `'N'`, for FP parsing, which was inconsistent with LWG2381. This PR also replaces magic numbers 26 and 28 (formerly 32) with named constants. Drive-by change: when the first character (possibly after the leading `'+'` or `'-'`) is not a decimal digit but an acceptable character (e.g., `'p'` or `'e'`), the character is not accumulated now (per Stage 2 in [facet.num.get.virtuals]/3). #65168 may be rendered invalid, see https://github.com/llvm/llvm-project/pull/65168#issuecomment-1868533342. Apple back-deployment targets remain broken, likely due to dylib. XFAIL is marked in related tests. --------- Co-authored-by: Mark de Wever <koraq@xs4all.nl>
Diffstat (limited to 'lldb/source/Commands/CommandObjectThread.cpp')
0 files changed, 0 insertions, 0 deletions