Skip to content

Internal compiler error #31

@yuriv

Description

@yuriv

I'll try to compile eggs::variant with gcc 7.3.1 (devtoolset-7) on linux and got folowing error:

In file included from <...>/variant/include/eggs/variant.hpp:13:0,
                          from <...>/variant/test/swap.cpp:8:
<...>/variant/include/eggs/variant/variant.hpp: In substitution of ‘template<class U, class NoCopy, class NoTag, long unsigned int I, class T, typename std::enable_if<(std::is_constructible<T, U>::value && (! std::is_convertible<U, T>::value)), bool>::type <anonymous> > constexpr eggs::variants::variant<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::variant(U&&) [with U = int; NoCopy = void; NoTag = void; long unsigned int I = <missing>; T = <missing>; typename std::enable_if<(std::is_constructible<T, U>::value && (! std::is_convertible<U, T>::value)), bool>::type <anonymous> = <missing>]’:
<...>/variant/test/swap.cpp:116:46:   required from here
<...>/variant/include/eggs/variant/variant.hpp:696:13: internal compiler error: unexpected expression ‘I’ of kind template_parm_index
           , typename T = typename detail::at_index<
             ^~~~~~~~

Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccYpdTC0.out file, please attach this to your bugreport.**

With gcc 6 it compiles and works fine.

machine:
centos-release-7-5.1804.el7.centos.2.x86_64
kernel: Linux 3.10.0-862.9.1.el7.x86_64

gcc --version:
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions