jeroen.dobbelaere added a comment.
Be aware that c99 restrict has a special case for nested restrict that makes
the rules stronger:
void f(int* restrict *restrict pA, int* restrict * restrict pB) {
**pA=**pB;
}
although pA and pB are only read, (c99 6.7.3.1 #4) specifies that, writing to
**pA is as if you are also writing to *pA.
Which means for this case, that pA and pB will point to there own sets of
objects, and because of that, *pA and *pB also point to their own (different)
sets of objects.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D74935/new/
https://reviews.llvm.org/D74935
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits