[Bug tree-optimization/64570] error: non-trivial conversion at assignment

trippels at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jan 13 08:20:00 GMT 2015


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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-01-13
                 CC|                            |trippels at gcc dot gnu.org
          Component|c++                         |tree-optimization
     Ever confirmed|0                           |1

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
trippels@gcc20 test % cat bug181.cc
namespace std {
template <class> class initializer_list {
  int *_M_array;
  int _M_len;
};
class A {
public:
  void operator=(initializer_list<int>);
};
class B {
  void m_fn1(A &) const;
};
void B::m_fn1(A &) const {
  A extra;
  extra = {};
}
}

trippels@gcc20 test % g++ -c -O2 -std=gnu++0x bug181.cc
bug181.cc: In member function ‘void std::B::m_fn1(std::A&) const’:
bug181.cc:13:6: error: non-trivial conversion at assignment
 void B::m_fn1(A &) const {
      ^
int
sizetype
D.2405._M_len = 0;
bug181.cc:13:6: internal compiler error: verify_gimple failed
0xceb3af verify_gimple_in_seq(gimple_statement_base*)
        ../../gcc/gcc/tree-cfg.c:4723
0xac6daf gimplify_body(tree_node*, bool)
        ../../gcc/gcc/gimplify.c:8917
0xac70e6 gimplify_function_tree(tree_node*)
        ../../gcc/gcc/gimplify.c:9002
0x90ab67 cgraph_node::analyze()
        ../../gcc/gcc/cgraphunit.c:620
0x90d427 analyze_functions
        ../../gcc/gcc/cgraphunit.c:1008
0x90e085 symbol_table::finalize_compilation_unit()
        ../../gcc/gcc/cgraphunit.c:2361
0x6e2df3 cp_write_global_declarations()
        ../../gcc/gcc/cp/decl2.c:4747
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.


More information about the Gcc-bugs mailing list