Temporary header file '/tmp/nvkeQy6Y3Q/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/freefem++/AFunction.hpp"
  #include "/usr/include/freefem++/AFunction_ext.hpp"
  #include "/usr/include/freefem++/AddNewFE.h"
  #include "/usr/include/freefem++/AnyType.hpp"
  #include "/usr/include/freefem++/BFGS.hpp"
  #include "/usr/include/freefem++/BamgFreeFem.hpp"
  #include "/usr/include/freefem++/BrentLS.hpp"
  #include "/usr/include/freefem++/CG.hpp"
  #include "/usr/include/freefem++/CGNL.hpp"
  #include "/usr/include/freefem++/CodeAlloc.hpp"
  #include "/usr/include/freefem++/CubicLS.hpp"
  #include "/usr/include/freefem++/DOperator.hpp"
  #include "/usr/include/freefem++/DataFindBoundary.hpp"
  #include "/usr/include/freefem++/FESpace.hpp"
  #include "/usr/include/freefem++/FESpacen.hpp"
  #include "/usr/include/freefem++/FQuadTree.hpp"
  #include "/usr/include/freefem++/FreeFEM-config.h"
  #include "/usr/include/freefem++/GQuadTree.hpp"
  #include "/usr/include/freefem++/GenericMesh.hpp"
  #include "/usr/include/freefem++/HashMatrix.hpp"
  #include "/usr/include/freefem++/HashTable.hpp"
  #include "/usr/include/freefem++/HeapSort.hpp"
  #include "/usr/include/freefem++/InitFunct.hpp"
  #include "/usr/include/freefem++/Label.hpp"
  #include "/usr/include/freefem++/LineSearch.hpp"
  #include "/usr/include/freefem++/MatriceCreuse.hpp"
  #include "/usr/include/freefem++/MatriceCreuse_tpl.hpp"
  #include "/usr/include/freefem++/MatriceElementaire.hpp"
  #include "/usr/include/freefem++/Mesh1dn.hpp"
  #include "/usr/include/freefem++/Mesh2.h"
  #include "/usr/include/freefem++/Mesh2dn.hpp"
  #include "/usr/include/freefem++/Mesh3dn.hpp"
  #include "/usr/include/freefem++/MeshLn.hpp"
  #include "/usr/include/freefem++/MeshPoint.hpp"
  #include "/usr/include/freefem++/MeshSn.hpp"
  #include "/usr/include/freefem++/Meshio.h"
  #include "/usr/include/freefem++/Metric.h"
  #include "/usr/include/freefem++/NRJ.hpp"
  #include "/usr/include/freefem++/NewtonRaphson.hpp"
  #include "/usr/include/freefem++/Operator.hpp"
  #include "/usr/include/freefem++/Optima.hpp"
  #include "/usr/include/freefem++/P1IsoValue.hpp"
  #include "/usr/include/freefem++/Param.hpp"
  #include "/usr/include/freefem++/PkLagrange.hpp"
  #include "/usr/include/freefem++/PlotStream.hpp"
  #include "/usr/include/freefem++/QuadTree.h"
  #include "/usr/include/freefem++/QuadratureFormular.hpp"
  #include "/usr/include/freefem++/R1.hpp"
  #include "/usr/include/freefem++/R2.h"
  #include "/usr/include/freefem++/R2.hpp"
  #include "/usr/include/freefem++/R3.hpp"
  #include "/usr/include/freefem++/RNM.hpp"
  #include "/usr/include/freefem++/RNM_op.hpp"
  #include "/usr/include/freefem++/RNM_opc.hpp"
  #include "/usr/include/freefem++/RNM_tpl.hpp"
  #include "/usr/include/freefem++/RefCounter.hpp"
  #include "/usr/include/freefem++/RosenBrock.hpp"
  #include "/usr/include/freefem++/Serialize.hpp"
  #include "/usr/include/freefem++/SetOfE4.h"
  #include "/usr/include/freefem++/SkyLineSolver.hpp"
  #include "/usr/include/freefem++/SolverSkyLine.hpp"
  #include "/usr/include/freefem++/SparseLinearSolver.hpp"
  #include "/usr/include/freefem++/String.hpp"
  #include "/usr/include/freefem++/VirtualMatrix.hpp"
  #include "/usr/include/freefem++/VirtualSolver.hpp"
  #include "/usr/include/freefem++/VirtualSolverCG.hpp"
  #include "/usr/include/freefem++/VirtualSolverSkyLine.hpp"
  #include "/usr/include/freefem++/VirtualSolverSparseSuite.hpp"
  #include "/usr/include/freefem++/array_init.hpp"
  #include "/usr/include/freefem++/array_resize.hpp"
  #include "/usr/include/freefem++/array_tlp.hpp"
  #include "/usr/include/freefem++/assertion.hpp"
  #include "/usr/include/freefem++/bmo.hpp"
  #include "/usr/include/freefem++/clapack.h"
  #include "/usr/include/freefem++/defs.hpp"
  #include "/usr/include/freefem++/eigenv.h"
  #include "/usr/include/freefem++/endian.hpp"
  #include "/usr/include/freefem++/environment.hpp"
  #include "/usr/include/freefem++/error.hpp"
  #include "/usr/include/freefem++/fem.hpp"
  #include "/usr/include/freefem++/fem3.hpp"
  #include "/usr/include/freefem++/ff++.hpp"
  #include "/usr/include/freefem++/ffapi.hpp"
  #include "/usr/include/freefem++/ffstack.hpp"
  #include "/usr/include/freefem++/getprog-unix.hpp"
  #include "/usr/include/freefem++/glrgraph.hpp"
  #include "/usr/include/freefem++/gmres.hpp"
  #include "/usr/include/freefem++/lex.hpp"
  #include "/usr/include/freefem++/lg.tab.hpp"
  #include "/usr/include/freefem++/lgfem.hpp"
  #include "/usr/include/freefem++/lgmesh3.hpp"
  #include "/usr/include/freefem++/lgsolver.hpp"
  #include "/usr/include/freefem++/libMesh/chrono.h"
  #include "/usr/include/freefem++/libMesh/eigenv.h"
  #include "/usr/include/freefem++/libMesh/libmeshb7.h"
  #include "/usr/include/freefem++/libMesh/memory.h"
  #include "/usr/include/freefem++/libmesh5.h"
  #include "/usr/include/freefem++/meshtype.h"
  #include "/usr/include/freefem++/mode_open.hpp"
  #include "/usr/include/freefem++/msh3.hpp"
  #include "/usr/include/freefem++/pcm.hpp"
  #include "/usr/include/freefem++/ppmimg.h"
  #include "/usr/include/freefem++/problem.hpp"
  #include "/usr/include/freefem++/renumb.hpp"
  #include "/usr/include/freefem++/rgraph.hpp"
  #include "/usr/include/freefem++/showverb.hpp"
  #include "/usr/include/freefem++/splitsimplex.hpp"
  #include "/usr/include/freefem++/strversionnumber.hpp"
  #include "/usr/include/freefem++/throwassert.hpp"
  #include "/usr/include/freefem++/ufunction.hpp"
  #include "/usr/include/freefem++/versionnumber.hpp"
  #include "/usr/include/freefem++/write_hdf5.hpp"
  #include "/usr/include/freefem++/write_xdmf.hpp"

  // add namespaces
  namespace bamg{typedef int tmp_add_type_1;}
  bamg::tmp_add_type_1 tmp_add_func_1(){return 0;};
  namespace EF23{typedef int tmp_add_type_2;}
  EF23::tmp_add_type_2 tmp_add_func_2(){return 0;};
  namespace Fem2D{typedef int tmp_add_type_3;}
  Fem2D::tmp_add_type_3 tmp_add_func_3(){return 0;};
  namespace ffapi{typedef int tmp_add_type_4;}
  ffapi::tmp_add_type_4 tmp_add_func_4(){return 0;};
  namespace FreeFempp{typedef int tmp_add_type_5;}
  FreeFempp::tmp_add_type_5 tmp_add_func_5(){return 0;};
  namespace RNM{typedef int tmp_add_type_6;}
  RNM::tmp_add_type_6 tmp_add_func_6(){return 0;};

The GCC parameters:
  gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/nvkeQy6Y3Q/dump1.h"  -I/usr/include/freefem\+\+

In file included from /tmp/nvkeQy6Y3Q/dump1.h:23:
/usr/include/freefem++/DOperator.hpp:326:64: error: macro "Max" passed 3 arguments, but takes just 2
  326 |     { return Max(op,(int) b.first.second,(int) b.second.second );}
      |                                                                ^
In file included from /usr/include/freefem++/NRJ.hpp:26,
                 from /usr/include/freefem++/Optima.hpp:4,
                 from /usr/include/freefem++/BFGS.hpp:28,
                 from /tmp/nvkeQy6Y3Q/dump1.h:16:
/usr/include/freefem++/defs.hpp:69: note: macro "Max" defined here
   69 | #define Max(x, y) ((x) > (y) ? (x) : (y))
      | 
In file included from /usr/include/freefem++/FESpacen.hpp:53,
                 from /usr/include/freefem++/FESpace.hpp:31,
                 from /tmp/nvkeQy6Y3Q/dump1.h:25:
/usr/include/freefem++/ufunction.hpp:41:67: error: macro "Max" passed 3 arguments, but takes just 2
   41 | template<class T> inline T Max (const T &a,const T & b,const T & c){return Max(Max(a,b),c);}
      |                                                                   ^
/usr/include/freefem++/defs.hpp:69: note: macro "Max" defined here
   69 | #define Max(x, y) ((x) > (y) ? (x) : (y))
      | 
/usr/include/freefem++/ufunction.hpp:42:67: error: macro "Min" passed 3 arguments, but takes just 2
   42 | template<class T> inline T Min (const T &a,const T & b,const T & c){return Min(Min(a,b),c);}
      |                                                                   ^
/usr/include/freefem++/defs.hpp:72: note: macro "Min" defined here
   72 | #define Min(x, y) ((x) < (y) ? (x) : (y))
      | 
In file included from /usr/include/freefem++/MeshLn.hpp:44,
                 from /usr/include/freefem++/FESpacen.hpp:54:
/usr/include/freefem++/R3.hpp:114:91: error: macro "Max" passed 3 arguments, but takes just 2
  114 | inline R Norme_infty(const R3 & A){return Max(std::fabs(A.x),std::fabs(A.y),std::fabs(A.z));}
      |                                                                                           ^
/usr/include/freefem++/defs.hpp:69: note: macro "Max" defined here
   69 | #define Max(x, y) ((x) > (y) ? (x) : (y))
      | 
In file included from /usr/include/freefem++/GenericMesh.hpp:60,
                 from /usr/include/freefem++/MeshLn.hpp:51:
/usr/include/freefem++/GQuadTree.hpp:113:55: error: macro "Max" passed 3 arguments, but takes just 2
  113 |     int norm() const { return Max(abs(x),abs(y),abs(z));}
      |                                                       ^
/usr/include/freefem++/defs.hpp:69: note: macro "Max" defined here
   69 | #define Max(x, y) ((x) > (y) ? (x) : (y))
      | 
In file included from /tmp/nvkeQy6Y3Q/dump1.h:29:
/usr/include/freefem++/GQuadTree.hpp:113:55: error: macro "Max" passed 3 arguments, but takes just 2
  113 |     int norm() const { return Max(abs(x),abs(y),abs(z));}
      |                                                       ^
/usr/include/freefem++/defs.hpp:69: note: macro "Max" defined here
   69 | #define Max(x, y) ((x) > (y) ? (x) : (y))
      | 
In file included from /usr/include/freefem++/MatriceElementaire.hpp:3,
                 from /usr/include/freefem++/VirtualMatrix.hpp:3,
                 from /usr/include/freefem++/HashMatrix.hpp:17,
                 from /tmp/nvkeQy6Y3Q/dump1.h:31:
/usr/include/freefem++/fem.hpp:328:74: error: macro "Max" passed 3 arguments, but takes just 2
  328 |       R h() const { return sqrt(Max(lenEdge2(0), lenEdge2(1), lenEdge2(2))); }
      |                                                                          ^
/usr/include/freefem++/defs.hpp:69: note: macro "Max" defined here
   69 | #define Max(x, y) ((x) > (y) ? (x) : (y))
      | 
/usr/include/freefem++/fem.hpp:329:78: error: macro "Min" passed 3 arguments, but takes just 2
  329 |       R h_min() const { return sqrt(Min(lenEdge2(0), lenEdge2(1), lenEdge2(2))); }
      |                                                                              ^
/usr/include/freefem++/defs.hpp:72: note: macro "Min" defined here
   72 | #define Min(x, y) ((x) < (y) ? (x) : (y))
      | 
In file included from /usr/include/freefem++/MatriceCreuse.hpp:42,
                 from /tmp/nvkeQy6Y3Q/dump1.h:37:
/usr/include/freefem++/DOperator.hpp:326:64: error: macro "Max" passed 3 arguments, but takes just 2
  326 |     { return Max(op,(int) b.first.second,(int) b.second.second );}
      |                                                                ^
/usr/include/freefem++/defs.hpp:69: note: macro "Max" defined here
   69 | #define Max(x, y) ((x) > (y) ? (x) : (y))
      | 
In file included from /usr/include/freefem++/Mesh2.h:84,
                 from /tmp/nvkeQy6Y3Q/dump1.h:41:
/usr/include/freefem++/Metric.h:143:22: error: macro "Min" requires 2 arguments, but only 1 given
  143 |     void Min(double a) {
      |                      ^
/usr/include/freefem++/defs.hpp:72: note: macro "Min" defined here
   72 | #define Min(x, y) ((x) < (y) ? (x) : (y))
      | 
/usr/include/freefem++/Metric.h:147:22: error: macro "Max" requires 2 arguments, but only 1 given
  147 |     void Max(double a) {
      |                      ^
/usr/include/freefem++/defs.hpp:69: note: macro "Max" defined here
   69 | #define Max(x, y) ((x) > (y) ? (x) : (y))
      | 
/usr/include/freefem++/Metric.h:152:44: error: macro "Max" requires 2 arguments, but only 1 given
  152 |     void Minh(double h) { Max(1.0 / (h * h)); }
      |                                            ^
/usr/include/freefem++/defs.hpp:69: note: macro "Max" defined here
   69 | #define Max(x, y) ((x) > (y) ? (x) : (y))
      | 
/usr/include/freefem++/Metric.h:153:44: error: macro "Min" requires 2 arguments, but only 1 given
  153 |     void Maxh(double h) { Min(1.0 / (h * h)); }
      |                                            ^
/usr/include/freefem++/defs.hpp:72: note: macro "Min" defined here
   72 | #define Min(x, y) ((x) < (y) ? (x) : (y))
      | 
In file included from /tmp/nvkeQy6Y3Q/dump1.h:48:
/usr/include/freefem++/Metric.h:143:22: error: macro "Min" requires 2 arguments, but only 1 given
  143 |     void Min(double a) {
      |                      ^
/usr/include/freefem++/defs.hpp:72: note: macro "Min" defined here
   72 | #define Min(x, y) ((x) < (y) ? (x) : (y))
      | 
/usr/include/freefem++/Metric.h:147:22: error: macro "Max" requires 2 arguments, but only 1 given
  147 |     void Max(double a) {
      |                      ^
/usr/include/freefem++/defs.hpp:69: note: macro "Max" defined here
   69 | #define Max(x, y) ((x) > (y) ? (x) : (y))
      | 
/usr/include/freefem++/Metric.h:152:44: error: macro "Max" requires 2 arguments, but only 1 given
  152 |     void Minh(double h) { Max(1.0 / (h * h)); }
      |                                            ^
/usr/include/freefem++/defs.hpp:69: note: macro "Max" defined here
   69 | #define Max(x, y) ((x) > (y) ? (x) : (y))
      | 
/usr/include/freefem++/Metric.h:153:44: error: macro "Min" requires 2 arguments, but only 1 given
  153 |     void Maxh(double h) { Min(1.0 / (h * h)); }
      |                                            ^
/usr/include/freefem++/defs.hpp:72: note: macro "Min" defined here
   72 | #define Min(x, y) ((x) < (y) ? (x) : (y))
      | 
In file included from /tmp/nvkeQy6Y3Q/dump1.h:97:
/usr/include/freefem++/glrgraph.hpp:57:10: fatal error: GL/gl.h: No such file or directory
   57 | #include <GL/gl.h>
      |          ^~~~~~~~~
compilation terminated.

