https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62198
--- Comment #2 from Paul H. Hargrove <PHHargrove at lbl dot gov> ---
Both icc (v13.0.1) and pgcc (v12.9-0) agree with gcc (and thus disagree with
clang) on this:
$ cat -n q.c
1
2 typedef unsigned long size_t;
3 extern const void *alloc (size_t);
4
5 int main()
6 {
7 const int (*X0)[10] = alloc (10 * sizeof (int));
8 return !X0;
9 }
$ icc -c q.c
q.c(7): warning #2331: a value of type "const void *" cannot be used to
initialize an entity of type "const int (*)[10]" (dropping qualifiers)
const int (*X0)[10] = alloc (10 * sizeof (int));
^
$ pgcc -c q.c
PGC-W-0095-Type cast required for this conversion (q.c: 7)
PGC/x86-64 Linux 12.9-0: compilation completed with warnings