- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
I get an internal compiler error C0000005 on DVF6.5A.
With the same code, I have compiled successfully on SGI Fortran 7.2 and LF95.
Have anyone got some experience of this kind of error and how to solve??
With the same code, I have compiled successfully on SGI Fortran 7.2 and LF95.
Have anyone got some experience of this kind of error and how to solve??
Lien copié
6 Réponses
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
This error should never happen no matter what are circumstances. For the benefit of all users, please send a message
with problem description to [email protected] with attached zipped workspace, if possible.
Usually, this kind of error happens when compiler fails to understand
some expression either as valid or invalid. Quick workaround is to find the
line in question using "dissection method", i.e. comment out half the
problematical source and compile only; if the error reappears, comment more of the rest; if the error does not appear, uncomment some of commented part etc. In this way, you should find the line in question;
then, it should be rewritten.
Tip: You can use metacommands !DEC$IF(.FALSE.)...!DEC$ENDIF as "block
comments".
For example, I got such error in CVF5 in release builds with aggregation of character-manipulation functions, i.e.
sString=TRIM(ADJUSTL(MyCharFunction())). The problem was solved
using temporary variable, i.e. sTemp=MyCharFunction(); sString=TRIM(ADJUSTL(sTemp)).
Rebuild all sometimes help, but the reason is more probably something
like above. Please let us know about the outcome.
HTH
Jugoslav
with problem description to [email protected] with attached zipped workspace, if possible.
Usually, this kind of error happens when compiler fails to understand
some expression either as valid or invalid. Quick workaround is to find the
line in question using "dissection method", i.e. comment out half the
problematical source and compile only; if the error reappears, comment more of the rest; if the error does not appear, uncomment some of commented part etc. In this way, you should find the line in question;
then, it should be rewritten.
Tip: You can use metacommands !DEC$IF(.FALSE.)...!DEC$ENDIF as "block
comments".
For example, I got such error in CVF5 in release builds with aggregation of character-manipulation functions, i.e.
sString=TRIM(ADJUSTL(MyCharFunction())). The problem was solved
using temporary variable, i.e. sTemp=MyCharFunction(); sString=TRIM(ADJUSTL(sTemp)).
Rebuild all sometimes help, but the reason is more probably something
like above. Please let us know about the outcome.
HTH
Jugoslav
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Thank you for Jugoslav for pointing this out.
I found the error when call subroutine like this for dummy@
a(ia(imin(k-1)):ia(imax(k-1)+1)-1) and
ja(ia(imin(k)):ia(imax(k)+1)-1).
! .................
CALL rwsrt(ecg1, ecg2, ierr, mdjtr, imin(k-1), imax(k-1), iws, &
a(ia(imin(k-1)):ia(imax(k-1)+1)-1), &
ja(ia(imin(k-1)):ia(imax(k-1)+1)-1))
!........................
Any idea would be appreciated.
I found the error when call subroutine like this for dummy@
a(ia(imin(k-1)):ia(imax(k-1)+1)-1) and
ja(ia(imin(k)):ia(imax(k)+1)-1).
! .................
CALL rwsrt(ecg1, ecg2, ierr, mdjtr, imin(k-1), imax(k-1), iws, &
a(ia(imin(k-1)):ia(imax(k-1)+1)-1), &
ja(ia(imin(k-1)):ia(imax(k-1)+1)-1))
!........................
Any idea would be appreciated.
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
This one looks "typical" -- a complicated expression which invokes some
f90 features, such as array sections. Did you try something like:
I bet that would fix it.
Jugoslav
f90 features, such as array sections. Did you try something like:
i1 = ia(imin(k-1))
i2 = ia(imax(k-1)+1)-1
CALL rwsrt(ecg1, ecg2, ierr, mdjtr, imin(k-1), imax(k-1), iws, &
a(i1:i2), ja(i1:i2))
I bet that would fix it.
Jugoslav
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Thank a lot.
The errors are disappeared using temporary variable.
But it is funny, why it appeared on CVF 6.5A ? when I compiled without temporary variables on CVF 6.5, the internal compiler error is nothing.
The errors are disappeared using temporary variable.
But it is funny, why it appeared on CVF 6.5A ? when I compiled without temporary variables on CVF 6.5, the internal compiler error is nothing.
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Because they've probably fixed something else ;-). To paraphrase a Murphy's law:
You can't fix something without simultaneously screwing up something else
Which is, believe me, more true the system gets bigger and more complex :-).
You can't fix something without simultaneously screwing up something else
Which is, believe me, more true the system gets bigger and more complex :-).
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Please do send us a source that shows the error.
Steve
Steve
Répondre
Options du sujet
- S'abonner au fil RSS
- Marquer le sujet comme nouveau
- Marquer le sujet comme lu
- Placer ce Sujet en tête de liste pour l'utilisateur actuel
- Marquer
- S'abonner
- Page imprimable