Skip to content
This repository has been archived by the owner on Nov 5, 2022. It is now read-only.

Optimizing Oberon-2 Compiler (OOC) based on Guarded Single Assignment (GSA) representation. Originally written and maintained by Michael van Acken, Juergen Zimmermann, Michael Griebling, and Eric Nikitin

License

GPL-2.0, LGPL-2.1 licenses found

Licenses found

GPL-2.0
COPYING
LGPL-2.1
COPYING.LIB

classic-tools/ooc-gsa

Repository files navigation

oo2c is the first compiler of the OOC project.  OOC's goal is to
provide optimizing native code Oberon-2 compilers for a number of
popular computer architectures.  The OOC home page is
  http://ooc.sourceforge.net/
Current oo2c versions and patches are available at
  ftp://ooc.sourceforge.net/pub/ooc/releases/

The compiler's requirements are 
  o a 32 or 64 bit Unix system
  o an ANSI-C compiler
  o ANSI and POSIX.1 libraries.  
Please drop me a note if oo2c doesn't compile on your system although
it meets the above requirements.  I'll try to adjust the compiler
resp. its configuration process.

As of oo2c 1.3.6, the distribution no longer includes the sources of
Hans-J. Boehm's conservative garbage collector.  To use the garbage
collector, either install gc as a proper library, or unpack the
garbage collector sources in oo2c's top-level directory, prior to
running configure.  Also, oo2c now expects GNU libtool to be installed
on the target system if it should support shared libraries.  See file
INSTALL for details.

This distribution contains the OOC Reference Manual in info format and
as texinfo source.  The HTML version of the reference manual can be
found at
  ftp://ooc.sourceforge.net/pub/ooc/ooc-www-pages/OOCref/OOCref_toc.html
The manual is also available in texinfo, info, and postscript format
from the OOC server:
  ftp://ooc.sourceforge.net/pub/ooc/ooc-www-pages/files/docs/
Manual pages are included, but the man page for the compiler oo2c is
only a subset of the information in the reference manual.


I've had reports of successful installation on the following systems:

oo2c_32:
operating system                  compiler
-----------------------------     ---------------------------
Linux 2.0.35/ix86                 gcc 2.7.2.2
Linux 2.2.13/ix86		  gcc 2.95.2
LinuxPPC 5.0                      egcs-1.1.2-12c
MkLinux DR3.0                     egcs-1.0.1 (had FP problems)
NetBSD/arm32                      unknown [1]
SunOS 4.1.2/3 aka Solaris 1.1     gcc 2.5.5, gcc 2.7.2
SunOS 5.4 aka Solaris 2.4         gcc 2.7.2.1, SunPRO-C 3.0.1
SunOS 5.5 aka Solaris 2.5         gcc 2.7.2.2, egcs 1.0.2
SunOS 5.6 aka Solaris 2.6         egcs 1.1.2, SUN WorkShop 4.2
SunOS 5.7 aka Solaris 7 (32 bit)  gcc-2.95.1
HP-UX A.09.01                     gcc 2.5.8, gcc 2.7.2.2
HP-UX B.10.20                     gcc 2.7.2.1
BeOS 4.5.2/PPC                    mwcc 1.5
BeOS 4.5.2/ix86                   egcs-1.0.2
OS/2 Warp                         EMX 0.9d [2]
Windows NT & Cygwin32 Beta 19     gcc 2.7-B19
Windows NT & Cygwin32 Beta 20     egcs-1.1 [3]

  [1] works after modification to LowLReal.Mod (see PROBLEMS)
  [2] works after some modifications to oo2c
  [3] a bug with file renaming was fixed in Cygwin 1.1.3

oo2c_64:
operating system                  compiler
-----------------------------     ---------------------------
Solaris 7 (64 bit/SPARC)	  SUN WorkShop 5.0 cc -xarch=v9
Linux 2.2.9/Alpha 		  gcc 2.95.1 [1]
Digital UNIX 4.0/Alpha		  egcs-2.91.60, DEC C V5.6-071

  [1] a bug in gcc's -O2 optimization setting breaks oo2c, -O1 works

not verified again since oo2c_32 version 1.0.0:
operating system                  compiler
-----------------------------     ---------------------------
AIX 3.2.5                         gcc 2.7.0
IRIX 5.3                          gcc 2.7.2
SparcLinux 2.0.18                 gcc 2.7.2



Needless to say, bug reports are welcome.  Please check first if the
bug is present in the most recent version of oo2c (see above for the
file server).  If this is the case, try to create a small program that
will reproduce the error.  Ideally this program is a single module
with just enough lines of code to trigger the bug.  Send me this
module, together with the following information:

  o how the bug manifests itself
  o the version of oo2c and the options you used to compile the program
    (add --write-config to oo2c's command line to obtain this information)
  o the C compiler (if possible with version number) oo2c builds upon and
    any additional options you passed to it
  o what operating system you're using

The latter two points are important if the bug is caused by some
quirk in the C compiler or OS.

                                      -- Michael van Acken <mia@de.uu.net>

About

Optimizing Oberon-2 Compiler (OOC) based on Guarded Single Assignment (GSA) representation. Originally written and maintained by Michael van Acken, Juergen Zimmermann, Michael Griebling, and Eric Nikitin

Resources

License

GPL-2.0, LGPL-2.1 licenses found

Licenses found

GPL-2.0
COPYING
LGPL-2.1
COPYING.LIB

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published