Temporary header file '/tmp/KeOrRoRfWF/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/avl.h" // add classes avl_node_t* tmp_add_class_0; avl_tree_t* tmp_add_class_1; The GCC parameters: gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/KeOrRoRfWF/dump1.h" In file included from /tmp/KeOrRoRfWF/dump1.h:12: /usr/include/avl.h:126:81: error: expected ‘,’ or ‘...’ before ‘new’ 126 | extern avl_node_t *avl_insert_before(avl_tree_t *, avl_node_t *old, avl_node_t *new); | ^~~ /usr/include/avl.h:131:80: error: expected ‘,’ or ‘...’ before ‘new’ 131 | extern avl_node_t *avl_insert_after(avl_tree_t *, avl_node_t *old, avl_node_t *new); | ^~~ /usr/include/avl.h:155:61: error: expected ‘,’ or ‘...’ before ‘new’ 155 | extern avl_node_t *avl_fixup_node(avl_tree_t *, avl_node_t *new); | ^~~