| ! { dg-do compile } |
| ! test levenshtein based spelling suggestions |
| |
| module mymod1 |
| implicit none |
| contains |
| function something_else (iarg1) |
| integer :: something_else |
| integer, intent(in) :: iarg1 |
| something_else = iarg1 + 42 |
| end function something_else |
| function add_fourtytwo (iarg1) |
| integer :: add_fourtytwo |
| integer, intent(in) :: iarg1 |
| add_fourtytwo = iarg1 + 42 |
| end function add_fourtytwo |
| end module mymod1 |
| |
| function myadd(iarg1, iarg2) |
| implicit none |
| integer :: myadd |
| integer, intent(in) :: iarg1, iarg2 |
| myadd = iarg1 + iarg2 |
| end function myadd |
| |
| program spellchekc |
| use mymod1, something_good => something_else |
| implicit none |
| |
| integer :: myadd, i, j, myvar |
| i = 0 |
| j = 0 |
| |
| j = something_goof(j) ! { dg-error "no IMPLICIT type; did you mean .something_good.\\?" } |
| j = myaddd(i, j) ! { dg-error "no IMPLICIT type; did you mean .myadd.\\?" } |
| if (j /= 42) STOP 1 |
| j = add_fourtytow(i, j) ! { dg-error "no IMPLICIT type; did you mean .add_fourtytwo.\\?" } |
| myval = myadd(i, j) ! { dg-error "no IMPLICIT type; did you mean .myvar.\\?" } |
| if (j /= 42 * 2) STOP 2 |
| |
| end program spellchekc |