Links| Forums| Comments| Report news
Chat| Polls| Newsticker| Archive

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

< Next messagePrior message >
31.Dec.2008 (Webseite)

C-Compiler: vbcc 0.9
vbcc is a C-compiler developed by Volker Barthelmann (compiler-core) and Frank Wille (Amiga specific adaptations). The compiler supports AmigaOS 3/4, MorphOS, PowerUp and WarpOS and corresponds to ISO-C in accordance with ISO/IEC 9899:1989 as well as a subset of the newer standards ISO/IEC 9899:1999 (C99). Changes 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.

(cg) (Translation: dr)

[News message: 31. Dec. 2008, 15:59] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
< Next messagePrior message >

Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2021 by - all rights reserved.