<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Unsigned integer over in std::mt19937 when using 0 as a seed"
href="https://bugs.llvm.org/show_bug.cgi?id=34160">34160</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Unsigned integer over in std::mt19937 when using 0 as a seed
</td>
</tr>
<tr>
<th>Product</th>
<td>libc++
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Macintosh
</td>
</tr>
<tr>
<th>OS</th>
<td>MacOS X
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>All Bugs
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>yaghmour.shafik@gmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org, mclow.lists@gmail.com
</td>
</tr></table>
<p>
<div>
<pre>The following program
#include <random>
int main() {
std::mt19937 instance(0) ;
}
when build using the following command line:
clang++ -std=c++14 -fsanitize=address -fsanitize=undefined,integer
and then run produces the following diagnostic:
random:2312:26: runtime error: unsigned integer overflow: 1812433253 *
1812433254 cannot be represented in type 'unsigned int'
Being unsigned overflow this is not undefined behavior but if this is intended
behavior it would be helpful if it was sanitizer was suppressed, I guess via:
__attribute__((no_sanitize("integer")))</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>