Temporary header file '/tmp/C2NDWNsHBY/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/libtwin/twin_linux_mouse.h"
  #include "/usr/include/libtwin/twin_png.h"
  #include "/usr/include/libtwin/twin_x11.h"
  #include "/usr/include/libtwin/twin.h"
  #include "/usr/include/libtwin/twin_linux_touch.h"
  #include "/usr/include/libtwin/twin_fbdev.h"
  #include "/usr/include/libtwin/twin_linux_js.h"
  #include "/usr/include/libtwin/twin_jpeg.h"

  // add classes
  _XComposeStatus* tmp_add_class_0;
  _XEvent* tmp_add_class_1;
  _XExtData* tmp_add_class_2;
  _XIMHotKeyTrigger* tmp_add_class_3;
  _XIMHotKeyTriggers* tmp_add_class_4;
  _XIMPreeditCaretCallbackStruct* tmp_add_class_5;
  _XIMPreeditDrawCallbackStruct* tmp_add_class_6;
  _XIMPreeditStateNotifyCallbackStruct* tmp_add_class_7;
  _XIMStatusDrawCallbackStruct* tmp_add_class_8;
  _XIMStringConversionCallbackStruct* tmp_add_class_9;
  _XIMStringConversionText* tmp_add_class_10;
  _XIMText* tmp_add_class_11;
  _XImage* tmp_add_class_12;
  _twin_box* tmp_add_class_13;
  _twin_button* tmp_add_class_14;
  _twin_charmap* tmp_add_class_15;
  _twin_event* tmp_add_class_16;
  _twin_event_queue* tmp_add_class_17;
  _twin_fbdev* tmp_add_class_18;
  _twin_font* tmp_add_class_19;
  _twin_label* tmp_add_class_20;
  _twin_linux_mouse* tmp_add_class_21;
  _twin_linux_touch* tmp_add_class_22;
  _twin_matrix* tmp_add_class_23;
  _twin_operand* tmp_add_class_24;
  _twin_pixmap* tmp_add_class_25;
  _twin_point* tmp_add_class_26;
  _twin_pointer* tmp_add_class_27;
  _twin_rect* tmp_add_class_28;
  _twin_screen* tmp_add_class_29;
  _twin_scroll* tmp_add_class_30;
  _twin_state* tmp_add_class_31;
  _twin_text_metrics* tmp_add_class_32;
  _twin_toplevel* tmp_add_class_33;
  _twin_widget* tmp_add_class_34;
  _twin_widget_layout* tmp_add_class_35;
  _twin_window* tmp_add_class_36;
  _twin_x11* tmp_add_class_37;
  fb_bitfield* tmp_add_class_38;
  fb_cmap* tmp_add_class_39;
  fb_con2fbmap* tmp_add_class_40;
  fb_copyarea* tmp_add_class_41;
  fb_cursor* tmp_add_class_42;
  fb_fillrect* tmp_add_class_43;
  fb_fix_screeninfo* tmp_add_class_44;
  fb_image* tmp_add_class_45;
  fb_var_screeninfo* tmp_add_class_46;
  fb_vblank* tmp_add_class_47;
  fbcurpos* tmp_add_class_48;
  i2c_msg* tmp_add_class_49;
  i2c_smbus_data* tmp_add_class_50;
  termios* tmp_add_class_51;

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

In file included from /usr/include/libtwin/twin_linux_mouse.h:24,
                 from /tmp/C2NDWNsHBY/dump1.h:12:
/usr/include/libtwin/twin.h:647:33: error: declaration of ‘operator,’ as parameter
  647 |                 twin_operator_t operator,
      |                                 ^~~~~~~~
/usr/include/libtwin/twin.h:647:42: error: expected ‘)’ before ‘twin_coord_t’
  647 |                 twin_operator_t operator,
      |                                          ^
      |                                          )
  648 |                 twin_coord_t    width,
      |                 ~~~~~~~~~~~~              
/usr/include/libtwin/twin.h:638:16: note: to match this ‘(’
  638 | twin_composite (twin_pixmap_t   *dst,
      |                ^
/usr/include/libtwin/twin.h:648:17: error: expected initializer before ‘twin_coord_t’
  648 |                 twin_coord_t    width,
      |                 ^~~~~~~~~~~~
/usr/include/libtwin/twin.h:654:29: error: declaration of ‘operator,’ as parameter
  654 |            twin_operator_t  operator,
      |                             ^~~~~~~~
/usr/include/libtwin/twin.h:654:38: error: expected ‘)’ before ‘twin_coord_t’
  654 |            twin_operator_t  operator,
      |                                      ^
      |                                      )
  655 |            twin_coord_t     left,
      |            ~~~~~~~~~~~~               
/usr/include/libtwin/twin.h:652:11: note: to match this ‘(’
  652 | twin_fill (twin_pixmap_t    *dst,
      |           ^
/usr/include/libtwin/twin.h:655:12: error: expected initializer before ‘twin_coord_t’
  655 |            twin_coord_t     left,
      |            ^~~~~~~~~~~~
/usr/include/libtwin/twin.h:939:40: error: expected ‘)’ before ‘operator’
  939 |                      twin_operator_t    operator);
      |                                     ^~~~~~~~~~~~
      |                                        )
/usr/include/libtwin/twin.h:934:21: note: to match this ‘(’
  934 | twin_composite_path (twin_pixmap_t      *dst,
      |                     ^
/usr/include/libtwin/twin.h:939:41: error: expected initializer before ‘operator’
  939 |                      twin_operator_t    operator);
      |                                         ^~~~~~~~
/usr/include/libtwin/twin.h:952:40: error: expected ‘)’ before ‘operator’
  952 |                        twin_operator_t  operator);
      |                                       ^~~~~~~~~~
      |                                        )
/usr/include/libtwin/twin.h:946:23: note: to match this ‘(’
  946 | twin_composite_stroke (twin_pixmap_t    *dst,
      |                       ^
/usr/include/libtwin/twin.h:952:41: error: expected initializer before ‘operator’
  952 |                        twin_operator_t  operator);
      |                                         ^~~~~~~~

