Click Here
home features news forums classifieds faqs links search
6036 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
Home
Features
News
Forums
Classifieds
Links
Downloads
Extras
OS4 Zone
IRC Network
AmigaWorld Radio
Newsfeed
Top Members
Amiga Dealers
Information
About Us
FAQs
Advertise
Polls
Terms of Service
Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
24 crawler(s) on-line.
 9 guest(s) on-line.
 0 member(s) on-line.



You are an anonymous user.
Register Now!
 Mobileconnect:  6 mins ago
 evilFrog:  7 mins ago
 RobertB:  34 mins ago
 tonyw:  35 mins ago
 QuikSanz:  39 mins ago
 OlafS25:  1 hr 29 mins ago
 1Mouse:  1 hr 54 mins ago
 Dege:  1 hr 56 mins ago
 samo79:  2 hrs 1 min ago
 DiskDoctor:  2 hrs 6 mins ago

Software News   Software News : VBCC 0.9 released (30-Dec-2008)
   posted by salass00 on 1-Jan-2009 9:31:30 (3250 reads)
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,<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 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).
    

Related Links
· More about Software News
· News by salass00


Most read story about Software News
UBoot 2010.06.04 for Sam460ex available

Last news about Software News
Goadf! 3.0 has been released
Printer Friendly Page  Send this Story to a Friend

PosterThread
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: 3459
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
Profile     Report this post  
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
Profile     Report this post  
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
Profile     Report this post  
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: 3459
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
Profile     Report this post  
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
Profile     Report this post  
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

Great work :D

 Status: Offline
Profile     Report this post  
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: 1224
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
Profile     Report this post  
[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle