eclipse-iceoryx / iceoryx

Eclipse iceoryx™ - true zero-copy inter-process-communication
https://iceoryx.io
Apache License 2.0
1.62k stars 383 forks source link

Compile failed because of missing <limits> for GCC 11 #811

Closed homalozoa closed 3 years ago

homalozoa commented 3 years ago

Required information

Operating system: Arch Linux

Compiler version: GCC 11.1

Observed result or behaviour: Compile failed.

Expected result or behaviour: Compile succeed.

Conditions where it occurred / Performed steps: A log of log like below:

`--- stderr: iceoryx_posh
HEAD is now at fededad one-char typo In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/build_toml.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In static member function ‘static cpptoml::value_traits<T, typename std::enable_if<(((! cpptoml::valid_value_or_string_convertible::value) && (! std::is_floating_point<typename std::decay<_Tp>::type>::value)) && std::is_signed<typename std::decay<_Tp>::type>::value)>::type>::value_type cpptoml::value_traits<T, typename std::enable_if<(((! cpptoml::valid_value_or_string_convertible::value) && (! std::is_floating_point<typename std::decay<_Tp>::type>::value)) && std::is_signed<typename std::decay<_Tp>::type>::value)>::type>::construct(T&&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:344:25: error: ‘numeric_limits’ is not a member of ‘std’ 344 | if (val < (std::numeric_limits::min)()) | ^~~~~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse_stdin.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In static member function ‘static cpptoml::value_traits<T, typename std::enable_if<(((! cpptoml::valid_value_or_string_convertible::value) && (! std::is_floating_point<typename std::decay<_Tp>::type>::value)) && std::is_signed<typename std::decay<_Tp>::type>::value)>::type>::value_type cpptoml::value_traits<T, typename std::enable_if<(((! cpptoml::valid_value_or_string_convertible::value) && (! std::is_floating_point<typename std::decay<_Tp>::type>::value)) && std::is_signed<typename std::decay<_Tp>::type>::value)>::type>::construct(T&&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:344:25: error: ‘numeric_limits’ is not a member of ‘std’ 344 | if (val < (std::numeric_limits::min)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:344:47: error: expected primary-expression before ‘>’ token 344 | if (val < (std::numeric_limits::min)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:344:47: error: expected primary-expression before ‘>’ token 344 | if (val < (std::numeric_limits::min)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:344:50: error: ‘::min’ has not been declared; did you mean ‘std::min’? 344 | if (val < (std::numeric_limits::min)()) | ^~~ | std::min /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:344:50: error: ‘::min’ has not been declared; did you mean ‘std::min’? 344 | if (val < (std::numeric_limits::min)()) | ^~~ | std::min In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/build_toml.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here 3455 | min(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse_stdin.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here 3455 | min(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse_stdin.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:349:25: error: ‘numeric_limits’ is not a member of ‘std’ 349 | if (val > (std::numeric_limits::max)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:349:47: error: expected primary-expression before ‘>’ token 349 | if (val > (std::numeric_limits::max)()) | ^ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/build_toml.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:349:25: error: ‘numeric_limits’ is not a member of ‘std’ 349 | if (val > (std::numeric_limits::max)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:349:47: error: expected primary-expression before ‘>’ token 349 | if (val > (std::numeric_limits::max)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:349:50: error: ‘::max’ has not been declared; did you mean ‘std::max’? 349 | if (val > (std::numeric_limits::max)()) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse_stdin.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare __comp) | ^~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:349:50: error: ‘::max’ has not been declared; did you mean ‘std::max’? 349 | if (val > (std::numeric_limits::max)()) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/build_toml.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse_stdin.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In static member function ‘static cpptoml::value_traits<T, typename std::enable_if<((! cpptoml::valid_value_or_string_convertible::value) && std::is_unsigned<typename std::decay<_Tp>::type>::value)>::type>::value_type cpptoml::value_traits<T, typename std::enable_if<((! cpptoml::valid_value_or_string_convertible::value) && std::is_unsigned<typename std::decay<_Tp>::type>::value)>::type>::construct(T&&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:369:47: error: ‘numeric_limits’ is not a member of ‘std’ 369 | if (val > static_cast((std::numeric_limits::max)())) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:369:69: error: expected primary-expression before ‘>’ token 369 | if (val > static_cast((std::numeric_limits::max)())) | ^ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/build_toml.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In static member function ‘static cpptoml::value_traits<T, typename std::enable_if<((! cpptoml::valid_value_or_string_convertible::value) && std::is_unsigned<typename std::decay<_Tp>::type>::value)>::type>::value_type cpptoml::value_traits<T, typename std::enable_if<((! cpptoml::valid_value_or_string_convertible::value) && std::is_unsigned<typename std::decay<_Tp>::type>::value)>::type>::construct(T&&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:369:47: error: ‘numeric_limits’ is not a member of ‘std’ 369 | if (val > static_cast((std::numeric_limits::max)())) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:369:69: error: expected primary-expression before ‘>’ token 369 | if (val > static_cast((std::numeric_limits::max)())) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:369:72: error: ‘::max’ has not been declared; did you mean ‘std::max’? 369 | if (val > static_cast((std::numeric_limits::max)())) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse_stdin.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> __l, _Compare comp) | ^~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:369:72: error: ‘::max’ has not been declared; did you mean ‘std::max’? 369 | if (val > static_cast((std::numeric_limits::max)())) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/build_toml.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In static member function ‘static cpptoml::value_traits<T, typename std::enable_if<(((! cpptoml::valid_value_or_string_convertible::value) && (! std::is_floating_point<typename std::decay<_Tp>::type>::value)) && std::is_signed<typename std::decay<_Tp>::type>::value)>::type>::value_type cpptoml::value_traits<T, typename std::enable_if<(((! cpptoml::valid_value_or_string_convertible::value) && (! std::is_floating_point<typename std::decay<_Tp>::type>::value)) && std::is_signed<typename std::decay<_Tp>::type>::value)>::type>::construct(T&&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:344:25: error: ‘numeric_limits’ is not a member of ‘std’ 344 | if (val < (std::numeric_limits::min)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:344:47: error: expected primary-expression before ‘>’ token 344 | if (val < (std::numeric_limits::min)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:344:50: error: ‘::min’ has not been declared; did you mean ‘std::min’? 344 | if (val < (std::numeric_limits::min)()) | ^~~ | std::min In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here 3455 | min(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In static member function ‘static cpptoml::value_traits<T, typename std::enable_if<(((! cpptoml::valid_value_or_string_convertible::value) && (! std::is_floating_point<typename std::decay<_Tp>::type>::value)) && std::is_signed<typename std::decay<_Tp>::type>::value)>::type>::value_type cpptoml::value_traits<T, typename std::enable_if<(((! cpptoml::valid_value_or_string_convertible::value) && (! std::is_floating_point<typename std::decay<_Tp>::type>::value)) && std::is_signed<typename std::decay<_Tp>::type>::value)>::type>::construct(T&&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:344:25: error: ‘numeric_limits’ is not a member of ‘std’ 344 | if (val < (std::numeric_limits::min)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:344:47: error: expected primary-expression before ‘>’ token 344 | if (val < (std::numeric_limits::min)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:344:50: error: ‘::min’ has not been declared; did you mean ‘std::min’? 344 | if (val < (std::numeric_limits::min)()) | ^~~ | std::min In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /usr/include/c++/11.1.0/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here 3455 | min(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:349:25: error: ‘numeric_limits’ is not a member of ‘std’ 349 | if (val > (std::numeric_limits::max)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:349:47: error: expected primary-expression before ‘>’ token 349 | if (val > (std::numeric_limits::max)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:349:50: error: ‘::max’ has not been declared; did you mean ‘std::max’? 349 | if (val > (std::numeric_limits::max)()) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:349:25: error: ‘numeric_limits’ is not a member of ‘std’ 349 | if (val > (std::numeric_limits::max)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:349:47: error: expected primary-expression before ‘>’ token 349 | if (val > (std::numeric_limits::max)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:349:50: error: ‘::max’ has not been declared; did you mean ‘std::max’? 349 | if (val > (std::numeric_limits::max)()) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In static member function ‘static cpptoml::value_traits<T, typename std::enable_if<((! cpptoml::valid_value_or_string_convertible::value) && std::is_unsigned<typename std::decay<_Tp>::type>::value)>::type>::value_type cpptoml::value_traits<T, typename std::enable_if<((! cpptoml::valid_value_or_string_convertible::value) && std::is_unsigned<typename std::decay<_Tp>::type>::value)>::type>::construct(T&&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:369:47: error: ‘numeric_limits’ is not a member of ‘std’ 369 | if (val > static_cast((std::numeric_limits::max)())) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:369:69: error: expected primary-expression before ‘>’ token 369 | if (val > static_cast((std::numeric_limits::max)())) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:369:72: error: ‘::max’ has not been declared; did you mean ‘std::max’? 369 | if (val > static_cast((std::numeric_limits::max)())) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In static member function ‘static cpptoml::value_traits<T, typename std::enable_if<((! cpptoml::valid_value_or_string_convertible::value) && std::is_unsigned<typename std::decay<_Tp>::type>::value)>::type>::value_type cpptoml::value_traits<T, typename std::enable_if<((! cpptoml::valid_value_or_string_convertible::value) && std::is_unsigned<typename std::decay<_Tp>::type>::value)>::type>::construct(T&&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:369:47: error: ‘numeric_limits’ is not a member of ‘std’ 369 | if (val > static_cast((std::numeric_limits::max)())) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:369:69: error: expected primary-expression before ‘>’ token 369 | if (val > static_cast((std::numeric_limits::max)())) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:369:72: error: ‘::max’ has not been declared; did you mean ‘std::max’? 369 | if (val > static_cast((std::numeric_limits::max)())) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/build_toml.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In function ‘typename std::enable_if<((! std::is_floating_point<_Tp>::value) && std::is_signed<_Tp>::value), cpptoml::option >::type cpptoml::get_impl(const std::shared_ptr&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1226:30: error: ‘numeric_limits’ is not a member of ‘std’ 1226 | if (v->get() < (std::numeric_limits::min)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1226:46: error: expected primary-expression before ‘>’ token 1226 | if (v->get() < (std::numeric_limits::min)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1226:49: error: ‘::min’ has not been declared; did you mean ‘std::min’? 1226 | if (v->get() < (std::numeric_limits::min)()) | ^~~ | std::min In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/build_toml.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here 3455 | min(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/build_toml.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1230:30: error: ‘numeric_limits’ is not a member of ‘std’ 1230 | if (v->get() > (std::numeric_limits::max)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1230:46: error: expected primary-expression before ‘>’ token 1230 | if (v->get() > (std::numeric_limits::max)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1230:49: error: ‘::max’ has not been declared; did you mean ‘std::max’? 1230 | if (v->get() > (std::numeric_limits::max)()) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/build_toml.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/build_toml.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In function ‘typename std::enable_if<((! std::is_same<T, bool>::value) && std::is_unsigned<_Tp>::value), cpptoml::option >::type cpptoml::get_impl(const std::shared_ptr&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1253:53: error: ‘numeric_limits’ is not a member of ‘std’ 1253 | if (static_cast(v->get()) > (std::numeric_limits::max)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1253:69: error: expected primary-expression before ‘>’ token 1253 | if (static_cast(v->get()) > (std::numeric_limits::max)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1253:72: error: ‘::max’ has not been declared; did you mean ‘std::max’? 1253 | if (static_cast(v->get()) > (std::numeric_limits::max)()) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/build_toml.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In function ‘typename std::enable_if<((! std::is_floating_point<_Tp>::value) && std::is_signed<_Tp>::value), cpptoml::option >::type cpptoml::get_impl(const std::shared_ptr&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1226:30: error: ‘numeric_limits’ is not a member of ‘std’ 1226 | if (v->get() < (std::numeric_limits::min)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1226:46: error: expected primary-expression before ‘>’ token 1226 | if (v->get() < (std::numeric_limits::min)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1226:49: error: ‘::min’ has not been declared; did you mean ‘std::min’? 1226 | if (v->get() < (std::numeric_limits::min)()) | ^~~ | std::min In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /usr/include/c++/11.1.0/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here 3455 | min(initializer_list<_Tp> l, _Compare __comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1230:30: error: ‘numeric_limits’ is not a member of ‘std’ 1230 | if (v->get() > (std::numeric_limits::max)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1230:46: error: expected primary-expression before ‘>’ token 1230 | if (v->get() > (std::numeric_limits::max)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1230:49: error: ‘::max’ has not been declared; did you mean ‘std::max’? 1230 | if (v->get() > (std::numeric_limits::max)()) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse_stdin.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In function ‘typename std::enable_if<((! std::is_floating_point<_Tp>::value) && std::is_signed<_Tp>::value), cpptoml::option >::type cpptoml::get_impl(const std::shared_ptr&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1226:30: error: ‘numeric_limits’ is not a member of ‘std’ 1226 | if (v->get() < (std::numeric_limits::min)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1226:46: error: expected primary-expression before ‘>’ token 1226 | if (v->get() < (std::numeric_limits::min)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1226:49: error: ‘::min’ has not been declared; did you mean ‘std::min’? 1226 | if (v->get() < (std::numeric_limits::min)()) | ^~~ | std::min In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse_stdin.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here 3455 | min(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In function ‘typename std::enable_if<((! std::is_same<T, bool>::value) && std::is_unsigned<_Tp>::value), cpptoml::option >::type cpptoml::get_impl(const std::shared_ptr&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1253:53: error: ‘numeric_limits’ is not a member of ‘std’ 1253 | if (static_cast(v->get()) > (std::numeric_limits::max)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1253:69: error: expected primary-expression before ‘>’ token 1253 | if (static_cast(v->get()) > (std::numeric_limits::max)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1253:72: error: ‘::max’ has not been declared; did you mean ‘std::max’? 1253 | if (static_cast(v->get()) > (std::numeric_limits::max)()) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse_stdin.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1230:30: error: ‘numeric_limits’ is not a member of ‘std’ 1230 | if (v->get() > (std::numeric_limits::max)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1230:46: error: expected primary-expression before ‘>’ token 1230 | if (v->get() > (std::numeric_limits::max)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1230:49: error: ‘::max’ has not been declared; did you mean ‘std::max’? 1230 | if (v->get() > (std::numeric_limits::max)()) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse_stdin.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> __l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In function ‘typename std::enable_if<((! std::is_floating_point<_Tp>::value) && std::is_signed<_Tp>::value), cpptoml::option >::type cpptoml::get_impl(const std::shared_ptr&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1226:30: error: ‘numeric_limits’ is not a member of ‘std’ 1226 | if (v->get() < (std::numeric_limits::min)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1226:46: error: expected primary-expression before ‘>’ token 1226 | if (v->get() < (std::numeric_limits::min)()) | ^ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse_stdin.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In function ‘typename std::enable_if<((! std::is_same<T, bool>::value) && std::is_unsigned<_Tp>::value), cpptoml::option >::type cpptoml::get_impl(const std::shared_ptr&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1253:53: error: ‘numeric_limits’ is not a member of ‘std’ 1253 | if (static_cast(v->get()) > (std::numeric_limits::max)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1253:69: error: expected primary-expression before ‘>’ token 1253 | if (static_cast(v->get()) > (std::numeric_limits::max)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1226:49: error: ‘::min’ has not been declared; did you mean ‘std::min’? 1226 | if (v->get() < (std::numeric_limits::min)()) | ^~~ | std::min In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here 3455 | min(initializer_list<_Tp> l, _Compare comp) | ^~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1253:72: error: ‘::max’ has not been declared; did you mean ‘std::max’? 1253 | if (static_cast(v->get()) > (std::numeric_limits::max)()) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse_stdin.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1230:30: error: ‘numeric_limits’ is not a member of ‘std’ 1230 | if (v->get() > (std::numeric_limits::max)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1230:46: error: expected primary-expression before ‘>’ token 1230 | if (v->get() > (std::numeric_limits::max)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1230:49: error: ‘::max’ has not been declared; did you mean ‘std::max’? 1230 | if (v->get() > (std::numeric_limits::max)()) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In function ‘typename std::enable_if<((! std::is_same<T, bool>::value) && std::is_unsigned<_Tp>::value), cpptoml::option >::type cpptoml::get_impl(const std::shared_ptr&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1253:53: error: ‘numeric_limits’ is not a member of ‘std’ 1253 | if (static_cast(v->get()) > (std::numeric_limits::max)()) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1253:69: error: expected primary-expression before ‘>’ token 1253 | if (static_cast(v->get()) > (std::numeric_limits::max)()) | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:1253:72: error: ‘::max’ has not been declared; did you mean ‘std::max’? 1253 | if (static_cast(v->get()) > (std::numeric_limits::max)()) | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse.cpp:1: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare comp) | ^~~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse_stdin.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In member function ‘std::shared_ptr cpptoml::parser::parse_number(std::cxx11::basic_string::iterator&, const iterator&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2732:33: error: ‘numeric_limits’ is not a member of ‘std’ 2732 | auto val = std::numeric_limits::infinity(); | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2732:48: error: expected primary-expression before ‘double’ 2732 | auto val = std::numeric_limits::infinity(); | ^~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2741:33: error: ‘numeric_limits’ is not a member of ‘std’ 2741 | auto val = std::numeric_limits::quiet_NaN(); | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2741:48: error: expected primary-expression before ‘double’ 2741 | auto val = std::numeric_limits::quiet_NaN(); | ^~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/build_toml.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In member function ‘std::shared_ptr cpptoml::parser::parse_number(std::cxx11::basic_string::iterator&, const iterator&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2732:33: error: ‘numeric_limits’ is not a member of ‘std’ 2732 | auto val = std::numeric_limits::infinity(); | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2732:48: error: expected primary-expression before ‘double’ 2732 | auto val = std::numeric_limits::infinity(); | ^~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2741:33: error: ‘numeric_limits’ is not a member of ‘std’ 2741 | auto val = std::numeric_limits::quiet_NaN(); | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2741:48: error: expected primary-expression before ‘double’ 2741 | auto val = std::numeric_limits::quiet_NaN(); | ^~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/parse.cpp:1: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In member function ‘std::shared_ptr cpptoml::parser::parse_number(std::cxx11::basic_string::iterator&, const iterator&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2732:33: error: ‘numeric_limits’ is not a member of ‘std’ 2732 | auto val = std::numeric_limits::infinity(); | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2732:48: error: expected primary-expression before ‘double’ 2732 | auto val = std::numeric_limits::infinity(); | ^~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2741:33: error: ‘numeric_limits’ is not a member of ‘std’ 2741 | auto val = std::numeric_limits::quiet_NaN(); | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2741:48: error: expected primary-expression before ‘double’ 2741 | auto val = std::numeric_limits::quiet_NaN(); | ^~ In file included from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In member function ‘std::shared_ptr cpptoml::parser::parse_number(std::__cxx11::basic_string::iterator&, const iterator&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2732:33: error: ‘numeric_limits’ is not a member of ‘std’ 2732 | auto val = std::numeric_limits::infinity(); | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2732:48: error: expected primary-expression before ‘double’ 2732 | auto val = std::numeric_limits::infinity(); | ^~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2741:33: error: ‘numeric_limits’ is not a member of ‘std’ 2741 | auto val = std::numeric_limits::quiet_NaN(); | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:2741:48: error: expected primary-expression before ‘double’ 2741 | auto val = std::numeric_limits::quiet_NaN(); | ^~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In member function ‘void cpptoml::toml_writer::write(const cpptoml::value&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:3481:38: error: ‘numeric_limits’ is not a member of ‘std’ 3481 | << std::setprecision(std::numeric_limits::max_digits10) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:3481:53: error: expected primary-expression before ‘double’ 3481 | << std::setprecision(std::numeric_limits::max_digits10) | ^~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In member function ‘void cpptoml::toml_writer::write(const cpptoml::value&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:3481:38: error: ‘numeric_limits’ is not a member of ‘std’ 3481 | << std::setprecision(std::numeric_limits::max_digits10) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:3481:53: error: expected primary-expression before ‘double’ 3481 | << std::setprecision(std::numeric_limits::max_digits10) | ^~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In member function ‘void cpptoml::toml_writer::write(const cpptoml::value&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:3481:38: error: ‘numeric_limits’ is not a member of ‘std’ 3481 | << std::setprecision(std::numeric_limits::max_digits10) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:3481:53: error: expected primary-expression before ‘double’ 3481 | << std::setprecision(std::numeric_limits::max_digits10) | ^~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h: In member function ‘void cpptoml::toml_writer::write(const cpptoml::value&)’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:3481:38: error: ‘numeric_limits’ is not a member of ‘std’ 3481 | << std::setprecision(std::numeric_limits::max_digits10) | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:3481:53: error: expected primary-expression before ‘double’ 3481 | << std::setprecision(std::numeric_limits::max_digits10) | ^~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp: In function ‘int main()’: /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:18:38: error: ‘numeric_limits’ is not a member of ‘std’ 18 | root->insert("too-big", std::numeric_limits::max()); | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:18:61: error: expected primary-expression before ‘>’ token 18 | root->insert("too-big", std::numeric_limits::max()); | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:18:64: error: ‘::max’ has not been declared; did you mean ‘std::max’? 18 | root->insert("too-big", std::numeric_limits::max()); | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> l, _Compare comp) | ^~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:24:41: error: ‘numeric_limits’ is not a member of ‘std’ 24 | root->insert("medium-integer", std::numeric_limits::max()); | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:24:63: error: expected primary-expression before ‘>’ token 24 | root->insert("medium-integer", std::numeric_limits::max()); | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:24:66: error: ‘::max’ has not been declared; did you mean ‘std::max’? 24 | root->insert("medium-integer", std::numeric_limits::max()); | ^~~ | std::max In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here 3467 | max(initializer_list<_Tp> __l, _Compare comp) | ^~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:36:42: error: ‘numeric_limits’ is not a member of ‘std’ 36 | root->insert("medium-negative", std::numeric_limits::min()); | ^~~~~~ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:36:64: error: expected primary-expression before ‘>’ token 36 | root->insert("medium-negative", std::numeric_limits::min()); | ^ /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:36:67: error: ‘::min’ has not been declared; did you mean ‘std::min’? 36 | root->insert("medium-negative", std::numeric_limits::min()); | ^~~ | std::min In file included from /usr/include/c++/11.1.0/algorithm:62, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/include/cpptoml.h:10, from /home/nut/git_local/ros_rolling/build/iceoryx_posh/dependencies/cpptoml/src/examples/conversions.cpp:4: /usr/include/c++/11.1.0/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here 3455 | min(initializer_list<_Tp> __l, _Compare __comp) | ^~~ make[2]: [examples/CMakeFiles/parse.dir/build.make:76: examples/CMakeFiles/parse.dir/parse.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:209: examples/CMakeFiles/parse.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... make[2]: [examples/CMakeFiles/cpptoml-build.dir/build.make:76: examples/CMakeFiles/cpptoml-build.dir/build_toml.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:157: examples/CMakeFiles/cpptoml-build.dir/all] Error 2 make[2]: [examples/CMakeFiles/cpptoml-conversions.dir/build.make:76: examples/CMakeFiles/cpptoml-conversions.dir/conversions.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:131: examples/CMakeFiles/cpptoml-conversions.dir/all] Error 2 make[2]: [examples/CMakeFiles/cpptoml-parser.dir/build.make:76: examples/CMakeFiles/cpptoml-parser.dir/parse_stdin.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:183: examples/CMakeFiles/cpptoml-parser.dir/all] Error 2 make: [Makefile:136: all] Error 2 CMake Error at cmake/cpptoml/CMakeLists.txt:77 (message): Build step [build and install] for cpptoml failed: 2


Failed <<< iceoryx_posh [5.05s, exited with code 1]

`

elBoberido commented 3 years ago

Does this compilation error also occur with the latest master? We "fixed" it by not building the cpptoml examples with #792. This also speeds ups the build process a little bit.

homalozoa commented 3 years ago

The error was compiled with release_1.0 branch. I tried master branch. The bug is fixed. I'll close my PR. And maybe the version in ros2 rolling repos should be update.

elBoberido commented 3 years ago

Yes, there is already a PR open for that. It's part of #806 and will be merged soon

homalozoa commented 3 years ago

Nice! I will close this issue. Thank you.

elfenpiff commented 3 years ago

@elBoberido @paeunt I reopened the issue because I think that the corresponding PR fixes the issue of the missing limits include in the cpptoml headers which is not done in #806.

Maybe this issue is already somewhere else fixed but I think that it is still there but due to some random coincidence or header include order it is hidden.

elBoberido commented 3 years ago

@elfenpiff I'd rather have a low number of patches we have to take care of and this is not strictly necessary since it can be worked around quite easily and is only limited to a small amount of code

elfenpiff commented 3 years ago

@elBoberido I agree. But if not every developer is aware that we have to add #include <limits> before including cpptoml.h we will may again and again get a compilation issue here in github.

Could we agree that applying this patch is the short-term solution and we switch to an alternative toml library as a long-term solution?

elBoberido commented 3 years ago

@elfenpiff sure, but we need to make applying the patch work with Windows

homalozoa commented 3 years ago

I'll see the windows patch not working problem later. @elBoberido