File tree Expand file tree Collapse file tree 1 file changed +69
-0
lines changed
Expand file tree Collapse file tree 1 file changed +69
-0
lines changed Original file line number Diff line number Diff line change 1+ <?xml version =' 1.0' encoding =' utf-8' standalone =' no' ?>
2+ <!DOCTYPE issue SYSTEM "lwg-issue.dtd">
3+
4+ <issue num =" 4375" status =" New" >
5+ <title >`std::simd::bit_ceil` should not be `noexcept`</title >
6+ <section >
7+ <sref ref =" [simd.bit]" />
8+ </section >
9+ <submitter >Matthias Kretz</submitter >
10+ <date >29 Aug 2025</date >
11+ <priority >99</priority >
12+
13+ <discussion >
14+ <p >
15+ `std::simd::bit_ceil` is declared 'noexcept' in <sref ref =" [simd.syn]" /> and
16+ <sref ref =" [simd.bit]" />. But
17+ </p >
18+ <ol >
19+ <li ><p >`std::bit_ceil` is not 'noexcept' (<sref ref =" [bit.syn]" /> and <sref ref =" [bit.pow.two]" />) and</p ></li >
20+ <li ><p >`std::simd::bit_ceil` has a precondition.</p ></li >
21+ </ol >
22+ </discussion >
23+
24+ <resolution >
25+ <p >
26+ This wording is relative to <paper num =" N5014" />.
27+ </p >
28+
29+ <ol >
30+
31+ <li ><p >Modify <sref ref =" [simd.syn]" />, header <tt >< simd> </tt > synopsis, as indicated:</p >
32+
33+ <blockquote >
34+ <pre >
35+ namespace std {
36+ [… ]
37+ // <i ><sref ref =" [simd.bit]" />, bit manipulation</i >
38+ template< <i >simd-vec-type</i > V> constexpr V byteswap(const V& v) noexcept;
39+ template< <i >simd-vec-type</i > V> constexpr V bit_ceil(const V& v) <del >noexcept</del >;
40+ template< <i >simd-vec-type</i > V> constexpr V bit_floor(const V& v) noexcept;
41+ [… ]
42+ }
43+ </pre >
44+ </blockquote >
45+
46+ </li >
47+
48+ <li ><p >Modify <sref ref =" [simd.bit]" /> as indicated:</p >
49+
50+ <blockquote >
51+ <pre >
52+ template< <i >simd-vec-type</i > V> constexpr V bit_ceil(const V& v) <del >noexcept</del >;
53+ </pre >
54+ <blockquote >
55+ <p >
56+ -3- <i >Constraints</i >: The type `V::value_type` is an unsigned integer type (<sref ref =" [basic.fundamental]" />).
57+ <p />
58+ -4- <i >Preconditions</i >: [… ]
59+ <p />
60+ [… ]
61+ </p >
62+ </blockquote >
63+ </blockquote >
64+
65+ </li >
66+
67+ </ol ></resolution >
68+
69+ </issue >
You can’t perform that action at this time.
0 commit comments