head	1.3;
access;
symbols
	RELEASE_4_3_0:1.2
	RELEASE_4_2_0:1.2
	RELEASE_4_1_1:1.2
	RELEASE_4_1_0:1.2
	RELEASE_3_5_0:1.2
	RELEASE_4_0_0:1.2
	RELEASE_3_4_0:1.2
	RELEASE_3_3_0:1.2
	RELEASE_3_2_0:1.2
	RELEASE_3_1_0:1.2
	RELEASE_2_2_8:1.2
	RELEASE_3_0_0:1.2
	RELEASE_2_2_7:1.2
	RELEASE_2_2_6:1.2
	RELEASE_2_2_5:1.1.1.1
	RELEASE_2_2_1:1.1.1.1
	RELEASE_2_2_2:1.1.1.1
	jdp_1_0:1.1.1.1
	JDP:1.1.1;
locks; strict;
comment	@# @;


1.3
date	2001.07.21.23.41.40;	author jdp;	state dead;
branches;
next	1.2;

1.2
date	98.01.17.21.12.13;	author jdp;	state Exp;
branches;
next	1.1;

1.1
date	96.10.29.23.01.53;	author jdp;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	96.10.29.23.01.53;	author jdp;	state Exp;
branches;
next	;


desc
@@


1.3
log
@Remove the old modula-3 and modula-3-lib ports.  They are superseded
by the pm3-* family of ports, which build a newer and better-maintained
version of Modula-3.  I have converted all ports which depended on
modula-3 to use pm3-* instead.

PR:		ports/27664 is rendered irrelevant
@
text
@Bug fix from SRC:
    bug assigning arrays

    This patch applies to all platforms.

    The Modula-3 language definition says that it is possible to assign
    one array to another if they have the same shape. There is a bug
    in the compiler front-end that causes the compiler to report that
    two array types are not assignable if they have different base
    indices, even if they have the same size.

--- m3/m3front/src/types/ArrayType.m3.orig	Tue May 23 15:24:27 1995
+++ m3/m3front/src/types/ArrayType.m3	Mon Sep 30 11:12:31 1996
@@@@ -286,7 +286,9 @@@@
       a := Reduce (ta);  b := Reduce (tb);
       IF (a = NIL) OR (b = NIL) THEN EXIT END;
       IF (a.index # b.index) THEN
-        IF Type.Number (a.index) # Type.Number (b.index) THEN RETURN FALSE END;
+        IF NOT TInt.EQ (Type.Number (a.index), Type.Number (b.index)) THEN
+          RETURN FALSE
+        END;
       END;
       ta := a.element;
       tb := b.element;
--- m3/m3front/src/types/OpenArrayType.m3.orig	Tue May 23 15:24:22 1995
+++ m3/m3front/src/types/OpenArrayType.m3	Mon Sep 30 11:13:12 1996
@@@@ -188,7 +188,9 @@@@
 
     (* peel off the fixed dimensions as long as the sizes are equal *)
     WHILE ArrayType.Split (ta, ia, ea) AND ArrayType.Split (tb, ib, eb) DO
-      IF Type.Number (ia) # Type.Number (ib) THEN RETURN FALSE END;
+      IF NOT TInt.EQ (Type.Number (ia), Type.Number (ib)) THEN
+        RETURN FALSE
+      END;
       ta := ea;
       tb := eb;
     END;
@


1.2
log
@Fix all the paths in context diff headers and remove the Index
lines, since the WORTHLESS, BROKEN new version of patch ignores
them.
@
text
@@


1.1
log
@Initial revision
@
text
@d12 2
a13 3
Index: m3/m3front/src/types/ArrayType.m3
--- ArrayType.m3.orig	Tue May 23 15:24:27 1995
+++ ArrayType.m3	Mon Sep 30 11:12:31 1996
d25 2
a26 3
Index: m3/m3front/src/types/OpenArrayType.m3
--- OpenArrayType.m3.orig	Tue May 23 15:24:22 1995
+++ OpenArrayType.m3	Mon Sep 30 11:13:12 1996
@


1.1.1.1
log
@Split the Modula-3 port into two pieces, creating a new port
"modula-3-lib".  It installs only the shared libraries needed for
executing Modula-3 programs.  This saves a lot of disk space for
people who need to run Modula-3 programs but don't need to build
them.  The original "modula-3" port now depends on this one, and
uses it to install the compiler and the rest of the development
system.

Also, everything is now built with optimization.  I have been
testing this for at least a month, and haven't seen any problems
from it.  It makes the libraries and executables substantially
smaller.

This new port also includes some hooks that will make SOCKS support
possible in the near future.
@
text
@@
