[M3commit] CVS Update: cm3

Rodney M. Bates rodney_bates at lcwb.coop
Thu Mar 4 21:45:12 CET 2010



Jay K wrote:
> Maybe remove it instead? Unused suggests untested, not working.

I am with Tony on this one.  Well-designed code has always had places where
it will handle a more general input space than current use-cases demand.

Always removing everything from what is handled reflects the view that a
program is a one-time thing that never changes.  Putting in some things
that follow a consistent general pattern reflects the view that a program
is an evolving thing.  Excepting a very few programs that are either trivial
or very little-used, the latter assumption is always the correct one.

Of course, you can't put everything imaginable in.  But things that are part
of a general pattern are good candidates.  Nobody could _ever_ design very
useful code, if not following this principal.

I once, in my very first job, had to rework a big test driver written in
such a way that it handled exactly the set of test cases that had been
originally specified and not a thing more.  Nobody could add any new cases
as things evolved.  The internal structure bore no resemblance to the
pattern of the inputs.  I could only throw it all out except for some
low-level routines and start over.

> 
> ------------------------------------------------------------------------
> From: hosking at cs.purdue.edu
> Date: Wed, 3 Mar 2010 22:29:04 -0500
> To: jay.krell at cornell.edu
> CC: m3commit at elegosoft.com
> Subject: Re: [M3commit] CVS Update: cm3
> 
> It turns out not actually to be used by m3front.  But it is defined by 
> m3middle, so let's support it and not get bitten in the arse if/when 
> m3front ever uses it.
> 
> On 3 Mar 2010, at 18:45, Jay K wrote:
> 
>      I don't see where it is used.
>      I built all of "std" with the gcc_assert(0) and <* ASSERT FALSE *>
>     (in m3back).
>      The parameters are being passed to memset in the wrong order.
>      Compare it to m3cg_zero.
>      I was actually looking to see if parameters are left to right or
>     right to left, I looked at these two examples and decided they can't
>     both be correct.
>      
>      - Jay
>      
>     ------------------------------------------------------------------------
>     From: hosking at cs.purdue.edu <mailto:hosking at cs.purdue.edu>
>     Date: Wed, 3 Mar 2010 11:02:36 -0500
>     To: hosking at cs.purdue.edu <mailto:hosking at cs.purdue.edu>
>     CC: m3commit at elegosoft.com <mailto:m3commit at elegosoft.com>
>     Subject: Re: [M3commit] CVS Update: cm3
> 
>     Please say how this is broken.
> 
>     On 3 Mar 2010, at 10:57, Tony Hosking wrote:
> 
>         Huh?  I see it in the front-end!
> 
> 
>         On 3 Mar 2010, at 10:21, Jay Krell wrote:
> 
>             CVSROOT: /usr/cvs
>             Changes by: jkrell at birch. 10/03/03 10:21:42
> 
>             Modified files:
>             cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c 
> 
>             Log message:
>             zero_n is incorrect and never used, put gcc_assert(0) in it
> 
> 
> 
> 
> 



More information about the M3commit mailing list