<div class="gmail_quote">On Wed, Apr 11, 2012 at 11:34 AM, David Chisnall <span dir="ltr"><<a href="mailto:csdavec@swan.ac.uk">csdavec@swan.ac.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 11 Apr 2012, at 19:30, Richard Smith wrote:<br>
<br>
> Hi David,<br>
><br>
> Clang now crashes in the libc++ atomics tests. Cutdown testcase:<br></div></blockquote><div><br></div><div>Sorry, I should have said it asserts:</div><div><br></div><div><div>clang-3.1: src/lib/VMCore/Instructions.cpp:1056: void llvm::StoreInst::AssertOK(): Assertion `getOperand(0)->getType() == cast<PointerType>(getOperand(1)->getType())->getElementType() && "Ptr must be a pointer to Val type!"' failed.</div>
</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
><br>
> _Atomic(bool) b = true;<br>
><br>
> I suspect there's an i1 / i8 confusion somewhere.<br>
<br>
</div>What platform?  On FreeBSD/x86-64, I have:<br></blockquote><div><br></div><div>On Linux/x86-64. I see:</div><div><br></div><div><div>****************************************************</div><div>Results for /home/richardsmith/space/libcxx/test/atomics:</div>
<div>using clang version 3.1 (trunk)</div><div>Target: x86_64-unknown-linux-gnu</div><div>Thread model: posix</div><div>with -std=c++0x -stdlib=libc++</div><div>----------------------------------------------------</div><div>
sections without tests   : 0</div><div>sections with failures   : 2</div><div>sections without failures: 12</div><div>                       +   ----</div><div>total number of sections : 14</div><div>----------------------------------------------------</div>
<div>number of tests failed   : 2</div><div>number of tests passed   : 50</div><div>                       +   ----</div><div>total number of tests    : 52</div><div>****************************************************</div>
</div><div><br></div><div>The failing tests are test/atomics/atomics.flag/init.pass.cpp and test/atomics/atomics.types.generic/bool.pass.cpp.</div></div>