Temporary header file '/tmp/OSzmPXW8C0/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/cupt/cache/binarypackage.hpp" #include "/usr/include/cupt/cache/binaryversion.hpp" #include "/usr/include/cupt/cache/package.hpp" #include "/usr/include/cupt/cache/relation.hpp" #include "/usr/include/cupt/cache/releaseinfo.hpp" #include "/usr/include/cupt/cache/sourcepackage.hpp" #include "/usr/include/cupt/cache/sourceversion.hpp" #include "/usr/include/cupt/cache/version.hpp" #include "/usr/include/cupt/cache.hpp" #include "/usr/include/cupt/common.hpp" #include "/usr/include/cupt/config.hpp" #include "/usr/include/cupt/download/manager.hpp" #include "/usr/include/cupt/download/method.hpp" #include "/usr/include/cupt/download/methodfactory.hpp" #include "/usr/include/cupt/download/progress.hpp" #include "/usr/include/cupt/download/progresses/console.hpp" #include "/usr/include/cupt/download/uri.hpp" #include "/usr/include/cupt/file.hpp" #include "/usr/include/cupt/format2.hpp" #include "/usr/include/cupt/fwd.hpp" #include "/usr/include/cupt/hashsums.hpp" #include "/usr/include/cupt/packagename.hpp" #include "/usr/include/cupt/range.hpp" #include "/usr/include/cupt/stringrange.hpp" #include "/usr/include/cupt/system/resolver.hpp" #include "/usr/include/cupt/system/resolvers/native.hpp" #include "/usr/include/cupt/system/snapshots.hpp" #include "/usr/include/cupt/system/state.hpp" #include "/usr/include/cupt/system/worker.hpp" #include "/usr/include/cupt/versionstring.hpp" // add namespaces namespace cupt{typedef int tmp_add_type_1;} cupt::tmp_add_type_1 tmp_add_func_1(){return 0;}; namespace cupt{namespace cache{typedef int tmp_add_type_2;}} cupt::cache::tmp_add_type_2 tmp_add_func_2(){return 0;}; namespace cupt{namespace download{typedef int tmp_add_type_3;}} cupt::download::tmp_add_type_3 tmp_add_func_3(){return 0;}; namespace cupt{namespace internal{typedef int tmp_add_type_4;}} cupt::internal::tmp_add_type_4 tmp_add_func_4(){return 0;}; namespace cupt{namespace internal{namespace format2impl{typedef int tmp_add_type_5;}}} cupt::internal::format2impl::tmp_add_type_5 tmp_add_func_5(){return 0;}; namespace cupt{namespace system{typedef int tmp_add_type_6;}} cupt::system::tmp_add_type_6 tmp_add_func_6(){return 0;}; // 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/OSzmPXW8C0/dump1.h" In file included from /tmp/OSzmPXW8C0/dump1.h:30: /usr/include/cupt/format2.hpp:39:8: error: redefinition of ‘struct cupt::internal::format2impl::Tuple’ 39 | struct Tuple< Head, Tail... > | ^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/cupt/common.hpp:95, from /usr/include/cupt/cache/version.hpp:27, from /usr/include/cupt/cache/package.hpp:23, from /usr/include/cupt/cache/binarypackage.hpp:24, from /tmp/OSzmPXW8C0/dump1.h:12: /usr/include/cupt/format2.hpp:39:8: note: previous definition of ‘struct cupt::internal::format2impl::Tuple’ 39 | struct Tuple< Head, Tail... > | ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/cupt/format2.hpp:50:8: error: redefinition of ‘struct cupt::internal::format2impl::Tuple<>’ 50 | struct Tuple<> | ^~~~~~~ /usr/include/cupt/format2.hpp:50:8: note: previous definition of ‘struct cupt::internal::format2impl::Tuple<>’ 50 | struct Tuple<> | ^~~~~~~ /usr/include/cupt/format2.hpp:54:8: error: redefinition of ‘template std::string cupt::internal::format2impl::tupleformat(Tuple<>, Args ...)’ 54 | string tupleformat(Tuple<>, Args... args) | ^~~~~~~~~~~ /usr/include/cupt/format2.hpp:54:8: note: ‘template std::string cupt::internal::format2impl::tupleformat(Tuple<>, Args ...)’ previously declared here 54 | string tupleformat(Tuple<>, Args... args) | ^~~~~~~~~~~ /usr/include/cupt/format2.hpp:77:8: error: redefinition of ‘template std::string cupt::internal::format2impl::tupleformat(TupleT&&, Args ...)’ 77 | string tupleformat(TupleT&& tuple, Args... args) | ^~~~~~~~~~~ /usr/include/cupt/format2.hpp:77:8: note: ‘template std::string cupt::internal::format2impl::tupleformat(TupleT&&, Args ...)’ previously declared here 77 | string tupleformat(TupleT&& tuple, Args... args) | ^~~~~~~~~~~ /usr/include/cupt/format2.hpp:83:8: error: redefinition of ‘template std::string cupt::internal::format2impl::tupleformat(Tuple, std::allocator >, TupleTailT ...>, Args ...)’ 83 | string tupleformat(Tuple< string, TupleTailT... > tuple, Args... args) | ^~~~~~~~~~~ /usr/include/cupt/format2.hpp:83:8: note: ‘template std::string cupt::internal::format2impl::tupleformat(Tuple, std::allocator >, TupleTailT ...>, Args ...)’ previously declared here 83 | string tupleformat(Tuple< string, TupleTailT... > tuple, Args... args) | ^~~~~~~~~~~ /usr/include/cupt/format2.hpp:94:8: error: redefinition of ‘template std::string cupt::format2(const char*, const Args& ...)’ 94 | string format2(const char* format, const Args&... args) | ^~~~~~~ /usr/include/cupt/format2.hpp:94:8: note: ‘template std::string cupt::format2(const char*, const Args& ...)’ previously declared here 94 | string format2(const char* format, const Args&... args) | ^~~~~~~ /usr/include/cupt/format2.hpp:101:8: error: redefinition of ‘template std::string cupt::format2(const std::string&, const Args& ...)’ 101 | string format2(const string& format, const Args&... args) | ^~~~~~~ /usr/include/cupt/format2.hpp:101:8: note: ‘template std::string cupt::format2(const std::string&, const Args& ...)’ previously declared here 101 | string format2(const string& format, const Args&... args) | ^~~~~~~ /usr/include/cupt/format2.hpp:107:8: error: redefinition of ‘template std::string cupt::format2e(const char*, const Args& ...)’ 107 | string format2e(const char* format, const Args&... args) | ^~~~~~~~ /usr/include/cupt/format2.hpp:107:8: note: ‘template std::string cupt::format2e(const char*, const Args& ...)’ previously declared here 107 | string format2e(const char* format, const Args&... args) | ^~~~~~~~ /usr/include/cupt/format2.hpp:117:8: error: redefinition of ‘template std::string cupt::format2e(const std::string&, const Args& ...)’ 117 | string format2e(const string& format, const Args&... args) | ^~~~~~~~ /usr/include/cupt/format2.hpp:117:8: note: ‘template std::string cupt::format2e(const std::string&, const Args& ...)’ previously declared here 117 | string format2e(const string& format, const Args&... args) | ^~~~~~~~ /usr/include/cupt/format2.hpp:125:19: error: redefinition of ‘template void cupt::fatal2(const std::string&, const Args& ...)’ 125 | [[noreturn]] void fatal2(const string& format, const Args&... args) | ^~~~~~ /usr/include/cupt/format2.hpp:125:19: note: ‘template void cupt::fatal2(const std::string&, const Args& ...)’ previously declared here 125 | [[noreturn]] void fatal2(const string& format, const Args&... args) | ^~~~~~ /usr/include/cupt/format2.hpp:133:19: error: redefinition of ‘template void cupt::fatal2i(const char*, const Args& ...)’ 133 | [[noreturn]] void fatal2i(const char* format, const Args&... args) | ^~~~~~~ /usr/include/cupt/format2.hpp:133:19: note: ‘template void cupt::fatal2i(const char*, const Args& ...)’ previously declared here 133 | [[noreturn]] void fatal2i(const char* format, const Args&... args) | ^~~~~~~ /usr/include/cupt/format2.hpp:139:19: error: redefinition of ‘template void cupt::fatal2e(const std::string&, const Args& ...)’ 139 | [[noreturn]] void fatal2e(const string& format, const Args&... args) | ^~~~~~~ /usr/include/cupt/format2.hpp:139:19: note: ‘template void cupt::fatal2e(const std::string&, const Args& ...)’ previously declared here 139 | [[noreturn]] void fatal2e(const string& format, const Args&... args) | ^~~~~~~ /usr/include/cupt/format2.hpp:147:6: error: redefinition of ‘template void cupt::warn2(const std::string&, const Args& ...)’ 147 | void warn2(const string& format, const Args&... args) | ^~~~~ /usr/include/cupt/format2.hpp:147:6: note: ‘template void cupt::warn2(const std::string&, const Args& ...)’ previously declared here 147 | void warn2(const string& format, const Args&... args) | ^~~~~ /usr/include/cupt/format2.hpp:153:6: error: redefinition of ‘template void cupt::warn2e(const std::string&, const Args& ...)’ 153 | void warn2e(const string& format, const Args&... args) | ^~~~~~ /usr/include/cupt/format2.hpp:153:6: note: ‘template void cupt::warn2e(const std::string&, const Args& ...)’ previously declared here 153 | void warn2e(const string& format, const Args&... args) | ^~~~~~ /usr/include/cupt/format2.hpp:159:6: error: redefinition of ‘template void cupt::debug2(const char*, const Args& ...)’ 159 | void debug2(const char* format, const Args&... args) | ^~~~~~ /usr/include/cupt/format2.hpp:159:6: note: ‘template void cupt::debug2(const char*, const Args& ...)’ previously declared here 159 | void debug2(const char* format, const Args&... args) | ^~~~~~ /usr/include/cupt/format2.hpp:165:6: error: redefinition of ‘template void cupt::simulate2(const char*, const Args& ...)’ 165 | void simulate2(const char* format, const Args&... args) | ^~~~~~~~~ /usr/include/cupt/format2.hpp:165:6: note: ‘template void cupt::simulate2(const char*, const Args& ...)’ previously declared here 165 | void simulate2(const char* format, const Args&... args) | ^~~~~~~~~