Temporary header file '/tmp/2rTfTuC5yc/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/opencv4/opencv2/shape/emdL1.hpp"
  #include "/usr/include/opencv4/opencv2/shape/hist_cost.hpp"
  #include "/usr/include/opencv4/opencv2/shape/shape_distance.hpp"
  #include "/usr/include/opencv4/opencv2/shape/shape_transformer.hpp"
  #include "/usr/include/opencv4/opencv2/shape.hpp"

  // add namespaces
  namespace cv{typedef int tmp_add_type_1;}
  cv::tmp_add_type_1 tmp_add_func_1(){return 0;};
  namespace cv{namespace cuda{typedef int tmp_add_type_2;}}
  cv::cuda::tmp_add_type_2 tmp_add_func_2(){return 0;};
  namespace cv{namespace cudev{typedef int tmp_add_type_3;}}
  cv::cudev::tmp_add_type_3 tmp_add_func_3(){return 0;};
  namespace cv{namespace detail{typedef int tmp_add_type_4;}}
  cv::detail::tmp_add_type_4 tmp_add_func_4(){return 0;};
  namespace cv{namespace details{typedef int tmp_add_type_5;}}
  cv::details::tmp_add_type_5 tmp_add_func_5(){return 0;};
  namespace cv{namespace Error{typedef int tmp_add_type_6;}}
  cv::Error::tmp_add_type_6 tmp_add_func_6(){return 0;};
  namespace cv{namespace internal{typedef int tmp_add_type_7;}}
  cv::internal::tmp_add_type_7 tmp_add_func_7(){return 0;};
  namespace cv{namespace ipp{typedef int tmp_add_type_8;}}
  cv::ipp::tmp_add_type_8 tmp_add_func_8(){return 0;};
  namespace cv{namespace ogl{typedef int tmp_add_type_9;}}
  cv::ogl::tmp_add_type_9 tmp_add_func_9(){return 0;};
  namespace cv{namespace samples{typedef int tmp_add_type_10;}}
  cv::samples::tmp_add_type_10 tmp_add_func_10(){return 0;};
  namespace cv{namespace segmentation{typedef int tmp_add_type_11;}}
  cv::segmentation::tmp_add_type_11 tmp_add_func_11(){return 0;};
  namespace cv{namespace sfinae{typedef int tmp_add_type_12;}}
  cv::sfinae::tmp_add_type_12 tmp_add_func_12(){return 0;};
  namespace cv{namespace traits{typedef int tmp_add_type_13;}}
  cv::traits::tmp_add_type_13 tmp_add_func_13(){return 0;};
  namespace cv{namespace traits{namespace internal{typedef int tmp_add_type_14;}}}
  cv::traits::internal::tmp_add_type_14 tmp_add_func_14(){return 0;};
  namespace cv{namespace utils{typedef int tmp_add_type_15;}}
  cv::utils::tmp_add_type_15 tmp_add_func_15(){return 0;};

  // add classes
  Cv16suf* tmp_add_class_0;
  Cv32suf* tmp_add_class_1;
  Cv64suf* tmp_add_class_2;
  _G_fpos64_t* tmp_add_class_3;
  _G_fpos_t* tmp_add_class_4;
  _IO_cookie_io_functions_t* tmp_add_class_5;

The GCC parameters:
  gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/2rTfTuC5yc/dump1.h"  -I/usr/include/opencv4 -I/usr/include/arm-linux-gnueabihf/opencv4/opencv2

