[PATCH] Allow builtin definition with -fno-builtin

Francois Pichet pichet2000 at gmail.com
Sun Jun 9 17:15:40 PDT 2013


Hi, I would like to propose this patch to makes it possible to compile any
builtin if -fno-builtin is passed.

Here is the problem I am trying to get around.

I am working on a out-of-tree target where atomic operations are expanded
to function calls.
for example:
  setOperationAction(ISD::ATOMIC_SWAP,  MVT::i32, Expand);


The backend will replace some atomic operations when compiling libc++ with
function calls. Now if I try to actually compile the function calls with
clang I'll get errors like:
       definition of builtin function '__sync_lock_test_and_set_4'

Just as if I was trying to compile a file similar to
http://www.opensource.apple.com/source/Libc/Libc-583/arm/sys/gcc_atomic.c with
clang.

Any objection? Or any possible workaround?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130609/c0921891/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: allow-built-in-definition.patch
Type: application/octet-stream
Size: 1083 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130609/c0921891/attachment.obj>


More information about the cfe-commits mailing list