Temporary header file '/tmp/_mzgFgyj0M/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/irstlm/cmd.h"
  #include "/usr/include/irstlm/cplsa.h"
  #include "/usr/include/irstlm/crc.h"
  #include "/usr/include/irstlm/cswam.h"
  #include "/usr/include/irstlm/dictionary.h"
  #include "/usr/include/irstlm/doc.h"
  #include "/usr/include/irstlm/gzfilebuf.h"
  #include "/usr/include/irstlm/htable.h"
  #include "/usr/include/irstlm/index.h"
  #include "/usr/include/irstlm/interplm.h"
  #include "/usr/include/irstlm/linearlm.h"
  #include "/usr/include/irstlm/lmContainer.h"
  #include "/usr/include/irstlm/lmInterpolation.h"
  #include "/usr/include/irstlm/lmclass.h"
  #include "/usr/include/irstlm/lmmacro.h"
  #include "/usr/include/irstlm/lmtable.h"
  #include "/usr/include/irstlm/mdiadapt.h"
  #include "/usr/include/irstlm/mempool.h"
  #include "/usr/include/irstlm/mfstream.h"
  #include "/usr/include/irstlm/mixture.h"
  #include "/usr/include/irstlm/n_gram.h"
  #include "/usr/include/irstlm/ngramcache.h"
  #include "/usr/include/irstlm/ngramtable.h"
  #include "/usr/include/irstlm/normcache.h"
  #include "/usr/include/irstlm/shiftlm.h"
  #include "/usr/include/irstlm/thpool.h"
  #include "/usr/include/irstlm/timer.h"
  #include "/usr/include/irstlm/util.h"

  // add namespaces
  namespace irstlm{typedef int tmp_add_type_1;}
  irstlm::tmp_add_type_1 tmp_add_func_1(){return 0;};

  // add classes
  PROB_AND_STATE_ENTRY* tmp_add_class_0;
  Timer* tmp_add_class_1;
  _G_fpos64_t* tmp_add_class_2;
  _G_fpos_t* tmp_add_class_3;
  _IO_cookie_io_functions_t* tmp_add_class_4;
  dictionary* tmp_add_class_5;
  dictionary_iter* tmp_add_class_6;
  doc* tmp_add_class_7;
  fdbuf* tmp_add_class_8;
  gzFile_s* tmp_add_class_9;
  gz_header_s* tmp_add_class_10;
  gzfilebuf* tmp_add_class_11;
  inputfilestream* tmp_add_class_12;
  interplm* tmp_add_class_13;
  memnode* tmp_add_class_14;
  mempool* tmp_add_class_15;
  mfstream* tmp_add_class_16;
  ngram* tmp_add_class_17;
  ngramcache* tmp_add_class_18;
  ngramtable* tmp_add_class_19;
  normcache* tmp_add_class_20;
  storage* tmp_add_class_21;
  strstack* tmp_add_class_22;
  tabletype* tmp_add_class_23;
  z_stream_s* tmp_add_class_24;

The GCC parameters:
  gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/_mzgFgyj0M/dump1.h"

In file included from /tmp/_mzgFgyj0M/dump1.h:13:
/usr/include/irstlm/cplsa.h:27:5: error: ‘dictionary’ does not name a type
   27 |     dictionary* dict; //dictionary
      |     ^~~~~~~~~~
/usr/include/irstlm/cplsa.h:29:5: error: ‘doc’ does not name a type
   29 |     doc* trset;       //training/inference set
      |     ^~~
/usr/include/irstlm/cplsa.h:52:20: error: expected ‘)’ before ‘*’ token
   52 |     plsa(dictionary* dict,int topics,char* workdir,int threads,bool mm);
      |         ~          ^
      |                    )
In file included from /tmp/_mzgFgyj0M/dump1.h:15:
/usr/include/irstlm/cswam.h:64:5: error: ‘dictionary’ does not name a type
   64 |     dictionary* srcdict; //source dictionary
      |     ^~~~~~~~~~
/usr/include/irstlm/cswam.h:65:5: error: ‘dictionary’ does not name a type
   65 |     dictionary* trgdict; //target dictionary
      |     ^~~~~~~~~~
/usr/include/irstlm/cswam.h:66:5: error: ‘doc’ does not name a type
   66 |     doc* srcdata;   //source training data
      |     ^~~
/usr/include/irstlm/cswam.h:67:5: error: ‘doc’ does not name a type
   67 |     doc* trgdata;   //target trainign data
      |     ^~~
In file included from /tmp/_mzgFgyj0M/dump1.h:21:
/usr/include/irstlm/interplm.h:38:1: error: expected class-name before ‘{’ token
   38 | {
      | ^
/usr/include/irstlm/interplm.h:54:38: error: ‘TABLETYPE’ has not been declared
   54 |   interplm(char* ngtfile,int depth=0,TABLETYPE tt=FULL);
      |                                      ^~~~~~~~~
/usr/include/irstlm/interplm.h:96:3: error: ‘ngramtable’ does not name a type
   96 |   ngramtable *unitbl;
      |   ^~~~~~~~~~
/usr/include/irstlm/interplm.h:100:18: error: ‘ngram’ has not been declared
  100 |   double unigrWB(ngram ng);
      |                  ^~~~~
/usr/include/irstlm/interplm.h:101:24: error: ‘ngram’ has not been declared
  101 |   virtual double unigr(ngram ng){ return unigrWB(ng); };
      |                        ^~~~~
/usr/include/irstlm/interplm.h:119:23: error: ‘ngram’ has not been declared
  119 |   virtual double prob(ngram /* unused parameter: ng */,int /* unused parameter: size */) {
      |                       ^~~~~
/usr/include/irstlm/interplm.h:123:25: error: ‘ngram’ has not been declared
  123 |   virtual double boprob(ngram /* unused parameter: ng */,int /* unused parameter: size */) {
      |                         ^~~~~
/usr/include/irstlm/interplm.h:127:17: error: ‘ngramtable’ has not been declared
  127 |   void test_ngt(ngramtable& ngt,int sz=0,bool backoff=false,bool checkpr=false);
      |                 ^~~~~~~~~~
/usr/include/irstlm/interplm.h:133:24: error: ‘ngram’ has not been declared
  133 |   virtual int discount(ngram /* unused parameter: ng */,int /* unused parameter: size */,double& /* unused parameter: fstar */ ,double& /* unused parameter: lambda */,int /* unused parameter: cv*/=0) {
      |                        ^~~~~
/usr/include/irstlm/interplm.h:54:51: error: ‘FULL’ was not declared in this scope; did you mean ‘NULL’?
   54 |   interplm(char* ngtfile,int depth=0,TABLETYPE tt=FULL);
      |                                                   ^~~~
      |                                                   NULL
/usr/include/irstlm/interplm.h: In member function ‘virtual int interplm::dub()’:
/usr/include/irstlm/interplm.h:81:12: error: ‘dict’ was not declared in this scope
   81 |     return dict->dub();
      |            ^~~~
/usr/include/irstlm/interplm.h: In member function ‘virtual int interplm::dub(int)’:
/usr/include/irstlm/interplm.h:85:12: error: ‘dict’ was not declared in this scope
   85 |     return dict->dub(value);
      |            ^~~~
/usr/include/irstlm/interplm.h: In member function ‘int interplm::obswrd() const’:
/usr/include/irstlm/interplm.h:110:12: error: ‘dict’ was not declared in this scope
  110 |     return dict->size();
      |            ^~~~
/usr/include/irstlm/interplm.h: In member function ‘void interplm::lmstat(int)’:
/usr/include/irstlm/interplm.h:146:5: error: ‘stat’ was not declared in this scope; did you mean ‘lmstat’?
  146 |     stat(level);
      |     ^~~~
      |     lmstat
In file included from /tmp/_mzgFgyj0M/dump1.h:22:
/usr/include/irstlm/linearlm.h: At global scope:
/usr/include/irstlm/linearlm.h:29:9: error: expected class-name before ‘{’ token
   29 |         {
      |         ^
/usr/include/irstlm/linearlm.h:33:68: error: ‘TABLETYPE’ has not been declared
   33 |                 linearwb(char* ngtfile,int depth=0,int prunefreq=0,TABLETYPE tt=SHIFTBETA_B);
      |                                                                    ^~~~~~~~~
/usr/include/irstlm/linearlm.h:35:30: error: ‘ngram’ has not been declared
   35 |                 int discount(ngram ng,int size,double& fstar,double& lambda,int cv=0);
      |                              ^~~~~
/usr/include/irstlm/linearlm.h:33:81: error: ‘SHIFTBETA_B’ was not declared in this scope; did you mean ‘SHIFT_BETA’?
   33 |                 linearwb(char* ngtfile,int depth=0,int prunefreq=0,TABLETYPE tt=SHIFTBETA_B);
      |                                                                                 ^~~~~~~~~~~
      |                                                                                 SHIFT_BETA
/usr/include/irstlm/linearlm.h:41:9: error: expected class-name before ‘{’ token
   41 |         {
      |         ^
/usr/include/irstlm/linearlm.h:45:69: error: ‘TABLETYPE’ has not been declared
   45 |                 linearstb(char* ngtfile,int depth=0,int prunefreq=0,TABLETYPE tt=SHIFTBETA_B);
      |                                                                     ^~~~~~~~~
/usr/include/irstlm/linearlm.h:47:30: error: ‘ngram’ has not been declared
   47 |                 int discount(ngram ng,int size,double& fstar,double& lambda,int cv=0);
      |                              ^~~~~
/usr/include/irstlm/linearlm.h:45:82: error: ‘SHIFTBETA_B’ was not declared in this scope; did you mean ‘SHIFT_BETA’?
   45 |                 linearstb(char* ngtfile,int depth=0,int prunefreq=0,TABLETYPE tt=SHIFTBETA_B);
      |                                                                                  ^~~~~~~~~~~
      |                                                                                  SHIFT_BETA
In file included from /tmp/_mzgFgyj0M/dump1.h:31:
/usr/include/irstlm/mixture.h: In member function ‘virtual int irstlm::mixture::dub()’:
/usr/include/irstlm/mixture.h:56:12: error: ‘dict’ was not declared in this scope
   56 |     return dict->dub();
      |            ^~~~
/usr/include/irstlm/mixture.h: In member function ‘virtual int irstlm::mixture::dub(int)’:
/usr/include/irstlm/mixture.h:63:12: error: ‘dict’ was not declared in this scope
   63 |     return dict->dub(value);
      |            ^~~~
In file included from /tmp/_mzgFgyj0M/dump1.h:36:
/usr/include/irstlm/shiftlm.h: In member function ‘int irstlm::improvedkneserney::mfreq(ngram&, int)’:
/usr/include/irstlm/shiftlm.h:81:44: error: ‘getfreq’ was not declared in this scope; did you mean ‘mfreq’?
   81 |                         return (l<lmsize()?getfreq(ng.link,ng.pinfo,1):ng.freq);
      |                                            ^~~~~~~
      |                                            mfreq

