diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/altreturn_10.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/altreturn_10.f90 | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/altreturn_10.f90 b/gcc/testsuite/gfortran.dg/altreturn_10.f90 new file mode 100644 index 00000000000..7e5d56977ea --- /dev/null +++ b/gcc/testsuite/gfortran.dg/altreturn_10.f90 @@ -0,0 +1,19 @@ +! { dg-do compile } +! { dg-options -Os } +! PR 78865 - this used to ICE. +program p + call sub (3) +end +subroutine sub (x) + integer :: x, i, n + do i = 1, x + if ( n /= 0 ) stop + call sub2 + end do + print *, x, n +end +subroutine sub2 + call sub (*99) ! { dg-error "Unexpected alternate return specifier" } + call sub (99.) ! { dg-warning "Type mismatch in argument" } +99 stop +end |