Temporary header file '/tmp/mFj93vyJTD/dump1.h' with the following content will be compiled to create GCC translation unit dump:

  // add defines
  #define __STDC_VERSION__ 201710L
#define _GXX_NULLPTR_T
#define CLUTTER_ENABLE_COMPOSITOR_API 1
#define _REGEX_NELTS(n)
#define _Atomic
#define PACKED
#define getaddrinfo_a(a,b,c,d)

  // add includes
  #include "/usr/include/string.h"
  #include "/usr/include/stdint.h"
  #include "/usr/include/foxeye/conversion.h"
  #include "/usr/include/foxeye/direct.h"
  #include "/usr/include/foxeye/foxeye.h"
  #include "/usr/include/foxeye/init.h"
  #include "/usr/include/foxeye/inlines.h"
  #include "/usr/include/foxeye/list.h"
  #include "/usr/include/foxeye/modules.h"
  #include "/usr/include/foxeye/protos.h"
  #include "/usr/include/foxeye/sheduler.h"
  #include "/usr/include/foxeye/socket.h"
  #include "/usr/include/foxeye/wtmp.h"

  // add classes
  _G_fpos64_t* tmp_add_class_0;
  _G_fpos_t* tmp_add_class_1;
  _IO_cookie_io_functions_t* tmp_add_class_2;
  _if_t* tmp_add_class_3;
  binding_t* tmp_add_class_4;
  cmsghdr* tmp_add_class_5;
  iovec* tmp_add_class_6;
  linger* tmp_add_class_7;
  mmsghdr* tmp_add_class_8;
  msghdr* tmp_add_class_9;
  osockaddr* tmp_add_class_10;
  peer_t* tmp_add_class_11;
  req_t* tmp_add_class_12;
  sockaddr* tmp_add_class_13;
  sockaddr_storage* tmp_add_class_14;
  statx_timestamp* tmp_add_class_15;
  ucontext_t* tmp_add_class_16;
  ucred* tmp_add_class_17;
  wtmp_t* tmp_add_class_18;

The GCC parameters:
  gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/mFj93vyJTD/dump1.h"

In file included from /tmp/mFj93vyJTD/dump1.h:15:
/usr/include/foxeye/direct.h:42:3: error: ‘INTERFACE’ does not name a type
   42 |   INTERFACE *iface;                     /* main interface of this session */
      |   ^~~~~~~~~
/usr/include/foxeye/direct.h:43:51: error: ‘userflag’ has not been declared
   43 |   void (*parse) (struct peer_t *, char *, char *, userflag, userflag, int, int,
      |                                                   ^~~~~~~~
/usr/include/foxeye/direct.h:43:61: error: ‘userflag’ has not been declared
   43 |   void (*parse) (struct peer_t *, char *, char *, userflag, userflag, int, int,
      |                                                             ^~~~~~~~
/usr/include/foxeye/direct.h:51:3: error: ‘userflag’ does not name a type
   51 |   userflag uf;                          /* global+direct flags */
      |   ^~~~~~~~
/usr/include/foxeye/direct.h:52:3: error: ‘idx_t’ does not name a type; did you mean ‘id_t’?
   52 |   idx_t socket;                         /* what socket we have messages to */
      |   ^~~~~
      |   id_t
/usr/include/foxeye/direct.h:61:50: error: ‘userflag’ has not been declared
   61 | void Dcc_Parse (struct peer_t *, char *, char *, userflag, userflag, int, int,
      |                                                  ^~~~~~~~
/usr/include/foxeye/direct.h:61:60: error: ‘userflag’ has not been declared
   61 | void Dcc_Parse (struct peer_t *, char *, char *, userflag, userflag, int, int,
      |                                                            ^~~~~~~~
/usr/include/foxeye/direct.h:66:48: error: ‘idx_t’ has not been declared
   66 |                  void (*) (pthread_t, void **, idx_t *),
      |                                                ^~~~~
/usr/include/foxeye/direct.h:69:62: error: ‘idx_t’ has not been declared
   69 | int Connect_Host (const char *, unsigned short, pthread_t *, idx_t *,
      |                                                              ^~~~~
/usr/include/foxeye/direct.h:78:47: error: ‘idx_t’ has not been declared
   78 | ssize_t Connchain_Put (struct connchain_i **, idx_t, const char *, size_t *)
      |                                               ^~~~~
/usr/include/foxeye/direct.h:80:47: error: ‘idx_t’ has not been declared
   80 | ssize_t Connchain_Get (struct connchain_i **, idx_t, char *, size_t)
      |                                               ^~~~~
In file included from /tmp/mFj93vyJTD/dump1.h:16:
/usr/include/foxeye/foxeye.h:185:25: error: ‘MB_LEN_MAX’ was not declared in this scope
  185 | #define NAMEMAX         MB_LEN_MAX*LNAMELEN /* single name max width */
      |                         ^~~~~~~~~~
/usr/include/foxeye/foxeye.h:187:27: note: in expansion of macro ‘NAMEMAX’
  187 | #define IFNAMEMAX       2*NAMEMAX+1 /* interface name length */
      |                           ^~~~~~~
/usr/include/foxeye/foxeye.h:286:20: note: in expansion of macro ‘IFNAMEMAX’
  286 |   unsigned char to[IFNAMEMAX+1]; /* mask for request filtering */
      |                    ^~~~~~~~~
/usr/include/foxeye/foxeye.h:67:1: note: ‘MB_LEN_MAX’ is defined in header ‘<climits>’; did you forget to ‘#include <climits>’?
   66 | #include <signal.h>
  +++ |+#include <climits>
   67 | 
In file included from /tmp/mFj93vyJTD/dump1.h:18:
/usr/include/foxeye/inlines.h: In function ‘const char* expand_path(char*, const char*, size_t)’:
/usr/include/foxeye/inlines.h:161:30: error: ‘getenv’ was not declared in this scope
  161 |   snprintf (buf, s, "%s/%s", getenv ("HOME"), &str[2]);
      |                              ^~~~~~
/usr/include/foxeye/inlines.h:1:1: note: ‘getenv’ is defined in header ‘<cstdlib>’; did you forget to ‘#include <cstdlib>’?
  +++ |+#include <cstdlib>
    1 | /*

