It was thus said that the Great ben via cctalk once stated:
> 
> I don't know about the VAX,but my gripe is the x86 and the 68000 don't 
> automaticaly promote smaller data types to larger ones. What little 
> programming I have done was in C never cared about that detail.
> Now I can see way it is hard to generate good code in C when all the 
> CPU's are brain dead in that aspect.
> 
> char *foo, long bar;
> ... foobar = *foo + bar
>  is r1 = foo
>  r3 = * r1
>  r2 = bar
>  sex byte r3
>  sex word r3
>  r4 = r3 + r2
>  foobar = r3
>  what I want is
>  bar = * foo + bar
> nice easy coding.

  What CPUs did it correctly?  And how did they handle signed vs. unsigned
promotion?  

        unsigned char *ufoo;
        unsigned long  ubar;

        ufoobar = *ufoo + ubar;

        signed char *foo;
        signed long  bar;

        foobar = *foo + bar;

  -spc

Reply via email to