amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

[Login] [Registrieren] [Passwort vergessen?]

< Nächste MeldungVorige Meldung >
01.Mär.2022



Compiler: vbcc 0.9h (Update)
vbcc ist ein C-Compiler von Volker Barthelmann (Compiler-Kern) und Frank Wille (amigaspezifische Anpassungen). Der Compiler unterstützt AmigaOS 3.x, AmigaOS 4, MorphOS, PowerUp sowie WarpOS und entspricht ISO-C gemäß ISO/IEC 9899:1989 sowie einer Teilmenge des neueren Standards ISO/IEC 9899:1999 (C99).

Gestern wurde die Version 0.9h veröffentlicht, die zahlreiche Änderungen enthält. Eine ausführliche Dokumentation liegt in Form einer pdf-Datei auf der Homepage bereit, ebenso wie die Archive für die einzelnen Zielplattformen.
  • 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

Update: (04.03.2022, 05:40, dr)

Gestern wurde vbcc 0.9h patch 1 veröffentlicht. Alle Binärarchive der vorherigen Version werden ersetzt. Dieser Patch enthält die folgenden Korrekturen:
  • 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.
(dr)

[Meldung: 01. Mär. 2022, 06:55] [Kommentare: 2 - 04. Mär. 2022, 05:44]
[Per E-Mail versenden]  [Druck-Version]  [ASCII-Version]
< Nächste MeldungVorige Meldung >

.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.