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
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to