Temporary header file '/tmp/4fQmnO2cDp/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/stdio.h"
  #include "/usr/include/stdint.h"
  #include "/usr/include/bit.h"
  #include "/usr/include/model.h"
  #include "/usr/include/control.h"
  #include "/usr/include/helper.h"
  #include "/usr/include/floorplan.h"
  #include "/usr/include/parts.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;
  _cfg_atom* tmp_add_class_3;
  f_owner_ex* tmp_add_class_4;
  file_handle* tmp_add_class_5;
  flock64* tmp_add_class_6;
  fpga_bits* tmp_add_class_7;
  fpga_config* tmp_add_class_8;
  fpga_config_reg_rw* tmp_add_class_9;
  fpga_device* tmp_add_class_10;
  fpga_model* tmp_add_class_11;
  fpga_net* tmp_add_class_12;
  fpga_tile* tmp_add_class_13;
  fpgadev_bscan* tmp_add_class_14;
  fpgadev_bufgmux* tmp_add_class_15;
  fpgadev_bufio* tmp_add_class_16;
  fpgadev_iob* tmp_add_class_17;
  fpgadev_logic* tmp_add_class_18;
  fpgadev_logic_a2d* tmp_add_class_19;
  hashed_strarray* tmp_add_class_20;
  iovec* tmp_add_class_21;
  net_el* tmp_add_class_22;
  seed_data* tmp_add_class_23;
  statx_timestamp* tmp_add_class_24;
  sw_chain* tmp_add_class_25;
  sw_conns* tmp_add_class_26;
  sw_set* tmp_add_class_27;
  switch_to_rel* tmp_add_class_28;
  switch_to_yx* tmp_add_class_29;
  switch_to_yx_l2* tmp_add_class_30;
  w_net* tmp_add_class_31;
  w_net_i* tmp_add_class_32;
  w_point* tmp_add_class_33;
  w_yx* tmp_add_class_34;
  xc6_pkg_info* tmp_add_class_35;
  xc6_routing_bitpos* tmp_add_class_36;
  xc_die* tmp_add_class_37;
  xc_major_info* tmp_add_class_38;
  xc_type2_info* tmp_add_class_39;

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

In file included from /tmp/4fQmnO2cDp/dump1.h:17:
/usr/include/helper.h:56:16: error: redefinition of ‘struct _cfg_atom’
   56 | typedef struct _cfg_atom
      |                ^~~~~~~~~
In file included from /usr/include/model.h:16,
                 from /tmp/4fQmnO2cDp/dump1.h:15:
/usr/include/helper.h:56:16: note: previous definition of ‘struct _cfg_atom’
   56 | typedef struct _cfg_atom
      |                ^~~~~~~~~
/usr/include/helper.h:62:3: error: conflicting declaration ‘typedef int cfg_atom_t’
   62 | } cfg_atom_t;
      |   ^~~~~~~~~~
/usr/include/helper.h:62:3: note: previous declaration as ‘typedef struct _cfg_atom cfg_atom_t’
   62 | } cfg_atom_t;
      |   ^~~~~~~~~~
/usr/include/helper.h:133:8: error: redefinition of ‘struct hashed_strarray’
  133 | struct hashed_strarray
      |        ^~~~~~~~~~~~~~~
/usr/include/helper.h:133:8: note: previous definition of ‘struct hashed_strarray’
  133 | struct hashed_strarray
      |        ^~~~~~~~~~~~~~~
In file included from /tmp/4fQmnO2cDp/dump1.h:19:
/usr/include/parts.h:41:8: error: redefinition of ‘struct xc_major_info’
   41 | struct xc_major_info
      |        ^~~~~~~~~~~~~
In file included from /usr/include/model.h:17:
/usr/include/parts.h:41:8: note: previous definition of ‘struct xc_major_info’
   41 | struct xc_major_info
      |        ^~~~~~~~~~~~~
/usr/include/parts.h:51:8: error: redefinition of ‘struct xc_type2_info’
   51 | struct xc_type2_info
      |        ^~~~~~~~~~~~~
/usr/include/parts.h:51:8: note: previous definition of ‘struct xc_type2_info’
   51 | struct xc_type2_info
      |        ^~~~~~~~~~~~~
/usr/include/parts.h:79:8: error: redefinition of ‘struct xc_die’
   79 | struct xc_die
      |        ^~~~~~
/usr/include/parts.h:79:8: note: previous definition of ‘struct xc_die’
   79 | struct xc_die
      |        ^~~~~~
/usr/include/parts.h:100:6: error: multiple definition of ‘enum xc6_pkg’
  100 | enum xc6_pkg { TQG144, FTG256, CSG324, FGG484 };
      |      ^~~~~~~
/usr/include/parts.h:100:6: note: previous definition here
  100 | enum xc6_pkg { TQG144, FTG256, CSG324, FGG484 };
      |      ^~~~~~~
/usr/include/parts.h:103:8: error: redefinition of ‘struct xc6_pkg_info’
  103 | struct xc6_pkg_info
      |        ^~~~~~~~~~~~
/usr/include/parts.h:103:8: note: previous definition of ‘struct xc6_pkg_info’
  103 | struct xc6_pkg_info
      |        ^~~~~~~~~~~~
/usr/include/parts.h:214:6: error: multiple definition of ‘enum major_type’
  214 | enum major_type { MAJ_ZERO, MAJ_LEFT, MAJ_RIGHT, MAJ_CENTER,
      |      ^~~~~~~~~~
/usr/include/parts.h:214:6: note: previous definition here
  214 | enum major_type { MAJ_ZERO, MAJ_LEFT, MAJ_RIGHT, MAJ_CENTER,
      |      ^~~~~~~~~~
/usr/include/parts.h:235:8: error: redefinition of ‘struct xc6_routing_bitpos’
  235 | struct xc6_routing_bitpos
      |        ^~~~~~~~~~~~~~~~~~
/usr/include/parts.h:235:8: note: previous definition of ‘struct xc6_routing_bitpos’
  235 | struct xc6_routing_bitpos
      |        ^~~~~~~~~~~~~~~~~~
/tmp/4fQmnO2cDp/dump1.h:57:3: error: ‘xc6_pkg_info’ does not name a type
   57 |   xc6_pkg_info* tmp_add_class_35;
      |   ^~~~~~~~~~~~

