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

Robert Dell dellr@mac.com
Thu Jan 27 13:18:00 GMT 2011


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.



More information about the Gcc-help mailing list