Temporary header file '/tmp/FIQD5_pGHo/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 // add includes #include "/usr/include/maa.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; hsh_Stats* tmp_add_class_3; mem_ObjectStats* tmp_add_class_4; mem_StringStats* tmp_add_class_5; set_Stats* tmp_add_class_6; src_Stats* tmp_add_class_7; str_Stats* tmp_add_class_8; The GCC parameters: gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/FIQD5_pGHo/dump1.h" In file included from /tmp/FIQD5_pGHo/dump1.h:11: /usr/include/maa.h:122:4: error: conflicting declaration ‘typedef struct hsh_Stats* hsh_Stats’ 122 | } *hsh_Stats; | ^~~~~~~~~ /usr/include/maa.h:111:16: note: previous declaration as ‘struct hsh_Stats’ 111 | typedef struct hsh_Stats { | ^~~~~~~~~ /usr/include/maa.h:193:4: error: conflicting declaration ‘typedef struct set_Stats* set_Stats’ 193 | } *set_Stats; | ^~~~~~~~~ /usr/include/maa.h:182:16: note: previous declaration as ‘struct set_Stats’ 182 | typedef struct set_Stats{ | ^~~~~~~~~ /usr/include/maa.h:332:4: error: conflicting declaration ‘typedef struct mem_StringStats* mem_StringStats’ 332 | } *mem_StringStats; | ^~~~~~~~~~~~~~~ /usr/include/maa.h:329:16: note: previous declaration as ‘struct mem_StringStats’ 329 | typedef struct mem_StringStats { | ^~~~~~~~~~~~~~~ /usr/include/maa.h:339:4: error: conflicting declaration ‘typedef struct mem_ObjectStats* mem_ObjectStats’ 339 | } *mem_ObjectStats; | ^~~~~~~~~~~~~~~ /usr/include/maa.h:334:16: note: previous declaration as ‘struct mem_ObjectStats’ 334 | typedef struct mem_ObjectStats { | ^~~~~~~~~~~~~~~ /usr/include/maa.h:373:4: error: conflicting declaration ‘typedef struct str_Stats* str_Stats’ 373 | } *str_Stats; | ^~~~~~~~~ /usr/include/maa.h:367:16: note: previous declaration as ‘struct str_Stats’ 367 | typedef struct str_Stats { | ^~~~~~~~~ /usr/include/maa.h:558:4: error: conflicting declaration ‘typedef struct src_Stats* src_Stats’ 558 | } *src_Stats; | ^~~~~~~~~ /usr/include/maa.h:551:16: note: previous declaration as ‘struct src_Stats’ 551 | typedef struct src_Stats { | ^~~~~~~~~