Fix bad S_IS* macros in <sys/stat.h> on m88k-sysv3.
authorRichard Stallman <rms@gnu.org>
Mon, 25 Oct 1993 21:05:29 +0000 (21:05 +0000)
committerRichard Stallman <rms@gnu.org>
Mon, 25 Oct 1993 21:05:29 +0000 (21:05 +0000)
From-SVN: r5884

gcc/fixincludes

index ffa5386c6eb6cfb821bbdb80e361812daf390adc..57de8263a47052ea8301cbd64318201347dcb51f 100755 (executable)
@@ -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.