This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
dealing with built-in functions
- From: Florian Gleixner <flo at redflo dot de>
- To: gcc-help at gcc dot gnu dot org
- Date: Tue, 12 Jun 2007 23:55:31 +0200
- Subject: dealing with built-in functions
Hi,
i try to fugure out what is the "best way". The following code throws a
warning:
#include <stdio.h>
#include <math.h>
int main(void)
{
double x=1.7;
printf("%f %f",x,round(x));
}
gcc r.c -lm
r.c: In function 'main':
r.c:9: warning: incompatible implicit declaration of built-in function
'round'
I can avoid this by using the compiler switch -fno-builtin. But as far
as i understand, the built in functions are optimized. So if i use
-fno-builtin, i lose some cycles?
I can also put at line 3:
extern double round(double);
and then i don't need the -fno-builtin. But what does that mean? Which
round() do i use then? Can i avoid the warning if i use other types of
variables - i don't know how the built-in round() is defined.
Other thoughts?
Thank you!
Flo