Subject: Re: `-ffreestanding'
To: None <Richard.Earnshaw@arm.com>
From: Jason R Thorpe <thorpej@zembu.com>
List: tech-kern
Date: 07/16/2001 08:49:00
On Mon, Jul 16, 2001 at 11:15:56AM +0100, Richard Earnshaw wrote:

 > Printf isn't a builtin (at least, not in that sense).  So adding -fbuiltin 
 > will not re-enable the format warning checker.

We actually want the printf format checker, but we don't want it to
emit calls to puts() when it sees printf with nothing but a string
constant.

 > Another alternative is to have a header file (say k-builtin.h) which 
 > #defines the things we want builtin to their __builtin_foo equivalents.  
 > This would then provide the functionality we require.
 > 
 > Eg
 > 
 > #define memcpy(x,y,z) __builtin_memcpy(x,y,z)

So, how does this work in GCC?  If you expressly use a __builtin_*() version
of a function, will it still emit a call to e.g. memcpy() if it can't emit
an inline optimized block move?

-- 
        -- Jason R. Thorpe <thorpej@zembu.com>