This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/28495] New: [4.2 regression] ICE in final_scan_insn, at final.c:2448


I get the following ICE with gcc 4.2 on ia64.  The reduced testcase fails on
gcc 4.0/4.1 with an error but the original file compiles fine and only produces
an ICE with gcc 4.2 at -O.

tbm@coconut0:~$ /usr/lib/gcc-snapshot/bin/g++ -c -O xstow-tree.cpp
xstow-tree.cpp: In member function 'bool Tree::check(Ref<Node>, Ref<Node>,
Ref<std::vector<Tree::Link, std::allocator<Tree::Link> > >)':
xstow-tree.cpp:718: error: could not split insn
(call_insn 359 358 360 24 (parallel [
            (call (mem:DI (const:DI (plus:DI (symbol_ref:DI
("_ZTV14VecStringValue") [flags 0x40] <var_decl 0x20000000004fca50
_ZTV14VecStringValue>)
                            (const_int 16 [0x10]))) [0 S8 A64])
                (const_int 1 [0x1]))
            (clobber (reg:DI 320 b0))
            (clobber (scratch:DI))
            (clobber (scratch:DI))
        ]) 322 {call_gp} (insn_list:REG_DEP_TRUE 354 (insn_list:REG_DEP_TRUE
357 (insn_list:REG_DEP_TRUE 358 (nil))))
    (expr_list:REG_DEAD (reg:DI 120 r120)
        (expr_list:REG_DEAD (reg:DI 121 r121)
            (expr_list:REG_UNUSED (scratch:DI)
                (expr_list:REG_UNUSED (scratch:DI)
                    (expr_list:REG_UNUSED (reg:DI 320 b0)
                        (nil))))))
    (expr_list:REG_DEP_TRUE (use (reg:DI 1 r1))
        (expr_list:REG_DEP_TRUE (use (reg:DI 121 r121))
            (expr_list:REG_DEP_TRUE (use (reg:DI 120 r120))
                (nil)))))
xstow-tree.cpp:718: internal compiler error: in final_scan_insn, at
final.c:2448
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.1/README.Bugs>.
tbm@coconut0:~$ /usr/lib/gcc-snapshot/bin/g++ -c xstow-tree.cpp
tbm@coconut0:~$

Here's proof that the original source is valid code. ;)

tbm@coconut0:~/src/xstow-0.5.1/src$ /usr/lib/gcc-snapshot/bin/g++
-DHAVE_CONFIG_H -I..     -g -O2 -DNDEBUG -DNFORMAT -DSYSCONFDIR='"/etc/xstow"'
-c -o tree.o tree.cpp
tree.cpp: In member function 'bool Tree::check(Ref<Node>, Ref<Node>,
Ref<std::vector<Tree::Link, std::allocator<Tree::Link> > >)':
tree.cpp:613: error: could not split insn
(call_insn 4695 32617 32618 444 tree.cpp:468 (parallel [
            (call (mem:DI (const:DI (plus:DI (symbol_ref:DI
("_ZTV14VecStringValue") [flags 0x40] <var_decl 0x20000000024fd340
_ZTV14VecStringValue>)
                            (const_int 80 [0x50]))) [0 S8 A64])
                (const_int 1 [0x1]))
            (clobber (reg:DI 320 b0))
            (clobber (scratch:DI))
            (clobber (scratch:DI))
        ]) 322 {call_gp} (nil)
    (expr_list:REG_DEAD (reg:DI 120 r120)
        (expr_list:REG_DEAD (reg:DI 121 r121)
            (expr_list:REG_UNUSED (scratch:DI)
                (expr_list:REG_UNUSED (scratch:DI)
                    (expr_list:REG_UNUSED (reg:DI 320 b0)
                        (expr_list:REG_EH_REGION (const_int 145 [0x91])
                            (nil)))))))
    (expr_list:REG_DEP_TRUE (use (reg:DI 1 r1))
        (expr_list:REG_DEP_TRUE (use (reg:DI 121 r121))
            (expr_list:REG_DEP_TRUE (use (reg:DI 120 r120))
                (nil)))))
tree.cpp:613: internal compiler error: in final_scan_insn, at final.c:2448
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.1/README.Bugs>.
tbm@coconut0:~/src/xstow-0.5.1/src$ g++-4.1 -DHAVE_CONFIG_H -I..     -g -O2
-DNDEBUG -DNFORMAT -DSYSCONFDIR='"/etc/xstow"' -c -o tree.o tree.cpp
tbm@coconut0:~/src/xstow-0.5.1/src$ g++-4.0 -DHAVE_CONFIG_H -I..     -g -O2
-DNDEBUG -DNFORMAT -DSYSCONFDIR='"/etc/xstow"' -c -o tree.o tree.cpp
tbm@coconut0:~/src/xstow-0.5.1/src$


-- 
           Summary: [4.2 regression] ICE in final_scan_insn, at final.c:2448
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tbm at cyrius dot com
  GCC host triplet: ia64-linux-gnu
GCC target triplet: ia64-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28495


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]