Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28663 Discussions

warn:interfaces causes syntax errors?

jackosullivan
Beginner
1,311 Views
Compiling old f77 *.for code with VF 11.1.046 and the option to warn:interfaces causes syntax errors due to incomplete statements that involve Column-6 continuations and Column-1 C for comment records.

When I turn off the Interface Checking, everything compiles fine.

Is this a bug, or simply an 11.1 way of forcing me to update my source files?

I'd really rather find a work-around since source updating is much too time-consuming, and I would like to take advantage of interface checking if possible.

Thanks and God bless!
Jack

0 Kudos
11 Replies
Steven_L_Intel1
Employee
1,311 Views
That's bizarre. Can you attach an example source that does this? I've seen /warn:interfaces trigger all sorts of strange errors, but I am having difficulty envisioning how it could affect parsing. (Then again, I can't yet search our issue database so maybe there was something...) 046 is the current version, anyway.
0 Kudos
jimdempseyatthecove
Honored Contributor III
1,311 Views
That's bizarre. Can you attach an example source that does this? I've seen /warn:interfaces trigger all sorts of strange errors, but I am having difficulty envisioning how it could affect parsing. (Then again, I can't yet search our issue database so maybe there was something...) 046 is the current version, anyway.

There is a small bizarre possibility that without /warn:interfaces and with fixed format portions of lines are clipped and those clipped portions do not produce syntax errors (without /warn:interfaces) yet produce erronious code due to clipping. IOW /warn:interfaces expose a hidden error in the code.

(small bizarre possibility)

Jim
0 Kudos
jackosullivan
Beginner
1,311 Views
That's bizarre. Can you attach an example source that does this? I've seen /warn:interfaces trigger all sorts of strange errors, but I am having difficulty envisioning how it could affect parsing. (Then again, I can't yet search our issue database so maybe there was something...) 046 is the current version, anyway.
Steve,
I'm trying to put together an extract I can share in public, and will post it as soon as I can get it to break.
Thanks and God bless!
Jack
0 Kudos
jackosullivan
Beginner
1,311 Views

There is a small bizarre possibility that without /warn:interfaces and with fixed format portions of lines are clipped and those clipped portions do not produce syntax errors (without /warn:interfaces) yet produce erronious code due to clipping. IOW /warn:interfaces expose a hidden error in the code.

(small bizarre possibility)

Jim
Jim,
I tend away from clipping as an explanation for this, since all of the affected lines are quite short. It seems that the compiler is simply getting confused by Column-1 C's and Comment-starting !'s in continued statements. But only for some of them -- not all. Hopefully it will be clearer when (if?) I get the sample posting ready for Steve.
Thanks and God bless!
Jack
0 Kudos
Steven_L_Intel1
Employee
1,311 Views
Jack, can you at least show me the actual error message and the lines of source involved? If you want, I can make this a private discussion and you can attach privately. I looked through our records and could not spot any earlier report that sounded like this.

warn:interface happens after syntax parsing, so I'd really like to know what is going on.
0 Kudos
jackosullivan
Beginner
1,311 Views
Jack, can you at least show me the actual error message and the lines of source involved? If you want, I can make this a private discussion and you can attach privately. I looked through our records and could not spot any earlier report that sounded like this.

warn:interface happens after syntax parsing, so I'd really like to know what is going on.

Steve,
The messages are as follow (I've ...-ed the paths involved):
[plain]Compiling with Intel Visual Fortran 11.1.046 [IA-32]...                                                                                                                                                                                                                                  
pumpivf11-demo.for                                                                                                                                                                                                                                                                          
...pumpivf11-demo.for(70): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( % : . = =>                                                                             
...pumpivf11-demo.for(77): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( % : . = =>                                                                             
...pumpivf11-demo.for(78): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of:  / //                                                                        
...pumpivf11-demo.for(79): error #5082: Syntax error, found ',' when expecting one of: ( % . = =>                                                                                            
...pumpivf11-demo.for(79): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ) :: , :                                                                                 
...pumpivf11-demo.for(80): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of:  / //                                                                        
...pumpivf11-demo.for(81): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( % . = =>                                                                               
...pumpivf11-demo.for(83): error #5082: Syntax error, found IDENTIFIER 'NOTE' when expecting one of: ( % : . = =>                                                                            
...pumpivf11-demo.for(84): error #5144: Invalid character_kind_parameter. No underscore                                                                                                      
...pumpivf11-demo.for(84): error #5082: Syntax error, found IDENTIFIER 'SECOND' when expecting one of: ( % : . = =>                                                                          
...pumpivf11-demo.for(87): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( % : . = =>                                                                             
...pumpivf11-demo.for(90): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( % : . = =>                                                                             
...pumpivf11-demo.for(112): error #5144: Invalid character_kind_parameter. No underscore                                                                                                     
...pumpivf11-demo.for(112): error #5082: Syntax error, found INTEGER_CONSTANT '10' when expecting one of: ( % : . = =>                                                                       
...pumpivf11-demo.for(112): error #5082: Syntax error, found IDENTIFIER 'ADDED' when expecting one of: * ) :: ,  ; + . - (/ [ : ] /) ' ** / // > .LT. ...                  
...pumpivf11-demo.for(119): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( % : . = =>                                                                            
...pumpivf11-demo.for(120): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( % : . = =>                                                                            
...pumpivf11-demo.for(127): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of:                                                                             
...pumpivf11-demo.for(128): error #5082: Syntax error, found ',' when expecting one of: ( % . = =>                                                                                           
...pumpivf11-demo.for(128): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( * ::     ...
...pumpivf11-demo.for(129): error #5082: Syntax error, found ',' when expecting one of: ( % . = =>                                                                                           
...pumpivf11-demo.for(130): error #5082: Syntax error, found ',' when expecting one of: ( % . = =>                                                                                           
...pumpivf11-demo.for(130): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( * ::     ...
...pumpivf11-demo.for(131): error #5082: Syntax error, found ',' when expecting one of: ( % . = =>                                                                                           
...pumpivf11-demo.for(131): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( * ::     ...
...pumpivf11-demo.for(132): error #5082: Syntax error, found ',' when expecting one of: ( % . = =>                                                                                           
...pumpivf11-demo.for(132): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( * ::     ...
...pumpivf11-demo.for(133): error #5082: Syntax error, found ',' when expecting one of: ( % . = =>                                                                                           
...pumpivf11-demo.for(133): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( * ::     ...
...pumpivf11-demo.for(134): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( % . = =>                                                                              
(901): catastrophic error: Too many errors, exiting






The coding lines to which they refer are (starting with Line 1; this is a pure copy/paste from the Visual Studio (2003) editor that seems to have caught the tabs where they occur in the source):
!11/19/2006 -
!07-16-06 -- 
!            
!07-06-06 -- 
!07-05-06 -- 
!06-23-06 -- 
!07-16-04 -- 
!05-17-02 -- 
!05-16-02 -- 
!            
!05-15-02 -- 
!            
!07-18-01 -- 
!            
!06-27-01 -- 
!06-16-01 -- 
!05-07-01 -- 
!12-02-99 -- 
!12-01-99 -- 
!11-30-99 -- 
!            
!11-30-99 -- 
!06-30-99 -- 
c           s
c           c

!06-30-99 -- 
!            
!		
!02-26-99 -- 
!06/04/97 -- 
!12/05/96 -- 
c  05-17-94 -
c            
c            
c  05-17-94 -
c            
c  05-16-94 -
c            
c
c
      subroutine pumpsolv(*)

	use MSFLIB                                                                  !12/06/96
      use comm2                                                             !12/06/96
	use mElev
	use mMaxmin                                     !01/21/97
	use mPumprt										!06/04/97
	use mScreen									!!06-30-99 
	use mSs                                      !11-30-99 
	use mSp											!05-07-01 
        USE DFLIB    !for NoConverge window          !07-05-06
        use DFLOGM 
        TYPE (windowconfig) wcNoConverge             !07-05-06 
	  include 'resource.fd'                        !07-06-06   
	  type(dialog)WhatToDoNow			          !07-06-06   
        LOGICAL statusNoConverge /.FALSE./           !07-05-06 
	CHARACTER*9 timechar						!!06-30-99 
	character(1)::crlf='n'C               !12-01-99 
          !(1)cuts off trailing blank. Incl it in final contsructed word  !09-27-99 

!           reinstated the following interface, which had been !02-26-99 -ed			!06-16-01 
      interface                                                                   !12/06/96
!07-18-01          integer(2) function ssqmsf(text)                                        !12/06/96
         integer(2) function ssqmsfjos(text)                                        !12/06/96    !07-18-01
          character*1 text                                                      !12/06/96
         end function                                                      !12/06/96
      end interface                                                               !12/06/96

c
!06/04/97      DOUBLE PRECISION TA,X1,Y,QBP,CBP,ST,S,COEF,ZZ
      DOUBLE PRECISION X1,Y,CBP,ST,S,ZZ					!06/04/97
      !12/09/96integer*2 ssqmsf
!06-16-01 !02-26-99      character*6 addrs,addrs2,addrs3
      character*6 addrs,addrs2,addrs3    !06-16-01
      integer(kind=2)black                                              !11/19/2006
c
      common/pmpslv/S(maxpumpparallels),ICQ(maxpumpparallels),x1,
	1SV(maxpumpparallels),IZQ(maxpumpparallels),i17  !from pumpt
      common/pmpslv/KIL,JM,KK,hcp,hcm,fdt1,bbs,hpm,iint,
	1PPCHK(maxpumpparallels) !fr Pumpsolv
      common/pmpslv/irecip,fac                                             !fr Pumpsolv
c          NOTE: the above lines rely upon standard FORTRAN ability to tack the
c           second "PMPSLV" onto the end of first one
!06-16-01 !02-26-99      common/pmpslvch/addrs                !shouldn't mix char and num in common
      common/pmpslvch/addrs                !shouldn't mix char and num in common    !06-16-01
c
!12/06/96      INCLUDE 'c:ce111comm2'

c
!06/04/97         COMMON/PUMPRT/ HRES(15),NSUCT(15),NOP(15),NOF(15),NOPAR(15),
!06/04/97     1   COEF(15),NO(15,6),VALDIM(15,6),VV(15,6),ICAS(20),
!06/04/97     2   ICH(20),IPTYP(20),TFAIL(20),IVTP(20),ICTA(20),COF(20),DTST(20),
!06/04/97     3   IPRT(20),IPNO(15,6,3),IPLT(10),IFA(20),T01(20,21),S01(20,21),
!06/04/97     4   NCRV1(20),NCRV2(20),IST(20),IFL(20),STK(5,21),COD(5,21),
!06/04/97     5   QR(0:15),HR(0:15),NR(0:15),TR(0:15),WRR(0:15),
!06/04/97     +   NOPT(0:5),DX(0:5),WH(127,0:5)    !note: the 0:'s added 10/07/91 jos
!06/04/97     6   ,WB(127,0:5),QPUMP(15),QPUMP0(15),AL(20),AL0(20),AL00(20),
!06/04/97     7   VV0(15,6),VV00(15,6),DH(20),C31(20),CV(20),FT(20),
!06/04/97     8   BET0(20),HPUMP(15),TDH(20),TDH0(20),TA(20),SX(20),SX0(20),
!06/04/97     9   NPN(10),NSN(10),SN(10),HPU(15),HPD(15),HPU0(15),  
!06/04/97     A   HPD0(15),QBP(15),QBP0(15),VVTR(15,6), 
!06/04/97     B   ICHV(6),NCVIA(20),JNUM(15),IOPG(20),TV(20),IBYP(15),
!06/04/97     C   JPPT(20),JTRIG(20),VTRIG(20,3),PTRIG(20,3),ALIN(20),           !10/20/92
!06/04/97     D   TW(2,21),HW(2,21),IPX(2),IWV(15),WHH(15),WT(15),TX(15),
!06/04/97     E   KVOIDD(15),VVOIDD(15),KY,PI,IIHSU,TAUL,TOL,NPLT,ICUT,JPP,
!06/04/97     e   timejpp,                                                       !05-16-94
!06/04/97     F   TSTART(20,7),ITTT(20),TTT(20),OPSP(20,3),DTST1(20,3)
!06/04/97     G   ,trigsecp(20,3),trigsecv(20,3),nptrig(20),nvtrig(20)                !10/20/92
!06/04/97     h   ,trigdelp(20,3)                                                !07-12-93
!06/04/97     i   ,lines(15,6)                                                   !08-30-93
c  10/16/92  added "G" above
!06/04/97c
!06/04/97c     ratchet stuff
!06/04/97c
!06/04/97      logical ratchet
!06/04/97      COMMON/RATCHETS/TORKMAX(20),TORKMIN(20),RATCHET(20)
!06/04/97     +   ,spdmin(20),tspdmin(20)                                        !05-17-94
c
c
!01/21/97      COMMON/MAXMIN/ THMAX(600),THMIN(600),TVMAX(600),TVMIN(600),  
!01/21/97     1               VDMAX(600),TVDMAX(600)
!01/21/97      COMMON/ELEV/ELVAP(600),VVOID(600),KVOID(600),AQO,AHO,
!01/21/97     1 DYVAP,LENGTH,LENGT
!01/21/97      REAL LENGTH,LENGT                                               !12/05/96
       
      DIMENSION AA(matrixpump,matrixpump),BB(matrixpump),					!05-16-02 
	1AAA(matrixpump2),FFF(maxpumpparallels),								!05-16-02 
	1ST(maxpumpid),														!05-16-02 
     1          A1(maxpumpid),A0(maxpumpid),B1(maxpumpid),				!05-16-02 
     1B0(maxpumpid),AX(maxpumpid),BX(maxpumpid),FTV(maxpumpid), 			!05-16-02 
     2          FTA(maxpumpid),DFV(maxpumpid),DFA(maxpumpid),				!05-16-02 
     1ISD(maxpumpparallels),INDD(matrixpump),								!05-16-02 
     3          CBP(maxpumpsta)											!05-16-02 
c
c
c
c
c
      statusNoConverge =.FALSE.                    !07-05-06 
      iloop=0                                                           !05-17-94
!
!  IVF 11 bombs out above this with too many syntax errors when its asked to "Check Routine Interfaces" /warn:interfaces

[/plain]
All the comments and dates etc are my very simplistic way of keep track of what happens to the code as it morphs thru the ages.
I will keep trying to manufacture a source that does what I claim. If I remove all the coding below what I've shown here, the only notices I get are remarks that variables are not used. But if I keep the file intact, it will bomb whenever I compile it with the /warn:interfaces. The errors occur during compile and do not need linking to occur.
Thanks and God bless!
Jack









0 Kudos
jackosullivan
Beginner
1,311 Views

Sorry, but I could not figure out how to break loose of the Insert code thingie.

Mysource code's Line 1 isLine 42 of the previous reply.

Thanks again and God bless!
jack
0 Kudos
Steven_L_Intel1
Employee
1,311 Views
Well, I can't make anything out of this yet. If you're willing to provide a complete test case (probably need the whole project), let me know. Or you can submit it to Intel Premier Support and reference this thread (#68933).
0 Kudos
jackosullivan
Beginner
1,311 Views
Well, I can't make anything out of this yet. If you're willing to provide a complete test case (probably need the whole project), let me know. Or you can submit it to Intel Premier Support and reference this thread (#68933).

Steve,
I'll keep plugging away at getting a break-able sample for you. No guarantees how long that might take... ;-)

Thanks again --for this and all that you do here -- and, of course,God bless!
Jack
0 Kudos
jackosullivan
Beginner
1,311 Views
Well, I can't make anything out of this yet. If you're willing to provide a complete test case (probably need the whole project), let me know. Or you can submit it to Intel Premier Support and reference this thread (#68933).
Steve,
This is sort of Twilight-Zoney, but now that I've changed from 11.1.046 to 11.1.048, the problem is GONE!

Thanks to the "Fixes List" note you referenced in your now-missing reply to your Sticky about .048, I figured there just MIGHT have been something more to the Revision than making it Win7-compatible. And it was worth the download wait. (You might want to reinstate that reference to the Fixes List.)

Before I got it to work this way, I had also discovered that if I simply commented out the "include'resource.fd'" that is Line 95 of the code-quote above, the problem went away also. However, .048 does compile even with this include included.

Mysterious, if not truly the bizzare that you and Jim mentioned, but at least things seem to be working now. (I will be starting another thread pertaining to the contents of the resource.fd, but at least this compiler conundrum seems fixed.)

Thanks so much for your attention and for all you do!

God bless!
Jack
0 Kudos
Steven_L_Intel1
Employee
1,311 Views
Ok. The reference to the fixes list will return - and it will be in future release notes. I removed the post, which suggested that there were fixes in "Update 2 (Revised)" not in Update 2, because that does not appear to be the case, despite a separate list in the fixes list. When I get to the bottom of that I'll perhaps revise things.
0 Kudos
Reply