Middle-End function/ function pointer generation

Philip Herron redbrain@gcc.gnu.org
Mon Jul 23 23:54:00 GMT 2012


On 21 July 2012 20:28, Johannes Ziegenbalg
<johannes.ziegenbalg@googlemail.com> wrote:
> Hi guys,
>
> I hope I'm right here. Currently I'm developing a GCC plugin and therefore I
> need to generate some code which should looks like:
>
> typedef void (bar_fn_t)(uint32_t *);
>
> static bar_fn_t *
> resolve_bar(void)
> {
>     return bar;
> }
>
> The function "bar" is defined in the same file. The typedef is not a big
> deal I think, it's something like: build_pointer_type(TREE_TYPE
> (current_function_decl))
> But, I stuck at this function generation, especially the return part.
>
> Thanks for your help!!
>
> Regards
> Johannes Z.
>

Would you not be doing something like build_function_type then and
just use that as the type i think that can work.

I have code in my front-end where i use build_fold_add_expr (fndecl)
to pass function pointers about and i think i am just using the
function type as the type if it needs assigned to something but not
100% sure.

--Phil



More information about the Gcc-help mailing list