Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
|
|
|
|
VBCC is a highly optimizing portable and retargetable ISO C compiler. It supports ISO C according to ISO/IEC 9899:1989 and a subset of the new standard ISO/IEC 9899:1999 (C99).
http://sun.hasenbraten.de/vbcc/
Changes since last release: (Read on)
* 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, 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 libpowerup.so, which can be generated by vlink now.
In such a complex project there will of course be bugs. Most, especially the serious, bug fixes will be available immediately as a patch. The rest comes with the next release, or by request from the author (see below). |
|
|
|
| STORYID: 4688
|
Poster | Thread | kas1e
| |
Re: VBCC 0.9 released (30-Dec-2008) Posted on 2-Jan-2009 12:17:39
| | [ #1 ] |
| |
|
Elite Member |
Joined: 11-Jan-2004 Posts: 3551
From: Russia | | |
|
| The one of better think for amiga in last half of year. Vbcc is very easy, very logical and very understanable compiler/linker for C and also Asm programmers. Glad to see that Frank still works on it and made it better and better. Binaries provided by vbcc can be very little, and code are very fast. Assembler freaks can't detect some time what was is used, assembler or C :) And i not talk about very easy cross-compiler work for all amiga like oses (aos3,aos4,mos,wos,pup). You just add one key, and have native binary for any os. Only with Aros some problems looks like .. But hope in near future Aros will be in list of fully supported oses. _________________ Join us to improve dopus5! zerohero's mirror of os4/os3 crosscompiler suites
|
| Status: Offline |
| | ChaosLord
| |
Re: VBCC 0.9 released (30-Dec-2008) Posted on 2-Jan-2009 12:32:05
| | [ #2 ] |
| |
|
Cult Member |
Joined: 4-Apr-2005 Posts: 782
From: Houston, Texas USA | | |
|
| I would LOVE to have 1 great compiler that let me compile my source easily onto all Amigalike systems! Including AROS. That would be great.
@Frank
Vbcc said: Quote:
move.l (a0)+,d0 tst.l d0 beq .loop
|
Did you fix it to remove that silly redundant tst.l ? _________________ Wanna try a wonderfull magical Amiga strategy game? Total Chaos AGA
|
| Status: Offline |
| | ChaosLord
| |
Re: VBCC 0.9 released (30-Dec-2008) Posted on 2-Jan-2009 12:34:00
| | [ #3 ] |
| |
|
Cult Member |
Joined: 4-Apr-2005 Posts: 782
From: Houston, Texas USA | | |
|
| Are Vbcc makefiles compatible with gcc makefiles? _________________ Wanna try a wonderfull magical Amiga strategy game? Total Chaos AGA
|
| Status: Offline |
| | kas1e
| |
Re: VBCC 0.9 released (30-Dec-2008) Posted on 2-Jan-2009 14:21:53
| | [ #4 ] |
| |
|
Elite Member |
Joined: 11-Jan-2004 Posts: 3551
From: Russia | | |
|
| chaos, dunno about gcc , but i just use bat scripts, like: make_os3_bin make_os4_bin make_mos_bin
and inside:
vc -c99 file.c -O1 -lauto -lamiga -lptreplay -lptplay -lmieee
after : execute make_os3_bin
of course it not makefile, but for me makefiles it's a mess :) _________________ Join us to improve dopus5! zerohero's mirror of os4/os3 crosscompiler suites
|
| Status: Offline |
| | ChaosLord
| |
Re: VBCC 0.9 released (30-Dec-2008) Posted on 2-Jan-2009 15:31:06
| | [ #5 ] |
| |
|
Cult Member |
Joined: 4-Apr-2005 Posts: 782
From: Houston, Texas USA | | |
|
| Yes I hate makefiles also. But my software uses them and somehow survives.
I would rather just use AmigaDOS scripts but then its not multiplatform compatible. _________________ Wanna try a wonderfull magical Amiga strategy game? Total Chaos AGA
|
| Status: Offline |
| | Kicko
| |
Re: VBCC 0.9 released (30-Dec-2008) Posted on 2-Jan-2009 16:24:34
| | [ #6 ] |
| |
|
Elite Member |
Joined: 19-Jun-2004 Posts: 5009
From: Sweden | | |
|
| | Status: Offline |
| | Jupp3
| |
Re: VBCC 0.9 released (30-Dec-2008) Posted on 3-Jan-2009 13:20:46
| | [ #7 ] |
| |
|
Super Member |
Joined: 22-Feb-2007 Posts: 1225
From: Unknown | | |
|
| Quote:
Are Vbcc makefiles compatible with gcc makefiles? |
What does a compiler have to do with a makefile?
Basically you would just replace gcc with vbcc, and perhaps adjust compiler arguments as needed, and that should do it.
I use makefile to compile C64 assembler code, and also put it in a .d64 file. If makefiles are "compatible" with that, I guess they should definitely be compatible with a slightly different C compiler Last edited by Jupp3 on 03-Jan-2009 at 01:22 PM.
|
| Status: Offline |
| |
|
|
[ home ][ about us ][ privacy ]
[ forums ][ classifieds ]
[ links ][ news archive ]
[ link to us ][ user account ]
|