Temporary header file '/tmp/D6gdndTJkM/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/safeclib/safe_compile.h" #include "/usr/include/safeclib/safe_config.h" #include "/usr/include/safeclib/safe_lib.h" #include "/usr/include/safeclib/safe_lib_errno.h" #include "/usr/include/safeclib/safe_mem_lib.h" #include "/usr/include/safeclib/safe_str_lib.h" #include "/usr/include/safeclib/safe_types.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; The GCC parameters: gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/D6gdndTJkM/dump1.h" In file included from /tmp/D6gdndTJkM/dump1.h:12: /usr/include/safeclib/safe_compile.h:38:44: error: conflicting declaration ‘void* restrict’ 38 | void *restrict /* ptr */, | ~~~~~~^~~~~~~~ /usr/include/safeclib/safe_compile.h:37:50: note: previous declaration as ‘const char* restrict’ 37 | typedef void (*constraint_handler_t)(const char *restrict /* msg */, | ~~~~~~~~~~~~^~~~~~~~ /usr/include/safeclib/safe_compile.h:39:38: error: ‘errno_t’ has not been declared 39 | errno_t /* error */); | ^~~~~~~