Links| Forum| Kommentare| News melden
Chat| Umfragen| Newsticker| Archiv

[Login] [Registrieren] [Passwort vergessen?]

< Nächste MeldungVorige Meldung >
31.Dez.2008 (Webseite)

C-Compiler: vbcc 0.9
vbcc ist ein C-Compiler von Volker Barthelmann (Compiler-Kern) und Frank Wille (amigaspezifische Anpassungen). Der Compiler unterstützt AmigaOS 3/4, MorphOS, PowerUp und WarpOS und entspricht ISO-C gemäß ISO/IEC 9899:1989 sowie einer Teilmenge des neueren Standards ISO/IEC 9899:1999 (C99). Änderungen in Version 0.9:
  • Using vasm 1.3c and vlink 0.12 with many improvements.
  • New: vlink 0.12 has experimental support for dynamic linking. The frontend supports a -static option to force static linking.
  • New: -unsigned-char allows a char without qualifier to be treated as unsigned char instead of signed char.
  • New: Target "MiNT" (m68k-atarimint), which is a multitasking operating system for Atari computers. The linker was extended to support the MiNT-specific embedded a.out-format in a TOS exexutables, called aoutmint.
  • Fixed a bug with using bitfields in operations, which occured with -O2 optimization on big-endian hosts.
  • A combination of 64-bit shift and arithmetic-and operations generated illegal code on all targets.
  • Fixed bug with expressions of the form (pointer_type) (non_ptr +/- non_ptr) on machines that allow shortcutting conversion from int to pointer types.
  • Fixed bug with VLA (variable length array, C99) length 0.
  • Fixed illegal optimization of constant indexes in VLAs.
  • The volatile keyword was ignored in some situations when using -O2 optimization or higher.
  • Fixed some problems with incorrect struct-definitions after parse errors.
  • Error and warning messages are redirected to stderr.
  • Warning 224 must not appear, when a function returns the difference between two auto-variables.
  • Exit with a fatal error when an #include-recursion is detected, which means in this case that the nesting-level is > 1023.
  • Fixed __AMIGADATE__, which should add parentheses around the date.
  • Fixed wrong line number after an #include directive, when the line ends with CR/LF.
  • M68k code generator: Shortcut was erroneously used for (int)=(floatvar)/(floatconst)-(floatconst) converting the last floatconst into integer.
  • M68k code generator: __interrupt had a discrepancy between the number of saved and restored registers.
  • M68k code generator: Link register A5 got overwritten by local variables when used for a VLA.
  • M68k code generator: Used an address register as DBRA counter for a struct-push operation at -O1.
  • M68k code generator: For compatibility the __stdargs modifier is supported now, but ignored.
  • M68k code generator: Wrong adressing Mode An,<ea> for ADD occured sometimes with -O3 optimization.
  • PPC code generator: variables with a natural size of 8 (double precision float) have to be aligned to a 64-bit boundary, as not all PPC CPUs support 32-bit alignment.
  • PPC code generator: VLAs didn't work inside of a structure.
  • PPC code generator: 64-bit arguments were sometimes unnecessarily "extended" from 32 to 64 bits under PowerOpen-ABI (WarpOS).
  • i386 code generator: Fixed some 64-bit integer bugs.
  • C16x code generator: Better shift code generation.
  • C16x code generator: Fixed bug with save_result and r==tp.
  • vclib: Made freopen() depend on fopen() to make sure that the destructor which closes all open files is called.
  • vclib m68k: Returned sign of modulo operation was wrong in the cases (+)%(-) and (-)%(-).
  • vclib PowerUp: Fixed, which can be generated by vlink now.


[Meldung: 31. Dez. 2008, 15:59] [Kommentare: 18 - 10. Jan. 2009, 22:05]
[Per E-Mail versenden]  [Druck-Version]  [ASCII-Version]
< Nächste MeldungVorige Meldung >

Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2023 by - alle Rechte vorbehalten.