pfunct: Emit definitions for pointers inside pointer to function args

When using --compile we were missing emitting the types for function
arguments in function pointers arguments, i.e.:

Before:

  /home/acme/git/build/v5.1-rc4+/kernel/events/core.o
  /tmp/fullcircle.CZeLch.c:3770:141: warning: ‘struct perf_output_handle’ declared inside parameter list will not be visible outside of this definition or declaration
   inline int __perf_event_output(struct perf_event * event, struct perf_sample_data * data, struct pt_regs * regs, int (*output_begin)(struct perf_output_handle *, struct perf_event *, unsigned int))
                                                                                                                                               ^~~~~~~~~~~~~~~~~~

After:

  $ pfunct --compile /home/acme/git/build/v5.1-rc4+/kernel/events/core.o > a.c
  $ gcc -g -c a.c
  $ grep -w perf_output_handle -m1 -A5 a.c
  struct perf_output_handle;

  inline int __perf_event_output(struct perf_event * event, struct perf_sample_data * data, struct pt_regs * regs, int (*output_begin)(struct perf_output_handle *, struct perf_event *, unsigned int))
  {
	  return 0;
  }
  $

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
1 file changed