[comp.sys.amiga] Aztec C68K version 3.4a Released!!

manx@well.UUCP (02/20/87)

Aztec C68K version 3.4a has been officially released today, February 20,
1987.

The following is a brief summary of the new features and changes found in
the 3.4 version of Aztec C for the Amiga.

New Compiler Features

This section describes enhancements and changes made to the compiler.
    
   - There is a new code generator which generates smaller and faster code.

   - The 32 bit int option is now fully implemented and supported. Code
      generated using 32 bit ints is now much smaller.

   - The compiler now supports three different floating point formats,
      Motorola Fast Floating Point (FFP), IEEE double precision emulation,
      and Motorola 68881 IEEE double precision hardware emulation.

   - There is a new option to the compiler which enables stack depth checking
      code to be generated as part of the function startup sequence.

   - There are some new pre-processor manifests. In particular, AZTEC_C is
      always defined, while _LARGE_DATA and _LARGE_CODE are defined when
      the appropriate option is used.

   - Structure arguments and return values are now correctly handled.

   - Enumerated types are now supported.

   - The compiler now generates information for use with a source level
      debugger.

   - The INCLUDE environment variable now supports multiple directories by
      separating the names with '!'.

New Assembler Features

This section describes enhancements and changes made to the assembler.

   - The assembler has undergone major revision and now provides full support
      for the 68010, 68020 and 68881.

   - The assembler squeeze algorithm has been rewritten and is now much faster
      on large files. The new algorithm is not recursive, so less stack is
      required.

   - Temporary labels are now supported.

   - A number of directives have been added. This allows the assembly
      language header files supplied by Commodore-Amiga to be assembled
      directly using the Manx assembler.

   - The assembly language header files have been included with the package.

New Linker Features

This section describes enhancements and changes made to the linker.

   - The version 3.4 linker supports scatter loading. The object format
      generated by the assembler had to change to make this work. As a
      result, ALL object modules that were created with version 3.20a
      must be recompiled and reassembled to be used with the version 3.4
      linker and the version 3.4 libraries.

   - There are four different models for scatter loading, ranging from one
      big hunk to every module in its own hunk.

   - The new linker will only generate a JMP instruction at the beginning
      of Hunk 0 if there has been an entry point defined and the entry
      point is not already at the beginning of Hunk 0. This has several
      effects. First, the old crt0.a68 assumed it was being entered
      by a JSR and will no longer work. Second, it is now possible to create
      printer drivers with the linker.

   - The linker gives a warning message if a symbol not in the library
      (i.e. in your program) overrides a symbol in the library. For example,
      if a global data variable called "Exit" is defined in your program,
      the linker will display a message when it sees "Exit" defined in the
      library as well. This helps to prevent hard to find bugs where a call
      is made to data space or data is stored in code space.

   - The linker supports Amiga object format modules and libraries. It will
      automatically detect that a module is in Amiga format, but it must be
      told that a file is to be searched as a library.

   - The linker will now automatically add a ".o" extension to files that
      have no extension. It will also check the current directory AND all
      directories defined in the CLIB environmnet variable. This means
      that if you want to link with segload.o, you can just give the
      name and the linker will check the current directory and all the
      CLIB directories.

   - The CLIB environment variable now supports multiple directories separated
      by ';' or '!'.

   - The linker supports overlays via segmentation using the '+o' options
      as defined in the manual.

   - The linker now displays module names as they are linked.

   - Linking speed has been improved.

New Features in DB

There is full documentation on DB included with this release.
The major new features are:

   - The debugger now supports multiple windows for debugging multiple
      tasks simultaneously.

   - A number of different types of breakpoints are supported including
      memory change, memory checksum, low memory checksum, and user defined.

   - A function trace which displays each function name and arguments as
      it is called.

   - Support for scatter loaded programs.

   - Limited 68020/68881 support.

   - Automatic window activation under 1.2.

   - Input and output redirection.

   - Automatic startup files.

   - Smart single step mode.

   - Startup from CLI or WorkBench.

   - Support for setting breakpoints in Manx segmentation (overlays).

   - The debugger can now be started after a program has generated
      a DOS software error requester and can show where the error occurred,
      and in some cases even recover.

New Z Features

This section describes enhancements to the Z editor.

   - The ZOPT environment variable now works correctly.

   - The :s command is now supported.

   - When Z is started, a line number or tag name can be given as an
      argument.

   - The console window is used under 1.2.

   - The window can now be resized and Z will automatically adjust.

   - The function keys can now be defined.

   - Memory is now allocated dynamically.

   - Display of full screens disables the cursor and is faster.

   - Display can be disabled during macro execution.

   - During insert, ^W deletes the previous word.

   - A new command, :fn searches a "funclist" file and displays
      the line containing the keyword.

   - The editor now looks for "tags" in the current directory and if not
      found or the keyword is not found, searches the file specified by
      the environment variable "TAGS".

New Library Features

This section describes enhancements to the libraries supplied with
Aztec C68K.

   - Full support for all 1.2 Amiga library functions.

   - The Manx exec() and fexec() functions now work with 1.1 or 1.2.

   - The Manx exec() and fexec() functions support the new PATH command
      of the CLI.

   - There is now a setenv() function for creating environment variables.

   - Four versions of each library are supplied, 16-bit small code and data,
      32-bit small code and data, 16-bit large code and data, and 32-bit large
      code and data.

   - Routines have been added to support interrupts and tasks.

   - The startup code now supports creating a window when run from WorkBench.

   - All output to the console is now buffered which speeds up display.

   - The ioctl() function is now supported.

   - The ChkAbort() function now calls the _abort() function.

   - Startup argument parsing is now done in the routines _cli_parse()
      and _wb_parse(). These can be stubbed for smaller programs.

   - Functions have been added for sending a DOS packet and for converting a
      console from CON: to RAW: and back.

   - The debug functions, kprintf(), etc. have been added to the library.

   - An integer based random number generator function, rand(), has been
      added. There is also a seeding function, srand().

   - The character index functions strchr() and strrchr() have been
      implemented.

Other Additions

   - A touch program has been added to update the modification time of
      files.

   - An object module display program for Manx object modules has been
      included.

   - A lint file declaring most of the Amiga specific functions has been
      added.

phils@tekigm2.UUCP (02/22/87)

In article <2615@well.UUCP> manx@well.UUCP (Jim Goodnow II) writes:
>Aztec C68K version 3.4a has been officially released today, February 20,
>1987.
>
>...
>New Compiler Features
>
>...
>
>   - The compiler now generates information for use with a source level
>      debugger.
>...
>
>New Features in DB

[Nothing here about db now being a source level debugger]

I am now officially disappointed (mild understatement).

The 3.20a documentation promised that the next release was to 
include a source level debugger. It appears that this is now not to be.

How demeaning that PC users have "CodeView" on their toys, and we owners
of the "Mazerati of personal computers" don't.


-- 
-------------------------------------------------------------------------------
Phil Staub              tektronix!tekigm!phils    (206) 253-5634
Tektronix, Inc., ISI Engineering
P.O.Box 3500, M/S C1-904, Vancouver, Washington  98668