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: 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


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