Temporary header file '/tmp/2sdgpiomIK/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/lfs.h" #include "/usr/include/lua5.2/lfs.h" #include "/usr/include/lua5.3/lfs.h" #include "/usr/include/lua5.4/lfs.h" The GCC parameters: gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/2sdgpiomIK/dump1.h" In file included from /tmp/2sdgpiomIK/dump1.h:12: /usr/include/lua5.1/lfs.h:31:30: error: ‘lua_State’ was not declared in this scope 31 | LFS_EXPORT int luaopen_lfs(lua_State * L); | ^~~~~~~~~ /usr/include/lua5.1/lfs.h:31:42: error: ‘L’ was not declared in this scope 31 | LFS_EXPORT int luaopen_lfs(lua_State * L); | ^ In file included from /tmp/2sdgpiomIK/dump1.h:13: /usr/include/lua5.2/lfs.h:31:18: error: redefinition of ‘int luaopen_lfs’ 31 | LFS_EXPORT int luaopen_lfs(lua_State * L); | ^~~~~~~~~~~ /usr/include/lua5.1/lfs.h:31:18: note: ‘int luaopen_lfs’ previously defined here 31 | LFS_EXPORT int luaopen_lfs(lua_State * L); | ^~~~~~~~~~~ /usr/include/lua5.2/lfs.h:31:30: error: ‘lua_State’ was not declared in this scope 31 | LFS_EXPORT int luaopen_lfs(lua_State * L); | ^~~~~~~~~ /usr/include/lua5.2/lfs.h:31:42: error: ‘L’ was not declared in this scope 31 | LFS_EXPORT int luaopen_lfs(lua_State * L); | ^ In file included from /tmp/2sdgpiomIK/dump1.h:14: /usr/include/lua5.3/lfs.h:31:18: error: redefinition of ‘int luaopen_lfs’ 31 | LFS_EXPORT int luaopen_lfs(lua_State * L); | ^~~~~~~~~~~ /usr/include/lua5.1/lfs.h:31:18: note: ‘int luaopen_lfs’ previously defined here 31 | LFS_EXPORT int luaopen_lfs(lua_State * L); | ^~~~~~~~~~~ /usr/include/lua5.3/lfs.h:31:30: error: ‘lua_State’ was not declared in this scope 31 | LFS_EXPORT int luaopen_lfs(lua_State * L); | ^~~~~~~~~ /usr/include/lua5.3/lfs.h:31:42: error: ‘L’ was not declared in this scope 31 | LFS_EXPORT int luaopen_lfs(lua_State * L); | ^ In file included from /tmp/2sdgpiomIK/dump1.h:15: /usr/include/lua5.4/lfs.h:31:18: error: redefinition of ‘int luaopen_lfs’ 31 | LFS_EXPORT int luaopen_lfs(lua_State * L); | ^~~~~~~~~~~ /usr/include/lua5.1/lfs.h:31:18: note: ‘int luaopen_lfs’ previously defined here 31 | LFS_EXPORT int luaopen_lfs(lua_State * L); | ^~~~~~~~~~~ /usr/include/lua5.4/lfs.h:31:30: error: ‘lua_State’ was not declared in this scope 31 | LFS_EXPORT int luaopen_lfs(lua_State * L); | ^~~~~~~~~ /usr/include/lua5.4/lfs.h:31:42: error: ‘L’ was not declared in this scope 31 | LFS_EXPORT int luaopen_lfs(lua_State * L); | ^