! fmess2 ! 26/04/87 - add error 369 (missing END DO) ! fmess1 ! 16/11/86 - incorporate changes up to ftnmess9 ! ftnmess8 ! 06/09/86 - inhibit error messages if option2 set !* MODIFIED 06/07/86 ftnmess6 !* !* !*********************************************************************** !* COM record format * !*********************************************************************** !* %recordformat COMFMT(%integer CONTROL,OPT,OPTIONS1,OPTIONS2,PTRACE, ADICT,ANAMES,ADOUTPUT,ADBLKDTAID,DICLEN,DPTR, MAXTRIADS,NEXTPLAB,ALABH,ADLHEAD, SUBPROGTYPE,SFPTR,EXTERNALS,CBNPTR,SCPTR,CHECKLIST, RESCOM1,RESCOM2,F77PARM,FNO,FAULTY,LINEST,CMNIIN,SFMK, LISTL,LISTSTREAM,DIAGSTREAM,LISTMODE,XREF, PACKCMN,ITSMODE,PATHANAL,CHARACTER CODE,SPACE CHAR, HEADINGS,ARRAYCHECKS,JBRMODE,MESSLEN,NAMESLEN, NEXTCH,FUNRESDISP,WARNCOUNT,INP,MAXINP,MESSCOUNT, UNASSPATTERN,LISTCODE,PI21INT,DOPTR,SUBPROGPTR, FNLST,LAB,NAMESFREE,ALGOLREF,FIRSTSTATNUM,CEXPDICT, COMMONBASE,FASTPROLOGUE,STATEMENT,IFPTR, CNSTCA,COMMENTCNT,ADIDENT,ADERRIDEN, ADEXT,MAXDICT,MAXNAMES,MAXOUTPUT,MAXEXT, ACOMP,ASUBNAMES,MAXPSTACK, ATRIADS,TRFILEID,TRBLOCK,CMNCNT,SCANONLY,NOISY, MAXANAL,MAXGEN,SAVEANAL,SAVEGEN,OPTFLAGS,NEXTBIT, ACMNBITS,NEXTTEMP,ASSGOTOS,TMPPTR,DESTEMPS,OBJADDR, AREAADDR,PASTART,ADOPTDATA,TMINDEX,VRETURN,ENTRIES, EQUCHK,LABWARN,LINENO,MAXIBUFF, COMMENTS,DIAGLEVEL,WARNNOT77,WARNLENGTH,ALLOWUNIX,ALLOWVAX, ONETRIP,HOST,TARGET,MONERRS,CODECA, GLACA,DIAGCA,SSTCA,GSTCA,CONSTCA,SCALARCA,IOAREACA,ZGSTCA,STACKCA, W1,W2,W4,STATORDERMODE,CURSTATCLASS,LISTPOINT,STACKBASE, NEXTTRIAD,ASAVE,MAXSAVE,SUBTAB,LASTSUBTAB, INHIBOP4,ARGCNT,IDCNT,LABCNT,TMLIST,MAINPROG,PROCINDEX,CONSOLE) !* {%include "ftn_options2"} !* %constinteger Dbugcol1 = 1 %constinteger Xbugcol1 = 2 %constinteger Ybugcol1 = 4 %constinteger Defreal8 = 8 %constinteger Listinc = x'10' %constinteger genprof = x'20' %constinteger inhiberrs = x'40' %constinteger dovectorize = x'80' %constinteger opt4inclist = x'100' %constinteger opt4exclist = x'200' !* !*********************************************************************** !* Exports * !*********************************************************************** !* %integerfnspec Warncheck(%integer Er,Acom) %routinespec Faultnum(%integer Er,Comad,Update) !* !*********************************************************************** !* Imports * !*********************************************************************** !* %externalroutinespec Efaulty !* !*********************************************************************** !* %constbyteintegerarray Etype(100:380) = %c {100} 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,2, {120} 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, {140} 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, {160} 0,0,0,0,0, 0,0,0,0,0, 0,0,3,0,3, 3,3,3,3,0, {180} 0,0,0,2,0, 0,0,0,0,0, 0,2,0,2,2, 0,0,0,0,0, {200} 1,2,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, {220} 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, {240} 0,0,2,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, {260} 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, {280} 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, {300} 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, {320} 0,0,0,0,0, 0,0,0,0,0, 2,2,1,0,0, 0,0,2,0,0, {340} 0,0,0,0,0, 0,0,0,2,2, 2,2,2,2,2, 2,0,2,1,0, {360} 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, {380} 0 !* %externalintegerfn Warncheck(%integer Er,Acom) !* result = 0 produce message !* = 1 suppress warning/comment %record(Comfmt)%name Com %switch S(0:3) Com==record(Acom) %unless 100<=Er<=360 %then %result=0 ->S(Etype(Er)) !* S(0): {E} %result=0 !* S(1): {W} %if Com_F77parm&X'40'#0 %then %result=1;! no warnings %result=0 !* S(2): {W77} %if Com_F77parm&X'1000'#0 %then %result=1;! no F77warnings %result=0 !* S(3): {C} %if Com_F77parm&X'20'#0 %then %result=1;! no comments %result=0 %end;! Warncheck !* %externalroutine Faultnum(%integer Er,Comad,Update) %RECORD(COMFMT)%NAME COM %SWITCH MESS (100:380) COM==RECORD(COMAD) %IF ER < 100 %OR ER > 380 %THEN -> ERR %if Com_options2&Inhiberrs#0 %thenstart %if Etype(Er)=0 %thenstart Efaulty %if Update#0 %then Com_Fno=Com_Fno+1 %finish %return %finish -> MESS(ER) !* %ROUTINE E Efaulty PRINTSTRING("Error") WRITE(ER,1) SPACES(2) %IF UPDATE#0 %THEN COM_FNO=COM_FNO+1 %END !* %routine W PRINTSTRING("Warning") WRITE(ER,1) SPACES(2) %IF UPDATE#0 %THEN COM_WARNCOUNT=COM_WARNCOUNT+1 %end !* %routine W77 PRINTSTRING("Warning") WRITE(ER,1) SPACES(2) %IF UPDATE#0 %THEN COM_WARNCOUNT=COM_WARNCOUNT+1 %end !* %routine C PRINTSTRING("Comment") WRITE(ER,1) SPACE %IF UPDATE#0 %THEN COM_COMMENTCNT=COM_COMMENTCNT+1 %end !* %ROUTINE ID %IF STRING(COM_ADIDENT)="F#BLCM" %THEN %C STRING(COM_ADIDENT)="Blank common" PRINTSTRING(STRING(COM_ADIDENT)) %END !* %ROUTINE EID PRINTSTRING(STRING(COM_ADERRIDEN)) %END !* %ROUTINE NUM WRITE(COM_PI21INT,1) %END !* %routine p(%string(255)s) printstring(s) %end; { p } !* !* MESS(100): E;printstring("Syntax error (at or before position ") NUM;printstring(")"); -> END MESS(101): E;printstring("First statement cannot be a continuation statement") -> END MESS(102): E p("Columns 1 - 5 of a continuation statement must be blank") -> END MESS(103): E;printstring("Only 19 continuation statements allowed"); -> END MESS(104): E;printstring("Statement incomplete"); -> END MESS(105): E;printstring("Incomplete Hollerith constant"); -> END MESS(106): E;printstring("Invalid character (at or before position ") NUM;printstring(")") ; -> END MESS(107): E;printstring("Invalid (non-graphic) character"); -> END MESS(108): E;printstring("Non-numeric label"); -> END MESS(109): E;printstring("Brackets not matched"); -> END MESS(110): E;printstring("Invalid statement label ");NUM; -> END MESS(111): E;printstring("Label ");NUM;printstring(" not set"); -> END MESS(112): E;p("Evaluation of constant expression causes overflow"); -> END MESS(113): E;p("Constant exponentiation must be to an integer power"); -> END MESS(114): E;p("Invalid character length (must be 1 - 32767)") ; -> END MESS(115): E;p("Invalid Hollerith constant length (must be 1 - 256)"); -> END MESS(116): E;printstring("Invalid constant"); -> END MESS(117): E;printstring("Invalid real constant"); -> END MESS(118): E;printstring("Invalid complex constant"); -> END MESS(119): W77 printstring("Use of Q exponent"); -> NotF77 MESS(120): E;printstring("Constant is not in the permitted range"); -> END MESS(121): E;printstring("Illegal common block identifier ") ID; -> END MESS(122): E; ID;printstring(" is already in common"); -> END MESS(123): E; ID;printstring(" is a parameter"); -> END MESS(124): E;printstring("Invalid length specification"); -> END MESS(125): E;printstring("Integer constant required"); -> END MESS(126): E; ID;printstring(" is not a simple integer variable"); -> END MESS(127): E;printstring("Illegal use of identifier ");ID; -> END MESS(128): E;printstring("Invalid subprogram identifier ");ID; -> END MESS(129): E;printstring("Invalid argument"); -> END MESS(130): E;printstring("Invalid expression"); -> END MESS(131): E;printstring("Expression must be of type integer"); -> END MESS(132): E;printstring("Invalid combination of operands") ; -> END MESS(133): E;p("Invalid expression in a logical IF statement"); -> END MESS(134): E;printstring("Invalid exponent"); -> END MESS(135): E;printstring("Nested statement function reference"); -> END MESS(136): E;printstring("Invalid subscript in implied-DO"); -> END MESS(137): E;printstring("Invalid implied-DO index"); -> END MESS(138): E; -> END MESS(139): E;printstring("Wrong number of parameters"); -> END MESS(140): E;printstring("Recursive statement function definition"); -> END MESS(141): E;printstring("Invalid ENTRY identifier"); -> END MESS(142): E; ID;printstring(" is a subprogram identifier"); -> END MESS(143): E;printstring("Parameter length or type is incorrect"); -> END MESS(144): E;printstring("Variable name expected"); -> END MESS(145): E;printstring("Invalid array dimension "); NUM; -> END MESS(146): E; ID;printstring(" is not valid as an array dimension"); -> END MESS(147): E;printstring("Nested use of a DO or implied-DO index"); -> END MESS(148): E;printstring("Wrongly nested DO statements"); -> END MESS(149): E;printstring("FORMAT statement label is missing"); -> END MESS(150): E; -> END MESS(151): E;printstring("Missing left bracket"); -> END MESS(152): E;printstring("Missing right bracket"); -> END MESS(153): E;printstring("- is only valid with a P scale factor"); -> END MESS(154): E; ID;printstring(" is an invalid format construction"); -> END MESS(155): E;printstring("Decimal field is greater than width in item ") ID; -> END MESS(156): E;printstring("Width of zero is invalid in item ") ID; -> END MESS(157): E;printstring("Repetition factor is invalid in item ") ID; -> END MESS(158): E;printstring("Null literal is not allowed"); -> END MESS(159): E;printstring("Integer value is too large in item ") ID; -> END MESS(160): E;printstring("No width field allowed in item ") ID; -> END MESS(161): E;printstring("Input to a literal is not allowed"); -> END MESS(162): E;printstring("Minimum digits field is greater than width in item ") ID; -> END MESS(163): E;printstring("No format item preceding comma"); -> END MESS(164): E;printstring("Non-repeatable edit desciptor ") ID; -> END MESS(165): E;printstring("Comma required before item ") ID; -> END MESS(166): E;printstring("Decimal point not allowed in item ") ID; -> END MESS(167): E; -> END MESS(168): E; -> END MESS(169): E; -> END MESS(170): E; -> END MESS(171): E; -> END MESS(172): C printstring("Inaccessible statement"); -> END MESS(173): E; -> END MESS(174): C p("Constant has too great a precision and has been truncated") -> END MESS(175): C printstring("Variable ");ID;p(" declared but not used"); -> END MESS(176): C p("Label ");NUM;p(" declared but not referenced"); -> END MESS(177): C printstring("Inaccessible statement"); -> END MESS(178): W77 ID;p(" is not a standard FORTRAN77 intrinsic function"); -> END MESS(179): E; ID;p(" has already appeared in an INTRINSIC statement"); -> END MESS(180): E; ID;p(" is a constant identifier") ; -> END MESS(181): E; ID;p(" has already appeared in an EXTERNAL statement"); -> END MESS(182): E;p("Attempt to equivalence char and non-char items (at line ") NUM;printstring(")") ; -> END MESS(183): W77;ID; p(" contains char and non-char items - not standard FORTRAN77") -> END MESS(184): E; ID;printstring(" cannot be SAVEd (at line ") NUM;printstring(") - it is an argument identifier"); -> END MESS(185): E; ID;printstring(" cannot be SAVEd (at line ") NUM;printstring(") - it is a procedure identifier"); -> END MESS(186): E; ID;printstring(" cannot be SAVEd (at line ") NUM;printstring(") - it is an item in common"); -> END MESS(187): E; ID;printstring(" specified in SAVE is a common block"); -> END MESS(188): E; ID;printstring(" specified in SAVE is not a common block"); -> END MESS(189): E; ID printstring(" has assumed size but is not an argument"); -> END MESS(190): E;p("INTEGER*2 variable is not allowed in this context"); -> END MESS(191): W77 p("Format specifier is a non-char array - not standard FORTRAN77") -> END MESS(192): E;printstring("Expression is not logical"); -> END MESS(193): W77 printstring("Use of Hollerith"); -> NotF77 MESS(194): W77; printstring("Char data in non-char item"); -> NotF77 MESS(195): E;printstring("Function has not been assigned a value"); -> END MESS(196): E;printstring("Adjustable dimension ") EID;printstring(" to array ") ID;printstring(" is not of type integer"); -> END MESS(197): E;p("Entry name cannot be of type character (as function is not)") -> END MESS(198): E;p("Entry name must be of type character (as function is)") -> END MESS(199): E;p("Intrinsic function ") ID;printstring(" may not be used as an argument"); -> END MESS(200): W printstring("Nonstandard facility"); -> END MESS(201): W77 printstring("Identifier ") ID p(" contains >6 characters - not standard FORTRAN77"); -> END MESS(202): E;printstring("RETURN not allowed in main program"); -> END MESS(203): E;p("Illegal transfer into IF, ELSEIF or ELSE block (at line ") NUM;p(")"); -> END MESS(204): E;p("Illegal transfer into IF, ELSEIF or ELSE block (from line ") NUM;p(")"); -> END MESS(205): E;p("Illegal transfer into the range of a DO loop (at line ") NUM;p(")"); -> END MESS(206): E;p("Illegal transfer into the range of a DO loop (from line ") NUM;p(")") ; -> END MESS(207): E;p("ELSE or ELSEIF statement may not follow an ELSE statement") -> END MESS(208): E;printstring("ENDIF statement missing"); -> END MESS(209): E p("Label on ELSE or ELSEIF statement illegally referenced at line ") NUM -> END MESS(210): E p("Illegal reference to label on ELSE or ELSEIF statement at line ") NUM; -> END MESS(211): E; ID;printstring(" specification already given"); -> END MESS(212): E; ID;printstring(" specification not applicable"); -> END MESS(213): E;printstring("Invalid unit or internal file identifier"); -> END MESS(214): E;printstring("Invalid format identifier"); -> END MESS(215): E p("Assumed size CHARACTER operand not valid in format identifier") -> END MESS(216): E;printstring("REC= value must be an integer expression"); -> END MESS(217): E; ID;printstring(" specifier is invalid"); -> END MESS(218): E;p("Label already referenced as an executable statement (at line ") NUM;printstring(")"); -> END MESS(219): E;p("END= specifier is not valid in a WRITE statement"); -> END MESS(220): E;p("Invalid format specifier for an internal file"); -> END MESS(221): E p("A format specifier is required when accessing an internal file") -> END MESS(222): E;p("REC= specifier not valid for an internal file"); -> END MESS(223): E;printstring("* is not valid as unit in ") ID;printstring(" statement"); -> END MESS(224): E; ID;printstring(" value must be a statement label"); -> END MESS(225): E;printstring("Label ") NUM;printstring(" refers to a non-executable statement"); -> END MESS(226): E;printstring("IOSTAT= specifier invalid") ; -> END MESS(227): E;printstring("Label has already been set (at line ") NUM;printstring(")"); -> END MESS(228): E;p("Label has been set or referenced as a FORMAT label (at line ") NUM;printstring(")"); -> END MESS(229): E p("ELSE or ELSEIF does not follow a block IF or ELSEIF statement") -> END MESS(230): E p("ENDIF does not follow a block IF,ELSEIF or ELSE statement") -> END MESS(231): E printstring("Upper dimension bound is less than the lower bound") -> END MESS(232): E;p("Subscript to array ") ID;p(" is outside the declared bounds"); -> END MESS(233): E;p("Non-numeric or zero label") ; -> END MESS(234): E;p("Invalid nesting of a DO-loop and an IF-block"); -> END MESS(235): E p("ENTRY statement is not allowed within a DO-loop or an IF-block") -> END MESS(236): E;printstring("Misplaced specification statement"); -> END MESS(237): E;printstring("Misplaced statement function statement"); -> END MESS(238): E p("IMPLICIT must precede all other specification except PARAMETER") -> END MESS(239): E ID p(" cannot be typed after it has appeared in a PARAMETER statement") -> END MESS(240): E; ID;p(" is already defined as a constant identifier"); -> END MESS(241): E; ID printstring(" has been defined and cannot be a constant identifier") -> END MESS(242): W77 printstring("Specification of item length in bytes"); -> NotF77 MESS(243): E;p("Label parameter is not allowed in a function"); -> END MESS(244): E p("A subprogram is not allowed to call itself recursively") -> END MESS(245): E; ID;printstring(" is not an array identifier"); -> END MESS(246): E; ID;p(" is invalid in a dimension expression"); -> END MESS(247): E;p("An array is not allowed more than 7 dimensions"); -> END MESS(248): E;p("Array ") ID p(" with adjustable dimensions is not a parameter array") -> END MESS(249): E;p("Array dimensions must be of type integer"); -> END MESS(250): E; ID;printstring(" has adjustable dimension ") EID;p(" not in COMMON or same argument list"); -> END MESS(251): E;printstring("Array ") ID p(" cannot be in COMMON and have adjustable dimensions") -> END MESS(252): E;p("Array ");ID; p(" has an assumed size but is not a parameter"); -> END MESS(253): E;printstring("Subscript must be of type integer"); -> END MESS(254): E; ID;printstring(" cannot be an array identifier"); -> END MESS(255): E;printstring("Invalid reference to assumed size array ") ID; -> END MESS(256): E;p("Substring position value must be of type integer"); -> END MESS(257): E;printstring("Invalid substring position value") ; -> END MESS(258): E p("Combination of DOUBLE PRECISION and COMPLEX operands not allowed") -> END MESS(259): E;p("Invalid concatenation (includes a scalar with (*) length)") -> END MESS(260): E p("Invalid comparison between arithmetic and non-arithmetic values") -> END MESS(261): E p("Complex operands not permitted for .LT.,.LE.,.GT. or .GE.") -> END MESS(262): E; ID;p(" has already been declared as an array"); -> END MESS(263): E;p("Char items can only be equivalenced to other char items") -> END MESS(264): E;printstring("Wrong number of subscripts specified for ") ID; -> END MESS(265): E;printstring("An EQUIVALENCE list must contain at least two items") -> END MESS(266): E;p("An EQUIVALENCE list can contain only one COMMON item") -> END MESS(267): E;printstring("Contradiction in EQUIVALENCE list at line ") NUM; -> END MESS(268): E;p("EQUIVALENCE attempts to extend COMMON backwards"); -> END MESS(269): E; ID;printstring(" has already been typed"); -> END MESS(270): E; ID;printstring(" must not appear in a type statement"); -> END MESS(271): E p("Char length specification must be an integer constant expression") -> END MESS(272): E; ID;p(" is not permitted to have a length of (*)"); -> END MESS(273): E;printstring("Invalid alphabetic sequence"); -> END MESS(274): E;printstring("Implicit type for ") ID;printstring(" already specified"); -> END MESS(275): E ID;p(" has not been defined as a symbolic constant identifier") -> END MESS(276): E; ID;p(" cannot be defined as a symbolic constant identifier") -> END MESS(277): E;printstring("Hollerith constant exceeds item size"); -> END MESS(278): E;printstring("Constant expression is of the wrong type"); -> END MESS(279): E; ID;printstring(" is not valid in an INTRINSIC statement"); -> END MESS(280): E; ID;printstring(" is not a common block identifier"); -> END MESS(281): E; -> END MESS(282): E;p("COMMON may only be initialized in a BLOCKDATA subprogram") -> END MESS(283): E;p("Items in blank common may not be initialized"); -> END MESS(284): E; ID;p(" is not specified in a COMMON statement"); -> END MESS(285): E;p("Constant not compatible with variable ") ID; -> END MESS(286): E;printstring("Too many constants specified"); -> END MESS(287): E;printstring("Not enough constants specified"); -> END MESS(288): E; ID p(" is not an integer const identifier or an implied-DO-variable") -> END MESS(289): E printstring("Implied-DO-list may specify only array element names") -> END MESS(290): e p("Iteration count for an implied-DO-list must be positive") -> END MESS(291): E;printstring("Label ") NUM;printstring(" may not be ASSIGNed"); -> END MESS(292): E;printstring("Statement invalid after a logical IF"); -> END MESS(293): E;p("Type of DO-variable is invalid"); -> END MESS(294): E;printstring("Statement not allowed to end a DO-loop"); -> END MESS(295): E;printstring("Increment of DO-loop is zero") ; -> END MESS(296): E;p("Invalid type of expression for a DO parameter"); -> END MESS(297): E; ID;printstring(" invalid in input/output list"); -> END MESS(298): E;printstring("Invalid input list item"); -> END MESS(299): E p("Implied-DO-variable must not occur in the controlled input list") -> END MESS(300): E;printstring("Intrinsic function ") ID;p(" must not be used as an actual argument"); -> END MESS(301): E; ID;p(" cannot appear in a DATA or EQUIVALENCE list"); -> END MESS(302): E;printstring("Label "); NUM printstring(" has already been used as a statement label"); -> END MESS(303): E;printstring("END statement is missing"); -> END MESS(304): E;printstring("Alignment error in common"); -> END MESS(305): E printstring("BLOCKDATA must not contain any executable statements") -> END MESS(306): E; -> END MESS(307): E;printstring("Statement too complex to compile"); -> END MESS(308): E;printstring("Too many names in subprogram"); -> END MESS(309): E;printstring("Too many faults in program"); -> END MESS(310): E;printstring("Program too large"); -> END MESS(311): E; -> END MESS(312): E; -> END MESS(313): E;printstring("A UNIT or FILE specifier must be provided"); -> END MESS(314): E;p("UNIT and FILE specifiers may not both be provided"); -> END MESS(315): E;p("A UNIT specifier is required") ; -> END MESS(316): E;p("A main program unit has already been compiled"); -> END MESS(317): E;p("Common area ");ID;p(" too large"); -> END MESS(318): E;p("DOUBLE PRECISION is not supported in this release"); -> END MESS(319): E;p("INTEGER*2 is not supported in this release"); -> END MESS(320): E;p("Subprogram code size is greater than 32K bytes") ->END MESS(321): E;printstring("Statement too complex"); ->END MESS(322): E;printstring("Too many common areas");->END MESS(323): E;printstring("Wrong number of arguments") L323A: printstring(" in call of "); ID; printstring(" at line "); NUM; ->END MESS(324): E;printstring("Non-corresponding subprogram type"); ->L323A MESS(325): E;printstring("Non-correspondence of arguments"); ->L323A MESS(326): E; ->END MESS(327): E; ->END MESS(328): W77;ID printstring(" is not a standard FORTRAN77 intrinsic function") ->End MESS(329): E;printstring("Alignment error in common block ");ID;->End MESS(330): W77;printstring("Transfer into the range of a DO loop (at line ") NUM;printstring(")"); -> NotF77 MESS(331): W77;printstring("Transfer into the range of a DO loop (from line ") NUM;printstring(")"); -> NotF77 MESS(332): W Id; printstring(" is assumed to be an intrinsic function"); ->End MESS(333): E; ID; printstring(" must be explicitly typed");->End MESS(334): E; printstring("END DO has no correspondind DO statement");->End MESS(335): E; printstring("INCLUDE file ") Id; printstring(" is not avalable");->End MESS(336): E; printstring("More than 10 nested INCLUDE statements");->End MESS(337): W77;p("Non-standard form of array reference in EQUIVALENCE");->End MESS(340): W77;printstring("Transfer into the range of a DO loop (at line ") NUM;printstring(")"); -> NotF77 MESS(341): W77;p("Transfer into the range of a DO loop (from line ") NUM;printstring(")"); -> NotF77 MESS(342): E;printstring("Invalid concatenation including an item with") printstring(" (*) length at line ");Num;->End MESS(343): E; printstring("Local arrays exceed 15 Mbytes"); -> End MESS(344): E; printstring("COMMON area "); ID printstring(" exceeds 16 Mbytes"); -> End MESS(345): E; printstring("Subprogram "); ID printstring(" is multiply defined"); -> End MESS(346): E; printstring("Program too large for OPT=2 processing"); -> End MESS(347): E; printstring("Program is potentially recursive -") printstring(" OPT=2 processing abandoned"); -> End MESS(348): W77; printstring("Use of DO WHILE"); -> NotF77 MESS(349): W77; printstring("Use of END DO"); -> NotF77 MESS(350): W77; printstring("Use of ampersand to identify a label parameter") -> NotF77 MESS(351): W77; printstring("Use of .XOR. instead of .NEQV."); -> NotF77 MESS(352): W77; printstring("List directed output to an internal file") -> NotF77 MESS(353): W77; printstring("Non-standard form of constant"); -> End MESS(354): W77; printstring("Use of type BIT"); -> NotF77 MESS(355): W77; printstring("Use of "); ID printstring(" specifier in OPEN"); -> NotF77 MESS(356): E; printstring("Repeated use of "); ID printstring(" in a dummy argument list"); -> End Mess(357): W77; printstring("Equivalence of char and non-char items"); ->NotF77 Mess(358): W; printstring("Space left in common area ");Id printstring(" for doubleword alignment"); ->End Mess(359): E; printstring("Code for subprogram exceeds 64Kbytes"); ->End Mess(360): E; printstring("INCLUDE file name must be enclosed in quotes");->End Mess(369): E; printstring("Missing END DO statement");->End !* NotF77: printstring(" is not standard FORTRAN77") END: NEWLINE %RETURN ERR: MESS(*): E; p("No error text provided") NEWLINE %end;! Faultnum !* %endoffile