- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
!---------------------------------------------------------------------------------------------------------------------
!
!
!
!--------------------------------------------------------------------------------------------------------------------
Subroutine ACAD(NJ,XT,YT)
use base
implicit none
integer NJ
REAL (KIND=dp) XT(nj)
REAL (KIND=dp) YT(nj)
write(*,10)
10 Format(//" Drawing Output!"
return
end subroutine ACADThe format is missing a closing ). When I compiled in IFX it just ran and ran, had to stop the program with task manager.
When I compiled in IFORT is just signaled an error straight away.
I can send you the whole program if you like.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
write(*,502)
501 Format(//," I Distance")
do 500 i = 1, nM
endi = nodi(I)
endj = nodj(I)
dist = dsqrt(((XT(endj)-XT(endi))**2) + ((yT(endj)-yT(endi))**2))
call TextST(A2,B2,I,SIZE, 3)
call TextST(A2+15,B2,NSFTP(I),SIZE,4)
CALL TextSR(A2+30,B2,1,SIZE,XT(endi))
CALL TextSR(A2+45,B2,2,SIZE,YT(endi))
CALL TextSR(A2+60,B2,1,SIZE,XT(endj))
CALL TextSR(A2+75,B2,2,SIZE,YT(endj))
write(*,501)I,dist
501 Format(" ",I6,F10.3)
CALL TextSR(A2+90,B2,2,SIZE,dist)
B2 = B2 - Delta
if(b2 .le. 102.00001) then
B2 = 360
A2 = A2+ 150
endif
500 end doDoes not compile in IFX, note 2 lots of 501, it compiled in ifort and tells me error.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I played some more to make a simple example, if I put the ACAD routine into it's own module the problem disappears, it is only when ACAD is not inside a module withe main program unit in a file that the no compile happens.
Slightly weird.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
First case (I had to comment out the declarations since you couldn't be bothered to provide a compilable example):
D:\Projects>ifx -c t.f90
Intel(R) Fortran Compiler for applications running on Intel(R) 64, Version 2025.3.0 Build 20251010
Copyright (C) 1985-2025 Intel Corporation. All rights reserved.
t.f90(18): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ) <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> <HOLLERITH_CONSTANT> ...
10 Format(//" Drawing Output!"
------------------------------------------------^The second example is too incomplete to spend any time on. You know how to attach a complete source or a ZIP.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
write(*,502)
501 Format(//," I Distance")
do 500 i = 1, nM
endi = nodi(I)
endj = nodj(I)
dist = dsqrt(((XT(endj)-XT(endi))**2) + ((yT(endj)-yT(endi))**2))
call TextST(A2,B2,I,SIZE, 3)
call TextST(A2+15,B2,NSFTP(I),SIZE,4)
CALL TextSR(A2+30,B2,1,SIZE,XT(endi))
CALL TextSR(A2+45,B2,2,SIZE,YT(endi))
CALL TextSR(A2+60,B2,1,SIZE,XT(endj))
CALL TextSR(A2+75,B2,2,SIZE,YT(endj))
write(*,501)I,dist
501 Format(" ",I6,F10.3)
CALL TextSR(A2+90,B2,2,SIZE,dist)
B2 = B2 - Delta
if(b2 .le. 102.00001) then
B2 = 360
A2 = A2+ 150
endif
IN RA.F90 at line 1332 in the project this will not stop compiling on IFX, it runs for minutes and then I stop it.
The earlier error occurred in the same file set.
These are really basic things I am sorry I did not see the need for an example. But here it is.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It is the two 501 format's
and the other one is a format without an)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I hope you know that having two statement labels 501 in the same program unit is an error. One of them evidently should have been 502. You also have GOTO 825 that branches into an IF-THEN block - not allowed.
If you fix the statement label problem, the source compiles quickly (with appropriate errors). I'll agree that this error should not cause the compile to never finish.
Please - ALWAYS provide a compilable example, as small as you can manage. By not doing so you are making others do your work for you, likely leading to your not getting the help you want. This process also is likely to lead to your figuring out the issue on your own. In this case, you jumped to a wrong conclusion. In addition, your first example with the missing paren does not reflect the actual source, which has the paren.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The problem is not with the minor errors, I pointed out, but that several things stop IFX from compiling or actually running for a long time. I struck three of them last night.
I will admit that making the mistake of two 501 lines is not good, but I could not compile it to get the error. So I move to IFORT and get the error code in a few seconds. A small example would be nice, I would have had to give you three small examples last night, the first is the 501, the second is if a format statement in the program is missing a ), in the example I gave it does not compile.
If I have a module A and inside A are subroutines B C and D, and D calls E which has been omitted then it will not compile.
When I have time I will do a simple example.
The jump into the goto statement is tricky to remove, as it works with it included, I have dealt with other more pressing matters.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you want any hope of an actual bug being fixed, you MUST provide a complete example, minimal if possible. The larger the code you provide, the lower priority it will be given.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have attempted for several hours this morning to develop a simple example. I cannot.
I tried with the smallest clean Fortran program and the program works perfectly.
I used the offending program and pulled different sections out of it and then it starts to compile.
But the attached code is the smallest unit that will replicate the error.
It is not a problem for me as I have IFORT and I have an old copy of the IFORT installer so it will be a few years before I am stuck.
But it does happen with this program. I am sorry I cannot make it smaller, it just runs and gives no compile errors for anything simpler.
It does the same thing if I pick any of the format statements in the subroutine ACAD, it also is annoying as one has to kill the whole process.
I cannot subset the program and replicate the error.
I am reporting it as a courtesy to Intel, if it is not fixed then so be it, they have only so much time as I do and I now know about the error.
But if you take out any of the ) in the subroutine ACAD, it does not compile.
If I take out ) anywhere else it compiles, it I just to ACAD with a full program it gives me the error.
It is just this combination.
I am sorry I tried.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Some things cannot be fixed, let us chalk it up to learning.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page