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.