gcc abusive builtins ?

phi gcc phi.gcc@gmail.com
Thu Nov 30 13:36:00 GMT 2017


Hi All,

Still learning gcc, I discover a scary feature of gcc, I hope I
misunderstand something.

NC$ cat c.c
#include <stdio.h>
int exp2(){return(7);}
int main()
{ printf("%d\n");
}

NC$ cc -c c.c
c.c:2:5: warning: conflicting types for built-in function 'exp2'
 int exp2(){return(7);}
     ^~~~

It's all sounds like gcc got its own idea about what I am trying to
do, I don't include math.h on purpose, yet I got some magic builtins ?

Is there a pragma I I could stuff in my own .h where exp2() is
exported, I can't temper the Makefile.

So far I ended up with a
#define exp2 my_exp2

So at least the workaround is located in only one file, but now the
habit of using exp2() as a BP target is impaired :(

Any pointers about #unbuiltin what gcc has builtined would be appreciated :)

Cheers,
Phi



More information about the Gcc-help mailing list