aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Cox <bill@gnu.org>1994-05-12 22:51:00 +0000
committerBill Cox <bill@gnu.org>1994-05-12 22:51:00 +0000
commit09130b7890aad8fbe0dc41ac613d2e4a4368fa4a (patch)
tree61c1367f5c196bdc9bb3cac225c7b294092b852c
parentc92d992a818973ef3395557f9bf5f2bd9a9ee598 (diff)
downloadgcc-09130b7890aad8fbe0dc41ac613d2e4a4368fa4a.zip
gcc-09130b7890aad8fbe0dc41ac613d2e4a4368fa4a.tar.gz
gcc-09130b7890aad8fbe0dc41ac613d2e4a4368fa4a.tar.bz2
Various Lynx-related fixups. To math.h, string.h and curses.h.
From-SVN: r7286
-rwxr-xr-xgcc/fixincludes51
1 files changed, 51 insertions, 0 deletions
diff --git a/gcc/fixincludes b/gcc/fixincludes
index d602bc5..512cc7c 100755
--- a/gcc/fixincludes
+++ b/gcc/fixincludes
@@ -1398,6 +1398,21 @@ if [ -r ${LIB}/$file ]; then
'\
${LIB}/$file > ${LIB}/${file}.sed
rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file
+
+ # In addition, copy the definition of DBL_MAX from float.h
+ # if math.h requires one. The Lynx math.h requires it.
+ if egrep '#define[ ]*HUGE_VAL[ ]+DBL_MAX' $file >/dev/null 2>&1; then
+ if egrep '#define[ ]+DBL_MAX[ ]+' $file >/dev/null 2>&1; then
+ true;
+ else
+ dbl_max_def=`egrep 'define[ ]+DBL_MAX[ ]+.*' float.h 2>/dev/null`
+ if [ "$dbl_max_def" != "" ]; then
+ dbl_max_def=`echo $dbl_max_def | sed 's/.*define[ ]*DBL_MAX[ ]*//'`
+ sed -e "/define[ ]HUGE_VAL[ ]DBL_MAX/s/DBL_MAX/$dbl_max_def/" \
+ ${LIB}/$file > ${LIB}/${file}.sed
+ fi
+ fi
+ fi
if cmp $file ${LIB}/$file >/dev/null 2>&1; then
echo Deleting ${LIB}/$file\; no fixes were needed.
rm -f ${LIB}/$file
@@ -1422,6 +1437,42 @@ if [ -r ${LIB}/$file ]; then
fi
fi
+# Correct the return type for strlen in string.h on Lynx.
+file=string.h
+if [ -r $file ] && [ ! -r ${LIB}/$file ]; then
+ cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"
+ chmod +w ${LIB}/$file 2>/dev/null
+ chmod a+r ${LIB}/$file 2>/dev/null
+fi
+
+if [ -r ${LIB}/$file ]; then
+ echo Fixing $file
+ sed -e 's/extern[ ]*int[ ]*strlen();/extern unsigned int strlen();/' \
+ ${LIB}/$file > ${LIB}/${file}.sed
+ rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file
+ if cmp $file ${LIB}/$file >/dev/null 2>&1; then
+ rm -f ${LIB}/$file
+ fi
+fi
+
+# Delete the '#define void int' line from curses.h on Lynx
+file=curses.h
+if [ -r $file ] && [ ! -r ${LIB}/$file ]; then
+ cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"
+ chmod +w ${LIB}/$file 2>/dev/null
+ chmod a+r ${LIB}/$file 2>/dev/null
+fi
+
+if [ -r ${LIB}/$file ]; then
+ echo Fixing $file
+ sed -e '/#define[ ][ ]*void[ ]int/d' \
+ ${LIB}/$file > ${LIB}/${file}.sed
+ rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file
+ if cmp $file ${LIB}/$file >/dev/null 2>&1; then
+ rm -f ${LIB}/$file
+ fi
+fi
+
# Fix incorrect S_IF* definitions on m88k-sysv3.
file=sys/stat.h
if [ -r $file ] && [ ! -r ${LIB}/$file ]; then