Temporary header file '/tmp/dssyxrWHO1/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/cxxopts.hpp" // add namespaces namespace cxxopts{typedef int tmp_add_type_1;} cxxopts::tmp_add_type_1 tmp_add_func_1(){return 0;}; namespace cxxopts{namespace values{typedef int tmp_add_type_2;}} cxxopts::values::tmp_add_type_2 tmp_add_func_2(){return 0;}; namespace cxxopts{namespace values{namespace detail{typedef int tmp_add_type_3;}}} cxxopts::values::detail::tmp_add_type_3 tmp_add_func_3(){return 0;}; namespace cxxopts{namespace __anon1b5009d46a11{typedef int tmp_add_type_4;}} cxxopts::__anon1b5009d46a11::tmp_add_type_4 tmp_add_func_4(){return 0;}; namespace cxxopts{namespace __anon1b5009d46c11{typedef int tmp_add_type_5;}} cxxopts::__anon1b5009d46c11::tmp_add_type_5 tmp_add_func_5(){return 0;}; namespace cxxopts{namespace values{namespace parser_tool{typedef int tmp_add_type_6;}}} cxxopts::values::parser_tool::tmp_add_type_6 tmp_add_func_6(){return 0;}; namespace cxxopts{namespace values{namespace parser_tool{namespace __anon1b5009d46b11{typedef int tmp_add_type_7;}}}} cxxopts::values::parser_tool::__anon1b5009d46b11::tmp_add_type_7 tmp_add_func_7(){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/dssyxrWHO1/dump1.h"