forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Internal compiler error with /64 /checkmate

 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> 64-bit
View previous topic :: View next topic  
Author Message
mecej4



Joined: 31 Oct 2006
Posts: 1884

PostPosted: Fri Dec 03, 2021 7:24 am    Post subject: Internal compiler error with /64 /checkmate Reply with quote

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
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7912
Location: Salford, UK

PostPosted: Fri Dec 03, 2021 9:45 am    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7912
Location: Salford, UK

PostPosted: Wed Dec 08, 2021 7:02 pm    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
JohnCampbell



Joined: 16 Feb 2006
Posts: 2551
Location: Sydney

PostPosted: Thu Dec 09, 2021 2:43 am    Post subject: Reply with quote

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
View user's profile Send private message
mecej4



Joined: 31 Oct 2006
Posts: 1884

PostPosted: Thu Dec 09, 2021 2:49 am    Post subject: Re: Reply with quote

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
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7912
Location: Salford, UK

PostPosted: Thu Dec 09, 2021 7:33 am    Post subject: Reply with quote

mecej4

Yes, that was simply my mistake. I had forgotten that /checkmate now includes this INTENT(OUT) checking.
Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> 64-bit All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group