2008-07-06 Kai Tietz <kai.tietz@onevision.com>
[official-gcc.git] / gcc / testsuite / gfortran.dg / use_only_3.f90
blob509752a7ba48e55d7f21fafc16001fe82a1cc997
1 ! { dg-do compile }
2 ! This tests the patch for PR34975, in which 'n', 'ipol', and 'i' would be
3 ! determined to have 'no IMPLICIT type'. It turned out to be fiendishly
4 ! difficult to write a testcase for this PR because even the smallest changes
5 ! would make the bug disappear. This is the testcase provided in the PR, except
6 ! that all the modules are put in 'use_only_3.inc' in the same order as the
7 ! makefile. Even this has an effect; only 'n' is now determined to be
8 ! improperly typed. All this is due to the richness of the symtree and the
9 ! way in which the renaming inserted new symtree entries. Unless somenody can
10 ! come up with a reduced version, this relatively large file will have to be added
11 ! to the testsuite. Fortunately, it only has to be comiled once:)
13 ! Reported by Tobias Burnus <burnus@gcc.gnu.org>
15 include 'use_only_3.inc'
16 subroutine dforceb(c0, i, betae, ipol, bec0, ctabin, gqq, gqqm, qmat, dq2, df)
17 use gvecs
18 use gvecw, only: ngw
19 use parameters
20 use electrons_base, only: nx => nbspx, n => nbsp, nspin, f
21 use constants
22 use cvan
23 use ions_base
24 use ions_base, only : nas => nax
25 implicit none
27 integer ipol, i, ctabin
28 complex c0(n), betae, df,&
29 & gqq,gqqm,&
30 & qmat
31 real bec0,&
32 & dq2, gmes
34 end subroutine dforceb
35 ! { dg-final { cleanup-modules "cell_base cvan gvecs kinds" } }
36 ! { dg-final { cleanup-modules "constants electrons_base gvecw parameters" } }
37 ! { dg-final { cleanup-modules "control_flags electrons_nose ions_base" } }