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<Head, Tail ...>’
   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<Head, Tail ...>’
   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<class ... Args> std::string cupt::internal::format2impl::tupleformat(Tuple<>, Args ...)’
   54 | string tupleformat(Tuple<>, Args... args)
      |        ^~~~~~~~~~~
/usr/include/cupt/format2.hpp:54:8: note: ‘template<class ... Args> 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<class TupleT, class ... Args> std::string cupt::internal::format2impl::tupleformat(TupleT&&, Args ...)’
   77 | string tupleformat(TupleT&& tuple, Args... args)
      |        ^~~~~~~~~~~
/usr/include/cupt/format2.hpp:77:8: note: ‘template<class TupleT, class ... Args> 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<class ... TupleTailT, class ... Args> std::string cupt::internal::format2impl::tupleformat(Tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, TupleTailT ...>, Args ...)’
   83 | string tupleformat(Tuple< string, TupleTailT... > tuple, Args... args)
      |        ^~~~~~~~~~~
/usr/include/cupt/format2.hpp:83:8: note: ‘template<class ... TupleTailT, class ... Args> std::string cupt::internal::format2impl::tupleformat(Tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> 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<class ... Args> void cupt::simulate2(const char*, const Args& ...)’ previously declared here
  165 | void simulate2(const char* format, const Args&... args)
      |      ^~~~~~~~~

