orgass+@rchland.ibm.com (Dick Orgass) (04/03/91)
Many thanks to Eric Muller for a good new compiler and for all his help
with ports to IBM platforms.
There are three minor details to fix in the 1.6 distribution for RISC 6000:
(1) system/runtime/M3Machine.h.IBMR2
The definitions of PRIVATE, IMPORT and EXPORT that
begin on line 18 should have the word volatile deleted so
that they read as follows:
#define PRIVATE static
#define IMPORT extern
#define EXPORT
because the system C compiler does not accept
declarations of functions whose return value is modified by
volatile.
This change does not preserve the intent of these
declarations, variables that are private, imported or
exported should be declared volatile but the return value of
functions should not be volatile. However, preserving the
original intent requires a modification of the compiler
itself.
(2) system/runtime/M3Runtime.h
Comment out the extern declarations for TC_* that begins on
line 22 of the file so that these identifiers are not
multiply defined. The compiler emits a second declaration
(with the volatile modifier) when these identifiers are
used. The system C compiler rejects the redeclaration.
(3) build util/mkexport before building the library
The program mkexport is used to generate the export
list for the shared libraries that come with SRC Modula-3
including the core library. It is not built from the top
level make file. Before starting the system build, compile
mkexport as follows:
cd util
bsdcc -o mkexport mkexport.c
Instructions for adding bsdcc to your system are at
the top of file util/config.dist-IBMR2.
Known RISC 6000 bugs
With the above corrections, the distributed system passes all test cases
and runs all programs except the following:
(1) tests/ptests/p083
There is an undefined symbol when the test program
is linked; Eric reports that the link succeeds on DEC
platforms.
(2) demos/pickles/Graph4Test
This pickle test program terminates with an
unhandled exception Pkl.Error instead of terminating
correctly.
(3) tools/pp/m3pp
The pretty printer is not working correctly. When
tools/pp/Main.m3 is formatted, there is an assert failure at
line 588 of Formatter.m3; when tools/pp/Parse.i3 is
formatted, there is an assert failure at line 913 of
Formatter.m3. Similar problems come up when formatting
other Modula-3 source files.
Dickmccalpin@perelandra.cms.udel.edu (John D. McCalpin) (04/04/91)
>>>>> On 2 Apr 91 21:08:39 GMT, orgass+@rchland.ibm.com (Dick Orgass) said:
Dick> Many thanks to Eric Muller for a good new compiler and for all
Dick> his help with ports to IBM platforms.
Dick> There are three minor details to fix in the 1.6 distribution for
Dick> RISC 6000: [ details deleted ]
I am confused about the 'cpp' in the config.dist-IBMR2 file.
It defines cpp as /usr/local/lib/cpp, which is not the one that IBM
supplies!
When util/imake runs /lib/cpp on the file util/generic, the /lib/cpp
program barfs at the line:
/**/#------------------What to do
claiming that it is an invalid # command (which is certainly is).
Is the intent of the /**/ in that line to prevent cpp from attempting
to process the line as a cpp directive?
Anyway, I also tried using the public domain cpp from volume 1 of
comp.sources.unix and got similar complaints.
Is there another cpp that I should be using?
--
John D. McCalpin mccalpin@perelandra.cms.udel.edu
Assistant Professor mccalpin@brahms.udel.edu
College of Marine Studies, U. Del. J.MCCALPIN/OMNETorgass+@rchland.ibm.com (Dick Orgass) (04/06/91)
John, The version of cpp shipped with AIX 3.1 for RISC 6000 is a strict ANSI cpp and doesn't get along with imake at all. At least we haven't been able to figure out how to do it. The X11 product does have another version of cpp that is supposed to get along with imake (/usr/lpp/X11/Xamples/util/cpp). I started Modula-3 ports before the system was released and so I used (and still use) the 4.3 BSD cpp which is /usr/local/lib/cpp on our systems. I'd offer to send this cpp to you but there are license issues that will take far longer than either of us want to wait. Please let me know what happens either by mail or to this bboard. Dick