<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>[forwarding to llvm-commits, which is where i meant to send it the first time]</div><div><br></div><div>Ping?</div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div>Shantonu Sen</div><div><a href="mailto:ssen@apple.com">ssen@apple.com</a></div><div><br class="webkit-block-placeholder"></div><div>Sent from my Mac Pro</div></span>
</div>
<div><br><div>Begin forwarded message:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>From: </b></span><span style="font-family:'Helvetica'; font-size:medium;">Shantonu Sen <<a href="mailto:ssen@apple.com">ssen@apple.com</a>><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>Date: </b></span><span style="font-family:'Helvetica'; font-size:medium;">September 18, 2009 11:14:13 AM PDT<br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>To: </b></span><span style="font-family:'Helvetica'; font-size:medium;">LLVM Developers Mailing List <<a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a>><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>Subject: </b></span><span style="font-family:'Helvetica'; font-size:medium;"><b>[LLVMdev] [PATCH] BlocksRuntime updates for Linux</b><br></span></div><br><div>The attached diff cleans up the BlocksRuntime/ directory of compiler-rt for better portability, eliminates compiler warnings, and adds support to the cmake build to install the results.<br><br>More specifically, the changes:<br>1) Remove cmake-specific #define usage from the exported Block.h/Block_private.h headers, since clients won't know what to set. These are moved into runtime.c as appropriate<br>2) Use cmake checks for CAS builtins, instead of guessing based on GCC #defines (which aren't set by clang and llvm-gcc anyway)<br>3) "#pragma mark" isn't supported by FSF gcc, so "#if 0" it out. It should still show up in IDEs that support it<br>4) Fix some compiler warnings. GCC 4.3.3 seems super strict about %p. function pointers can't be cast to void * either.<br>5) Avoid a warning for apple_versioning.c that "ISO C does not allow empty files"<br><br>Tested on Ubuntu Linux 9.04 with clang and llvm-gcc and -fblocks to define and copy some blocks (and invoke them, obviously). Also tested on Mac OS X 10.6 and linking against -lBlocksRuntime ahead of -lSystem.<br><br></div></blockquote></div></body></html>