This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: function attributes on function pointers
>> is there a way to use function attributes on function pointers?
>>
>> my program uses a function table for a plugin interface, which includes a
>> function to allocate memory:
>>
>> void* (*myAlloc)(Host * myHost, size_t size);
>>
>> is it possible to use the malloc attribute for this to help the optimizer? i
>> was trying something like:
>> void* __attribute__ ((malloc))(*myAlloc)(Host * myHost, size_t size);
>>
>> ... but the attribute will be ignored ...
>
> In general, you can use function attributes on function pointers like
> this:
>
> void * (* __attribute__ ((malloc)) my_malloc) (size_t) = malloc;
>
> Unfortunately, this is only supported for some attributes. It will only
> work if the attribute can be attached to a function type rather than to
> a specific function declaration. The malloc attribute is not
> implemented in that way, so this does not work for the malloc attribute.
i see ...
> I don't think it would be very difficult to implement this if you are
> interested in trying.
... i am not really familiar with the gcc codebase, so i wouldn't know where to
start looking (unless you can give me a quick overview about the parts that is
should touch)
thanks, tim