This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: warning: incompatible implicit declaration of built-in function 'malloc'


Ian Lance Taylor wrote:
Robert Dell <dellr@mac.com> writes:

can somebody please explain why I'm getting this warning?
warning: incompatible implicit declaration of built-in function 'malloc'

char *returnval = 0;
long outputBytes = 0;
... outputBytes gets changed and tested to ensure it's valid (non zero) ...

the offending line is here.
returnval = (char *) malloc(outputBytes + 2);

You are calling the malloc function, but you have not declared it. That means it gets the type "extern int malloc();". Since you are compiling in hosted mode (the default), gcc knows that that declaration is incorrect, and it is warning about that (the correct declaration is "extern void *malloc(size_t);").

Typically this is fixed by adding

#include <stdlib.h>

to the start of your file.

Ian

see? i thought it would be something simple, that fixed it. thanks.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]