Temporary header file '/tmp/EyTDXlpyd0/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 #ifdef __cplusplus // C17 compat layer #define _Alignof(type) alignof(type) #endif #define getaddrinfo_a(a,b,c,d) // add includes #include "/usr/include/features.h" #include "/usr/include/rbd/features.h" #include "/usr/include/rbd/librbd.h" #include "/usr/include/rbd/librbd.hpp" // add namespaces namespace ceph{typedef int tmp_add_type_1;} ceph::tmp_add_type_1 tmp_add_func_1(){return 0;}; namespace ceph{namespace buffer{typedef int tmp_add_type_2;}} ceph::buffer::tmp_add_type_2 tmp_add_func_2(){return 0;}; namespace librados{typedef int tmp_add_type_3;} librados::tmp_add_type_3 tmp_add_func_3(){return 0;}; namespace libradosstriper{typedef int tmp_add_type_4;} libradosstriper::tmp_add_type_4 tmp_add_func_4(){return 0;}; namespace librbd{typedef int tmp_add_type_5;} librbd::tmp_add_type_5 tmp_add_func_5(){return 0;}; namespace neorados{typedef int tmp_add_type_6;} neorados::tmp_add_type_6 tmp_add_func_6(){return 0;}; namespace ceph{namespace buffer{namespace v15_2_0{typedef int tmp_add_type_7;}}} ceph::buffer::v15_2_0::tmp_add_type_7 tmp_add_func_7(){return 0;}; namespace librados{namespace v14_2_0{typedef int tmp_add_type_8;}} librados::v14_2_0::tmp_add_type_8 tmp_add_func_8(){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; cmsghdr* tmp_add_class_3; group_filter* tmp_add_class_4; group_req* tmp_add_class_5; group_source_req* tmp_add_class_6; in6_addr* tmp_add_class_7; in6_pktinfo* tmp_add_class_8; in_addr* tmp_add_class_9; in_pktinfo* tmp_add_class_10; iovec* tmp_add_class_11; ip6_mtuinfo* tmp_add_class_12; ip_mreq* tmp_add_class_13; ip_mreq_source* tmp_add_class_14; ip_mreqn* tmp_add_class_15; ip_msfilter* tmp_add_class_16; ip_opts* tmp_add_class_17; ipv6_mreq* tmp_add_class_18; itimerval* tmp_add_class_19; linger* tmp_add_class_20; mmsghdr* tmp_add_class_21; msghdr* tmp_add_class_22; notify_ack_t* tmp_add_class_23; notify_timeout_t* tmp_add_class_24; obj_watch_t* tmp_add_class_25; osockaddr* tmp_add_class_26; rados_cluster_stat_t* tmp_add_class_27; rados_pool_stat_t* tmp_add_class_28; sockaddr* tmp_add_class_29; sockaddr_in* tmp_add_class_30; sockaddr_in6* tmp_add_class_31; sockaddr_storage* tmp_add_class_32; ucred* tmp_add_class_33; The GCC parameters: gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/EyTDXlpyd0/dump1.h" -I/usr/include/rbd