Installation ------------ - unpack all files (uncompress *.Z, or cfp -s="lharc x *" *.lzh) - move 'cc1 cc1plus cccp gcc gpp collect' to a CMDS directory - set execution attributes for new files in CMDS - move 'gnulib.l gpp.l libgpp.l' to /dd/LIB,/h0/LIB,/dd/GNULIB or /h0/GNULIB - unpack 'defs.tar' from /dd (DEFS/CC will be created) Long Over-due News (93/04/05) ----------------------------- - gcc is now at version 1.42. - The most recent release of this version is here, with proper support for asm constructs within C source. News (91/12/01) --------------- - gcc and gpp front ends now support the -b option of the assembler (new options is -ob). This is an alternative to the use of o68 for optimization of branch sizes, but it uses very much memory (some Mbytes !) - cccp now translates #asm...#endasm switches to asm("..."); for more compatibility with sources written for the uWare compiler. - cc1 and cc1plus now switch to psect before they output code from a asm("..."); statement, also for more compatibility. - libgpp.l has been recompiled using version 1.40.3 of cc1plus, the problem with the Fix module of this library is now fixed. - I've found out that the compilers generate about 10% faster code since version 1.40 !! News (91/11/18) --------------- - bug using options '-mremote -mc68020' fixed (cc1 & cc1plus) News (91/11/13) --------------- - cc1plus has been updated to version 1.40.3 - some minor bugfixes in code generation have been done, for example there was invalid code generated if you tried to calculate the pointer to a remote variable in -mc68020 mode. - gcc and gpp now define the CPU type they compiles files for, i.e. either __mc68000__, __mc68020__ or __mc68040__ is defined. If __mc68020__ is defined there may also be __mc68881__ if the option has been selected. News (91/10/23) --------------- - cc1plus has been updated to V1.39.1 - numerous bugs in the code generation have been fixed (thanks to Kei Thomsen) most of them were missing (a6) references on accesses to global variables. - FPU code should be much better now (fp0 & fp1 are now free for internal use) - a minor bug in code generation for the 68040 has been fixed (use of constant ROM). - if you used the -o68 option you sometimes got asm source which could not be assembled by r68, this still can happed but not so frequently. News (older) ------------ - gcc has been updated to version 1.40. - bugfixed (cc1 & cc1plus) : - structs with sizes of 2 and 6 bytes are now handled correclty if passed by value. - variables and functions named like CPU registers can now be used. - stack-checking code has been improved. - the on-chip FPU of the MC68040 is now supported. The compilers generate only hardware FPU instructions for this CPU, all other functions are taken from the standard math.l library. The new compiler switch -m(c)68040 automatically enables inline FPU instructions. This switch will change as soon as uWare offers full software support for the on-chip FPU. Hints ----- functions from the standard libraries used in g++ should be declared as follows: extern "MWC" { extern fprintf(FILE*,const char* ...); } the reason for this is, that GCC and G++ pass all anonymous parameters plus the last named one on stack. cc always passes the first 2 parameters in registers. If you use GCC in ansi mode you should NOT use prototypes for functions from the uWare libraries which need anonymous parameters ! Bugs ---- libgpp.l : the curses module still doen't work ! ============================================================================= If you have questions, problems or bugs please let me know : ..!mcvax!cernax!chx400!ethz!stp (stp@ethz.uucp) or at home at work Stephan Paschedag MPL AG Bauernhalde 5 Zelgweg 12 CH-8708 Maennedorf CH-5405 Baden-Daettwil Switzerland Switzerland +41 1 920 32 77 +41 56 83 30 80 (Tel, remember Switzerland is GMT+1 !)