Short: optimizing ISO C compiler (MorphOS-native binaries) Uploader: frank@phoenix.owl.de (Frank Wille) Author: vb@compilers.de (Volker Barthelmann), frank@phoenix.owl.de (Frank Wille) Type: dev/c Version: 0.8 Requires: dev/c/vbcc.lha vbcc - portable ISO/ANSI C compiler (c) in 1995-2001 by Volker Barthelmann INTRODUCTION vbcc is a portable and retargetable ISO/ANSI C compiler. This archive contains the MorphOS-native versions of the compiler, preprocessor, assembler, linker and frontend, as well as a new set of config files for MorphOS-native use. Note that you will need the main archive from dev/c/vbcc.lha, which includes all the libraries and header files, to get a running system. Just unpack this archive over the main archive to get a MorphOS-native compiler system. Most tools in this distribution (except PhxAss) are provided as binaries running natively under MorphOS. All major parts of this distribution (including compiler, preprocessor, libraries etc.) have been built using this system. FEATURES vbcc.. - is portable and retargetable - comes with a global optimizer that can e.g. do common subexpression elimination, constant propagation, function inlining and several other optimizations across functions and modules (depending on optimization level) - should be compliant to ANSI/ISO89 and partially ISO99 - can generate code that runs on a plain 68000 CPU - can generate code optimized for 020/030, 040 or 060 - can generate code that uses the 68881/2, 68040/060 FPUs directly and comes with appropriate math-libraries - can generate code that runs on PowerUp-boards or MorphOS systems - generates standard Amiga-68k-objects, PPC-ELF-objects or WarpOS-EHF-objects - offers a lot of useful extensions like variable-attributes and #pragmas - comes with a message browser - comes with a config program - offers a lot of error/warning messages that can be turned on/off separately WHAT'S NEW Some changes since the last Amiga release: - bug fixes in the compiler, optimizer, tools and libraries - improved code-generation - improved optimizations, including inter-procedural, cross-module optimizations and alias-analysis - support for some c99 features, including - long long - flexible array members as last element of a struct - mixed statements and declarations - declarations within for-loops - inline function-specifier - restrict-qualifier - vararg-macros - _Pragma - increased translation-limits - stdint.h - stack-checking and measurement of stack-usage - documentation as pdf and html documents - new attributes (e.g. __amigainterrupt, __section) - new #pragmas for PPC (amiga-align etc.) - inline-headers for WarpOS PPC-native libraries - (backend-specific) predefined macros - improved libaries and headers - new versions of Frank Wille's assemblers and linkers - use of a builtin preprocessor - support for MorphOS REQUIREMENTS To use vbcc/MorphOS you need: - a system running MorphOS V.. or higher - enough RAM (it is possible to translate small programs with 1MB, but for larger programs much more will be needed) Stuff that is not needed, but may be very useful: - harddisk - editor - make, touch etc. - the Amiga OS-includes (they can be found on certain CDs) - pipe-command (to use the message browser) Also you should know how to use the shell and you should know ANSI C (if you need a book I recommend (like everyone) "The C Programming Language, Second Edition, ANSI C" by Kernighan and Ritchie). DOCUMENTATION Look for documentation in the doc-subdirectory of the vbcc.lha main archive. BUGREPORTS/COMMENTS If you think vbcc generates bad code, throws enforcer hits, crashes, seems to be not ISO-compliant etc. and the problem is not mentioned anywhere in the docs as known problem, please send a mail with your system configuration, the vbcc version, the command line you used, the source that caused the problem and a brief description of the problem to vb@compilers.de and/or frank@phoenix.owl.de Also if you find problems with the includes, the libraries or you have suggestions, dislikes etc. send us a mail. Corrections, improvements etc. of the manuals are appreciated, too. Volker Barthelmann vb@compilers.de Frank Wille frank@phoenix.owl.de