Temporary header file '/tmp/6HRglVfV_d/dump1.h' with the following content will be compiled to create GCC translation unit dump: // add defines #define __STDC_VERSION__ 201710L #define _TIME_BITS 64 #define _FILE_OFFSET_BITS 64 #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/libmsnumpress/MSNumpress.hpp" // add namespaces namespace ms{typedef int tmp_add_type_1;} ms::tmp_add_type_1 tmp_add_func_1(){return 0;}; namespace ms{namespace numpress{typedef int tmp_add_type_2;}} ms::numpress::tmp_add_type_2 tmp_add_func_2(){return 0;}; namespace ms{namespace numpress{namespace MSNumpress{typedef int tmp_add_type_3;}}} ms::numpress::MSNumpress::tmp_add_type_3 tmp_add_func_3(){return 0;}; The GCC parameters: gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/6HRglVfV_d/dump1.h"