Drobe :: The archives
About Drobe | Contact | RSS | Twitter | Tech docs | Downloads | BBC Micro

Updates released for Castle compiler suite

By Chris Williams. Published: 4th May 2005, 13:32:13 | Permalink | Printable


32bit RISC OSCastle has released a new version of its C/C++ compiler to developers subscribed to its software tools scheme. The full list of improvements and enhancements is here, and notable updates include "optimised handling of narrow data and computations", improved (int) longlong handling and complex and imaginary number support.

Announced in April 2004, the subscription scheme aims to roll out updates to Castle's C/C++ compiler, better known as Acorn's Norcroft C/C++ compiler package. Today's release is, we believe, the second load of updates to the software development suite since the scheme's launch. We asked Castle a month or so ago about the status of the compiler's development, although they declined to comment.


Castle C/C++ compiler package

Previous: Software news in brief
Next: New GCC 3.4.4 version unleashed


Viewing threaded comments | View comments unthreaded, listed by date | Skip to the end

New GCC release very shortly. There will be a few surprises in that.

 is a RISC OS Usermrchocky on 4/5/05 2:07PM
[ Reply | Permalink | Report ]

Complex number support is an interesting addition! Handy for plotting Mandelbrots but what else would you use this for?

All good news.

I'd be interested to know if subscribers think the scheme has been a success and whether the benefits over GCC are worth it in their view.

 is a RISC OS Userflypig on 4/5/05 2:32PM
[ Reply | Permalink | Report ]

Obviously I'm one of the RISC OS GCC maintainers, so my view is somewhat biased.

However, the only significant feature that Castle C/C++ offers over GCC is the ability to create modules. It also comes with some libraries that GCC doesn't provide (unicode, tboxlib, etc). It's also faster to compile code with.

I'm not aware of anything else that it does that GCC hasn't done for some time (in most cases, years - including the above chages). GCC also has comprehensive C99 and C++ support as well as many many other options that will never be put into Castle C/C++.

There's no doubt that Castle (nee Acorn) C/C++ has been a very useful product for many years. The problem now is that we should be doing everything possible to encourage new developers - the price of the tools may be a major hurdle to that, as are also the too occasional updates.

I bought the 32-bit Castle tools when I got my Iyonix, but the benefits of the upgrade scheme are simply too few to justify, IMO, especially when free and more flexible tools can do just about everything anyway.

 is a RISC OS Usermrchocky on 4/5/05 2:48PM
[ Reply | Permalink | Report ]

Drobe persons, are you sure you have not been too quick off the mark with this article? I logged in to Castle's C support page and found that though Ctools 5.60 is mentioned, what you actually download is still the 5.56 version. Maybe Castle have not yet got round to updating the website, or your link is to the wrong place.

 is a RISC OS UserGavinWraith on 4/5/05 5:18PM
[ Reply | Permalink | Report ]

I must say the slowness of GCC is the killer for me. If I'm playing around developing things I can't afford to spend any significant time waiting for compiles. I also do a lot of writing modules, so for me, things are stacked against GCC.

However, for the price that the Acorn C is, I'll have to stick with my much older version, because I also can't afford to buy expensive compilers every year.

 is a RISC OS Userjohn on 4/5/05 5:25PM
[ Reply | Permalink | Report ]

GavinWraith: I received an email from Castle this morning that had the subject: "5.6 Release of RISC OS C Tools Available Immediately". If they aren't "available immediately", let me know.

 is a RISC OS Userdiomus on 4/5/05 5:30PM
[ Reply | Permalink | Report ]


How does the compiled code efficiency compare these days between GCC and Acorn C/C++. Obviously it's not something that's going to be precisely measurable, and clearly also you've got a bias, but traditionally I always recall the Acorn C/C++ compiler was noted for making better code than it's (at the time) GCC equivalent. Is that still true, or has GCC caught up in that respect?

 is a RISC OS Usermd0u80c9 on 4/5/05 6:20PM
[ Reply | Permalink | Report ]

I don't think GCC was ever really that much slower, and there were certainly cases of swings and roundabouts.

No one has gotten around to doing any recent benchmarks (with for example, nbench), but I expect GCC these days to be a bit faster all round (and if it's not in some cases, then we may be able to do something about it).

You also need to be careful with such benchmarks and make sure you target the same C library. There will be differences between UnixLib and SharedCLibrary. The former certainly contains faster string handling routines for example.

And you mean "its", btw.

Later versions of GCC 4, say 4.1, and 4.2 may show considerable improvements for C. 4.0 should be much faster for C++.

There's also soft-float, which is a topic all by itself, and I won't go into here except that it too is intended to be a speed improvement.

 is a RISC OS Usermrchocky on 4/5/05 6:27PM
[ Reply | Permalink | Report ]

Yes. I do mean "its". Thanks for that. Grammatically speaking, of course, you missed off a 'that' in your first sentence ("I don't think THAT GCC was ever..."), but hey, I'm no clippy ;). You also have an apostrophe in 'no-one', where otherwise one would anticipate a verb as the third word in the sentence. A comma after 'with' would have been prudent. And you've started a subsentence in brackets with "and". And I missed a question mark off the opening paragraph ;).

Seriously speaking though (the above firmly tongue-in-cheek), I'd certainly be interested in the efficiency of compiled code between the two. At present I have two reasons for using Acorn C/C++v5 - the primary reason of course being module creation. As I understand it, that restriction is rapidly disappearing. The second reason was a belief (based purely upon previous hearsay,) that the Norcroft compiler produced slightly quicker, more efficient code.

With the module issue resolved, I'd happily review my compiler of choice. However, it would be nice, if anyone has any free time and is particularly bored, to see some comparisons of code efficiency, just to give some 'barn door' comparisons.

 is a RISC OS Usermd0u80c9 on 4/5/05 7:31PM
[ Reply | Permalink | Report ]

Er, yes. All the "corrections" you mention are entirely sytlistic, if intentionally less formal English - I can assure you I proofed it and was happy with the result. Where as the case with apostrophe usage is pretty clear cut :p (and I can't make any sense of your comment about 'no-one'). I will probably do some benchmarks ahead of the next release, but I don't expect too many surprises. Besides, much more substantial performance increases can often come from using a better algorithim, compared to code level improvements which generally only given linear speed-ups.

 is a RISC OS Usermrchocky on 4/5/05 8:16PM
[ Reply | Permalink | Report ]

in reply to Gavn Wraith: There was a typo that stopped the updated version going out .. that should now be corrected.. perhaps you would like to try again?


 is a RISC OS Userjb on 4/5/05 8:55PM
[ Reply | Permalink | Report ]

flypig> Complex numbers are used at the heart of quite a few engineering/signal-processing algorithms such as the Fast Fourier Transform (FFT) and the IMDCT that forms the core of the Dolby Surround Sound system.

They are also used heavily in the simulation of electrical circuits, so it's not just abstract mathematics. ;)

 is a RISC OS Useradrianl on 4/5/05 9:40PM
[ Reply | Permalink | Report ]

Slightly OT but complex numbers are handy in trig. (I won't attempt to spell trigonometry?) Ohhh I just did.

Anyway if you want to do some quick dy/dx or int of a trig function, simply convert as much as poss to a complex and work on that. Also using complex theory in chemistry is handy. As it is in some image manipulation algorithms I beleive. Don't know any off hand, only used it in Maths and chemistry..... tooo many years ago :-)

Cheers Bob

 is a RISC OS Usernijinsky on 4/5/05 9:51PM
[ Reply | Permalink | Report ]

I'm afraid Argand diagrams still generate a slight shudder down my spine :(. The years have not been kind enough to let me forget, and occasionally I get 'maths exam' nightmares :(.

 is a RISC OS Usermd0u80c9 on 4/5/05 11:17PM
[ Reply | Permalink | Report ]

Yes Andrew md0u80c9 . That is why you did Medicine and I did a Biology PhD. :-)

Anyway realy OT.

cheers bob

 is a RISC OS Usernijinsky on 5/5/05 8:23AM
[ Reply | Permalink | Report ]

I seem to recall that there is an isomorphism between a certain set of 2 by 2 matricies and complex numbers, so if a language can handle matricies, then extending it to handle complex numbers is not too difficult; just convert the complex numbers to the appropriate matricies, use the matrix arithmetic functions to do the calculations and then, if you require results written as complex numbers, convert the matrix answers back into complex number notation.

Just as a point of interest: BBC BASIC, which is free in every RISC OS machine since, I think, the Archimedes, has matrix arithmetic built in, but not a complex number extension.

 is a RISC OS Usermartin on 5/5/05 10:13PM
[ Reply | Permalink | Report ]

but then what about matricies filled with complex numbers?

 is a RISC OS UserJaco on 6/5/05 1:28PM
[ Reply | Permalink | Report ]

Then perhaps you ought to be using the Fortran compiler that is bundled with GCC.

 is a RISC OS Usermrchocky on 6/5/05 1:49PM
[ Reply | Permalink | Report ]

Thanks for the comparisons between Norcroft and GCC and for the suggestions about where complex numbers might be used (FFT is a v. good example). All interesting stuff; and the fact that BASIC will do matrices (and thus complex numbers) is an interesting point.

Personally the thing I miss in C is support for variable length integers/floats. This would be a really useful addition to the language.

 is a RISC OS Userflypig on 6/5/05 4:20PM
[ Reply | Permalink | Report ]

char, short, int, long long ;-) (or C99 equivalents).

There are plenty of libraries that do that, such as libgmp. I don't think it belongs in C itself; if you start to need such high-level things, then perhaps you ought to be using a different language that encapsulates these things properly, like C++ or (I presume) Python.

 is a RISC OS Usermrchocky on 6/5/05 6:23PM
[ Reply | Permalink | Report ]

Thanks for the suggestions mrchocky. I appreciate there are libraries, it just feels like they *ought* to be primitives (IMHO!). It's like when I first started using computers (an Electron) and it was a disappointment that it didn't do bigger numbers than a calculator. All computers should have a "large number coprocessor" ;)

 is a RISC OS Userflypig on 6/5/05 7:46PM
[ Reply | Permalink | Report ]

Downloaded this today - the second upgrade of the subscription period and generous of Castle to supply with only days left before my subscription (and I guess most people's) expires.

There is the updated CC as mentioned but also updates to C++ (ie CFront), Link, ObjAsm and AMU (the latter not having a change log). Updates to all but CC seem to be quite minor though there are further changes to the "experimental" ELF support in Link.

 is a RISC OS UserTonyStill on 7/5/05 7:15PM
[ Reply | Permalink | Report ]

Please login before posting a comment. Use the form on the right to do so or create a free account.

Search the archives

Today's featured article

  • RISCDomain magazine reviewed
    A media watch special
     9 comments, latest by druck on 30/10/07 8:55AM. Published: 20 Oct 2007

  • Random article

  • Riscster, the RISC OS Napster music client, has been modified to allow it to connect to the OpenNap servers following a US court ruling banning the use of Napster servers

     Discuss this. Published: 28 Jul 2000

  • Useful links

    News and media:

    Top developers:
    RISCOS LtdRISC OS OpenMW SoftwareR-CompAdvantage SixVirtualAcorn

    CJE MicrosAPDLCastlea4X-AmpleLiquid SiliconWebmonster


    RISCOS.org.ukRISCOS.orgRISCOS.infoFilebaseChris Why's Acorn/RISC OS collectionNetSurf

    Non-RISC OS:
    The RegisterThe InquirerApple InsiderBBC NewsSky NewsGoogle Newsxkcddiodesign

    © 1999-2009 The Drobe Team. Some rights reserved, click here for more information
    Powered by MiniDrobeCMS, based on J4U | Statistics
    "RISC OS development is a waste of time with [Drobe's] aggressive attitude towards reporting and disregard of facts"
    Page generated in 0.1338 seconds.