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 | ^~~~~~~~~ /usr/include/utilspp/SmartPtr.hpp:36:9: note: ‘template class utilspp::FastCount’ declared here 36 | class FastCount | ^~~~~~~~~ /usr/include/utilspp/SmartPtr.hpp:109:65: error: missing template arguments after ‘CountingBody<...auto...>’ 109 | template | ^~~~~~~~~~~~ /usr/include/utilspp/SmartPtr.hpp:70:9: note: ‘template class utilspp::CountingBody’ declared here 70 | class CountingBody : public utilspp::NonCopyable | ^~~~~~~~~~~~ /usr/include/utilspp/SmartPtr.hpp: In constructor ‘utilspp::SharedPtr::SharedPtr()’: /usr/include/utilspp/SmartPtr.hpp:113:32: error: ‘CountingPolicy’ does not name a type; did you mean ‘CountingBodyPolicy’? 113 | SharedPtr() : mContent(new CountingPolicy(NULL)) | ^~~~~~~~~~~~~~ | CountingBodyPolicy /usr/include/utilspp/SmartPtr.hpp:113:58: error: expected primary-expression before ‘>’ token 113 | SharedPtr() : mContent(new CountingPolicy(NULL)) | ^ /usr/include/utilspp/SmartPtr.hpp: In constructor ‘utilspp::SharedPtr::SharedPtr(ContentType*)’: /usr/include/utilspp/SmartPtr.hpp:116:62: error: ‘CountingBodyPolicy’ is not a template 116 | explicit SharedPtr(ContentType * content) : mContent(new CountingBodyPolicy(content)) | ^~~~~~~~~~~~~~~~~~ /usr/include/utilspp/SmartPtr.hpp: In member function ‘utilspp::SharedPtr& utilspp::SharedPtr::operator=(ContentType*)’: /usr/include/utilspp/SmartPtr.hpp:142:22: error: ‘CountingBodyPolicy’ is not a template 142 | mContent = new CountingBodyPolicy(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::lock::lock() | ^~~~~~~~~~~~~~~ /usr/include/utilspp/ThreadingFactoryMutex.inl:34:10: error: ‘ThreadingSingle’ in namespace ‘utilspp’ does not name a template type 34 | utilspp::ThreadingSingle::lock::lock(const T &) | ^~~~~~~~~~~~~~~