ado@elsie.UUCP (Arthur David Olson) (02/23/85)
Index: lib/mip/trees.c Fix Description: The C compiler can't compile some statements that take the address of a function of type void. Repeat-By: echo "extern void subr(); void (* ptr)() = subr;" > try.c cc -c try.c An error message is produced and "try.o" is not created. Fix: Most of the fix is to ensure that when the "-p" option is used with "lint" it will produce appropriate warnings. The file is named "/usr/src/cmd/mip/trees.c" in 4.1bsd. The trade secret status of the code precludes a clearer posting. ed lib/mip/trees.c /^moditype/;/case TVOID/a #ifndef OLDVERSION return MPTR; #endif . /^opact/;/case GE/a #ifndef OLDVERSION if (pflag && (mt1 == MPTR || mt2 == MPTR)) werror("pre-'85 BSD compilers can't take address of function of type void"); #endif . /^opact/;/case COLON/a #ifndef OLDVERSION if (pflag && (mt1 == MPTR || mt2 == MPTR)) werror("pre-'85 BSD compilers can't take address of function of type void"); #endif . /^opact/;/case CAST/a #ifndef OLDVERSION if (pflag && (mt1 == MPTR || mt2 == MPTR)) werror("pre-'85 BSD compilers can't take address of function of type void"); #endif . w q -- UUCP: ..decvax!seismo!elsie!ado ARPA: elsie!ado@seismo.ARPA DEC, VAX and Elsie are Digital Equipment and Borden trademarks