Temporary header file '/tmp/HkpAtsbTPR/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/cppoptlib/boundedproblem.h" #include "/usr/include/cppoptlib/linesearch/armijo.h" #include "/usr/include/cppoptlib/linesearch/morethuente.h" #include "/usr/include/cppoptlib/linesearch/wolfeheuristic.h" #include "/usr/include/cppoptlib/meta.h" #include "/usr/include/cppoptlib/problem.h" #include "/usr/include/cppoptlib/solver/bfgssolver.h" #include "/usr/include/cppoptlib/solver/cmaesbsolver.h" #include "/usr/include/cppoptlib/solver/cmaessolver.h" #include "/usr/include/cppoptlib/solver/conjugatedgradientdescentsolver.h" #include "/usr/include/cppoptlib/solver/gradientdescentsolver.h" #include "/usr/include/cppoptlib/solver/isolver.h" #include "/usr/include/cppoptlib/solver/lbfgsbsolver.h" #include "/usr/include/cppoptlib/solver/lbfgssolver.h" #include "/usr/include/cppoptlib/solver/neldermeadsolver.h" #include "/usr/include/cppoptlib/solver/newtondescentsolver.h" #include "/usr/include/cppoptlib/timer.h" // add namespaces namespace cppoptlib{typedef int tmp_add_type_1;} cppoptlib::tmp_add_type_1 tmp_add_func_1(){return 0;}; namespace Eigen{typedef int tmp_add_type_2;} Eigen::tmp_add_type_2 tmp_add_func_2(){return 0;}; namespace Eigen{namespace Architecture{typedef int tmp_add_type_3;}} Eigen::Architecture::tmp_add_type_3 tmp_add_func_3(){return 0;}; namespace Eigen{namespace indexing{typedef int tmp_add_type_4;}} Eigen::indexing::tmp_add_type_4 tmp_add_func_4(){return 0;}; namespace Eigen{namespace internal{typedef int tmp_add_type_5;}} Eigen::internal::tmp_add_type_5 tmp_add_func_5(){return 0;}; namespace Eigen{namespace numext{typedef int tmp_add_type_6;}} Eigen::numext::tmp_add_type_6 tmp_add_func_6(){return 0;}; namespace Eigen{namespace placeholders{typedef int tmp_add_type_7;}} Eigen::placeholders::tmp_add_type_7 tmp_add_func_7(){return 0;}; namespace Eigen{namespace symbolic{typedef int tmp_add_type_8;}} Eigen::symbolic::tmp_add_type_8 tmp_add_func_8(){return 0;}; namespace Eigen{namespace bfloat16_impl{typedef int tmp_add_type_9;}} Eigen::bfloat16_impl::tmp_add_type_9 tmp_add_func_9(){return 0;}; namespace Eigen{namespace half_impl{typedef int tmp_add_type_10;}} Eigen::half_impl::tmp_add_type_10 tmp_add_func_10(){return 0;}; namespace Eigen{namespace internal{namespace std_fallback{typedef int tmp_add_type_11;}}} Eigen::internal::std_fallback::tmp_add_type_11 tmp_add_func_11(){return 0;}; // 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/HkpAtsbTPR/dump1.h" -I/usr/include/eigen3 -I/usr/include/eigen3/Eigen/src/Core/arch/HIP/hcc In file included from /tmp/HkpAtsbTPR/dump1.h:15: /usr/include/cppoptlib/linesearch/wolfeheuristic.h:22:29: error: ‘Vector’ does not name a type 22 | static T linesearch(const Vector & x0, const Vector & searchDir, P &objFunc, const T alpha_init = 1) { | ^~~~~~ /usr/include/cppoptlib/linesearch/wolfeheuristic.h:22:35: error: expected ‘,’ or ‘...’ before ‘<’ token 22 | static T linesearch(const Vector & x0, const Vector & searchDir, P &objFunc, const T alpha_init = 1) { | ^ /usr/include/cppoptlib/linesearch/wolfeheuristic.h: In static member function ‘static T cppoptlib::WolfeHeuristic::linesearch(int)’: /usr/include/cppoptlib/linesearch/wolfeheuristic.h:24:5: error: ‘Vector’ was not declared in this scope; did you mean ‘Eigen::Vector’? 24 | Vector x = x0; | ^~~~~~ | Eigen::Vector In file included from /usr/include/eigen3/Eigen/Core:295, from /usr/include/cppoptlib/boundedproblem.h:15, from /tmp/HkpAtsbTPR/dump1.h:12: /usr/include/eigen3/Eigen/src/Core/Matrix.h:551:7: note: ‘Eigen::Vector’ declared here 551 | using Vector = Matrix; | ^~~~~~ /usr/include/cppoptlib/linesearch/wolfeheuristic.h:24:13: error: expected primary-expression before ‘>’ token 24 | Vector x = x0; | ^ /usr/include/cppoptlib/linesearch/wolfeheuristic.h:24:15: error: ‘x’ was not declared in this scope 24 | Vector x = x0; | ^ /usr/include/cppoptlib/linesearch/wolfeheuristic.h:24:19: error: ‘x0’ was not declared in this scope; did you mean ‘y0’? 24 | Vector x = x0; | ^~ | y0 /usr/include/cppoptlib/linesearch/wolfeheuristic.h:27:14: error: ‘objFunc’ was not declared in this scope 27 | T phi0 = objFunc.value(x0); | ^~~~~~~ /usr/include/cppoptlib/linesearch/wolfeheuristic.h:29:13: error: expected primary-expression before ‘>’ token 29 | Vector grad(x.rows()); | ^ /usr/include/cppoptlib/linesearch/wolfeheuristic.h:30:25: error: ‘grad’ was not declared in this scope 30 | objFunc.gradient(x, grad); | ^~~~ /usr/include/cppoptlib/linesearch/wolfeheuristic.h:32:19: error: ‘searchDir’ was not declared in this scope 32 | T phi0_dash = searchDir.dot(grad); | ^~~~~~~~~ /usr/include/cppoptlib/linesearch/wolfeheuristic.h:34:15: error: ‘alpha_init’ was not declared in this scope 34 | T alpha = alpha_init; | ^~~~~~~~~~ /usr/include/cppoptlib/linesearch/wolfeheuristic.h:41:15: error: expected primary-expression before ‘>’ token 41 | Vector x_candidate = x + alpha * searchDir; | ^ /usr/include/cppoptlib/linesearch/wolfeheuristic.h:41:17: error: ‘x_candidate’ was not declared in this scope 41 | Vector x_candidate = x + alpha * searchDir; | ^~~~~~~~~~~ /usr/include/cppoptlib/linesearch/wolfeheuristic.h:51:17: error: expected primary-expression before ‘>’ token 51 | Vector grad2(x.rows()); | ^ /usr/include/cppoptlib/linesearch/wolfeheuristic.h:52:39: error: ‘grad2’ was not declared in this scope 52 | objFunc.gradient(x_candidate, grad2); | ^~~~~