Temporary header file '/tmp/nekp9YFYlu/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/publib/alloc.h" #include "/usr/include/publib/base64.h" #include "/usr/include/publib/bitarr.h" #include "/usr/include/publib/cmp.h" #include "/usr/include/publib/errormsg.h" #include "/usr/include/publib/files.h" #include "/usr/include/publib/fname.h" #include "/usr/include/publib/hash.h" #include "/usr/include/publib/iset.h" #include "/usr/include/publib/lockfile.h" #include "/usr/include/publib/log.h" #include "/usr/include/publib/main.h" #include "/usr/include/publib/nntp.h" #include "/usr/include/publib/priq.h" #include "/usr/include/publib/queue.h" #include "/usr/include/publib/sbuf.h" #include "/usr/include/publib/stack.h" #include "/usr/include/publib/strutil.h" #include "/usr/include/publib/tbuf.h" #include "/usr/include/publib.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; dynarr* tmp_add_class_3; nntp_article* tmp_add_class_4; tbuf_stat* tmp_add_class_5; The GCC parameters: gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/nekp9YFYlu/dump1.h" In file included from /usr/include/publib.h:43, from /tmp/nekp9YFYlu/dump1.h:31: /usr/include/publib/lockfile.h:37:5: error: conflicting declaration of ‘int lockfile_create(const char*)’ with ‘C’ linkage 37 | int lockfile_create(const char *); | ^~~~~~~~~~~~~~~ In file included from /tmp/nekp9YFYlu/dump1.h:21: /usr/include/publib/lockfile.h:37:5: note: previous declaration with ‘C++’ linkage 37 | int lockfile_create(const char *); | ^~~~~~~~~~~~~~~ /usr/include/publib/lockfile.h:38:5: error: conflicting declaration of ‘int lockfile_remove(const char*)’ with ‘C’ linkage 38 | int lockfile_remove(const char *); | ^~~~~~~~~~~~~~~ /usr/include/publib/lockfile.h:38:5: note: previous declaration with ‘C++’ linkage 38 | int lockfile_remove(const char *); | ^~~~~~~~~~~~~~~