View previous topic :: View next topic |
Author |
Message |
Thomas
Joined: 18 Feb 2005 Posts: 56 Location: Gummersbach, Germany
|
Posted: Tue Feb 09, 2021 11:29 am Post subject: Internal compiler error (only with /64 option) |
|
|
The following simplified source code creates an "Internal compiler error" when compiled with /64 and /check
Subroutine DRGD2Z (PSZL)
Character(len=*) :: PSZL(*)
Character(Len=10), External :: DRUTBQ
PSZL(1)(52:61) = DRUTBQ(1)
END
Without /64 no error appears.
The error can be avoided with an additional assignmnet:
Subroutine DRGD2Z (PSZL)
Character(len=*) :: PSZL(*)
Character(Len=10), External :: DRUTBQ
Character(Len=10) :: xxx
xxx = DRUTBQ(1)
PSZL(1)(52:61) = xxx
END _________________ Thomas |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8011 Location: Salford, UK
|
Posted: Tue Feb 09, 2021 12:36 pm Post subject: |
|
|
Thomas
Thank you for this bug report. I have made a note that it needs fixing. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8011 Location: Salford, UK
|
Posted: Wed Feb 10, 2021 5:07 pm Post subject: |
|
|
This failure has now been fixed for the next release of FTN95. |
|
Back to top |
|
|
JohnCampbell
Joined: 16 Feb 2006 Posts: 2580 Location: Sydney
|
Posted: Thu Feb 11, 2021 4:02 am Post subject: |
|
|
Does Subroutine DRGD2Z (PSZL) need an interface for using PSZL ?
Character(len=*) :: PSZL(*)
Perhaps (len=*) is always provided, so PSZL(*) is an array of unknown size.
So, len(PSZL(1)) is available, but size(PSZL) is not.
I would be interested if the following works.
Code: | Subroutine DRGD2Z (PSZL)
Character(len=*) :: PSZL(*)
Character(Len=10), External :: DRUTBQ
if (len(PSZL(1)) >= 61) then
PSZL(1)(52:61) = DRUTBQ(1)
else
write (*,*) 'len(PSZL) =',len(PSZL(1)),' too small'
end if
END |
|
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8011 Location: Salford, UK
|
Posted: Thu Feb 11, 2021 8:06 am Post subject: |
|
|
The original code provided by Thomas compiles in 32 bits and in 64 bits without /CHECK so FTN95 can be used to investigate any limitations. |
|
Back to top |
|
|
|