Suggestions

Stewart Brodie stewart.brodie at pace.co.uk
Wed Apr 26 14:23:54 BST 2000


In message <jIZBKLAjzqB5EwQ$@mk-net.demon.co.uk>
          Tony van der Hoff <OSLib at mk-net.demon.co.uk> wrote:

> On Tue, 25 Apr 2000, at 18:28:33, Stewart Brodie
> <stewart.brodie at pace.co.uk> wrote on the subject "Suggestions":
> 
> >
> >You believe wrong.  The RISC OS hosted Norcroft C compiler still exists,
> >is still maintained (by me), and is still used to build RISC OS by us ...
> >
> Purely out of interest, would it be impertinent to ask what maintenance
> you're performing on it? Major new features, or bug-fixes?

Mostly new CLI options.  Lots of extra -W flags have been added to suppress
annoying warnings (e.g. unknown pragma), parameter type checking for _swix
calls has been added (+ -W flag for suppressing the warnings that causes),
warnings + suppression flag for use of reserved C++ keywords in C code,
suppression flag for "non-const format parameter to printf/scanf/_swix".

Generally, it is now preferred that our OS builds are completely clean - ie.
no warnings at all, and most of the changes have been made to make that
possible - don't get rid of the problem in the code, change the tool ... :-)

Interestingly, when I build defmod now, the compiler complains about some of
the usage of the defmod bootstrap macros - i.e. the ones that are defined to
_swix calls.

-ccversion has been added for safety to allow components in our build
structure to demand minimum version numbers of the C compiler (the linker has
a -linkversion option etc.)   In this way, if some component is dependent on
a bug fix in version 12.34 of the compiler, it can do:

cc -ccversion 1234 -c .... usual parameters

and cc will throw a fatal error unless it is version 12.34 or later.  This
has the advantage that it works on currently deployed compilers too (they
object to the unknown option! :-)

In terms of code generation, a handful of cases have been improved to
generate nicer code, but nothing all that significant for external
application authors really.

So basically, it's niceties (although the _swix checks have found us some
long-hidden previously untraceable bugs ;-)

-- 
Stewart Brodie, Senior Software Engineer    (Views expressed are my own and
Pace Micro Technology PLC                   not those of my employer)
645 Newmarket Road
Cambridge, CB5 8PB, United Kingdom         WWW: http://www.pacemicro.com/



More information about the oslib-user mailing list