Temporary header file '/tmp/PU5NEsIkSW/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/lua5.1/lua-zip.h" The GCC parameters: gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/PU5NEsIkSW/dump1.h" In file included from /tmp/PU5NEsIkSW/dump1.h:12: /usr/include/lua5.1/lua-zip.h:3:24: error: ‘lua_State’ was not declared in this scope 3 | extern int luaopen_zip(lua_State*); | ^~~~~~~~~ /usr/include/lua5.1/lua-zip.h:3:34: error: expected primary-expression before ‘)’ token 3 | extern int luaopen_zip(lua_State*); | ^