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.

Reply via email to