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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.  The testcase is rejected with GCC 4.9+ with

.C: In member function ‘void Trie_tree::dfs(Out, Node*)’:
t.C:146:50: error: no matching function for call to ‘Node::next_son(Node*&)’
     for (; son != NULL; son = (root->next_son(son))->second) {
                                                  ^
t.C:146:50: note: candidate is:
t.C:41:10: note: auto Node::next_son(std::map<char, Node*>::iterator)
     auto next_son(map<char, Node*>::iterator it){
          ^
t.C:41:10: note:   no known conversion for argument 1 from ‘Node*’ to
‘std::map<char, Node*>::iterator {aka std::_Rb_tree_iterator<std::pair<const
char, Node*> >}’

while 4.8 accepts it and later ICEs:

> /space/rguenther/install/gcc-4.8.3/bin/g++ -S -std=c++1y -g t.C
t.C:14:7: internal compiler error: in gen_type_die_with_usage, at
dwarf2out.c:19484
 class Node {
       ^
0x86bb26 gen_type_die_with_usage
        /space/rguenther/src/svn/gcc-4_8-branch/gcc/dwarf2out.c:19484
0x868a85 gen_decl_die
        /space/rguenther/src/svn/gcc-4_8-branch/gcc/dwarf2out.c:19978
0x86a91c gen_member_die
        /space/rguenther/src/svn/gcc-4_8-branch/gcc/dwarf2out.c:19045
0x86a91c gen_struct_or_union_type_die
        /space/rguenther/src/svn/gcc-4_8-branch/gcc/dwarf2out.c:19117
0x86a91c gen_tagged_type_die
        /space/rguenther/src/svn/gcc-4_8-branch/gcc/dwarf2out.c:19307
0x86bb0d gen_type_die_with_usage

Reply via email to