emit: Handle typedefs that are a pointer to typedefs

Before:

  $ pfunct --compile /home/acme/git/build/v5.1-rc4+/kernel/sched/autogroup.o > a.c
  $ gcc -g -c a.c
  a.c:1656:9: error: unknown type name ‘__signalfn_t’
   typedef __signalfn_t * __sighandler_t;
           ^~~~~~~~~~~~
  a.c:1658:9: error: unknown type name ‘__restorefn_t’
   typedef __restorefn_t * __sigrestore_t;
           ^~~~~~~~~~~~~
  $

After:

  $ pfunct --compile /home/acme/git/build/v5.1-rc4+/kernel/sched/autogroup.o > a.c
  $ gcc -g -c a.c
  $ egrep  '__(restore|signal)fn_t' -A10 a.c
  typedef void (__signalfn_t)(int);
  typedef __signalfn_t * __sighandler_t;

  typedef void (__restorefn_t)(void);
  typedef __restorefn_t * __sigrestore_t;

  struct sigaction {
	  __sighandler_t             sa_handler;           /*     0     8 */
	  long unsigned int          sa_flags;             /*     8     8 */
	  __sigrestore_t             sa_restorer;          /*    16     8 */
	  sigset_t                   sa_mask;              /*    24     8 */

	  /* size: 32, cachelines: 1, members: 4 */
	  /* last cacheline: 32 bytes */
  };
  $

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