pinskia wrote: Note GCC already treats `void*` as being compatiable with all other pointers and has since GCC 6 (when it started to disambiguates accesses to different pointers). I don't think it is documented though. Another example where clang/LLVM handles void pointers differently from GCC: ``` extern void abort(void); int f(void *a, int **b, void *c) { void **e = a; int d = **b; *e = c; return d + **b; } int main() { int d = 1; int ff = 0; int *e = &d; if (f(&e, &e, &ff) != 1) abort(); } ```
https://github.com/llvm/llvm-project/pull/122116 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits