I think so but currently we disable only builtins marked with 'f' // f -> this is a libc/libm function without the '__builtin_' prefix. It can // be followed by ':headername:' to state which header this function // comes from.
-ffreestanding will also disable builtins but many test using -ffreestanding are using target specific intrinsics builtins. Not sure how to handle this. On Tue, Jun 18, 2013 at 8:10 PM, John McCall <[email protected]> wrote: > On Jun 9, 2013, at 5:15 PM, Francois Pichet <[email protected]> wrote: > > 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? > > > Should we even be recognizing this as a builtin under -fno-builtin? > > John. >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
