<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 - DynamicLibraryTests fails on Windows when building with rpmalloc"
   href="https://bugs.llvm.org/show_bug.cgi?id=47881">47881</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>DynamicLibraryTests fails on Windows when building with rpmalloc
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </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>new bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>hans@chromium.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>alexandre.ganea@ubisoft.com, htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS=llvm
-DLLVM_USE_CRT_RELEASE=MT -DLLVM_INTEGRATED_CRT_ALLOC=\src\rpmalloc ..\llvm &&
ninja DynamicLibraryTests.exe &&
unittests\Support\DynamicLibrary\DynamicLibraryTests.exe && echo OKAY || echo
FAIL

Fails


cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS=llvm
-DLLVM_USE_CRT_RELEASE=MT ..\llvm && ninja DynamicLibraryTests.exe &&
unittests\Support\DynamicLibrary\DynamicLibraryTests.exe && echo OKAY || echo
FAIL

Succeeds.


(Note that the tests themselves appear to succeed, but the binary doesn't exit
cleanly.)


Looking at DynamicLibraryTest and PipSqueek, it kind of makes sense. Objects
are getting passed across the main exe and the PipSqueek dll, and when building
with rpmalloc, those will have different heaps.

(Interestingly, lit didn't notice until
<a href="https://github.com/llvm/llvm-project/commit/338dd138ea4a70b52ab48e0c8aa38ec152b3569a">https://github.com/llvm/llvm-project/commit/338dd138ea4a70b52ab48e0c8aa38ec152b3569a</a>
and I'm still not entirely sure why.)</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>