[Bug target/36680] ICE in spill_failure, reload1.c:1995
dominiq at lps dot ens.fr
gcc-bugzilla@gcc.gnu.org
Sat Sep 1 22:47:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36680
--- Comment #7 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-09-01 22:47:21 UTC ---
> Dominique, can you perhaps prepare the test in a correct way for the testsuite?
I have tested a slightly reduced version
! { dg-do compile }
! { dg-options "-O1 -fschedule-insns" }
MODULE class_dummy_atom_kdtree_types
TYPE dummy_atom_kdtree_data
INTEGER :: dummy
END TYPE
TYPE :: dummy_atom_kdtree_node
TYPE(dummy_atom_kdtree_node_private), POINTER :: p
END TYPE
TYPE :: dummy_atom_kdtree_node_private
TYPE(dummy_atom_kdtree_data) :: data
END TYPE
TYPE :: dummy_atom_kdtree
TYPE(dummy_atom_kdtree_node) :: root
END TYPE
END MODULE
FUNCTION dummy_atom_kdtree_insert(this, item)
USE class_dummy_atom_kdtree_types
TYPE(dummy_atom_kdtree), INTENT(inout) :: this
TYPE(dummy_atom_kdtree_data), INTENT(in) :: item
TYPE(dummy_atom_kdtree_node) :: parent, current
INTEGER :: cmp, level, discriminator
parent = dummy_atom_kdtree_node(null())
current = this%root
level = 1
discriminator = 1
DO WHILE (ASSOCIATED( current%p ))
discriminator = MODULO(level-1, 3) + 1
cmp = dummy_atom_kdtree_data_compare(item, current%p%data, discriminator)
level = level + 1
END DO
END FUNCTION
What is the magic to avoid the -O in "-O -O1 -fschedule-insns"?
For the record the original test and the reduced one compiles on
powerpc-apple-darwin9 also with 4.3.0 and 4.4.6.
More information about the Gcc-bugs
mailing list