|
|
|
|
|
by a1369209993
1861 days ago
|
|
> What is the meaning of use(*p) in case p is null? It dereferences a null pointer, invoking undefined behaviour, then calls the function `use` with the resulting value. > what should the compiler emit? Probably something to the effect of: ld r0 [sp+.p] # if p is not already in a register
ld r0 [r0] # *p
jsr use
but it would be fine to emit something like: ld r0 [sp+.p] # if p is not already in a register
jz r0 .panic
ld r0 [r0] # *p
jsr use
because the jz can only be taken when undefined behaviour happens. |
|