Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Aug 1998 07:39:35 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        jb@cimlogic.com.au (John Birrell)
Cc:        mike@smith.net.au, tlambert@primenet.com, Nicolas.Souchu@prism.uvsq.fr, chuckr@Glue.umd.edu, freebsd-hackers@FreeBSD.ORG
Subject:   Re: C and static initialization with unions
Message-ID:  <199808070739.AAA23183@usr08.primenet.com>
In-Reply-To: <199808070232.MAA02971@cimlogic.com.au> from "John Birrell" at Aug 7, 98 12:32:23 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> > Seeing as nobody actually seems to want this, it's obviously not of 
> > much interest.
> 
> ... and these days it seems that the GNU tools get ported to the "older"
> OS first and you just use them.

I am sorry.  I vehemently disagree with the GPL as a political tool.
I will not port GCC to a new platform.

I also believe that having to port the compiler is a ridiculous barrier
to entry, and one of the reasons FreeBSD ports are not more prevalent.


> So unless there is a late rush of people wanting to port FreeBSD to another
> processor for which GNU tools don't exist, I'd prefer to see the K&R bit
> dropped in favour of ANSI C and get people to learn to compile things with
> compiler higher warning levels.

It's perfectly possible to get these warnings from a K&R compiler.
To do this, you need to change your object format to attribute the
symbol table entries.  Fred Fish did this for the Motorolla 88k
compiler back in the early 80's.  What we are suffering here is a
legacy of compiler writers too lazy to implement decent smart linker
technology.

It is entirely possible to take interface errors at link time rather
than compile time and/or generate conversion stubs an issue warnings,
rather than requiring prototypes to be in scope.  Prototypes are a
case of compiler writers being lazy.  Specifically, Microsoft compiler
writers who wanted to transparently deal with "far *" in the Windows
3.x developement environement, and SunSoft compiler writers who wanted
to win compiler races rather than provide correct code.  This is the
same reason we have volatile: because there is no inter-module
optimization due to the lack of sufficient hints in the object files
and the generation of glue code at link time instead of runtime.

In any case, it's technically *possible* to have avoided this cock-up,
it just wasn't financially expedient to do so... 8-(.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808070739.AAA23183>