Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#58406 - gcc/g++ 7.3.1 internal compiler error on arch/Manjaro

Attached to Project: Arch Linux
Opened by Patrik Huber (patrik) - Monday, 30 April 2018, 16:58 GMT
Last edited by Eli Schwartz (eschwartz) - Monday, 30 April 2018, 17:07 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To No-one
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: g++-7.3.1 results in an internal compiler error:

[ 12%] Building CXX object examples/CMakeFiles/fit-model.dir/fit-model.cpp.o
In file included from /home/patrik/eos/3rdparty/toml11/toml.hpp:39:0,
from /home/patrik/eos/include/eos/core/LandmarkMapper.hpp:27,
from /home/patrik/eos/examples/fit-model.cpp:23:
/home/patrik/eos/3rdparty/toml11/toml/get.hpp: In substitution of ‘template<class T, toml::value_t vT, typename std::enable_if<((vT == Unknown) && toml::detail::is_map<T>::value), std::nullptr_t>::type <anonymous> > T toml::get(const toml::value&) [with T = std::unordered_map<std::__cxx11::basic_string<char>, toml::value>; toml::value_t vT = <missing>; typename std::enable_if<((vT == Unknown) && toml::detail::is_map<T>::value), std::nullptr_t>::type <anonymous> = <missing>]’:
/home/patrik/eos/include/eos/core/LandmarkMapper.hpp:77:88: required from here
/home/patrik/eos/3rdparty/toml11/toml/get.hpp:44:69: internal compiler error: unexpected expression ‘check_type<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, toml::value, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, toml::value> > > >’ of kind template_id_expr
template<typename T, toml::value_t vT = toml::detail::check_type<T>(),

Please submit a full bug report,
with preprocessed source if appropriate.
See <https://bugs.archlinux.org/> for instructions.


The g++ version is c++ (GCC) 7.3.1 20180312 from Manjaro Linux.
I can confirm that the code compiles completely fine under Ubuntu g++-7 (Ubuntu 7.3.0-16ubuntu3~16.04.1) 7.3.0, as well as under g++-7.2 and g++-5.4. No ICE there. I think the code also compiled fine on Manjaro a few months ago, on an older g++ version on Manjaro.
This sort-of looks like a Arch/Manjaro g++ problem to me.

The error seems to happen just from the `#include "toml.hpp"` when building the default example from my open-source library [eos](https://github.com/patrikhuber/eos).
This task depends upon

Closed by  Eli Schwartz (eschwartz)
Monday, 30 April 2018, 17:07 GMT
Reason for closing:  Not a bug
Additional comments about closing:  This is not the Manjaro Linux bugtracker.
Comment by Doug Newgard (Scimmia) - Monday, 30 April 2018, 17:07 GMT
1. This isn't the Manjaro tracker
2. You apparently haven't reproduced this on Arch.
3. You haven't given the sources that are the problem.

Loading...