amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

[Login] [Register] [Forgot your password?]

< Next messagePrior message >
01.Mar.2022



Compiler: vbcc 0.9h
vbcc is a highly optimizing portable and retargetable ISO C compiler written by Volker Barthelmann (compiler core) and Frank Wille (Amiga specific code). It supports ISO C according to ISO/IEC 9899:1989 and a subset of the new standard ISO/IEC 9899:1999 (C99).

Yesterday, version 0.9h was released, which contains numerous changes. Detailed documentation is available in the form of a pdf file on the homepage, as are the binaries for the individual target platforms.
  • New features

    • Compiler defaults to C99, use -c89 to forbid C99 extensions.
    • Several improved warnings/error messages.
    • New option -sec-per-obj puts all code functions and data objects in their own section, which may be removed by linker section garbage collection.
    • Simple implementation of -merge-strings.
    • Added -warnings-as-errors option.
    • Define macros __OPTSPEED__/__OPTSIZE__ depending on options.
    • Recognize builtin functions with __asm_ prefix.
    • Added -depobj option.
    • Added -force-statics and -prefer-statics.
    • New backends for 6502 and 6809.
    • Support for charset conversions (8-bit targets).
    • Code compressor (currently only for 6502).
    • Better out-of-the-box support for non-8-bit-based types.
    • Several improvements regarding the backend interface.
    • m68k: defines macro __SMALL_DATA__ with -sd option
    • m68k: added -vbcccall/__vbccargs
    • vc: new option -rmcfg-* to disable options from a config file
    • vc: frontend does Unix-path conversion also for -o
    • vclib: New 6502 targets: Atari, BBC, C64, Mega65, NES, Simulator, X16
    • vclib: New 6809 targets: OS-9, Simulator
    • vclib: __gmtoffset and __dstflag may be overwritten separately
    • vclib: strftime() supports ISO-8601 date format through %F
    • vclib: added strtof()
    • vclib: m68k-amigaos based on NDK 3.2
    • vclib: m68k-amigaos supports Roadshow additions and
    • vclib: m68k-amigaos adds reaction.lib for ReAction GUI support
    • vclib: m68k-amigaos UTC offset is automatically initialized when possible
    • vclib: m68k-amigaos configs use -amiga-softfloat (inlines) by default
    • vclib: m68k-atari small-data support and libraries
    • vclib: ppc-morphos support for (sysv,base)-ABI libraries
    • vclib: ppc-amigaos adapted to new SDK

  • Performance improvements

    • Improved function inlining / cross-module inlining.
    • Several improvements in register allocation.
    • Improved constant propagation.
    • New peephole optimizations.
    • New optimization and tuning options for constant initializations.
    • Improved recalculation of stack slots.
    • Slightly improved common subexpression elimination.
    • Range-optimizations and induction variable shortening.
    • Allow strength reduction for constant left-shifts.
    • Handling of volatile is improved.
    • Compile-time calculations of constant pointer values.
    • m68k: improved register allocation
    • m68k: improved Fastcall-ABI support
    • m68k: improved builtin libcalls
    • m68k: improved copying of (long) doubles in memory with the FPU
    • m68k: better use of scaled addressing modes
    • m68k: some FPU code improvements
    • m68k: fixed performance regression of internal memcpy
    • vclib: reworked assembler inlines

  • Bug fixes:

    • Lots of fixes in the compiler core and backends. Thanks for your reports!
    • vclib: bad assert.h in 0.9g: it must be possible to include the assert-macro multiple times (with and without NDEBUG defined)
    • vclib: m68k-amigaos protos declare device library bases with struct Device*.
    • vclib: m68k-amigaos ReAction classes must not be automatically opened with auto.lib but with reaction.lib.
    • vclib: m68k-amigaos adds missing InvertString() for amiga.lib
    • vclib: PPC 64-bit signed modulo fixed
    • vclib: fixed mktime(), tm_mday is 1-based, and recognize gmtoffset
    • vclib: fgetpos() has to return 0 on success
(dr)

[News message: 01. Mar. 2022, 06:55] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
< Next messagePrior message >

.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.