aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/whole_file_12.f90
blob: 150ac5f9d5db648bda2ac03d01996c82e391efd2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
! { dg-do compile }
! { dg-options "-fwhole-file" }
!
! Tests the fix PR40011 comment 17 in which the explicit interface was
! being ignored and the missing argument was not correctly handled, which
! led to an ICE.
!
! Contributed by Dominique d'Humieres  <dominiq@lps.ens.fr
!
          Implicit None 
          call sub(1,2) 
          call sub(1,2,3)
 
          contains

          subroutine sub(i,j,k) 
          Implicit None 
          Integer, Intent( In )           :: i 
          Integer, Intent( In )           :: j 
          Integer, Intent( In ), Optional :: k 
          intrinsic present 
          write(*,*)' 3 presence flag ',present(k) 
          write(*,*)' 1st arg ',i 
          write(*,*)' 2nd arg ',j 
          if (present(k)) then 
            write(*,*)' 3rd arg ',k 
          else 
            write(*,*)' 3rd arg is absent' 
          endif 
          return 
          end subroutine

          end