On Thu, Mar 04, 2021 at 04:44:34PM +0100, maranget wrote:
>
>
> > On 3 Mar 2021, at 21:22, Alan Stern <[email protected]> wrote:
> >
> >>>
> >>> Local variables absolutely should be treated just like CPU registers, if
> >>> possible. In fact, the compiler has the option of keeping local
> >>> variables stored in registers.
> >>>
> >>> (Of course, things may get complicated if anyone writes a litmus test
> >>> that uses a pointer to a local variable, Especially if the pointer
> >>> could hold the address of a local variable in one execution and a
> >>> shared variable in another! Or if the pointer is itself a shared
> >>> variable and is dereferenced in another thread!)
> >>
> >> Good point! I did miss this complication. ;-)
> >
> > I suspect it wouldn't be so bad if herd7 disallowed taking addresses of
> > local variables.
>
> Herd7 does disallow taking addresses of local variables.
Good to know, and thank you!
> However, such tests can still be run on machine, provided function bodies
> are accepted by the C compiler.
True, but that would be outside of the LKMM proper, correct?
Thanx, Paul