Temporary header file '/tmp/TcxJKR6Ztv/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/stdlib.h" #include "/usr/include/gfarm/error.h" #include "/usr/include/gfarm/gfarm.h" #include "/usr/include/gfarm/gfarm_config.h" #include "/usr/include/gfarm/gfarm_misc.h" #include "/usr/include/gfarm/gfarm_msg_enums.h" #include "/usr/include/gfarm/gfarm_stringlist.h" #include "/usr/include/gfarm/gflog.h" #include "/usr/include/gfarm/gfs.h" #include "/usr/include/gfarm/gfs_glob.h" #include "/usr/include/gfarm/group_info.h" #include "/usr/include/gfarm/host_info.h" #include "/usr/include/gfarm/user_info.h" // add classes gfarm_group_info* tmp_add_class_0; gfarm_group_names* tmp_add_class_1; gfarm_host_info* tmp_add_class_2; gfarm_stringlist* tmp_add_class_3; gfarm_timespec* tmp_add_class_4; gfarm_user_info* tmp_add_class_5; gfs_dirent* tmp_add_class_6; gfs_stat* tmp_add_class_7; gfs_stat_cksum* tmp_add_class_8; The GCC parameters: gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/TcxJKR6Ztv/dump1.h" In file included from /usr/include/gfarm/gfarm.h:11, from /tmp/TcxJKR6Ztv/dump1.h:14: /usr/include/gfarm/error.h:12:6: error: multiple definition of ‘enum gfarm_errcode’ 12 | enum gfarm_errcode { | ^~~~~~~~~~~~~ In file included from /tmp/TcxJKR6Ztv/dump1.h:13: /usr/include/gfarm/error.h:12:6: note: previous definition here 12 | enum gfarm_errcode { | ^~~~~~~~~~~~~ /usr/include/gfarm/error.h:147:13: error: conflicting declaration of ‘const char* gfarm_error_string(gfarm_error_t)’ with ‘C’ linkage 147 | const char *gfarm_error_string(gfarm_error_t); | ^~~~~~~~~~~~~~~~~~ /usr/include/gfarm/error.h:147:13: note: previous declaration with ‘C++’ linkage 147 | const char *gfarm_error_string(gfarm_error_t); | ^~~~~~~~~~~~~~~~~~ /usr/include/gfarm/error.h:148:15: error: conflicting declaration of ‘gfarm_error_t gfarm_errno_to_error(int)’ with ‘C’ linkage 148 | gfarm_error_t gfarm_errno_to_error(int); | ^~~~~~~~~~~~~~~~~~~~ /usr/include/gfarm/error.h:148:15: note: previous declaration with ‘C++’ linkage 148 | gfarm_error_t gfarm_errno_to_error(int); | ^~~~~~~~~~~~~~~~~~~~ /usr/include/gfarm/error.h:151:5: error: conflicting declaration of ‘int gfarm_error_to_errno(gfarm_error_t)’ with ‘C’ linkage 151 | int gfarm_error_to_errno(gfarm_error_t); | ^~~~~~~~~~~~~~~~~~~~ /usr/include/gfarm/error.h:151:5: note: previous declaration with ‘C++’ linkage 151 | int gfarm_error_to_errno(gfarm_error_t); | ^~~~~~~~~~~~~~~~~~~~ In file included from /tmp/TcxJKR6Ztv/dump1.h:18: /usr/include/gfarm/gfarm_stringlist.h:4:16: error: redefinition of ‘struct gfarm_stringlist’ 4 | typedef struct gfarm_stringlist { | ^~~~~~~~~~~~~~~~ In file included from /usr/include/gfarm/gfarm.h:13: /usr/include/gfarm/gfarm_stringlist.h:4:16: note: previous definition of ‘struct gfarm_stringlist’ 4 | typedef struct gfarm_stringlist { | ^~~~~~~~~~~~~~~~ /usr/include/gfarm/gfarm_stringlist.h:7:3: error: conflicting declaration ‘typedef int gfarm_stringlist’ 7 | } gfarm_stringlist; | ^~~~~~~~~~~~~~~~ /usr/include/gfarm/gfarm_stringlist.h:7:3: note: previous declaration as ‘typedef struct gfarm_stringlist gfarm_stringlist’ 7 | } gfarm_stringlist; | ^~~~~~~~~~~~~~~~ In file included from /tmp/TcxJKR6Ztv/dump1.h:20: /usr/include/gfarm/gfs.h:11:8: error: redefinition of ‘struct gfarm_timespec’ 11 | struct gfarm_timespec { | ^~~~~~~~~~~~~~ In file included from /usr/include/gfarm/gfarm.h:18: /usr/include/gfarm/gfs.h:11:8: note: previous definition of ‘struct gfarm_timespec’ 11 | struct gfarm_timespec { | ^~~~~~~~~~~~~~ /usr/include/gfarm/gfs.h:39:8: error: redefinition of ‘struct gfs_stat’ 39 | struct gfs_stat { | ^~~~~~~~ /usr/include/gfarm/gfs.h:39:8: note: previous definition of ‘struct gfs_stat’ 39 | struct gfs_stat { | ^~~~~~~~ /usr/include/gfarm/gfs.h:53:8: error: redefinition of ‘struct gfs_stat_cksum’ 53 | struct gfs_stat_cksum { | ^~~~~~~~~~~~~~ /usr/include/gfarm/gfs.h:53:8: note: previous definition of ‘struct gfs_stat_cksum’ 53 | struct gfs_stat_cksum { | ^~~~~~~~~~~~~~ /usr/include/gfarm/gfs.h:168:8: error: redefinition of ‘struct gfs_dirent’ 168 | struct gfs_dirent { | ^~~~~~~~~~ /usr/include/gfarm/gfs.h:168:8: note: previous definition of ‘struct gfs_dirent’ 168 | struct gfs_dirent { | ^~~~~~~~~~ /usr/include/gfarm/gfs.h:403:19: error: redefinition of ‘const char GFARM_ACL_EA_ACCESS []’ 403 | static const char GFARM_ACL_EA_ACCESS[] = "gfarm.acl_access"; | ^~~~~~~~~~~~~~~~~~~ /usr/include/gfarm/gfs.h:403:19: note: ‘const char GFARM_ACL_EA_ACCESS [17]’ previously defined here 403 | static const char GFARM_ACL_EA_ACCESS[] = "gfarm.acl_access"; | ^~~~~~~~~~~~~~~~~~~ /usr/include/gfarm/gfs.h:404:19: error: redefinition of ‘const char GFARM_ACL_EA_DEFAULT []’ 404 | static const char GFARM_ACL_EA_DEFAULT[] = "gfarm.acl_default"; | ^~~~~~~~~~~~~~~~~~~~ /usr/include/gfarm/gfs.h:404:19: note: ‘const char GFARM_ACL_EA_DEFAULT [18]’ previously defined here 404 | static const char GFARM_ACL_EA_DEFAULT[] = "gfarm.acl_default"; | ^~~~~~~~~~~~~~~~~~~~ In file included from /tmp/TcxJKR6Ztv/dump1.h:21: /usr/include/gfarm/gfs_glob.h:4:3: error: conflicting declaration ‘typedef struct gfs_glob_t gfs_glob_t’ 4 | } gfs_glob_t; | ^~~~~~~~~~ In file included from /usr/include/gfarm/gfarm.h:17: /usr/include/gfarm/gfs_glob.h:4:3: note: previous declaration as ‘typedef struct gfs_glob_t gfs_glob_t’ 4 | } gfs_glob_t; | ^~~~~~~~~~ In file included from /tmp/TcxJKR6Ztv/dump1.h:22: /usr/include/gfarm/group_info.h:1:8: error: redefinition of ‘struct gfarm_group_info’ 1 | struct gfarm_group_info { | ^~~~~~~~~~~~~~~~ In file included from /usr/include/gfarm/gfarm.h:16: /usr/include/gfarm/group_info.h:1:8: note: previous definition of ‘struct gfarm_group_info’ 1 | struct gfarm_group_info { | ^~~~~~~~~~~~~~~~ /usr/include/gfarm/group_info.h:8:8: error: redefinition of ‘struct gfarm_group_names’ 8 | struct gfarm_group_names { | ^~~~~~~~~~~~~~~~~ /usr/include/gfarm/group_info.h:8:8: note: previous definition of ‘struct gfarm_group_names’ 8 | struct gfarm_group_names { | ^~~~~~~~~~~~~~~~~ In file included from /tmp/TcxJKR6Ztv/dump1.h:23: /usr/include/gfarm/host_info.h:6:8: error: redefinition of ‘struct gfarm_host_info’ 6 | struct gfarm_host_info { | ^~~~~~~~~~~~~~~ In file included from /usr/include/gfarm/gfarm.h:14: /usr/include/gfarm/host_info.h:6:8: note: previous definition of ‘struct gfarm_host_info’ 6 | struct gfarm_host_info { | ^~~~~~~~~~~~~~~ In file included from /tmp/TcxJKR6Ztv/dump1.h:24: /usr/include/gfarm/user_info.h:1:8: error: redefinition of ‘struct gfarm_user_info’ 1 | struct gfarm_user_info { | ^~~~~~~~~~~~~~~ In file included from /usr/include/gfarm/gfarm.h:15: /usr/include/gfarm/user_info.h:1:8: note: previous definition of ‘struct gfarm_user_info’ 1 | struct gfarm_user_info { | ^~~~~~~~~~~~~~~ /tmp/TcxJKR6Ztv/dump1.h:34:3: error: ‘gfs_stat’ does not name a type 34 | gfs_stat* tmp_add_class_7; | ^~~~~~~~ /tmp/TcxJKR6Ztv/dump1.h:35:3: error: ‘gfs_stat_cksum’ does not name a type 35 | gfs_stat_cksum* tmp_add_class_8; | ^~~~~~~~~~~~~~