Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gfortran.dg/pr36680.f90 @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 ! PR target/36680 | |
2 ! { dg-do compile { target i?86-*-* x86_64-*-* } } | |
3 ! { dg-options "-O1 -fschedule-insns" } | |
4 | |
5 MODULE class_dummy_atom_kdtree_types | |
6 TYPE dummy_atom_kdtree_data | |
7 INTEGER :: dummy | |
8 END TYPE | |
9 | |
10 TYPE :: dummy_atom_kdtree_node | |
11 TYPE(dummy_atom_kdtree_node_private), POINTER :: p | |
12 END TYPE | |
13 | |
14 TYPE :: dummy_atom_kdtree_node_private | |
15 TYPE(dummy_atom_kdtree_data) :: data | |
16 END TYPE | |
17 | |
18 TYPE :: dummy_atom_kdtree | |
19 TYPE(dummy_atom_kdtree_node) :: root | |
20 END TYPE | |
21 END MODULE | |
22 | |
23 FUNCTION dummy_atom_kdtree_insert(this, item) | |
24 USE class_dummy_atom_kdtree_types | |
25 | |
26 TYPE(dummy_atom_kdtree), INTENT(inout) :: this | |
27 TYPE(dummy_atom_kdtree_data), INTENT(in) :: item | |
28 | |
29 TYPE(dummy_atom_kdtree_node) :: parent, current | |
30 INTEGER :: cmp, level, discriminator | |
31 | |
32 parent = dummy_atom_kdtree_node(null()) | |
33 current = this%root | |
34 level = 1 | |
35 discriminator = 1 | |
36 | |
37 DO WHILE (ASSOCIATED( current%p )) | |
38 discriminator = MODULO(level-1, 3) + 1 | |
39 cmp = dummy_atom_kdtree_data_compare(item, current%p%data, discriminator) | |
40 level = level + 1 | |
41 END DO | |
42 | |
43 END FUNCTION |