Subject: Re: `-ffreestanding'
To: None <firstname.lastname@example.org>
From: Richard Earnshaw <email@example.com>
Date: 07/16/2001 17:54:39
> firstname.lastname@example.org said:
> > > #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?
> Yes... at least for some builtins.
From a quick perusal of the source, I believe that the following library
calls can be safely #defined into their builtin equivalents and that they
will safely fall back. Not that we probably need to support the floating
This list is taken from GCC-3 BTW. We would need to check whether 2.95
was a subset of this.
There may be further calls which are not strictly ANSI (or are C99) which
can also be inlined; but I don't know whether we would need these.