Compiler: vbcc gets update to 0.9g

Posted by

Vbcc is a C compiler written by Volker Barthelmann (compiler core) and Frank Wille (Amiga-specific adaptions). The compiler supports AmigaOS 3.x, AmigaOS 4, MorphOS, PowerUp as well as WarpOS. According to the developers “it supports ISO C according to ISO/IEC 9899:1989 and a subset of the new standard ISO/IEC 9899:1999 (C99).”


  • Implemented hash table with a default size of 1000. Can be controlled by -hash-size=
  • Fixed bug with recursive struct definitions
  • Fixed bug with C99 designated initializers
  • Fixed C99 initializations of const objects
  • Fixed bug with mixed dynamic initializations
  • Fixed bug with partially initialized structs (C99)
  • Addded __noinline attribute
  • m68k: General improvements of code generation
  • m68k: Use ASR-sequence for signed division with a power of two
  • m68k: Fixed peephole bug
  • m68k: New attribute __fp0ret, to force float-return in fp0, disregarding a -no-fp-return option
  • m68k: Fixed bug with unsigned short array indexes > 32767
  • m68k: Allow 16-bit multiplication
  • m68k: Fix for possible register clobbering in PUSH loops going up
  • m68k: Avoid using the same reqister for Dr:Dq in DIV?L.L instructions
  • m68k: Fixed pointer differences in 16-bit int backend (vbccm68ks)
  • m68k: Fixed bug with shiftisdiv on big-endian hosts
  • PPC: Optimized memcmp() in vclib and as assembler-inline
  • vclib: Fixed snprintf() and vsnprintf() for sizes exactly matching the source
  • vclib atari: Made gem.h compile without warning in ANSI/C89 mode
  • vclib kick13: Support for 16-bit int. New config files
  • vclib kick13: Workaround for IEEE single to double precision conversion in mathieeedoubtrans.library
  • Fixed some kick13 clib headers