Temporary header file '/tmp/jDC4rYb8j9/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/SOIL/SOIL.h" #include "/usr/include/SOIL/image_DXT.h" #include "/usr/include/SOIL/image_helper.h" #include "/usr/include/SOIL/stb_image_aug.h" #include "/usr/include/SOIL/stbi_DDS_aug.h" #include "/usr/include/SOIL/stbi_DDS_aug_c.h" // 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/jDC4rYb8j9/dump1.h" In file included from /tmp/jDC4rYb8j9/dump1.h:17: /usr/include/SOIL/stbi_DDS_aug_c.h:37:3: error: conflicting declaration ‘typedef struct DDS_header DDS_header’ 37 | } DDS_header ; | ^~~~~~~~~~ In file included from /tmp/jDC4rYb8j9/dump1.h:13: /usr/include/SOIL/image_DXT.h:86:1: note: previous declaration as ‘typedef struct DDS_header DDS_header’ 86 | DDS_header ; | ^~~~~~~~~~ /usr/include/SOIL/stbi_DDS_aug_c.h:74:21: error: ‘stbi’ was not declared in this scope 74 | static int dds_test(stbi *s) | ^~~~ /usr/include/SOIL/stbi_DDS_aug_c.h:74:27: error: ‘s’ was not declared in this scope 74 | static int dds_test(stbi *s) | ^ /usr/include/SOIL/stbi_DDS_aug_c.h: In function ‘int stbi_dds_test_file(FILE*)’: /usr/include/SOIL/stbi_DDS_aug_c.h:88:4: error: ‘stbi’ was not declared in this scope 88 | stbi s; | ^~~~ /usr/include/SOIL/stbi_DDS_aug_c.h:90:16: error: ‘s’ was not declared in this scope 90 | start_file(&s,f); | ^ /usr/include/SOIL/stbi_DDS_aug_c.h:90:4: error: ‘start_file’ was not declared in this scope 90 | start_file(&s,f); | ^~~~~~~~~~ /usr/include/SOIL/stbi_DDS_aug_c.h:91:19: error: ‘dds_test’ cannot be used as a function 91 | r = dds_test(&s); | ^ /usr/include/SOIL/stbi_DDS_aug_c.h: In function ‘int stbi_dds_test_memory(const stbi_uc*, int)’: /usr/include/SOIL/stbi_DDS_aug_c.h:99:4: error: ‘stbi’ was not declared in this scope 99 | stbi s; | ^~~~ /usr/include/SOIL/stbi_DDS_aug_c.h:100:15: error: ‘s’ was not declared in this scope 100 | start_mem(&s,buffer, len); | ^ /usr/include/SOIL/stbi_DDS_aug_c.h:100:4: error: ‘start_mem’ was not declared in this scope 100 | start_mem(&s,buffer, len); | ^~~~~~~~~ /usr/include/SOIL/stbi_DDS_aug_c.h:101:22: error: ‘dds_test’ cannot be used as a function 101 | return dds_test(&s); | ^ /usr/include/SOIL/stbi_DDS_aug_c.h: At global scope: /usr/include/SOIL/stbi_DDS_aug_c.h:268:26: error: ‘stbi’ was not declared in this scope 268 | static stbi_uc *dds_load(stbi *s, int *x, int *y, int *comp, int req_comp) | ^~~~ /usr/include/SOIL/stbi_DDS_aug_c.h:268:32: error: ‘s’ was not declared in this scope 268 | static stbi_uc *dds_load(stbi *s, int *x, int *y, int *comp, int req_comp) | ^ /usr/include/SOIL/stbi_DDS_aug_c.h:268:35: error: expected primary-expression before ‘int’ 268 | static stbi_uc *dds_load(stbi *s, int *x, int *y, int *comp, int req_comp) | ^~~ /usr/include/SOIL/stbi_DDS_aug_c.h:268:43: error: expected primary-expression before ‘int’ 268 | static stbi_uc *dds_load(stbi *s, int *x, int *y, int *comp, int req_comp) | ^~~ /usr/include/SOIL/stbi_DDS_aug_c.h:268:51: error: expected primary-expression before ‘int’ 268 | static stbi_uc *dds_load(stbi *s, int *x, int *y, int *comp, int req_comp) | ^~~ /usr/include/SOIL/stbi_DDS_aug_c.h:268:62: error: expected primary-expression before ‘int’ 268 | static stbi_uc *dds_load(stbi *s, int *x, int *y, int *comp, int req_comp) | ^~~ /usr/include/SOIL/stbi_DDS_aug_c.h: In function ‘stbi_uc* stbi_dds_load_from_file(FILE*, int*, int*, int*, int)’: /usr/include/SOIL/stbi_DDS_aug_c.h:490:9: error: ‘stbi’ was not declared in this scope 490 | stbi s; | ^~~~ /usr/include/SOIL/stbi_DDS_aug_c.h:491:16: error: ‘s’ was not declared in this scope 491 | start_file(&s,f); | ^ /usr/include/SOIL/stbi_DDS_aug_c.h:491:4: error: ‘start_file’ was not declared in this scope 491 | start_file(&s,f); | ^~~~~~~~~~ /usr/include/SOIL/stbi_DDS_aug_c.h:492:19: error: ‘dds_load’ cannot be used as a function 492 | return dds_load(&s,x,y,comp,req_comp); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /usr/include/SOIL/stbi_DDS_aug_c.h: In function ‘stbi_uc* stbi_dds_load_from_memory(const stbi_uc*, int, int*, int*, int*, int)’: /usr/include/SOIL/stbi_DDS_aug_c.h:508:9: error: ‘stbi’ was not declared in this scope 508 | stbi s; | ^~~~ /usr/include/SOIL/stbi_DDS_aug_c.h:509:15: error: ‘s’ was not declared in this scope 509 | start_mem(&s,buffer, len); | ^ /usr/include/SOIL/stbi_DDS_aug_c.h:509:4: error: ‘start_mem’ was not declared in this scope 509 | start_mem(&s,buffer, len); | ^~~~~~~~~ /usr/include/SOIL/stbi_DDS_aug_c.h:510:19: error: ‘dds_load’ cannot be used as a function 510 | return dds_load(&s,x,y,comp,req_comp); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~