<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>