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);
      |           ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~

