Temporary header file '/tmp/x6QBS1fJze/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/dt/common.h"
  #include "/usr/include/dt/dt.h"
  #include "/usr/include/dt/list.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;
  device_d* tmp_add_class_3;
  device_node* tmp_add_class_4;
  erase_info_user* tmp_add_class_5;
  erase_info_user64* tmp_add_class_6;
  f_owner_ex* tmp_add_class_7;
  file_handle* tmp_add_class_8;
  flock64* tmp_add_class_9;
  hlist_head* tmp_add_class_10;
  hlist_node* tmp_add_class_11;
  iovec* tmp_add_class_12;
  list_head* tmp_add_class_13;
  mtd_ecc_stats* tmp_add_class_14;
  mtd_info_user* tmp_add_class_15;
  mtd_oob_buf* tmp_add_class_16;
  mtd_oob_buf64* tmp_add_class_17;
  mtd_read_req* tmp_add_class_18;
  mtd_read_req_ecc_stats* tmp_add_class_19;
  mtd_write_req* tmp_add_class_20;
  nand_ecclayout_user* tmp_add_class_21;
  nand_oobfree* tmp_add_class_22;
  nand_oobinfo* tmp_add_class_23;
  of_device_id* tmp_add_class_24;
  of_phandle_args* tmp_add_class_25;
  of_reserve_map* tmp_add_class_26;
  otp_info* tmp_add_class_27;
  property* tmp_add_class_28;
  region_info_user* tmp_add_class_29;
  statx_timestamp* tmp_add_class_30;
  termio* tmp_add_class_31;
  winsize* tmp_add_class_32;

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

In file included from /usr/include/dt/dt.h:5,
                 from /tmp/x6QBS1fJze/dump1.h:13:
/usr/include/dt/list.h:42:49: error: expected ‘,’ or ‘...’ before ‘new’
   42 | static inline void __list_add(struct list_head *new,
      |                                                 ^~~
/usr/include/dt/list.h: In function ‘void __list_add(list_head*)’:
/usr/include/dt/list.h:46:9: error: ‘next’ was not declared in this scope
   46 |         next->prev = new;
      |         ^~~~
/usr/include/dt/list.h:46:25: error: expected type-specifier before ‘;’ token
   46 |         next->prev = new;
      |                         ^
/usr/include/dt/list.h:47:12: error: expected type-specifier before ‘->’ token
   47 |         new->next = next;
      |            ^~
/usr/include/dt/list.h:48:12: error: expected type-specifier before ‘->’ token
   48 |         new->prev = prev;
      |            ^~
/usr/include/dt/list.h:49:9: error: ‘prev’ was not declared in this scope
   49 |         prev->next = new;
      |         ^~~~
/usr/include/dt/list.h:49:25: error: expected type-specifier before ‘;’ token
   49 |         prev->next = new;
      |                         ^
/usr/include/dt/list.h: At global scope:
/usr/include/dt/list.h:66:47: error: expected ‘,’ or ‘...’ before ‘new’
   66 | static inline void list_add(struct list_head *new, struct list_head *head)
      |                                               ^~~
/usr/include/dt/list.h: In function ‘void list_add(list_head*)’:
/usr/include/dt/list.h:68:23: error: expected type-specifier before ‘,’ token
   68 |         __list_add(new, head, head->next);
      |                       ^
/usr/include/dt/list.h:68:25: error: ‘head’ was not declared in this scope; did you mean ‘read’?
   68 |         __list_add(new, head, head->next);
      |                         ^~~~
      |                         read
/usr/include/dt/list.h: At global scope:
/usr/include/dt/list.h:83:52: error: expected ‘,’ or ‘...’ before ‘new’
   83 | static inline void list_add_tail(struct list_head *new, struct list_head *head)
      |                                                    ^~~
/usr/include/dt/list.h: In function ‘void list_add_tail(list_head*)’:
/usr/include/dt/list.h:85:23: error: expected type-specifier before ‘,’ token
   85 |         __list_add(new, head->prev, head);
      |                       ^
/usr/include/dt/list.h:85:25: error: ‘head’ was not declared in this scope; did you mean ‘read’?
   85 |         __list_add(new, head->prev, head);
      |                         ^~~~
      |                         read
/usr/include/dt/list.h: At global scope:
/usr/include/dt/list.h:126:51: error: expected ‘,’ or ‘...’ before ‘new’
  126 |                                 struct list_head *new)
      |                                                   ^~~
/usr/include/dt/list.h: In function ‘void list_replace(list_head*, list_head*)’:
/usr/include/dt/list.h:128:12: error: expected type-specifier before ‘->’ token
  128 |         new->next = old->next;
      |            ^~
/usr/include/dt/list.h:129:12: error: expected type-specifier before ‘->’ token
  129 |         new->next->prev = new;
      |            ^~
/usr/include/dt/list.h:130:12: error: expected type-specifier before ‘->’ token
  130 |         new->prev = old->prev;
      |            ^~
/usr/include/dt/list.h:131:12: error: expected type-specifier before ‘->’ token
  131 |         new->prev->next = new;
      |            ^~
/usr/include/dt/list.h: At global scope:
/usr/include/dt/list.h:135:59: error: expected ‘,’ or ‘...’ before ‘new’
  135 |                                         struct list_head *new)
      |                                                           ^~~
/usr/include/dt/list.h: In function ‘void list_replace_init(list_head*, list_head*)’:
/usr/include/dt/list.h:137:30: error: expected type-specifier before ‘)’ token
  137 |         list_replace(old, new);
      |                              ^
/usr/include/dt/list.h: In function ‘void list_move(list_head*, list_head*)’:
/usr/include/dt/list.h:159:17: error: too many arguments to function ‘void list_add(list_head*)’
  159 |         list_add(list, head);
      |         ~~~~~~~~^~~~~~~~~~~~
/usr/include/dt/list.h:66:20: note: declared here
   66 | static inline void list_add(struct list_head *new, struct list_head *head)
      |                    ^~~~~~~~
/usr/include/dt/list.h: In function ‘void list_move_tail(list_head*, list_head*)’:
/usr/include/dt/list.h:171:22: error: too many arguments to function ‘void list_add_tail(list_head*)’
  171 |         list_add_tail(list, head);
      |         ~~~~~~~~~~~~~^~~~~~~~~~~~
/usr/include/dt/list.h:83:20: note: declared here
   83 | static inline void list_add_tail(struct list_head *new, struct list_head *head)
      |                    ^~~~~~~~~~~~~
/usr/include/dt/list.h: At global scope:
/usr/include/dt/list.h:463:52: error: expected ‘,’ or ‘...’ before ‘new’
  463 | static inline void list_add_sort(struct list_head *new, struct list_head *head,
      |                                                    ^~~
/usr/include/dt/list.h: In function ‘void list_add_sort(list_head*)’:
/usr/include/dt/list.h:466:42: error: ‘head’ was not declared in this scope; did you mean ‘read’?
  466 |         struct list_head *pos, *insert = head;
      |                                          ^~~~
      |                                          read
/usr/include/dt/list.h:469:37: error: expected type-specifier before ‘)’ token
  469 |                 if (compare(pos, new) < 0)
      |                                     ^
/usr/include/dt/list.h:469:21: error: ‘compare’ was not declared in this scope
  469 |                 if (compare(pos, new) < 0)
      |                     ^~~~~~~
/usr/include/dt/list.h:475:26: error: expected type-specifier before ‘,’ token
  475 |         list_add_tail(new, insert);
      |                          ^

