Temporary header file '/tmp/hQe3orWqlP/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/lrslib/lrsdriver.h"
  #include "/usr/include/lrslib/lrsgmp.h"
  #include "/usr/include/lrslib/lrslib.h"
  #include "/usr/include/lrslib/lrslong.h"
  #include "/usr/include/lrslib/lrsmp.h"
  #include "/usr/include/lrslib/lrsrestart.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;
  lrs_dat* tmp_add_class_3;
  lrs_dic_struct* tmp_add_class_4;
  lrs_restart_dat* tmp_add_class_5;
  ucontext_t* tmp_add_class_6;

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

In file included from /tmp/hQe3orWqlP/dump1.h:13:
/usr/include/lrslib/lrsgmp.h:239:1: error: ‘lrs_mp_vector’ does not name a type; did you mean ‘lrs_mp_init’?
  239 | lrs_mp_vector lrs_alloc_mp_vector (long n);     /* allocate lrs_mp_vector for n+1 lrs_mp numbers         */
      | ^~~~~~~~~~~~~
      | lrs_mp_init
/usr/include/lrslib/lrsgmp.h:240:1: error: ‘lrs_mp_matrix’ does not name a type; did you mean ‘lrs_mp_init’?
  240 | lrs_mp_matrix lrs_alloc_mp_matrix (long m, long n);     /* allocate lrs_mp_matrix for m+1 x n+1 lrs_mp   */
      | ^~~~~~~~~~~~~
      | lrs_mp_init
/usr/include/lrslib/lrsgmp.h:94:33: error: variable or field ‘lrs_clear_mp_vector’ declared void
   94 | #define lrs_clear_mp_vector suf(lrs_clear_mp_vector)
      |                                 ^~~~~~~~~~~~~~~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:241:6: note: in expansion of macro ‘lrs_clear_mp_vector’
  241 | void lrs_clear_mp_vector (lrs_mp_vector p, long n);     /* clear lrs_mp_vector for n+1 lrs_mp numbers    */
      |      ^~~~~~~~~~~~~~~~~~~
/usr/include/lrslib/lrsgmp.h:241:27: error: ‘lrs_mp_vector’ was not declared in this scope; did you mean ‘lrs_mp_init’?
  241 | void lrs_clear_mp_vector (lrs_mp_vector p, long n);     /* clear lrs_mp_vector for n+1 lrs_mp numbers    */
      |                           ^~~~~~~~~~~~~
      |                           lrs_mp_init
/usr/include/lrslib/lrsgmp.h:241:44: error: expected primary-expression before ‘long’
  241 | void lrs_clear_mp_vector (lrs_mp_vector p, long n);     /* clear lrs_mp_vector for n+1 lrs_mp numbers    */
      |                                            ^~~~
/usr/include/lrslib/lrsgmp.h:93:33: error: variable or field ‘lrs_clear_mp_matrix’ declared void
   93 | #define lrs_clear_mp_matrix suf(lrs_clear_mp_matrix)
      |                                 ^~~~~~~~~~~~~~~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:242:6: note: in expansion of macro ‘lrs_clear_mp_matrix’
  242 | void lrs_clear_mp_matrix (lrs_mp_matrix p, long m, long n); /* clear m by n lrs_mp_matrix                */
      |      ^~~~~~~~~~~~~~~~~~~
/usr/include/lrslib/lrsgmp.h:242:27: error: ‘lrs_mp_matrix’ was not declared in this scope; did you mean ‘lrsgmp_main’?
  242 | void lrs_clear_mp_matrix (lrs_mp_matrix p, long m, long n); /* clear m by n lrs_mp_matrix                */
      |                           ^~~~~~~~~~~~~
      |                           lrsgmp_main
/usr/include/lrslib/lrsgmp.h:242:44: error: expected primary-expression before ‘long’
  242 | void lrs_clear_mp_matrix (lrs_mp_matrix p, long m, long n); /* clear m by n lrs_mp_matrix                */
      |                                            ^~~~
/usr/include/lrslib/lrsgmp.h:242:52: error: expected primary-expression before ‘long’
  242 | void lrs_clear_mp_matrix (lrs_mp_matrix p, long m, long n); /* clear m by n lrs_mp_matrix                */
      |                                                    ^~~~
/usr/include/lrslib/lrsgmp.h:247:29: error: ‘lrs_mp’ has not been declared
  247 | void atomp (const char s[], lrs_mp a);  /* convert string to lrs_mp integer               */
      |                             ^~~~~~
/usr/include/lrslib/lrsgmp.h:248:15: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  248 | long compare (lrs_mp a, lrs_mp b);      /* a ? b and returns -1,0,1 for <,=,>             */
      |               ^~~~~~
      |               lrs_ofp
/usr/include/lrslib/lrsgmp.h:248:25: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  248 | long compare (lrs_mp a, lrs_mp b);      /* a ? b and returns -1,0,1 for <,=,>             */
      |                         ^~~~~~
      |                         lrs_ofp
/usr/include/lrslib/lrsgmp.h:89:20: error: variable or field ‘linint’ declared void
   89 | #define linint suf(linint)
      |                    ^~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:249:6: note: in expansion of macro ‘linint’
  249 | void linint (lrs_mp a, long ka, lrs_mp b, long kb);     /* compute a*ka+b*kb --> a        */
      |      ^~~~~~
/usr/include/lrslib/lrsgmp.h:249:14: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  249 | void linint (lrs_mp a, long ka, lrs_mp b, long kb);     /* compute a*ka+b*kb --> a        */
      |              ^~~~~~
      |              lrs_ofp
/usr/include/lrslib/lrsgmp.h:249:24: error: expected primary-expression before ‘long’
  249 | void linint (lrs_mp a, long ka, lrs_mp b, long kb);     /* compute a*ka+b*kb --> a        */
      |                        ^~~~
/usr/include/lrslib/lrsgmp.h:249:33: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  249 | void linint (lrs_mp a, long ka, lrs_mp b, long kb);     /* compute a*ka+b*kb --> a        */
      |                                 ^~~~~~
      |                                 lrs_ofp
/usr/include/lrslib/lrsgmp.h:249:43: error: expected primary-expression before ‘long’
  249 | void linint (lrs_mp a, long ka, lrs_mp b, long kb);     /* compute a*ka+b*kb --> a        */
      |                                           ^~~~
/usr/include/lrslib/lrsgmp.h:253:31: error: ‘lrs_mp’ has not been declared
  253 | char *cprat(const char *name, lrs_mp Nt, lrs_mp Dt); /* mp rat to char  */
      |                               ^~~~~~
/usr/include/lrslib/lrsgmp.h:253:42: error: ‘lrs_mp’ has not been declared
  253 | char *cprat(const char *name, lrs_mp Nt, lrs_mp Dt); /* mp rat to char  */
      |                                          ^~~~~~
/usr/include/lrslib/lrsgmp.h:254:30: error: ‘lrs_mp’ has not been declared
  254 | char *cpmp(const char *name, lrs_mp Nt);             /* mp int to char  */
      |                              ^~~~~~
/usr/include/lrslib/lrsgmp.h:255:29: error: ‘lrs_mp’ has not been declared
  255 | void pmp (const char *name, lrs_mp a);  /* print the long precision integer a             */
      |                             ^~~~~~
/usr/include/lrslib/lrsgmp.h:256:30: error: ‘lrs_mp’ has not been declared
  256 | void prat (const char *name, lrs_mp Nt, lrs_mp Dt);     /* reduce and print  Nt/Dt                        */
      |                              ^~~~~~
/usr/include/lrslib/lrsgmp.h:256:41: error: ‘lrs_mp’ has not been declared
  256 | void prat (const char *name, lrs_mp Nt, lrs_mp Dt);     /* reduce and print  Nt/Dt                        */
      |                                         ^~~~~~
/usr/include/lrslib/lrsgmp.h:105:20: error: variable or field ‘readmp’ declared void
  105 | #define readmp suf(readmp)
      |                    ^~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:257:6: note: in expansion of macro ‘readmp’
  257 | void readmp (lrs_mp a);         /* read an integer and convert to lrs_mp          */
      |      ^~~~~~
/usr/include/lrslib/lrsgmp.h:257:14: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  257 | void readmp (lrs_mp a);         /* read an integer and convert to lrs_mp          */
      |              ^~~~~~
      |              lrs_ofp
/usr/include/lrslib/lrsgmp.h:258:15: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  258 | long readrat (lrs_mp Na, lrs_mp Da);    /* read a rational or int and convert to lrs_mp   */
      |               ^~~~~~
      |               lrs_ofp
/usr/include/lrslib/lrsgmp.h:258:26: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  258 | long readrat (lrs_mp Na, lrs_mp Da);    /* read a rational or int and convert to lrs_mp   */
      |                          ^~~~~~
      |                          lrs_ofp
/usr/include/lrslib/lrsgmp.h:108:20: error: variable or field ‘reduce’ declared void
  108 | #define reduce suf(reduce)
      |                    ^~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:259:6: note: in expansion of macro ‘reduce’
  259 | void reduce (lrs_mp Na, lrs_mp Da);     /* reduces Na Da by gcd(Na,Da)                    */
      |      ^~~~~~
/usr/include/lrslib/lrsgmp.h:259:14: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  259 | void reduce (lrs_mp Na, lrs_mp Da);     /* reduces Na Da by gcd(Na,Da)                    */
      |              ^~~~~~
      |              lrs_ofp
/usr/include/lrslib/lrsgmp.h:259:25: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  259 | void reduce (lrs_mp Na, lrs_mp Da);     /* reduces Na Da by gcd(Na,Da)                    */
      |                         ^~~~~~
      |                         lrs_ofp
/usr/include/lrslib/lrsgmp.h:111:23: error: variable or field ‘storesign’ declared void
  111 | #define storesign suf(storesign)
      |                       ^~~~~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:260:6: note: in expansion of macro ‘storesign’
  260 | void storesign(lrs_mp Na, long sa);     /* change sign of Na to sa=POS/NEG                */
      |      ^~~~~~~~~
/usr/include/lrslib/lrsgmp.h:260:16: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  260 | void storesign(lrs_mp Na, long sa);     /* change sign of Na to sa=POS/NEG                */
      |                ^~~~~~
      |                lrs_ofp
/usr/include/lrslib/lrsgmp.h:260:27: error: expected primary-expression before ‘long’
  260 | void storesign(lrs_mp Na, long sa);     /* change sign of Na to sa=POS/NEG                */
      |                           ^~~~
/usr/include/lrslib/lrsgmp.h:268:15: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  268 | long comprod (lrs_mp Na, lrs_mp Nb, lrs_mp Nc, lrs_mp Nd);      /* +1 if Na*Nb > Nc*Nd,-1 if Na*Nb > Nc*Nd else 0 */
      |               ^~~~~~
      |               lrs_ofp
/usr/include/lrslib/lrsgmp.h:268:26: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  268 | long comprod (lrs_mp Na, lrs_mp Nb, lrs_mp Nc, lrs_mp Nd);      /* +1 if Na*Nb > Nc*Nd,-1 if Na*Nb > Nc*Nd else 0 */
      |                          ^~~~~~
      |                          lrs_ofp
/usr/include/lrslib/lrsgmp.h:268:37: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  268 | long comprod (lrs_mp Na, lrs_mp Nb, lrs_mp Nc, lrs_mp Nd);      /* +1 if Na*Nb > Nc*Nd,-1 if Na*Nb > Nc*Nd else 0 */
      |                                     ^~~~~~
      |                                     lrs_ofp
/usr/include/lrslib/lrsgmp.h:268:48: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  268 | long comprod (lrs_mp Na, lrs_mp Nb, lrs_mp Nc, lrs_mp Nd);      /* +1 if Na*Nb > Nc*Nd,-1 if Na*Nb > Nc*Nd else 0 */
      |                                                ^~~~~~
      |                                                lrs_ofp
/usr/include/lrslib/lrsgmp.h:87:20: error: variable or field ‘divrat’ declared void
   87 | #define divrat suf(divrat)
      |                    ^~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:269:6: note: in expansion of macro ‘divrat’
  269 | void divrat (lrs_mp Na, lrs_mp Da, lrs_mp Nb, lrs_mp Db, lrs_mp Nc, lrs_mp Dc);
      |      ^~~~~~
/usr/include/lrslib/lrsgmp.h:269:14: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  269 | void divrat (lrs_mp Na, lrs_mp Da, lrs_mp Nb, lrs_mp Db, lrs_mp Nc, lrs_mp Dc);
      |              ^~~~~~
      |              lrs_ofp
/usr/include/lrslib/lrsgmp.h:269:25: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  269 | void divrat (lrs_mp Na, lrs_mp Da, lrs_mp Nb, lrs_mp Db, lrs_mp Nc, lrs_mp Dc);
      |                         ^~~~~~
      |                         lrs_ofp
/usr/include/lrslib/lrsgmp.h:269:36: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  269 | void divrat (lrs_mp Na, lrs_mp Da, lrs_mp Nb, lrs_mp Db, lrs_mp Nc, lrs_mp Dc);
      |                                    ^~~~~~
      |                                    lrs_ofp
/usr/include/lrslib/lrsgmp.h:269:47: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  269 | void divrat (lrs_mp Na, lrs_mp Da, lrs_mp Nb, lrs_mp Db, lrs_mp Nc, lrs_mp Dc);
      |                                               ^~~~~~
      |                                               lrs_ofp
/usr/include/lrslib/lrsgmp.h:269:58: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  269 | void divrat (lrs_mp Na, lrs_mp Da, lrs_mp Nb, lrs_mp Db, lrs_mp Nc, lrs_mp Dc);
      |                                                          ^~~~~~
      |                                                          lrs_ofp
/usr/include/lrslib/lrsgmp.h:269:69: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  269 | void divrat (lrs_mp Na, lrs_mp Da, lrs_mp Nb, lrs_mp Db, lrs_mp Nc, lrs_mp Dc);
      |                                                                     ^~~~~~
      |                                                                     lrs_ofp
/usr/include/lrslib/lrsgmp.h:90:20: error: variable or field ‘linrat’ declared void
   90 | #define linrat suf(linrat)
      |                    ^~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:271:6: note: in expansion of macro ‘linrat’
  271 | void linrat (lrs_mp Na, lrs_mp Da, long ka, lrs_mp Nb, lrs_mp Db, long kb, lrs_mp Nc, lrs_mp Dc);
      |      ^~~~~~
/usr/include/lrslib/lrsgmp.h:271:14: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  271 | void linrat (lrs_mp Na, lrs_mp Da, long ka, lrs_mp Nb, lrs_mp Db, long kb, lrs_mp Nc, lrs_mp Dc);
      |              ^~~~~~
      |              lrs_ofp
/usr/include/lrslib/lrsgmp.h:271:25: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  271 | void linrat (lrs_mp Na, lrs_mp Da, long ka, lrs_mp Nb, lrs_mp Db, long kb, lrs_mp Nc, lrs_mp Dc);
      |                         ^~~~~~
      |                         lrs_ofp
/usr/include/lrslib/lrsgmp.h:271:36: error: expected primary-expression before ‘long’
  271 | void linrat (lrs_mp Na, lrs_mp Da, long ka, lrs_mp Nb, lrs_mp Db, long kb, lrs_mp Nc, lrs_mp Dc);
      |                                    ^~~~
/usr/include/lrslib/lrsgmp.h:271:45: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  271 | void linrat (lrs_mp Na, lrs_mp Da, long ka, lrs_mp Nb, lrs_mp Db, long kb, lrs_mp Nc, lrs_mp Dc);
      |                                             ^~~~~~
      |                                             lrs_ofp
/usr/include/lrslib/lrsgmp.h:271:56: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  271 | void linrat (lrs_mp Na, lrs_mp Da, long ka, lrs_mp Nb, lrs_mp Db, long kb, lrs_mp Nc, lrs_mp Dc);
      |                                                        ^~~~~~
      |                                                        lrs_ofp
/usr/include/lrslib/lrsgmp.h:271:67: error: expected primary-expression before ‘long’
  271 | void linrat (lrs_mp Na, lrs_mp Da, long ka, lrs_mp Nb, lrs_mp Db, long kb, lrs_mp Nc, lrs_mp Dc);
      |                                                                   ^~~~
/usr/include/lrslib/lrsgmp.h:271:76: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  271 | void linrat (lrs_mp Na, lrs_mp Da, long ka, lrs_mp Nb, lrs_mp Db, long kb, lrs_mp Nc, lrs_mp Dc);
      |                                                                            ^~~~~~
      |                                                                            lrs_ofp
/usr/include/lrslib/lrsgmp.h:271:87: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  271 | void linrat (lrs_mp Na, lrs_mp Da, long ka, lrs_mp Nb, lrs_mp Db, long kb, lrs_mp Nc, lrs_mp Dc);
      |                                                                                       ^~~~~~
      |                                                                                       lrs_ofp
/usr/include/lrslib/lrsgmp.h:88:17: error: variable or field ‘lcm’ declared void
   88 | #define lcm suf(lcm)
      |                 ^~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:272:6: note: in expansion of macro ‘lcm’
  272 | void lcm (lrs_mp a, lrs_mp b);  /* a = least common multiple of a, b; b is saved  */
      |      ^~~
/usr/include/lrslib/lrsgmp.h:272:11: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  272 | void lcm (lrs_mp a, lrs_mp b);  /* a = least common multiple of a, b; b is saved  */
      |           ^~~~~~
      |           lrs_ofp
/usr/include/lrslib/lrsgmp.h:272:21: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  272 | void lcm (lrs_mp a, lrs_mp b);  /* a = least common multiple of a, b; b is saved  */
      |                     ^~~~~~
      |                     lrs_ofp
/usr/include/lrslib/lrsgmp.h:97:20: error: variable or field ‘mulrat’ declared void
   97 | #define mulrat suf(mulrat)
      |                    ^~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:273:6: note: in expansion of macro ‘mulrat’
  273 | void mulrat (lrs_mp Na, lrs_mp Da, lrs_mp Nb, lrs_mp Db, lrs_mp Nc, lrs_mp Dc);
      |      ^~~~~~
/usr/include/lrslib/lrsgmp.h:273:14: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  273 | void mulrat (lrs_mp Na, lrs_mp Da, lrs_mp Nb, lrs_mp Db, lrs_mp Nc, lrs_mp Dc);
      |              ^~~~~~
      |              lrs_ofp
/usr/include/lrslib/lrsgmp.h:273:25: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  273 | void mulrat (lrs_mp Na, lrs_mp Da, lrs_mp Nb, lrs_mp Db, lrs_mp Nc, lrs_mp Dc);
      |                         ^~~~~~
      |                         lrs_ofp
/usr/include/lrslib/lrsgmp.h:273:36: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  273 | void mulrat (lrs_mp Na, lrs_mp Da, lrs_mp Nb, lrs_mp Db, lrs_mp Nc, lrs_mp Dc);
      |                                    ^~~~~~
      |                                    lrs_ofp
/usr/include/lrslib/lrsgmp.h:273:47: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  273 | void mulrat (lrs_mp Na, lrs_mp Da, lrs_mp Nb, lrs_mp Db, lrs_mp Nc, lrs_mp Dc);
      |                                               ^~~~~~
      |                                               lrs_ofp
/usr/include/lrslib/lrsgmp.h:273:58: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  273 | void mulrat (lrs_mp Na, lrs_mp Da, lrs_mp Nb, lrs_mp Db, lrs_mp Nc, lrs_mp Dc);
      |                                                          ^~~~~~
      |                                                          lrs_ofp
/usr/include/lrslib/lrsgmp.h:273:69: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  273 | void mulrat (lrs_mp Na, lrs_mp Da, lrs_mp Nb, lrs_mp Db, lrs_mp Nc, lrs_mp Dc);
      |                                                                     ^~~~~~
      |                                                                     lrs_ofp
/usr/include/lrslib/lrsgmp.h:104:25: error: variable or field ‘rattodouble’ declared void
  104 | #define rattodouble suf(rattodouble)
      |                         ^~~~~~~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:277:6: note: in expansion of macro ‘rattodouble’
  277 | void rattodouble (lrs_mp a, lrs_mp b, double *x);       /* convert lrs_mp rational to double              */
      |      ^~~~~~~~~~~
/usr/include/lrslib/lrsgmp.h:277:19: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  277 | void rattodouble (lrs_mp a, lrs_mp b, double *x);       /* convert lrs_mp rational to double              */
      |                   ^~~~~~
      |                   lrs_ofp
/usr/include/lrslib/lrsgmp.h:277:29: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  277 | void rattodouble (lrs_mp a, lrs_mp b, double *x);       /* convert lrs_mp rational to double              */
      |                             ^~~~~~
      |                             lrs_ofp
/usr/include/lrslib/lrsgmp.h:277:39: error: expected primary-expression before ‘double’
  277 | void rattodouble (lrs_mp a, lrs_mp b, double *x);       /* convert lrs_mp rational to double              */
      |                                       ^~~~~~
/usr/include/lrslib/lrsgmp.h:110:23: error: variable or field ‘reduceint’ declared void
  110 | #define reduceint suf(reduceint)
      |                       ^~~~~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:278:6: note: in expansion of macro ‘reduceint’
  278 | void reduceint (lrs_mp Na, lrs_mp Da);  /* divide Na by Da and return it                  */
      |      ^~~~~~~~~
/usr/include/lrslib/lrsgmp.h:278:17: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  278 | void reduceint (lrs_mp Na, lrs_mp Da);  /* divide Na by Da and return it                  */
      |                 ^~~~~~
      |                 lrs_ofp
/usr/include/lrslib/lrsgmp.h:278:28: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  278 | void reduceint (lrs_mp Na, lrs_mp Da);  /* divide Na by Da and return it                  */
      |                            ^~~~~~
      |                            lrs_ofp
/usr/include/lrslib/lrsgmp.h:109:25: error: variable or field ‘reducearray’ declared void
  109 | #define reducearray suf(reducearray)
      |                         ^~~~~~~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:279:6: note: in expansion of macro ‘reducearray’
  279 | void reducearray (lrs_mp_vector p, long n);     /* find gcd of p[0]..p[n-1] and divide through by */
      |      ^~~~~~~~~~~
/usr/include/lrslib/lrsgmp.h:279:19: error: ‘lrs_mp_vector’ was not declared in this scope; did you mean ‘lrs_mp_init’?
  279 | void reducearray (lrs_mp_vector p, long n);     /* find gcd of p[0]..p[n-1] and divide through by */
      |                   ^~~~~~~~~~~~~
      |                   lrs_mp_init
/usr/include/lrslib/lrsgmp.h:279:36: error: expected primary-expression before ‘long’
  279 | void reducearray (lrs_mp_vector p, long n);     /* find gcd of p[0]..p[n-1] and divide through by */
      |                                    ^~~~
/usr/include/lrslib/lrsgmp.h:280:6: error: variable or field ‘scalerat’ declared void
  280 | void scalerat (lrs_mp Na, lrs_mp Da, long ka);  /* scales rational by ka                          */
      |      ^~~~~~~~
/usr/include/lrslib/lrsgmp.h:280:16: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  280 | void scalerat (lrs_mp Na, lrs_mp Da, long ka);  /* scales rational by ka                          */
      |                ^~~~~~
      |                lrs_ofp
/usr/include/lrslib/lrsgmp.h:280:27: error: ‘lrs_mp’ was not declared in this scope; did you mean ‘lrs_ofp’?
  280 | void scalerat (lrs_mp Na, lrs_mp Da, long ka);  /* scales rational by ka                          */
      |                           ^~~~~~
      |                           lrs_ofp
/usr/include/lrslib/lrsgmp.h:280:38: error: expected primary-expression before ‘long’
  280 | void scalerat (lrs_mp Na, lrs_mp Da, long ka);  /* scales rational by ka                          */
      |                                      ^~~~
In file included from /usr/include/lrslib/lrslib.h:149,
                 from /tmp/hQe3orWqlP/dump1.h:14:
/usr/include/lrslib/lrsmp.h:154:33: error: ‘long int compare(long long int*, long long int*)’ redeclared as different kind of entity
  154 | long compare (lrs_mp a, lrs_mp b);      /* a ? b and returns -1,0,1 for <,=,> */
      |                                 ^
/usr/include/lrslib/lrsgmp.h:248:6: note: previous declaration ‘long int compare’
  248 | long compare (lrs_mp a, lrs_mp b);      /* a ? b and returns -1,0,1 for <,=,>             */
      |      ^~~~~~~
/usr/include/lrslib/lrsmp.h:174:35: error: ‘long int readrat(long long int*, long long int*)’ redeclared as different kind of entity
  174 | long readrat (lrs_mp Na, lrs_mp Da);    /* read a rational or int and convert to lrs_mp   */
      |                                   ^
/usr/include/lrslib/lrsgmp.h:106:21: note: previous declaration ‘long int readrat’
  106 | #define readrat suf(readrat)
      |                     ^~~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:258:6: note: in expansion of macro ‘readrat’
  258 | long readrat (lrs_mp Na, lrs_mp Da);    /* read a rational or int and convert to lrs_mp   */
      |      ^~~~~~~
/usr/include/lrslib/lrsmp.h:185:57: error: ‘long int comprod(long long int*, long long int*, long long int*, long long int*)’ redeclared as different kind of entity
  185 | long comprod (lrs_mp Na, lrs_mp Nb, lrs_mp Nc, lrs_mp Nd);      /* +1 if Na*Nb > Nc*Nd,-1 if Na*Nb > Nc*Nd else 0 */
      |                                                         ^
/usr/include/lrslib/lrsgmp.h:86:21: note: previous declaration ‘long int comprod’
   86 | #define comprod suf(comprod)
      |                     ^~~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:268:6: note: in expansion of macro ‘comprod’
  268 | long comprod (lrs_mp Na, lrs_mp Nb, lrs_mp Nc, lrs_mp Nd);      /* +1 if Na*Nb > Nc*Nd,-1 if Na*Nb > Nc*Nd else 0 */
      |      ^~~~~~~
In file included from /tmp/hQe3orWqlP/dump1.h:15:
/usr/include/lrslib/lrslong.h:186:19: error: conflicting declaration ‘typedef long long int lrs_mp [1]’
  186 | typedef long long lrs_mp[1];            /* type lrs_mp holds one long integer */
      |                   ^~~~~~
/usr/include/lrslib/lrsmp.h:128:19: note: previous declaration as ‘typedef long long int lrs_mp [256]’
  128 | typedef long long lrs_mp[MAX_DIGITS + 1];       /* type lrs_mp holds one multi-precision integer */
      |                   ^~~~~~
/usr/include/lrslib/lrslong.h:280:33: error: ‘long int compare(long long int*, long long int*)’ redeclared as different kind of entity
  280 | long compare (lrs_mp a, lrs_mp b);      /* a ? b and returns -1,0,1 for <,=,> */
      |                                 ^
/usr/include/lrslib/lrsgmp.h:248:6: note: previous declaration ‘long int compare’
  248 | long compare (lrs_mp a, lrs_mp b);      /* a ? b and returns -1,0,1 for <,=,>             */
      |      ^~~~~~~
/usr/include/lrslib/lrslong.h:293:35: error: ‘long int readrat(long long int*, long long int*)’ redeclared as different kind of entity
  293 | long readrat (lrs_mp Na, lrs_mp Da);    /* read a rational or int and convert to lrs_mp   */
      |                                   ^
/usr/include/lrslib/lrsgmp.h:106:21: note: previous declaration ‘long int readrat’
  106 | #define readrat suf(readrat)
      |                     ^~~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:258:6: note: in expansion of macro ‘readrat’
  258 | long readrat (lrs_mp Na, lrs_mp Da);    /* read a rational or int and convert to lrs_mp   */
      |      ^~~~~~~
/usr/include/lrslib/lrslong.h:303:57: error: ‘long int comprod(long long int*, long long int*, long long int*, long long int*)’ redeclared as different kind of entity
  303 | long comprod (lrs_mp Na, lrs_mp Nb, lrs_mp Nc, lrs_mp Nd);      /* +1 if Na*Nb > Nc*Nd,-1 if Na*Nb > Nc*Nd else 0 */
      |                                                         ^
/usr/include/lrslib/lrsgmp.h:86:21: note: previous declaration ‘long int comprod’
   86 | #define comprod suf(comprod)
      |                     ^~~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:268:6: note: in expansion of macro ‘comprod’
  268 | long comprod (lrs_mp Na, lrs_mp Nb, lrs_mp Nc, lrs_mp Nd);      /* +1 if Na*Nb > Nc*Nd,-1 if Na*Nb > Nc*Nd else 0 */
      |      ^~~~~~~
In file included from /tmp/hQe3orWqlP/dump1.h:16:
/usr/include/lrslib/lrsmp.h:154:33: error: ‘long int compare(long long int*, long long int*)’ redeclared as different kind of entity
  154 | long compare (lrs_mp a, lrs_mp b);      /* a ? b and returns -1,0,1 for <,=,> */
      |                                 ^
/usr/include/lrslib/lrsgmp.h:248:6: note: previous declaration ‘long int compare’
  248 | long compare (lrs_mp a, lrs_mp b);      /* a ? b and returns -1,0,1 for <,=,>             */
      |      ^~~~~~~
/usr/include/lrslib/lrsmp.h:155:19: error: expected ‘)’ before ‘a’
  155 | void copy (lrs_mp a, lrs_mp b); /* assigns a=b                                    */
      |                   ^
/usr/include/lrslib/lrslong.h:148:35: note: in definition of macro ‘copy’
  148 | #define copy(a, b)              ((a)[0] = (b)[0])
      |                                   ^
/usr/include/lrslib/lrslong.h:148:34: note: to match this ‘(’
  148 | #define copy(a, b)              ((a)[0] = (b)[0])
      |                                  ^
/usr/include/lrslib/lrsmp.h:155:6: note: in expansion of macro ‘copy’
  155 | void copy (lrs_mp a, lrs_mp b); /* assigns a=b                                    */
      |      ^~~~
/usr/include/lrslib/lrsmp.h:155:19: error: expected ‘)’ before ‘a’
  155 | void copy (lrs_mp a, lrs_mp b); /* assigns a=b                                    */
      |                   ^
/usr/include/lrslib/lrslong.h:148:35: note: in definition of macro ‘copy’
  148 | #define copy(a, b)              ((a)[0] = (b)[0])
      |                                   ^
/usr/include/lrslib/lrslong.h:148:33: note: to match this ‘(’
  148 | #define copy(a, b)              ((a)[0] = (b)[0])
      |                                 ^
/usr/include/lrslib/lrsmp.h:155:6: note: in expansion of macro ‘copy’
  155 | void copy (lrs_mp a, lrs_mp b); /* assigns a=b                                    */
      |      ^~~~
/usr/include/lrslib/lrsmp.h:156:41: error: expected ‘)’ before ‘c’
  156 | void divint (lrs_mp a, lrs_mp b, lrs_mp c);     /* c=a/b, a contains remainder on return          */
      |                                         ^
/usr/include/lrslib/lrslong.h:143:35: note: in definition of macro ‘divint’
  143 | #define divint(a, b, c)         *(c) = *(a) / *(b); *(a) = *(a) % *(b)
      |                                   ^
/usr/include/lrslib/lrslong.h:143:34: note: to match this ‘(’
  143 | #define divint(a, b, c)         *(c) = *(a) / *(b); *(a) = *(a) % *(b)
      |                                  ^
/usr/include/lrslib/lrsmp.h:156:6: note: in expansion of macro ‘divint’
  156 | void divint (lrs_mp a, lrs_mp b, lrs_mp c);     /* c=a/b, a contains remainder on return          */
      |      ^~~~~~
/usr/include/lrslib/lrsmp.h:156:21: error: expected ‘)’ before ‘a’
  156 | void divint (lrs_mp a, lrs_mp b, lrs_mp c);     /* c=a/b, a contains remainder on return          */
      |                     ^
/usr/include/lrslib/lrslong.h:143:55: note: in definition of macro ‘divint’
  143 | #define divint(a, b, c)         *(c) = *(a) / *(b); *(a) = *(a) % *(b)
      |                                                       ^
/usr/include/lrslib/lrslong.h:143:54: note: to match this ‘(’
  143 | #define divint(a, b, c)         *(c) = *(a) / *(b); *(a) = *(a) % *(b)
      |                                                      ^
/usr/include/lrslib/lrsmp.h:156:6: note: in expansion of macro ‘divint’
  156 | void divint (lrs_mp a, lrs_mp b, lrs_mp c);     /* c=a/b, a contains remainder on return          */
      |      ^~~~~~
/usr/include/lrslib/lrsmp.h:158:25: error: expected ‘)’ before ‘a’
  158 | long mp_greater (lrs_mp a, lrs_mp b);   /* tests if a > b and returns (TRUE=POS)          */
      |                         ^
/usr/include/lrslib/lrslong.h:149:39: note: in definition of macro ‘mp_greater’
  149 | #define mp_greater(a, b)           (*(a) > *(b) )
      |                                       ^
/usr/include/lrslib/lrslong.h:149:38: note: to match this ‘(’
  149 | #define mp_greater(a, b)           (*(a) > *(b) )
      |                                      ^
/usr/include/lrslib/lrsmp.h:158:6: note: in expansion of macro ‘mp_greater’
  158 | long mp_greater (lrs_mp a, lrs_mp b);   /* tests if a > b and returns (TRUE=POS)          */
      |      ^~~~~~~~~~
/usr/include/lrslib/lrsmp.h:158:25: error: expected ‘)’ before ‘a’
  158 | long mp_greater (lrs_mp a, lrs_mp b);   /* tests if a > b and returns (TRUE=POS)          */
      |                         ^
/usr/include/lrslib/lrslong.h:149:39: note: in definition of macro ‘mp_greater’
  149 | #define mp_greater(a, b)           (*(a) > *(b) )
      |                                       ^
/usr/include/lrslib/lrslong.h:149:36: note: to match this ‘(’
  149 | #define mp_greater(a, b)           (*(a) > *(b) )
      |                                    ^
/usr/include/lrslib/lrsmp.h:158:6: note: in expansion of macro ‘mp_greater’
  158 | long mp_greater (lrs_mp a, lrs_mp b);   /* tests if a > b and returns (TRUE=POS)          */
      |      ^~~~~~~~~~
/usr/include/lrslib/lrsmp.h:159:29: error: expected ‘)’ before ‘a’
  159 | void itomp (long in, lrs_mp a); /* convert integer i to lrs_mp                    */
      |                             ^
/usr/include/lrslib/lrslong.h:150:36: note: in definition of macro ‘itomp’
  150 | #define itomp(in, a)             *(a) =  in
      |                                    ^
/usr/include/lrslib/lrslong.h:150:35: note: to match this ‘(’
  150 | #define itomp(in, a)             *(a) =  in
      |                                   ^
/usr/include/lrslib/lrsmp.h:159:6: note: in expansion of macro ‘itomp’
  159 | void itomp (long in, lrs_mp a); /* convert integer i to lrs_mp                    */
      |      ^~~~~
/usr/include/lrslib/lrsmp.h:160:21: error: expected ‘)’ before ‘a’
  160 | void linint (lrs_mp a, long ka, lrs_mp b, long kb);     /* compute a*ka+b*kb --> a                        */
      |                     ^
/usr/include/lrslib/lrslong.h:138:35: note: in definition of macro ‘linint’
  138 | #define linint(a, ka, b, kb)    *(a) = *(a) * ka + *(b) * kb
      |                                   ^
/usr/include/lrslib/lrslong.h:138:34: note: to match this ‘(’
  138 | #define linint(a, ka, b, kb)    *(a) = *(a) * ka + *(b) * kb
      |                                  ^
/usr/include/lrslib/lrsmp.h:160:6: note: in expansion of macro ‘linint’
  160 | void linint (lrs_mp a, long ka, lrs_mp b, long kb);     /* compute a*ka+b*kb --> a                        */
      |      ^~~~~~
/usr/include/lrslib/lrsmp.h:168:41: error: expected ‘)’ before ‘c’
  168 | void mulint (lrs_mp a, lrs_mp b, lrs_mp c);     /* multiply two integers a*b --> c                */
      |                                         ^
/usr/include/lrslib/lrslong.h:139:35: note: in definition of macro ‘mulint’
  139 | #define mulint(a, b, c)         *(c) = *(a) * *(b)
      |                                   ^
/usr/include/lrslib/lrslong.h:139:34: note: to match this ‘(’
  139 | #define mulint(a, b, c)         *(c) = *(a) * *(b)
      |                                  ^
/usr/include/lrslib/lrsmp.h:168:6: note: in expansion of macro ‘mulint’
  168 | void mulint (lrs_mp a, lrs_mp b, lrs_mp c);     /* multiply two integers a*b --> c                */
      |      ^~~~~~
/usr/include/lrslib/lrslong.h:155:34: error: expected unqualified-id before ‘void’
  155 | #define normalize(a)            (void) 0
      |                                  ^~~~
/usr/include/lrslib/lrsmp.h:169:6: note: in expansion of macro ‘normalize’
  169 | void normalize (lrs_mp a);      /* normalize lrs_mp after computation             */
      |      ^~~~~~~~~
/usr/include/lrslib/lrslong.h:155:34: error: expected ‘)’ before ‘void’
  155 | #define normalize(a)            (void) 0
      |                                 ~^~~~
/usr/include/lrslib/lrsmp.h:169:6: note: in expansion of macro ‘normalize’
  169 | void normalize (lrs_mp a);      /* normalize lrs_mp after computation             */
      |      ^~~~~~~~~
/usr/include/lrslib/lrsmp.h:174:35: error: ‘long int readrat(long long int*, long long int*)’ redeclared as different kind of entity
  174 | long readrat (lrs_mp Na, lrs_mp Da);    /* read a rational or int and convert to lrs_mp   */
      |                                   ^
/usr/include/lrslib/lrsgmp.h:106:21: note: previous declaration ‘long int readrat’
  106 | #define readrat suf(readrat)
      |                     ^~~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:258:6: note: in expansion of macro ‘readrat’
  258 | long readrat (lrs_mp Na, lrs_mp Da);    /* read a rational or int and convert to lrs_mp   */
      |      ^~~~~~~
/usr/include/lrslib/lrsmp.h:183:41: error: expected ‘)’ before ‘c’
  183 | void addint (lrs_mp a, lrs_mp b, lrs_mp c);     /* compute c=a+b                                  */
      |                                         ^
/usr/include/lrslib/lrslong.h:136:35: note: in definition of macro ‘addint’
  136 | #define addint(a, b, c)         *(c) = *(a) + *(b)
      |                                   ^
/usr/include/lrslib/lrslong.h:136:34: note: to match this ‘(’
  136 | #define addint(a, b, c)         *(c) = *(a) + *(b)
      |                                  ^
/usr/include/lrslib/lrsmp.h:183:6: note: in expansion of macro ‘addint’
  183 | void addint (lrs_mp a, lrs_mp b, lrs_mp c);     /* compute c=a+b                                  */
      |      ^~~~~~
/usr/include/lrslib/lrsmp.h:185:57: error: ‘long int comprod(long long int*, long long int*, long long int*, long long int*)’ redeclared as different kind of entity
  185 | long comprod (lrs_mp Na, lrs_mp Nb, lrs_mp Nc, lrs_mp Nd);      /* +1 if Na*Nb > Nc*Nd,-1 if Na*Nb > Nc*Nd else 0 */
      |                                                         ^
/usr/include/lrslib/lrsgmp.h:86:21: note: previous declaration ‘long int comprod’
   86 | #define comprod suf(comprod)
      |                     ^~~~~~~
/usr/include/lrslib/lrsgmp.h:81:19: note: in definition of macro ‘suf’
   81 | #define suf(func) func
      |                   ^~~~
/usr/include/lrslib/lrsgmp.h:268:6: note: in expansion of macro ‘comprod’
  268 | long comprod (lrs_mp Na, lrs_mp Nb, lrs_mp Nc, lrs_mp Nd);      /* +1 if Na*Nb > Nc*Nd,-1 if Na*Nb > Nc*Nd else 0 */
      |      ^~~~~~~
/usr/include/lrslib/lrsmp.h:201:41: error: expected ‘)’ before ‘c’
  201 | void subint (lrs_mp a, lrs_mp b, lrs_mp c);     /* compute c=a-b                                  */
      |                                         ^
/usr/include/lrslib/lrslong.h:137:35: note: in definition of macro ‘subint’
  137 | #define subint(a, b, c)         *(c) = *(a) - *(b)
      |                                   ^
/usr/include/lrslib/lrslong.h:137:34: note: to match this ‘(’
  137 | #define subint(a, b, c)         *(c) = *(a) - *(b)
      |                                  ^
/usr/include/lrslib/lrsmp.h:201:6: note: in expansion of macro ‘subint’
  201 | void subint (lrs_mp a, lrs_mp b, lrs_mp c);     /* compute c=a-b                                  */
      |      ^~~~~~
In file included from /tmp/hQe3orWqlP/dump1.h:17:
/usr/include/lrslib/lrsrestart.h:1:16: error: redefinition of ‘struct lrs_restart_dat’
    1 | typedef struct lrs_restart_dat   /* for restarting from a given cobasis         */
      |                ^~~~~~~~~~~~~~~
In file included from /usr/include/lrslib/lrsdriver.h:9,
                 from /tmp/hQe3orWqlP/dump1.h:12:
/usr/include/lrslib/lrsrestart.h:1:16: note: previous definition of ‘struct lrs_restart_dat’
    1 | typedef struct lrs_restart_dat   /* for restarting from a given cobasis         */
      |                ^~~~~~~~~~~~~~~
/usr/include/lrslib/lrsrestart.h:22:3: error: conflicting declaration ‘typedef int lrs_restart_dat’
   22 | } lrs_restart_dat;
      |   ^~~~~~~~~~~~~~~
/usr/include/lrslib/lrsrestart.h:22:3: note: previous declaration as ‘typedef struct lrs_restart_dat lrs_restart_dat’
   22 | } lrs_restart_dat;
      |   ^~~~~~~~~~~~~~~

