Browse Source

strings assignments replaced with COPY, compiler warnings fixed

Alexander Shiryaev 11 months ago
parent
commit
d0ddeda40c
4 changed files with 22 additions and 18 deletions
  1. 8 8
      voc-O7/O7ARMv6MLinker.Mod
  2. 8 8
      voc-O7/O7ARMv7MLinker.Mod
  3. 3 1
      voc-O7/O7B.Mod
  4. 3 1
      voc-O7/O7S.Mod

+ 8 - 8
voc-O7/O7ARMv6MLinker.Mod

@@ -882,7 +882,7 @@ MODULE O7ARMv6MLinker;
 		(*Oberon.Collect(0)*)
 	END Link;
 
-	PROCEDURE EnterNXP ((*IN*) name: TargetName; maxExtInts, flashSize, SRAMSize, IAPReserve: INTEGER);
+	PROCEDURE EnterNXP ((*IN*) name: ARRAY OF CHAR; maxExtInts, flashSize, SRAMSize, IAPReserve: INTEGER);
 		VAR target: Target;
 	BEGIN
 		ASSERT(maxExtInts > 0, 20);
@@ -891,7 +891,7 @@ MODULE O7ARMv6MLinker;
 		ASSERT(SRAMSize MOD 4 = 0, 23);
 
 		NEW(target); target.next := targets; targets := target;
-		target.name := name;
+		(* target.name := name; *) COPY(name, target.name);
 		target.isNXP := TRUE;
 		target.flashStart := 0;
 		target.maxExtInts := maxExtInts;
@@ -918,7 +918,7 @@ MODULE O7ARMv6MLinker;
 			j := 0;
 			WHILE j < StrLen(fpo1) DO
 				NEW(target); target.next := targets; targets := target;
-				target.name := name0(*$*); k := StrLen(target.name);
+				(* target.name := name0(*$*); *) COPY(name0, target.name); k := StrLen(target.name);
 					target.name[k] := fpo0[i]; INC(k);
 					target.name[k] := fpo1[j]; INC(k);
 					target.name[k] := 0X;
@@ -947,7 +947,7 @@ MODULE O7ARMv6MLinker;
 	END EnterSTM;
 
 	(* Cortex-M3 *)
-	PROCEDURE EnterCC1310 ((*IN*) name: TargetName; flashSize, SRAMSize: INTEGER);
+	PROCEDURE EnterCC1310 ((*IN*) name: ARRAY OF CHAR; flashSize, SRAMSize: INTEGER);
 		CONST
 			maxExtInts = 34;
 			CCFGSize = 88;
@@ -956,7 +956,7 @@ MODULE O7ARMv6MLinker;
 		ASSERT(SRAMSize MOD 4 = 0, 21);
 
 		NEW(target); target.next := targets; targets := target;
-		target.name := name;
+		(* target.name := name; *) COPY(name, target.name);
 		target.isNXP := FALSE;
 		target.flashStart := 0;
 		target.maxExtInts := maxExtInts;
@@ -967,7 +967,7 @@ MODULE O7ARMv6MLinker;
 	END EnterCC1310;
 
 	(* Cortex-M3 *)
-	PROCEDURE EnterLM3S ((*IN*) name: TargetName; flashSize, SRAMSize: INTEGER; maxExtInts: INTEGER);
+	PROCEDURE EnterLM3S ((*IN*) name: ARRAY OF CHAR; flashSize, SRAMSize: INTEGER; maxExtInts: INTEGER);
 	BEGIN
 		ASSERT(flashSize MOD 4 = 0, 20);
 		ASSERT(SRAMSize MOD 4 = 0, 21);
@@ -975,7 +975,7 @@ MODULE O7ARMv6MLinker;
 		ASSERT(maxExtInts <= 240 (* Cortex-M4 *), 23);
 
 		NEW(target); target.next := targets; targets := target;
-		target.name := name;
+		(* target.name := name; *) COPY(name, target.name);
 		target.isNXP := FALSE;
 		target.flashStart := 0;
 		target.maxExtInts := maxExtInts;
@@ -1003,7 +1003,7 @@ MODULE O7ARMv6MLinker;
 		i := 0;
 		WHILE i < StrLen(fpo0) DO
 			NEW(target); target.next := targets; targets := target;
-			target.name := name0(*$*); k := StrLen(target.name);
+			(* target.name := name0(*$*); *) COPY(name0, target.name); k := StrLen(target.name);
 				target.name[k] := fpo0[i]; INC(k);
 				target.name[k] := 0X;
 			target.isNXP := FALSE;

+ 8 - 8
voc-O7/O7ARMv7MLinker.Mod

@@ -926,7 +926,7 @@ MODULE O7ARMv7MLinker;
 		(*Oberon.Collect(0)*)
 	END Link;
 
-	PROCEDURE EnterNXP ((*IN*) name: TargetName; maxExtInts, flashSize, SRAMSize, IAPReserve: INTEGER);
+	PROCEDURE EnterNXP ((*IN*) name: ARRAY OF CHAR; maxExtInts, flashSize, SRAMSize, IAPReserve: INTEGER);
 		VAR target: Target;
 	BEGIN
 		ASSERT(maxExtInts > 0, 20);
@@ -935,7 +935,7 @@ MODULE O7ARMv7MLinker;
 		ASSERT(SRAMSize MOD 4 = 0, 23);
 
 		NEW(target); target.next := targets; targets := target;
-		target.name := name;
+		(* target.name := name; *) COPY(name, target.name);
 		target.isNXP := TRUE;
 		target.flashStart := 0;
 		target.maxExtInts := maxExtInts;
@@ -962,7 +962,7 @@ MODULE O7ARMv7MLinker;
 			j := 0;
 			WHILE j < StrLen(fpo1) DO
 				NEW(target); target.next := targets; targets := target;
-				target.name := name0(*$*); k := StrLen(target.name);
+				(* target.name := name0(*$*); *) COPY(name0, target.name); k := StrLen(target.name);
 					target.name[k] := fpo0[i]; INC(k);
 					target.name[k] := fpo1[j]; INC(k);
 					l := 0;
@@ -995,7 +995,7 @@ MODULE O7ARMv7MLinker;
 	END EnterSTM;
 
 	(* Cortex-M3 *)
-	PROCEDURE EnterCC1310 ((*IN*) name: TargetName; flashSize, SRAMSize: INTEGER);
+	PROCEDURE EnterCC1310 ((*IN*) name: ARRAY OF CHAR; flashSize, SRAMSize: INTEGER);
 		CONST
 			maxExtInts = 34;
 			CCFGSize = 88;
@@ -1004,7 +1004,7 @@ MODULE O7ARMv7MLinker;
 		ASSERT(SRAMSize MOD 4 = 0, 21);
 
 		NEW(target); target.next := targets; targets := target;
-		target.name := name;
+		(* target.name := name; *) COPY(name, target.name);
 		target.isNXP := FALSE;
 		target.flashStart := 0;
 		target.maxExtInts := maxExtInts;
@@ -1015,7 +1015,7 @@ MODULE O7ARMv7MLinker;
 	END EnterCC1310;
 
 	(* Cortex-M3 *)
-	PROCEDURE EnterLM3S ((*IN*) name: TargetName; flashSize, SRAMSize: INTEGER; maxExtInts: INTEGER);
+	PROCEDURE EnterLM3S ((*IN*) name: ARRAY OF CHAR; flashSize, SRAMSize: INTEGER; maxExtInts: INTEGER);
 	BEGIN
 		ASSERT(flashSize MOD 4 = 0, 20);
 		ASSERT(SRAMSize MOD 4 = 0, 21);
@@ -1023,7 +1023,7 @@ MODULE O7ARMv7MLinker;
 		ASSERT(maxExtInts <= 240 (* Cortex-M4 *), 23);
 
 		NEW(target); target.next := targets; targets := target;
-		target.name := name;
+		(* target.name := name; *) COPY(name, target.name);
 		target.isNXP := FALSE;
 		target.flashStart := 0;
 		target.maxExtInts := maxExtInts;
@@ -1051,7 +1051,7 @@ MODULE O7ARMv7MLinker;
 		i := 0;
 		WHILE i < StrLen(fpo0) DO
 			NEW(target); target.next := targets; targets := target;
-			target.name := name0(*$*); k := StrLen(target.name);
+			(* target.name := name0(*$*); *) COPY(name0, target.name); k := StrLen(target.name);
 				target.name[k] := fpo0[i]; INC(k);
 				target.name[k] := 0X;
 			target.isNXP := FALSE;

+ 3 - 1
voc-O7/O7B.Mod

@@ -382,7 +382,9 @@ MODULE O7B;	(*NW 25.6.2014  / 1.3.2019  in Oberon-07*)
 
 	PROCEDURE enter ((*IN*) name: ARRAY OF CHAR; cl: INTEGER; type: Type; n: LONGINT);
 		VAR obj: Object;
-	BEGIN NEW(obj); obj.name := name; obj.class := cl; obj.type := type; obj.val := n; obj.dsc := NIL;
+	BEGIN NEW(obj);
+		(* obj.name := name; *) COPY(name, obj.name);
+		obj.class := cl; obj.type := type; obj.val := n; obj.dsc := NIL;
 		IF cl = Typ THEN type.typobj := obj END ;
 		obj.next := system; system := obj
 	END enter;

+ 3 - 1
voc-O7/O7S.Mod

@@ -280,7 +280,9 @@ MODULE O7S; (* NW 19.9.93 / 20.3.2017	Scanner in Oberon-07*)
 	END Init;
 
 	PROCEDURE EnterKW (sym: INTEGER; (*IN*) name: ARRAY OF CHAR);
-	BEGIN keyTab[k].id := name; keyTab[k].sym := sym; INC(k)
+	BEGIN
+		(* keyTab[k].id := name; *) COPY(name, keyTab[k].id);
+		keyTab[k].sym := sym; INC(k)
 	END EnterKW;
 
 BEGIN Texts.OpenWriter(W); k := 0; KWX[0] := 0; KWX[1] := 0;