Short:        ISO C compiler, AmigaOS 1.2/1.2 Target
Author:       Volker Barthelmann, Frank Wille <frank@phoenix.owl.de>
Uploader:     polluks+aminet sdf lonestar org (Stefan Haubenthal)
Type:         dev/c
Version:      0.9h patch3
Architecture: generic
URL:          http://sun.hasenbraten.de/vbcc/

vbcc - portable ISO/ANSI C compiler (c) in 1995-2022 by Volker Barthelmann


INTRODUCTION

    vbcc is a portable and retargetable ISO/ANSI C compiler.

    This archive contains the binaries for the compiler, preprocessor,
    assembler, linker, frontend, message browser, as well as several
    other tools to generate code for your installed targets.

    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, MorphOS systems
      and AmigaOS4 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

    - offers a lot of error/warning messages that can be turned on/off
      separately


WHAT'S NEW

    Some changes since V0.9g:
   
    Fixed loop optimization bug at -O3 or higher, which erroneously re-reads initial registers.
    Fixed optimizer bug when moving function calls.
    m68k: Fixed internal error at -O3 or higher with oldstyle function declarations and -amiga-softfloat.
    vclib AmigaOS/MorphOS: fopen mode "a" didn't create a new file and mode "w+" didn't truncate an existing file.
    vclib m68k: Fixed strncat() to append NUL even when the append-string is longer than the count.
    vclib ppc-amigaos: suppress warnings about unknown section types when linking with gcc libraries and objects (newlib).
    m68k: -amiga-softfloat now also works with -sd (small data) and generates base-relative addressing modes for the MathIeee library base.
    Fixed wrong type in strength reduction of LSHIFT IC, which could move a shift-left with an induction variable out of the loop with optimizations of -O2 and higher.


REQUIREMENTS

    To use vbcc you need:

    - an Amiga with OS 2.0 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).


LEGAL

    vbcc is copyright in 1995-2019 by Volker Barthelmann.

    This archive may be redistributed without modifications and used
    for non-commercial purposes.

    An exception for commercial usage is granted, provided that the target
    CPU is M68k and the target OS is AmigaOS. Resulting binaries may be
    distributed commercially without further licensing.

    In all other cases you need my written consent.

    This copyright applies to vc, vbcc and vsc.

    This archive may contain other tools (e.g. assemblers or linkers)
    which do not fall under this license. Please consult the corresponding
    documentation of these tools.

    Note that this distribution contains several programs, libraries etc.
    that are from different authors and are under different legal status.
    So always read the corresponding documentation to find out under
    what conditions a certain file may be used, distributed etc.


DOCUMENTATION

    Look for documentation in the doc-subdirectory. First, read
    vbcc.pdf or vbcc.html to learn about the compiler and frontend.
    For the other tools like assemblers and linkers, consider the
    remaining documentation which can be found in this subdirectory.


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 this 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