View previous topic :: View next topic |
Author |
Message |
mecej4
Joined: 31 Oct 2006 Posts: 1840
|
Posted: Fri Dec 03, 2021 7:24 am Post subject: Internal compiler error with /64 /checkmate |
|
|
The following trivial cut-down subroutine code causes the compiler to encounter an internal compiler error when the /64 and /checkmate options are used.
Code: | subroutine prob(t)
implicit none
real(kind(1d0)), intent(out) :: t(1:*)
!
t(1) = 0D0
return
end subroutine prob |
The compiler says:
Code: | s:\ODE\MEBDF\UniBA\f90\tbed>ftn95 /64 /checkmate rober.f90
[FTN95/x64 Ver. 8.82.0 Copyright (c) Silverfrost Ltd 1993-2021]
0001) subroutine prob(t)
*** Internal compiler error - floating point exception |
|
|
Back to top |
|
 |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7770 Location: Salford, UK
|
Posted: Fri Dec 03, 2021 9:45 am Post subject: |
|
|
mecej4
Thanks for the bug report. It appears that, at the moment /UNDEF works but /FULL_UNDEF (i.e. /CHECKMATE) does not. So the "undef" checking of character variables in this context must be omitted until this is fixed. |
|
Back to top |
|
 |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7770 Location: Salford, UK
|
Posted: Wed Dec 08, 2021 7:02 pm Post subject: |
|
|
This bug has now been fixed for the next release of FTN95. It concerns setting INTENT(OUT) arrays to the "undefined" state on entry to a subprogram. This is not possible when the array is "star-sized" and the compiler was did not allowing for this case.
At the moment the compiler can only be used with /full_undef (i.e. checkmate) in this context if /inhibit_check 14 is also applied. |
|
Back to top |
|
 |
JohnCampbell
Joined: 16 Feb 2006 Posts: 2505 Location: Sydney
|
Posted: Thu Dec 09, 2021 2:43 am Post subject: |
|
|
Paul,
I find it impressive that FTN95 can provide debug information for when the array is "star-sized".
To be able to track the original memory allocation size for this type of declaration is very useful when using SDBG64.
Thanks for maintaining this capability. |
|
Back to top |
|
 |
mecej4
Joined: 31 Oct 2006 Posts: 1840
|
Posted: Thu Dec 09, 2021 2:49 am Post subject: Re: |
|
|
Paul,
Thanks for the bug fix. I am puzzled by your mentioning 'character variables'. My example code did not involve character variables. For that code, if checking cannot be done, a warning message to that effect rather than 'internal compiler error' would suffice.
PaulLaidler wrote: | So the "undef" checking of character variables in this context must be omitted until this is fixed. |
|
|
Back to top |
|
 |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7770 Location: Salford, UK
|
Posted: Thu Dec 09, 2021 7:33 am Post subject: |
|
|
mecej4
Yes, that was simply my mistake. I had forgotten that /checkmate now includes this INTENT(OUT) checking. |
|
Back to top |
|
 |
|