PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gfortran.dg / used_dummy_types_6.f90
blob5b1c79765ea74f2c0b179f997f4a362e09d5a587
1 ! { dg-do compile }
2 ! Tests the fix for PR30554, the USE statements in potential_energy
3 ! would cause a segfault because the pointer_info for nfree coming
4 ! from constraint would not find the existing symtree coming directly
5 ! from atom.
7 ! The last two modules came up subsequently to the original fix. The
8 ! PRIVATE statement caused a revival of the original problem. This
9 ! was tracked down to an interaction between the symbols being set
10 ! referenced during module read and the application of the access
11 ! attribute.
13 ! Contributed by Tobias Burnus <burnus@gcc.gnu.org>
15 MODULE ATOMS
16 INTEGER :: NFREE = 0
17 END MODULE ATOMS
19 MODULE CONSTRAINT
20 USE ATOMS, ONLY: NFREE
21 CONTAINS
22 SUBROUTINE ENERGY_CONSTRAINT ( HESSIAN )
23 REAL , DIMENSION(1:(3*NFREE*(3*NFREE+1))/2):: HESSIAN
24 END SUBROUTINE ENERGY_CONSTRAINT
25 END MODULE CONSTRAINT
27 MODULE POTENTIAL_ENERGY
28 USE ATOMS
29 USE CONSTRAINT, ONLY : ENERGY_CONSTRAINT
30 END MODULE POTENTIAL_ENERGY
32 MODULE P_CONSTRAINT
33 USE ATOMS, ONLY: NFREE
34 PRIVATE
35 PUBLIC :: ENERGY_CONSTRAINT
36 CONTAINS
37 SUBROUTINE ENERGY_CONSTRAINT ( HESSIAN )
38 REAL , DIMENSION(1:(3*NFREE*(3*NFREE+1))/2):: HESSIAN
39 END SUBROUTINE ENERGY_CONSTRAINT
40 END MODULE P_CONSTRAINT
42 MODULE P_POTENTIAL_ENERGY
43 USE ATOMS
44 USE CONSTRAINT, ONLY : ENERGY_CONSTRAINT
45 END MODULE P_POTENTIAL_ENERGY