HardenedBSD/usr.bin/compile_et
Bill Paul d93cc1a933 According to stdlib.h, malloc and realloc return void * but error_table.y
declares them to return char *. For some reason, this causes no problems
with the old compiler tools, but doing a 'make world' with gcc 2.6.3 in a
seperate DESTDIR got me this error:

yacc -d /usr/src/usr.bin/compile_et/error_table.y
cc -O2 -I. -I/usr/src/usr.bin/compile_et/../../lib/libcom_err   -I/mnt/usr/include -c y.tab.c -o error_table.o
In file included from /usr/src/usr.bin/compile_et/et_lex.lex.l:11,
                 from /usr/src/usr.bin/compile_et/error_table.y:233:
/mnt/usr/include/stdlib.h💯 conflicting types for `malloc'
/usr/src/usr.bin/compile_et/error_table.y:80: previous declaration of `malloc'
/mnt/usr/include/stdlib.h:104: conflicting types for `realloc'
/usr/src/usr.bin/compile_et/error_table.y:80: previous declaration of `realloc'
*** Error code 1

Stop.

Declaring malloc and realloc to return void * fixes this. It could be that
the new gcc is a bit more picky about these things.
1995-03-15 19:05:28 +00:00
..
test
compile_et.1
compile_et.c
compiler.h
error_message.c
error_table.h
error_table.y
et_lex.lex.l
et_name.c
init_et.c
Makefile
mit-sipb-copyright.h
perror.c