OSDN Git Service

* config/i386/i386.md (UNSPEC_VSIBADDR): New.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / used_types_16.f90
1 ! { dg-do compile }
2 ! Tests the fix for PR31550 in which pointers to derived type components
3 ! were being TREE-SSA declared in the wrong order and so in the incorrect
4 ! context.
5 !
6 ! Contributed by Daniel Franke <dfranke@gcc.gnu.org>
7 !
8 MODULE class_dummy_atom_types\r
9 TYPE :: dummy_atom_list\r
10   TYPE(dummy_atom), DIMENSION(:), POINTER :: table\r
11   INTEGER                                 :: nused\r
12 END TYPE\r
13 \r
14 TYPE :: dummy_atom\r
15   TYPE(dummy_atom_private), POINTER :: p\r
16 END TYPE\r
17 \r
18 TYPE :: dummy_atom_private\r
19   TYPE(dummy_atom_list)       :: neighbours\r
20 END TYPE\r
21 END MODULE\r
22 \r
23 MODULE class_dummy_atom_list\r
24 USE class_dummy_atom_types, ONLY: dummy_atom_list\r
25 \r
26 INTERFACE \r
27   SUBROUTINE dummy_atom_list_init_copy(this, other)\r
28     USE class_dummy_atom_types, ONLY: dummy_atom_list\r
29     TYPE(dummy_atom_list), INTENT(out) :: this\r
30     TYPE(dummy_atom_list), INTENT(in)  :: other\r
31   END SUBROUTINE\r
32 END INTERFACE\r
33 \r
34 INTERFACE\r
35   SUBROUTINE dummy_atom_list_merge(this, other)\r
36     USE class_dummy_atom_types, ONLY: dummy_atom_list\r
37     TYPE(dummy_atom_list), INTENT(inout) :: this\r
38     TYPE(dummy_atom_list), INTENT(in)    :: other\r
39   END SUBROUTINE\r
40 END INTERFACE\r
41 END MODULE\r
42 \r
43 SUBROUTINE dummy_atom_list_init_copy(this, other)\r
44   USE class_dummy_atom_list, ONLY: dummy_atom_list, dummy_atom_list_merge\r
45 \r
46   TYPE(dummy_atom_list), INTENT(out) :: this\r
47   TYPE(dummy_atom_list), INTENT(in)  :: other\r
48 \r
49   this%table(1:this%nused) = other%table(1:other%nused)\r
50 END SUBROUTINE\r
51 ! { dg-final { cleanup-modules "class_dummy_atom_types class_dummy_atom_list" } }