efriedma-quic wrote: Some examples to consider:
``` // Crazy array indexing... but strictly speaking, legal. struct S { int count; int arr[] __attribute((counted_by(count))); }; int f1(int c, struct S *var) { return var[10].arr[10]; } // Double dereferenced variable. int f2(int c, struct S **var) { return (**var).arr[10]; } // Increment (which is a UnaryOperator...) int f3(int c, struct S*s) { return s++->arr[c]; } // Outer struct struct SS { int a; struct S s; }; int f4(int c, struct SS *s) { return s->s.arr[c]; } ``` https://github.com/llvm/llvm-project/pull/73730 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits