https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77739

            Bug ID: 77739
           Summary: internal compiler error: in create_tmp_var, at
                    gimple-expr.c:524
           Product: gcc
           Version: 5.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vcato1701 at yahoo dot com
  Target Milestone: ---

gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.2) 


Command: g++ -c -std=c++14 ice.cpp

Output:

ice.cpp: In member function ‘auto B::g(Args&& ...) [with Args = {A<char>, const
char (&)[1]}]’:
ice.cpp:15:41: internal compiler error: in create_tmp_var, at gimple-expr.c:524
        return [=](){ return f(args...); };


ice.cpp:

template <typename T>
struct A {
    A() { }
    A(const A &) { }
};


struct B
{
    B();

    template <typename... Args>
    auto g(Args&&... args)
    {
       return [=](){ return f(args...); };
    }

    void f(A<char>,const char*) { }
};


B::B()
{
    g(A<char>(),"");
}

Reply via email to