[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | AMIGA NOTES |
Notice: | Join us in the *NEW* conference - HYDRA::AMIGA_V2 |
Moderator: | HYDRA::MOORE |
|
Created: | Sat Apr 26 1986 |
Last Modified: | Wed Feb 05 1992 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 5378 |
Total number of notes: | 38326 |
350.0. "Aztec C68K 3.4a features" by TLE::ANDERSON (Mike Anderson) Tue Feb 24 1987 13:45
Here's some information on the new version of Manx's C compiler, direct
from usenet. Note that the author seems to be Manx himself -- i.e.,
this is a press release, not a review.
--Mike
Newsgroups: comp.sys.amiga
Path: decwrl!sun!amdcad!lll-crg!lll-lcc!well!manx
Subject: Aztec C68K version 3.4a Released!!
Posted: 20 Feb 87 15:27:06 GMT
Organization: Whole Earth Lectroinic Link, Sausalito, CA
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.
T.R | Title | User | Personal Name | Date | Lines
|
---|