aboutsummaryrefslogtreecommitdiff
path: root/gcc/fixincludes
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-10-25 21:05:29 +0000
committerRichard Stallman <rms@gnu.org>1993-10-25 21:05:29 +0000
commit1daf70295c29f59d205b18288765253e3d4af7b2 (patch)
treefbf9d1506f369fe364b83462e93d4d14d7875f52 /gcc/fixincludes
parent360b1451cbd3e2a74d305f4ee25a0ca168702b1f (diff)
downloadgcc-1daf70295c29f59d205b18288765253e3d4af7b2.zip
gcc-1daf70295c29f59d205b18288765253e3d4af7b2.tar.gz
gcc-1daf70295c29f59d205b18288765253e3d4af7b2.tar.bz2
Fix bad S_IS* macros in <sys/stat.h> on m88k-sysv3.
From-SVN: r5884
Diffstat (limited to 'gcc/fixincludes')
-rwxr-xr-xgcc/fixincludes19
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/fixincludes b/gcc/fixincludes
index ffa5386..57de826 100755
--- a/gcc/fixincludes
+++ b/gcc/fixincludes
@@ -1175,6 +1175,25 @@ if [ -r ${LIB}/$file ]; then
fi
fi
+# Fix incorrect S_IF* definitions on m88k-sysv3.
+file=sys/stat.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/^\(#define[ ]*S_IS[A-Z]*(m)\)[ ]*(m[ ]*&[ ]*\(S_IF[A-Z][A-Z][A-Z][A-Z]*\)[ ]*)/\1 (((m)\&S_IFMT)==\2)/' \
+ -e 's/^\(#define[ ]*S_IS[A-Z]*(m)\)[ ]*(m[ ]*&[ ]*\(0[0-9]*\)[ ]*)/\1 (((m)\&S_IFMT)==\2)/' \
+ ${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
+
# These two files on SunOS 4 are included by other files
# in the same directory, using "...". So we must make sure they exist
# in the same directory as the other fixed files.