Subject: Re: GCC to retire VAX support!?
To: None <port-vax@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: port-vax
Date: 06/20/2002 12:11:28
>> [...]
> i find this very hard to believe.  C, either ansi ro K&R (my personal
> preference) is _extremely_ flexible.  what kind of thing can one not
> do in C that one can in gcc, and i dont mean things for which there
> would be five lines of C and just one bit of gccism shorthand for...

The sort of gccisms I was referring to are things like nested
functions, block expressions (combined with nested functions, lambda
functions fall out), nonlocal gotos (combined with nested functions
these can be used as a catch/throw facility that's not quite as
optimizer-hostile as setjmp/longjmp), asm()s with arguments....

Nothing that absolutely cannot be done in C, of course - very little
absolutely cannot be done in C.  (The extended asm()s may actually be
an exception.)  And, like most rope, you can hang yourself with it.
But used properly, they can greatly simplify and clarify code that
would otherwise be full of ugly kludges to make up for the missing
facility (eg, global variables which wouldn't be there except to make
up for the lack of nested functions, and even then don't DTRT in the
presence of recursion or signal handlers).

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B