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. Dick
mccalpin@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/OMNET
orgass+@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