Subject: Re: include/setjmp.h including machine/setjmp_jblen.h ...
To: Andrew Cagney <cagney@highland.com.au>
From: Chris G Demetriou <Chris_G_Demetriou@LAGAVULIN.PDL.CS.CMU.EDU>
List: tech-ports
Date: 12/04/1994 20:11:54
> > also, i believe that jmp_buf (and sigjmp_buf) should be arrays of
> > 'long's rather than arrays of ints.
>
> I'd actually like it to be `byte'. It makes the math so much easier.
> As you pointed out, however, this doens't force the correct alignment.
i actually don't buy that it makes the math a whit easier. if i'm
writing the code (as i just did, for instance), i've gotta know how
many register-sized objects i'm putting out there. which means that
i've gotta do an extra multiplication to get bytes.
> What about poking fun at the compiler and instead declaring it as a union like:
>
> union {
> long dummy_to_make_it_long_aligned;
> char buf[JBLEN];
> } ...
>
> And thus fooling it into the correct alignment?
I don't understand why doing it in terms of bytes is better...
and that makes access from C a lot harder: i.e. you'd have to
coerce it into an array of right-sized objects. seems
sort of silly...
chris