[LLVMdev] [llvm-commits] [PATCH] BlocksRuntime updates for Linux

Edward O'Callaghan eocallaghan at auroraux.org
Tue Sep 22 19:54:27 PDT 2009


Breaks Builds on Solaris and AuroraUX with:

bash-3.2$ make
Scanning dependencies of target BlocksRuntime
[  1%] Building C object BlocksRuntime/CMakeFiles/BlocksRuntime.dir/runtime.c.o
/export/home/edward/lab/llvm/build/compiler-rt/BlocksRuntime/runtime.c:77:2:
error: #error unknown atomic compare-and-swap primitive
/export/home/edward/lab/llvm/build/compiler-rt/BlocksRuntime/runtime.c:
In function 'latching_incr_int':
/export/home/edward/lab/llvm/build/compiler-rt/BlocksRuntime/runtime.c:118:
warning: implicit declaration of function 'OSAtomicCompareAndSwapInt'
/export/home/edward/lab/llvm/build/compiler-rt/BlocksRuntime/runtime.c:
In function '_Block_dump':
/export/home/edward/lab/llvm/build/compiler-rt/BlocksRuntime/runtime.c:664:
warning: format '%#lx' expects type 'long unsigned int', but argument
3 has type 'unsigned int'
/export/home/edward/lab/llvm/build/compiler-rt/BlocksRuntime/runtime.c:672:
warning: format '%#lx' expects type 'long unsigned int', but argument
3 has type 'unsigned int'
/export/home/edward/lab/llvm/build/compiler-rt/BlocksRuntime/runtime.c:673:
warning: format '%#lx' expects type 'long unsigned int', but argument
3 has type 'unsigned int'
/export/home/edward/lab/llvm/build/compiler-rt/BlocksRuntime/runtime.c:
In function '_Block_byref_dump':
/export/home/edward/lab/llvm/build/compiler-rt/BlocksRuntime/runtime.c:688:
warning: format '%#lx' expects type 'long unsigned int', but argument
3 has type 'unsigned int'
/export/home/edward/lab/llvm/build/compiler-rt/BlocksRuntime/runtime.c:689:
warning: format '%#lx' expects type 'long unsigned int', but argument
3 has type 'unsigned int'

Please check these.

Thank you,
Edward O'Callaghan.

2009/9/22 Chris Lattner <clattner at apple.com>:
>
> On Sep 21, 2009, at 9:15 AM, Shantonu Sen wrote:
>
> [forwarding to llvm-commits, which is where i meant to send it the first
> time]
>
> The source changes seem fine to me, and I don't have an opinion about the
> build system changes - I suggest committing them and seeing if anyone
> screams :)
> Thanks Shantonu,
> -Chris
>
> Ping?
> Shantonu Sen
> ssen at apple.com
> Sent from my Mac Pro
> Begin forwarded message:
>
> From: Shantonu Sen <ssen at apple.com>
> Date: September 18, 2009 11:14:13 AM PDT
> To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu>
> Subject: [LLVMdev] [PATCH] BlocksRuntime updates for Linux
>
> 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.
>
> More specifically, the changes:
> 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
> 2) Use cmake checks for CAS builtins, instead of guessing based on GCC
> #defines (which aren't set by clang and llvm-gcc anyway)
> 3) "#pragma mark" isn't supported by FSF gcc, so "#if 0" it out. It should
> still show up in IDEs that support it
> 4) Fix some compiler warnings. GCC 4.3.3 seems super strict about %p.
> function pointers can't be cast to void * either.
> 5) Avoid a warning for apple_versioning.c that "ISO C does not allow empty
> files"
>
> 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.
>
> <blocks-linux.diff>
>
> Shantonu Sen
> ssen at apple.com
>
> Sent from my Mac Pro
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>



-- 
-- 
Edward O'Callaghan
http://www.auroraux.org/
eocallaghan at auroraux dot org




More information about the llvm-dev mailing list