mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
PR modula2/121164: Modula 2 build failure followup
This is a followup patch for PR modula2/121164 to fix the location for the error message attributed to cc1gm2. gcc/m2/ChangeLog: PR modula2/121164 * gm2-compiler/P1SymBuild.mod: Remove PutProcTypeParam. Remove PutProcTypeParam. (CheckFileName): Remove. (P1EndBuildDefinitionModule): Correct spelling. (P1EndBuildImplementationModule): Ditto. (P1EndBuildProgramModule): Ditto. (EndBuildInnerModule): Ditto. * gm2-compiler/P2SymBuild.mod (P2EndBuildDefModule): Correct spelling. (P2EndBuildImplementationModule): Ditto. (P2EndBuildProgramModule): Ditto. (EndBuildInnerModule): Ditto. (CheckFormalParameterSection): Ditto. * gm2-compiler/P3SymBuild.mod (P3EndBuildDefModule): Ditto. * gm2-compiler/PCSymBuild.mod (PCEndBuildDefModule): Ditto. (fixupProcedureType): Pass tok to PutProcTypeVarParam. Pass tok to PutProcTypeParam. * gm2-compiler/SymbolTable.def (PutProcTypeParam): Add tok parameter. (PutProcTypeVarParam): Ditto. * gm2-compiler/SymbolTable.mod (SymParam): At change type to CARDINAL. New field FullTok. New field Scope. (SymVarParam): At change type to CARDINAL. New field FullTok. New field Scope. (GetVarDeclTok): Check ShadowVar for NulSym and return At. (PutParam): Initialize FullTok. Initialize At. Initialize Scope. (PutVarParam): Initialize FullTok. Assign At. Initialize Scope. (AddProcedureProcTypeParam): Add tok parameter. (GetScope): Add ParamSym and VarParamSym clause. (PutProcTypeVarParam): Add tok parameter. Initialize At. Initialize FullTok. (GetDeclaredDefinition): Clause ParamSym return At. Clause VarParamSym return At. (GetDeclaredModule): Ditto. (PutDeclaredDefinition): Remove clause ParamSym. Remove clause VarParamSym. (PutDeclaredModule): Remove clause ParamSym. Remove clause VarParamSym. libgm2/ChangeLog: PR modula2/121164 * libm2iso/Makefile.am (libm2iso_la_M2FLAGS): Add -Wall. * libm2iso/Makefile.in: Regenerate. * libm2log/Makefile.am (libm2log_la_M2FLAGS): Add -Wall. * libm2log/Makefile.in: Regenerate. * libm2min/Makefile.am (libm2min_la_M2FLAGS): Add -Wall. * libm2min/Makefile.in: Regenerate. * libm2pim/Makefile.am (libm2pim_la_M2FLAGS): Add -Wall. * libm2pim/Makefile.in: Regenerate. gcc/testsuite/ChangeLog: PR modula2/121164 * gm2/switches/pedantic-params/fail/arrayofchar.def: New test. * gm2/switches/pedantic-params/fail/arrayofchar.mod: New test. Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
This commit is contained in:
@@ -79,7 +79,6 @@ FROM SymbolTable IMPORT NulSym,
|
||||
MakeSubscript, PutSubscript,
|
||||
PutArray, GetType, IsArray,
|
||||
IsProcType, MakeProcType,
|
||||
PutProcTypeVarParam, PutProcTypeParam,
|
||||
PutProcedureBuiltin, PutProcedureInline,
|
||||
GetSymName,
|
||||
ResolveImports, PutDeclared,
|
||||
@@ -108,42 +107,6 @@ VAR
|
||||
importStatementCount: CARDINAL ;
|
||||
|
||||
|
||||
(*
|
||||
CheckFileName - checks to see that the module name matches the file name.
|
||||
*)
|
||||
|
||||
(*
|
||||
PROCEDURE CheckFileName (tok: CARDINAL; name: Name; ModuleType: ARRAY OF CHAR) ;
|
||||
VAR
|
||||
ext,
|
||||
basename: INTEGER ;
|
||||
s,
|
||||
FileName: String ;
|
||||
BEGIN
|
||||
FileName := GetFileName() ;
|
||||
basename := RIndex(FileName, '/', 0) ;
|
||||
IF basename=-1
|
||||
THEN
|
||||
basename := 0
|
||||
END ;
|
||||
ext := RIndex(FileName, '.', 0) ;
|
||||
IF ext=-1
|
||||
THEN
|
||||
ext := 0
|
||||
END ;
|
||||
FileName := Slice(FileName, basename, ext) ;
|
||||
IF EqualCharStar(FileName, KeyToCharStar(name))
|
||||
THEN
|
||||
FileName := KillString(FileName)
|
||||
ELSE
|
||||
s := ConCat (InitString (ModuleType),
|
||||
Mark (InitString (" module name {%1Ea} is inconsistant with the filename {%F{%2a}}"))) ;
|
||||
MetaErrorString2 (s, MakeError (tok, name), MakeErrorS (tok, FileName))
|
||||
END
|
||||
END CheckFileName ;
|
||||
*)
|
||||
|
||||
|
||||
(*
|
||||
StartBuildDefinitionModule - Creates a definition module and starts
|
||||
a new scope.
|
||||
@@ -227,7 +190,7 @@ BEGIN
|
||||
END ;
|
||||
IF NameStart#NameEnd
|
||||
THEN
|
||||
MetaError1 ('inconsistant definition module name {%1Wa}', MakeError (start, NameStart))
|
||||
MetaError1 ('inconsistent definition module name {%1Wa}', MakeError (start, NameStart))
|
||||
END ;
|
||||
LeaveBlock
|
||||
END P1EndBuildDefinitionModule ;
|
||||
@@ -301,7 +264,7 @@ BEGIN
|
||||
IF NameStart#NameEnd
|
||||
THEN
|
||||
MetaErrorT1 (end,
|
||||
'inconsistant implementation module name {%1Wa}', MakeError (start, NameStart))
|
||||
'inconsistent implementation module name {%1Wa}', MakeError (start, NameStart))
|
||||
END ;
|
||||
LeaveBlock
|
||||
END P1EndBuildImplementationModule ;
|
||||
@@ -381,7 +344,7 @@ BEGIN
|
||||
IF NameStart#NameEnd
|
||||
THEN
|
||||
MetaErrorT1 (end,
|
||||
'inconsistant program module name {%1Wa}', MakeError (start, NameStart))
|
||||
'inconsistent program module name {%1Wa}', MakeError (start, NameStart))
|
||||
END ;
|
||||
LeaveBlock
|
||||
END P1EndBuildProgramModule ;
|
||||
@@ -446,7 +409,7 @@ BEGIN
|
||||
IF NameStart#NameEnd
|
||||
THEN
|
||||
MetaErrorT1 (end,
|
||||
'inconsistant inner module name {%1Wa}', MakeError (start, NameStart))
|
||||
'inconsistent inner module name {%1Wa}', MakeError (start, NameStart))
|
||||
END ;
|
||||
LeaveBlock
|
||||
END EndBuildInnerModule ;
|
||||
|
||||
@@ -356,7 +356,7 @@ BEGIN
|
||||
END ;
|
||||
IF NameStart#NameEnd
|
||||
THEN
|
||||
WriteFormat2('inconsistant definition module name, module began as (%a) and ended with (%a)', NameStart, NameEnd)
|
||||
WriteFormat2('inconsistent definition module name, module began as (%a) and ended with (%a)', NameStart, NameEnd)
|
||||
END ;
|
||||
M2Error.LeaveErrorScope
|
||||
END P2EndBuildDefModule ;
|
||||
@@ -425,7 +425,7 @@ BEGIN
|
||||
PopT (NameEnd) ;
|
||||
IF NameStart#NameEnd
|
||||
THEN
|
||||
WriteFormat1('inconsistant implementation module name %a', NameStart)
|
||||
WriteFormat1('inconsistent implementation module name %a', NameStart)
|
||||
END ;
|
||||
M2Error.LeaveErrorScope
|
||||
END P2EndBuildImplementationModule ;
|
||||
@@ -499,7 +499,7 @@ BEGIN
|
||||
END ;
|
||||
IF NameStart#NameEnd
|
||||
THEN
|
||||
WriteFormat2('inconsistant program module name %a does not match %a', NameStart, NameEnd)
|
||||
WriteFormat2('inconsistent program module name %a does not match %a', NameStart, NameEnd)
|
||||
END ;
|
||||
M2Error.LeaveErrorScope
|
||||
END P2EndBuildProgramModule ;
|
||||
@@ -564,7 +564,7 @@ BEGIN
|
||||
PopT(NameEnd) ;
|
||||
IF NameStart#NameEnd
|
||||
THEN
|
||||
WriteFormat2('inconsistant inner module name %a does not match %a',
|
||||
WriteFormat2('inconsistent inner module name %a does not match %a',
|
||||
NameStart, NameEnd)
|
||||
END ;
|
||||
M2Error.LeaveErrorScope
|
||||
@@ -1835,13 +1835,13 @@ BEGIN
|
||||
(* WarnStringAt (InitString ('parampos?'), OperandTok (pi)) ; *)
|
||||
IF Unbounded AND (NOT IsUnboundedParam (ProcSym, prevkind, ParamTotal+i))
|
||||
THEN
|
||||
ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistant, %s',
|
||||
ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistent, %s',
|
||||
'the parameter {%3EHa} was not declared as an ARRAY OF type',
|
||||
'the parameter {%3EVa} was declared as an ARRAY OF type',
|
||||
ParamTotal+i, ProcSym, curkind, prevkind)
|
||||
ELSIF (NOT Unbounded) AND IsUnboundedParam (ProcSym, prevkind, ParamTotal+i)
|
||||
THEN
|
||||
ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistant, %s',
|
||||
ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistent, %s',
|
||||
'the parameter {%3EHa} was declared as an ARRAY OF type',
|
||||
'the parameter {%3EVa} was not declared as an ARRAY OF type',
|
||||
ParamTotal+i, ProcSym, curkind, prevkind)
|
||||
@@ -1850,7 +1850,7 @@ BEGIN
|
||||
THEN
|
||||
IF GetDimension (GetNthParam (ProcSym, prevkind, ParamTotal+1)) # ndim
|
||||
THEN
|
||||
ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistant, %s',
|
||||
ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistent, %s',
|
||||
'the dynamic array parameter {%3EHa} was declared with a different of dimensions',
|
||||
'the dynamic array parameter {%3EVa} was declared with a different of dimensions',
|
||||
ParamTotal+i, ProcSym, curkind, prevkind)
|
||||
@@ -1859,14 +1859,14 @@ BEGIN
|
||||
IF isVarParam AND (NOT IsVarParam (ProcSym, prevkind, ParamTotal+i))
|
||||
THEN
|
||||
(* Expecting non VAR parameter. *)
|
||||
ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistant, %s',
|
||||
ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistent, %s',
|
||||
'{%3EHa} was not declared as a {%kVAR} parameter',
|
||||
'{%3EVa} was declared as a {%kVAR} parameter',
|
||||
ParamTotal+i, ProcSym, curkind, prevkind)
|
||||
ELSIF (NOT isVarParam) AND IsVarParam (ProcSym, prevkind, ParamTotal+i)
|
||||
THEN
|
||||
(* Expecting VAR pamarater. *)
|
||||
ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistant, %s',
|
||||
ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistent, %s',
|
||||
'{%3EHa} was declared as a {%kVAR} parameter',
|
||||
'{%3EVa} was not declared as a {%kVAR} parameter',
|
||||
ParamTotal+i, ProcSym, curkind, prevkind)
|
||||
@@ -1877,7 +1877,7 @@ BEGIN
|
||||
IF GetSymName (ParamI) # OperandT (pi)
|
||||
THEN
|
||||
(* Different parameter names. *)
|
||||
ParameterError ('procedure {%%1a} in the %s differs from the %s, {%%2N} parameter name is inconsistant, %s',
|
||||
ParameterError ('procedure {%%1a} in the %s differs from the %s, {%%2N} parameter name is inconsistent, %s',
|
||||
'named as {%3EVa}',
|
||||
'named as {%3EVa}',
|
||||
ParamTotal+i, ProcSym, curkind, prevkind)
|
||||
@@ -1897,7 +1897,7 @@ BEGIN
|
||||
(NOT IsUnknown(SkipType(ParamIType)))
|
||||
THEN
|
||||
(* Different parameter types. *)
|
||||
ParameterError ('declaration in the %s differs from the %s, {%%2N} parameter is inconsistant, %s',
|
||||
ParameterError ('declaration in the %s differs from the %s, {%%2N} parameter is inconsistent, %s',
|
||||
'the parameter {%3EHa} was declared with a different type',
|
||||
'the parameter {%3EVa} was declared with a different type',
|
||||
ParamTotal+i, ProcSym, curkind, prevkind)
|
||||
@@ -3072,10 +3072,10 @@ BEGIN
|
||||
IF Var=VarTok
|
||||
THEN
|
||||
(* VAR parameter *)
|
||||
PutProcTypeVarParam(ProcTypeSym, TypeSym, IsUnbounded(TypeSym))
|
||||
PutProcTypeVarParam (tok, ProcTypeSym, TypeSym, IsUnbounded (TypeSym))
|
||||
ELSE
|
||||
(* Non VAR parameter *)
|
||||
PutProcTypeParam(ProcTypeSym, TypeSym, IsUnbounded(TypeSym))
|
||||
PutProcTypeParam (tok, ProcTypeSym, TypeSym, IsUnbounded (TypeSym))
|
||||
END ;
|
||||
PushT(ProcTypeSym) ;
|
||||
Annotate("%1s(%1d)||proc type")
|
||||
|
||||
@@ -126,7 +126,7 @@ BEGIN
|
||||
PopT(NameStart) ;
|
||||
IF NameStart#NameEnd
|
||||
THEN
|
||||
WriteFormat2('inconsistant definition module was named (%a) and concluded as (%a)',
|
||||
WriteFormat2('inconsistent definition module was named (%a) and concluded as (%a)',
|
||||
NameStart, NameEnd)
|
||||
END ;
|
||||
M2Error.LeaveErrorScope
|
||||
|
||||
@@ -269,7 +269,7 @@ BEGIN
|
||||
PopT(NameStart) ;
|
||||
IF NameStart#NameEnd
|
||||
THEN
|
||||
WriteFormat2('inconsistant definition module was named (%a) and concluded as (%a)',
|
||||
WriteFormat2('inconsistent definition module was named (%a) and concluded as (%a)',
|
||||
NameStart, NameEnd)
|
||||
END ;
|
||||
M2Error.LeaveErrorScope
|
||||
@@ -1168,9 +1168,9 @@ BEGIN
|
||||
par := GetParam (p, i) ;
|
||||
IF IsParameterVar (par)
|
||||
THEN
|
||||
PutProcTypeVarParam (t, GetType (par), IsParameterUnbounded (par))
|
||||
PutProcTypeVarParam (tok, t, GetType (par), IsParameterUnbounded (par))
|
||||
ELSE
|
||||
PutProcTypeParam (t, GetType (par), IsParameterUnbounded (par))
|
||||
PutProcTypeParam (tok, t, GetType (par), IsParameterUnbounded (par))
|
||||
END ;
|
||||
INC(i)
|
||||
END ;
|
||||
|
||||
@@ -2650,7 +2650,8 @@ PROCEDURE MakeProcType (tok: CARDINAL; ProcTypeName: Name) : CARDINAL ;
|
||||
ParamType into ProcType Sym.
|
||||
*)
|
||||
|
||||
PROCEDURE PutProcTypeParam (Sym: CARDINAL;
|
||||
PROCEDURE PutProcTypeParam (tok: CARDINAL;
|
||||
Sym: CARDINAL;
|
||||
ParamType: CARDINAL; isUnbounded: BOOLEAN) ;
|
||||
|
||||
|
||||
@@ -2659,7 +2660,8 @@ PROCEDURE PutProcTypeParam (Sym: CARDINAL;
|
||||
ParamType into ProcType Sym.
|
||||
*)
|
||||
|
||||
PROCEDURE PutProcTypeVarParam (Sym: CARDINAL;
|
||||
PROCEDURE PutProcTypeVarParam (tok: CARDINAL;
|
||||
Sym: CARDINAL;
|
||||
ParamType: CARDINAL; isUnbounded: BOOLEAN) ;
|
||||
|
||||
|
||||
|
||||
@@ -463,9 +463,11 @@ TYPE
|
||||
(* of param. *)
|
||||
Type : CARDINAL ; (* Index to the type of param. *)
|
||||
IsUnbounded : BOOLEAN ; (* Is it an ARRAY OF Type? *)
|
||||
Scope : CARDINAL ; (* Procedure declaration. *)
|
||||
ShadowVar : CARDINAL ; (* The local variable used to *)
|
||||
(* shadow this parameter. *)
|
||||
At : Where ; (* Where was sym declared/used *)
|
||||
FullTok, (* name: type virtual token. *)
|
||||
At : CARDINAL ; (* Where was sym declared. *)
|
||||
END ;
|
||||
|
||||
SymVarParam = RECORD
|
||||
@@ -476,9 +478,11 @@ TYPE
|
||||
HeapVar : CARDINAL ;(* The pointer value on heap. *)
|
||||
(* Only used by static *)
|
||||
(* analysis. *)
|
||||
Scope : CARDINAL ;(* Procedure declaration. *)
|
||||
ShadowVar : CARDINAL ;(* The local variable used to *)
|
||||
(* shadow this parameter. *)
|
||||
At : Where ; (* Where was sym declared/used *)
|
||||
FullTok, (* name: type virtual token. *)
|
||||
At : CARDINAL ;(* Where was sym declared. *)
|
||||
END ;
|
||||
|
||||
ConstStringVariant = (m2str, cstr, m2nulstr, cnulstr) ;
|
||||
@@ -4456,9 +4460,19 @@ BEGIN
|
||||
pSym := GetPsym (sym) ;
|
||||
IF IsParameterVar (sym)
|
||||
THEN
|
||||
RETURN GetVarDeclTok (pSym^.VarParam.ShadowVar)
|
||||
IF pSym^.VarParam.ShadowVar = NulSym
|
||||
THEN
|
||||
RETURN pSym^.VarParam.At
|
||||
ELSE
|
||||
RETURN GetVarDeclTok (pSym^.VarParam.ShadowVar)
|
||||
END
|
||||
ELSE
|
||||
RETURN GetVarDeclTok (pSym^.Param.ShadowVar)
|
||||
IF pSym^.Param.ShadowVar = NulSym
|
||||
THEN
|
||||
RETURN pSym^.Param.At
|
||||
ELSE
|
||||
RETURN GetVarDeclTok (pSym^.Param.ShadowVar)
|
||||
END
|
||||
END
|
||||
ELSIF IsVar (sym)
|
||||
THEN
|
||||
@@ -4549,9 +4563,9 @@ BEGIN
|
||||
THEN
|
||||
IF IsParameterVar (sym)
|
||||
THEN
|
||||
RETURN GetVarDeclFullTok (pSym^.VarParam.ShadowVar)
|
||||
RETURN pSym^.VarParam.FullTok
|
||||
ELSE
|
||||
RETURN GetVarDeclFullTok (pSym^.Param.ShadowVar)
|
||||
RETURN pSym^.Param.FullTok
|
||||
END
|
||||
ELSIF IsVar (sym)
|
||||
THEN
|
||||
@@ -10651,8 +10665,10 @@ BEGIN
|
||||
name := ParamName ;
|
||||
Type := ParamType ;
|
||||
IsUnbounded := isUnbounded ;
|
||||
Scope := Sym ;
|
||||
ShadowVar := NulSym ;
|
||||
InitWhereDeclaredTok(tok, At)
|
||||
FullTok := MakeVirtual2Tok (tok, typetok) ;
|
||||
At := tok
|
||||
END
|
||||
END ;
|
||||
AddParameter (Sym, kind, ParSym) ;
|
||||
@@ -10671,7 +10687,7 @@ BEGIN
|
||||
pSym^.Param.ShadowVar := VariableSym
|
||||
END
|
||||
END ;
|
||||
AddProcedureProcTypeParam (Sym, ParamType, isUnbounded, FALSE)
|
||||
AddProcedureProcTypeParam (tok, Sym, ParamType, isUnbounded, FALSE)
|
||||
END ;
|
||||
RETURN( TRUE )
|
||||
END PutParam ;
|
||||
@@ -10708,9 +10724,11 @@ BEGIN
|
||||
name := ParamName ;
|
||||
Type := ParamType ;
|
||||
IsUnbounded := isUnbounded ;
|
||||
Scope := Sym ;
|
||||
ShadowVar := NulSym ;
|
||||
HeapVar := NulSym ; (* Will contain a pointer value. *)
|
||||
InitWhereDeclaredTok(tok, At)
|
||||
FullTok := MakeVirtual2Tok (tok, typetok) ;
|
||||
At := tok
|
||||
END
|
||||
END ;
|
||||
AddParameter (Sym, kind, ParSym) ;
|
||||
@@ -10729,7 +10747,7 @@ BEGIN
|
||||
pSym^.VarParam.ShadowVar := VariableSym
|
||||
END
|
||||
END ;
|
||||
AddProcedureProcTypeParam (Sym, ParamType, isUnbounded, TRUE)
|
||||
AddProcedureProcTypeParam (tok, Sym, ParamType, isUnbounded, TRUE)
|
||||
END ;
|
||||
RETURN( TRUE )
|
||||
END PutVarParam ;
|
||||
@@ -10816,7 +10834,8 @@ END AddParameter ;
|
||||
associated with procedure Sym.
|
||||
*)
|
||||
|
||||
PROCEDURE AddProcedureProcTypeParam (Sym, ParamType: CARDINAL;
|
||||
PROCEDURE AddProcedureProcTypeParam (tok: CARDINAL;
|
||||
Sym, ParamType: CARDINAL;
|
||||
isUnbounded, isVarParam: BOOLEAN) ;
|
||||
VAR
|
||||
pSym: PtrToSymbol ;
|
||||
@@ -10829,10 +10848,12 @@ BEGIN
|
||||
THEN
|
||||
IF isVarParam
|
||||
THEN
|
||||
PutProcTypeVarParam (Procedure.ProcedureType,
|
||||
PutProcTypeVarParam (tok,
|
||||
Procedure.ProcedureType,
|
||||
ParamType, isUnbounded)
|
||||
ELSE
|
||||
PutProcTypeParam (Procedure.ProcedureType,
|
||||
PutProcTypeParam (tok,
|
||||
Procedure.ProcedureType,
|
||||
ParamType, isUnbounded)
|
||||
END
|
||||
END
|
||||
@@ -13027,18 +13048,8 @@ BEGIN
|
||||
ConstLitSym : RETURN( ConstLit.Scope ) |
|
||||
ConstStringSym : RETURN( ConstString.Scope ) |
|
||||
ConstVarSym : RETURN( ConstVar.Scope ) |
|
||||
ParamSym : IF Param.ShadowVar = NulSym
|
||||
THEN
|
||||
RETURN NulSym
|
||||
ELSE
|
||||
RETURN( GetScope (Param.ShadowVar) )
|
||||
END |
|
||||
VarParamSym : IF VarParam.ShadowVar = NulSym
|
||||
THEN
|
||||
RETURN NulSym
|
||||
ELSE
|
||||
RETURN( GetScope (VarParam.ShadowVar) )
|
||||
END |
|
||||
ParamSym : RETURN( Param.Scope ) |
|
||||
VarParamSym : RETURN( VarParam.Scope ) |
|
||||
UndefinedSym : RETURN( NulSym ) |
|
||||
PartialUnboundedSym: InternalError ('should not be requesting the scope of a PartialUnbounded symbol')
|
||||
|
||||
@@ -13186,7 +13197,8 @@ END MakeProcType ;
|
||||
ParamType into ProcType Sym.
|
||||
*)
|
||||
|
||||
PROCEDURE PutProcTypeParam (Sym: CARDINAL;
|
||||
PROCEDURE PutProcTypeParam (tok: CARDINAL;
|
||||
Sym: CARDINAL;
|
||||
ParamType: CARDINAL; isUnbounded: BOOLEAN) ;
|
||||
VAR
|
||||
pSym : PtrToSymbol ;
|
||||
@@ -13201,7 +13213,8 @@ BEGIN
|
||||
Type := ParamType ;
|
||||
IsUnbounded := isUnbounded ;
|
||||
ShadowVar := NulSym ;
|
||||
InitWhereDeclared(At)
|
||||
FullTok := tok ;
|
||||
At := tok
|
||||
END
|
||||
END ;
|
||||
AddParameter (Sym, ProperProcedure, ParSym)
|
||||
@@ -13213,7 +13226,8 @@ END PutProcTypeParam ;
|
||||
ParamType into ProcType Sym.
|
||||
*)
|
||||
|
||||
PROCEDURE PutProcTypeVarParam (Sym: CARDINAL;
|
||||
PROCEDURE PutProcTypeVarParam (tok: CARDINAL;
|
||||
Sym: CARDINAL;
|
||||
ParamType: CARDINAL; isUnbounded: BOOLEAN) ;
|
||||
VAR
|
||||
pSym : PtrToSymbol ;
|
||||
@@ -13228,7 +13242,8 @@ BEGIN
|
||||
Type := ParamType ;
|
||||
IsUnbounded := isUnbounded ;
|
||||
ShadowVar := NulSym ;
|
||||
InitWhereDeclared(At)
|
||||
FullTok := tok ;
|
||||
At := tok
|
||||
END
|
||||
END ;
|
||||
AddParameter (Sym, ProperProcedure, ParSym)
|
||||
@@ -13918,8 +13933,8 @@ BEGIN
|
||||
UnboundedSym : RETURN( Unbounded.At.DefDeclared ) |
|
||||
ProcedureSym : RETURN( Procedure.At.DefDeclared ) |
|
||||
ProcTypeSym : RETURN( ProcType.At.DefDeclared ) |
|
||||
ParamSym : RETURN( Param.At.DefDeclared ) |
|
||||
VarParamSym : RETURN( VarParam.At.DefDeclared ) |
|
||||
ParamSym : RETURN( Param.At ) |
|
||||
VarParamSym : RETURN( VarParam.At ) |
|
||||
ConstStringSym : RETURN( ConstString.At.DefDeclared ) |
|
||||
ConstLitSym : RETURN( ConstLit.At.DefDeclared ) |
|
||||
ConstVarSym : RETURN( ConstVar.At.DefDeclared ) |
|
||||
@@ -13968,8 +13983,8 @@ BEGIN
|
||||
UnboundedSym : RETURN( Unbounded.At.ModDeclared ) |
|
||||
ProcedureSym : RETURN( Procedure.At.ModDeclared ) |
|
||||
ProcTypeSym : RETURN( ProcType.At.ModDeclared ) |
|
||||
ParamSym : RETURN( Param.At.ModDeclared ) |
|
||||
VarParamSym : RETURN( VarParam.At.ModDeclared ) |
|
||||
ParamSym : RETURN( Param.At ) |
|
||||
VarParamSym : RETURN( VarParam.At ) |
|
||||
ConstStringSym : RETURN( ConstString.At.ModDeclared ) |
|
||||
ConstLitSym : RETURN( ConstLit.At.ModDeclared ) |
|
||||
ConstVarSym : RETURN( ConstVar.At.ModDeclared ) |
|
||||
@@ -14019,8 +14034,6 @@ BEGIN
|
||||
UnboundedSym : Unbounded.At.DefDeclared := tok |
|
||||
ProcedureSym : Procedure.At.DefDeclared := tok |
|
||||
ProcTypeSym : ProcType.At.DefDeclared := tok |
|
||||
ParamSym : Param.At.DefDeclared := tok |
|
||||
VarParamSym : VarParam.At.DefDeclared := tok |
|
||||
ConstStringSym : ConstString.At.DefDeclared := tok |
|
||||
ConstLitSym : ConstLit.At.DefDeclared := tok |
|
||||
ConstVarSym : ConstVar.At.DefDeclared := tok |
|
||||
@@ -14067,8 +14080,6 @@ BEGIN
|
||||
UnboundedSym : Unbounded.At.ModDeclared := tok |
|
||||
ProcedureSym : Procedure.At.ModDeclared := tok |
|
||||
ProcTypeSym : ProcType.At.ModDeclared := tok |
|
||||
ParamSym : Param.At.ModDeclared := tok |
|
||||
VarParamSym : VarParam.At.ModDeclared := tok |
|
||||
ConstStringSym : ConstString.At.ModDeclared := tok |
|
||||
ConstLitSym : ConstLit.At.ModDeclared := tok |
|
||||
ConstVarSym : ConstVar.At.ModDeclared := tok |
|
||||
@@ -14323,8 +14334,10 @@ BEGIN
|
||||
UnboundedSym : RETURN( Unbounded.At.FirstUsed ) |
|
||||
ProcedureSym : RETURN( Procedure.At.FirstUsed ) |
|
||||
ProcTypeSym : RETURN( ProcType.At.FirstUsed ) |
|
||||
(*
|
||||
ParamSym : RETURN( Param.At.FirstUsed ) |
|
||||
VarParamSym : RETURN( VarParam.At.FirstUsed ) |
|
||||
*)
|
||||
ConstStringSym : RETURN( ConstString.At.FirstUsed ) |
|
||||
ConstLitSym : RETURN( ConstLit.At.FirstUsed ) |
|
||||
ConstVarSym : RETURN( ConstVar.At.FirstUsed ) |
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
DEFINITION MODULE arrayofchar ;
|
||||
|
||||
FROM FIO IMPORT File ;
|
||||
|
||||
(*
|
||||
Description: provides write procedures for ARRAY OF CHAR.
|
||||
*)
|
||||
|
||||
PROCEDURE Write (f: File; str: ARRAY OF CHAR) ;
|
||||
PROCEDURE WriteLn (f: File) ;
|
||||
|
||||
END arrayofchar.
|
||||
@@ -0,0 +1,30 @@
|
||||
IMPLEMENTATION MODULE arrayofchar ;
|
||||
|
||||
FROM FIO IMPORT WriteChar, WriteLine ;
|
||||
IMPORT StrLib ;
|
||||
|
||||
|
||||
(*
|
||||
Write - writes a string to file f.
|
||||
*)
|
||||
|
||||
PROCEDURE Write (f: File; a: ARRAY OF CHAR) ;
|
||||
VAR
|
||||
len, i: CARDINAL ;
|
||||
BEGIN
|
||||
len := StrLib.StrLen (a) ;
|
||||
i := 0 ;
|
||||
WHILE i < len DO
|
||||
WriteChar (f, a[i]) ;
|
||||
INC (i)
|
||||
END
|
||||
END Write ;
|
||||
|
||||
|
||||
PROCEDURE WriteLn (f: File) ;
|
||||
BEGIN
|
||||
WriteLine (f)
|
||||
END WriteLn ;
|
||||
|
||||
|
||||
END arrayofchar.
|
||||
@@ -206,6 +206,7 @@ libm2iso_la_M2FLAGS = \
|
||||
-fm2-pathname=m2iso -I. -Ilibm2iso -I$(GM2_SRC)/gm2-libs-iso \
|
||||
-fm2-pathname=m2pim -I$(GM2_SRC)/gm2-libs \
|
||||
-fiso -fextended-opaque -fm2-g -g -Wcase-enum \
|
||||
-Wall \
|
||||
-Wreturn-type -fcase -fm2-prefix=m2iso
|
||||
|
||||
if TARGET_DARWIN
|
||||
|
||||
@@ -594,6 +594,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS)
|
||||
@BUILD_ISOLIB_TRUE@ -fm2-pathname=m2iso -I. -Ilibm2iso -I$(GM2_SRC)/gm2-libs-iso \
|
||||
@BUILD_ISOLIB_TRUE@ -fm2-pathname=m2pim -I$(GM2_SRC)/gm2-libs \
|
||||
@BUILD_ISOLIB_TRUE@ -fiso -fextended-opaque -fm2-g -g -Wcase-enum \
|
||||
@BUILD_ISOLIB_TRUE@ -Wall \
|
||||
@BUILD_ISOLIB_TRUE@ -Wreturn-type -fcase -fm2-prefix=m2iso
|
||||
|
||||
@BUILD_ISOLIB_TRUE@@TARGET_DARWIN_FALSE@libm2iso_la_link_flags = \
|
||||
|
||||
@@ -136,6 +136,7 @@ libm2log_la_M2FLAGS = \
|
||||
-fm2-pathname=m2log -I$(GM2_SRC)/gm2-libs-log \
|
||||
-fm2-pathname=m2pim -I$(GM2_SRC)/gm2-libs \
|
||||
-fm2-pathname=m2iso -I$(GM2_SRC)/gm2-libs-iso \
|
||||
-Wall \
|
||||
-Wcase-enum -Wreturn-type \
|
||||
-fcase -fm2-prefix=m2log
|
||||
|
||||
|
||||
@@ -485,6 +485,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS)
|
||||
@BUILD_LOGLIB_TRUE@ -fm2-pathname=m2log -I$(GM2_SRC)/gm2-libs-log \
|
||||
@BUILD_LOGLIB_TRUE@ -fm2-pathname=m2pim -I$(GM2_SRC)/gm2-libs \
|
||||
@BUILD_LOGLIB_TRUE@ -fm2-pathname=m2iso -I$(GM2_SRC)/gm2-libs-iso \
|
||||
@BUILD_LOGLIB_TRUE@ -Wall \
|
||||
@BUILD_LOGLIB_TRUE@ -Wcase-enum -Wreturn-type \
|
||||
@BUILD_LOGLIB_TRUE@ -fcase -fm2-prefix=m2log
|
||||
|
||||
|
||||
@@ -107,6 +107,7 @@ libm2min_la_CFLAGS = -I. -I$(GM2_SRC)/gm2-libs-min -I$(GM2_SRC)/gm2-libs
|
||||
libm2min_la_M2FLAGS = \
|
||||
-fm2-pathname=m2min -I. -I$(GM2_SRC)/gm2-libs-min \
|
||||
-fm2-pathname=m2pim -I$(GM2_SRC)/gm2-libs -fno-exceptions \
|
||||
-Wall \
|
||||
-fno-m2-plugin -fno-scaffold-dynamic -fno-scaffold-main -fm2-prefix=m2min
|
||||
|
||||
if TARGET_DARWIN
|
||||
|
||||
@@ -449,6 +449,7 @@ libm2min_la_CFLAGS = -I. -I$(GM2_SRC)/gm2-libs-min -I$(GM2_SRC)/gm2-libs
|
||||
libm2min_la_M2FLAGS = \
|
||||
-fm2-pathname=m2min -I. -I$(GM2_SRC)/gm2-libs-min \
|
||||
-fm2-pathname=m2pim -I$(GM2_SRC)/gm2-libs -fno-exceptions \
|
||||
-Wall \
|
||||
-fno-m2-plugin -fno-scaffold-dynamic -fno-scaffold-main -fm2-prefix=m2min
|
||||
|
||||
@TARGET_DARWIN_FALSE@libm2min_la_link_flags = $(am__append_1)
|
||||
|
||||
@@ -185,6 +185,7 @@ libm2pim_la_M2FLAGS = \
|
||||
-fm2-pathname=m2pim -I. -I$(GM2_SRC)/gm2-libs \
|
||||
-fm2-pathname=m2iso -I$(GM2_SRC)/gm2-libs-iso \
|
||||
-fm2-g -g -Wcase-enum -Wreturn-type \
|
||||
-Wall \
|
||||
-fcase -fm2-prefix=m2pim
|
||||
|
||||
if TARGET_DARWIN
|
||||
|
||||
@@ -564,6 +564,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS)
|
||||
@BUILD_PIMLIB_TRUE@ -fm2-pathname=m2pim -I. -I$(GM2_SRC)/gm2-libs \
|
||||
@BUILD_PIMLIB_TRUE@ -fm2-pathname=m2iso -I$(GM2_SRC)/gm2-libs-iso \
|
||||
@BUILD_PIMLIB_TRUE@ -fm2-g -g -Wcase-enum -Wreturn-type \
|
||||
@BUILD_PIMLIB_TRUE@ -Wall \
|
||||
@BUILD_PIMLIB_TRUE@ -fcase -fm2-prefix=m2pim
|
||||
|
||||
@BUILD_PIMLIB_TRUE@@TARGET_DARWIN_FALSE@libm2pim_la_link_flags = \
|
||||
|
||||
Reference in New Issue
Block a user