summaryrefslogtreecommitdiff
path: root/gcc/fixinc.svr4
diff options
context:
space:
mode:
authorBrendan Kehoe <brendan@gcc.gnu.org>1994-05-18 13:54:24 -0400
committerBrendan Kehoe <brendan@gcc.gnu.org>1994-05-18 13:54:24 -0400
commitb9e64ed3233fde826820d90286632770a8faad22 (patch)
treefb97555a12d8856ce9f6007a90951616f284532b /gcc/fixinc.svr4
parent607ca0aac37b5c6c5dd79155900d41d3c6610297 (diff)
downloadgcc-b9e64ed3233fde826820d90286632770a8faad22.tar.gz
fixinc.svr4: Avoid the SVR4 typedef of bool in curses.h when compiling for C++...
* fixinc.svr4: Avoid the SVR4 typedef of bool in curses.h when compiling for C++, since g++ now supports it as an official typename. From-SVN: r7327
Diffstat (limited to 'gcc/fixinc.svr4')
-rwxr-xr-xgcc/fixinc.svr433
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/fixinc.svr4 b/gcc/fixinc.svr4
index de73ffc6075..93adb9feb27 100755
--- a/gcc/fixinc.svr4
+++ b/gcc/fixinc.svr4
@@ -469,6 +469,39 @@ extern\
rm -f /tmp/$base /tmp/$base.sed
fi
+# Avoid the definition of the bool type in the Solaris 2.x curses.h when using
+# g++, since it's now an official type in the C++ language.
+# CYGNUS LOCAL
+file=curses.h
+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
+ cp $file_to_fix /tmp/$base
+ chmod +w /tmp/$base
+ sed -e 's,^typedef[ ]char[ ]bool;$,#ifndef __cplusplus\
+typedef char bool;\
+#endif /* !defined __cplusplus */,' /tmp/$base > /tmp/$base.sed
+ if cmp $file_to_fix /tmp/$base.sed >/dev/null 2>&1; then \
+ true
+ else
+ echo Fixed $file_to_fix
+ rm -f ${LIB}/$file
+ cp /tmp/$base.sed ${LIB}/$file
+ chmod a+r ${LIB}/$file
+ fi
+ rm -f /tmp/$base /tmp/$base.sed
+fi
+
# Add a `static' declaration of `getrnge' into <regexp.h>.
# Don't do this if there is already a `static void getrnge' declaration