Temporary header file '/tmp/bAoiGt6dQG/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/curlpp/Easy.hpp"
  #include "/usr/include/curlpp/Exception.hpp"
  #include "/usr/include/curlpp/Form.hpp"
  #include "/usr/include/curlpp/Info.hpp"
  #include "/usr/include/curlpp/Infos.hpp"
  #include "/usr/include/curlpp/Multi.hpp"
  #include "/usr/include/curlpp/Option.hpp"
  #include "/usr/include/curlpp/OptionBase.hpp"
  #include "/usr/include/curlpp/Options.hpp"
  #include "/usr/include/curlpp/Types.hpp"
  #include "/usr/include/curlpp/cURLpp.hpp"
  #include "/usr/include/curlpp/internal/CurlHandle.hpp"
  #include "/usr/include/curlpp/internal/OptionContainer.hpp"
  #include "/usr/include/curlpp/internal/OptionContainerType.hpp"
  #include "/usr/include/curlpp/internal/OptionList.hpp"
  #include "/usr/include/curlpp/internal/OptionSetter.hpp"
  #include "/usr/include/curlpp/internal/SList.hpp"
  #include "/usr/include/utilspp/EmptyType.hpp"
  #include "/usr/include/utilspp/NonCopyable.hpp"
  #include "/usr/include/utilspp/NullType.hpp"
  #include "/usr/include/utilspp/SmartPtr.hpp"
  #include "/usr/include/utilspp/ThreadingFactoryMutex.hpp"
  #include "/usr/include/utilspp/ThreadingSingle.hpp"
  #include "/usr/include/utilspp/TypeList.hpp"
  #include "/usr/include/utilspp/TypeTrait.hpp"
  #include "/usr/include/utilspp/clone_ptr.hpp"

  // add namespaces
  namespace curlpp{typedef int tmp_add_type_1;}
  curlpp::tmp_add_type_1 tmp_add_func_1(){return 0;};
  namespace curlpp{namespace FormParts{typedef int tmp_add_type_2;}}
  curlpp::FormParts::tmp_add_type_2 tmp_add_func_2(){return 0;};
  namespace curlpp{namespace infos{typedef int tmp_add_type_3;}}
  curlpp::infos::tmp_add_type_3 tmp_add_func_3(){return 0;};
  namespace curlpp{namespace internal{typedef int tmp_add_type_4;}}
  curlpp::internal::tmp_add_type_4 tmp_add_func_4(){return 0;};
  namespace curlpp{namespace options{typedef int tmp_add_type_5;}}
  curlpp::options::tmp_add_type_5 tmp_add_func_5(){return 0;};
  namespace curlpp{namespace types{typedef int tmp_add_type_6;}}
  curlpp::types::tmp_add_type_6 tmp_add_func_6(){return 0;};
  namespace utilspp{typedef int tmp_add_type_7;}
  utilspp::tmp_add_type_7 tmp_add_func_7(){return 0;};
  namespace utilspp{namespace tl{typedef int tmp_add_type_8;}}
  utilspp::tl::tmp_add_type_8 tmp_add_func_8(){return 0;};

  // add classes
  CURLMsg* tmp_add_class_0;
  _G_fpos64_t* tmp_add_class_1;
  _G_fpos_t* tmp_add_class_2;
  _IO_cookie_io_functions_t* tmp_add_class_3;
  cmsghdr* tmp_add_class_4;
  curl_blob* tmp_add_class_5;
  curl_certinfo* tmp_add_class_6;
  curl_easyoption* tmp_add_class_7;
  curl_fileinfo* tmp_add_class_8;
  curl_forms* tmp_add_class_9;
  curl_header* tmp_add_class_10;
  curl_hstsentry* tmp_add_class_11;
  curl_httppost* tmp_add_class_12;
  curl_index* tmp_add_class_13;
  curl_khkey* tmp_add_class_14;
  curl_slist* tmp_add_class_15;
  curl_sockaddr* tmp_add_class_16;
  curl_ssl_backend* tmp_add_class_17;
  curl_tlssessioninfo* tmp_add_class_18;
  curl_version_info_data* tmp_add_class_19;
  curl_waitfd* tmp_add_class_20;
  curl_ws_frame* tmp_add_class_21;
  iovec* tmp_add_class_22;
  itimerval* tmp_add_class_23;
  linger* tmp_add_class_24;
  mmsghdr* tmp_add_class_25;
  msghdr* tmp_add_class_26;
  osockaddr* tmp_add_class_27;
  sockaddr* tmp_add_class_28;
  sockaddr_storage* tmp_add_class_29;
  ucred* tmp_add_class_30;

The GCC parameters:
  gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/bAoiGt6dQG/dump1.h"

In file included from /tmp/bAoiGt6dQG/dump1.h:32:
/usr/include/utilspp/SmartPtr.hpp:69:58: error: missing template arguments after ‘FastCount<...auto...>’
   69 |   template <typename ContentType, typename CountPolicy = FastCount>
      |                                                          ^~~~~~~~~
/usr/include/utilspp/SmartPtr.hpp:36:9: note: ‘template<class Type> class utilspp::FastCount’ declared here
   36 |   class FastCount
      |         ^~~~~~~~~
/usr/include/utilspp/SmartPtr.hpp:109:65: error: missing template arguments after ‘CountingBody<...auto...>’
  109 |   template <typename ContentType, typename CountingBodyPolicy = CountingBody>
      |                                                                 ^~~~~~~~~~~~
/usr/include/utilspp/SmartPtr.hpp:70:9: note: ‘template<class ContentType, class CountPolicy> class utilspp::CountingBody’ declared here
   70 |   class CountingBody : public utilspp::NonCopyable
      |         ^~~~~~~~~~~~
/usr/include/utilspp/SmartPtr.hpp: In constructor ‘utilspp::SharedPtr<ContentType, CountingBodyPolicy>::SharedPtr()’:
/usr/include/utilspp/SmartPtr.hpp:113:32: error: ‘CountingPolicy’ does not name a type; did you mean ‘CountingBodyPolicy’?
  113 |     SharedPtr() : mContent(new CountingPolicy<ContentType>(NULL))
      |                                ^~~~~~~~~~~~~~
      |                                CountingBodyPolicy
/usr/include/utilspp/SmartPtr.hpp:113:58: error: expected primary-expression before ‘>’ token
  113 |     SharedPtr() : mContent(new CountingPolicy<ContentType>(NULL))
      |                                                          ^
/usr/include/utilspp/SmartPtr.hpp: In constructor ‘utilspp::SharedPtr<ContentType, CountingBodyPolicy>::SharedPtr(ContentType*)’:
/usr/include/utilspp/SmartPtr.hpp:116:62: error: ‘CountingBodyPolicy’ is not a template
  116 |     explicit SharedPtr(ContentType * content) : mContent(new CountingBodyPolicy<ContentType>(content))
      |                                                              ^~~~~~~~~~~~~~~~~~
/usr/include/utilspp/SmartPtr.hpp: In member function ‘utilspp::SharedPtr<ContentType, CountingBodyPolicy>& utilspp::SharedPtr<ContentType, CountingBodyPolicy>::operator=(ContentType*)’:
/usr/include/utilspp/SmartPtr.hpp:142:22: error: ‘CountingBodyPolicy’ is not a template
  142 |       mContent = new CountingBodyPolicy<ContentType>(content);
      |                      ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/utilspp/ThreadingFactoryMutex.hpp:43,
                 from /tmp/bAoiGt6dQG/dump1.h:33:
/usr/include/utilspp/ThreadingFactoryMutex.inl: At global scope:
/usr/include/utilspp/ThreadingFactoryMutex.inl:29:10: error: ‘ThreadingSingle’ in namespace ‘utilspp’ does not name a template type
   29 | utilspp::ThreadingSingle<T>::lock::lock()
      |          ^~~~~~~~~~~~~~~
/usr/include/utilspp/ThreadingFactoryMutex.inl:34:10: error: ‘ThreadingSingle’ in namespace ‘utilspp’ does not name a template type
   34 | utilspp::ThreadingSingle<T>::lock::lock(const T &)
      |          ^~~~~~~~~~~~~~~

