aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <merrill@gnu.org>1994-05-18 22:33:40 +0000
committerJason Merrill <merrill@gnu.org>1994-05-18 22:33:40 +0000
commit68f6ed7f20c795587c9b29134b8908a46f07f0ce (patch)
tree3c25a46676b98eeeec92dae5dbf143b70be305ac
parentb02cb287c9ec8c3d240fd306fea09fc7ef92f869 (diff)
downloadgcc-68f6ed7f20c795587c9b29134b8908a46f07f0ce.zip
gcc-68f6ed7f20c795587c9b29134b8908a46f07f0ce.tar.gz
gcc-68f6ed7f20c795587c9b29134b8908a46f07f0ce.tar.bz2
Add forward declaration of struct exception to
SunOS 4 math.h. From-SVN: r7331
-rwxr-xr-xgcc/fixincludes22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/fixincludes b/gcc/fixincludes
index 512cc7c..9c001aa3 100755
--- a/gcc/fixincludes
+++ b/gcc/fixincludes
@@ -1597,6 +1597,28 @@ do
fi
done
+# math.h on SunOS 4 puts the declaration of matherr before the definition
+# of struct exception, so the prototype (added by fixproto) causes havoc.
+file=math.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, matherr declaration
+ sed -e '/^struct exception/,$b' \
+ -e '/matherr/i\
+struct exception;
+'\
+ ${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
+
# This file on SunOS 4 has a very large macro. When the sed loop
# tries pull it in, it overflows the pattern space size of the SunOS
# sed (GNU sed does not have this problem). Since the file does not