When is `T *restrict`'s no-aliasing guarantee enforced?

55 views Asked by At

If I have an aliasing T *restrict, but it is never used, is this considered undefined-behavior. Or is undefined behavior at the point of use.

For example

int *nothing = NULL;
int *restrict also_nothing = NULL;

Here I have two unused pointers both NULL. However, one of them is restrict... Is this not technically UB?

Finally, doesn't this effectively mean that T *restricts are practically speaking never NULL?

0

There are 0 answers