aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>1994-05-26 16:23:31 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>1994-05-26 16:23:31 +0000
commit8322308e9322093511a2cadb464f468fd9c1513a (patch)
tree178a2de63d69372ffd8c4f2d0a3851489e1ece3d /gcc
parent7831ef177bd85529c59eac7b91681a95266bba37 (diff)
downloadgcc-8322308e9322093511a2cadb464f468fd9c1513a.zip
gcc-8322308e9322093511a2cadb464f468fd9c1513a.tar.gz
gcc-8322308e9322093511a2cadb464f468fd9c1513a.tar.bz2
Protect __P in math.h and floatingpoint.h.
From-SVN: r7350
Diffstat (limited to 'gcc')
-rwxr-xr-xgcc/fixinc.svr432
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/fixinc.svr4 b/gcc/fixinc.svr4
index 8695892..7dbf671 100755
--- a/gcc/fixinc.svr4
+++ b/gcc/fixinc.svr4
@@ -1379,6 +1379,38 @@ if [ \! -z "$file_to_fix" ]; then
rm -f /tmp/$base
fi
+# Solaris math.h and floatingpoint.h define __P without protection,
+# which conflicts with the fixproto definition. The fixproto
+# definition and the Solaris definition are used the same way.
+for file in math.h floatingpoint.h; do
+ base=`basename $file`
+ if [ -r ${LIB}/$file ]; then
+ file_to_fix=${LIB}/$file
+ else
+ if [ -r ${INPUT}/$file ]; then
+ file_to_fix=${INPUT}/$file
+ else
+ file_to_fix=""
+ fi
+ fi
+ if [ \! -z "$file_to_fix" ]; then
+ echo Checking $file_to_fix
+ sed -e '/^#define[ ]*__P/i\
+#ifndef __P'\
+ -e '/^#define[ ]*__P/a\
+#endif' $file_to_fix > /tmp/$base
+ if cmp $file_to_fix /tmp/$base >/dev/null 2>&1; then \
+ true
+ else
+ echo Fixed $file_to_fix
+ rm -f ${LIB}/$file
+ cp /tmp/$base ${LIB}/$file
+ chmod a+r ${LIB}/$file
+ fi
+ rm -f /tmp/$base
+ fi
+done
+
echo 'Removing unneeded directories:'
cd $LIB
files=`find . -type d -print | sort -r`