Path: utzoo!telly!attcan!uunet!tut.cis.ohio-state.edu!mote.umb.edu!karl From: karl@mote.umb.edu ("Karl Berry.") Newsgroups: gnu.gcc.bug Subject: incompatible pointer types Message-ID: <8903151524.AA00454@mote.umb.edu> Date: 15 Mar 89 15:24:54 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 25 I was under the (perhaps erroneous) impression that a `void*' was supposed to match any other pointer type. gcc 1.34 (on a sun3) complains about incompatible pointer types in the following program. int compare(int *, int *); /* used by qsort */ void qsort(char *, int, int, int (*)(void*,void*)); void main(int argc, char **argv, char **envp) { int nvals; int val[10]; /* place for integers converted from args */ nvals = argc - 1; qsort((char *)val, nvals, sizeof val[0], compare); } gcc -v -c qsort.ansi.c gcc version 1.34 /usr/local/gnu/lib/gcc-cpp -v -undef -D__GNUC__ -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__HAVE_68881__ -Dmc68020 qsort.ansi.c /tmp/cca00450.cpp GNU CPP version 1.34 /usr/local/gnu/lib/gcc-cc1 /tmp/cca00450.cpp -quiet -dumpbase qsort.ansi.c -version -o /tmp/cca00450.s GNU C version 1.34 (68k, MIT syntax) compiled by GNU C version 1.34. qsort.ansi.c: In function main: qsort.ansi.c:10: warning: argument passing between incompatible pointer types as -mc68020 /tmp/cca00450.s -o qsort.ansi.o